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?