Rimappatura del tasto di accensione per eliminare


14

Ho un macbook pro con Ubuntu 13.10 con FluxBox. Sfortunatamente, il pulsante di accensione è fisicamente al di sopra del backspace in cui mi aspetterei che si trovasse la chiave di eliminazione. In OS X, il programma PowerKey può essere utilizzato per rimappare la chiave di accensione per eliminare. Come posso fare qualcosa di simile in X Windows?

Ho disabilitato il tasto di accensione modificando /etc/systemd/logind.confe impostando HandlePowerKey = ignore Dopo questo, posso premere il pulsante di accensione senza spegnere il laptop.

L'esecuzione xev -event keyboardrivela che il KeyPress per il tasto di accensione viene normalmente utilizzato 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 correttamente 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, era anche possibile mappare la chiave usando xmodmap. L'ho mappato su una barra rovesciata che è più facile da vedere che eliminare:

 xmodmap -e "keycode 124 = backslash bar"

Potrei ottenere un equivalente a malapena funzionale da eseguire aggiungendolo a ~/.fluxbox/keysma 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 gestore di finestre?

Risposte:


3

Non capisco esattamente la frase finale, la domanda, ma posso fare riferimento al titolo della domanda: "Rimappare il tasto di accensione per eliminare".

Prova a sostituire qualsiasi "XF86PowerOff" o solo quello corrispondente alla tua tastiera con "Elimina" in / usr / share / X11 / xkb / simboli / inet.

Devi ripetere questo dopo un aggiornamento del sistema che aggiorna quel file.


consultare askubuntu.com/questions/325272/… per i dettagli. questa risposta dovrebbe essere accettata.
phil294,

1

Non è una risposta esatta, ma hai provato a premere fn+ delete? Questo dovrebbe agire come un vero Elimina , rispetto alla sua azione reale di "backspace" ed è molto vicino al tasto di accensione.

Un altro consiglio:

fn+ enterfunge da pulsante Inserisci , quindi dovresti essere in grado di premere shift+ fn+ entere Incolla come un clic centrale.


0

Difficile dirlo con certezza. Queste potrebbero essere cose che hai già provato, ma potrebbero portare a una soluzione semplice.

Xmodmap funziona con altre chiavi o c'è qualcosa che sta facendo fluxbox che sta completamente rompendo xmodmap?

Cosa succede se avvii x, modmap il tasto di accensione e quindi avvii fluxbox? La mappatura si attacca?

Se esegui xmodmap prima che fluxbox funzioni e mantenga le tue impostazioni, puoi scrivere uno script shell per chiamare entrambi nell'ordine corretto, oppure se stai usando gdm dovrebbe leggere ~/.xmodmapo ~/.xmodmaprcautomaticamente per te prima che fluxbox entri nell'immagine.


Sì, xmodmap funziona. In questo momento, ho il comando alt e right destro rimappati per eliminare e inserire rispettivamente usando xmodmap -e "remove mod1 = Alt_L" -e "rimuovi mod4 = Super_L" -e "aggiungi mod1 = Super_L" -e "aggiungi mod4 = Alt_L "-e" rimuovi mod1 = Alt_R "-e" rimuovi mod4 = Super_R "-e" keysym Alt_R = Elimina "-e" keysym Super_R = Inserisci "
nathan

Puoi includere l'output di xmodmap -pke all'interno di fluxbox?
Mike Fairhurst,

@nathan quindi questo è il problema di quando viene eseguito xmodmap, dopo fluxbox o prima. Ho avuto lo stesso problema con la fantastica wm
Darek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.