我想将我的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 抱歉我的英语不好,我不是母语人士。