2013年1月4日

摘要: code char MouseReportDescriptor[175] = {0x05, 0x0d, // USAGE_PAGE (Digitizers)0x09, 0x04, // USAGE (Touch Screen)0xa1, 0x01, // COLLECTION (Application)0x85, 0x02, // REPORT_ID (Touch)0x09, 0x22, // USAGE (Finger)0xa1, 0x02, // COLLECTION (Logical)0x09, 0x42, // USAGE (Tip Switch)0x15, 0x00, // LOGI 阅读全文
posted @ 2013-01-04 14:50 nubia101 阅读(1746) 评论(1) 推荐(0) 编辑

2012年12月28日

摘要: 我的下位机模拟的是HID多点触控设备,向上位机发送一系列触摸点的信息后,看见鼠标的光标在画图板里移动,但是没有“划线”效果,开始是以为可能是发的速度太慢了,不连贯,所以只有独立的点,没有“划线”,但是不管怎么调试,都无法成功。后来经别人点拨,发现背后的真相:鼠标的焦点不在画图板里,把焦点移到画图板里,效果就出来了。 阅读全文
posted @ 2012-12-28 14:39 nubia101 阅读(341) 评论(0) 推荐(0) 编辑

2012年12月25日

摘要: 经本人验证,此两点触控报告描述符真实可用,钦此。0x05, 0x0d, // USAGE_PAGE (Digitizers)0x09, 0x04, // USAGE (Touch Screen)0xa1, 0x01, // COLLECTION (Application)0x85, 0x02, // REPORT_ID (Touch)0x09, 0x22, // USAGE (Finger)0xa1, 0x02, // COLLECTION (Logical)0x09, 0x42, // USAGE (Tip Switch)0x15, 0x00, // LOGICAL_MINIMUM (0)0 阅读全文
posted @ 2012-12-25 14:30 nubia101 阅读(3057) 评论(1) 推荐(0) 编辑
摘要: 原文地址:http://kxfzly.blogbus.com/logs/37133639.html热键分菜单热键、应用程序热键和系统级热键。一、菜单热键: 直接在菜单中包含 &X 即可,X是任意你想使用的字符键。 示例:About菜单项的Caption可以这么写:“&About”或者“关于(&A)”都表示用A来调用该菜单项,不区分大小写。二、应用程序热键:<1>非基于对话框的: 在Resource View的Accelerator中添加相应ID和按键即可。<2>基于模态对话框的: 参见微软知识库Q222829和Q100770。下面是翻译的Q222 阅读全文
posted @ 2012-12-25 13:48 nubia101 阅读(351) 评论(0) 推荐(0) 编辑

2012年12月19日

摘要: 最近在研究上位机与自定义的HID多点触控通信,刚开始,上位机向HID多点触控设备发送数据包,下位机收不到,bus hound里面也捕获不到数据。我就纳闷了。再怎么着,上位机程序没问题,应该可以发送数据到端口,至少bus hound里可以捕获到的啊。后来灵光一闪,在报告描述符里加了output项,使上位机的数据包显得“明正言顺”了点,这回下位机总可以收到数据包了吧,试了下还是没反应,然后就参照网上的例子认真对照,看哪一步出了问题,后来查出是Report ID没有赋值,Report ID 很重要,白皮书里面是这样描述的:当要将同一种报告分成数个部分,则每一个部分要给予一个识别值,这时就需用到卷标. 阅读全文
posted @ 2012-12-19 10:03 nubia101 阅读(525) 评论(0) 推荐(0) 编辑

2012年12月13日

摘要: 原文地址:http://hi.baidu.com/daoguchengshu/item/86b28b4d22442be7a4c0661f这里说的识别速度,主要是下载固件后两声“叮咚”的间隔。众所周知,插上USB后,PC会“叮咚”一声,然后设备管理器刷新,然后PC再“叮咚”一声,最终设备类型才会显示在设备管理器中,这时候USB设备才真正被识别到。这两声“叮咚”的间隔由什么决定呢?如何加快USB的识别速度?经过试验,在EZ USB的固件框架中,有一个EZUSB_Delay()函数,主要是这个函数内部延时在控制。EZUSB_Delay()函数会在主任务进程中被EZUSB_Discon()和EZUSB 阅读全文
posted @ 2012-12-13 10:24 nubia101 阅读(387) 评论(0) 推荐(0) 编辑

2012年11月27日

摘要: 原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_1933744.HTM有时候我们打开别人的KEIL程序时,会经常碰到can't execute 'c:\keil\c51\bin\c51.exe'的错误,今天到网上搜了一下,出现这样的错误人还不少,但没有找到解决方法。经过摸索,找到了解决对策:出错原因:被打开的KEIL程序的编译器安装在C盘,即c:\keil的路径下。而使用者的KEIL装在不同路径。针对这样的原因,就有两种解决方法:1、自己重建工程,把要打开的程序的文件拷贝过去,编译即可以通过,但这样做比较费事。2、打开出错的程序,选择 阅读全文
posted @ 2012-11-27 10:07 nubia101 阅读(2590) 评论(0) 推荐(0) 编辑

2012年11月23日

摘要: 1 code char MouseReportDescriptor[29] = { 2 0x06,0x00,0xFF, //USAGE_PAGE (Vendor Defined Page 1) 3 0x09,0x01, //USAGE (Vendor Usage 1) 4 0xA1,0x01, //COLLECTION (Application) 5 6 0x19,0x01, //(Vendor Usage 1) ... 阅读全文
posted @ 2012-11-23 17:02 nubia101 阅读(1801) 评论(0) 推荐(0) 编辑
摘要: (1)要学习HID,首先要了解USB的工作特点,包括设备枚举、数据传输特点、设备描述符的格式等,网上的百合电子工作室在这方面有很多资料,有本书《圈圈教你玩USB》也可以参考下,电脑圈圈有相关的论坛,大家有困惑可以求上墙。(2)学习HID类设备的报告描述符,这个是关键。报告描述符很灵活,其语法不同于标准USB描述符,初学者要完全弄懂它,需多花点功夫,手头必备资料:微软白皮书两篇:《device class definition for human interface device (HID)》, 《Universal Serial Bus HID Usage Tables》,这个是基础,很重要, 阅读全文
posted @ 2012-11-23 14:06 nubia101 阅读(6470) 评论(1) 推荐(0) 编辑

2012年11月16日

摘要: 最近在研究win7系统的多点触控问题,报告描述符什么的都写好了,在一个网页上看到http://topic.csdn.net/u/20110504/23/8f18af47-2261-4e78-9e73-8b0f3d46ba36.html系统枚举设备为触控设备后,会有如下反应,“在任务栏出现触摸图标,“我的电脑”系统 属性里面也会提示当前的触控设备是具有几个点的设备”,而本人电脑的系统属性里面“笔和触摸”一栏总是显示”触控输入可用于255点“,百思不得其解,难道win7系统是默认的255个点嘛,在网上搜罗了半天,明白默认的是”没有可用于此显示器的笔或触控输入”,在别人的电脑上验证了下,确实如此。后 阅读全文
posted @ 2012-11-16 11:02 nubia101 阅读(5383) 评论(0) 推荐(1) 编辑

导航