1.一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,其特征在于:包括
步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;
步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间,并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔,以恢复原来的系统运行时间;
步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。
Android系统环境下windows虚拟化桌面连接的鼠标右键实现\n方法\n技术领域\n[0001] 本发明涉及一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法。\n背景技术\n[0002] Android系统自诞生至今已经成为当今主流的2大移动操作系统之一,当前Android系统被广泛使用在手机及平板设备上。但是自从Android4.0系统发布以来,Android系统已经慢慢开始进入通常的桌面办公市场,基于Android系统的远程桌面协议实现越来越多,其中以微软的RDP协议,VMware公司的PCoIP协议,Citrix公司的ICA协议为主要代表。但是,由于Android系统自诞生之日起就是为触屏设备设计的,鼠标的使用在Android系统中被极度弱化,即使在Android3.0系统开始,鼠标被带回到Android系统中,它也是一个模拟的触屏设备,其中最明显的就是鼠标右键在Android系统下无法使用,鼠标右键被系统处理为系统返回键。这个问题在Android系统进入桌面办公领域后变得极为不可接受,用户在使用远程桌面协议登录系统后,完全无法使用鼠标进行办公,只能通过长按左键的方式实现在远程桌面上的鼠标右键使用。\n发明内容\n[0003] 本发明要解决的技术问题,在于提供一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法。\n[0004] 本发明是这样实现的:一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,包括\n[0005] 步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;\n[0006] 步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间,并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔,以恢复原来的系统运行时间;\n[0007] 步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。\n[0008] 本发明具有如下优点:本发明方法将鼠标右键消息模拟发送2个鼠标点击时间,并让系统认为2个事件时间间隔大于系统判断长按的时间间隔,以实现欺骗系统的目的,从而实现了为Android系统环境下的windows虚拟化云桌面连接提供系统鼠标右键功能,极大的方便了Android下的windows虚拟化桌面用户。\n附图说明\n[0009] 下面参照附图结合实施例对本发明作进一步的说明。\n[0010] 图1为本发明方法执行流程图。\n具体实施方式\n[0011] 如图1所示,本发明的Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,包括\n[0012] 步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;例如:系统定义的长按操作判定间隔时间为0.5s,鼠标右键按下时获取的当前系统时间为01时00分0秒,则投递Down事件后,把系统时间往前调一个系统定义的长按操作判定间隔时间(即0.5秒)后,当前系统时间为01时00分0.5秒。\n[0013] 步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间(即步骤10中往前调整后的时间),并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔(即0.5秒),以恢复原来的系统运行时间;\n例如:鼠标右键松开(Up)时获取的当前系统时间为01时00分0.6秒(即鼠标右键从按下到松开历时0.1秒),此时投递鼠标左键松开Up事件,然后把系统时间往回调0.5秒,即恢复正常的系统时间:01时00分0.1秒。\n[0014] 步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。\n[0015] 本发明的原理如下:\n[0016] 如背景技术中提到的,在Android系统上使用鼠标右键时会被系统映射为返回键发送给应用程序。若在Android系统中当用户长按鼠标左键时,系统会发送Long Press消息给应用程序,应用程序在收到该消息后会执行相应的操作,而在桌面办公的远程桌面程序中,该操作会被处理为鼠标右键消息。这样,鼠标右键系统在Android系统最底层的Linux内核中依然能被识别,只是在转发消息是被转发为系统返回消息,但是Android系统并没有定义鼠标右键的消息。当长按鼠标时,Android系统会检测2次鼠标时间的系统间隔时间,判断鼠标事件是否为长按事件。在系统内核中,我们检测鼠标右键消息,当收到鼠标右键消息时,我们模拟发送2个鼠标点击时间,并让系统认为2个事件时间间隔大于系统判断长按的时间间隔,即可实现欺骗系统的目的。\n[0017] 虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
法律信息
- 2017-01-18
- 2014-06-25
实质审查的生效
IPC(主分类): G06F 13/10
专利申请号: 201410055289.7
申请日: 2014.02.19
- 2014-05-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-02-27
|
2006-08-22
| | |
2
| |
2013-05-08
|
2011-11-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |