Sxhkd não reconhecendo a chave percentual (bspwm)

1

Então, eu quero criar um atalho usando meu sxhkd que funciona como a ligação para criar painéis no tmux.

Eu criei associações antes, então sei que posso usar xev para imprimir nomes de chaves, aqui está a saída ao pressionar % , em seguida, " :

KeyPress event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8068709, (324,604), root:(325,624), state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8069165, (324,604), root:(325,624), state 0x1, keycode 14 (keysym 0x25, percent), same_screen YES, XLookupString gives 1 bytes: (25) "%" XmbLookupString gives 1 bytes: (25) "%" XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8069236, (324,604), root:(325,624), state 0x1, keycode 14 (keysym 0x25, percent), same_screen YES, XLookupString gives 1 bytes: (25) "%" XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8069615, (324,604), root:(325,624), state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8090326, (324,604), root:(325,624), state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8090442, (324,604), root:(325,624), state 0x1, keycode 48 (keysym 0x22, quotedbl), same_screen YES, XLookupString gives 1 bytes: (22) """ XmbLookupString gives 1 bytes: (22) """ XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8090593, (324,604), root:(325,624), state 0x1, keycode 48 (keysym 0x22, quotedbl), same_screen YES, XLookupString gives 1 bytes: (22) """ XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2200001, root 0x9f, subw 0x0, time 8090652, (324,604), root:(325,624), state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False

Então, no meu ~/.config/sxhkd/sxhkdrc , coloquei:

super + percent
    bspc window -p right && urxvt
super + quotedbl 
    bspc window -p down && urxvt

Agora, quando eu reiniciar o sxhkd e pressionar super + % , nada acontece, mas a outra ligação funciona perfeitamente.

  • Por que o sxhkd não reconhece a chave percentual?
  • O sxhkd identifica a chave de porcentagem como um nome diferente daquele fornecido pelo xev?

Edit: Eu fiz mais algumas pesquisas no repositório sxhkd git e encontrei o arquivo que armazena os números de keysym para cada chave.

Em parse.c :

{"percent"                     , 0x0025}

Eu tentei alterá-lo para 0x25 e recompilar, mas ainda sem sorte. : (

    
por aish 10.02.2014 / 09:12

1 resposta

0

Então, depois de muitos testes, descobri algumas soluções minhas.

Acontece que a chave percentual é reconhecida muito bem, mas não funciona junto com a superchave

Opção 1) Adicione @ na frente da chave

 @super + percent
     bspc window -p right && urxvt

Isso funciona, mas só funciona depois que você soltar uma tecla

Opção 2) Substitua super por qualquer outra chave

Eu decidi optar pela opção 2 e substituir super por ctrl

ctrl + {percent,quotedbl}
    bspc window -p {right,down} && urxvt
    
por 11.02.2014 / 07:56