Эмуляция нумпада


13

Мой новый ноутбук (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 ) вообще не имеет чисел в «строке чисел».
  • Купите другой ноутбук: было трудно найти ноутбук, удовлетворяющий моим различным требованиям.

1
Читайте на xkb , добавьте пользовательский уровень Alt-L + Super-L. Также запустите, evtestчтобы найти событие Fn, и если это тоже не сработает, посмотрите на дескриптор HID и необработанное событие HID. Смотрите, dmesgчтобы найти связанные скрытые устройства.
dirkt

@dirkt Использование XKB похоже на определение пользовательской раскладки клавиатуры. Что лучше, чем ничего, но это не предпочтительное решение, так как я должен был бы сделать то же самое для каждой виртуальной машины (или шаблонов виртуальных машин), и это не будет работать на виртуальных машинах, отличных от Linux. Я попробую evtest, но я не уверен, что он будет работать с клавиатурой, которая используется.
v6ak

Вы привязаны к Alt_L + Super_L? Вы можете использовать AltGr или Shift + AltGr сxmodmap(1)
Fox

Если ваша виртуальная машина (какая?) Не передает события X, но настаивает на прямом проходе клавиатуры, вы, вероятно, можете подделать клавиатуру, создав собственный /dev/input/eventXили HID-источник. Это потребует программирования. Но если это работает с xdotool, это должно работать с xkbили xmodmap. И да, назначение одной клавиши Mode_Switch или ISO_Level3_Shift (по умолчанию AltGr) будет проще.
dirkt

1
Проблема с AltGr или AltGr + Shift в том, что он уже используется. Я не настаиваю на Alt_L + Super_L, но это выглядит как лучший выбор: они находятся рядом друг с другом на внутренней клавиатуре, и есть небольшой шанс скрыть некоторые сочетания клавиш. И они могут быть нажаты левой рукой. Итак, это выглядит как идеальная комбинация,
v6ak

Ответы:


0

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

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

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


Я сделал нестандартный макет, но он все еще довольно несовершенен. Это было бы несовершенно, даже если бы у него была версия для Windows. Установка в templateVMs не является проблемой, но другие машины сложны. Во-первых, RDP не соблюдает мою локальную раскладку клавиатуры. Во-вторых, это некоторые издержки для различных недолговечных виртуальных машин Windows (например, IE VMS).
6

@ v6ak Краткосрочные виртуальные машины должны наследовать настройки шаблона, чтобы не было проблем.
Франклин

Это верно для виртуальных машин на основе шаблонов, но не для виртуальных машин, которые вы только что загрузили. А также не для удаленных виртуальных машин, которые не управляются вами. Я относительно хорошо справляюсь со стандартным американским макетом (когда мне не нужны диакритические знаки, он в основном совместим с CShack), но использование числовых рядов не слишком естественно для меня.
6
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.