Configurando o layout do teclado para um determinado dispositivo usando xkbcomp

0

Estou usando xkbcomp para trocar as teclas Alt e Win em um teclado Apple meu.

Isso funciona:

xkbcomp -w0 -I"$DIR" "$DIR/keymap/mykbd" $DISPLAY

... mas muda o layout de todos os teclados, e isso não acontece porque eu estou freqüentemente mudando entre uma posição de pé e sentada (e trocando teclados).

Eu me dei ao trabalho de especificar um dispositivo. O texto da ajuda xkbcomp diz: -i <deviceid> Specifies device ID (not name) to compile for

xkbcomp -w0 -I"$DIR" -i 16 "$DIR/keymap/mykbd" $DISPLAY

... mas isso parece não ter efeito!

Eu desenhei o ID 16 de xinput list | grep Magic\ Keyboard . Eu também tentei /dev/input/event18 como um id, tirado de xinput list-props 16 | grep 'Device Node' , mas isso não produz um efeito melhor.

Atualização:

Surpreendentemente, quando eu forneço o id de Virtual core keyboard em vez de Magic Keyboard , eu faço obter um efeito: o novo mapeamento é aplicado ao meu teclado mágico, e se eu continuar a digitar no teclado do meu laptop integrado, o mapa de teclas então será revertido para a configuração original.

Eu não posso explicar isso. Alguém tem alguma ideia?

    
por JellicleCat 10.01.2018 / 19:40

1 resposta

0

Você pode usar a técnica descrita aqui .

Como alternativa, crie um arquivo .xkb separado para cada dispositivo (use o método descrito aqui para cada um) e coloque atalhos para cada um na área de trabalho. A persistência não seria tão importante, pois a expectativa é que o layout da chave (dispositivo) seria selecionado manualmente.

    
por u2n 22.06.2018 / 18:50