Mithilfe einer hwdb-Datei /etc/udev/hwdb.d/99-keyboard.hwdb
kann ich die linke AltTaste auf meiner USB-Tastatur als Ctrlfolgende Taste neu zuordnen:
keyboard:usb:v*p*
KEYBOARD_KEY_700e2=leftctrl
Dies funktioniert auch, wenn ich versuche, die linke ShiftTaste als CtrlTaste neu zuzuordnen.
Beim Versuch, Caps Lockdie CtrlTaste neu zuzuordnen, funktioniert es jedoch nicht:
keyboard:usb:v*p*
KEYBOARD_KEY_70039=leftctrl
Wenn es ausgeführt wird, evtest
bedeutet dies, dass es funktionieren sollte:
Event: time 1399438713.757082, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1399438713.757082, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1399438713.757082, -------------- SYN_REPORT ------------
Event: time 1399438713.885078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1399438713.885078, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1399438713.885078, -------------- SYN_REPORT ------------
Es funktioniert auch nicht mit anderen Nicht-Modifikatortasten, die ich ausprobiert habe, wie beispielsweise Z.
Caps LockIch habe auch versucht , die linke Taste auf einer Nicht-USB-Tastatur zuzuordnen Ctrl, und zwar folgendermaßen:
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
KEYBOARD_KEY_3a=leftctrl
Das funktioniert perfekt. Ich habe die udev-Versionen 208 und 212 mit ein paar verschiedenen USB- und Nicht-USB-Tastaturen unter Fedora 20 und Arch Linux ausprobiert.
Wie kann ich eine Nicht-Modifikatortaste wie auf einer USB-Tastatur mit Caps Lockeiner Modifikatortaste neu zuordnen?Ctrludev?
Aktualisieren
Wenn die linke Taste Ctrlselbst einer anderen Taste zugeordnet wird, funktioniert die neu zugeordnete Taste als linke CtrlTaste. Beispiel:
keyboard:usb:v*p*
KEYBOARD_KEY_700e0=grave
KEYBOARD_KEY_70035=esc
KEYBOARD_KEY_70039=leftctrl
KEYBOARD_KEY_70029=capslock
Dieses Verhalten unterscheidet sich von einer Nicht-USB-Tastatur, bei der sowohl die neu zugeordnete Taste als auch die Originaltaste als Modifikator verbleiben können.