Neuzuordnung der zu löschenden Einschalttaste

14

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.confund Einstellen deaktiviert. HandlePowerKey = ignoreDanach kann ich den Netzschalter drücken, ohne den Laptop herunterzufahren.

Beim Ausführen wird xev -event keyboardangezeigt, 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/keysaber 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?

Nathan
quelle

Antworten:

3

Ich verstehe den letzten Satz, Frage, nicht genau, kann mich aber auf den Titel der Frage beziehen: "Power-Taste zum Löschen neu zuordnen".

Versuchen Sie, ein beliebiges "XF86PowerOff" oder nur das Ihrer Tastatur entsprechende "Delete" in / usr / share / X11 / xkb / symbols / inet zu ersetzen.

Sie müssen dies nach einer Systemaktualisierung wiederholen, die diese Datei aktualisiert.

LyXTeX
quelle
Einzelheiten finden Sie unter askubuntu.com/questions/325272/… . Diese Antwort sollte akzeptiert werden.
Phil294
1

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 .

Daryl Tucker
quelle
0

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 ~/.xmodmapoder ~/.xmodmaprcautomatisch für Sie vor Fluxbox das Bild eintritt.

Mike Fairhurst
quelle
Ja, xmodmap funktioniert. Im Moment habe ich den richtigen Befehl "alt" und "right" neu zugeordnet, um sie mit "xmodmap" zu löschen bzw. einzufügen "-e" remove mod1 = Alt_R "-e" remove mod4 = Super_R "-e" keysym Alt_R = Delete "-e" keysym Super_R = Insert "
Nathan
Können Sie die Ausgabe von xmodmap -pke in fluxbox einbinden?
Mike Fairhurst
@nathan das ist also das problem wenn xmodmap ausgeführt wird, nach fluxbox oder vorher. Hatte das gleiche Problem mit awesome wm
Darek