Ich versuche, eine Möglichkeit zu finden, Tastaturtasten mit Nachdruck neu zuzuordnen.
Ich habe versucht, xmodmap und setxkbmap zu verwenden, aber sie funktionieren nicht für eine bestimmte Anwendung. Solche Befehle funktionieren für andere normale Fenster / Anwendungen auf X tho.
Ich denke, die Anwendung liest möglicherweise die Rohdaten der Tastatur und ignoriert die X-Eingabe.
Wie kann man also Schlüssel neu zuordnen, ohne xmodmap und setxkbmap zu verwenden? falls es jemals möglich sein sollte, Software zu verwenden.
Ich habe auch versucht, xkeycaps, xkbcomp, aber nicht loadkeys, wie es auf X ausgeführt wird.
Ich fand hier, dass ich versuchen könnte setkeycodes
, "weil nach der Zuweisung des Kernel - Keycodes die Schaltfläche in xorg funktionieren sollte" , aber ich fand auch, dass "Sie 'Setkeycodes' nicht auf USB - Tastaturen verwenden können" , das ist mein Fall (ich interessiere mich für den Fall (jemand bringt es auf ps2 zum Laufen, da ich glaube, ich könnte einen Adapter verwenden).
Dies schien vielversprechend "Scancodes zu
Schlüsselcodes zuordnen " , aber nach ein paar Tests hat sich nichts geändert, hier sind sie: Ich fand Schlüsselcode "36" ("j" -Taste) bei vt1 mit showkey
Scancode "7e" (Tastatur ".") Bei vt1 mitshowkey --scancodes
$cat >/etc/udev/hwdb.d/90-custom-keyboard.hwdb
keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
KEYBOARD_KEY_7e=36
$udevadm hwdb --update #updates file: /lib/udev/hwdb.bin
$udevadm trigger #should apply the changes but nothing happened
$cat /lib/udev/hwdb.bin |egrep "KEYBOARD_KEY_7e.{10}" -ao
KEYBOARD_KEY_7eleftmeta
$#that cat on hwdb.bin did not change after the commands..
Obs .: hat auch nicht funktioniert mit: KEYBOARD_KEY_7e=j
Einige weitere alternative Wege (von @ vinc17) die Schlüssel zu finden:
evtest /dev/input/by-id/...
oder
input-kbd 3
(die ID - Index bei gefunden setzen ls -l /dev/input/by-id/*
. Von ex event3)
PS .: * Wenn Sie daran interessiert sind, sich selbst zu testen, ist der zugehörige Thread für die Anwendung folgender: http://forums.thedarkmod.com/topic/14266-keyboard-issue-in-new-version-108/ The issues I sind gleich: einige Schlüssel (KP_Decimal, DownArrow, UpArrow, RightArrow) werden ignoriert und dort als alle mit dem gleichen Wert "0x00" betrachtet
showkey --scancodes
gibt es nicht die Scancodes, die udev erwartet (die Werte sind unterschiedlich); Das input-kbd
Dienstprogramm gibt die richtigen Scancodes an.
evtest
Dienstprogramm sollte Ihnen auch die richtigen Scancodes anzeigen: Nach dem Eingeben eines Schlüssels sollten Sie 2 Zeilen erhalten, und die erste sollte mit etwas aus dem Formular enden code 4 (MSC_SCAN), value xxx
, in dem xxx
sich der Scancode befindet. Aber der Treiber für meine Tastatur ist fehlerhaft, und ich verstehe diese MSC_SCAN
Zeile nicht für einige Tasten, die ich neu zuordnen wollte. Deshalb habe ich verwendet input-kbd
, die alle Scancodes für das ausgewählte Gerät auflistet.
/etc/udev/hwdb.bin
nicht sein/lib/udev/hwdb.bin
. Obwohl diese Datei korrekt aktualisiert wurde, funktioniert dies auch nach einem Neustart nicht für mich. Vielleicht fehlt etwas in der Dokumentation. Informationen