文件

/dev/mouse
指向鼠标设备的常用符号链接。

CONFIGURATION

串行鼠标已连接至串行RS232 / V24拨出线,有关说明,请参见ttyS(4)。

MOUSE - Linux手册页

Linux程序员手册 第4部分
更新日期: 2020-08-13

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

另外参见

ttyS(4),gpm(8)

说明

Introduction

用于串行鼠标的常规9针插头的引脚排列为:

pinnameused for
2RXData
3TX-12 V, Imax = 10 mA
4DTR+12 V, Imax = 10 mA
7RTS+12 V, Imax = 10 mA
5GNDGround

这是规格,实际上大多数小鼠9 V就足够了。

鼠标驱动器可以通过将RTS降低至较低位置并再次升高来识别鼠标。大约14毫秒后,鼠标将在数据线上发送0x4D(aqMaq)。再过63毫秒后,Microsoft兼容的3键鼠标将发送0x33(aq3aq)。

鼠标的相对移动以dx(正数表示向右)和dy(正数表示向下)发送。各种鼠标可以以不同的速度运行。要选择速度,请在速度9600、4800、2400和1200 bit / s之间循环,每次写入下表中的两个字符并等待0.1秒。下表显示了可用速度和选择速度的字符串:

bit/sstring
9600*q
4800*p
2400*o
1200*n

数据包的第一个字节可用于同步目的。

Microsoft protocol

Microsoft协议以1200位/秒的速度使用1个起始位,7个数据位,无奇偶校验和一个停止位。数据以3字节数据包的形式发送到RxD。 dx和dy运动以二进制补码发送,当按下左(右)按钮时设置lb(rb):

byted6d5d4d3d2d1d0
11lbrbdy7dy6dx7dx6
20dx5dx4dx3dx2dx1dx0
30dy5dy4dy3dy2dy1dy0

3-button Microsoft protocol

原始的Microsoft鼠标只有两个按钮。但是,有一些三个按钮鼠标也使用Microsoft协议。通过发送零移动且没有按下按钮的数据包来报告按下或释放中间按钮。 (因此,与其他两个按钮不同,没有在每个数据包中报告中间按钮的状态。)

Logitech protocol

Logitech串行三键鼠标使用了Microsoft协议的另一种扩展:中间键按下时,将发送上述3字节数据包。当中间按钮按下时,将发送一个4字节的数据包,其中第4个字节的值为0x20(或至少设置了0x20位)。特别是,当没有其他按钮按下时,按中间按钮的报告为0,0,0,0x20。

Mousesystems protocol

Mousesystems协议以1200位/秒的速度使用1个起始位,8个数据位,无奇偶校验和两个停止位。数据以5字节数据包的形式发送到RxD。 dx作为两个2的补码值之和发送,dy作为两个2的补码值之和发送。按下左(中,右)按钮时,lb(mb,rb)被清除:

byted7d6d5d4d3d2d1d0
110000lbmbrb
20dxa6dxa5dxa4dxa3dxa2dxa1dxa0
30dya6dya5dya4dya3dya2dya1dya0
40dxb6dxb5dxb4dxb3dxb2dxb1dxb0
50dyb6dyb5dyb4dyb3dyb2dyb1dyb0

字节4和5描述了自字节2和3被传输以来发生的变化。

Sun protocol

Sun协议是上述5字节Mousesystems协议的3字节版本:不发送最后两个字节。

MM protocol

MM协议以1200位/秒的速度使用1个起始位,8个数据位,奇数奇偶校验和一个停止位。数据以3字节数据包的形式发送到RxD。 dx和dy作为单个带符号的值发送,符号位指示负值。按下左(中,右)按钮时设置lb(mb,rb):

byted7d6d5d4d3d2d1d0
1100dxsdyslbmbrb
20dx6dx5dx4dx3dx2dx1dx0
30dy6dy5dy4dy3dy2dy1dy0

名称

鼠标-串行鼠标接口

日期:2019-08-20 18:01:46 来源:oir作者:oir