Ich habe ein Macbook Pro mit Ubuntu 13.10 mit FluxBox. Leider befindet sich der Netzschalter physisch über der Rücktaste, wo ich die Löschtaste erwarten würde. In OS X kann das PowerKey-Programm verwendet werden, um die Netztaste zum Löschen neu zuzuordnen. Wie kann ich etwas Ähnliches in X Windows machen?
Ich habe die Einschalttaste durch Bearbeiten von /etc/systemd/logind.conf
deaktiviert und Setzen von HandlePowerKey = ignore
Danach kann ich den Netzschalter drücken, ohne den Laptop herunterzufahren.
Ausführen von xev -event keyboard
zeigt, dass der KeyPress für die Power-Taste normalerweise von einem anderen Prozess gefressen wird:
MappingNotify event, serial 36, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Indem ich jedoch nur xterm direkt über die Konsole ausführte, konnte ich den Schlüsselcode erfolgreich abrufen und den Schlüssel neu zuordnen.
xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 29, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
An dieser Stelle war es auch möglich, den Schlüssel mit xmodmap zuzuordnen. Ich habe es einem Backslash zugeordnet, was einfacher zu sehen ist als zu löschen:
xmodmap -e "keycode 124 = backslash bar"
Ich könnte ein kaum funktionierendes Äquivalent zum Laufen bekommen, indem ich dies zu ~/.fluxbox/keys
hinzufüge aber das ist sowohl hässlich als auch langsam genug, um unbrauchbar zu sein.
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
Wie kann ich xmodmap oder setxkbmap verwenden, um den Netzschalter gleichzeitig mit einem normalen Fenstermanager zu verwenden?
Akzeptierte Antwort:
Ich verstehe den letzten Satz, die Frage, nicht genau, aber ich kann den Titel der Frage nachvollziehen:„Einschalttaste zum Löschen neu zuordnen“.
Versuchen Sie, „XF86PowerOff“ oder nur dasjenige, das Ihrer Tastatur entspricht, durch „Delete“ in /usr/share/X11/xkb/symbols/inet zu ersetzen.
Verwandte:Kernel-Panik jede Stunde oder so „UPSB:Thunderbolt power on failed“ seit ich auf High Sierra aktualisiert habe?Sie müssen dies nach einem Systemupdate wiederholen, das diese Datei aktualisiert.