我知道有许多互联网上关于在 Linux 中设置键盘/鼠标多媒体键/按钮的问题,但我的问题更具体。
我的无线输入设备:
上述键盘有ia:
- 提高音量,
- 音量减小
工作正常的按键。我的鼠标有几个多媒体按钮,没有分配任何操作。我想分配给两个鼠标按钮,相同的操作,它们分配给音量增大/减小键盘键。
重要的提示:
当我按住音量加/减键盘键时,音量为 逐步地变得更大声/更安静,直到音量达到最大/静音。我想要用鼠标达到同样的效果。
为了满足上述要求,我遵循了以下步骤:
- 我安装了
xvkbd
,这是X窗口系统的虚拟键盘, - 我检查过
xev
鼠标按钮的代码是什么(8
- 音量减小,9
- 音量增大), 我添加了以下几行
~/.xbindkeysrc
:"xvkbd -text '\[XF86AudioLowerVolume]'" b:8 "xvkbd -text '\[XF86AudioRaiseVolume]'" b:9
我残忍地“重装”了
xbindkeys
守护进程(其实我也不知道能不能调用守护进程因为它从 ) 开始/etc/xdg/autostart
:pkill -f xbindkeys && xbindkeys
顺便说一句:我不知道如何优雅地重新加载它。
它几乎可以工作了。现在我可以用鼠标按钮调高/调低音量但如果我一直按住音量调高/调低按钮,则音量为不是逐渐变得更响亮/更安静。它在一次“迭代”后停止。只要按住按钮,我就想要“自动重复”。
问题:
为了完整起见:
xmodmap
结果:abc@xyz:~$ xmodmap -pke | grep -i volume keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
- 好的ArchWiki 网页关于额外的键盘按键。
- 全部
keysyms
是在以下头文件中定义:/usr/include/X11/keysymdef.h
和这里/usr/include/X11/XF86keysym.h
。
答案1
最优解
"xdotool keydown XF86AudioLowerVolume"
b:8
"xdotool keyup XF86AudioLowerVolume"
b:8 + Release
"xdotool keydown XF86AudioRaiseVolume"
b:9
"xdotool keyup XF86AudioRaiseVolume"
b:9 + Release
这将充当键盘按键,因为它将继续改变音量,直到您释放鼠标按钮。
快乐编码...
答案2
$ sudo apt-get install xdotool
$ sudo apt-get install xbindkeys
$ vim ~/.xbindkeysrc
内容:
# Sound Lower
"xdotool key XF86AudioLowerVolume"
b:8
# Sound Louder
"xdotool key XF86AudioRaiseVolume"
b:9
保存并关闭。
$ xbindkeys
这对我有用。 Ubuntu 14.04 上的罗技 M500。
答案3
一些罗技鼠标具有可编程按钮。其中一些具有板载存储,可以将配置文件存储在鼠标上。如果您可以使用可以运行 Logitech 鼠标设置软件的计算机,您可以使鼠标的 USB 键盘组件发送多媒体按键(我认为使用自动重复),而不是在 GNU/Linux 端的软件中处理它。
例如,当我按下 G602 的其中一个按钮时,即使我已将其连接到 Linux 桌面,它也会发送 F6 按键。没有板载配置文件存储的鼠标只能通过软件重新映射其按钮(例如您所做的,或在 Windows 下运行的罗技自己的软件)。
IDK 如何为映射到键盘按键的鼠标按钮设置自动重复,就像您所做的那样。
答案4
如果您想在屏幕角落时使用鼠标滚轮更改音量,我可以建议您这样做: 适用于 Linux 的卷鼠