Wie sich herausstellte, hat der Kernel es zwar aufgenommen, sich aber immer wieder beschwert, dass es nicht erkannt wird.
Wenn Sie dieses Problem haben oder einen Schlüssel zuordnen möchten, der nicht vom Betriebssystem gelesen wird, lesen Sie weiter.
Öffnen Sie ein Terminal und führen Sie es aus dmesg | grep -A 1 -i setkeycodes
. Dadurch erhalten Sie mehrere Einträge wie folgt:
[ 9.307463] atkbd serio0: Unknown key pressed (translated set 2, code 0xbe on isa0060/serio0).
[ 9.307476] atkbd serio0: Use 'setkeycodes e03e <keycode>' to make it known.
Was uns interessiert, ist der Hexadezimalwert nach "setkeycodes", in diesem Fall ist dies e03e
. Wenn Sie mehrere davon haben, können Sie ausführen tail -f /var/log/kern.log
. Sobald Sie dies getan haben, können Sie auf die Schaltfläche tippen, nach der Sie suchen. Dadurch erhalten Sie dieselbe Zeile wie oben. Auch hier benötigen wir nur den Hexadezimalwert. Notieren Sie sich dies.
Führen xmodmap -pke | less
Sie nun die entsprechende Zuordnung aus und suchen Sie sie. In meinem Fall musste ich dies zuordnen, um mein Touchpad umzuschalten, was bedeutet, dass ich an der folgenden Zeile interessiert war:
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
Wenn Sie nicht finden können, woran Sie interessiert sind, lesen Sie auch die Antwort von @Gilles, da Sie auch benutzerdefinierte Zuordnungen definieren können, und lesen Sie dann weiter (wenn der Kernel sie liest, müssen Sie sie nicht zu xorg.conf hinzufügen. d)
Jetzt habe ich den folgenden Befehl ausgeführt: sudo setkeycodes [hexadecimal] [keycode]
In meinem Fall wurde das : setkeycodes e03e 199
.
Jetzt können Sie die folgende Zeile verwenden, um zu testen, ob es funktioniert hat und / oder ob Sie die richtige Zuordnung haben:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
Wenn Sie diesen Befehl ausführen, müssen Sie sich auf das neu geöffnete Fenster ( xev
) konzentrieren und die Konsolenausgabe überprüfen. In meinem Fall lautete es wie folgt:
207 NoSymbol
Dies war offensichtlich falsch, da ich den Schlüsselcode angefordert habe 199
, also ist er zugeordnet XF86TouchpadToggle
. Ich habe es xmodmap -pke
erneut überprüft und festgestellt, dass keycode 207
es tatsächlich zugeordnet ist NoSymbol
, und ich habe festgestellt, dass es einen Versatzunterschied von 8 gibt. Deshalb habe ich den setkeycodes
Befehl erneut versucht , aber der Schlüssel ist zugeordnet keycode 191
.
sudo setkeycodes e03e 191
Das hat perfekt funktioniert.
BEARBEITEN - die Lösung, die ich bereitgestellt habe, um am Start arbeiten zu müssen, funktioniert nicht. Ich werde das morgen herausfinden und diese Antwort aktualisieren. Im Moment können Sie dies vermutlich beim Start manuell ausführen.