Я пытаюсь определить, почему моя внешняя USB-клавиатура не отправляет нажатие левой клавиши. Конфигурация: ноутбук с японской раскладкой клавиатуры PC104, USB-клавиатура Kinesis с раскладкой США PC104. При использовании setxkbmap -model pc104 -layout japan -option japan , ключи, установленные на ноутбуке, отправляют правильные нажатия клавиш для скобок L/R и скобок L/R, а также @ и "и обратную косую черту. Это ключи, которые расположены в другом месте японской раскладки, поэтому необходим вышеуказанный конфиг. Однако, когда я использую американскую клавиатуру, как указано выше, и устанавливаю конфигурацию на:

setxkbmap -model pc104 -layout us

ИЛИ ЖЕ

setkxbmap -mode kinesis -layout us

Левая скобка не работает ни на клавиатуре USB, ни на проводной клавиатуре ноутбука (при нажатии на левую скобку ПК 104 США, что в японской легенде означает @). Левая скобка, которая является shift+left скобка, работает нормально.

Использование xbindkeys -k: Правая скобка:

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

Левая скобка: не выводится

Вот вывод xmodmap:

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

Вот вывод s howkey --scancodes: (добавлены имена ключей)

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

Вот вывод xev при нажатии скобки вправо, скобки справа, скобки слева, скобки влево, в следующем порядке:

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

---> здесь происходит нажатие левой скобки

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   

---> конец левого кронштейна

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

Есть что-то, чего я здесь не хватает? Ключ явно работает и отправляет левую скобку. Все другие ключи, такие как обратная косая черта и @, которые будут связаны с японским макетом, не показывают проблем при использовании setxkbmap -model pc104 -layout us . Левая скобка захвачена чем-то другим?

0