我可以在 xbindkeys 中使用复杂的鼠标按钮组合吗?

mic*_*vka 5 mouse keyboard shortcut-keys xbindkeys

我正在运行 Ubuntu 16.04 并连接了 Logitech M705 鼠标。该鼠标共有 10 个按钮,按钮 1 为左击,按钮 2 为右击,按钮 10 为“拇指按钮”。

我已经设置 xbindkeys

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6 + Release
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7 + Release

# page down
"xte 'key Next' "
  b:8

# page up
"xte 'key Prior' "
  b:9

# powerclick
"xte 'keydown Control_L' 'mouseclick 1' 'keyup Control_L' "
Run Code Online (Sandbox Code Playgroud)

这一切都非常有效。我所说powerclick的用于在新选项卡中打开 FF 中的链接。

现在我想要实现的是:当我单击按钮 1 THEN 按钮 10 THEN 时,我选择一些文本并释放两个按钮,文本应该被复制到剪贴板中。任何窗口的快速编辑模式,只要以这种方式选择文本,它就会被复制。

# quickcopy
"xte 'keydown Control_L' 'key c' 'keyup Control_L' "
  b:10  + b:1 + Release
Run Code Online (Sandbox Code Playgroud)

但这并没有达到预期的效果。

有没有办法映射如此复杂的条件?我可以想象这是一个很好的用途,考虑到“拇指按钮”可能与键盘上的 Ctrl 键类似,即修改标准点击行为。

后来我想为按钮10(拇指按钮)+按钮2(右键)制作粘贴功能

谢谢

小智 5

正常情况下是不可能的,但幸运的是 xbindkeys 支持一种称为 guile 的脚本语言,它允许您执行诸如设置状态/变量之类的操作,这使您可以创建充当修饰键的按钮。

我做了一个关于它的线程:https : //www.linuxquestions.org/questions/linux-desktop-74/%5Bxbindkeys%5D-advanced-mouse-binds-4175428297/


100*_*00r 3

xbindkeys -n -v在终端输出中运行:

1 keys in /home/whoever/.xbindkeysrc

min_keycode=8     max_keycode=255 (ie: know keycodes)
"xte 'keydown Control_L' 'key c' 'keyup Control_L' "
    Release + m:0x0 + b:1   (mouse)
starting loop...
Run Code Online (Sandbox Code Playgroud)

正如我认为m:0x0是鼠标状态一样,似乎 xbindkeysb:10 + b:1 + Release简单地解释为b:1 + Release

我不知道我们是否做错了并且有正确的编写方法,或者在xbindkeys.