Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法

文档序号:7797113阅读:2658来源:国知局
Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法
【专利摘要】本发明提供一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法:修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;当鼠标右键松开Up事件产生时,获取当前系统时间,并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并恢复原来的系统运行时间;至此触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。
【专利说明】Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法
【技术领域】
[0001]本发明涉及一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法。
【背景技术】
[0002]Android系统自诞生至今已经成为当今主流的2大移动操作系统之一,当前Android系统被广泛使用在手机及平板设备上。但是自从Android4.0系统发布以来,Android系统已经慢慢开始进入通常的桌面办公市场,基于Android系统的远程桌面协议实现越来越多,其中以微软的RDP协议,VMware公司的PCoIP协议,Citrix公司的ICA协议为主要代表。但是,由于Android系统自诞生之日起就是为触屏设备设计的,鼠标的使用在Android系统中被极度弱化,即使在Android3.0系统开始,鼠标被带回到Android系统中,它也是一个模拟的触屏设备,其中最明显的就是鼠标右键在Android系统下无法使用,鼠标右键被系统处理为系统返回键。这个问题在Android系统进入桌面办公领域后变得极为不可接受,用户在使用远程桌面协议登录系统后,完全无法使用鼠标进行办公,只能通过长按左键的方式实现在远程桌面上的鼠标右键使用。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法。
[0004]本发明是这样实现的:一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,包括
[0005]步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;
[0006]步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间,并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔,以恢复原来的系统运行时间;
[0007]步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。
[0008]本发明具有如下优点:本发明方法将鼠标右键消息模拟发送2个鼠标点击时间,并让系统认为2个事件时间间隔大于系统判断长按的时间间隔,以实现欺骗系统的目的,从而实现了为Android系统环境下的windows虚拟化云桌面连接提供系统鼠标右键功能,极大的方便了 Android下的windows虚拟化桌面用户。【专利附图】

【附图说明】
[0009]下面参照附图结合实施例对本发明作进一步的说明。
[0010]图1为本发明方法执行流程图。
【具体实施方式】
[0011]如图1所示,本发明的Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,包括
[0012]步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔;例如:系统定义的长按操作判定间隔时间为0.5s,鼠标右键按下时获取的当前系统时间为01时00分0秒,则投递Down事件后,把系统时间往前调一个系统定义的长按操作判定间隔时间(即0.5秒)后,当前系统时间为01时00分
0.5 秒。
[0013]步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间(即步骤10中往前调整后的时间),并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔(即0.5秒),以恢复原来的系统运行时间;例如:鼠标右键松开(Up)时获取的当前系统时间为01时00分0.6秒(S卩鼠标右键从按下到松开历时0.1秒),此时投递鼠标左键松开Up事件,然后把系统时间往回调0.5秒,即恢复正常的系统时间:01时00分0.1秒。
[0014]步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。
[0015]本发明的原理如下:
[0016]如【背景技术】中提到的,在Android系统上系统上使用鼠标右键时会被系统映射为返回键发送给应用程序。若在Android系统中当用户长按鼠标右键时,系统会发送LongPress消息给应用程序,应用程序在收到该消息后会执行相应的操作,而在桌面办公的远程桌面程序中,该操作会被处理为鼠标右键消息。这样,鼠标右键系统在Android系统最底层的Linux内核中依然能被识别,只是在转发消息是被转发为系统返回消息,但是Android系统并没有定义鼠标右键的消息。当长按鼠标时,Android系统会检测2次鼠标时间的系统间隔时间,判断鼠标事件是否为长按事件。在系统内核中,我们检测鼠标右键消息,当收到鼠标右键消息时,我们模拟发送2个鼠标点击时间,并让系统认为2个事件时间间隔大于系统判断长按的时间间隔,即可实现欺骗系统的目的。
[0017]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种Android系统环境下windows虚拟化桌面连接的鼠标右键实现方法,其特征在于:包括 步骤10、修改Linux系统鼠标驱动,当检测到鼠标右键按下Down事件时,先投递一个鼠标左键按下Down事件模拟鼠标左键按下,获取当前系统时间并把系统时间往前调一个系统定义的长按操作判定时间间隔; 步骤20、当鼠标右键松开Up事件产生时,获取当前系统时间,并根据触发按键长按事件的时间计算鼠标右键按下到松开的等待时间,再投递一个鼠标左键松开Up事件模拟鼠标左键松开,计算模拟鼠标左键长按时间并把当前系统时间往后调一个系统定义的长按操作判定时间间隔,以恢复原来的系统运行时间; 步骤30、通过前两个步骤就触发了一个鼠标左键长按事件,系统会将此长按事件发给云桌面系统,实现了系统鼠标右键功能。
【文档编号】H04L29/08GK103810121SQ201410055289
【公开日】2014年5月21日 申请日期:2014年2月19日 优先权日:2014年2月19日
【发明者】张辉, 张伟, 王金清 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1