CN117666854A - 共享输入设备的方法和电子设备 - Google Patents
共享输入设备的方法和电子设备 Download PDFInfo
- Publication number
- CN117666854A CN117666854A CN202211064485.1A CN202211064485A CN117666854A CN 117666854 A CN117666854 A CN 117666854A CN 202211064485 A CN202211064485 A CN 202211064485A CN 117666854 A CN117666854 A CN 117666854A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- mouse
- target
- event
- electronic
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000015654 memory Effects 0.000 claims description 45
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 241000699666 Mus <mouse, genus> Species 0.000 description 218
- 238000012545 processing Methods 0.000 description 44
- 238000004891 communication Methods 0.000 description 38
- 238000007726 management method Methods 0.000 description 36
- 230000006870 function Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 15
- 238000006073 displacement reaction Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 239000000243 solution Substances 0.000 description 11
- 238000002347 injection Methods 0.000 description 7
- 239000007924 injection Substances 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Telephone Function (AREA)
Abstract
本申请实施例提供了一种共享输入设备的方法和电子设备,该方法由第一电子设备执行,第一电子设备包括输入设备,该方法包括:在第一电子设备与至少两个第二电子设备建立连接之后,根据第一事件,确定当前共享输入设备的目标电子设备,该目标电子设备为至少两个第二电子设备中的一个设备,第一事件为触发共享输入设备的事件;拦截输入设备的第二事件,以及向目标电子设备发送第二事件,第二事件为输入设备输入的任意事件。该方法可以满足用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种共享输入设备的方法和电子设备。
背景技术
随着电子技术的发展,电子设备的种类越来越多,一个用户可同时拥有如手机、平板电脑、笔记本电脑、个人计算机(personal computer,PC)、智能家居(如智能电视)等电子设备。在一些场景下,用户具有连接笔记本电脑与手机、或者连接PC与手机、或者连接PC与平板电脑的需求。
以PC与手机连接为例,在手机与PC连接成功之后,手机可以共享PC的键鼠能力,即用户可以使用PC的键鼠对手机进行操作,以方便快捷的在两个电子设备之间进行切换。但是,该共享方法无法满足用户同时连接多个电子设备的需求,也大大降低了多个电子设备的利用率。
发明内容
本申请提供了一种共享输入设备的方法和电子设备,能够满足用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。
第一方面,本申请提供一种共享输入设备的方法,该方法由第一电子设备执行,第一电子设备包括输入设备,该方法包括:在第一电子设备与至少两个第二电子设备建立连接之后,根据第一事件,确定当前共享输入设备的目标电子设备,该目标电子设备为至少两个第二电子设备中的一个设备,第一事件为触发共享输入设备的事件;拦截输入设备的第二事件,以及向目标电子设备发送第二事件,第二事件为输入设备输入的任意事件。
其中,第一电子设备可以为PC,第二电子设备可以为手机或平板电脑,至少两个第二电子设备都可以与第一电子设备建立连接,并在建立连接后共享第一电子设备的输入设备。
当第一电子设备与至少两个第二电子设备建立连接之后,用户可以使用鼠标在第一电子设备的显示屏上移动,以穿越到一个第二电子设备上,或者用户可以语音输入穿越指令,或者用户可以使用键盘的方向键“←”或“→”输入穿越指令,这些事件可称为第一事件,本申请对第一事件的输入方式不做限制。当第一电子设备接收到第一事件后,需要确定该事件对应的目标电子设备,即当前需要将输入设备共享至哪个第二电子设备上,进而,在输入设备输入第二事件的情况下,第一电子设备便可以拦截此第二事件,并将第二事件的数据发送至目标电子设备,即实现了输入设备向目标电子设备穿越的过程。可以理解,用户可以根据需要将输入设备穿越至任意一个第二电子设备上,但是,在同一时间,只能有一个第二电子设备在共享第一电子设备的输入设备。
在一个实现方式中,第一电子设备可以通过Wi-Fi P2P复用技术与至少两个第二电子设备建立连接,其中,第一电子设备可以作为Group Owner,至少两个第二电子设备可以作为Group Client。
上述实现方式,第一电子设备可以同时与至少两个第二电子设备建立连接,并根据用户需求将输入设备共享至一个第二电子设备,由此,可以实现两个及以上电子设备与另一个电子设备进行键鼠共享,满足了用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。
结合第一方面,在第一方面的有些实现方式中,上述方法还包括:显示第一界面,第一界面包括第一电子设备的标识、以及至少两个第二电子设备的标识;若接收到对至少两个第二电子设备的标识的第一操作,与至少两个第二电子设备建立连接。
其中,本申请提供了一个用于操作第一电子设备和至少两个第二电子设备建立连接的界面,该界面上显示有第一电子设备的标识、以及至少两个第二电子设备的标识,这里的标识可以为电子设备的图标等。若用户需要将第二电子设备与第一电子设备建立连接,则可以向第二电子设备的标识输入第一操作,例如拖拽操作,点击操作等,第一电子设备接收到该操作后,便可以建立与第二电子设备之间的连接。可选地,用户也可以通过语音输入连接指令,以触发第一电子设备与第二电子设备建立连接。
上述实现方式,通过提供用于用户操作电子设备之间建立连接的界面,提高了与用户之间的交互性。
结合第一方面,在第一方面的有些实现方式中,上述至少两个第二电子设备的标识为至少两个第二电子设备的图标,第一操作为将至少两个第二电子设备的图标拖拽至第一界面上的目标区域的操作。
其中,上述第一界面上还包括目标区域,如果用户使用鼠标将至少两个电子设备的图标拖拽至该目标区域内,则可以确定输入了上述第一操作,第一电子设备便可以与至少两个第二电子设备建立连接。
在一个实现方式中,上述目标区域的数量为至少两个,目标区域位于第一电子设备的标识所在区域的外侧。
在该实现方式中,一个第二电子设备的图标可以被拖拽至一个目标区域内。示例性地,若用户使用鼠标在第一界面上将一个第二电子设备的图标拖拽至第一电子设备的图标的左边的目标区域,则后续鼠标向左穿越时便穿越至该第二电子设备上;若用户使用鼠标将另一个第二电子设备的图标拖拽至第一电子设备的图标的右边的目标区域,则后续鼠标向右穿越时便穿越至该第二电子设备上。
上述实现方式,第一电子设备通过在第一界面上划分目标区域,使用户方便快捷的触发电子设备之间建立连接,且所拖拽至的目标区域可以与后续鼠标穿越时的方向对应,也提高了共享输入设备时的效率。
结合第一方面,在第一方面的有些实现方式中,上述输入设备可以为鼠标,第一事件可以为通过鼠标输入的事件。
在此实现方式中,上述根据第一事件,确定当前共享输入设备的目标电子设备,包括:根据鼠标指针在第一电子设备的显示屏上的位置和移动方向,确定目标电子设备。
其中,在上述第一事件为通过鼠标所输入的事件的情况下,用户使用鼠标在第一电子设备的显示屏上移动,若鼠标指针滑过第一电子设备的显示屏的边缘,则可确认已满足鼠标穿越条件,则第一电子设备可以根据鼠标指针在第一电子设备的显示屏上的位置和移动方向,确定目标电子设备。
在一个实现方式中,上述根据鼠标指针在第一电子设备的显示屏上的位置和移动方向,确定目标电子设备,包括:若鼠标指针位于第一电子设备的显示屏的边缘,且继续向边缘外侧移动,则根据鼠标指针的移动方向,确定目标电子设备。
示例性地,若鼠标指针位于第一电子设备的显示屏的左边缘,且继续向左移动,则可以确定鼠标指针在向左穿越;若鼠标指针位于第一电子设备的显示屏的右边缘,且继续向右移动,则可以确定鼠标指针在向右穿越。然后,第一电子设备可以根据鼠标指针的该移动方向,确定目标电子设备。
在一个实现方式中,上述根据鼠标指针的移动方向,确定目标电子设备,包括:若鼠标指针的移动方向与第一界面上第一目标区域相对于第一电子设备的标识的方向相同,则将第一目标区域内放置的图标所对应的第二电子设备确定为目标电子设备,第一目标区域为目标区域中的一个区域。
示例性地,若鼠标指针在向左穿越,上述目标区域中的第二目标区域位于第一电子设备的标识的左侧,则可以确定鼠标是要穿越至第一目标区域所对应的第二电子设备上;若鼠标指针在向右穿越,上述目标区域中的第二目标区域位于第一电子设备的标识的右侧,则可以确定鼠标是要穿越至第二目标区域所对应的第二电子设备上。由此,即确定了目标电子设备具体是哪个第二电子设备,后续第一电子设备将所拦截的第二事件发送至该第二电子设备上即可。
上述实现方式,第一电子设备通过鼠标指针的位置和移动方向,确定当前要共享输入设备的目标电子设备,使用户可以使用鼠标快捷的执行穿越过程。
结合第一方面,在第一方面的有些实现方式中,在确定目标电子设备之后,上述方法还包括:向目标电子设备发送共享输入设备的第一消息,以及接收目标电子设备根据第一消息回复的确认消息。
其中,第一电子设备在确定了目标电子设备之后,可以向该目标电子设备发送一个消息,告知该目标电子设备准备共享输入设备,若目标电子设备已做好接收穿越事件的准备,则可以向第一电子设备回复确认消息,以为后续的共享过程做好数据准备。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是相关技术提供的一例使用PC的键鼠对手机进行操作的应用场景示意图;
图2是本申请实施例提供的一例共享输入设备的方法的应用场景示意图;
图3是本申请实施例提供的一例P2P架构的结构示意图;
图4是本申请实施例提供的一例电子设备的结构示意图;
图5是本申请实施例提供的另一例电子设备的结构示意图;
图6是本申请实施例提供的一例电子设备的软件结构框图;
图7是本申请实施例提供的一例共享输入设备的方法的流程示意图;
图8是本申请实施例提供的一例电脑管家应用程序的界面示意图;
图9是本申请实施例提供的一例连接电子设备的操作示意图;
图10是本申请实施例提供的另一例连接电子设备的操作示意图;
图11是本申请实施例提供的一例已连接电子设备的界面示意图;
图12是本申请实施例提供的又一例连接电子设备的操作示意图;
图13是本申请实施例提供的另一例电脑管家应用程序的界面示意图;
图14是本申请实施例提供的一例显示屏上坐标系的示意图;
图15是本申请实施例提供的一例共享输入设备的方法的模块时序流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
当前,一个用户可同时拥有如手机、平板电脑、笔记本电脑、PC等多个电子设备,在一些办公或娱乐的场景下,用户具有连接笔记本电脑与手机、或者连接笔记本电脑与平板电脑、或者连接PC与手机、或者连接PC与平板电脑的需求。其中,键鼠共享技术为电子设备之间的连接提供了解决方案,其是一种用一个电子设备的输入设备(如鼠标,键盘)对其他电子设备进行控制的技术。
以PC与手机连接为例,在手机与PC连接成功之后,手机可以共享PC的键鼠能力,即用户可以使用PC的键鼠对手机进行操作。如图1中的(a)图所示,手机已与PC建立连接,用户可以使用PC的鼠标对手机上的控件进行点击,或者,如图1中的(b)图所示,用户可以使用PC的键盘在手机上的输入框内输入文字内容。可以理解,手机与PC可以基于无线保真(wireless fidelity,Wi-Fi)协议、蓝牙(bluetooth)协议、ZigBee协议或者近距离无线通信(near field communication,NFC)协议等无线通信协议建立连接。
然而,传统技术中仅支持一个电子设备与另一个电子设备进行键鼠共享,例如只有一个手机与PC键鼠共享,或者只有一个平板电脑与PC键鼠共享。在用户具有同时连接多个电子设备的需求时,传统技术无法满足用户的此需求,且在只有一个电子设备与另一个电子设备进行键鼠共享时,也造成了其他电子设备的资源浪费,降低了多个电子设备的利用率。
有鉴于此,本申请实施例提供了一种共享输入设备的方法,可以实现两个及以上电子设备与另一个电子设备进行键鼠共享,满足了用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。需要说明的是,本申请实施例提供的共享输入设备的方法,可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
参见图2,其为本申请实施例提供的共享输入设备的方法的应用场景示意图,该应用场景中至少可以包括:第一电子设备11、第二电子设备A12和第二电子设备B13。
其中,第一电子设备11可以为PC,该第一电子设备11具有输入设备101。示例性地,该输入设备101可以为鼠标,键盘等,以下以输入设备101为鼠标为例进行描述。
第二电子设备A12可以为手机或平板电脑,第二电子设备B13也可以为手机或平板电脑,图中以第二电子设备A12为手机、第二电子设备B13为平板电脑为例进行示出。
在本申请实施例中,第一电子设备11与第二电子设备A12之间、第一电子设备11与第二电子设备B13之间可以通过有线或无线的方式建立连接。基于建立的连接,第一电子设备11可以和第二电子设备A12、第二电子设备B13配合使用。在以无线的方式建立连接的情况下,可以基于WiFi P2P(peer to peer)复用技术使第一电子设备11同时和第二电子设备A12、第二电子设备B13建立连接。下面对WiFi P2P复用技术进行简要介绍。
如图3所示,P2P架构中定义了三个组件:“一个设备,两个角色”。P2P Device:这个是P2P架构中的实体,可以将其当作一个Wi-Fi设备。P2P Group Owner:Group Owner(GO),为一种角色,与infrastructure BSS中的无线接入点(AP)类似。P2P Group Client:GroupClient(GC),为另一种角色,其作用与infrastructure BSS中的站点(STA)类似。在组件P2PGroup(P2P Network)之前,电子设备都是一个个的P2P Device。当这些P2PDevice设备之间完成P2P协商后,其中将有且只有一个P2P Device作为GO,而其他P2PDevice则作为GC;由于GO的功能与AP类似,所以周围不支持P2P功能的STA也能发现并关联到GO,这个STA被称为Legacy Client。结合到本申请实施例中,即第一电子设备11作为GO,第二电子设备A12和第二电子设备B13作为GC,建立了第一电子设备11与第二电子设备A12、第二电子设备B13之间的WiFi P2P连接。
在第一电子设备11与第二电子设备A12、第二电子设备B13连接后,利用键鼠共享技术,用户可使用一套输入设备,如上述输入设备101实现对第一电子设备11、第二电子设备A12与第二电子设备B13三者的控制。需要说明的是,本申请实施例对上述第二电子设备A12和第二电子设备B13的数量不做限制,即第一电子设备11不仅可以与一个第二电子设备A12、一个第二电子设备B13连接,还可以与多个第二电子设备A12、多个第二电子设备B13连接,以实现对多个电子设备的控制。
对于上述图2所示的应用场景,下面对第一电子设备11、第二电子设备A12和第二电子设备B13的结构进行介绍。
以第一电子设备11是PC为例,示例性地,图4为本申请实施例提供的一例电子设备的结构示意图。如图4所示,电子设备可以包括:处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,无线通信模块250,显示屏260等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulsecode modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块240为电池242充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏260,和无线通信模块250等供电。在一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
无线通信模块250可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如Wi-Fi网络),蓝牙,全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,电子设备可以通过无线通信模块250与终端设备(如无线耳机)建立蓝牙连接。
无线通信模块250可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块250经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块250还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
电子设备通过GPU,显示屏260,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏260和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏260用于显示图像,视频等。该显示屏260包括显示面板。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
以第二电子设备A12是手机、第二电子设备B13是平板电脑为例,手机和平板电脑可以采用相同或相近的结构,示例性地,图5为本申请实施例提供的另一例电子设备的结构示意图。如图5所示,电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括I2C接口,I2S接口,PCM接口,UART接口,MIPI,GPIO接口,用户标识模块(subscriber identitymodule,SIM)接口,和/或USB接口等。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。图5中的天线1和天线2的结构仅为一种示例。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括WLAN(如Wi-Fi)网络),蓝牙,GNSS,FM,NFC,IR等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
对于图4和图5所示的电子设备,为实现本申请实施例提供的共享输入设备的方法,还应具有图6所示的软件架构。结合图6,以第一电子设备11的软件系统是Windows系统,第二电子设备A12和第二电子设备B13的软件系统是Android系统为例,示例性说明第一电子设备11、第二电子设备A12和第二电子设备B13的软件架构。
其中,如图6所示,第一电子设备11的软件架构可以包括:应用层和驱动层。在一些实施例中,应用层可以包括安装在第一电子设备11的各个Windows应用程序,应用层的Windows应用程序可直接与驱动层的驱动进行交互。示例性地,Windows应用程序可以包括电脑管家应用程序,电脑管家应用程序可以包括多个模块,例如包括第一业务管理逻辑模块、键鼠抓取模块、边缘计算模块、键鼠Hook模块以及第一数据传输模块等。驱动层可以包括第一Wi-Fi驱动,用于与第二电子设备A12和第二电子设备B13建立Wi-Fi P2P连接。
第一业务管理逻辑模块用于对整个电脑管家业务进行管理,以及向其他模块发送指示指令等。键鼠抓取模块用于抓取键盘和/或鼠标的事件,并将事件信息(也可称为键鼠事件)发送至边缘计算模块。边缘计算模块用于根据获取到的事件信息进行计算,判断鼠标指针是否达到第一电子设备11的显示屏的边缘,并在鼠标达到边缘时由第一业务管理逻辑模块判断是否满足鼠标穿越条件,以及穿越至哪个电子设备。当鼠标穿越后,第一数据传输模块可以将穿越消息发送至第二电子设备A12(或第二电子设备B13)。同时,键鼠Hook模块对键鼠抓取模块继续抓取的键鼠事件进行拦截(Hook),避免第一电子设备11响应键鼠事件。被拦截的键鼠事件可交由边缘计算模块继续计算,并将计算得到的数据(例如鼠标位移量)通过第一数据传输模块发送至第二电子设备A12(或第二电子设备B13),由第二电子设备A12(或第二电子设备B13)根据接收到的数据进行处理。
第二电子设备A12和第二电子设备B13的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。以第二电子设备A12的软件系统是分层架构为例(第二电子设备B13的软件架构类似),分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,如图6所示,第二电子设备A12可以包括应用层和驱动层。应用层可以包括一系列应用程序包。例如,应用程序包可以包括设置,计算器,相机,短信息,音乐播放器等应用程序(图中未示出),还可以包括手机管家APP(application),或者平板管家APP等。以手机管家APP为例,手机管家APP可以包括多个模块,例如包括第二业务管理逻辑模块、键鼠事件处理模块、命令注入模块以及第二数据传输模块等。驱动层可以包括第二Wi-Fi驱动和uinput驱动,第二Wi-Fi驱动用于与第一电子设备11建立Wi-Fi P2P连接,uinput驱动用于接收命令注入模块发送的事件信息,并上报至Android input子系统。
第二业务管理逻辑模块用于对整个手机管家业务进行管理,以及向其他模块发送指示指令等。第二数据传输模块用于接收第一电子设备11的第一数据传输模块发送的信息或数据,例如接收穿越消息或者鼠标位移量。键鼠事件处理模块用于对第二数据传输模块接收到的数据进行处理,处理后发送至命令注入模块,进而由命令注入模块注入到uinput驱动。另外,键鼠事件处理模块还可以判断鼠标指针是否达到第二电子设备A的显示屏的边缘,并在鼠标达到边缘时由第二业务管理逻辑模块判断是否需要鼠标返回穿越,即穿越回第一电子设备11。
当然,第二电子设备A12还可以包括其他层,如应用程序框架层、安卓运行时(Android runtime)和系统库(图中未示出)等。应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数,可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
可以理解,第二电子设备B13中各模块的功能与第二电子设备A12相同或相近,在此不再赘述。
为了便于理解,本申请以下实施例将以具有图4至图6所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的共享输入设备的方法进行具体阐述。
图7是本申请实施例提供的一例共享输入设备的方法的流程示意图,以第一电子设备为PC、第二电子设备A为手机、第二电子设备B为平板电脑为例,该方法包括:
S11,第一电子设备与第二电子设备A、第二电子设备B建立连接。
在一些实施例中,第一电子设备可以与第二电子设备A、第二电子设备B之间通过有线方式建立连接,例如通过USB接口连接数据线建立连接。
在一些实施例中,第一电子设备可以与第二电子设备A、第二电子设备B之间通过无线方式建立连接。在该实现方式中,第一电子设备可以搜索发现附近的电子设备,或者是搜索发现附近与第一电子设备登录了相同账号的电子设备,当用户向第一电子设备输入连接操作后,第一电子设备便可以与第二电子设备A、第二电子设备B建立连接。
示例性地,第一电子设备上可以安装电脑管家应用程序,用户可以通过该应用程序输入连接操作。其中,电脑管家应用程序的打开界面如图8中的(a)图所示,由图中可以看出,电脑管家应用程序提供了超级键鼠功能(即键鼠共享)入口,即界面左侧的功能控件。当用户点击了超级终端控件31之后,如图8中的(b)图所示,界面右侧可显示出超级键鼠的功能界面。在该界面上,显示有4个区域:区域1、区域2、区域3和区域4。其中,区域1内显示的本电子设备(即第一电子设备)的图标,区域2和区域3当前为空白(也可显示类似台阶的图案),区域4内显示的是第一电子设备已搜索发现的电子设备图标,例如图中的手机图标(即第二电子设备A的图标)和平板电脑图标(即第二电子设备B的图标)。可以理解,第一电子设备可以通过蓝牙信号搜索发现附近的电子设备,也可以通过其他近场通信信号搜索发现附近的电子设备,在搜索到附近的电子设备后,还可以获取到电子设备的一些设备信息,例如互联网协议(internet protocol,IP)地址,端口号或登录的账号等。
若用户想要使用第一电子设备的输入设备(如键盘、鼠标)控制区域4内对应的电子设备,则可以使用鼠标拖拽区域4内的电子设备图标至区域2或者区域3内。这里需要说明的是,若将一个电子设备图标拖拽至区域2,即位于区域1的左边,则后续鼠标向左穿越时便会穿越至左边的电子设备上;若将一个电子设备图标拖拽至区域3,即位于区域1的右边,则后续鼠标向右穿越时便会穿越至右边的电子设备上。
例如,参见图9,用户使用鼠标将区域4内的手机图标拖拽至区域2内,显示界面由图9跳转至图10,此时区域4内只剩余平板电脑图标,手机图标已位于区域2内。在图10的界面上,用户使用鼠标将区域4内的平板电脑图标拖拽至区域3内,显示界面由图10跳转至图11,此时区域4内无图标,平板电脑图标已位于区域3内。
在一个实施例中,用户使用鼠标拖拽区域4内的电子设备图标时,还可以弹出选择框,用于选择鼠标穿越至该电子设备的穿越方向。例如,用户使用鼠标将区域4内的手机图标拖拽至区域2内时,弹出选择框,选择框内的选项可以包括:“鼠标向左穿越时穿越至该设备”、“鼠标向右穿越时穿越至该设备”。若用户选择“鼠标向左穿越时穿越至该设备”,则后续鼠标向左穿越时便会穿越至该手机上;若用户选择“鼠标向右穿越时穿越至该设备”,则后续鼠标向右穿越时便会穿越至该手机上。
对于用户使用鼠标所输入的拖拽操作,可理解为用户输入的连接操作。当第一电子设备首次接收到拖拽操作时,第一电子设备可以调用Wi-Fi驱动的能力创建一个模拟AP(SoftAP),并生成相应的SSID和密码,并将该SSID和密码发送至拖拽操作对应的电子设备,由对应的电子设备根据该SSID和密码连接SoftAP。例如在将手机图标拖拽至区域2内时,第一电子设备将SSID和密码发送至对应的手机。当第一电子设备再次接收到拖拽操作时,可以将之前创建的SSID和密码继续发送至拖拽操作对应的电子设备。由此,便建立了第一电子设备与第二电子设备A、第二电子设备B之间的连接。参见上述图11,手机图标已位于区域2内,平板电脑图标已位于区域3内,即此时手机和平板电脑都已与PC建立了连接。
在一些实施例中,为快速建立第一电子设备与其他电子设备之间的连接,用户还可以使用鼠标在第一电子设备的屏幕边缘连续点击或触碰。示例性地,参见图12,用户可以使用鼠标在区域5内连续点击或触碰,第一电子设备便可以与右侧的电子设备建立连接;或者,用户可以使用鼠标在区域6内连续点击或触碰,第一电子设备便可以与左侧的电子设备建立连接。建立连接后的界面效果还可如上述图11所示。
在一些实施例中,若用户将第二电子设备A与第二电子设备B的实际位置进行调换,则第一电子设备可以通过近场通信信号感应到此调换操作,那么在上述图11的界面上,第一电子设备也可以对区域2和区域3内的电子设备图标进行调换,即使平板电脑图标位于区域2内,手机图标位于区域3内,此调换过程不再以图例示出。
可以理解,在上述区域2和/或区域3内,可以有多个子区域,例如图13所示,区域2中从上至下有多个子区域,区域3中从上至下有多个子区域,每个子区域可以被放置一个电子设备图标。假设区域4内有多个电子设备图标,则可以将这多个电子设备图标依次拖拽至区域2和/或区域3的子区域内。还可以理解,这些子区域与区域1的相对位置与后续鼠标的穿越方向相对应,例如,若后续鼠标向左上方穿越时,便会穿越至子区域7对应的电子设备上;若后续鼠标向正左方穿越时,便会穿越至子区域8对应的电子设备上;若后续鼠标向左下方穿越时,便会穿越至子区域9对应的电子设备上。
在一些实施例中,第一电子设备与第二电子设备A、第二电子设备B建立连接之后,第二电子设备A和第二电子设备B可分别创建一个虚拟输入设备,该虚拟输入设备与第一电子设备上的输入设备的作用相同,例如虚拟的鼠标、键盘等输入设备,可用于第二电子设备A和第二电子设备B模拟对应的输入事件。例如,以输入设备为鼠标为例,手机创建的该虚拟输入设备与常规的鼠标作用相同,可以看作是PC共享给手机的鼠标,能够用于在手机端模拟鼠标事件,以实现PC的鼠标对手机的控制。示例性地,以手机的操作系统是Android系统为例,手机可利用linux的uinput能力实现虚拟输入设备的创建。其中,uinput可以模拟输入设备,通过写入/dev/uinput(或/dev/input/uinput)设备,进程可以创建具有特定功能的虚拟输入设备,一旦创建了该虚拟输入设备,其便可模拟对应的事件。
在一些实施例中,若用户想要取消第二电子设备A或第二电子设备B与第一电子设备之间的连接,则可以在图11所示的界面上,将区域2内的手机图标拖拽回区域4,或者将区域3内的平板电脑图标拖拽回区域4。
S12,第一电子设备监听鼠标事件,确定是否满足鼠标穿越条件。
其中,在第一电子设备与第二电子设备A、第二电子设备B建立连接之后,第一电子设备的鼠标仍是在对第一电子设备进行控制,此时第一电子设备可以开启一个监听任务,用于监听鼠标事件,例如监听鼠标指针的位置,以根据鼠标指针的位置判断是否满足鼠标穿越条件。
示例性地,鼠标穿越条件可以是鼠标指针滑过第一电子设备的显示屏的边缘。也就是说,用户可通过移动鼠标,使得该鼠标在第一电子设备的显示屏进行滑动,当鼠标指针滑过第一电子设备的显示屏的边缘,即触发了鼠标穿越条件,之后便转由鼠标对其他电子设备进行控制。
在一些实施例中,第一电子设备可根据鼠标指针的初始位置和相对位移,确定鼠标指针在第一电子设备的显示屏上的坐标位置,从而确定鼠标指针是否滑出第一电子设备的显示屏的边缘。
其中,以第一电子设备是PC为例,鼠标指针的初始位置可以是鼠标开始移动时,鼠标指针在PC显示屏上的坐标位置,或者说是鼠标开始移动之前鼠标指针在PC显示屏上的坐标位置,或者设定初始位置为PC显示屏的中心点。例如,PC确定鼠标指针是否滑出PC显示屏的边缘的具体过程可以是:结合图14,PC可建立一个坐标系,以鼠标指针的初始坐标位置为坐标原点(如图14中所示的位置o),X轴正方向为从坐标原点o指向PC显示屏右边缘的方向,Y轴正方向为从坐标原点o指向PC显示屏上边缘的方向。PC可以根据PC显示屏的分辨率和鼠标指针的初始位置,确定在该坐标系中PC显示屏各边缘的坐标值。例如,在该坐标系中,PC显示屏的右边缘在X轴上的坐标值为x1,左边缘在X轴上的坐标值为-x2,上边缘在Y轴上的坐标值为y1,下边缘在Y轴上的坐标值为-y2。在鼠标移动后,鼠标会向PC上报对应鼠标指针的相对位移,PC可以根据鼠标上报的相对位移可计算出鼠标移动后鼠标指针在PC显示屏上的坐标位置(x,y),然后根据该坐标位置(x,y),PC即可确定鼠标指针是否滑出PC显示屏的边缘。示例性地,如果鼠标指针在X轴的坐标值x大于x1,则可确定鼠标指针滑出PC显示屏的右边缘;如果鼠标指针在X轴的坐标值x小于-x2,则可确定鼠标指针滑出PC显示屏的左边缘;如果鼠标指针在Y轴的坐标值y大于y1,则可确定鼠标指针滑出PC显示屏的上边缘;如果鼠标指针在Y轴的坐标值y小于-y2,则可确定鼠标指针滑出PC显示屏的下边缘。
若第一电子设备检测到鼠标指针滑过第一电子设备的显示屏的边缘,则可以确定当前满足鼠标穿越条件。
S13,在满足鼠标穿越条件的情况下,第一电子设备确定目标电子设备,该目标电子设备为第二电子设备A和第二电子设备B中的其中一个设备。
由上述描述可知,鼠标穿越时可以是向上穿越、向下穿越、向左穿越或向右穿越,再结合上述图11的拖拽操作可知,所拖拽的区域与区域1的相对位置与鼠标穿越时的方向相对应。那么,若鼠标指针滑出第一电子设备的显示屏的左边缘,则鼠标是穿越至左边的电子设备,若鼠标指针滑出第一电子设备的显示屏的右边缘,则鼠标是穿越至右边的电子设备。以第二电子设备A位于第一电子设备的左侧,第二电子设备B位于第一电子设备右侧为例,即当鼠标指针滑出第一电子设备的显示屏的左边缘,则鼠标是穿越至第二电子设备A,第二电子设备A即为目标电子设备;当鼠标指针滑出第一电子设备的显示屏的右边缘,则鼠标穿越至第二电子设备B,第二电子设备B即为目标电子设备。
在一些实施例中,第一电子设备也可以接收用户输入的语音指令,根据该语音指令确定目标电子设备。例如,用户语音输入“鼠标向左穿越”的指令,第一电子设备接收到该指令后,对该指令进行解析得到左边的电子设备为目标电子设备。
S14,第一电子设备向目标电子设备发送穿越消息。
S15,目标电子设备向第一电子设备发送确认消息。
其中,在第一电子设备确认了目标电子设备后,便可以向目标电子设备发送穿越消息,以向目标电子设备通知第一电子设备的输入设备即将穿越。目标电子设备接收到穿越消息,若自身已做好被穿越的准备,则可以向第一电子设备发送确认消息。
在一些实施例中,目标电子设备自身做好被穿越的准备可以为:目标电子设备已创建了虚拟输入设备。若在上述第一电子设备与第二电子设备A、第二电子设备B建立连接之后,第二电子设备A和第二电子设备B便创建了虚拟输入设备,则此时目标电子设备便可以向第一电子设备发送确认消息。若第二电子设备A和第二电子设备B还未创建虚拟输入设备,则目标电子设备需先创建虚拟输入设备,再向第一电子设备发送确定消息。
S16,第一电子设备拦截键鼠事件。
S17,第一电子设备将拦截的键鼠事件发送至目标电子设备。
在一些实施例中,第一电子设备拦截键鼠事件的方式可以为:挂载HOOK,挂载的HOOK在鼠标穿越开始后可以用于拦截输入的键鼠事件(或者说屏蔽输入的键鼠事件),以输入设备是鼠标为例,该输入事件可以是鼠标事件(或者说屏蔽鼠标事件),使得鼠标事件在被第一电子设备接收后不会被第一电子设备响应。挂载的HOOK在拦截到键鼠事件后,还可以捕获键鼠事件中的操作参数,并通过将捕获到的操作参数发送给目标电子设备,以便目标电子设备利用创建的虚拟输入设备模拟对应的键鼠事件,进而对其进行响应。可选地,第一电子设备可以通过上述建立的连接通道(如MagicLink通道)将键鼠事件发送至目标电子设备。
示例性地,第一电子设备所拦截的键鼠事件中包括鼠标的位移量,则第一电子设备可以将该位移量发送至目标电子设备,以供目标电子设备对该位移量进行处理。
又示例性地,第一电子设备所拦截的键鼠事件中包括键盘输入的文字内容,则第一电子设备可以将该文字内容发送至目标电子设备,以供目标电子设备对该文字内容进行处理。
S18,目标电子设备对接收到的键鼠事件进行分发处理。
其中,目标电子设备在接收到键鼠事件后,可以对键鼠事件进行解析,并写入uinput设备节点,uinput设备节点对应的uinput驱动收到键鼠事件后,通过linux input机制上报到Android input子系统进行处理。
示例性地,以鼠标指针进行移动为例,第一电子设备拦截到此移动事件后,可以将该移动事件以及鼠标的位移量发送至目标电子设备。以第一电子设备为PC,目标电子设备为手机为例,由于PC与手机的操作系统不同,其输入的鼠标事件中鼠标操作参数的键值存在差异。因此,手机可根据预设的映射关系,将接收到的鼠标操作参数(如位移量)的键位码转换成手机能够识别的键位码。之后,手机利用创建的虚拟输入设备根据转换后的键位码可模拟出手机能够识别的输入设备,即可以模拟出鼠标的移动事件。
对于上述S14至S18的过程,在目标电子设备为第二电子设备A的情况下,即是如下实现过程:
S141,第一电子设备向第二电子设备A发送穿越消息。
S151,第二电子设备A向第一电子设备发送确认消息。
S16,第一电子设备拦截键鼠事件。
S171,第一电子设备将拦截的键鼠事件发送至第二电子设备A。
S181,第二电子设备A对接收到的键鼠事件进行分发处理。
在目标电子设备为第二电子设备B的情况下,即是如下实现过程:
S142,第一电子设备向第二电子设备B发送穿越消息。
S152,第二电子设备B向第一电子设备发送确认消息。
S16,第一电子设备拦截键鼠事件。
S172,第一电子设备将拦截的键鼠事件发送至第二电子设备B。
S182,第二电子设备B对接收到的键鼠事件进行分发处理。
其中,第二电子设备A、第二电子设备B的处理过程与上述目标电子设备的处理过程相同,在此不再赘述。
在一些实施例中,若鼠标当前穿越至了第二电子设备A,用户又想使用鼠标控制第二电子设备B,则可以操作鼠标向右移动,先穿越回第一电子设备,再从第一电子设备穿越至第二电子设备B。
上述共享输入设备的方法,通过Wi-Fi P2P复用技术可以实现两个及以上电子设备与另一个电子设备进行键鼠共享,满足了用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。
对于上述实施例的实现过程,也可以结合上述图6所示的软件架构来实现,下面结合上述图6所示的软件架构对本申请实施例提供的共享输入设备的方法进行描述,如图15所示,其是本申请实施例提供的一例共享输入设备的方法的时序流程示意图,具体可以包括:
S21,第一业务管理逻辑模块接收用户输入的连接操作。
S22,响应于连接操作,第一业务管理逻辑模块调用第一Wi-Fi驱动,与第二电子设备A的第二Wi-Fi驱动建立Wi-Fi P2P连接。
这里需要说明的是,第一业务管理逻辑模块调用第一Wi-Fi驱动,也与第二电子设备B的第三Wi-Fi驱动建立Wi-Fi P2P连接,由于图示的局限性,图15中仅以第二电子设备A为例示出。
S23,第一业务管理逻辑模块向键鼠抓取模块发送连接成功的消息。
其中,各模块之间所发送的消息可以为进程间通信(inter-processcommunication,IPC)消息,以下的消息类似。
S24,键鼠抓取模块监听键鼠事件。
S25,键鼠抓取模块将监听到的键鼠事件发送至边缘计算模块。
S26,边缘计算模块根据键鼠事件,计算鼠标指针在第一电子设备的显示屏上的坐标位置。
S27,边缘计算模块向第一业务管理逻辑模块发送鼠标指针在第一电子设备的显示屏上的坐标位置。
S28,第一业务管理逻辑模块根据鼠标指针在第一电子设备的显示屏上的坐标位置,确定是否满足鼠标穿越条件。
其中,确定是否满足鼠标穿越条件的过程可以参见上述实施例中的S12,在此不再赘述。
S29,在满足鼠标穿越条件的情况下,第一业务管理逻辑模块确定目标电子设备。
此实施例中,为方便描述,以目标电子设备为第二电子设备A为例进行示出。
S30,第一业务管理逻辑模块通过第一数据传输模块、第二数据传输模块向第二业务管理逻辑模块发送穿越消息。
S31,第二业务管理逻辑模块通过第二数据传输模块、第一数据传输模块向第一业务管理逻辑模块发送确认消息。
S32,第一业务管理逻辑模块向键鼠Hook模块发送拦截指示消息。
其中,该拦截指示消息用于指示键鼠Hook模块拦截键鼠抓取模块抓取的键鼠事件。
S33,键鼠Hook模块拦截键鼠事件。
S34,键鼠Hook模块将拦截的键鼠事件发送至边缘计算模块。
S35,边缘计算模块对拦截的键鼠事件进行解析计算,得到解析数据。
例如,边缘计算模块可以对拦截的键鼠事件进行解析,得到鼠标位移量。
S36,边缘计算模块将解析数据通过第一数据传输模块、第二数据传输模块发送至键鼠事件处理模块。
S37,键鼠事件处理模块对接收到的解析数据进行处理。
例如,键鼠事件处理模块根据解析数据中的鼠标位移量,处理得到在,进而使鼠标在第二电子设备A的显示屏上进行相应位移量的移动。
S38,键鼠事件处理模块将处理得到的数据发送至命令注入模块。
S39,命令注入模块将处理得到的数据注入到uinput驱动。
其中,uinput驱动收到键鼠事件对应的处理数据后,可以通过linux input机制上报到Android input子系统进行相应处理,具体处理过程可参见现有的相关技术,在此不再赘述。
可以理解,上述S36至S38的处理过程还可以为:边缘计算模块对解析数据进行处理,例如得到鼠标在第二电子设备A上对应的位移量,然后边缘计算模块将该处理得到的数据通过第一数据传输模块、第二数据传输模块发送至键鼠事件处理模块,此时键鼠事件处理模块无需再执行S37的处理过程(即该处理过程由第一电子设备的边缘计算模块执行),进而由键鼠事件处理模块将处理得到的数据发送至命令注入模块即可。
除上述过程之外,第二电子设备A的键鼠事件处理模块还可以根据接收到的解析数据确定鼠标指针是否达到第二电子设备A的显示屏的边缘,例如如果达到显示屏的右边缘,继续向右移动的话即可穿越回第一电子设备。
上述共享输入设备的方法,通过Wi-Fi P2P复用技术可以实现两个及以上电子设备与另一个电子设备进行键鼠共享,满足了用户同时连接多个电子设备的需求,也提高了多个电子设备的利用率。
上文详细介绍了本申请实施例提供的共享输入设备的方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述共享输入设备的方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图4或5所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的共享输入设备的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的共享输入设备的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的共享输入设备的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种共享输入设备的方法,其特征在于,所述方法由第一电子设备执行,所述第一电子设备包括所述输入设备,所述方法包括:
在所述第一电子设备与至少两个第二电子设备建立连接之后,根据第一事件,确定当前共享所述输入设备的目标电子设备,所述目标电子设备为所述至少两个第二电子设备中的一个设备,所述第一事件为触发共享所述输入设备的事件;
拦截所述输入设备的第二事件,以及向所述目标电子设备发送所述第二事件,所述第二事件为所述输入设备输入的任意事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
显示第一界面,所述第一界面包括第一电子设备的标识、以及所述至少两个第二电子设备的标识;
若接收到对所述至少两个第二电子设备的标识的第一操作,与所述至少两个第二电子设备建立连接。
3.根据权利要求2所述的方法,其特征在于,所述至少两个第二电子设备的标识为所述至少两个第二电子设备的图标,所述第一操作为将所述至少两个第二电子设备的图标拖拽至所述第一界面上的目标区域的操作。
4.根据权利要求3所述的方法,其特征在于,所述目标区域的数量为至少两个,所述目标区域位于所述第一电子设备的标识所在区域的外侧。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一电子设备与所述至少两个第二电子设备建立的连接为Wi-Fi P2P连接。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述输入设备包括鼠标,所述第一事件为通过所述鼠标输入的事件。
7.根据权利要求6所述的方法,其特征在于,所述根据第一事件,确定当前共享所述输入设备的目标电子设备,包括:
根据鼠标指针在所述第一电子设备的显示屏上的位置和移动方向,确定所述目标电子设备。
8.根据权利要求7所述的方法,其特征在于,所述根据鼠标指针在所述第一电子设备的显示屏上的位置和移动方向,确定所述目标电子设备,包括:
若所述鼠标指针位于所述第一电子设备的显示屏的边缘,且继续向边缘外侧移动,则根据所述鼠标指针的移动方向,确定所述目标电子设备。
9.根据权利要求8所述的方法,其特征在于,所述根据所述鼠标指针的移动方向,确定所述目标电子设备,包括:
若所述鼠标指针的移动方向与所述第一界面上第一目标区域相对于所述第一电子设备的标识的方向相同,则将所述第一目标区域内放置的图标所对应的第二电子设备确定为所述目标电子设备,所述第一目标区域为所述目标区域中的一个区域。
10.根据权利要求1至9中任一项所述的方法,其特征在于,在确定所述目标电子设备之后,所述方法还包括:
向所述目标电子设备发送共享所述输入设备的第一消息,以及接收所述目标电子设备根据所述第一消息回复的确认消息。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064485.1A CN117666854A (zh) | 2022-09-01 | 2022-09-01 | 共享输入设备的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211064485.1A CN117666854A (zh) | 2022-09-01 | 2022-09-01 | 共享输入设备的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117666854A true CN117666854A (zh) | 2024-03-08 |
Family
ID=90064983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211064485.1A Pending CN117666854A (zh) | 2022-09-01 | 2022-09-01 | 共享输入设备的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117666854A (zh) |
-
2022
- 2022-09-01 CN CN202211064485.1A patent/CN117666854A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3958533A1 (en) | Method for accessing wireless local area network and terminal | |
CN114089901B (zh) | 一种跨设备的对象拖拽方法及设备 | |
KR20210011027A (ko) | 애플리케이션 기능 구현 방법 및 전자 디바이스 | |
US20240073978A1 (en) | Method for monitoring link and terminal device | |
US11947998B2 (en) | Display method and device | |
US20230054451A1 (en) | Communication Connection Method and Electronic Device | |
EP4262242A1 (en) | Bluetooth connection method and device | |
CN114095905A (zh) | 设备交互方法和电子设备 | |
EP4350540A1 (en) | Account login method and electronic device | |
CN114218560B (zh) | 资源访问方法、装置、电子设备及存储介质 | |
CN114089900A (zh) | 一种跨设备的对象拖拽方法及设备 | |
US10158896B2 (en) | Video channel allocation management method and related device, and communication system | |
CN116431044A (zh) | 开启应用程序的方法、装置及终端设备 | |
WO2023029983A1 (zh) | 一种控件内容的拖拽方法、电子设备及系统 | |
CN116033342B (zh) | 地理围栏的处理方法、设备及存储介质 | |
CN117666854A (zh) | 共享输入设备的方法和电子设备 | |
CN114884685B (zh) | 电子设备的安全管理方法、电子设备及其可读介质 | |
CN116156044A (zh) | 设备协同方法及相关装置 | |
CN115407885A (zh) | 一种手写笔的连接控制方法和电子设备 | |
EP4280042A1 (en) | Distributed audio playing method, and electronic device | |
CN115828227B (zh) | 识别广告弹窗的方法、电子设备及存储介质 | |
CN115767602B (zh) | 设备协议子系统异常自动纠错方法和电子设备 | |
CN117376830B (zh) | 地理围栏匹配方法、电子设备及计算机可读存储介质 | |
CN116069224A (zh) | 输入控制方法及电子设备 | |
CN117135729A (zh) | 多设备协同方法、系统及终端设备 |
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 |