将Ctrl和Alt映射到鼠标滑块按钮

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

我尝试了如何配置鼠标拇指按钮的解决方案? 其中解释了如何将双击映射到拇指按钮 – 这适用于双击,但我无法弄清楚如何修改CtrlAlt的解决方案

我还试过如何将Ctrl / Shift映射到鼠标的拇指按钮? 它使用了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键,但我实际上无法按住按钮并同时点击 – 按住拇指按钮似乎可以防止它在释放之前收听其他输入。

有谁知道我怎么能让我的鼠标拇指按钮实际上作为一个修改键,所以我可以使用拇指按钮 +点击而不是Ctrl +点击?

我找到了一个有效的解决方案 它使用Easystroke( sudo apt install easystroke )。 感谢来自ubuntuforums的@stuartr!

虽然有一个问题 – 重新映射鼠标点击偶尔发射原始(在我的情况下’回’)事件。 为避免这种情况,可以使用xinput set-button-mapsudo apt install xinput )将鼠标按钮重新映射到某些未使用的数字。 重新映射我创建的每个登录(exacutable) $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. 操作选项卡:添加操作
    名称:你喜欢的任何东西(例如’鼠标20 – > Ctrl’)
    输入:’忽略’
    详细信息:单击一次将“忽略”更改为“组合键…”。 然后按Ctrl + a。 ‘a’没关系,被忽略了。 ‘Key Combination’将被’Ctr’取代
  4. 选择/突出显示新操作 – >单击“记录笔划” – >按下您想要再次使用的鼠标按钮(对于我来说,这在“笔划”列中显示为“20 – > 20”)
  5. 现在按住我的鼠标按钮会在屏幕上显示一个极小的“Ctr”,就像按钮被按住一样,只要鼠标按钮是

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