Zum Großschreiben lange drücken

Zum Großschreiben lange drücken

Derergodox-ezTastatur haben eine nette Funktion, die sie wie folgt beschreiben:

Bildbeschreibung hier eingeben

Tasten mit Doppelfunktion

Tippen Sie auf die Z-Taste, und sie sendet wie erwartet den Buchstaben Z. Drücken und halten Sie sie gedrückt ... und sie wird zu Alt. Das ist die Stärke von Tasten mit Doppelfunktion: Wenn Sie darauf tippen, senden sie ein Zeichen. Wenn Sie sie gedrückt halten, fungieren sie als Modifikator. Alt, Strg und Co. waren noch nie so einfach zu erreichen.

Ich habe meine so konfiguriert, dass jeder Buchstabe in Großbuchstaben umgewandelt wird, wenn man ihn gedrückt hält (leichtes Tippen aerzeugt also „a“, längeres Tippen erzeugt „A“), aber ich habe nicht immer Zugriff auf diese Tastatur und mir fehlt diese Funktion.

Gibt es eine Möglichkeit, dasselbe unabhängig von der Hardware zu erreichen?

Es gibt etwas ganz ähnlichesdas existiert für AutoHotkey(vgl. auchHier), aber ich suche nach einer Unix-Lösung (vorzugsweise KDE).

Vielleicht ist da was mitAutoschlüssel?

Antwort1

Ich bin spät dran, aber ich habe meine eigene Lösung gefunden, weil ich keine geeignete Möglichkeit gefunden habe, dasMorseFunktion von AutoHotkey. Allerdings verwendet es eine Low-Level-Berechtigung zum Lesen von /dev-Ausgaben.

Dies ist eine Beispielausgabe von /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

Die Ausgabe geht von 1 (Tastendruck), 2 (Taste gedrückt) und dann 0 (Taste loslassen). Damit konnte ich ein einfaches Skript erstellen, um Befehle nach bestimmten Mustern in Tastenanschlägen zu senden. Ich habe dies speziell für die Verwendung mit den Mediensteuerungen erstellt, aber wenn die Timings angepasst würden, könnte es diese Funktion erfüllen. Hier ist dasgithub.

Bearbeiten: Dies kann auch vonInteresseist eine Lösung mitAHK_X11.

verwandte Informationen