绑定后退/前进到鼠标按钮

我有一个基本的罗技鼠标,有5个按钮:左,右,左轮,轮,右轮。

我过去常常使用左右轮子在我的浏览器或导航器中前后移动。 现在这不起作用。 我找到了许多解决方案,人们告诉他们安装这个程序或者说,似乎没有用。

  1. 安装包xautomation ,我们需要命令xte

     sudo apt-get install xautomation 
  2. 安装包x11-utils ,我们需要命令xev

     sudo apt-get install x11-utils 
  3. 检查两个鼠标按钮的代码。

    • 在终端中启动命令xev

       xev 
    • 在新窗口中移动鼠标

    • 向左 转动车轮,向右转动车轮

    在我的情况下,请注意输出button 6button 7

     ButtonRelease event, serial 36, synthetic NO, window 0x2e00001, root 0x233, subw 0x0, time 9222464, (94,21), root:(1774,85), state 0x10, button 6, same_screen YES ButtonPress event, serial 36, synthetic NO, window 0x2e00001, root 0x233, subw 0x0, time 9223854, (94,21), root:(1774,85), state 0x10, button 7, same_screen YES 
  4. 编辑xbindkeys配置,例如:

     nano ~/.xbindkeysrc 

    并添加以下行

     "xte 'keydown Alt_L' 'keydown Left' 'keyup Left' 'keyup Alt_L'" b:6 "xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'" b:7 

    用你的xev输出数替换b:6b:7

    • 来自man xte

       key k Press and release key k keydown k Press key k down keyup k Release key k 
  5. 杀死所有kbindkeys进程

     killall xbindkeys 
  6. 使用您的配置重新启动xbindkeys ,例如:

     xbindkeys -f ~/.xbindkeysrc 

这里有多个鼠标按钮说明,这里有 xorg.conf信息 。

基本上,你搞乱了xinput。 (或者更多选项。)

首先,打开一个终端。 列出您的输入设备:

 # show all input devices xinput list 

你会得到这样的东西:

 $ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=11 [slave pointer (2)] ⎜ ↳ Evoluent VerticalMouse 4 id=12 [slave pointer (2)] 

我有一个Evoluent VerticalMouse。 您可以看到标识号为12:“id = 12”。

我可以测试我的鼠标:

 # show all input from device with identifier number 12 xinput test 12 

现在,当我移动鼠标或单击时,我在该终端输出,告诉我按下了什么按钮。 按Ctrlc结束测试。

如果您的后退/前进按钮未给出输出,请尝试使用set-button-map将按钮贴图重置为默认值。 请注意,我正在使用由xinput list输出的设备名称:

 xinput set-button-map "Evoluent VerticalMouse 4" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 

现在尝试用你的id运行xinput test 。 如果你在这里得到正确的按钮响应,那么你只需要找出你想要的映射并更新你的xorg.conf。 (我不知道该怎么做。)