xev / xmodmap: colchete esquerdo não enviando pressionamento de tecla no layout misto US / JP

0

Estou tentando identificar por que meu teclado USB externo não está enviando um pressionamento de tecla de colchete esquerdo. Configuração: laptop com layout de teclado PC104 japonês, teclado Kinesis USB com layout US PC104. Ao usar setxkbmap -model pc104 -layout japan -option japan , as chaves leged no laptop enviam pressionamentos de tecla corretos para colchete L / R e L / R, bem como @ e "e barra invertida. Essas são as chaves localizadas em um local diferente do japonês. layout, então a configuração acima é necessária. No entanto, quando eu uso um teclado americano como acima e defino a configuração como:

setxkbmap -model pc104 -layout us

OR

setkxbmap -mode kinesis -layout us

o colchete esquerdo não funciona, nem no teclado USB ou no teclado de computador portátil (ao pressionar o equivalente de colchete esquerdo do PC 104, que é @ na legenda japonesa). A chave esquerda, que é shift + colchete esquerdo, funciona bem.

Usando xbindkeys -k: Parêntese direito:

"(Scheme function)"
    m:0x0 + c:35
    bracketright

Parêntese esquerdo: nenhum resultado produzido

Aqui está a saída de xmodmap :

xmodmap -pk | grep -i bracket
     34     0x005b (bracketleft)    0x007b (braceleft)  0x005b (bracketleft)    0x007b (braceleft)  
     35     0x005d (bracketright)   0x007d (braceright) 0x005d (bracketright)   0x007d (braceright) 

Aqui está a saída de s howkey --scancodes: (nomes de chave adicionados)

bracket left 0x1a 0x9a 
bracket right 0x1b 0x9b
(shift) brace left 0x2a 0x1a 0x9a 0xaa
(shift) brace right 0x2a 0x1b 0x9b 0xaa

Aqui está a saída de xev ao pressionar o colchete para a direita, a cinta para a direita, o colchete para a esquerda e a esquerda, nessa ordem:

KeyPress event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28558548, (862,569), root:(862,569),
    state 0x0, keycode 35 (keysym 0x5d, bracketright), same_screen YES,
    XLookupString gives 1 bytes: (5d) "]"
    XmbLookupString gives 1 bytes: (5d) "]"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28558694, (862,569), root:(862,569),
    state 0x0, keycode 35 (keysym 0x5d, bracketright), same_screen YES,
    XLookupString gives 1 bytes: (5d) "]"
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28558890, (862,569), root:(862,569),
    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 0x2000001,
    root 0xd6, subw 0x0, time 28558968, (862,569), root:(862,569),
    state 0x1, keycode 35 (keysym 0x7d, braceright), same_screen YES,
    XLookupString gives 1 bytes: (7d) "}"
    XmbLookupString gives 1 bytes: (7d) "}"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28559092, (862,569), root:(862,569),
    state 0x1, keycode 35 (keysym 0x7d, braceright), same_screen YES,
    XLookupString gives 1 bytes: (7d) "}"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28559208, (862,569), root:(862,569),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

--- > chave de colchete esquerdo ocorre aqui

FocusOut event, serial 32, synthetic NO, window 0x2000001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 32, synthetic NO, window 0x2000001,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 32, synthetic NO, window 0x2000001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 32, synthetic NO, window 0x0,
    keys:  4294967265 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   

--- > chave de fim de colchete esquerdo

KeyPress event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28561835, (862,569), root:(862,569),
    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 0x2000001,
    root 0xd6, subw 0x0, time 28561916, (862,569), root:(862,569),
    state 0x1, keycode 34 (keysym 0x7b, braceleft), same_screen YES,
    XLookupString gives 1 bytes: (7b) "{"
    XmbLookupString gives 1 bytes: (7b) "{"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2000001,
    root 0xd6, subw 0x0, time 28562064, (862,569), root:(862,569),
    state 0x1, keycode 34 (keysym 0x7b, braceleft), same_screen YES,
    XLookupString gives 1 bytes: (7b) "{"
    XFilterEvent returns: False

Há algo que eu estou sentindo falta aqui? A chave está obviamente funcionando e enviando a chave esquerda. Todas as outras chaves, como barra invertida e @, que seriam associadas ao layout japonês, não apresentam problemas ao usar setxkbmap -model pc104 -layout us . O suporte à esquerda está sendo capturado por outra coisa?

    
por user741768 24.06.2017 / 10:49

0 respostas

Tags