Mude o mapeamento do teclado APENAS para o teclado Bluetooth

2

Eu tenho um dongle Bluetooth "Camera Shutter". Ele emula um teclado Bluetooth. Eu parei com sucesso, mas quero mudar o comportamento dos botões.

Atualmente, eles estão mapeados para 123 (aumento de volume) e 36 (Enter).

Gostaria de alterar os mapeamentos deles, mas apenas para este teclado Bluetooth. Eu quero que o teclado do meu laptop não seja afetado.

Meu objetivo final é ter um programa em Python executado quando uma das teclas é pressionada.

Algumas coisas que encontrei e que não funcionaram:

Eu quero pressionar "Aumentar o Volume" no meu teclado externo e ter uma execução de comando - sem interferir na tecla "Aumentar Volume" do meu teclado interno.

Alguma ideia? Ubuntu 14.04.4 LTS. Obrigado.

    
por Terence Eden 20.02.2016 / 10:32

1 resposta

0

De acordo com o link - é possível usar xkbcomp para alterar a atribuição de chaves específicas.

remote_id=$(
    xinput list |
    sed -n 's/.*AB Shutter 3.*id=\([0-9]*\).*keyboard.*//p'
)
[ "$remote_id" ] || exit

mkdir -p /tmp/xkb/symbols
cat >/tmp/xkb/symbols/custom <<\EOF
xkb_symbols "remote" {
    key <VOL+>  { [ XF86Launch1 ] };
    key <RTRN>  { [ XF86Launch2 ] };
};
EOF

setxkbmap -device $remote_id -print | sed 's/\(xkb_symbols.*\)"/+custom(remote)"/' | xkbcomp -I/tmp/xkb -i $remote_id -synch - $DISPLAY 2>/dev/null

Isso precisa ser executado toda vez que o dispositivo for conectado. As chaves podem então ser atribuídas a uma ação de atalho específica no Gnome.

    
por Terence Eden 22.02.2016 / 14:44