最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

鼠标编程通讯协议

IT圈 admin 20浏览 0评论

2024年5月16日发(作者:尚成业)

鼠标编程通讯协议

鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界面交互的必用外部设备。通常,鼠

标通过微机中的串口或PS/2鼠标插口与主机连接。当在平面上移动鼠标时,通过机械或光学的方法把鼠标滚轮移动的

距离和方向转换成脉冲信号传送给计算机,计算机鼠标驱动程序将脉冲个数转换成鼠标的水平方向和垂直方向的位移

量,从而控制显示屏上光标箭头随鼠标的移动而移动。根据此原理,我们可利用鼠标的上位机驱动程序来设计测控系统

中的编码器读取软件。

1 串行鼠标的原理及数据

协议

鼠标一般划分为以下功能

模块:微控制器、按键检测、

位置移动检测、RS232信号

产生、5V电源产生器。串行

鼠标的功能框图如图1所

示。

微软公司与Mouse System

公司的鼠标都采用串行输

入技术。微软公司的协议格

式为3个字节:第1字节的6、7位固定为1,4,5位分别为左右键状态,2、3位为上下移动数据的高6、7位,0、1

位为左右移动数据的高6、7位;第2、第3字节发送的都是左右上下的其余6位数据,其中Y表示上下、X表示左右移

动的数据位。Mouse System公司的协议格式为5个字节:1个字节用于描述3个按键的状态,2个字节为Y方向的相对

坐标,另外2个字节为X方向的相对坐标,具体协议如表1所列。由表1我们可以方便地制作鼠标。

表1 鼠标系统数据信息协议

数字位

字节1

字节2

字节3

字节4

字节5

Mouse System格式

7 6 5 4 3 2 1 0

1 0 0 0 0 L M R

X7 X6 X5 X4 X3 X2 X1 X0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

X7 X6 X5 X4 X3 X2 X1 X0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

L=左键状态 M=中键状态 R=右键状态 1=按下 0=释放

X7~X0=X轴(左右)运动数据 Y7~Y0=Y轴(上下)运动数据

Microsoft格式

7 6 5 4 3 2 1 0

1 1 L R Y7 Y6 X7 X6

0 0 X5 X4 X3 X2 X1 X0

0 0 Y5 Y4 Y3 Y2 Y1 Y0

鼠标编程通讯协议

数据格式

㈠ MicroSoft 公司标准:

MICROSOFT FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 1 1 L R Y7 Y6 X7 X6

BYTE2 0 0 X5 X4 X3 X2 X1 X0

BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。

---------------------------------------------------------------------

-----------

㈡ MOUSE SYSTEM 公司标准:

MOUSE SYSTEM FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 1 0 0 0 0 L M R

BYTE2 X7 X6 X5 X4 X3 X2 X1 X0

BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

BYTE4 X7 X6 X5 X4 X3 X2 X1 X0

BYTE5 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态

M = 中间键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。

---------------------------------------------------------------------

-----------

㈢ IBM 公司 PS/2 MOUSE 标准:

PS/2 MOUSE FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 YV XV YS XS 1 0 R L

BYTE2 X7 X6 X5 X4 X3 X2 X1 X0

BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

XS,YS = ±符号位 1--- 反向移动

XV,YV = 溢出位 1---- X Y 数据溢出

2024年5月16日发(作者:尚成业)

鼠标编程通讯协议

鼠标是一种快速定位器,通过移动鼠标可以快速定位屏幕上的对象,是计算机图形界面交互的必用外部设备。通常,鼠

标通过微机中的串口或PS/2鼠标插口与主机连接。当在平面上移动鼠标时,通过机械或光学的方法把鼠标滚轮移动的

距离和方向转换成脉冲信号传送给计算机,计算机鼠标驱动程序将脉冲个数转换成鼠标的水平方向和垂直方向的位移

量,从而控制显示屏上光标箭头随鼠标的移动而移动。根据此原理,我们可利用鼠标的上位机驱动程序来设计测控系统

中的编码器读取软件。

1 串行鼠标的原理及数据

协议

鼠标一般划分为以下功能

模块:微控制器、按键检测、

位置移动检测、RS232信号

产生、5V电源产生器。串行

鼠标的功能框图如图1所

示。

微软公司与Mouse System

公司的鼠标都采用串行输

入技术。微软公司的协议格

式为3个字节:第1字节的6、7位固定为1,4,5位分别为左右键状态,2、3位为上下移动数据的高6、7位,0、1

位为左右移动数据的高6、7位;第2、第3字节发送的都是左右上下的其余6位数据,其中Y表示上下、X表示左右移

动的数据位。Mouse System公司的协议格式为5个字节:1个字节用于描述3个按键的状态,2个字节为Y方向的相对

坐标,另外2个字节为X方向的相对坐标,具体协议如表1所列。由表1我们可以方便地制作鼠标。

表1 鼠标系统数据信息协议

数字位

字节1

字节2

字节3

字节4

字节5

Mouse System格式

7 6 5 4 3 2 1 0

1 0 0 0 0 L M R

X7 X6 X5 X4 X3 X2 X1 X0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

X7 X6 X5 X4 X3 X2 X1 X0

Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

L=左键状态 M=中键状态 R=右键状态 1=按下 0=释放

X7~X0=X轴(左右)运动数据 Y7~Y0=Y轴(上下)运动数据

Microsoft格式

7 6 5 4 3 2 1 0

1 1 L R Y7 Y6 X7 X6

0 0 X5 X4 X3 X2 X1 X0

0 0 Y5 Y4 Y3 Y2 Y1 Y0

鼠标编程通讯协议

数据格式

㈠ MicroSoft 公司标准:

MICROSOFT FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 1 1 L R Y7 Y6 X7 X6

BYTE2 0 0 X5 X4 X3 X2 X1 X0

BYTE3 0 0 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。

---------------------------------------------------------------------

-----------

㈡ MOUSE SYSTEM 公司标准:

MOUSE SYSTEM FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 1 0 0 0 0 L M R

BYTE2 X7 X6 X5 X4 X3 X2 X1 X0

BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

BYTE4 X7 X6 X5 X4 X3 X2 X1 X0

BYTE5 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态

M = 中间键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

串口特性:波特率 = 1200 Baud,8 位数据,无校验位,2 停止位。

---------------------------------------------------------------------

-----------

㈢ IBM 公司 PS/2 MOUSE 标准:

PS/2 MOUSE FORMAT

字节 字元(B i t)

7 6 5 4 3 2 1 0

BYTE1 YV XV YS XS 1 0 R L

BYTE2 X7 X6 X5 X4 X3 X2 X1 X0

BYTE3 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

注释:

L = 左键状态

R = 右键状态 1 = 按下 0 = 释放

X0-X7 = X 距离

Y0-Y7 = Y 距离 X7或Y7为±符号位

XS,YS = ±符号位 1--- 反向移动

XV,YV = 溢出位 1---- X Y 数据溢出

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论