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


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.