03-鼠标控制

本章介绍鼠标类函数的用法。

源码路径

源码位于:03-mouse_test文件夹中.

本章小结

本章主要学习鼠标的控制函数。

1、如何控制鼠标左中右键按下松开。

2、如何控制鼠标移动。

3、如何屏蔽、解除屏蔽鼠标按键,坐标。

4、如何获取鼠标按键是否按下,移动多少?。

5、鼠标的调用速度测试(性能测试)。

熟练本章代码。即可轻松控制鼠标移动点击。

代码走读

本章代码有点多。如果要测试监控类函数。把对应的宏改成1.其他宏改成0.详细代码效果可以下载调试运行。

1745470255343

请多多调试。代码是调试出来的。不是看出来。

kmAI_monitor_mouse_left 监控鼠标左键

当鼠标左键按下后,该函数返回1。没有按下返回0。

kmAI_monitor_mouse_middle 监控鼠标中键

当鼠标中键按下后,该函数返回1。没有按下返回0。

kmAI_monitor_mouse_right 监控鼠标右键

当鼠标右键按下后,该函数返回1。没有按下返回0。

kmAI_monitor_mouse_side1 监控鼠标侧键1

当鼠标侧键1按下后,该函数返回1。没有按下返回0。

kmAI_monitor_mouse_side2 监控鼠标侧键2

当鼠标侧键2按下后,该函数返回1。没有按下返回0。

kmAI_monitor_mouse_xy 监控鼠标X,Y移动距离

输出两个参数:

kmAI_monitor_mouse_xy(&xx,&yy);

xx,yy中就会记录最近一次X和Y方向上移动的距离。

kmAI_monitor_mouse_wheel 监控鼠标滚轮移动距离

kmAI_monitor_mouse_wheel(&ww);

其中ww就包含最近一次滚轮移动的距离。

kmAI_mask_mouse_left 屏蔽鼠标左键

输入参数为1表示屏蔽鼠标左键。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_middle 屏蔽鼠标中键

输入参数为1表示屏蔽鼠标中键。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_right 屏蔽鼠标右键

输入参数为1表示屏蔽鼠标右键。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_side1 屏蔽鼠标侧键1

输入参数为1表示屏蔽鼠标侧键1。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_side2 屏蔽鼠标侧键2

输入参数为1表示屏蔽鼠标侧键2。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_x 屏蔽鼠标X轴方向移动

输入参数为1表示屏蔽鼠标X轴方向移动。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_y 屏蔽鼠标Y轴方向移动

输入参数为1表示屏蔽鼠标Y轴方向移动。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mask_mouse_xy 屏蔽鼠标XY轴方向移动

输入参数为1表示屏蔽鼠标X和Y轴方向移动。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

效果等效于kmAI_mask_mouse_x+kmAI_mask_mouse_y.

kmAI_mask_mouse_wheel 屏蔽鼠标滚轮移动

输入参数为1表示屏蔽鼠标滚轮移动。0表示不屏蔽。屏蔽后对应鼠标消息不再上传到OTG口。注意合理解除屏蔽。

kmAI_mouse_move(shortx,shorty) 控制鼠标相对移动

x:横向移动距离。

y:纵向移动距离。

kmAI_mouse_left(int isdown) 控制鼠标左键

isdown=0:鼠标左键松开。

isdown=1:鼠标左键按下。

kmAI_mouse_right(int isdown) 控制鼠标右键

isdown=0:鼠标右键松开。

isdown=1:鼠标右键按下。

kmAI_mouse_middle(int isdown) 控制鼠标中键

isdown=0:鼠标中键松开。

isdown=1:鼠标中键按下。

kmAI_mouse_wheel(int isdown) 控制鼠标滚轮

isdown=-1:鼠标滚轮上移动。

isdown=1:鼠标滚轮下移动。

kmAI_mouse_side1(int isdown) 控制鼠标侧键1

isdown=1:鼠标侧键1按下。

isdown=0:鼠标侧键1松开。

kmAI_mouse_side2(int isdown) 控制鼠标侧键2

isdown=1:鼠标侧键2按下。

isdown=0:鼠标侧键2松开。

kmAI_mouse_all 一次性控制鼠标所有数据

kmAI_mouse_all(intbutton,intx,inty,intwheel);//鼠标按键,坐标,滚轮一次性控制ok

输入参数依次为:鼠标按键状态。鼠标X坐标,鼠标Y坐标,鼠标滚轮状态。

运行结果

请自行测试。下图是测试16万次调用耗时。一共耗时40006ms。很明显6ms是系统开销。也就是40秒执行16万次调用。

1K回报率的鼠标(每秒1000次调用),16万次调用需要160秒。咱们需要40秒。如果屏蔽键盘端点操作。则可省一般带宽。

效率再提高一倍。

1745472524100

FAQ常见问题

如何退出程序

1、控制台直接按键盘ctr+c

2、按键盘End快捷键(切换到内部UI快捷键,以你设置的为准)