![Эмуляция цифровой клавиатуры](https://rvso.com/image/112015/%D0%AD%D0%BC%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B.png)
Мой новый ноутбук (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 — это полный отстой.)