将Ctrl和Alt映射到鼠标拇指按钮


11

我正在运行Ubuntu 12.04,并且具有多按钮Microsoft鼠标。我想分别将CtrlAlt键和修改键分别映射到鼠标的左,右拇指按钮,这样我就可以Ctrl+单击和- Alt单击而无需触摸键盘。我的拇指按钮是按钮89

我尝试了如何配置鼠标拇指按钮中的解决方案 其中解释了如何将双击映射到a- thumb button这对双击有效,但是我不知道如何修改Ctrland 的解决方案Alt

我也尝试过如何将Ctrl / Shift映射到Mouse的拇指按钮? 使用了xdotools和xbindkeys。我将脚本修改为此:

~/.xbindkeysrc

"xdotool keydown alt"
        b:9
"xdotool keyup alt"
        release + alt + b:9
"xdotool keydown ctrl"
        b:8
"xdotool keyup ctrl"
        release + control + b:8

哪个ALMOST有效。Ctrl当我单击左手拇指按钮时,它模拟了-key的按下,但实际上我不能同时按住该按钮并单击-按住该按钮thumb button似乎可以防止它在释放之前听其他输入。

有谁知道我该如何使我的鼠标拇指按钮真正用作修饰键,因此我可以使用thumb button+单击而不是Ctrl+单击?


运行xev | grep button\|Button,然后在白色窗口上按下“ Ctrl” tumb按钮,而不释放它,单击并释放它,然后发布输出。
Helio

@Helio看到我的新创建的问题:askubuntu.com/questions/627555/...
conceptdeluxe

Answers:


0

我在这里找到了可行的解决方案。它使用Easystroke(sudo apt install easystroke)。来自ubuntuforums对@stuartr表示敬意!

尽管存在一个问题-重新映射的鼠标单击偶尔会触发原始事件(在我的情况下为“后退”)。为避免这种情况,可使用xinput set-button-mapsudo apt install xinput)将鼠标按钮重新映射为一些未使用的数字。重新映射我$HOME/.config/autostart/mouse-buttons.sh使用此内容创建(可执行)的每个登录名:

$ cat .config/autostart/mouse-buttons.sh
#!/usr/bin/env bash

mi_mouse_id=$(xinput | grep 'GTech MI wireless mouse.*pointer' | sed 's/.*\tid=\([0-9]*\)\t.*/\1/')
xinput set-button-map $mi_mouse_id 1 2 3 4 5 6 7 20 9 10 11 12 13 14 15 16 17 18 19 20
$

这将鼠标按钮8映射到按钮20。希望按钮20没有意义。至少对我完全没有影响。现在是时候将按钮20重新映射为Ctrl:

  1. 首选项选项卡:其他按钮->添加->单选按钮“即时手势”->单击灰色区域中选择的鼠标按钮(对我来说,“后退,拇指按钮”变为“(立即)按钮20”)
  2. 首选项标签:选择“自动启动Easystroke”
  3. “动作”选项卡:添加动作
     名称:您喜欢的任何内容(例如'Mouse 20-> Ctrl')
     类型:'Ignore'
     详细信息:单击一次以将'Ignore'更改为'Key composition ...'。然后按Ctrl + a。'a'无关紧要,将被忽略。“组合键”将替换为“点击率”
  4. 选中/突出显示新操作后->单击“记录笔划”->按一下您想再次使用的鼠标按钮(对我来说,这是笔划列中的“ 20-> 20”)
  5. 现在,按住我的鼠标按钮会在屏幕上弹出一个小巧的“ Ctr”,就像在按住鼠标按钮的同时按住该按钮一样

-1

如果您更喜欢基于功能GUI的解决方案,则可以不使用xdotool,而可以从Ubuntu软件中心下载Easystrokes应用程序。您可以轻松地将键盘键和快捷方式映射到鼠标按钮,甚至鼠标手势。


5
我尝试过Easystrokes,但据我所知,它也不允许我将修饰键映射到鼠标按钮。它将允许我映射修饰符+键的组合,例如SHIFT + A,但是它不允许我将修饰符单独映射到鼠标按钮。我想按住鼠标拇指按钮与按住CTRL按钮具有相同的功能。
rcorre
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.