如何控制鼠标的移动速度

lyingbo 2011-04-27 05:05:09
需求:

鼠标在鼠标垫上移动距离a,光标就在屏幕上移动距离b;
一般情况下,我们鼠标移动大概几个厘米,光标就可以跨越整个屏幕,就是说a很小的时候,b就是屏幕的宽度了;

现在我想通过程序去修改这个精度:
就是当鼠标移动的距离a很大的时候,甚至是10个或者20个屏幕宽度时,光标才从屏幕的左边移动到右边,
相当于b只是a的1/10,或者1/20;

我尝试过以下方法:

1、在控制面板中修改鼠标指针移动速度,把移动速度调到最小时,也只能到两个距离一比一,达不到我的要求

2、通过函数SystemParametersInfo来设置系统光标的移动速度,移动速度设为最小值1时,和上面的第1种方法效果一致


问题

1、网上搜到的采用过滤驱动的方法:由于没有做过驱动相关的东西,不知道这种方法是否可行?

2、如果过滤驱动的方法可行的话,怎么做?

谢谢您百忙之中浏览我的帖子,在此感激不尽。

QQ:342210738
希望得到您的帮助
...全文
248 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyingbo 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yamilo1 的回复:]
不知道灌水会不会被禁言或者封号什么的
[/Quote]


恭喜你,恶意灌水,账号已被查封
lyingbo 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yamilo1 的回复:]
不知道灌水会不会被禁言或者封号什么的
[/Quote]

谁让你灌水的啊~~~~给点有建设性意见不就是了吗~~~
Dou_H 2011-05-06
  • 打赏
  • 举报
回复
用一般方法是不实现的,微软的系统是人性化的,谁会要鼠标像你那样的,微软本身设的最低限度是1:1,并且微软不是开源的,我觉的是不可能实现的。
lyingbo 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 huntercao 的回复:]
引用 5 楼 q342210738 的回复:
谢谢你的建议,我正在看Filter的例子,想问你一下在Filter里面的什么函数里面可以设定这个鼠标的移动速度,是MouseClassServiceCallback么?


没有具体去写过。
1,你可以试图去修改Mouse 的Discriptor,更新其report descriptor定义。Report Descriptor中,有地方可以告……
[/Quote]

谢谢你了,我再看看资料
lyingbo 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 svtanto 的回复:]
你出钱,我来写
[/Quote]

做毕业设计用的~~~木有钱呢~~~希望前辈指导下了~~~告诉我下怎么实现啦~~~谢谢了
lyingbo 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huntercao 的回复:]
可以考虑将系统的鼠标驱动usbhid换成你自己的驱动;usbhid好像是鼠标用的HID minidriver,该驱动中处理READ_REPORT的Report信息告诉系统具体的鼠标移动信息。

当然Filter驱动也是可以的,需要通过Filter驱动捕捉鼠标的HID Report,并将Report信息更新。
[/Quote]

谢谢你的建议,我正在看Filter的例子,想问你一下在Filter里面的什么函数里面可以设定这个鼠标的移动速度,是MouseClassServiceCallback么?
曹大夯 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q342210738 的回复:]
谢谢你的建议,我正在看Filter的例子,想问你一下在Filter里面的什么函数里面可以设定这个鼠标的移动速度,是MouseClassServiceCallback么?
[/Quote]

没有具体去写过。
1,你可以试图去修改Mouse 的Discriptor,更新其report descriptor定义。Report Descriptor中,有地方可以告诉系统物理移动距离和系统中逻辑移动距离的匹配关系;
2,你看看在什么地方可以截取系统GET_REPORT IRP,在其完成例程中,将Report的内容修改掉。
曹大夯 2011-04-27
  • 打赏
  • 举报
回复
可以考虑将系统的鼠标驱动usbhid换成你自己的驱动;usbhid好像是鼠标用的HID minidriver,该驱动中处理READ_REPORT的Report信息告诉系统具体的鼠标移动信息。

当然Filter驱动也是可以的,需要通过Filter驱动捕捉鼠标的HID Report,并将Report信息更新。
svtanto 2011-04-27
  • 打赏
  • 举报
回复
你出钱,我来写
lyingbo 2011-04-27
  • 打赏
  • 举报
回复
驱动板块的同仁们帮帮忙啊,谢谢了

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧