Xsetkbmap, comportamento estranho usando a opção de dispositivo

2

eu encontrei em

Dois teclados com dois layouts de idiomas

que é possível atribuir um layout específico a um dispositivo de teclado específico.

Eu quero usar um teclado como um hot-keys / macro (para comandar as funções do GIMP, Photoshop ou MangaStudio), criando um layout de teclado composto de caracteres Unicode fora dos que estão presentes em meus outros teclados, e em seguida, usando o Autokey para criar as chamadas de macro reais.

Não tão simples quanto o HidMacros no Windows, mas ainda gerenciável (também, o Autokey tem filtros nos nomes das janelas que permitem manter uniformes o layout dos atalhos, independentemente do aplicativo em uso).

O primeiro passo, foi verificar o comportamento do setxkbmap no meu sistema.

Eu continuei para verificar minha lista de entrada de dados, obtendo

$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:400e   id=10   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos2 12x18 stylus                id=11   [slave  pointer  (2)]
⎜   ↳ PixArt USB Optical Mouse                  id=14   [slave  pointer  (2)]
⎜   ↳ PixArt USB Optical Mouse                  id=15   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=17   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos2 12x18 eraser                id=19   [slave  pointer  (2)]
⎜   ↳ Wacom Intuos2 12x18 cursor                id=20   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ CNF7051                                   id=9    [slave  keyboard (3)]
    ↳ CHESEN USB Keyboard                       id=12   [slave  keyboard (3)]
    ↳ CHESEN USB Keyboard                       id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ Toshiba input device                      id=18   [slave  keyboard (3)]
    ↳ SIGMACHIP USB Keyboard                    id=22   [slave  keyboard (3)]

Agora, o que eu gostaria de fazer é atribuir um layout diferente para os dois "CHESEN USB Keyboard" - um é as teclas de mídia, que eu "eliminei fisicamente" ao montar, whell, não importa - e deixe o resto dos teclados com o layout atual (espanhol, com mudo til).

Em particular, o Logitech sem fio K400 que eu uso como teclado principal / ponteiro (isso é muito confortável).

Por estranho que pareça, eu não vejo o teclado K400 na lista de xinputs, apenas uma entrada para o Dispositivo unificador da Logitech, listado como um ponteiro.

Então, como teste, tentei inserir o comando

~$ setxkbmap -device 12 -layout us

E, para ser honesto, funciona como anunciado ... mas para o K400.

Aparentemente, o K400 não tem layout próprio ... ele apenas usa o layout do último teclado que foi usado.

Então, se eu pressionar uma tecla no Chesen, a Logitech de repente muda para um layout americano (com o símbolo ñ substituído por a;), apenas para reverter para um layout em espanhol no momento em que pressiono uma tecla no sigmachip teclado.

O que está acontecendo aqui? Tenho uma maneira de corrigir o comportamento do K400?

    
por user281333 13.05.2014 / 21:32

0 respostas