Карта Ctrl + P на другой ключ программно [dублировать]

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

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

Поэтому мне нужно решение низкого уровня.

8
задан 8 October 2016 в 23:35

5 ответов

Попробуйте комбинацию xbindkeys и xvkbd. xbindkeys прослушивает ключи и отправляет перевод на xvkbd.

sudo apt-get install xbindkeys xvkbd xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Откройте .xbindkeysrc в вашем любимом редакторе. Я прокомментировал все остальное, но это полезно, если нужно.

Чтобы проверить это, я попытался отобразить Ctrl +; для Ctrl + V

"xvkbd -xsendevent -text "\Cv"" control + semicolon

Я ожидаю, что вы после чего-то вроде этого

"xvkbd -xsendevent -text "\C\S\[Left]"" Super+Control+Shift+J

Сохраните файл, затем запустите xbindkeys

. Чтобы перезагрузите любые изменения конфигурации, я перезапустил процесс xbindkeys, затем перезапустил.

Синтаксис xbindkeys

Я разработал комбинацию клавиш, используя графический интерфейс для xbindkeys

sudo apt-get install xbindkeys-config xbindkeys-config

После того, как вы запустите это, нажмите Get Key, чтобы комбинация помещалась во вторую строку вашего файла .xbindkeysrc.

Синтаксис xvkbd

Из руководства:

\r - Return \t - Tab \b - Backspace \e - Escape \d - Delete \S - Shift (modify the next character; please note that modify with ``\S'' will be ignored in many cases. For example, ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.) \C - Control (modify the next character) \A - Alt (modify the next character) \M - Meta (modify the next character) \[keysym] - the keysym keysym (e.g., \[Left]), which will be processed in the similar matter with other general characters \{keysym} - the keysym keysym (e.g., \{Left}), which will be processed in more primitive matter and can also be used for modofier keys such as Control_L, Meta_L, etc.; also, \{+keysym} and \{+keysym} will simulate press and release of the key, respectively [Version 3.3] \Ddigit - delay digit * 100 ms \xvalue - move mouse pointer (use "+" or "-" for relative motion) \yvalue - move mouse pointer (use "+" or "-" for relative motion) \mdigit - simulate click of the specified mouse button

Приятно слышать, как это работает, и если комбинация подходит для вашей цели. Он выглядит хорошо как keymapper, но не обязательно для бегуна.

7
ответ дан 18 July 2018 в 05:44

Я думаю, вы можете найти решение здесь (потому что Xorg - это уровень низкого уровня ...): https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg

EDIT : для чего я понял, вам нужно добавить опцию lv3:win_switch в ваш .conf-файл

0
ответ дан 18 July 2018 в 05:44

Попробуйте комбинацию xbindkeys и xvkbd. xbindkeys прослушивает ключи и отправляет перевод на xvkbd.

sudo apt-get install xbindkeys xvkbd xbindkeys --defaults > /home/your-user-name/.xbindkeysrc

Откройте .xbindkeysrc в вашем любимом редакторе. Я прокомментировал все остальное, но это полезно, если нужно.

Чтобы проверить это, я попытался отобразить Ctrl +; для Ctrl + V

"xvkbd -xsendevent -text "\Cv"" control + semicolon

Я ожидаю, что вы после чего-то вроде этого

"xvkbd -xsendevent -text "\C\S\[Left]"" Super+Control+Shift+J

Сохраните файл, затем запустите xbindkeys

. Чтобы перезагрузите любые изменения конфигурации, я перезапустил процесс xbindkeys, затем перезапустил.

Синтаксис xbindkeys

Я разработал комбинацию клавиш, используя графический интерфейс для xbindkeys

sudo apt-get install xbindkeys-config xbindkeys-config

После того, как вы запустите это, нажмите Get Key, чтобы комбинация помещалась во вторую строку вашего файла .xbindkeysrc.

Синтаксис xvkbd

Из руководства:

\r - Return \t - Tab \b - Backspace \e - Escape \d - Delete \S - Shift (modify the next character; please note that modify with ``\S'' will be ignored in many cases. For example, ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c, Shift-D, and Control-Shift-E.) \C - Control (modify the next character) \A - Alt (modify the next character) \M - Meta (modify the next character) \[keysym] - the keysym keysym (e.g., \[Left]), which will be processed in the similar matter with other general characters \{keysym} - the keysym keysym (e.g., \{Left}), which will be processed in more primitive matter and can also be used for modofier keys such as Control_L, Meta_L, etc.; also, \{+keysym} and \{+keysym} will simulate press and release of the key, respectively [Version 3.3] \Ddigit - delay digit * 100 ms \xvalue - move mouse pointer (use "+" or "-" for relative motion) \yvalue - move mouse pointer (use "+" or "-" for relative motion) \mdigit - simulate click of the specified mouse button

Приятно слышать, как это работает, и если комбинация подходит для вашей цели. Он выглядит хорошо как keymapper, но не обязательно для бегуна.

7
ответ дан 24 July 2018 в 18:25
  • 1
    Привет @MarkHewitt! Большое вам спасибо за подробный ответ! К сожалению, это не работает для меня очень хорошо: оригинальный keypress продолжает проходить, что разрушает все это. – lolmaus - Andrey Mikhaylov 30 October 2016 в 16:03

Я думаю, вы можете найти решение здесь (потому что Xorg - это уровень низкого уровня ...): https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg

EDIT : для чего я понял, вам нужно добавить опцию lv3:win_switch в ваш .conf-файл

0
ответ дан 24 July 2018 в 18:25

Я думаю, вы можете найти решение здесь (потому что Xorg - это уровень низкого уровня ...): https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg

EDIT: для того, что я понял, вам нужно добавить опцию lv3:win_switch в ваш .conf-файл

0
ответ дан 14 August 2018 в 19:19

Другие вопросы по тегам:

Похожие вопросы: