xbindkeys 不适用于 XF86audio*,如何正确配置键映射?

xbindkeys 不适用于 XF86audio*,如何正确配置键映射?

我想将我的Fn+ Left(XF86audioprev) 和Fn+ Right(XF86audionext) 键映射为“Home”( Num_Lock+ 7) 和“End”( Num_Lock+ 1) 键。

我尝试将 xbindkeys 与 xte 结合使用。一开始按下按钮时什么也没发生,所以我尝试了不同的方法。我发现 xte 命令执行得太早了,所以我像另一个线程中建议的那样添加了延迟。我尝试使用 3 作为映射键,它成功了。这是“/home/me/.xbindkeysrc”文件中写的内容:

#HomeFNLeft
"xte 'usleep 100000' 'key Num_Lock' 'key KP_Home' 'key Num_Lock'"
    m:0x0 + c:12 + Release
    3 

这很完美,但是当我将键更改为 Fn+Left 时,它失败了

#HomeFNLeft
"xte 'usleep 100000' 'key Num_Lock' 'key KP_Home' 'key Num_Lock'"
    m:0x0 + c:173
    XF86AudioPrev 

上面的配置不起作用。我不知道为什么。媒体键和 xbindkeys 之间是否不兼容?谢谢,希望你能帮助我。

我的规格:

*操作系统:Ubuntu 16.04

*内核:4.8.0-58-通用

*笔记本电脑型号:ASUS ROG Strix GL753VD

答案1

我遇到了完全相同的问题,最后我解决了它,所以它现在可以正常工作,但效果不是很好。我写道

# my Shift Home
"xte 'usleep 200000' 'keydown Shift_L' 'key Home' 'keyup Shift_L'"
Control+Shift + Left | m:0x5 + c:113

# my Home
"xte 'usleep 200000' 'key Home'"
Control + Left | m:0x4 + c:113

# my Shift End
"xte 'usleep 200000' 'keydown Shift_L' 'key End' 'keyup Shift_L'"
Control+Shift + Right | m:0x5 + c:114

# my End
"xte 'usleep 200000' 'key End'"
Control + Right | m:0x4 + c:114

但这种方式只适用于快速按压,因此可能不太舒服 - 尝试使用睡眠时间。按下左/右键后,键盘似乎处于忙碌状态,因此如果睡眠时间太短,它无法读取按键并忽略 xte 中的 Home/Right。PS 抱歉我的英语不好,我不是母语人士。

相关内容