emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3141回复:10

触摸屏鼠标驱动开发成功,发文祝贺自己!

楼主#
更多 发布于:2004-11-12 16:15
断断续续搞了三个月的Onetouch ELO格式的触摸屏的驱动程序了,刚开始用管理程序自动查找新硬件,然后用手不能触摸屏幕,也能查得出来,可是得花费很长时间,并且有时候出来,有时候还查不出来,鼠标有时候也能动起来,只是参数好象不对,在屏幕四个角上来回跑。重新启动电脑就什么也动不了。我有一个想法就是既然与串口相关,为什么不用串口自己枚举出来而用系统自带的serenum呢,我试着把我的xuesermouse做成系统的serenum,也就是serial的上层upperfilter,确实能成,用串口助手就打不开串com1了,但鼠标就是不动。在驱网上看了看关于devcon确实管点用,我回来用devcon install xuesermouse.inf mouse就能安上一个鼠标但它还是不能动。我心想一定是鼠标mouclass没有挂接起来,但说实在的我还真不知道怎么挂接,我看了看有关msmouse.inf分析了其中的有关sereum的部分,我把sereum/PNP0F0c部分改为xuesereum/PNP0F0C,不能让它再安装相关的xuesermouse的服务,系统起来后鼠标还是不能动,应该修改sereum,我将sereum改为Xueserenum,修改它的枚举部分,让串口驱动一起来自动就枚举出一个鼠标来(是不是很神奇?),而这个鼠标就是我要的OneTouch公司ELO格式的鼠标!该整那个sermouse了,修改它的detect部分和通信格式部分,改名为xuesermouse后安装,摸一下触摸屏,你猜发生了什么?鼠标动了,重新启动电脑,在登录时鼠标也能动了,这让我开始激动不已,注意这里我只是说鼠标动了,但它的absolute坐标和screen坐标还没有对应上.我知道鼠标到了该点得准的时候了,我反复检查数据部分和反复学习DDK的帮助文件,后来查出我传给mouseclass的数据是不对的,有时候甚至是负数,是那个该死的ELO格式那个该<<8搞错了。到此为止,应该说可以了,但事实上远未结束:刚开始应该有校正,还要能读写注册表待下次使用,还要能有点击时BEEP,还要能设置DBCLickRange,DBClickTime,ClickOnTouch,ClickOnRelease,DragMode,MoveMode,还要能设置RightClick,这些都要能实时起作用,不能每次设置完后让用户重新启动机器,牵扯的面之多之广,让人目不遐接,时间紧任务急,有个人每周给你打电话要东西那是什么感觉,对付以上问题,我写了个filter,有兴趣可以继续参看

http://www.driverdevelop.com/forum/html_80519.html?1100245401

这里特别感谢中级会员KMK,新手上路kissfire,论坛大佬 AllenZh

有事联系:emugine@yahoo.com
你有好的想法吗? 来,我们一起驱动它!
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-12 16:20
祝贺你!
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
板凳#
发布于:2004-11-13 01:31
祝贺你!

给我们造个总结如何如何..... ??
emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-11-15 15:54

给我们造个总结如何如何..... ??  


我想我交工之日就是我造个总结之时,其实该写的都写得已经差不多了。我现在还存在一个“如何在 Kernel 下 Beep” 老兄当年解决过啊,我目前把他放在应用程序里beep但是极其不爽啊。希望能得到老兄指点啊
你有好的想法吗? 来,我们一起驱动它!
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
地下室#
发布于:2004-11-15 16:30
void  Beep(int Frequency)
{
LARGE_INTEGER liDelay = RtlConvertLongToLargeInteger(-800000);
 
  HalMakeBeep(Frequency);
  KeDelayExecutionThread(KernelMode,FALSE ,&liDelay );  
  HalMakeBeep(0);                       // Silence please :o)
}
emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-11-17 14:47
我想在每次处理数据(用户点击)后就BEEP,但处理数据在DISPATCH_LEVEL,而Callers of KeDelayExecutionThread must be running at IRQL = PASSIVE_LEVEL,另外我不知HalMakeBeep在哪一个级别上,想在DISPATCH_LEVEL里用一下,一怕BSOD二还不知HalMakeBeep(Frequency)是否一定要和KeDelayExecutionThread搭配使用才能beep一段时间,这种事情大虾如何处理?workitem能做这个吗?
你有好的想法吗? 来,我们一起驱动它!
ananda
驱动牛犊
驱动牛犊
  • 注册日期2003-12-12
  • 最后登录2006-09-01
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-11-17 15:09
我想在每次处理数据(用户点击)后就BEEP,但处理数据在DISPATCH_LEVEL,而Callers of KeDelayExecutionThread must be running at IRQL = PASSIVE_LEVEL,另外我不知HalMakeBeep在哪一个级别上,想在DISPATCH_LEVEL里用一下,一怕BSOD二还不知HalMakeBeep(Frequency)是否一定要和KeDelayExecutionThread搭配使用才能beep一段时间,这种事情大虾如何处理?workitem能做这个吗?
 

起个kernel thread好了,处理完数据发个event,thread就beep
一下,最后关掉kernel thread好了
emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-11-19 15:05
哥们说得对,已经在设备启动的时候就开启了一个thread只等数据处理完后的event,我并且在thread里加入了HalMakeBeep但编译不成功,我看了看它在那个ntddk.h里是这么定义的:
//
// System beep functions.
//
#if !defined(NO_LEGACY_DRIVERS)
NTHALAPI
BOOLEAN
HalMakeBeep(
    IN ULONG Frequency
    );
#endif // NO_LEGACY_DRIVERS
不知道这个HalMakeBeep怎么用,属于undocument的函数.我的开发环境是XPDDK,写的是WDM的driver.

[编辑 -  11/19/04 by  emugine]
你有好的想法吗? 来,我们一起驱动它!
s_6666_s_qd
驱动巨牛
驱动巨牛
  • 注册日期2004-08-14
  • 最后登录2006-07-11
  • 粉丝0
  • 关注0
  • 积分199分
  • 威望22点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-11-20 13:50
祝贺一下
forever_006
论坛版主
论坛版主
  • 注册日期2004-09-13
  • 最后登录2006-10-16
  • 粉丝0
  • 关注0
  • 积分707分
  • 威望64点
  • 贡献值14点
  • 好评度11点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-11-22 15:26
恭喜 ;)
[img]http://bbs.zndev.com/attachment/69_15728.jpg[/img] 我走过山山不说话 我走过海海不说话 我骑着白马 倚天剑伴我走天涯 都说我是爱上了杨大侠 才在峨嵋山上出了家 其实我是爱上了这满山云和霞 像极了十六岁那年的烟花
emugine
驱动牛犊
驱动牛犊
  • 注册日期2002-03-05
  • 最后登录2006-03-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-11-23 09:41
祝贺一下


恭喜 ;)


   有PPMM关注,让我喜极而泣....
你有好的想法吗? 来,我们一起驱动它!
游客

返回顶部