Эмуляция цифровой клавиатуры

Эмуляция цифровой клавиатуры

Мой новый ноутбук (DellИнспирон 5578) имеетнет цифровой клавиатуры. Во многих ноутбуках без выделенных клавиш цифровой панели есть доступ к цифровой панели через Fn, но не в этом. Когда я запускаю xevи пытаюсь использовать традиционные Fnкомбинации (например, Fn+ Jдля 1), он не видит никаких событий. И цифры даже не на этикетках.

AFAIU, я не могу создать никаких сочетаний клавиш с этой Fnклавишей, потому что Fnона не передается в ОС. Но теоретически я мог бы использовать Alt_L+ Super_Lвместо нее. Вопрос в том, как это сделать правильно. Я бы предпочел сделать это на более низком уровне, чем раскладка клавиатуры, чтобы хорошо работать со всеми виртуальными машинами, даже с не-Linux.

Среда:ОС Qubes. Хостовая часть основана на Fedora.

Я пробовал:

  • Привяжите команду xdotool через сочетание клавиш Xfce. Это приводит к различным странным результатам: Команда (xdotool key KP_1 и ее вариации) обычно работает нормально, но не при вызове сочетанием клавиш. При вызове сочетанием клавиш проблема, вероятно, в том, что в это время нажаты клавиши-модификаторы. Я пробовал различные модификации ( --clearmodifiers, keyup для модификаторов и т. д.), ни одна из них не работает должным образом.
  • Сделайте то же самое с autokey. У меня были некоторые зависания autokey.

Нерешения:

  • Использование внешней цифровой клавиатуры: Хотя на моей внешней клавиатуре есть цифровая клавиатура (что-то вроде нее), мне бы хотелось иметь ее и на внутренней, например, во время путешествий, когда использовать внешнюю клавиатуру невозможно или, по крайней мере, неудобно.
  • Использовать ряд цифр: В чешской раскладке ряд цифр используется в основном для букв с ударением. Раскладка, которую я использую (извлекает вариант CShack) вообще не имеет цифр в «числовом ряду».
  • Купить другой ноутбук: Мне было трудно найти ноутбук, отвечающий моим многочисленным требованиям.

решение1

Вы можете попробовать kbindkeysи numlockxслегка модифицированную клавиатуру.

После установки xbindkeys его нужно запустить. Он подскажет, что делать, чтобы создать базовую конфигурацию.

Затем вы используете xbindkeys -kдля идентификации ключа и изменения файла конфигурации (все это задокументировано в файле конфигурации по умолчанию).

Наконец, я предлагаю вам запустить, xbindkeys -v -nчтобы проверить, все ли работает. Если это так, вы можете запустить xbindkeysэтот сеанс и, возможно, добавить его в свои скрипты запуска.

В моем случае привязку выполняет клавиша Windows (справа), а вот так ~/.xbindkeysrc:

"numlockx toggle"
    m:0x10 + c:134
    Mod2 + Multi_key

Теперь вы можете добавить сопоставления. Вы будете использовать пятый и шестой уровни (numlock и shift+numlock).

В верхней части /usr/share/X11/xkb/symbols/cz, сразу после:

default  partial alphanumeric_keys

добавьте этот фрагмент:

xkb_symbols "with_numpad" {
    include "cz(basic)"

    key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
    key <AC07>  { [         j,          J,   apostrophe,     NoSymbol , 1, 1] };
    key <AC08>  { [         k,          K,      lstroke,     NoSymbol , 2, 2] };
    key <AC09>  { [         l,          L,      Lstroke,     NoSymbol , 3, 3] };
};

Теперь, когда вы нажмете клавишу окна (справа), xkeybind установит NumLock, что, в свою очередь, заставит J, K, L и т. д. возвращать 1, 2, 3.

Последний шаг — настройка новой клавиатуры:

 setxkbmap cz with_numpad

решение2

Я думаю, что правильный путь здесь — создать собственную раскладку клавиатуры. Конечно, вам придется сделать это для каждой виртуальной машины и каждой операционной системы, но вам нужно будет развернуть ее только на ваших шаблонных виртуальных машинах.

Сделать их на самом деле не так уж и сложно, в зависимости от вашей точки зрения, даже удивительно легко. Для linux вы на правильном пути. Для windows просто используйтеавтохоткей.

(Или просто откажитесь от текущего макета и попробуйтенео2. Он оптимизирован для немецкого языка, но в целом раскладка отличная, и вы получаете поддержку из коробки на Linux и довольно хорошую реализацию autohotkey на Windows. Я пользуюсь им уже много лет. Самый большой недостаток в том, что раскладка настолько экзотична, что вам часто приходится настраивать сочетания клавиш в программах, чтобы снова сделать их пригодными для использования, например, hjkl в vim — это полный отстой.)

Связанный контент