CN109491568A - 鼠标事件处理方法、装置、设备及计算机可读存储介质 - Google Patents
鼠标事件处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109491568A CN109491568A CN201811623831.9A CN201811623831A CN109491568A CN 109491568 A CN109491568 A CN 109491568A CN 201811623831 A CN201811623831 A CN 201811623831A CN 109491568 A CN109491568 A CN 109491568A
- Authority
- CN
- China
- Prior art keywords
- event
- coordinate
- mouse
- coordinates
- mouse event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
Abstract
本发明公开了一种鼠标事件处理方法,基于虚拟光标设备,该鼠标事件处理方法包括:创建虚拟光标;获取鼠标事件;接收并根据超声系统发送的消息协议中的限定参数对鼠标事件进行修饰处理,得到处理后的鼠标事件;响应处理后的鼠标事件。可以看出,本方案在对鼠标事件进行修饰,实现区域限制等功能时,仅需要依据超声系统发送的限定参数便可执行,这种方式没有平台限制,可作为单独的服务使用,维护方便,并且,在进行相关功能的扩展时,仅需要向超声系统发送的消息协议中添加新的消息协议,这样虚拟光标设备便可做相应的处理,实现较为简单;本发明还公开了一种鼠标事件处理装置、设备及计算机可读存储介质,同样能实现上述技术效果。
Description
技术领域
本发明涉及鼠标事件处理技术领域,更具体地说,涉及一种鼠标事件处理方法、装置、设备及计算机可读存储介质。
背景技术
目前在超声系统的许多场景下,均存在区域限制的需求,即将光标限制在合理的区域内,例如:测量时,将光标限制在图像区域内,弹出对话框时,将光标限制在对话框内。在相关技术中,不同的操作系统中需要通过不同的方式来实现光标区域限制:在Linux带窗口系统的X86平台下,可通过XGrabPointer接口将光标限制在窗口内,该接口是由X11系统(X Window,视窗系统)提供的;在Linux不带窗口系统的Arm(Advanced RISC Machines,处理器)平台下,基于Qt(图形用户界面应用程序开发框架)进行窗口绘制,在该环境下,利用共享内存,实现超声软件和Qt鼠标驱动程序的通信,修改Qt鼠标驱动程序,实现区域限制。
在上述两种方案中,对于Linux/X86平台下的XGrabPointer接口,该接口是由X11提供的,其中相关参数也是X11的数据接口;而Arm平台将Qt作为图形界面的超声系统,在转换为使用X11时,重构不现实且会耗费大量人力。而对于Linux/Arm平台下的使用共享内存实现的区域限制,该方案是基于Qt作为光标驱动程序,有平台限制,无法在X86平台下使用。且该方案修改了Qt源码,对于Qt版本同样有限制,当切换平台时,需要重新修改Qt源码,效率太低。
因此可以看出,无论是X86平台方案还是Arm平台方案,都无法在两个平台使用,而且限制颇多。并且,Arm平台方案修改了Qt代码,在更换Qt版本时,就要考虑修改Qt光标驱动程序,维护成本较高。
发明内容
本发明的目的在于提供一种鼠标事件处理方法、装置、设备及计算机可读存储介质,以实现对光标的区域限制方式,不受平台限制,可作为单独的服务使用,维护方便。
为实现上述目的,本发明实施例提供了如下技术方案:
一种鼠标事件处理方法,基于虚拟光标设备,所述鼠标事件处理方法包括:
创建虚拟光标;
获取鼠标事件;
接收并根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
响应所述处理后的鼠标事件。
其中,所述虚拟光标为Uinput模块基于Linux系统创建的。
其中,所述限定参数为超声系统通过命名管道向所述虚拟光标设备发送的消息协议中的参数。
其中,所述消息协议中的限定参数包括:所述鼠标事件的区域限制信息、同步位置信息、左右键功能信息和加速信息。
其中,若所述鼠标事件的事件类型为滚轮事件,则所述鼠标事件处理方法还包括:
响应所述滚轮事件。
其中,若所述鼠标事件的事件类型为左右键事件,则所述根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件,包括:
判断与左右键事件对应的限定参数是否为目标键有效;所述目标键为鼠标左键或者鼠标右键;
若不为目标键有效,则将所述左右键事件作为处理后的鼠标事件;
若为目标键有效,则判断所述左右键事件中的按键是否为目标键;
若是目标键,则将所述左右键事件作为处理后的鼠标事件;若不是目标键,则将所述左右键事件中的按键修改为目标键,将修改后的左右键事件作为处理后的鼠标事件。
其中,若所述鼠标事件的事件类型为移动事件,则所述根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件,包括:
判断所述移动事件为绝对坐标事件还是相对坐标事件;
若为绝对坐标事件,则将所述绝对坐标事件中的绝对坐标,作为所述移动事件的目标坐标;若为相对坐标事件,则根据所述相对坐标事件中的相对坐标及上一移动事件的历史坐标,计算所述移动事件的目标坐标;
利用与所述移动事件对应的限定参数,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,得到处理后的移动事件,将处理后的移动事件作为所述处理后的鼠标事件。
其中,利用与所述移动事件对应的区域限制坐标,将所述移动事件的目标坐标限制在所述区域限制坐标内,利用限制后的目标坐标生成处理后的移动事件;
若本次移动事件与上一移动事件的相对位移值大于预定阈值,则判断鼠标相对于非加速状态下移动的累计偏移量,是否达到或超过鼠标最小移动单位;若达到或超过鼠标最小移动单位,则对限制后的目标坐标进行更新,得到处理后的移动事件。
其中,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,包括:
将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内;
其中,将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,包括:判断所述目标坐标的X坐标值是否小于所述区域限制坐标的左上坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述左上坐标的X坐标值;若否,则判断所述目标坐标的X坐标值是否大于所述区域限制坐标的右下坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述右下坐标的X坐标值;
其中,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内,包括:判断所述目标坐标的Y坐标值是否小于所述区域限制坐标的左上坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述左上坐标的Y坐标值;若是,则判断所述目标坐标的Y坐标值是否大于所述区域限制坐标的右下坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述右下坐标的Y坐标值。
其中,所述获取鼠标事件,包括:
监控设备列表中的鼠标设备;
抓取与所述鼠标设备相对应的鼠标事件。
其中,本方案还包括:
检测是否有新添加的鼠标设备;
若有,则将新添加的鼠标设备设置为仅虚拟光标设备可读,并将所述新添加的鼠标设备添加至所述设备列表。
一种鼠标事件处理装置,包括:
虚拟光标创建模块,用于创建虚拟光标;
鼠标事件获取模块,用于获取鼠标事件;
参数接收模块,用于接收超声系统发送的消息协议中的限定参数;
修饰处理模块,用于根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
事件响应模块,用于响应所述处理后的鼠标事件。
一种鼠标事件处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述述鼠标事件处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述鼠标事件处理方法的步骤。
通过以上方案可知,本发明实施例提供的一种鼠标事件处理方法,基于虚拟光标设备,所述鼠标事件处理方法包括:创建虚拟光标;获取鼠标事件;接收并根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;响应所述处理后的鼠标事件。
可以看出,本方案在对鼠标事件进行修饰,实现区域限制等功能时,仅需要依据超声系统发送的限定参数便可执行,这种方式没有平台限制,可作为单独的服务使用,维护方便,并且,在进行相关功能的扩展时,仅需要向超声系统发送的消息协议中添加新的消息协议,这样虚拟光标设备便可做相应的处理,实现较为简单;
本发明还公开了一种鼠标事件处理装置、设备及计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种鼠标事件处理方法流程示意图;
图2为本发明实施例公开的一种消息协议写入流程示意图;
图3为本发明实施例公开的一种处理消息协议流程示意图;
图4为本发明实施例公开的另一种鼠标事件处理方法流程示意图;
图5为本发明实施例公开的一种鼠标设备监控流程示意图;
图6为本发明实施例公开的一种鼠标事件读取流程示意图;
图7为本发明实施例公开的一种加速及区域限制流程示意图;
图8为本发明实施例公开的区域限制流程示意图;
图9为本发明实施例公开的一种鼠标事件处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种鼠标事件处理方法、装置、设备及计算机可读存储介质,以实现对光标的区域限制。
参见图1,本发明实施例提供的一种鼠标事件处理方法,基于虚拟光标设备,所述鼠标事件处理方法包括:
S101、创建虚拟光标;
可以理解的是,本实施例中的虚拟光标设备通过执行虚拟光标程序,实现本方案所述的鼠标事件处理方法。在执行鼠标事件处理方法时,首先需要创建虚拟光标,该虚拟光标为Uinput模块基于Linux系统创建的,也就是说,本方案可基于linux输入最小系统,利用Uinput模块创建虚拟光标,并根据超声系统发送的消息协议,修改鼠标事件,完成消息协议对应的功能,从而实现了对光标区域限制等功能的实现。
在S101中通过加载Uinput模块创建虚拟光标时,需要完成IO(Input Output,输入输出系统)控制,实现该IO控制后,该虚拟光标设备才能实现对IO的控制,否则无法响应鼠标事件,该IO控制如下:
1)设置绝对坐标的最小值、最大值,对于光标来说,绝对坐标系统下,x、y坐标需设置最小值、最大。
2)设置使能项,光标事件包括绝对坐标事件(EV_ABS),滚轮事件(ABS_WHEEL),点击释放事件(BTN_KEY)。
S102、获取鼠标事件;
在本实施例中,通过读取输入系统获得鼠标事件,该鼠标事件可以包括:移动事件和按键事件,该移动事件又可以包括绝对坐标事件和相对坐标事件,按键事件又可以包括滚轮事件和左右键事件;该绝对坐标事件和相对坐标事件均为移动鼠标生成的移动事件,如果事件中的坐标为移动后的坐标,则该移动事件为绝对坐标事件,如果事件中的坐标为相对坐标,也即:移动后的坐标需要在上一次坐标位置的基础上加上相对坐标,才能获得移动后的坐标,这时该事件为相对坐标事件。
S103、接收并根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
S104、响应所述处理后的鼠标事件。
需要说明的是,超声系统向虚拟光标设备发送的消息协议中,记载了限定参数,通过设置不同的限定参数,可以对鼠标事件执行不同的修饰功能,例如:如果该限定参数中包括区域限制信息,那么便可通过该区域限制信息将鼠标事件中移动事件的坐标限制在预定区域,从而实现了光标区域限制的功能,如果该限定参数中包括了左右键功能信息,那么便可通过该左右键功能信息对鼠标事件中的左右键事件进行修饰,实现对左右键功能的限定,在本实施例中仅以上述两种情况为例进行说明,但并不局限于此,本领域技术人员可根据对鼠标事件的实际限定需求,对消息协议中的限定参数进行适应性扩展,以对鼠标事件执行不同的修饰处理。
进一步,本方案的虚拟光标设备中还包括虚拟设备,该虚拟设备用来响应处理后的鼠标事件,因此,对获取的鼠标事件进行修饰处理后,需要将该处理后的鼠标事件写入虚拟设备,通过该虚拟设备及时处理该鼠标事件,例如:用户将鼠标从位置A移动至位置B,生成一个鼠标事件,该鼠标事件为移动事件,对该移动事件进行修饰后写入虚拟设备,通过该虚拟设备响应该移动事件,也即:将屏幕上的光标从位置A移动至位置B。
综上可以看出,本方案使用虚拟光标设备实现光标区域限制等功能,消除了平台限制,可应用在多个项目中,有助于平台化建设的实现;并且,本方案易于维护,作为单独的服务程序,依赖较少,不再有项目、平台的限制;其次,本方案具有可扩展性,在添加新的功能时,只需添加新的消息协议,虚拟光标设备做相应的处理即可,实现比较简单。总体来说,本方案具有跨平台、易扩展、易维护等优点,使得开发效率得到了很大的提高,可节省大量人力成本。
基于上述实施例,在本实施例中,该限定参数可以为超声系统通过命名管道向所述虚拟光标设备发送的消息协议中的参数。并且,消息协议中的限定参数包括:鼠标事件的区域限制信息、同步位置信息、左右键功能信息和加速信息。
需要说明的是,本方案中的虚拟光标设备和超声系统软件进行通信时,使用的技术是命名管道技术,以字符串方式传递消息协议;该命名管道又名命名管线(NamedPipes),是一种简单的进程间通信机制。参见图2,为本发明实施例公开的一种消息协议写入流程示意图,通过该流程可以看出,超声系统在将消息协议写进管道时,首先调用区域限制等接口,发送相应消息,判断管道是否打开,若没打开,则打开管道;若打开了,则将数据转换为字节,并将字节写进管道,从而结束消息协议写入流程。
参见图3,为本发明实施例公开的一种处理消息协议流程示意图,通过图4可以看出,虚拟光标设备监控该有名管道,将监控得到的字节信息写入poll函数监控列表中,通过poll函数监控该监控列表中是否有数据可读,如果有,判断管道文件是否有数据可读,如果有管道文件有数据可读,则说明超声系统通过管道向虚拟光标设备发送了协议;将接收的字节转换为消息,然后读取该消息的类型。
如果是区域限制消息,则说明限定参数为区域限制信息,该区域限制信息中包括区域限制坐标,通过该区域限制坐标修改区域限制变量,以便通过该区域限制变量对鼠标事件中的移动事件进行修饰;如果是左右键消息,则说明限定参数为左右键功能信息,该左右键功能信息为代表目标键有效的信息,并根据该左右键消息修改是否区分左右键变量,从而通过该是否区分左右键变量的信息对鼠标事件中的左右键事件进行修饰;如果是光标加速消息,则说明限定参数为加速信息,通过该加速信息包括加速因子,加速因子包括加速分母和加速分子,通过该加速消息修改加速分子和加速分母变量,以通过该加速消息对鼠标事件中的移动事件进行修饰,确定鼠标相对于非加速状态下移动的累计偏移量,得到更新位移的移动事件。
需要说明的是,通过图3可以看出,在本实施例中并没有对滚轮事件进行修饰,因此管道文件中并没有与滚轮事件相关的限定参数;但是,为了保证所有鼠标事件都由虚拟光标设备进行处理,因此必须要对滚轮事件有响应,所以如果获取的鼠标事件的事件类型为滚轮事件,则本方案所述的鼠标事件处理方法还包括:响应所述滚轮事件。也就是说,如果获取的鼠标事件为滚轮事件,可以不对滚轮事件进行修饰处理,直接响应该滚轮事件。
参见表1,为本发明实施例公开的一种消息协议,由于一个字节最大表示数为256,所以加速分子、加速分母、坐标x值等,均占用2个字节。
表1
通过表1可以看出,该消息协议中限定参数的类型包括四种,第一种为区域限制信息(K_CURSOR_MSG_CLIPCURSOR),该区域限制信息主要包括区域限制坐标,例如:区域限制左上、右下对应的x、y坐标,该左上、右下对应的x、y坐标,是区域限制功能对应的坐标,区域限制范围是个矩形框,左上、右下两个点可以表明矩形框的范围;第二种为同步位置信息(K_CURSOR_MSG_SYNCPOS),该同步位置对应的x,y坐标,指的是当超声程序响应将光标设置到某个点时,虚拟光标设备并不知道该点的位置,为了保证显示光标的位置坐标和虚拟光标设备中的位置坐标保持一致,超声系统给虚拟光标设备发送协议,其中包含的x、y坐标就是要同步的位置,即超声系统将光标设置到点的位置,也就是说,超声系统设置光标位置时,可以向虚拟光标设备发送该协议,从而保证显示光标的位置坐标和虚拟光标设备中的位置坐标一致。
第三种为左右键功能信息(K_CURSOR_MSG_LEFTRIGHT,K_CURSOR_MSG_LEFTONLY),如果协议中为K_CURSOR_MSG_LEFTRIGHT,则说明左右键均可,例如:点击左键,则执行左键的功能,点击右键,则执行右键的功能;如果协议中为K_CURSOR_MSG_LEFTONLY,则说明协议中的左右键功能信息为目标键有效,例如:仅左键有效,这时收到事件中的按键为右键时,则修改为左键。第四种为光标加速消息(K_CURSOR_MSG_ACCELERATION),该信息中包括为加速因子,加速因子包括加速分母和加速分子,通过该加速因子可以计算鼠标相对于非加速状态下移动的累计偏移量,通过该累积偏移量实现对移动事件中坐标的更新。
可以看出,在本实施例中,通过命名管道技术可以将超声系统的消息协议简单快速的发送给虚拟光标设备,并且,通过消息协议中的区域限制信息、左右键功能信息和加速信息等信息,可对读取的鼠标事件执行不同的修饰处理操作,从而简单有效的对鼠标事件执行不同的限制功能。
参见图4,本发明实施例提供的另一种鼠标事件处理方法,基于虚拟光标设备,所述鼠标事件处理方法包括:
S201、创建虚拟光标;
S202、监控设备列表中的鼠标设备;
S203、抓取与所述鼠标设备相对应的鼠标事件;
S204、接收并根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
S205、响应所述处理后的鼠标事件。
需要说明的是,本实施例在获取鼠标事件时,可以通过监控设备列表,抓取该设备列表中记载的鼠标设备对应的鼠标事件;并且,由于虚拟光标设备需要抓取所有的鼠标事件,因此,可以检测是否有新添加的鼠标设备;若有,则将新添加的鼠标设备设置为仅虚拟光标设备可读,并将所述新添加的鼠标设备添加至所述设备列表。
其详细过程参见图5,图5为本发明实施例公开的一种鼠标设备监控流程示意图;通过图5可以看出,本方案需要监控设备描述文件/proc/bus/input/devices,每个鼠标设备与一个监控设备描述文件相对应;进一步,需要判断是否有数据可读,如有数据可读,则说明有新添加的设备,如有没有数据可读,则说明没有新添加的设备;如有设备可读,则打开设备文件描述符,获取设备文件名,并根据该文件名判断设备是否为鼠标设备;如果不是,则结束流程;如果是,则通过IO控制标记:EVIOCGRAB,标记为EVIOCGRAB后,说明该设备文件仅虚拟光标设备可读,并更新设备文件描述列表,该列表即为本方案中的设备列表,并通过poll函数来监控,抓取该设备文件描述列表中的鼠标设备的鼠标事件。
可以看出,在本实施例中,为了保证区域限制等功能的实现,虚拟光标程序设备必须处理所有鼠标事件,因此通过监控设备列表来抓取所有鼠标设备的鼠标事件;并且,本方案为了适应鼠标热插拔的情况,需监控设备描述文件/proc/bus/input/devices,当有设备的插拔时,执行图5所述的流程,通过通过IO控制,将添加的设备设置为仅虚拟光标设备可读,从而保证所有事件仅由虚拟光标设备进行处理。
参见图6,为本实施例提供的一种鼠标事件读取流程示意图。
通过图6可以看出,对于获取的鼠标事件,需要放到poll函数监控的列表中;因此在对鼠标事件进行处理时,直接判断该列表中是否有鼠标事件,如果有鼠标事件,则需要判断该事件的类型;
1、如果事件类型为移动事件,则还需确定移动事件为绝对坐标事件还是相对坐标事件,并根据事件类型的不同确定更新移动事件的目标坐标,该目标坐标为移动后的坐标,并设置移动事件标志为真;
在本实施例中,提供一种具体的目标坐标更新方法,需要说明的是,本实施例仅以此方法为例进行说明,但并不局限于此,其他能实现对移动事件中的坐标更新的方法均可,该方法可以包括:
判断所述移动事件为绝对坐标事件还是相对坐标事件;
若为绝对坐标事件,则将所述绝对坐标事件中的绝对坐标,作为所述移动事件的目标坐标;若为相对坐标事件,则根据所述相对坐标事件中的相对坐标及上一移动事件的历史坐标,计算所述移动事件的目标坐标;
可以理解的是,由于相对坐标事件中记载的坐标并不是最终移动的位置的坐标,因此,本方案需要记录上一个移动事件的坐标,也就是历史坐标,根据上一次移动事件的历史坐标与本次移动事件的相对坐标,才能计算得到本次移动事件的最终移动坐标,也就是目标坐标。
2、如果事件类型为鼠标左右键事件或者滚轮事件,则更新对应的按键码以及对应值,例如:鼠标左右键事件中的按键信息及按键状态,或者滚轮事件中的参数值,并设置按键事件标志为真。
进一步,本方案在对任何事件执行修饰处理之前,均需要接收到同步事件,该同步事件可以理解为激活操作,只有接收到同步事件后,才能对鼠标事件执行修饰处理并响应。因此,参见图6,如果接收到的事件为同步事件,才执行判断移动事件标志为真还是按键事件标志为真的步骤;如果按键事件为真,则对按键事件进行修饰处理;如果移动事件为真,则对移动事件执行修饰处理。
在此,对按键事件和移动事件进行修饰处理进行详细说明:
一、如果按键事件标志为真,那么说明有滚轮事件和鼠标左右键事件,因此在本实施例中不对滚轮事件进行修饰,因此,如果按键事件为滚轮事件,则直接响应该事件;如果按键事件为左右键事件,则根据超声系统发送的消息协议中的限定参数对鼠标事件进行修饰处理得到处理后的鼠标事件,可以包括:
判断与左右键事件对应的限定参数是否为目标键有效;所述目标键为鼠标左键或者鼠标右键;
若不为目标键有效,则将所述左右键事件作为处理后的鼠标事件;
若为目标键有效,则判断所述左右键事件中的按键是否为目标键;
若是目标键,则将所述左右键事件作为处理后的鼠标事件;若不是目标键,则将所述左右键事件中的按键修改为目标键,将修改后的左右键事件作为处理后的鼠标事件。
在本实施例中,限定参数的左右键功能信息中,可能记载了目标键有效的信息,例如:K_CURSOR_MSG_LEFTONLY;或者左右键均有效的信息,例如:K_CURSOR_MSG_LEFTRIGHT;进一步,左右键事件有两个参数:code、和value,code表明该左右键事件为左键(BTN_LEFT)还是右键(BTN_RIGHT),value表明是按下还是弹起;对于左右键的处理,需要考虑表1中的K_CURSOR_MSG_LEFTRIGHT、K_CURSOR_MSG_LEFTONLY消息,如果是K_CURSOR_MSG_LEFTRIGHT,则不进行修饰,直接将左右键事件作为处理后的鼠标事件,并进行响应;如果是K_CURSOR_MSG_LEFTONLY,则将BTN_RIGHT修改为BTN_LEFT,并响应更改后的左右键事件。
二、如果移动事件为真,则对移动事件执行修饰处理进操作,可以包括:
利用与所述移动事件对应的限定参数,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,得到处理后的移动事件,将处理后的移动事件作为所述处理后的鼠标事件。
需要说明的是,该步骤在执行时,可以包括如下步骤:
利用与所述移动事件对应的区域限制坐标,将所述移动事件的目标坐标限制在所述区域限制坐标内,利用限制后的目标坐标生成处理后的移动事件;
若本次移动事件与上一移动事件的相对位移值大于预定阈值,则判断鼠标相对于非加速状态下移动的累计偏移量,是否达到或超过鼠标最小移动单位;若达到或超过鼠标最小移动单位,则对限制后的目标坐标进行更新,得到处理后的移动事件。
可以看出,在本实施例中,不仅可以根据消息协议对鼠标左右键事件以及移动事件的目标坐标进行区域限制,还可以统计本次移动事件的鼠标相对于非加速状态下移动的累计偏移量,如果该累积偏移量达到或超过鼠标最小移动单位,则需要对限制后的目标坐标进行更新,得到处理后的移动事件并响应,通过这种方式可以保证鼠标平滑的移动,增加用户体验。
基于上述任意实施例,本发明实施例提供的一种加速及区域限制流程方法;参加图7,为加速及区域限制流程示意图,该方法包括:
S1、判断限定参数中的加速因子是否大于i;若否,则执行S2;若是,则执行S3;其中,加速因子包括整数部分和分数部分,分数部分包括加速分子和加速分母;i在初始状态下为1;
S2、结束流程;
S3、将目标坐标限制在区域限制坐标内,并将限制后的移动事件作为处理后的移动事件并响应,执行S4;
S4、判断本次移动事件与上次移动事件之间,是否存在X/Y方向的相对位移值大于预定阈值;若是,则将存在相对位移值大于预定阈值的方向作为目标方向,执行S5;若否,则执行S8;
需要说明的是,在S1和S3步骤中,已经将目标坐标限制在区域限制坐标内,并响应该移动事件;进一步,在本步骤中,需要判断在X方向或者是Y方向的相对位移值是否大于预定阈值;该相对位移值为本次移动事件的坐标与上次移动事件的坐标的差,例如:本次移动事件的坐标为(x1,y1),上次移动事件的坐标为(x2,y2),那么计算的X方向相对位移为|x1-x2|,Y方向的相对位移为|y1-y2|。
判断X方向相对位移和Y方向的相对位移是否大于预定阈值,如果仅有X方向的相对位移大于该预定阈值,则将X方向作为目标方向,并执行后续步骤;如果仅有Y方向的相对位移大于该预定阈值,则将Y方向作为目标方向,并执行后续步骤;如果X方向的相对位移和Y方向的相对位移均大于该预定阈值,则分别将每个方向的相对位置作为目标方向,执行后续步骤;如果X方向的相对位移和Y方向的相对位移均不大于该预定阈值,则不执行后续的累积偏移量的步骤,直接执行S8。
可以看出,本方案为了保证鼠标平滑移动,只有在相对位移值大于预定阈值时才执行坐标的更新,继续执行S5,并且,该相对位移值为固定值,不会随着循环的进行而更新。
S5、计算目标方向的目标位移累计值与目标方向的第一位移累计值之和,作为目标方向的第二位移累计值;第一位移累计值为目标方向的相对位移值与加速分子的乘积;目标位移累计值在初始状态为0;
在本步骤中,由于是初次循环,所以目标位移累计值为0,假设:加速因子为8/3,该加速因子变换后为:整数部分2和分数部分2/3,也即:加速分子为2,加速分母为3;目标方向的相对位移值为4;因此,第一位移累计值为:相对位移值4与加速分子2的乘积:8,由于目标位移累计值为0,因此,目标防线的第二位移累计值为:0+8=8。
S6、判断第二位移累计值是否大于加速分母;若是,则执行S7;若否,则执行S8;
在本步骤中,第二位移累计值为8,加速分母为3,因此第二位移累计值为8大于加速分母为3,所以执行S7;需要说明的是,本步骤的加速分母即为鼠标最小移动单位,只有第二位移累计值不小于加速分母时,才执行坐标的更新,才能生成新的移动事件。
S7、将第二位移累计值作为目标变量的分子,将加速分母作为目标变量的分子,确定目标变量的整数部分及分数部分,利用目标变量的整数部分对目标方向的坐标值进行更新,将更新后的坐标值作为新的目标坐标的目标方向的坐标值;将目标变量的分数部分的分子作为更新后的目标位移累计值;
在本步骤中,将第二位移累计值8作为目标变量的分子,将加速分母3作为目标变量的分子,得到目标变量8/3,所以目标变量的整数部分为2,目标变量的分数部分为2/3,目标变量的分子为2,目标变量的分母为3;因此,利用目标变量的整数部分2对目标方向的坐标值进行更新,假设目标方向为X方向,且移动事件中的目标坐标的X坐标为x1,则更新后的X坐标x1=x1+2;进而,将目标变量的分数部分的分子2作为更新后的目标位移累计值。
S8、判断加速因子是否大于i+1;
若是,则执行S9;若否,则执行S10;
在本步骤中,加速因子为8/3,i+1=2,所以加速因子为8/3大于i+1,但此时的i的值还是为1。
S9、利用目标方向的相对位移值对目标坐标中的目标方向的坐标值进行更新,将更新后的目标方向的坐标值作为新的目标坐标的目标方向的坐标值;
在本步骤中,利用目标方向的相对位移值4对目标坐标中的目标方向的坐标值x1进行更新,也即x1=x1+2,需要说明的是,此时等号右边的x1为S7中更新后的x1。
S10、通过++i更新i,并继续执行S1。
可以理解的是,将i更新后,i为2,并继续执行S1,此时在S1中加速因子8/3大于2,所以执行S3,将更新后的坐标限制在区域限制坐标内,生成新的移动事件并进行响应,从而实现了鼠标相对于非加速状态下移动的累计偏移量达到或超过鼠标最小移动单位时,更新加速因子分数部分导致的偏移。
进而,由于S4中参量并未发生改变,继续执行S5;此时,目标位移累计值已经为上一循环更新的2,第一位移累计值不变,依然为:4*2=8,所以在此次循环中,第二位移累计值为2+8=10;S6中,第二位移累计值10依然大于加速分母3,所以继续执行S7。
S7中,将第二位移累计值10作为目标变量的分子,将加速分母3作为目标变量的分子,得到目标变量10/3,所以目标变量的整数部分为3,目标变量的分数部分为1/3,目标变量的分子为1,目标变量的分母为3;因此,利用目标变量的整数部分3对目标方向的坐标值进行更新,更新后的X坐标x1=x1+3;进而,将目标变量的分数部分的分子1作为更新后的目标位移累计值。执行S8,此时i+1后为3,加速因子为8/3不大于3,所以执行S10,将i更新后为3,并继续执行S1。在此时循环的S1中,i已经为3,加速因子8/3不大于3,所以结束流程。
综上可以看出,在本实施例中,对于加速因子(加速分子/加速分母)大于1时,为了保证鼠标移动的平滑,当S4中相对位移大于某个合适的阈值时,执行后续步骤,更新x、y方向位移,生成新的移动事件;并且,由于加速因子存在分数的可能性,当S6中的第二位移累计值不小于加速分母时,在S7中更新分数部分导致的偏移;同样,为了保持平滑,在S4中相对位移值小于合适阈值时,不执行S5-S7,不进行x、y方向位移的更新。
进一步,参见图8,在本实施例中,S3中目标坐标限制在区域限制坐标内可以包括:
将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内;
其中,将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,包括:判断所述目标坐标的X坐标值是否小于所述区域限制坐标的左上坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述左上坐标的X坐标值;若否,则判断所述目标坐标的X坐标值是否大于所述区域限制坐标的右下坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述右下坐标的X坐标值;
其中,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内,包括:判断所述目标坐标的Y坐标值是否小于所述区域限制坐标的左上坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述左上坐标的Y坐标值;若是,则判断所述目标坐标的Y坐标值是否大于所述区域限制坐标的右下坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述右下坐标的Y坐标值。
需要说明的是,在执行将目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,以及将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内时,并不仅限定如图8所示的顺序,图8的顺序只是对本步骤的一个解释,也就是说,这两者的执行顺序,可以先判断X坐标值,也可以先判断Y坐标值,也可以同时判断X坐标值与Y坐标值。
综上可以看出,在本实施例中,通过区域限制坐标可以实现对移动事件的坐标的限制,并且,为了保证鼠标的平滑移动,可以累积加速因子的分子导致的偏移量,如果累积的偏移量不小于加速分母,这时可更新分数部分导致的偏移,从而对移动事件的坐标进行更新并响应,保证了鼠标的平滑移动,提高用户体验。
下面对本发明实施例提供的一种目录服务器进行介绍,下文描述的一种目录服务器与上文描述的一种数据获取方法可以相互参照。
参见图9,本发明实施例提供的一种鼠标事件处理装置,基于虚拟光标设备,包括:
虚拟光标创建模块100,用于创建虚拟光标;
鼠标事件获取模块200,用于获取鼠标事件;
参数接收模块300,用于接收超声系统发送的消息协议中的限定参数;
修饰处理模块400,用于根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
事件响应模块500,用于响应所述处理后的鼠标事件。
其中,所述虚拟光标为Uinput模块基于Linux系统创建的。
其中,所述限定参数为超声系统通过命名管道向所述虚拟光标设备发送的消息协议中的参数。
其中,所述消息协议中的限定参数包括:所述鼠标事件的区域限制信息、同步位置信息、左右键功能信息和加速信息。
其中,若所述鼠标事件的事件类型为滚轮事件,则所述事件响应模块还用于:响应所述滚轮事件。
其中,所述修饰处理模块包括:
第一判断单元,用于判断与左右键事件对应的限定参数是否为目标键有效;所述目标键为鼠标左键或者鼠标右键;所述鼠标事件为左右键事件;
第一左右键事件处理模块,用于在限定参数不为目标键有效时,将所述左右键事件作为处理后的鼠标事件;
第二判断单元,用于在限定参数为目标键有效时,判断所述左右键事件中的按键是否为目标键;
第二左右键事件处理模块,用于在左右键事件中的按键为目标键时,将所述左右键事件作为处理后的鼠标事件;
第三左右键事件处理模块,用于在左右键事件中的按键不是目标键时,将所述左右键事件中的按键修改为目标键,将修改后的左右键事件作为处理后的鼠标事件。
其中,所述修饰处理模块包括:
第三判断单元,用于判断所述移动事件为绝对坐标事件还是相对坐标事件;所述鼠标事件为移动事件;
第一目标坐标确定单元,用于在移动事件为绝对坐标事件时,将所述绝对坐标事件中的绝对坐标,作为所述移动事件的目标坐标;
第二目标坐标确定单元,用于在移动事件为相对坐标事件时,根据所述相对坐标事件中的相对坐标及上一移动事件的历史坐标,计算所述移动事件的目标坐标;
移动事件处理单元,用于利用与所述移动事件对应的限定参数,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,得到处理后的移动事件,将处理后的移动事件作为所述处理后的鼠标事件。
其中,移动事件处理单元包括:
坐标限制子单元,用于利用与所述移动事件对应的区域限制坐标,将所述移动事件的目标坐标限制在所述区域限制坐标内,利用限制后的目标坐标生成处理后的移动事件;
第四判断单元,用于在本次移动事件与上一移动事件的相对位移值大于预定阈值时,判断鼠标相对于非加速状态下移动的累计偏移量,是否达到或超过鼠标最小移动单位;
移动事件确定单元,用于在鼠标相对于非加速状态下移动的累计偏移量,达到或超过鼠标最小移动单位,则对限制后的目标坐标进行更新,得到处理后的移动事件。
其中,所述坐标限制子单元包括:
X坐标限制子单元,用于将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,
Y坐标限制子单元,用于将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内;
所述X坐标限制子单元,具体用于判断所述目标坐标的X坐标值是否小于所述区域限制坐标的左上坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述左上坐标的X坐标值;若否,则判断所述目标坐标的X坐标值是否大于所述区域限制坐标的右下坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述右下坐标的X坐标值;
所述Y坐标限制子单元,具体用于判断所述目标坐标的Y坐标值是否小于所述区域限制坐标的左上坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述左上坐标的Y坐标值;若是,则判断所述目标坐标的Y坐标值是否大于所述区域限制坐标的右下坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述右下坐标的Y坐标值。
其中,鼠标事件获取模块包括:
监控单元,用于监控设备列表中的鼠标设备;
抓取单元,用于抓取与所述鼠标设备相对应的鼠标事件。
其中,本方案还包括:
检测模块,用于检测是否有新添加的鼠标设备;
添加模块,用于检测到有新添加的鼠标设备时,将新添加的鼠标设备设置为仅虚拟光标设备可读,并将新添加的鼠标设备添加至所述设备列表。
本发明实施例还公开一种鼠标事件处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述方法实施例所述的鼠标事件处理方法的步骤。
本发明实施例还公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法实施例所述的鼠标事件处理方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种鼠标事件处理方法,其特征在于,基于虚拟光标设备,所述鼠标事件处理方法包括:
创建虚拟光标;
获取鼠标事件;
接收并根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
响应所述处理后的鼠标事件。
2.根据权利要求1所述的鼠标事件处理方法,其特征在于,所述虚拟光标为Uinput模块基于Linux系统创建的。
3.根据权利要求1所述的鼠标事件处理方法,其特征在于,所述限定参数为超声系统通过命名管道向所述虚拟光标设备发送的消息协议中的参数。
4.根据权利要求1所述的鼠标事件处理方法,其特征在于,所述消息协议中的限定参数包括:所述鼠标事件的区域限制信息、同步位置信息、左右键功能信息和加速信息。
5.根据权利要求1所述的鼠标事件处理方法,其特征在于,若所述鼠标事件的事件类型为滚轮事件,则所述鼠标事件处理方法还包括:
响应所述滚轮事件。
6.根据权利要求1所述的鼠标事件处理方法,其特征在于,若所述鼠标事件的事件类型为左右键事件,则所述根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件,包括:
判断与左右键事件对应的限定参数是否为目标键有效;所述目标键为鼠标左键或者鼠标右键;
若不为目标键有效,则将所述左右键事件作为处理后的鼠标事件;
若为目标键有效,则判断所述左右键事件中的按键是否为目标键;
若是目标键,则将所述左右键事件作为处理后的鼠标事件;若不是目标键,则将所述左右键事件中的按键修改为目标键,将修改后的左右键事件作为处理后的鼠标事件。
7.根据权利要求1所述的鼠标事件处理方法,其特征在于,若所述鼠标事件的事件类型为移动事件,则所述根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件,包括:
判断所述移动事件为绝对坐标事件还是相对坐标事件;
若为绝对坐标事件,则将所述绝对坐标事件中的绝对坐标,作为所述移动事件的目标坐标;若为相对坐标事件,则根据所述相对坐标事件中的相对坐标及上一移动事件的历史坐标,计算所述移动事件的目标坐标;
利用与所述移动事件对应的限定参数,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,得到处理后的移动事件,将处理后的移动事件作为所述处理后的鼠标事件。
8.根据权利要求7所述的鼠标事件处理方法,其特征在于,利用与所述移动事件对应的限定参数,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,得到处理后的移动事件,包括:
利用与所述移动事件对应的区域限制坐标,将所述移动事件的目标坐标限制在所述区域限制坐标内,利用限制后的目标坐标生成处理后的移动事件;
若本次移动事件与上一移动事件的相对位移值大于预定阈值,则判断鼠标相对于非加速状态下移动的累计偏移量,是否达到或超过鼠标最小移动单位;若达到或超过鼠标最小移动单位,则对限制后的目标坐标进行更新,得到处理后的移动事件。
9.根据权利要求7所述的鼠标事件处理方法,其特征在于,将所述移动事件的目标坐标限制在所述限定参数的区域限制坐标内,包括:
将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内;
其中,将所述目标坐标的X坐标值限制在区域限制坐标的X坐标范围内,包括:判断所述目标坐标的X坐标值是否小于所述区域限制坐标的左上坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述左上坐标的X坐标值;若否,则判断所述目标坐标的X坐标值是否大于所述区域限制坐标的右下坐标的X坐标值;若是,则将所述目标坐标的X坐标值修改为所述右下坐标的X坐标值;
其中,将所述目标坐标的Y坐标值限制在区域限制坐标的Y坐标范围内,包括:判断所述目标坐标的Y坐标值是否小于所述区域限制坐标的左上坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述左上坐标的Y坐标值;若是,则判断所述目标坐标的Y坐标值是否大于所述区域限制坐标的右下坐标的Y坐标值;若否,则将所述目标坐标的Y坐标值修改为所述右下坐标的Y坐标值。
10.根据权利要求1至9中任意一项所述的鼠标事件处理方法,其特征在于,所述获取鼠标事件,包括:
监控设备列表中的鼠标设备;
抓取与所述鼠标设备相对应的鼠标事件。
11.根据权利要求10所述的鼠标事件处理方法,其特征在于,还包括:
检测是否有新添加的鼠标设备;
若有,则将新添加的鼠标设备设置为仅虚拟光标设备可读,并将所述新添加的鼠标设备添加至所述设备列表。
12.一种鼠标事件处理装置,其特征在于,包括:
虚拟光标创建模块,用于创建虚拟光标;
鼠标事件获取模块,用于获取鼠标事件;
参数接收模块,用于接收超声系统发送的消息协议中的限定参数;
修饰处理模块,用于根据超声系统发送的消息协议中的限定参数对所述鼠标事件进行修饰处理,得到处理后的鼠标事件;
事件响应模块,用于响应所述处理后的鼠标事件。
13.一种鼠标事件处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述鼠标事件处理方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述鼠标事件处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623831.9A CN109491568B (zh) | 2018-12-28 | 2018-12-28 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623831.9A CN109491568B (zh) | 2018-12-28 | 2018-12-28 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491568A true CN109491568A (zh) | 2019-03-19 |
CN109491568B CN109491568B (zh) | 2021-09-28 |
Family
ID=65712980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623831.9A Active CN109491568B (zh) | 2018-12-28 | 2018-12-28 | 鼠标事件处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491568B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992421A (zh) * | 2019-04-09 | 2019-07-09 | 深圳开立生物医疗科技股份有限公司 | 一种超声系统及其光标资源分配方法、系统、存储介质 |
CN110209449A (zh) * | 2019-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种游戏中光标定位方法和装置 |
CN111870938A (zh) * | 2020-07-09 | 2020-11-03 | 天津津航计算技术研究所 | vxworks系统下基于windml的操纵杆串口驱动设计方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510642A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 在任意图形中限定光标移动范围的系统与方法 |
CN102591493A (zh) * | 2011-12-30 | 2012-07-18 | 浙江海康科技有限公司 | 一种用于ipkvm系统的鼠标光标同步方法 |
CN103260070A (zh) * | 2013-02-04 | 2013-08-21 | 上海琥智数码科技有限公司 | 基于网络的智能终端控制方法 |
CN103941855A (zh) * | 2013-01-22 | 2014-07-23 | 株式会社东芝 | 医用图像参照装置以及医用图像参照方法 |
US20140327617A1 (en) * | 2013-05-01 | 2014-11-06 | Unigrand Ltd. | Method and Locating Device for Locating a Pointing Device |
CN105094839A (zh) * | 2015-08-14 | 2015-11-25 | 深圳市众联悠游科技有限公司 | 基于PC机实现运行Android系统应用的方法 |
CN105388771A (zh) * | 2015-11-17 | 2016-03-09 | 张晓� | 一种用于医学影像教学系统的计算机屏幕远程控制方法 |
CN105988924A (zh) * | 2015-02-10 | 2016-10-05 | 中国船舶工业综合技术经济研究院 | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 |
-
2018
- 2018-12-28 CN CN201811623831.9A patent/CN109491568B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1510642A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 在任意图形中限定光标移动范围的系统与方法 |
CN102591493A (zh) * | 2011-12-30 | 2012-07-18 | 浙江海康科技有限公司 | 一种用于ipkvm系统的鼠标光标同步方法 |
CN103941855A (zh) * | 2013-01-22 | 2014-07-23 | 株式会社东芝 | 医用图像参照装置以及医用图像参照方法 |
CN103260070A (zh) * | 2013-02-04 | 2013-08-21 | 上海琥智数码科技有限公司 | 基于网络的智能终端控制方法 |
US20140327617A1 (en) * | 2013-05-01 | 2014-11-06 | Unigrand Ltd. | Method and Locating Device for Locating a Pointing Device |
CN105988924A (zh) * | 2015-02-10 | 2016-10-05 | 中国船舶工业综合技术经济研究院 | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 |
CN105094839A (zh) * | 2015-08-14 | 2015-11-25 | 深圳市众联悠游科技有限公司 | 基于PC机实现运行Android系统应用的方法 |
CN105388771A (zh) * | 2015-11-17 | 2016-03-09 | 张晓� | 一种用于医学影像教学系统的计算机屏幕远程控制方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992421A (zh) * | 2019-04-09 | 2019-07-09 | 深圳开立生物医疗科技股份有限公司 | 一种超声系统及其光标资源分配方法、系统、存储介质 |
CN109992421B (zh) * | 2019-04-09 | 2023-10-20 | 深圳开立生物医疗科技股份有限公司 | 一种超声系统及其光标资源分配方法、系统、存储介质 |
CN110209449A (zh) * | 2019-05-21 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种游戏中光标定位方法和装置 |
CN110209449B (zh) * | 2019-05-21 | 2022-02-15 | 腾讯科技(深圳)有限公司 | 一种游戏中光标定位方法和装置 |
CN111870938A (zh) * | 2020-07-09 | 2020-11-03 | 天津津航计算技术研究所 | vxworks系统下基于windml的操纵杆串口驱动设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109491568B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491568A (zh) | 鼠标事件处理方法、装置、设备及计算机可读存储介质 | |
US20130010071A1 (en) | Methods and systems for mapping pointing device on depth map | |
JP5942456B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
Kaltenbrunner | reacTIVision and TUIO: a tangible tabletop toolkit | |
WO2019243899A1 (en) | Method and system for real-time animation generation using machine learning | |
US9772889B2 (en) | Expedited processing and handling of events | |
AU2011276797A1 (en) | Method and device for window object inertial movement | |
CN110716905B (zh) | 一种菜单生成方法、装置、存储介质和电子设备 | |
CN102819391B (zh) | 一种多场景下具有并行性的多点触摸手势反馈系统及方法 | |
WO2012158895A2 (en) | Disambiguating intentional and incidental contact and motion in multi-touch pointing devices | |
CN112788583B (zh) | 设备寻找方法、装置、存储介质及电子设备 | |
JP5925347B1 (ja) | 情報処理システム及びプログラム、サーバ、端末、並びに媒体 | |
CN102063534B (zh) | 高炉大修工程进度三维模拟装置及方法 | |
CN101384317A (zh) | 轨迹信息处理装置、轨迹信息处理方法、信息记录介质及程序 | |
CN113209616A (zh) | 虚拟场景中的对象标记方法、装置、终端以及存储介质 | |
CN106708255A (zh) | 虚拟界面交互控制方法及系统 | |
CN103220339A (zh) | 远程操作中的光标轨迹显示方法、装置和系统 | |
CN104299170B (zh) | 间歇性能源海量数据处理方法 | |
CN106020712A (zh) | 一种触控手势识别方法及装置 | |
CN111080756A (zh) | 一种交互动画生成方法、装置、设备及介质 | |
US10162602B2 (en) | Method for handling user-level events for programming an application | |
CN116958487A (zh) | 姿态预测方法、装置、设备、存储介质及计算机程序产品 | |
US10496237B2 (en) | Computer-implemented method for designing a three-dimensional modeled object | |
CN106814855A (zh) | 一种基于手势识别的三维图像审阅方法及系统 | |
US10475332B2 (en) | Spatial remote control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |