Вам необходимо различать ошибки, которые видит curl, и ошибки, которые возвращает ваш http-сервер. Последние не являются ошибками для curl. Однако вы можете легко проверить код состояния http, добавив в ваш curl параметр
-w '\n%{http_code}\n'
Это добавит к стандартному выводу заголовок HTTP, который равен 200 для OK. Итак, ваш perl может делать что-то вроде
my $curl_result = `curl -s -S -w '\n%{http_code}\n'... 2>/dev/null`;
my @lines = split(/\n/,$curl_result);
my $httpcode = $lines[-1];
if($httpcode eq 200){ print "ok\n"; }
else{ print "error\n"; }
Есть две важные папки:
/usr/share/X11/xkb/symbols
— это то место, где в большинстве дистрибутивов находится раскладка Qwerty, отличная от -. /usr/share/X11/xkb/types
для модификаторов (, таких как поведение Ctrl
или Shift
). Имеет 4 официальных уровня, совместимых с Ctrl
, Shift
и Lock
(, также известными как CapsLock
).
Я добавил этот код в/usr/share/X11/xkb/types/level5
:
type "QWERTY_CONTROL" {
modifiers = Shift+Control+Lock;
map[None] = Level1;
map[Shift] = Level2;
map[Control] = Level3;
map[Shift+Control] = Level4;
preserve[Control] = Control;
preserve[Shift+Control] = Control;
map[Lock] = Level2;
map[Lock+Shift] = Level1;
map[Lock+Control] = Level4;
map[Lock+Shift+Control] = Level3;
preserve[Lock+Control] = Control;
preserve[Lock+Shift+Control] = Shift+Control;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Alt Base";
level_name[Level4] = "Shift Alt";
};
Я добавил его в строке 2 после partial default xkb_types "default" {
.
И теперь вы должны использовать имя типа QWERTY_CONTROL
вместо FOUR_LEVEL_ALPHABETIC
.
Вот код раскладки клавиатуры. Я добавил свой на/usr/share/X11/xkb/symbols/oo
:
partial alphanumeric_keys
xkb_symbols "half_qwerty" {
augment "level5"
name[Group1]="french ergodox compat";
key.type[Group1] = "QWERTY_CONTROL";
key <LatA> {[egrave, Egrave, a,A]};
key <LatS> {[eacute, Eacute, s,S]};
key <LatD> {[p, P, d,D]};
key <LatF> {[apostrophe, degree, f,F]};
};
Затем запустите setxkbmap oo -variant half_qwerty
, чтобы попробовать.
Вы должны получить è
(egrave
), é
(eacute
), p
и '
в среднем ряду.
Если вы используете их с Ctrl
, это все еще a
, s
, d
и f
.
Примечание :Я протестировал его на нескольких программах