1.在触摸装置上实现USB HID MOUSE功能的装置,其特征在于:包括用于分析计算触摸点的绝对坐标信息以及通过触摸点在触摸装置上停留的时间判别出鼠标状态的触摸检测MCU、用于与计算机进行交互通信并内置有HID设备描述符的主控芯片、USB接口模块;所述触摸检测MCU与主控芯片、USB接口模块依次连接;所述触摸检测MCU还与触摸装置相连接,主控芯片与计算机通信连接。
2.根据权利要求1所述的在触摸装置上实现USB HID MOUSE功能的装置,其特征在于:
所述USB接口模块内置于所述主控芯片中。
3.根据权利要求1所述的在触摸装置上实现USB HID MOUSE功能的装置,其特征在于:
所述USB接口模块独立于所述主控芯片,为分立的USB HID接口芯片。
4.利用权利要求1~3任一项所述的在触摸装置上实现USB HID MOUSE功能的装置实现USB HID MOUSE的方法,其特征在于,包括下述步骤:
(1)通过计算机内部通用驱动程序,读取主控芯片内的描述符,直接识别HID设备;
(2)通过物理坐标位置与逻辑坐标位置的对应转换关系,校准定位坐标;
(3)检测触摸装置中用户触摸点,通过触摸检测MCU取得触摸点的绝对位置坐标以及判别鼠标状态,并将触摸点的绝对位置坐标以及鼠标状态发送到主控芯片;
(4)计算机通过USB接口模块读取主控芯片中触摸点的绝对位置坐标以及鼠标状态,并执行相应操作命令。
5.根据权利要求4所述的在触摸装置上实现USB HID MOUSE功能的方法,其特征在于:
步骤(1)所述通过计算机内部通用驱动程序,读取主控芯片内的描述符,直接识别HID设备,具体包括以下步骤:
(1)插入设备,总线重置:HID设备上电后,计算机内部通用驱动程序以HID设备地址0开始运行,通过中断模式进行总线重置;
(2)USB设备枚举:计算机负责检测所有连接至根集线器的设备,辨别与设定一个USB设备的程序,称为设备枚举;计算机调用内部通用驱动程序,首先会送出SETUP封包,通过USB接口模块,读取主控芯片中默认地址0的 设备描述符、配置描述符、接口描述符、端点描述符、HID描述符以及报告描述符;其中,主控芯片中的固件程序按照HID设备类的规范编写;当收到描述符后,计算机指定新的USB地址给HID设备;从HID设备所返回的信息中,计算机得知HID设备所支持的数据端点的数量,完成设备枚举。
6.根据权利要求4所述的在触摸装置上实现USB HID MOUSE功能的方法,其特征在于:
步骤(2)所述校准定位坐标是指通过建立触摸装置上3、4或5个点的物理坐标位置与逻辑坐标位置的对应转换关系进行定位坐标的校准。
7.根据权利要求4所述的在触摸装置上实现USB HID MOUSE功能的方法,其特征在于:
步骤(3)所述判别鼠标状态的方法具体步骤如下:
a、通过设定一个中心位置偏移阈值,即若触摸点作用的中心位置偏移值少于设定的中心位置偏移阈值,则判断为同一位置的动作;若触摸点作用的中心位置偏移值大于设定的中心位置偏移阈值,则判断为不同位置的动作;
b、当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1秒时,判别为左键按下;
当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1—t2秒时,判别为右键按下;
当触摸装置检测到触摸点离开时,判别为按键弹起。
8.根据权利要求4所述的在触摸装置上实现USB HID MOUSE功能的方法,其特征在于:
步骤(4)所述的计算机通过USB接口模块读取主控芯片中触摸点的绝对位置坐标以及鼠标状态,并执行相应操作命令,具体内容如下:当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下左键,计算机系统将发送相应代码执行按下左键的操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下右键,计算机系统将发送相应代码执行按下右键操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按键弹起,计算机系统将发送相应代码执行按键弹起操作。
在触摸装置上实现USB HID MOUSE功能的装置及方法 \n技术领域\n[0001] 本发明涉及在触摸装置上的输入技术,具体涉及在触摸装置上实现USBHID MOUSE功能的装置及方法。 \n[0002] 背景技术\n[0003] USB接口具有如下优点:即插即用(Plug and Play)的特性,并具有自动检测的功能;可扩充到127个设备,支持热插拔,无需关闭系统电源;传输速率最高可达\n480Mbps(USB2.0协议支持480Mbps,USB1.1协议最大支持12Mbps),可满足大多数设备的传输使用需要。 \n[0004] 人机接口设备(HID,Human Interface Device)是一种不需要用户再开发驱动,插入windows操作系统就能使用的设备,所有的HID设备都是通过系统自带的HID设备类驱动(hidclass.sys)与应用程序建立联系,应用程序只需调用现有的应用层接口(HID API)就能访问HID设备。 \n[0005] 现有的触摸装置,需要自身编写复杂的驱动程序,才能实现触摸装置与上行主机的通信,同时需要考虑不同产品驱动程序的兼容问题。因此,使得触摸装置使用的灵活性、兼容性受到了很大的限制。 \n[0006] 发明内容\n[0007] 本发明的目的在于克服上述现有技术的缺点和不足,提供一种在触摸装置上实现USB HID MOUSE功能的装置,其可以实现设备用户无需安装驱动程序就可以直接使用,而且可以直接在各种定位装置上实现鼠标功能,使用更加方便、灵活,且兼容性更强。 [0008] 本发明的目的还在于提供由上述在触摸装置上实现USB HID MOUSE功能的装置实现USB HID MOUSE功能的方法。 \n[0009] 本发明目的通过下述技术方案实现:在触摸装置上实现USB HID MOUSE功能的装置,包括用于分析计算触摸点的绝对坐标信息以及通过触摸点在触摸装置上停留的时间判别出鼠标状态的触摸检测MCU(单片机)、用于与计算机进行交互通信并内置有HID设备描述符的主控芯片、USB接口模块;所述触摸检测MCU与主控芯片、USB接口模块依次连接;所述触摸检测MCU还与触摸装置相连接,主控芯片与计算机通信连接。 \n[0010] 所述USB接口模块可以内置于所述主控芯片中;也可以独立于所述主控芯片,为分立的USB HID接口芯片。 \n[0011] 利用上述在触摸装置上实现USB HID MOUSE功能的装置实现USB HIDMOUSE功能的方法,包括下述步骤: \n[0012] (1)通过计算机内部通用驱动程序,读取主控芯片内的描述符,直接识别HID设备; \n[0013] (2)通过物理坐标位置与逻辑坐标位置的对应转换关系,校准定位坐标; [0014] (3)检测触摸装置中用户触摸点,通过触摸检测MCU取得触摸点的绝对位置坐标以及判别鼠标状态,并将触摸点的绝对位置坐标以及鼠标状态发送到主控芯片; [0015] (4)计算机通过USB接口模块读取主控芯片中触摸点的绝对位置坐标以及鼠标状态,并执行相应操作命令。 \n[0016] 上述方法中,步骤(1)所述通过计算机内部通用驱动程序,读取主控芯片内的描述符,直接识别HID设备,具体包括以下步骤: \n[0017] (1)插入设备,总线重置:HID设备上电后,计算机内部通用驱动程序以HID设备地址0开始运行,通过中断模式进行总线重置; \n[0018] (2)USB设备枚举:计算机负责检测所有连接至根集线器的设备,辨别与设定一个USB设备的程序,称为设备枚举;计算机调用内部通用驱动程序,首先会送出SETUP封包,通过USB接口模块,读取主控芯片中默认地址0的设备描述符、配置描述符、接口描述符、端点描述符、HID描述符以及报告描述符;其中,主控芯片中的固件程序按照HID设备类的规范编写;当收到描述符后,计算机指定新的USB地址给HID设备;从HID设备所返回的信息中,主计算机得知HID设备所支持的数据端点的数量,完成设备枚举。 \n[0019] 上述方法中,步骤(2)所述校准定位坐标的方法通过建立触摸装置上3、4或5个点的物理坐标位置与逻辑坐标位置的对应转换关系进行定位坐标的校准。 [0020] 上述方法中,步骤(3)所述判别鼠标状态的方法具体内容如下: [0021] a、通过设定一个中心位置偏移阈值,即若触摸点作用的中心位置偏移值少于设定的中心位置偏移阈值,则判断为同一位置的动作;若触摸点作用的中心位置偏移值大于设定的中心位置偏移阈值,则判断为不同位置的动作; \n[0022] b、当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1秒时(t1是一个较短的时间段,具体时间长度可以由用户根据使用习惯进行调整),判别为左键按下; [0023] 当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1-t2秒时(t2是一个比t1长的时间段,具体时间长度可以由用户根据使用习惯进行调整),判别为右键按下; [0024] 当触摸装置检测到触摸点离开时,判别为按键弹起。 \n[0025] 上述方法中,步骤(4)所述的计算机通过USB接口模块读取主控芯片中触摸点的绝对位置坐标以及鼠标状态,并执行相应操作命令,具体内容如下:计算机在接收报告的时候,从报告中提取数据;由于报告中包含了各种类型的数据,为了便辨别不同类型的数据,HID类提供了HidP_GetXxx例程,从HID设备中读取不同类型的数据;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下左键,计算机系统将发送相应代码执行按下左键的操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下右键,计算机系统将发送相应代码执行按下右键操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按键弹起,计算机系统将发送相应代码执行按键弹起操作。 \n[0026] 本发明在触摸装置上实现USB HID MOUSE功能的装置相对于现有技术具有以下优点:本发明通过采用USB模块、内置有HID设备描述符的主控芯片,实现了设备用户无需安装驱动程序就可以直接使用;同时具有高速、即插即用、支持热插拔等特点,使得外设到计算机的连接更加高效、便利;可以直接在各种定位装置上实现鼠标功能,使用更加方便、灵活,且兼容性更强。 \n[0027] 附图说明\n[0028] 图1是本发明的结构示意图; \n[0029] 图2是本发明方法的流程框图; \n[0030] 图3是本发明方法中的校准定位坐标示意图。 \n[0031] 具体实施方式\n[0032] 下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施[0033] 方式不限于此。 \n[0034] 实施例 \n[0035] 图1所示为本发明的具体结构,本发明在触摸装置上实现USB HID MOUSE功能的装置,包括用于分析计算触摸点的绝对坐标信息以及通过触摸点在触摸装置上停留的时间判别出鼠标状态的触摸检测MCU、用于与计算机进行交互通信并内置有HID设备描述符的主控芯片、USB接口模块;所述触摸检测MCU与主控芯片、USB接口模块依次连接;所述触摸检测MCU还与触摸装置相连接,主控芯片与计算机通信连接。 \n[0036] 所述USB接口模块可以内置于所述主控芯片中;也可以独立于所述主控芯片,为分立的USB HID接口芯片。 \n[0037] 图1所示的触摸装置,其具体可以通过电阻、电容、表面超声、红外线、电磁感应等技术实现,根据具体应用或者需要的不同,可以选择不同的实现方式。 [0038] 利用上述在触摸装置上实现USB HID MOUSE功能的装置实现USB HIDMOUSE功能的方法,如图2所示,包括下述步骤: \n[0039] (1)通过计算机内部通用驱动程序,读取主控芯片内的描述符,直接识别HID设备; \n[0040] (2)通过物理坐标位置与逻辑坐标位置的对应转换关系,校准定位坐标; [0041] (3)检测触摸装置中用户触摸点,通过触摸检测MCU取得触摸点的绝对位置坐标以及判别鼠标状态,并将触摸点的绝对位置坐标以及鼠标状态发送到主控芯片; [0042] (4)计算机通过USB接口模块读取主控芯片中触摸点的绝对位置坐标以及鼠标状态,并执行相应操作命令。 \n[0043] 上述方法中,步骤(1)所述计算机识别HID设备,具体包括以下步骤: [0044] (1)插入设备,总线重置:HID设备上电后,计算机内部通用驱动程序程序以HID设备地址0开始运行,通过中断模式进行总线重置; \n[0045] (2)USB设备枚举:计算机负责检测所有连接至根集线器的设备,辨别与设定一个USB设备的程序,称为设备枚举。计算机调用内部通用驱动程序,首先会送出SETUP封包,通过USB接口模块,读取主控芯片中默认地址0的设备描述符、配置描述符、接口描述符、端点描述符、HID描述符以及报告描述符;其中,主控芯片中的固件程序必须按照HID设备类的规范编写;当收到描 述符后,计算机指定新的USB地址给HID设备;从HID设备所返回的信息中,计算机得知HID设备所支持的数据端点的数量等信息,完成设备枚举。 [0046] 其中,上述描述符中,定义HID设备接口描述符时,类别字段值必须设置为\n0X03(HID类别),使用的协议设置为0X02(鼠标)。 \n[0047] 上述方法中,步骤(2)所述校准定位坐标如图3所示,具体如下:本实施例通过建立触摸装置上O1、O2、O3、O4这4个点的物理坐标位置与逻辑坐标位置的对应转换关系进行定位坐标的校准。也可以根据不同的需求作出相应修改,例如:可以是建立5个点的物理坐标位置与逻辑坐标位置的对应转换关系进行定位坐标的校准或者3个点的物理坐标位置与逻辑坐标位置的对应转换关系进行定位坐标的校准等,其均不构成对本校准方法范围的限制。 \n[0048] 上述方法中,步骤(3)所述的触摸检测MCU取得的是触摸点的绝对位置坐标,即每次取得的触摸点位置坐标都是该时触摸点所处的位置坐标,而不是相对与前一时刻坐标位置的相对值;同时,判别鼠标状态时,通过设定一个中心位置偏移阈值,即若触摸点作用的中心位置偏移值少于设定的中心位置偏移阈值,则判断为同一位置的动作,若触摸点作用的中心位置偏移值大于设定的中心位置偏移阈值,则判断为不同位置的动作,这样可以避免因触摸目标微小的抖动产生的偏移引起误判;鼠标状态通过判断上述触摸点在触摸屏上停留时间长短来区分右键单击和左键单击,通过判断遮挡目标物是否在触摸屏上区分按键的按下和弹起;最后触摸检测MCU将触摸点绝对位置坐标以及鼠标状态发送到主控芯片。 [0049] 其中,所述鼠标状态通过判断上述触摸点在触摸屏上停留时间长短来区分右键单击和左键单击,通过判断遮挡目标物是否在触摸屏上区分按键的按下和弹起,该操作过程如图3所示,具体如下: \n[0050] 当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1秒时(t1是一个较短的时间段,具体时间长度可以由用户根据使用习惯进行调整),判别为左键按下; [0051] 当触摸装置检测到有触摸点在触摸屏一个区域范围内停留t1—t2秒时(t2是一个比t1长的时间段,具体时间长度可以由用户根据使用习惯进行调整),判别为右键按下; [0052] 当触摸装置检测到触摸点离开时,判别为按键弹起。 \n[0053] 上述方法中,步骤(4)所述的计算机通过USB接口模块读取主控芯片中触摸的绝对位置坐标以及鼠标状态,并执行相应操作命令,具体如下:计算机在接收报告的时候,从报告中提取数据;由于报告中包含了各种类型的数据,为了便辨别不同类型的数据,HID类提供了HidP_GetXxx例程,从HID设备中读取不同类型的数据;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下左键,计算机系统将发送相应代码执行按下左键的操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按下右键,计算机系统将发送相应代码执行按下右键操作;当计算机通过USB接口模块读取主控芯片中的鼠标状态为按键弹起,计算机系统将发送相应代码执行按键弹起操作。\n[0054] 本发明在触摸装置上实现USB HID MOUSE功能的方法,可以实现设备用户无需安装驱动程序就可以直接使用,可以直接在各种定位装置上实现鼠标功能,且具有高速、即插即用、支持热插拔等特点,使得使用更加方便、灵活、兼容性更强。 \n[0055] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
法律信息
- 2019-09-10
未缴年费专利权终止
IPC(主分类): G06F 3/033
专利号: ZL 200810198714.2
申请日: 2008.09.24
授权公告日: 2012.02.08
- 2017-06-13
专利权人的姓名或者名称、地址的变更
专利权人由广东威创视讯科技股份有限公司变更为威创集团股份有限公司
地址由510663 广东省广州市广州高新技术产业开发区彩频路6号变更为510670 广东省广州高新技术产业开发区科珠路233号
- 2012-02-08
- 2009-05-06
- 2009-03-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-01-17
|
2005-07-13
| | |
2
| |
2008-06-04
|
2006-11-17
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |