Alterando a chave Mod em Awesome WM

9

Eu tentei alterar a tecla mod em awesome a partir da tecla do Windows para Pause, Scroll Lock e Escape.

Para todas as chaves, tentei alterar a entrada no arquivo de configuração rc.lua ; Eu tentei usar o xmodmap para limpar bloqueios e add mod4 = ...

No entanto, parece que não importa o que eu faça, as teclas ficam "pegajosas" (às vezes de maneira estranha e inconsistente), ou seja, se eu as pressiono quando o computador age como se fossem constantemente pressionadas.

Existe uma maneira razoável de mudar esse comportamento?

    
por Archie 02.11.2012 / 00:13

3 respostas

2

Eu tenho um arquivo com essas duas linhas em minha casa:

clear lock 
keysym Caps_Lock = Super_L

Ele é chamado pelo meu rc.lua assim:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")
    
por 06.11.2012 / 16:50
1

Bem tarde, mas para referência de outros:

O problema parece ser que o xmodmap não está identificando nenhuma das chaves que você listou como teclas modificadoras. O AwesomeWM, portanto, não permite que eles sejam usados como teclas modificadoras.

Você pode tentar adicionar a chave que você deseja usar como Mod3 (que não parece ser usado para nada na maioria dos sistemas que já vi), então o seu rc.lua pode listar o modkey como "Mod3".

Adicionar como tecla modificadora

Você pode ver suas chaves modificadoras com xmodmap . Por padrão, você provavelmente terá algo assim:

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)

Com xev , você pode ver o nome de qualquer tecla pressionada durante a execução e, para Scroll Lock, a minha 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

Você notará que o nome do keysym é Scroll_Lock .

Para adicionar ao Mod3, você precisa criar ou adicionar a ~/.Xmodmap . Adicionar esta linha define Mod3 como sendo apenas a chave Scroll_Lock:

add Mod3 = Scroll_Lock

Para testar suas alterações e ver quaisquer erros no seu arquivo .Xmodmap, execute

xmodmap ~/.Xmodmap

Atualizando o rc.lua

Como você já percebeu claramente, na parte superior do arquivo rc.lua (que geralmente está em ~/.config/awesome/rc.lua ), há uma linha modkey = "Mod4" . Altere isso para modkey = "Mod3" .

Avisos

A tecla Esc é usada para vários mapeamentos de teclas pelo AwesomeWM. Eu sugeriria tentar Scroll Lock ou Pause, pois é menos provável que tenha conflitos extensos. Na verdade, o AwesomeWM parece assumir que o Esc está reservado para cancelar a operação atual.

Scroll Lock parece ser magicamente tratado como uma chave de bloqueio, muito parecido com Caps Lock. A diferença é que o comportamento de bloqueio do Caps Lock é relativamente trivial para desativar, enquanto o Scroll Lock não pode ter esse comportamento desativado, tanto quanto eu posso dizer.

Eu sugiro tentar isso com uma tecla como a tecla Numpad 0, ou algo que normalmente não é projetado para ser uma chave de bloqueio de estado, confirme se funciona, então tente mudar para a tecla que você deseja.

    
por 04.10.2017 / 03:13
0

Eu sei que estou 3 anos atrasado, mas se isso ajudar alguém, mude

modkey = "Mod4"

com

modkey = "Mod1"
    
por 12.11.2015 / 21:08