Мой новый ноутбук (Dell Inspiron 5578 ) не имеет цифровой клавиатуры . Многие ноутбуки без выделенных клавиш Numpad имеют доступ через Numpad Fn, но не этот. Когда я бегу xev
и пытаюсь использовать традиционные Fnкомбинации (например, Fn+ Jдля 1), он не видит события. И цифры даже не на этикетках.
AFAIU, я не могу создать какой-либо ярлык с Fnключом, потому что Fnне передается в ОС. Но я мог бы теоретически использовать Alt_L+ Super_Lвместо. Вопрос в том, как это сделать правильно. Я бы предпочел сделать это на более низком уровне, чем раскладка клавиатуры, чтобы хорошо работать со всеми виртуальными машинами, даже с не Linux.
Окружение: Qubes OS . Основная часть основана на Fedora.
Я пробовал:
- Свяжите команду xdotool с помощью сочетания клавиш Xfce. Это приводит к различным странным результатам: Команда (ключ xdotool KP_1 и варианты) обычно работает нормально, но не при вызове по ярлыку. Когда вы вызываете ярлык, проблема, вероятно, заключается в том, что клавиши-модификаторы нажимаются одновременно. Я пробовал различные модификации (
--clearmodifiers
, keyup для модификаторов и т. Д.), Ни одна из них не работает хорошо. - Сделайте то же самое с autokey. Я получил несколько зависаний autokey.
Non-решения:
- Использовать внешнюю цифровую клавиатуру / клавиатуру: хотя у меня есть цифровая клавиатура (внешняя клавиатура), я хотел бы иметь ее даже на внутренней клавиатуре, например, во время путешествий, и использовать внешнюю клавиатуру невозможно или, по крайней мере, неудобно ,
- Использовать числовую строку: в чешской раскладке числовая строка используется в основном для акцентированных букв. Используемый мной макет ( вариант extracs из CShack ) вообще не имеет чисел в «строке чисел».
- Купите другой ноутбук: было трудно найти ноутбук, удовлетворяющий моим различным требованиям.
xmodmap(1)
/dev/input/eventX
или HID-источник. Это потребует программирования. Но если это работает с xdotool
, это должно работать с xkb
или xmodmap
. И да, назначение одной клавиши Mode_Switch или ISO_Level3_Shift (по умолчанию AltGr) будет проще.
evtest
чтобы найти событие Fn, и если это тоже не сработает, посмотрите на дескриптор HID и необработанное событие HID. Смотрите,dmesg
чтобы найти связанные скрытые устройства.