Уровень модификатора прозрачной карты XKB

Вам необходимо различать ошибки, которые видит 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"; }
1
16.09.2020, 10:12
1 ответ

Есть две важные папки:

  • /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.

Примечание :Я протестировал его на нескольких программах

  • Работает на :MPV, Dolphin, Gedit, LibreOffice, Firefox, ST+ZSH, ST+NeoVim и Rofi.
  • Не работает на Chromium.
1
18.03.2021, 23:04

Теги

Похожие вопросы