Изменить раскладку клавиатуры ТОЛЬКО для клавиатуры Bluetooth

У меня есть ключ Bluetooth "Camera Shutter". Он эмулирует клавиатуру Bluetooth. Я успешно выполнил сопряжение, но хочу изменить поведение кнопок.

В настоящее время они сопоставлены с 123 (Увеличение громкости) и 36 (Войти).

Я хотел бы изменить их сопоставления - но только для этой клавиатуры Bluetooth. Я хочу, чтобы клавиатура моего ноутбука не пострадала.

Моя конечная цель - запустить программу на Python при нажатии одной из клавиш.

Некоторые вещи, которые я нашел, которые не работали:

Я хочу нажать "Увеличение громкости" на моей внешней клавиатуре и выполнить команду - не мешая клавише "Увеличение громкости" на внутренней клавиатуре.

Есть идеи? Ubuntu 14.04.4 LTS. Благодарю.

1 ответ

Согласно https://superuser.com/a/869064/140864 - возможно использовать xkbcomp изменить назначение конкретных клавиш.

remote_id=$(
    xinput list |
    sed -n 's/.*AB Shutter 3.*id=\([0-9]*\).*keyboard.*/\1/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.*\)"/\1+custom(remote)"/' | xkbcomp -I/tmp/xkb -i $remote_id -synch - $DISPLAY 2>/dev/null

Это должно выполняться каждый раз, когда устройство подключено. Затем ключи можно назначить определенному ярлыку в Gnome.

Другие вопросы по тегам