The 3 Button Serial Mouse mini-HOWTO <author>Geoff Short, <htmlurl url="mailto:geoff@kipper.york.ac.uk" name="geoff@kipper.york.ac.uk"><newline> 小佑 <htmlurl url="mailto:banjamin@ms26.url.com.tw" name="banjamin@ms26.url.com.tw"> <date>v1.33, 31 May 1998 <abstract> 如何在linux下使用三键式滑鼠工作。 </abstract> <toc> <sect>不担保 <p> 这份文件基於善意提供给各位包括安全的设计与程序。如果因下列这些指令而直接或间接造成任何人或任何设备在任何方面的损失或损害,作者将不会负担任何责任。 <sect> 介绍 <p> 这份文件最新的版本可以在下列地方找到 <htmlurl url="http://kipper.york.ac.uk/mouse.html" name="http://kipper.york.ac.uk/mouse.html"><p> 这里有日文翻译 <htmlurl url="http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc" name="http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/3-Button-Mouse.euc">; 而法文的翻译在 <htmlurl url="http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html" name="http://www.freenix.fr/linux/HOWTO/mini/3-Button-Mouse.html">. 也可能存在有其他的翻译版本 - 请检查当地的 LDP 映射站台。<p> 大多数的 X 应用程式被写成假定使用者是以三键式滑鼠工作。在电脑上串列式滑鼠的使用是非常普遍的,而且它也是非常便宜就可以购买的。这些滑鼠中大多数都是三键式的,而且通常都使用微软通讯协定 (Microsoft protocol )。在这个理论下,他们在 X windows下设定滑鼠是他们的理想。 (纪录显示使用便宜的三键式滑鼠其一般的价格约为美金 $1.14!)<p> 大多数符合双重通讯协定 ( dual-protocol ) 的滑鼠是工作在这两种模式: <itemize> <item>双键 Microsoft 滑鼠。 <item>三键 MouseSystems 滑鼠 </itemize> 这份文件会引领你执行各种的步骤去设定你的滑鼠,好让他们在这两种不同的模式下工作,尤其是特别需要使用三键式滑鼠的人。 <p> 当发行版本变得较容易去设定,某些问题应该就可以迎刃而解。例如 RedHat 拥有一个名为 <tt>mouseconfig</tt> 的程式来为你设定这些东西。 然而 RH5.0 中的某些版本在 <tt>mouseconfig</tt> 中有些问题,所以请确定你完成这些修正。 <sect> 串列埠 <p> 第一件要作的事就是确定软体可以找到你的滑鼠。 找出你的滑鼠连接的串列埠 - 通常会是 <tt>/dev/ttyS0</tt> ( DOS 下的 COM1 ) 或 <tt>/dev/ttyS1</tt> ( COM2 )。 (<tt>ttyS0</tt> 通常是 9 pin 的接头, <tt>ttyS1</tt> 是 25 pin 的接头,但是这些并非是不可变更的定律。) 它也有一个相对应的编号在 <tt>/dev/cua</tt> 设备,它几乎与<tt>ttyS</tt>完全一样,但是现在请打消使用他们的念头。因为我们可以便利的建立一个新连结<tt>/dev/mouse</tt>指向这个埠。例如对 <tt>ttyS0</tt>: <tscreen> ln -s /dev/ttyS0 /dev/mouse </tscreen> <sect> 切换式滑鼠 <label id="switch"> <p> 某些滑鼠[通常都不太便宜]在底部有一个标示著 `2/3' 的切换开关。有时也许是标示 `PC/MS'。在这种情况 `2' 设备代表了两键式 Microsoft 滑鼠,而 `3' 是三键式 MouseSystems 滑鼠。而一些更复杂的滑鼠,它的切换开关上标示著 `PC/MS' 。你大概可以发现到 `MS' 设备代表著 Microsoft 滑鼠,而 `PC' 代表 MouseSystems 滑鼠。你也许可以在 ps/2 滑鼠上发现 `PC` 设备这样的叙述,但他同样可以作为 MouseSystems 滑鼠使用。如果你拥有像这样有切换开关的滑鼠,你可以藉由将切换开关切换至 `3' or `PC',在你的XConfigs下设定为 MouseSystems 滑鼠[参照文件接下来的部分],如此一来你的滑鼠应该可以完整无误的在三键状态下使用。 <p> <sect> 一般的滑鼠 <p> 如果你的滑鼠不具有任何切换开关,也没有任何电脑指令,那麽你可能需要经过一些小小的实验。实验的第一步就是假定你的滑鼠制造商告诉你的资讯是真的,你的滑鼠完全相容 Microsoft 滑鼠。在你的 Xconfig 下设定你的滑鼠为 Microsoft 滑鼠 ( 请参照 <htmlurl url="#config" name="Xconfig 的部分"> ),然後试著使用滑鼠看看。 <p> 如果你的滑鼠没有任何反应,那你的滑鼠可能不是相容於 Microsoft 滑鼠,或者有一些其他的问题。□试在 config 中使用其他的通讯协定,最好由 config 的主页 ( man page ) 开始看起。也看看下面 <htmlurl url="#misc" name="各种问题"> 这个部分。 <p> 当你在使用 X 的时候,你大概可以发现到你的滑鼠就算只有表面的两键也可以工作的很好。你当然可以接受这个事实,而且就算你使用双键式滑鼠也可以模拟第三键 ( 同时按下两键,近似按下中键这个动作 ) 。如果你想要这样,就必须像 <htmlurl url="#config" name="Xconfig □例"> 所显示般的改变你的 Xconfig 档案。这也许意味在你确定没有任何硬体升级的状况下,无缘无故的购买了一只三键式滑鼠。 所以现在来看看你的硬体。 <p> <sect> 切换滑鼠成为三键滑鼠 <p> 甚至便宜的滑鼠也可以像所有的三键式滑鼠一样的在 Mouse Systems 通讯协定下使用。这个诡计是为了想像它是一个 Mouse Systems 滑鼠,这些方法通常你很少在你的电脑指令中看到。 <itemize> <item>在你开始启动你的电脑之前,压下你的滑鼠左键 ( 保持压下的动作直到开机到安全状态 ( safe side ) )。 </itemize> 当滑鼠初次开启电源,如果左键是被押著的,它将会切换成 Mouse Systems 滑鼠。这是一个简单事实却不一定人人都知道。注意!你电脑软体重新启动可能不会切断滑鼠的电源而因此使得滑鼠不会有如上述一般切换。有很多其他的方法用来切换滑鼠,那些方法也许可以用在你那挑剔的滑鼠上,也许不行。比起重新启动你的电脑,也有两种或更多较为不激烈的方法可行! <itemize> <item>如果你的电脑是属於即插即用型,你可以拔开你的滑鼠,在压著滑鼠键的状态下把它接上你的电脑 ( 虽然你不应该在电脑运行的状态下接上任何设备,但 RS232 说明书表示那没关系 )。 <item>你也许可以藉由输入<tt>echo "*n" > /dev/mouse</tt>来重设你的滑鼠,它应该具有与拔开滑鼠同样的效果。压下左键把滑鼠切换为 Mouse Systems 滑鼠,而不是 Microsoft 滑鼠。无论你在哪一个命令稿 ( script ) 来启动你的 X,你应该都能利用上述方法才是。 <item>Bob Nichols (rnichols@interaccess.com) 写了一个 C 的小程式去完成相同的工作,当你采用 <tt>echo "*n"</tt> 这个方法失效 ( 反之亦然 )时, 你可以试试这个程式。你可以由下处 <htmlurl url="http://kipper.york.ac.uk/src/fix-mouse.c" name="http://kipper.york.ac.uk/src/fix-mouse.c"> 取得它的程式码。 <item>某些人说在 Xconfig 中加入 `ClearDTR' 这行,能够让他们的滑鼠切换成 Mouse Systems 滑鼠。 <item>如果你够勇敢,打开你的滑鼠[记得这将会使你的产品保证无效]检查内部。在某些情形,也许滑鼠会有切换开关在里面,因为某些奇怪的理由而只有制造商知道。更可能有些便宜的滑鼠有一个你可以切换的 jumper 。这些切换开关或 jumper 也许有像上述<ref id="switch" name=" 切换式滑鼠 "> 中`MS/PC' 切换开关一样的效果。你可以在电路板上找到切换 2 & 3 的设计,但是不一定是接合的。他们可能看来像: <tscreen><verb> ----------- | o | o | o | SW1 ----------- 1 2 3 </verb></tscreen> 试著连接 1-2 或 2-3 脚, 看看滑鼠的反应有没有什麽不同。如果有,你可以在两者间装一个小开关,或者将两者焊接起来,让这个问题一劳永逸。 <item>如果滑鼠完全不相容於 MouseSystems ,滑鼠还可以藉由焊接解决这个问题,这个方法出自 Peter Benie (<htmlurl url="mailto:pjb1008@chiark.chu.cam.ac.uk" name="pjb1008@chiark.chu.cam.ac.uk">). 如果中键的按钮是两极式,连接按钮的一边接脚到左键的按钮,另一个连到右边的按钮。如果滑鼠不是两极式的,那就用二极体取代接线。现在,中键就是左键和右键同时按下。在 XF86Config 中选择 <tt>ChordMiddle</tt> ,那你就可以利用中键的功能了。 <item>藉由焊接还有一个终极办法,我第一次从 Brian Craft (<htmlurl url="mailto:bcboy@pyramid.bio.brandeis.edu" name="bcboy@pyramid.bio.brandeis.edu">) 处得知。 两种滑鼠的公用标准晶片分别为 16 pin 的 <bf>Z8350</bf> 和 18 pin 的 <bf>HM8350A</bf>。这两中晶片中,接藉由一个 pin 来控制晶片的滑鼠模式,情况如下: <tscreen><verb> Pin 3 Mode ----- ---- 未接OPEN 预设为 Microsoft 滑鼠。如果通电时为 Mouse System 滑鼠。 接地GND 永远为 Mouse System 滑鼠。 通电VDD 永远为 Microsoft 滑鼠。 </verb></tscreen> ( Pin 号码如下:) <tscreen><verb> ____ pin1 -| \/ |- pin2 -| |- pin3 -| |- -| |- -| |- -| |- -| |- pin8 -|____|- </verb></tscreen> (这个方法是由 Hans-Christoph Wirth 和 Juergen Exner 两位所允诺公布的,他们精通於 de、comp、os、linux、硬体 ) 你可以将 pin 3 与接地 ( gnd ) 焊接起来,让滑鼠永远固定为 MouseSystems 滑鼠。 <p> <itemize> <item>Peter Fredriksson (<htmlurl url="mailto:peterf@lysator.liu.se" name="peterf@lysator.liu.se">) 曾经□试 SYSGRATION <bf>SYS2005</bf> 晶片,发现可以藉由连接 Pin 3 到接地,强迫滑鼠为Mouse System 滑鼠。 <item>Uli Drescher (<htmlurl url="mailto:ud@digi.ruhr.de" name="ud@digi.ruhr.de">) 确定此法可用於 <bf>HN8348A</bf> 晶片; Ben Ketcham (<htmlurl url="bketcham@anvilite.murkworks.net" name="bketcham@anvilite.murkworks.net">) 确定<bf>HM8348A</bf>可行 ( 将 Pin 9 接地)。 <item>Urban Widmark (<htmlurl url="mailto:ubbe@ts.umu.se" name="ubbe@ts.umu.se">) 表示同样的方法可应用在<bf>EC3567A1</bf> 晶片, 但是改将 Pin 8 接地。 我试过这样的改变是可行的,而且滑鼠使用上很正常。 <item>Timo T Metsala (<htmlurl url="mailto:metsala@cc.helsinki.fi" name="metsala@cc.helsinki.fi">) 发现在 <bf>HT6510A</bf> 晶片,pin 3 模式选择的接脚,pin 9 是接地。同样的方法也适用在<bf>HT6513A</bf> 晶片。 Holtek 也试过 <bf>HT6513B</bf> 和 <bf>HT6513F</bf> 晶片,不过 pin 8 才是接地。 <item>Robert Romanowski (<htmlurl url="mailto:robin@cs.tu-berlin.de" name="robin@cs.tu-berlin.de">) 表示 pin 3 接 pin 8 (接地) 在<bf>EM83701BP</bf> 晶片也可行。 <item>Robert Kaiser (<htmlurl url="mailto:rkaiser@sysgo.de" name="rkaiser@sysgo.de">) 确定将 pin 3 与接地相接的方法,在<bf>EC3576A1</bf> 晶片上也可行。 <item>Sean Cross (<htmlurl url="mailto:secross@whidbey.com" name="secross@whidbey.com">) 发现将 pin 2 与 pin 7 (接地) 相接,在 <bf>HM8370GP</bf> 晶片上可行。 <item>Peter Fox (<htmlurl url="fox@roestock.demon.co.uk" name="fox@roestock.demon.co.uk">) 改用 pin 3 接 pin 8 在 <bf>HM8348A</bf> 晶片。 <item>Jon Klein (<htmlurl url="jbklein@mindspring.com" name="jbklein@mindspring.com">) 发现 pin 3 接 pin 9 可以欺骗 <bf>UA5212S</bf> 晶片。 </itemize> <item>当你自上述两种焊接方法中选择其一,你可以在开机时按下滑鼠的按键来得到滑鼠:这电路图来自 <htmlurl url="mailto:mkatzer@TechFak.Uni-Bielefeld.DE" name="Mathias Katzer">. <tscreen><verb> ----- --- R ---------O------ + Supply | ----- | | C = 100nF capacitor | | E | R = 100kOhm | __ / | T = BC557 transistor | / \ O | B | #V | T / |-----|-# | / 滑鼠的左键 | | #\ | O | \__/ | --- \ C | --- C ------O----------> ( 接到滑鼠更深入的地方 ) | ### 接地 </verb></tscreen> 这个接受测试的滑鼠是一只无名的滑鼠,型号 MUS2S。不论在其他滑鼠上这个滑鼠的电路图都是可信赖的;如果按钮是与接地相连而不是接到 +Supply,而 NPN 电晶体( 例如 BC547 )将会作动,同时 R 及 C 将交换。 </itemize> <p> 所以当你你知道这些方法後,选择权在你。坚持预设的 Microsoft 双键滑鼠,或从解决如何切换滑鼠与设定 X 中获得益处。 <sect>滚轴式滑鼠 <label id="wheel"> <p> 滚轴式滑鼠是最近几年新出来的产品,起先由 Microsoft 智慧滑鼠 ( Intellimouse ) 开始,逐渐推广到其他的制造商。 滚轴式滑鼠可由按按键、滚动滚轴上下来操控。有更多更好的参考资讯在 <htmlurl url="http://www.inria.fr/koala/colas/mouse-wheel-scroll/" name="http://www.inria.fr/koala/colas/mouse-wheel-scroll/"> 那里会说明如何获得更多的 X 应用程式来辨认你的滚轮式滑鼠,好让它可以有卷动视窗的功能。 <p> 在大多数的情况下,你将会需要一个相当新的 Xserver 来作动卷动视窗这种功能。但是某些旧的 Xserver 也能辨识滚轴式滑鼠的按键讯号。例如智慧滑鼠就被 XFree 3.3.1 及之後的版本所支援。 <sect>使用 gpm 切换滑鼠 <label id="gpm"> <p> <tt>gpm</tt> 是一个能让你在控制台模式 ( console mode ) 下使用滑鼠的一个程式。它通常被包括在 linux 发行版本中,而且可以在文字模式及启动命令稿 <tt>/etc/rc.d/rc.local</tt> 的状态下启动。注意!发行版本中不一定会收录最新的版本[本文在写的时候是 1.13 版],新版本可以在映射站台 sunsite.unc.edu 中找到。 <p> 在 gpm 下串列滑鼠的主要模式如下: <tscreen><verb> gpm -t ms gpm -t msc gpm -t help </verb></tscreen> 针对 Microsoft 及 MouseSystems 滑鼠, 或探查你的滑鼠及回报给你所找到的。 在 MouseSystems 滑鼠时执行 gpm ,你也许需要 <tt>-3</tt> 这个旗标或者是 DTR 这个选项,使用 <tt>-o dtr</tt> 这个旗标: <p> <tscreen> gpm -3 -o dtr -t msc </tscreen> <tt>gpm</tt> 通常能辨识所有的三键式滑鼠,甚至是 Microsoft 滑鼠。更新的版本 ( Version 1.0 跟之後的版本(?) )甚至可以让其他的程式共享这个资讯。如果你需要这样,你必须在执行 gpm 时附加 -R ,方法如下: <tscreen> gpm -R -t ms </tscreen> 这将可以令 gpm 重新输出滑鼠资料成为一个新的设备,称为 <tt>/dev/gpmdata</tt>。这个设备看来可以让其他任何程式所利用。注意!上述方法建立的设备 <bf>永远</bf> 只能使用 MouseSystems 滑鼠通讯协定。你可以利用下面所说的方法,马上设定你的 Xconfig 使用这个设备取代原先的 <tt>/dev/mouse</tt> 。但是你必须永远在你使用 X 的时候执行 gpm。某些人指出当 X 在使用这个方法後,会造成没有正确辨识中键按钮的情形。这可能是个人滑鼠设定造成的问题。 <p> <bf>改变滑鼠在 gpm 及 X 中的按键映射 </bf> (<htmlurl url="mailto:gustafso@math.utah.edu" name="gustafso@math.utah.edu">)<p> <p>你也许会发现 gpm 与 X 间按键的映射其预设值不相同,所以当你在同一部电脑使用上述两种系统将会混淆你的电脑。让你的 X 在选择与贴上功能使用与 gpm 相同的按键,必须使用 X 指令: <tscreen> xmodmap -e "pointer = 1 3 2" </tscreen> 不论你使用的是二键或三键式滑鼠,上述的指令可以让左键代表选择右键代表贴上。如果强迫 gpm 使用 X 标准按键映射,则在启动 gpm 时输入 <tt>-B</tt> 指令,例如: <tscreen> gpm -t msc -B 132 </tscreen> <sect> 使用两个滑鼠 <p> 在某些情况,如笔记型电脑有内建的点取设备,你也许想使用串列式滑鼠为第二个设备。在大多数的情况下,内建设备使用 PS/2 通讯协定,而且如果你不想用它的话,可以将它忽略。只需如平常般利用 <tt>/dev/ttyS0</tt> 重新配置你的 gpm 或 X [或者其他的]。 <p> 在同一个机器上使用两者,你可以利用 <tt>gpm -M</tt> 去重新输出设备。更详细的记述在 gpm 主页。并且, XFree 3.3.1 及其以後的版本利用 XInput 机器来支援 muliple 输入设备。自动产生的 XF86Config 档案应该加入一些必须的注解在其中。 <p> <sect> XF86Config 与 Xconfig 档案□例 <label id="config"> <p> 设定档的位置依据你使用的版本或发行套件而有所不同。 可能是在 <tt>/etc/Xconfig, /etc/XF86Config</tt> 或 <tt>/usr/X11/lib/X11/XF86Config.</tt> 当你启动 X 时应该看一下 -- 它会显示在萤幕上。 这个语法在 XF86Config 及 Xconfig 两者档案间有些微不同,所以两种都列: <p><bf>Microsoft 串列滑鼠</bf></p> <p> <itemize> <item>XF86config: <tscreen><verb> Section "Pointer" Protocol "microsoft" Device "/dev/mouse" EndSection </verb></tscreen> <item>Xconfig: <tscreen><verb> # # 滑鼠的定义与有关的变数 # Microsoft "/dev/mouse" </verb></tscreen> </itemize> <p><bf>Microsoft 串列滑鼠与三键的模拟</bf></p> <p> <itemize> <item>XF86config: <tscreen><verb> Section "Pointer" Protocol "microsoft" Device "/dev/mouse" Emulate3Buttons EndSection </verb></tscreen> <item>Xconfig: <tscreen><verb> # # 滑鼠的定义与有关的变数 # Microsoft "/dev/mouse" Emulate3Buttons </verb></tscreen> </itemize> <p><bf>MouseSystems 三键串列式滑鼠</bf></p> <p> <itemize> <item>XF86config: <tscreen><verb> Section "Pointer" Protocol "mousesystems" Device "/dev/mouse" ClearDTR # 这两行或许是非必须的, ClearRTS # 试著没有第一行或只有 DTR EndSection </verb></tscreen> <item>Xconfig: <tscreen><verb> # # 滑鼠的定义与有关的变数 # MouseSystems "/dev/mouse" ClearDTR # 这两行或许是非必须的, ClearRTS # 试著没有第一行或只有 DTR </verb></tscreen> </itemize> <p><bf>Microsoft 串列滑鼠与 gpm -R</bf></p> <p> <itemize> <item>XF86config: <tscreen><verb> Section "Pointer" Protocol "MouseSystems" Device "/dev/gpmdata" EndSection </verb></tscreen> <item>Xconfig: <tscreen><verb> # # 滑鼠的定义与有关的变数 # MouseSystems "/dev/gpmdata" </verb></tscreen> </itemize> <sect> 电缆,延长与转接器 <p> 一个滑鼠转接器仅需一条如下所示的电缆: TxD 与 RxD 用作资料传输, RTS 及 / 或 DTR 用作电源与接地,转译成 pin 的编号为: <tscreen><verb> 9-pin port 25-pin port TxD 3 2 RxD 2 3 RTS 7 4 DTR 4 20 Gnd 5 7 </verb></tscreen> 上述的表格也许是有用的,如果你需要去安排一个转接器在 9 与 25 pin 接头之间,或延长电缆。 <p> <sect> 各种的问题及设定 <label id="misc"> <p> <itemize> <item> 如果你在 X 或控制台模式关於你的滑鼠有任何问题,检查你没有执行 getty 在串列埠线上,或任何 像数据机这类的东西。并且确定 IRQ 的相冲与否。 <item> 当在载入 X windows 时,你有可能需要去按著左键。因为当 X 启动时,某些系统需要送出某种类 的信号或使滑鼠失效 <item> 串列设备的问题也许起因於串列埠在启动时并未设定初值。这可藉由 <tt>setserial</tt> 指令来做,执行启动命令稿的 <tt>/etc/rc.d/rc.serial</tt>。检查<tt>setserial</tt>这个主页,另从 Serial-HOWTO 获得更多的细节。它也许值得一些小小类型的实验,例如试著将<tt>setserial /dev/mouse uart 16550</tt> 或 <tt>16550a</tt>有关於你实际拥有埠的问题不顾(例如,滑鼠并不相似 16c550AF)。 <item> <tt>ClearDTR</tt> 旗标并不能正常运作在某些系统,除非你利用如下的命令关掉 RTS/CTS handshaking <tscreen>stty -crtscts < /dev/mouse</tscreen> (测试平台为 UART 16450/Pentium 由 Vladimir Geogjaev <htmlurl url="mailto:geogjaev@wave.sio.rssi.ru" name="geogjaev@wave.sio.rssi.ru">) <item>Logitech 滑鼠也许需要加入一行 <tt>ChordMiddle</tt> 去让三键式滑鼠中的中键能作用。用这一行在 config 中替代<tt>Emulate3Buttons</tt> 或加入在 <tt>/dev/mouse</tt> 这行之後。你也许需要 <tt>ClearDTR</tt> 与 <tt>ClearRTS</tt> 这些行在你的 Xconfig。某些 Logitech 滑鼠绝对不需要 <tt>ChordMiddle</tt> 这行 —— 关於这个问题的一种症状是选单似乎随著滑鼠移动,替代了卷轴向下的作用。 (出自 <htmlurl url="mailto:chang@platform.com" name="chang@platform.com">) <item>交换按键:使用 <tt>xmodmap</tt> 指令去改变每个按键按下的自然按键设定。例:<tt> xmodmap -e "pointer = 3 2 1" </tt> 将会完全改成惯用左手模式。如果你采用两键式滑鼠,那只需要列出 1 和 2 。 <item>加速:使用 <tt>xset m</tt> 命令去改变滑鼠的设定。例:<tt>xset m 2 </tt> 将设定加速为 2 。注意主页中所有有关的详细叙述。 <item>指标偏移:如果按下时滑鼠的指标出现左右晃动的情形,这意味著你的萤幕没有被定位。这个问题一般出现在 S3 的设备上,你可以利用 xvidtune 来固定它。试著 <tt>Invert_VCLK/InvertVCLK, 或 EarlySC.</tt> 这个讯息出自 Bill Lavender (<htmlurl url="mailto:lavender@MCS.COM" name="lavender@MCS.COM">) 及 Simon Hargrave。 在 XF86Config 中,它也许看来像这样:<p> <tscreen><verb> Subsection "Display" Modes "1024x768" "800x600" "640x480" "1280x1024" Invert_VCLK "*" 1 ... </verb></tscreen> <item>如果你有一个"跳跃"的滑鼠键[例如你想要点一下,它却点两下],这也许是你的滑鼠有问题了。这个 Logitech 滑鼠的问题被 Bob Nichols (<htmlurl url="mailto:rnichols@interaccess.com" name="rnichols@interaccess.com">)解决了。包括焊接某些滑鼠中的电阻与晶片来消除微小位移的弹跳现象。 <item>如果某些使用者不能用滑鼠,但在某些[例如 root ]可以。那也许是使用者并没有执行正好相同的东西 —— 例如不同版本的 X 或不同的 Xconfig 。检查 X 启动讯息,仔细的去确认。 <item>如果你发现滑鼠指标会抹去□萤幕上的东西,你的伺服器 config 可能有问题了。试著增加选项<tt>linear</tt> 或者是 <tt>nolinear</tt> 到你的绘图卡部分。或者如果是 PCI 主机板,则选项为 <tt>tgui_pci_write_off</tt> 及 <tt>tgui_pci_read_off</tt>。 (这似乎是 Trident 卡的问题) <item>如果滑鼠游标并未显示在萤幕上,但是它似乎能使用。试试在 config 档案中设备部分的选项 <tt>"sw_cursor"</tt> 。 <item>如果你的滑鼠当它在闪烁时或在你打开电源时会停止工作。造成这种情况也许是因为感测器 ( sensor ) 被光所淹没。你能够试著在较暗的室内,或将一些卡放於顶上。 <item>Microsoft 商标滑鼠通常是问题的主因。最新的 ``Microsoft 串列滑鼠 2.1A'' 显示,在很多的系统上并不能使用,虽然拔起再重插一次可能会有助於此一情况。<tt>gpm</tt> 版本 1.13 以及其後的版本,应该也支援 2.1A 滑鼠,当你使用 <tt>pnp</tt> 滑鼠模式时。 (参照 <htmlurl url="#gpm" name="gpm section"> 中 how to 重新输出这个项目。) ``Microsoft Intellimouse'' 也会引起问题,虽然它目前应该能被 XFree 版本3.3及 以後的版本所支援。 </itemize> <sect> 样品测试 <p> 市面上有太多不同的滑鼠存在,我不能断言说这会故障,买那种比较好。我只能基於我的经验与传言将我想能用的滑鼠列表。甚至对於这份资讯你都必须抱著一丝怀疑 —— 我们有两个相同的滑鼠在我们办公室内的两台电脑上使用,某些使用情况下两者不会完全相同! 欢迎增加这份列表。 <p> <bf>Mouse Systems optical mouse, serial version</bf><newline> 工作状态良好[就像你从名字上预期的],没有 ClearDTR 或 ClearRTS 在 config 中。 <newline><bf>WiN mouse, as sold by Office World for eight quid.</bf><newline> 标准 Microsoft/MouseSystems 双重滑鼠 <newline><bf>Agiler Mouse 2900</bf><newline> 标准 Microsoft/MouseSystems 双重滑鼠。 SYSGRATION SYS2005 晶片是可焊接的 <newline><bf>Sicos mouse,</bf><newline> 工作状态不错,需要 ClearDTR & Clear RTS 在 config 中 <newline><bf>Index sell a mouse for 10 quid,</bf><newline> 不能在三键滑鼠状态下使用,但它拥有良好的程式 :-) <newline><bf>Artec mouse</bf><newline> 一般的双重通讯协定滑鼠,需要 `ClearDTR' 设定在 config 中,非 `ClearRTS' <newline><bf>DynaPoint 3 button serial mouse.</bf><newline> 一般的双重通讯协定滑鼠,需要 `ClearDTR' 与 `ClearRTS' 在 Xconfig 中 <newline><bf>Genius Easymouse 3 button mouse</bf><newline> 於 Mouseman 通讯协定下工作状态良好除了 ChordMiddle 变数设定。 出自 Roderick Johnstone (<htmlurl url="mailto:rmj@ast.cam.ac.uk" name="rmj@ast.cam.ac.uk">) <newline><bf>Truemouse, made in Taiwan</bf><newline> 可以使用,需要 `ClearDTR' 在 config中 ( 出自 <htmlurl url="http://ccn.cs.dal.ca/˜ae721/Profile.html" name="Tim MacEachern">) <newline><bf>Champ brand mouse</bf><newline> 需要切换为PC 滑鼠,它也能使用在 MouseSystems 通讯协定 ( 来自 tnugent@gucis.cit.gu.edu.au) <newline><bf>MicroSpeed mouse</bf><newline> 一般的双重通讯协定滑鼠 <newline><bf>Venus brand ($7)</bf><newline> 在内部拥有一个 jumper 用来切换为二键或三键滑鼠 (出自 <htmlurl url="mailto:mhoward@mth.com" name="mhoward@mth.com ">) <newline><bf>Saturn</bf><newline> 切换滑鼠後,变成三键状态的 MouseSystems 滑鼠其工作情况良好 (出自 <htmlurl url="mailto:grant@oj.rsmas.miami.edu" name="grant@oj.rsmas.miami.edu ">.) <newline><bf>Manhattan mouse.</bf><newline> 切换於 `MS AM' / `PC AT' 滑鼠间,MS 选项可良好工作於 <tt>gpm -R</tt> 方式 (出自 <htmlurl url="mailto:komanec@umel.fee.vutbr.cz" name="komanec@umel.fee.vutbr.cz">). <newline><bf>Inland mouse.</bf><newline> 切换於 `PC/MS' 滑鼠间,工作状态良好 (出自 <htmlurl url="http://ptsg.eecs.berkeley.edu/˜venkates/" name="http://ptsg.eecs.berkeley.edu/˜venkates">). <newline><bf>qMouse (3-button), FCC ID E6qmouse X31.</bf><newline> 在美国的贩卖价为 $10。作业在 `gpm -t msc -r 20'。 没有 jumpers 或开关切换为 MouseSystems 三键滑鼠,在 X 下使用并不可靠。 对於 <tt>echo "*n" > /dev/mouse</tt> 没有任何回应 <newline><bf>Mitsumi Mouse (2-button), FCC ID EW4ECM-S3101.</bf><newline> 在美国的贩卖价为 $12。 在 X 与 gpm 之下均值得信赖,流畅的双重键( double-button) (这两款出自 <htmlurl url="mailto:gustafso@math.utah.edu" name="gustafso@math.utah.edu">) <newline><bf>PC Accessories mouse that i got from CompUSA for under $10.</bf><newline> 有 PC/MS 开关在底部,可用 (出自 <htmlurl url="mailto:steveb@communique.net" name="steveb@communique.net">) <newline><bf>First Mouse - seriously cheap at 7.79 pounds at Tempo.</bf><newline> Microsoft/MouseSystems 双重滑鼠,滑鼠的设定藉由在启动时按著按键,没有开关,没有连结( links )。四线连接,echo '*n' 不能使用, `gpm -R' works a treat. (出自 <htmlurl url="mailto:peterk@henhouse.demon.co.uk" name="peterk@henhouse.demon.co.uk">) <newline><bf>Trust 3-button mouse.</bf><newline> 藉由开关切换双重滑鼠,可在 `PC' 选项下成为 MouseSystems 滑鼠而使用。gpm 不喜欢这款的 Microsoft 滑鼠 <newline><bf>Chic 410</bf><newline> 当保持在 MS 选项与使用 gpm - R 控制可完美无暇的使用。 出自 Stephen M. Weiss (<htmlurl url="mailto:steve@esc.ie.lehigh.edu" name="steve@esc.ie.lehigh.edu">) <newline><bf>KeyMouse 3-button mouse.</bf><newline> 可使用於 ClearDTR 与 ClearRTS 在 Xconfig 的情况; 需要在 gpm 使用 `-o dtr'。 ( 出自 <htmlurl url="mailto:EZ4PHIL@aol.com" name="EZ4PHIL@aol.com">) <newline><bf>Qtronix keyboard `Scorpio 60'</bf><newline> 所有的三键在 MouseSystems 通讯协定下皆可使用 (出自 <htmlurl url="mailto:hwe@uebemc.siemens.de" name="hwe@uebemc.siemens.de">) <newline><bf>Tecra 720 laptop</bf><newline> 滑动点 ( glidepoint ) 在 /dev/cua0; 插入 (stick) 在 /dev/psaux。 ( 出自 <htmlurl url="mailto:apollo@anl.gov" name="apollo@anl.gov">) <newline><bf>Anubis mouse</bf><newline> 工作良好,每当切换为 X 虚拟控制台(virtual console) 需要按著左键。 (From <htmlurl url="mailto:Joel.Crisp@bristol.ac.uk" name="Joel Crisp">) <newline><bf>Yakumo No.1900 mouse</bf><newline> 藉由 <tt>gpm -R -t ms</tt> 输出到 X 来使用。 ( 出自<htmlurl url="mailto:flinx.nbg.sub.org!oli@flinx.nbg.sub.org" name="Oliver Schwank">) <newline><bf>Genius `Easy Trak' Trackball</bf><newline> 是 <bf>非</bf> Microsoft 相容,使用 <tt>Mouseman</tt> 在 Xconfig 中 ,如此它可以良好的使用。(出自 <htmlurl url="mailto:VTanger@aol.com" name="VTanger@aol.com">.) <newline><bf>Highscreen Mouse Pro</bf><newline> `工作良好' 出自 <htmlurl url="mailto:alfonso@univaq.it" name="alfonso@univaq.it">. <newline><bf>Logitech CA series</bf><newline> 使用在 X 时,利用 MMseries 通讯协定,在 2400 Baud, 150 样品抽取率。 (应该也能应用在 Logitech CC, CE, C7 & C9 mice). (出自 <htmlurl url="mailto:vkochend@nyx.net" name="vkochend@nyx.net">.) <newline><bf>A4-Tech mouse</bf><newline> 可以使用,需要将 <tt>DTR</tt> 这一行加入 X 及 gpm。 (出自 <htmlurl url="mailto:deane@gooroos.com" name="deane@gooroos.com">) <newline><bf>Vertech mouse</bf><newline> 标准的 Microsoft/Mousesystems 滑鼠反应,可以透过焊接固定。 (出自 <htmlurl url="mailto:duncan@fs3.ph.man.ac.uk" name="duncan@fs3.ph.man.ac.uk">.) <newline><bf>Boeder M-7 ``Bit Star'' (and other M series apart from M13)</bf><newline> 切换成 Mousesystems 通讯协定藉由在开启电源时按下任一按键。 (出自 <htmlurl url="mailto:sjt@tappin.force9.co.uk" name="mailto:sjt@tappin.force9.co.uk">.) <newline><bf>Mouse Systems ``Scroll'' Mouse (four buttons and a roller/button)</bf><newline> 拥有 2/3 选项 - 在状态为 3 函数的情况下为三键 MouseSystems 滑鼠,并且忽略特别的额外按键与滚 轴。不需要使用 <tt>ClearRTS/DTR</tt>。 (出自 <htmlurl url="mailto:parker1@airmail.net" name="parker1@airmail.net">.) <newline><bf>Radio Shack 3-button Serial Mouse</bf><newline> 样品 26-8432, available in Tandy for about 20 quid. 使用在 Mousesystems 协同 ClearDTR。 (出自 <htmlurl url="mailto:Sherilyn@sidaway.demon.co.uk" name="Sherilyn@sidaway.demon.co.uk">.) <newline><bf>Dexxa serial mouse</bf><newline> 工作状况良好,当在 Xconfig 中利用 Microsoft 通讯协定时, 没有 ChordMiddle 或 任何需求。 (出自 <htmlurl url="mailto:slevy@ncsa.uiuc.edu" name="mailto:slevy@ncsa.uiuc.edu">.) <newline><bf>Belkin 3 button mouse</bf><newline> 当购买自 Sears (\$10),当它在 PC 选项时,在 gpm 下需要 <tt>-o rts</tt> (在 X 下大概需要 <tt>ClearRTS</tt> )。 (出自 <htmlurl url="mailto:mmicek@csz.com" name="mailto:mmicek@csz.com">.) </p> <sect> 更多的资讯 <p> <itemize> <item>Mouse Systems 的网站在 <htmlurl url="http://www.mousesystems.com/" name="http://www.mousesystems.com/">. 如果你需要视窗驱动程式,在他们那有。 <item>有关 linux 串列埠的 HOWTO 的有用资讯,可由世界各地的映射站台获得。如果你不知道距你最近的映射站台。可由下处开始: <htmlurl url="http://sunsite.unc.edu/mdw/linux.html" name="http://sunsite.unc.edu/mdw/linux.html"> <item>关於滑鼠如何工作,这里有非常好的说明: <htmlurl url="http://www.4QD.co.uk/faq/meece.html" name="http://www.4QD.co.uk/faq/meece.html">. <item>有关 Xconfig 及 XF86Config 档案更多的细节及在这份文件中像 Xfree86 HOWTO 这类有关如何安装 X windows 的资料可由有关的主页找到。有关 XFree86 FAQ 也在下列的映射站台: <htmlurl url="http://www.XFree86.org/" name="http://www.XFree86.org/">. <item>有关 gpm 的资讯可在这主页找到,也可试试Darin Ernst 的网页於: <htmlurl url="http://www.castle.net/X-notebook/mouse.txt" name="http://www.castle.net/X-notebook/mouse.txt">. <item>许多的滑鼠软硬体资讯於此可发现: <htmlurl url="http://www.hut.fi/Misc/Electronics/pc/interface.html#mouse" name="http://www.hut.fi/Misc/Electronics/pc/interface.html#mouse"> </itemize> <sect> 滑鼠後记 <p> 这份文件的大多数资讯收集自不同的 linux 新闻群组。对於每位藉著此途径帮助这份文件,但我无法一一列出的人们,我感到非常抱歉;非常感谢你们。 <p> 所以,总结以上: <itemize> <item>甚至普通的三键式 Microsoft 滑鼠都可以使用。 <item>配置你 X 的副本来期盼获得一个 Mouse Systems 滑鼠。 <item>在开启电源时压著左键切换成 MouseSystems 滑鼠。 <item>你也许须要在起动 X 的时候压著左键。 <item>滑鼠远比你想像的聪明。 </itemize> </article>