Cambiar la tecla Mod en Awesome WM

9

Traté de cambiar la tecla mod de forma impresionante de la tecla de Windows a Pausa, Bloqueo de desplazamiento y Escape.

Para todas las claves intenté cambiar la entrada en el rc.luaarchivo de configuración; Traté de usar xmodmap para borrar bloqueos yadd mod4 = ...

Sin embargo, parece que no importa lo que haga, las teclas se vuelven "pegajosas" (a veces de una manera extraña e inconsistente), es decir, si las golpeo una vez que la computadora actúa como si estuvieran presionadas constantemente.

¿Hay alguna forma razonable de cambiar este comportamiento?

Archie
fuente

Respuestas:

2

Tengo un archivo con estas dos líneas en mi casa:

clear lock 
keysym Caps_Lock = Super_L

Se llama desde mi rc.lua así:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
kioopi
fuente
No quiero usar el bloqueo de mayúsculas como modkey. el clear lockcomando borra el bloqueo de turno, y no debería haber ningún bloqueo de turno para ninguna de las teclas mencionadas en la primera línea de mi pregunta.
Archie
2

Muy tarde, pero para referencia de otros:

El problema parece ser que xmodmap no identifica ninguna de las claves que enumeró como teclas modificadoras. AwesomeWM, por lo tanto, no permite que se usen como teclas modificadoras.

Puede intentar agregar la clave que desea usar como Mod3 (que no parece usarse para nada en la mayoría de los sistemas que he visto), luego su rc.lua puede incluir la clave mod como "Mod3".

Agregar como clave modificadora

Puede ver sus teclas modificadoras con xmodmap. Por defecto, probablemente obtendrá algo como esto:

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 xevusted puede ver el nombre de cualquier tecla que presione mientras se está ejecutando, y para Scroll Lock, la mía aparece como:

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

Notarás que el nombre del keyym es Scroll_Lock.

Para agregar a Mod3, debe crear o agregar ~/.Xmodmap. Agregar esta línea establece que Mod3 sea solo la tecla Scroll_Lock:

add Mod3 = Scroll_Lock

Para probar sus cambios y ver cualquier error en su archivo .Xmodmap, ejecute

xmodmap ~/.Xmodmap

Actualizando rc.lua

Como claramente ya has descubierto, hacia la parte superior de tu archivo rc.lua (que generalmente está dentro ~/.config/awesome/rc.lua), hay una modkey = "Mod4"línea. Cambia esto a modkey = "Mod3".

Advertencias

AwesomeWM utiliza la tecla Esc para varias asignaciones de teclas. Sugeriría probar Scroll Lock o Pause en su lugar, ya que es menos probable que tenga conflictos extensos. De hecho, AwesomeWM parece asumir que Esc está reservado para cancelar la operación actual.

Scroll Lock parece ser tratado mágicamente como una llave de bloqueo, al igual que Caps Lock. La diferencia es que el comportamiento de bloqueo de Bloqueo de mayúsculas es relativamente trivial para deshabilitar, mientras que Scroll Lock no puede deshabilitar este comportamiento por lo que puedo decir.

Sugeriría probar esto con una tecla como la tecla Numpad 0, o algo que normalmente no está diseñado para ser una tecla de bloqueo de estado, confirme que funciona, luego intente cambiar a la tecla que desee.

mtalexan
fuente
0

Sé que llego 3 años tarde, pero si esto ayuda a alguien, cambie

modkey = "Mod4"

con

modkey = "Mod1"
TuxForLife
fuente
Ese es el concepto básico, pero las claves específicas que enumeró no se pueden usar con una modificación simple como esa en el rc.lua. La configuración de modkey en rc.lua aparentemente solo se puede configurar en teclas que xmodmap trata como teclas modificadoras (como shift o ctrl), y no se puede configurar en algo como 'x'.
mtalexan