Ho un MacBook Pro con Ubuntu 13.10 con FluxBox. Sfortunatamente, il pulsante di accensione si trova fisicamente sopra il backspace dove mi aspetterei che si trovi la chiave di eliminazione. In OS X, il programma PowerKey può essere utilizzato per rimappare la chiave di accensione da eliminare. Come posso fare qualcosa di simile in X Windows?
Ho disabilitato il tasto di accensione modificando /etc/systemd/logind.conf
e impostando HandlePowerKey = ignore
Dopodiché, posso premere il pulsante di accensione senza spegnere il laptop.
Esecuzione di xev -event keyboard
rivela che il tasto KeyPress per il tasto di accensione viene normalmente consumato da un altro processo:
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
Tuttavia, eseguendo solo xterm direttamente dalla console, sono stato in grado di ottenere con successo il codice chiave e rimappare la chiave.
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
A questo punto è stato anche possibile mappare la chiave utilizzando xmodmap. L'ho mappato su una barra rovesciata che è più facile da vedere che da eliminare:
xmodmap -e "keycode 124 = backslash bar"
Potrei ottenere un equivalente a malapena funzionale da eseguire aggiungendo questo a ~/.fluxbox/keys
ma questo è sia brutto che abbastanza lento da essere inutilizzabile.
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
Come posso usare xmodmap o setxkbmap per usare il pulsante di accensione contemporaneamente a un normale window manager?
Risposta accettata:
Non capisco esattamente la frase finale, domanda, ma posso riferirmi al titolo della domanda:"Rimappatura del tasto di accensione da eliminare".
Prova a sostituire qualsiasi "XF86PowerOff" o solo quello corrispondente alla tua tastiera con "Delete" in /usr/share/X11/xkb/symbols/inet.
Relazionato:panico del kernel ogni ora circa "UPSB:accensione del fulmine non riuscita" da quando sono passato a High Sierra?Devi ripetere l'operazione dopo un aggiornamento di sistema che aggiorna quel file.