Долгое нажатие для заглавных букв

Долгое нажатие для заглавных букв

Theэргодокс-ezУ клавиатуры есть приятная особенность, которую они описывают следующим образом:

введите описание изображения здесь

Клавиши двойного назначения

Нажмите клавишу Z, и она отправит букву Z, как и ожидалось. Нажмите и удерживайте ее... и она станет Alt. Вот в чем сила клавиш с двойными функциями: при нажатии они отправляют символ. При удержании они действуют как модификаторы. Alt, Ctrl и их друзья никогда не были так легко доступны.

Я настроил свою клавиатуру так, что при нажатии каждая буква становится заглавной (то есть легкое нажатие aдает «a», более долгое нажатие дает «A»), но у меня не всегда есть доступ к этой клавиатуре, и мне не хватает этой функции.

Есть ли способ добиться того же самого независимо от оборудования?

Есть что-то очень похожеекоторый существует для AutoHotkey(см. такжездесь), но я ищу решение для Unix (предпочтительно KDE).

Может быть, есть что-то савтоключ?

решение1

Я опоздал на вечеринку, но я нашел свое собственное решение, потому что не смог найти правильный способ имитироватьморзеФункция из AutoHotkey. Хотя она использует низкоуровневые разрешения для чтения выходных данных /dev.

Это пример вывода из /dev/input/event

Event: time 1677080541.072921, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.072921, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 1
Event: time 1677080541.072921, -------------- SYN_REPORT ------------
Event: time 1677080541.319094, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.319094, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.319094, -------------- SYN_REPORT ------------
Event: time 1677080541.348759, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.348759, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.348759, -------------- SYN_REPORT ------------
Event: time 1677080541.379604, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.379604, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 0

Вывод идет от 1 (нажатие клавиши), 2 (удержание клавиши) и затем 0 (отпускание клавиши). Используя это, я смог создать простой скрипт для отправки команд в соответствии с определенными шаблонами в нажатиях клавиш. Я сделал это специально для использования с элементами управления мультимедиа, но если бы были скорректированы тайминги, он мог бы выполнять эту функцию. Вотгитхаб.

Редактировать: Это также может бытьинтерес, это решение с использованиемAHK_X11.

Связанный контент