Modifica della chiave Mod in Awesome WM


9

Ho provato a cambiare il tasto mod in modo fantastico dal tasto Windows a Pausa, Blocco scorrimento ed Esci.

Per tutte le chiavi ho provato a cambiare la voce nel rc.luafile di configurazione; Ho provato a usare xmodmap per cancellare i blocchi eadd mod4 = ...

Tuttavia sembra che qualunque cosa io faccia, i tasti diventano "appiccicosi" (a volte in uno strano modo incoerente), vale a dire se li colpisco una volta che il computer si comporta come se fossero costantemente premuti.

C'è un modo ragionevole per cambiare questo comportamento?

Risposte:


2

Ho un file con queste due righe nella mia casa:

clear lock 
keysym Caps_Lock = Super_L

Viene chiamato dal mio rc.lua in questo modo:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")

Non voglio usare il maiuscolo come modkey. il clear lockcomando cancella il blocco MAIUSC e non dovrebbe esserci alcun blocco MAIUSC per nessuno dei due tasti menzionato nella prima riga della mia domanda.
Archie,

2

Molto tardi, ma per riferimento degli altri:

Il problema sembra essere che xmodmap non stia identificando nessuna delle chiavi che hai elencato come chiavi modificatore. AwesomeWM quindi non consente loro di essere usati come tasti modificatori.

Puoi provare ad aggiungere la chiave che vuoi usare come Mod3 (che non sembra essere usata per nulla sulla maggior parte dei sistemi che ho visto), quindi il tuo rc.lua può elencare la modkey come "Mod3".

Aggiungi come chiave modificatore

Puoi vedere i tuoi tasti modificatori con xmodmap. Per impostazione predefinita, probabilmente otterrai qualcosa del genere:

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Con xevpuoi vedere il nome di qualsiasi tasto che premi mentre è in esecuzione, e per Scroll Lock il mio appare come:

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Noterai che il nome del keysym è Scroll_Lock.

Per aggiungere a Mod3, è necessario creare o aggiungere a ~/.Xmodmap. L'aggiunta di questa riga imposta Mod3 in modo che sia solo il tasto Scroll_Lock:

add Mod3 = Scroll_Lock

Per verificare le modifiche e visualizzare eventuali errori nel file .Xmodmap, esegui

xmodmap ~/.Xmodmap

Aggiornamento di rc.lua

Come hai chiaramente capito, verso la cima del tuo file rc.lua (che di solito è in ~/.config/awesome/rc.lua), c'è una modkey = "Mod4"linea. Cambia questo in modkey = "Mod3".

Avvertenze

Il tasto Esc viene utilizzato per una serie di mappature dei tasti da AwesomeWM. Suggerirei invece di provare Scroll Lock o Pause poiché è meno probabile che si verifichino conflitti estesi. In effetti AwesomeWM sembra supporre che Esc sia riservato per annullare l'operazione corrente.

Scroll Lock sembra essere trattato magicamente come una chiave di blocco, proprio come Caps Lock. La differenza è che il comportamento di blocco di Caps Lock è relativamente banale da disabilitare, mentre Scroll Lock non può disabilitare questo comportamento per quanto ne so.

Suggerirei di provare questo con un tasto come il tastierino numerico 0, o qualcosa che normalmente non è progettato per essere un tasto di blocco dello stato, confermare che funzioni, quindi provare a passare al tasto desiderato.


0

So di essere in ritardo di 3 anni, ma se questo aiuta qualcuno, passa

modkey = "Mod4"

con

modkey = "Mod1"

Questo è il concetto di base, ma le chiavi specifiche che ha elencato non possono essere utilizzate con una semplice modifica come quella di rc.lua. L'impostazione modkey in rc.lua può apparentemente essere impostata solo sui tasti che xmodmap considera come tasti modificatori (come shift o ctrl) e non può essere impostata su qualcosa come 'x'.
mtalexan,
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.