您的位置:首页 > 运维架构 > Linux

linux中如何使用微软鼠标的第4、5键

2010-06-09 16:29 441 查看
  不能否认微软确实也出了不少好东西呀,虽说使用 linux 人大都对微软没什么好感。比如微软鼠标( IE 系列) icon_smile.gif IE 2.0 和以上版本都有 5 个按钮,除了正常的左中右外,两侧还各有一个, window 中可用来支持浏览器的前进 / 后退功能很是方便。其实在 linux 中稍加配置也能完成同样的功能,为什么不呢?
  一)先解释一下 linux 中对鼠标按钮和滚轮的处置。
  滚轮被当作两个按钮来处理, linux 中。向上滚是一个1N6263W-7,向下滚是另一个1N6263。所以以 IE2.0 为例,一共有 7 个按钮:左中右三个,两侧各一个,加上滚轮两个。
  二)修改 X 配置
  因为我实验是 IBM 笔记本上进行的微软鼠标是第二个鼠标(别忘了笔记本自己还有一个呢)这种多于一个的情况有些复杂,首先我考虑你机器只有一个鼠标的情况。稍后再叙述。
  需要修改的配置文件 /etc/X11/XF86Config 或者 /etc/X11/XF86Config-4 如果两个都有就改第二个。
  一般是下面这样的 找到关于鼠标的一段。
  代码 :
  Section "InputDevice"
  Identifi "Mouse0"
  Driver "mouse"L6451013TR
  Option "Device" "/dev/mouse"
  Option "Protocol" "IMPS/2"
  Option "Emulate3Buttons" "no"
  Option "ZA xisMapping" "4 5"
  Option "Buttons" "5"
  EndSection
  也不用管它需要修改的其他字段,其中 Identifi 和 "Device" 字段各人的机器会不一样。修改后的配置如下:
  代码 :
  Section "InputDevice"
  Identifi "Mouse0"
  Driver "mouse"
  Option "Device" "/dev/mouse"
  Option "Protocol" "ExplorerPS/2"
  Option "Emulate3Buttons" "no"
  Option "ZA xisMapping" "6 7"
  Option "Buttons" "7"
  EndSectionL7915CT
  说明:
  这里改成微软鼠标的类型, Option "Device" 字段说明鼠标的类型。如果是其它型号的鼠标,比如逻技,只要型号代码填写正确也应可行。至于普通的 5 键鼠标,用 IMPS/2 行不行,没试过;
  计算方法前面说过了 Option "Buttons" 字段说明鼠标的按钮个数。
  这里也是比较有意的地方, Option "ZA xisMapping" 字段说明将滚轮映射成哪两个按键。无论你鼠标有几个按钮,正常的情况应该是 "4 5" 可是 X 只能认识最后的两个按钮为鼠标,所以必需改成 "6 7" 而造成的后果就是左右两侧的按钮成了滚轮,滚轮L7808CD2T-TR成了两侧的按钮,不过不要害怕,下面自有方法解决 icon_smile.gif
  三)重新启动 X
  配置修改好了重新启动 X 看看我效果。命令行下输入 xev 进行测试。
  分别按鼠标的各个按钮和上下滚动滚轮,窗口中应该出现 button 1, 把鼠标移到那个小窗口中。button 2, ... button 7 字样。注意:按下去时没有,必需释放才有,这是鼠标的工作原理,呵呵)
  如果你能看到 button 1 ... button 7 恭喜即将大功告成了
  现在还要解决滚轮和两侧按钮倒置的问题。命令行中L7808CD2T输入
  代码 :
  xmodmap -e "pointer = 1 2 3 6 7 4 5"
  找个支持 4 5 键的流览器来看看,将倒置的按钮顺序重新 “ 正 ” 过来!至此所有的设置完成。比方 Firefox
  linux 下面,怎么样。也能方便的前进 ” 后退 ” 吧。
  下面再谈谈其它问题。
  一)由于每次启动 X 后都需要手工执行 xmodmap -e "pointer = 1 2 3 6 7 4 5" 怎么才干自动执行呢?
  可考虑到使用的方便还是还是来写一点吧。 这个本不属于本文讨论的范围。
  将它写在 .bashrc 等文件中是没有用的有的系统 .xinitrc 或者 .xsession 也不行。似乎问题很复杂,由于这个命令必需在每次启动 X 后执行。不同的 linux 发型版本和桌面系统都不一样。
  以 RedHat 为例来说一下。
  比如叫 mouse.s 如果你使用 Gnome 这么做:自己的目录下建一个可执行脚本。h
  代码 :
  #!/usr/bin/bash
  xmodmap -e "pointer = 1 2 3 6 7 4 5"
  保管后别忘了 chmod +x mouse.sh
  进入 gnome 设置 - 其它设置 中找到 session 把 mouse.sh 加到启动顺序中即可。
  同样写上 如果你使用 KDE 自己的目录下建一个 .kdestart 文件。
  代码 :
  #!/usr/bin/bash
  xmodmap -e "pointer = 1 2 3 6 7 4 5"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: