Ich besitze ein MacBook Pro, auf dem Ubuntu 13.10 mit FluxBox ausgeführt wird. Leider befindet sich der Ein- / Ausschalter physisch über der Rücktaste, in der sich der Löschschlüssel befinden sollte . Unter OS X kann das PowerKey-Programm verwendet werden, um den zu löschenden Ein- / Ausschalter neu zuzuordnen. Wie kann ich unter X Windows etwas Ähnliches tun?
Ich habe den Netzschalter durch Bearbeiten /etc/systemd/logind.conf
und Einstellen deaktiviert. HandlePowerKey = ignore
Danach kann ich den Netzschalter drücken, ohne den Laptop herunterzufahren.
Beim Ausführen wird xev -event keyboard
angezeigt, dass der Tastendruck für die Einschalttaste normalerweise von einem anderen Prozess verarbeitet 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 von der Konsole aus 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
Zu diesem Zeitpunkt war es auch möglich, den Schlüssel mit xmodmap zuzuordnen. Ich habe es einem Backslash zugeordnet, der einfacher zu sehen ist als zu löschen:
xmodmap -e "keycode 124 = backslash bar"
Ich könnte ein kaum funktionierendes Äquivalent zum Laufen bekommen, wenn ich dies hinzufüge, ~/.fluxbox/keys
aber dies ist sowohl hässlich als auch langsam genug, um unbrauchbar zu werden.
# 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?
quelle
Es ist keine genaue Antwort, aber haben Sie versucht, fn+ zu drücken delete? Dies sollte wie eine echte Löschung wirken , im Gegensatz zu der tatsächlichen Aktion von 'Rücktaste' und ist sehr nahe an der Einschalttaste.
Noch ein Tipp:
fn+ enterfungiert als Einfügen- Schaltfläche, sodass Sie in der Lage sein sollten, shift+ fn+ enterund Einfügen wie einen mittleren Klick zu drücken .
quelle
Es ist schwer zu sagen, sicher. Dies können Dinge sein, die Sie bereits ausprobiert haben, aber sie können zu einer einfachen Lösung führen.
Funktioniert xmodmap für andere Schlüssel, oder gibt es etwas, das fluxbox tut und das xmodmap komplett kaputt macht?
Was passiert, wenn Sie x starten, die Power-Taste modmappen und dann Fluxbox starten? Klebt das Mapping?
Wenn xmodmap vor Fluxbox Arbeiten ausgeführt und hält Ihre Einstellungen können Sie entweder ein Shell - Skript schreiben beide in der richtigen Reihenfolge zu nennen, oder wenn Sie GDM verwenden sollte es lesen
~/.xmodmap
oder~/.xmodmaprc
automatisch für Sie vor Fluxbox das Bild eintritt.quelle