GNU/Linux >> Linux Esercitazione >  >> Linux

Rimappatura della chiave di accensione da eliminare?

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.


Linux
  1. Sono un utente POWER

  2. 16.04 Elimina chiave non funzionante?

  3. Esempio di punto di interruzione GDB per C:imposta, visualizza, continua ed elimina punti di interruzione

  4. Esempi di comandi "rm" di Linux

  5. Cambia lo stato del tasto Fn

Come generare una chiave SSH in Windows 10

Come eliminare la partizione in Linux

Come eliminare le righe in Vim / Vi

Come eliminare un repository e una chiave GPG in Ubuntu

Crea un server cloud

Elimina in batch le informazioni exif