我正在运行Ubuntu16.04并连接罗技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' "这一切都很好。我所称的powerclick用于在FF中打开新选项卡中的链接。
现在我想要实现的是:当我点击按钮1,然后按钮10,然后我选择一些文本,我释放两个按钮,文本应该复制到剪贴板。因此,对于任何窗口来说,都是一种quickedit模式,一旦文本以这种方式被选中,它就会被复制。
# quickcopy
"xte 'keydown Control_L' 'key c' 'keyup Control_L' "
b:10 + b:1 + Release但这并没有达到预期的效果。
有什么办法来描绘这样复杂的环境吗?我可以想象这是一个伟大的用途,考虑到“拇指按钮”可能工作类似于键盘上的Ctrl键,即修改标准的点击行为。
稍后Id想为按钮10 (拇指按钮)+按钮2(右键)提供粘贴功能。
谢谢
发布于 2016-12-06 11:38:02
在终端中运行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...因为我认为m:0x0是一种鼠标状态,所以xbindkey似乎将b:10 + b:1 + Release解释为简单的b:1 + Release。
我不知道我们是否做错了,并且有正确的编写方法,或者在xbindkeys中使用双鼠标键组合是不可能的。
发布于 2017-09-23 07:26:38
正常情况下不可能这样做,但幸运的是,xbindkey支持名为guile的脚本语言,它允许您执行诸如set状态/变量之类的操作,这样就可以创建类似于修饰符键的按钮。
我做了一条关于它的帖子:https://www.linuxquestions.org/questions/linux-desktop-74/%5Bxbindkeys%5D-advanced-mouse-binds-4175428297/
发布于 2019-02-15 05:16:54
实现b:3 + b:1,在本例中右击和左击发送CTRL+F5 .这需要使用guile支持构建xbindkey。
使用以下内容创建此附加配置文件/home/user/.xbindkeysrc.scm。
基本上这会
;; This configuration is guile based.
;; http://www.gnu.org/software/guile/guile.html
;; Right Click
(define (first-binding)
"First binding"
(xbindkey-function '("b:3") b3-second-binding)
)
(define (reset-first-binding)
"reset first binding"
(ungrab-all-keys)
(remove-all-keys)
)
(define (b3-second-binding)
"Button Extra Functions"
(reset-first-binding)
;; First Key Down + Second Key = Action Ctrl+F5 And Release
(xbindkey-function '("b:1")
(lambda ()
(reset-first-binding)
(run-command "xte 'keydown Control_R' 'keydown F5' 'keyup F5' 'keyup Control_R'")
(run-command "killall xbindkeys; xbindkeys")
)
)
;; First Key Up = Release
(xbindkey-function '(release "b:3")
(lambda ()
(reset-first-binding)
(run-command "xte 'mouseclick 3'")
(run-command "killall xbindkeys; xbindkeys")
)
)
)
(first-binding) 多亏了大卫·波布
https://askubuntu.com/questions/832411
复制相似问题