区分蓝牙键和键盘键

时间:2019-05-18 12:57:13

标签: linux bash bluetooth i3 xmodmap

我有一个按钮,可以通过蓝牙连接到计算机。但是,它模拟了调高音量的按钮,我想区分蓝牙按钮和“真实”键盘的调高音量的按钮。

我已经使用xev查看了这两个键。他们看起来像这样:

键盘音量调高按钮

  KeyPress event, serial 34, synthetic NO, window 0x1800001,
    root 0x14e, subw 0x0, time 2849770, (-88,658), root:(876,680),
    state 0x1, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

蓝牙按钮

  KeyPress event, serial 34, synthetic NO, window 0x1800001,
    root 0x14e, subw 0x0, time 2858907, (-88,658), root:(876,680),
    state 0x1, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

我在Arch Linux上通过bluetoothctl连接了蓝牙按钮。

现在,我想向我的~/.config/i3/config添加类似内容

bindcode 123 exec "~/doStuff.sh"

但是,这确实改变了我的键盘按钮以及蓝牙按钮。但是我想添加一些可以更改蓝牙按钮而不是键盘按钮的东西。

1 个答案:

答案 0 :(得分:0)

经过大量研究,我发现了红宝石宝石bluebuttonhttps://github.com/kinnalru/bluebutton)。在那里,我可以定义在蓝牙按钮的xinput list中找到的名称,并添加要在配置中执行的命令。