CN114579016A - 一种共享输入设备的方法、电子设备及系统 - Google Patents
一种共享输入设备的方法、电子设备及系统 Download PDFInfo
- Publication number
- CN114579016A CN114579016A CN202110131920.7A CN202110131920A CN114579016A CN 114579016 A CN114579016 A CN 114579016A CN 202110131920 A CN202110131920 A CN 202110131920A CN 114579016 A CN114579016 A CN 114579016A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- display interface
- boundary
- input
- cursor
- 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 107
- 230000033001 locomotion Effects 0.000 claims description 116
- 238000004891 communication Methods 0.000 claims description 59
- 230000006854 communication Effects 0.000 claims description 59
- 230000015654 memory Effects 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001976 improved effect Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 39
- 230000008859 change Effects 0.000 description 23
- 230000004044 response Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 238000010079 rubber tapping Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010349 pulsation Effects 0.000 description 2
- 210000001747 pupil Anatomy 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000017027 detection of gravity Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种共享输入设备的方法、电子设备及系统,可以支持多个电子设备间共享使用输入设备。第一电子设备在与第二电子设备建立第一连接后,第一电子设备的鼠标指针可以穿过显示界面的边界,出现在第二电子设备的显示界面上。在鼠标指针显示在第二电子设备显示屏上时,每当用户使用第一电子设备的输入设备如鼠标、键盘等进行输入操作时,第二电子设备可以接收来自于第一电子设备的输入事件,并对输入事件作出相应的响应,同时屏蔽在第一电子设备侧的输入事件。实施本方法,用户可以使用第一电子设备的输入设备在第二电子设备上进行输入操作,用户的输入操作可以方便快捷地在不同设备间切换,输入操作更具连贯性,提升了用户的输入体验。
Description
技术领域
本申请涉及终端领域,尤其涉及一种共享输入设备的方法、电子设备及系统。
背景技术
发明内容
本申请提供了一种共享输入设备的方法、相关电子设备及系统,可支持用户在不同电子设备间使用同一输入设备进行输入操作。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,本申请实施例提供了一种共享输入设备的方法,该方法包括:第一电子设备与第二电子设备建立第一连接。第一电子设备检测到第一移动操作,第一移动操作是指示第一光标移出第一电子设备的第一显示界面外的操作,第一移动操作对应于第三偏移量,第三偏移量用于表征第一光标移出第一显示界面外。然后第一电子设备可以通过第一连接向第二电子设备发送第一消息,第一消息可以用于通知第二电子设备显示第二光标。第二电子设备可以根据第一消息在第二显示界面中的第一位置处显示第二光标。在第二电子设备上显示第二光标之后,第一电子设备检测到第二移动操作,第二移动操作对应于第一偏移量。第一电子设备通过第一连接向第二电子设备发送第二消息,第二消息携带第一偏移量。第二电子设备将第二光标从第一位置移动至第二位置,第二位置相对于第一位置的偏移量为第一偏移量。比如,在一些实施例中,PC与PAD建立连接后,可以使用PC的鼠标、键盘等输入设备在PAD上进行输入。在PC上的鼠标指针移到PC显示界面的边界且继续往边界外移动时,PC向PAD发送消息,通知PAD显示鼠标指针。响应于PC的消息,PAD可以在显示界面中显示鼠标指针。然后,当用户使用PC的输入设备输入内容时,PAD可以接收并响应来自于PC的输入事件。比如用户移动鼠标一定距离,PAD中的鼠标指针可以移动对应的偏移量;用户在PC的键盘上输入,PAD中可以显示输入的字符等。
实施第一方面的方法,多个电子设备之间可以共享使用输入设备,可以通过使用第一电子设备的输入设备在第二电子设备中进行输入。比如用户可以使用PC的鼠标、键盘在PAD中进行输入。该方法可以使得用户的输入操作更具连贯性,不需要来回切换输入设备,就可以使输入操作方便快捷地在不同设备间切换,提升了用户的输入体验。
结合第一方面,在一些实施例中,该方法还可以包括:第一电子设备检测到第三移动操作,第三移动操作是指示第二光标移出第二电子设备的第二显示界面外的操作,第三移动操作对应于第二偏移量,第二偏移量用于表征第二光标移出第二电子设备的第二显示界面外。第一电子设备在第一显示界面中的第三位置处显示第一光标。比如鼠标指针可以在达到PAD显示界面的边界且继续外移时,鼠标指针可以再次显示在PC的显示界面上。
结合第一方面,在一些实施例中,第一电子设备包括第一输入设备,第一输入设备可以包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置等等。
结合第一方面,在一些实施例中,第一移动操作或第二移动操作或第三移动操作是第一输入设备通过第一输入设备检测到的。
结合第一方面,在一些实施例中,第一位置位于第二显示界面的第二边界上,第三位置位于第一显示界面的第一边界上。
结合第一方面,在一些实施例中,第一移动操作,或第二移动操作,或第三移动操作为用户移动鼠标,或用户操作触敏面板,或用户操作键盘,或用户操作手写板,或用户操作遥控杆,或用户操作语音输入装置,或用户眼睛移动,或指示光标移动的程序指令等输入操作。
结合第一方面,在一些实施例中,第一消息携带第一位置的坐标。
结合第一方面,在一些实施例中,如果第一位置位于第二显示界面的边界上,则第一偏移量用于指示第二光标朝第二显示界面内的方向移动。
结合第一方面,在一些实施例中,第一显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,第二显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界。其中,如果第一边界为第一显示界面的左边界,那么第二边界为第二显示界面的右边界;如果第一边界为第一显示界面的右边界,那么第二边界为第二显示界面的左边界;如果第一边界为第一显示界面的上边界,那么第二边界为第二显示界面的下边界;如果第一边界为第一显示界面的下边界,那么第二边界为第二显示界面的上边界。
结合第一方面,在一些实施例中,第一电子设备搭载第一操作系统,第二电子设备搭载第二操作系统。
结合第一方面,在一些实施例中,该方法还包括:在第二光标显示在第二显示界面上的情况下,第一电子设备检测到第一输入事件,其中,第一输入事件来自于第一电子设备的第一输入设备采集到的输入操作。第一电子设备将第一输入事件映射为第二输入事件,其中,第一电子设备中存储有第一映射表,第一映射表存储有第一输入事件与第二输入事件之间的映射关系。第一电子设备向第二电子设备发送第三消息,第三消息携带第二输入事件。第二电子设备接收第二输入事件。
结合第一方面,在一些实施例中,在第一输入设备为键盘的情况下,第一输入事件包括用户敲击键盘产生的第一键码值,第二输入事件包括第二键码值,第一键码值在第一操作系统中对应的字符或控制命令与第二键码值在第二操作系统中对应的字符或控制命令一致。
结合第一方面,在一些实施例中,第一显示界面的显示区域为第一分辨率所对应的可视区域,第二显示界面的显示区域为第二分辨率所对应的可视区域。
结合第一方面,在一些实施例中,该方法还包括:在第一电子设备检测到第一移动操作之后,第一电子设备根据第一光标在第一显示界面上的坐标、第一显示界面的第一分辨率、从第二电子设备获取到的第二显示界面的第二分辨率,确定第二光标显示在第二显示界面上的第一位置的坐标。
结合第一方面,在一些实施例中,该方法还包括:第一电子设备创建虚拟屏,虚拟屏的分辨率为第二分辨率。在第二电子设备在第二显示界面中的第一位置处显示第二光标的同时,第一电子设备将第一光标移至虚拟屏的第四位置,第四位置与第一位置的坐标值相同。在检测到第二移动操作时,第一电子设备将第一光标从第四位置移动至第五位置,第五位置与第二位置的坐标值相同。比如,PC创建一个与PAD显示屏的分辨率相同的虚拟屏,鼠标指针在移出PC显示屏的边界后,会移动到虚拟屏上,同时在PAD显示界面上显示一个鼠标指针,在虚拟屏上的鼠标指针的位置与在PAD上显示的鼠标指针的坐标位置一一对应,坐标值相同,这样鼠标指针在虚拟屏上坐标可以直接发送至PAD,不需要复杂的坐标转换,节省了处理器功耗。
结合第一方面,在一些实施例中,当第二光标显示在第二显示界面上时,第一电子设备的第一显示界面上不显示第一光标。比如鼠标指针显示在PAD显示界面中的时候,同时可以屏蔽在PC侧的输入事件,即PC不对输入设备的输入事件作出响应。
结合第一方面,在一些实施例中,该方法还包括:当第二电子设备的显示界面布局由第二显示界面变成第三显示界面,第二电子设备将第二光标的所在位置由第二位置变为第六位置,其中,第二显示界面与第三显示界面包含的界面元素相同,第二显示界面的分辨率与第三显示界面的分辨率不同。比如PAD由横屏状态变为竖屏状态时,如果PAD显示界面的布局发生了变化,鼠标指针的位置可能随之发生变化,可以指向同一个像素点,也可以指向同一个界面元素。或者折叠屏手机在展开状态与折叠状态之间切换时,鼠标指针的位置也可能随着显示界面的变化而变化。
结合第一方面,在一些实施例中,第二位置与第六位置指向相同的界面元素。
第二方面,本申请实施例提供了一种共享输入设备的方法,应用于第一电子设备上,该方法包括:第一电子设备与第二电子设备建立第一连接。第一电子设备检测到第一移动操作,第一移动操作是指示第一光标移出第一电子设备的第一显示界面外的操作,第一移动操作对应于第三偏移量,第三偏移量用于表征第一光标移出第一显示界面外。第一电子设备通过第一连接向第二电子设备发送第一消息,第一消息用于通知第二电子设备显示第二光标。第一电子设备检测到第二移动操作,第二移动操作对应于第一偏移量。第一电子设备通过第一连接向第二电子设备发送第二消息,第二消息携带第一偏移量,第二消息用于通知第二电子设备将第二光标从第一位置移动至第二位置,第二位置相对于第一位置的偏移量为第一偏移量。比如,在一些实施例中,PC与PAD建立连接后,可以使用PC的鼠标、键盘等输入设备在PAD上进行输入。在PC上的鼠标指针移到PC显示界面的边界且继续往边界外移动时,PC向PAD发送消息,通知PAD显示鼠标指针。响应于PC的消息,PAD可以在显示界面中显示鼠标指针。然后,当用户使用PC的输入设备输入内容时,PAD可以接收并响应来自于PC的输入事件。比如用户移动鼠标一定距离,PAD中的鼠标指针可以移动对应的偏移量;用户在PC的键盘上输入,PAD中可以显示输入的字符等。
实施第二方面的方法,多个电子设备之间可以共享使用输入设备,可以通过使用第一电子设备的输入设备在第二电子设备中进行输入。比如用户可以使用PC的鼠标、键盘在PAD中进行输入。该方法可以使得用户的输入操作更具连贯性,不需要来回切换输入设备,就可以使输入操作方便快捷地在不同设备间切换,提升了用户的输入体验。
结合第二方面,在一些实施例中,该方法还包括,第一电子设备检测到第三移动操作,第三移动操作是指示第二光标移出第二电子设备的第二显示界面外的操作,第三移动操作对应于第二偏移量,第二偏移量可以用于表征第二光标移出第二电子设备的第二显示界面外。第一电子设备在第一显示界面中的第三位置处显示第一光标。
结合第二方面,在一些实施例中,第一电子设备包括第一输入设备,第一输入设备可以包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置等等。
结合第二方面,在一些实施例中,第一移动操作或第二移动操作或第三移动操作是第一输入设备通过第一输入设备检测到的。
结合第二方面,在一些实施例中,第一位置位于第二显示界面的第二边界上,第三位置位于第一显示界面的第一边界上。
结合第二方面,在一些实施例中,第一移动操作,或第二移动操作,或第三移动操作为用户移动鼠标,或用户操作触敏面板,或用户操作键盘,或用户操作手写板,或用户操作遥控杆,或用户操作语音输入装置,或用户眼睛移动,或指示光标移动的程序指令等输入操作。
结合第二方面,在一些实施例中,第一消息携带第一位置的坐标。
结合第二方面,在一些实施例中,如果第一位置位于第二显示界面的边界上,则第一偏移量用于指示第二光标朝第二显示界面内的方向移动。
结合第二方面,在一些实施例中,第一显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,第二显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界。如果第一边界为第一显示界面的左边界,那么第二边界为第二显示界面的右边界;如果第一边界为第一显示界面的右边界,那么第二边界为第二显示界面的左边界;如果第一边界为第一显示界面的上边界,那么第二边界为第二显示界面的下边界;如果第一边界为第一显示界面的下边界,那么第二边界为第二显示界面的上边界。
结合第二方面,在一些实施例中,第一电子设备搭载第一操作系统,第二电子设备搭载第二操作系统。
结合第二方面,在一些实施例中,该方法还包括,在第二光标显示在第二显示界面上的情况下,第一电子设备检测到第一输入事件,其中,第一输入事件来自于第一电子设备的第一输入设备采集到的输入操作。然后第一电子设备将第一输入事件映射为第二输入事件,其中,第一电子设备中存储有第一映射表,第一映射表存储有第一输入事件与第二输入事件之间的映射关系。第一电子设备向第二电子设备发送第三消息,第三消息携带第二输入事件。
结合第二方面,在一些实施例中,第一显示界面的显示区域为第一分辨率所对应的可视区域,第二显示界面的显示区域为第二分辨率所对应的可视区域,该方法还包括,在第一电子设备检测到第一移动操作之后,第一电子设备根据第一光标在第一显示界面上的坐标、第一显示界面的第一分辨率、从第二电子设备获取到的第二显示界面的第二分辨率,确定第二光标显示在第二显示界面上的第一位置的坐标。
结合第二方面,在一些实施例中,在第一输入设备为键盘的情况下,第一输入事件包括用户敲击键盘产生的第一键码值,第二输入事件包括第二键码值,第一键码值在第一操作系统中对应的字符或控制命令与第二键码值在第二操作系统中对应的字符或控制命令一致。
结合第二方面,在一些实施例中,该方法还包括,第一电子设备创建虚拟屏,虚拟屏的分辨率为第二分辨率。在第二电子设备在第二显示界面中的第一位置处显示第二光标的同时,第一电子设备将第一光标移至虚拟屏的第四位置,第四位置与第一位置的坐标值相同。在检测到第二移动操作时,第一电子设备将第一光标从第四位置移动至第五位置,第五位置与第二位置的坐标值相同。
结合第二方面,在一些实施例中,当第二光标显示在第二显示界面上时,第一电子设备的第一显示界面上不显示第一光标。比如鼠标指针显示在PAD显示界面中的时候,同时可以屏蔽在PC侧的输入事件,即PC不对输入设备的输入事件作出响应。
第三方面,本申请实施例提供了一种共享输入设备的方法,应用于第二电子设备上,该方法可以包括:第二电子设备与第一电子设备建立第一连接。第二电子设备通过第一连接接收来自于第一电子设备的第一消息,第一消息用于第一电子设备通知第二电子设备显示第二光标,第一消息是第一电子设备检测到第一移动操作后生成的,第一移动操作是指示第一光标移出第一电子设备的第一显示界面外的操作,第一移动操作对应于第三偏移量,第三偏移量用于表征第一光标移出第一电子设备的第一显示界面外。第二电子设备根据第一消息在第二显示界面中的第一位置处显示第二光标。第二电子设备通过第一连接接收来自于第一电子设备的第二消息,第二消息携带第一偏移量,第二消息是第一电子设备检测到第二移动操作后生成的,第二移动操作对应于第一偏移量。第二电子设备将第二光标从第一位置移动至第二位置,第二位置相对于第一位置的偏移量为第一偏移量。比如,在一些实施例中,PAD与PC建立连接后,PAD可以使用PC的鼠标、键盘等输入设备在PAD上进行输入。在PC上的鼠标指针移到PC显示界面的边界且继续往边界外移动时,PC向PAD发送消息,通知PAD显示鼠标指针。响应于PC的消息,PAD可以在显示界面中显示鼠标指针。然后,当用户使用PC的输入设备输入内容时,PAD可以接收并响应来自于PC的输入事件。比如用户移动鼠标一定距离,PAD中的鼠标指针可以移动对应的偏移量;用户在PC的键盘上输入,PAD中可以显示输入的字符等。
实施第三方面的方法,多个电子设备之间可以共享使用输入设备,第二电子设备在输入设备不方便的情况下,可以通过使用第一电子设备的输入设备在第二电子设备中进行输入。比如用户可以使用PC的鼠标、键盘在PAD中进行输入。该方法可以使得用户的输入操作更具连贯性,不需要来回切换输入设备,就可以使输入操作方便快捷地在不同设备间切换,提升了用户的输入体验。
结合第三方面,在一些实施例中,该方法还可以包括:第二电子设备接收到第一电子设备发送的第二偏移量,第二偏移量是第三移动操作对应的偏移量,第三移动操作是指示第二光标移出第二电子设备的第二显示界面外的操作,第二偏移量用于表征第二光标移出第二电子设备的第二显示界面外。然后第二电子设备取消显示第二光标。
结合第三方面,在一些实施例中,在第二电子设备取消显示第二光标时,第一光标显示在第一电子设备的第一显示界面中的第三位置处。
结合第三方面,在一些实施例中,第一位置位于第二显示界面的第二边界上,第三位置位于第一显示界面的第一边界上。
结合第三方面,在一些实施例中,第一电子设备包括第一输入设备,第一输入设备可以包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置等等。
结合第三方面,在一些实施例中,第一移动操作或第二移动操作或第三移动操作是第一输入设备通过第一输入设备检测到的。
结合第三方面,在一些实施例中,第一移动操作,或第二移动操作,或第三移动操作为用户移动鼠标,或用户操作触敏面板,或用户操作键盘,或用户操作手写板,或用户操作遥控杆,或用户操作语音输入装置,或用户眼睛移动,或指示光标移动的程序指令等输入操作。
结合第三方面,在一些实施例中,第一消息携带第一位置的坐标。
结合第三方面,在一些实施例中,如果第一位置位于第二显示界面的边界上,则第一偏移量用于指示第二光标朝第二显示界面内的方向移动。
结合第三方面,在一些实施例中,第一显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,第二显示界面有四个边界,四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界。如果第一边界为第一显示界面的左边界,那么第二边界为第二显示界面的右边界;如果第一边界为第一显示界面的右边界,那么第二边界为第二显示界面的左边界;如果第一边界为第一显示界面的上边界,那么第二边界为第二显示界面的下边界;如果第一边界为第一显示界面的下边界,那么第二边界为第二显示界面的上边界。
结合第三方面,在一些实施例中,该方法还可以包括,在第二光标显示在第二显示界面上的情况下,第二电子设备通过第一连接接收来自于第一电子设备的第三消息,第三消息携带第二输入事件,第二输入事件为第一输入事件对应映射的输入事件,其中,第一电子设备中存储有第一映射表,第一映射表存储有第一输入事件与第二输入事件之间的映射关系,第一输入事件来自于第一电子设备的第一输入设备采集到的输入操作。
结合第三方面,在一些实施例中,在第一输入设备为键盘的情况下,第一输入事件包括用户敲击键盘产生的第一键码值,第二输入事件包括第二键码值,第一键码值在第一操作系统中对应的字符或控制命令与第二键码值在第二操作系统中对应的字符或控制命令一致。
结合第三方面,在一些实施例中,第一电子设备搭载第一操作系统,第二电子设备搭载第二操作系统。
结合第三方面,在一些实施例中,第一显示界面的显示区域为第一分辨率所对应的可视区域,第二显示界面的显示区域为第二分辨率所对应的可视区域,第二光标显示在第二显示界面上的第一位置的坐标是第一电子设备根据第一光标在第一显示界面上的坐标、第一显示界面的第一分辨率、从第二电子设备获取到的第二显示界面的第二分辨率确定的。
结合第三方面,在一些实施例中,第二光标位于第二显示界面中第一位置的坐标值与第一光标在虚拟屏中的第四位置的坐标值相同,虚拟屏由第一电子设备所创建,虚拟屏的分辨率为第二分辨率,第四位置为第一光标移出第一显示界面外后在虚拟屏上出现的位置。第二光标位于第二显示界面中第二位置的坐标值与第一光标在虚拟屏中的第五位置的坐标值相同,第五位置相对于第四位置的偏移量为第一偏移量。
结合第三方面,在一些实施例中,该方法还可以包括:当第二电子设备的显示界面布局由第二显示界面变成第三显示界面,第二电子设备将第二光标的所在位置由第二位置变为第六位置,其中,第二显示界面与第三显示界面包含的界面元素相同,第二显示界面的分辨率与第三显示界面的分辨率不同。比如PAD由横屏状态变为竖屏状态时,如果PAD显示界面的布局发生了变化,鼠标指针的位置可能随之发生变化,可以指向同一个像素点,也可以指向同一个界面元素。或者折叠屏手机在展开状态与折叠状态之间切换时,鼠标指针的位置也可能随着显示界面的变化而变化。
结合第三方面,在一些实施例中,第二位置与第六位置指向相同的界面元素。
第四方面,本发明实施例提供了一种电子设备,电子设备可包括通信装置、存储器、一个或多个处理器、以及一个或多个程序,一个或多个处理器用于执行存储在存储器中的一个或多个计算机程序,使得电子设备可实现如第二方面中第一电子设备具有的任一功能。
第五方面,本申请实施例提供了一种电子设备,电子设备可包括通信装置、存储器、一个或多个处理器、以及一个或多个程序,一个或多个处理器用于执行存储在存储器中的一个或多个计算机程序,使得电子设备可实现如第三方面中第二电子设备具有的任一功能。
第六方面,本申请实施例提供了一种通信系统,该通信系统可包括前述各方面中描述的第一电子设备、第二电子设备。可理解的,基于同一发明思想,第六方面的系统中第一电子设备、第二电子设备执行的各个步骤可参考第一方面的方法中的第一电子设备、第二电子设备实现对应功能时所执行的步骤,第一电子设备、第二电子设备具有的功能以及其他说明可以参考第四方面、第五方面中的相关描述,这里不再赘述。
第七方面,本发明实施例提供了一种计算机存储介质,该存储介质中存储有计算机程序,该计算机程序包括可执行指令,该可执行指令当被处理器执行时使该处理器执行如第一方面,或第二方面,或第三方面所提供的方法对应的操作。
第八方面,本申请实施例提供了一种芯片系统,该芯片系统可以应用于电子设备,该芯片包括一个或多个处理器,处理器用于调用计算机指令以使得电子设备实现如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式,或如第三方面中任一可能的实现方式。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,其特征在于,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式,或如第三方面中任一可能的实现方式。
实施本申请提供的共享输入设备的方法,多个电子设备之间可以共享使用输入设备,比如用户可以使用PC的鼠标、键盘在PAD中进行输入。该方法可以使得用户的输入操作更具连贯性,不需要来回切换输入设备,就可以使输入操作方便快捷地在不同设备间切换,提升了用户的输入体验。并且该方法优化了实现步骤,减少了复杂的坐标转换,降低了处理器的功耗。
附图说明
图1为本申请实施例提供的一种通信系统的示意图;
图2为本申请实施例提供的电子设备的硬件结构示意图;
图3为本申请实施例提供的通信系统的软件架构示意图;
图4A-图4B为本申请实施例提供的一种内部实现方法的示意图;
图5A-图5C为本申请实施例提供的一组用户界面示意图;
图6A-图6C为本申请实施例提供的一组场景界面示意图;
图7为本申请实施例提供的用户界面示意图;
图8为本申请实施例提供的用户界面示意图;
图9A-图9C为本申请实施例提供的一组场景示意图;
图10A-图10C为本申请实施例提供的另一组场景示意图;
图11为本申请实施例提供的用户界面示意图;
图12为本申请实施例提供的用户界面示意图;
图13为本申请实施例提供的共享输入设备的方法流程图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
智能终端设备种类繁多,包括手机、PC、PAD、电视等。由于各个终端设备之间是独立的,并且各个终端之间还可能存在生态系统的差异,比如一个PC的操作系统为另一个平板电脑的操作系统为每个电子设备拥有与自己配套的输入设备,并且通常不同电子设备的输入设备不能共用,比如PC一般需要使用鼠标、键盘、手写板等进行输入操作,PAD、手机通常是通过触控操作进行输入。但是在有些情况下,比如使用键盘、鼠标输入文字比触控软键盘更为方便快捷,用户在PAD上写文档时会有使用鼠标、键盘的需求。用户同时使用PC和PAD的情景下,如果给PAD另外配备一套键鼠设备,会造成输入设备冗余,以及用户在使用不同电子设备时需要来回切换输入设备的问题,用户使用不便捷,降低了用户体验。
以PC与PAD共享使用PC的输入设备如鼠标、键盘等为例,在一种可实现的投屏方案中,PC显示界面中建立PAD的投屏界面,用户可以使用鼠标、键盘等输入设备在投屏界面中进行输入操作,然后这些输入操作再通过投屏连接发送到PAD端,PAD对这些输入操作响应。在这种实现方案中,PAD投屏界面遮挡、占用PC显示界面的空间,造成PC显示界面的浪费;并且PAD投屏界面中的鼠标位置需要经过相对复杂的转换,以对应PAD实际显示界面的位置,计算相对复杂;另外,维持投屏功能对处理器来说功耗较高。
本申请实施例提供了一种共享输入设备的方法,该方法可以应用于包括多个电子设备的通信系统中。以PC与PAD共享使用PC的输入设备如鼠标、键盘等为例,根据本申请提供的方法,PC可以在与PAD建立用于共享输入设备的连接后,PC的鼠标指针可以在到达PC显示界面的边界,并且检测到鼠标继续向边界外移动的偏移量时,PC可以计算鼠标指针将要出现在PAD显示界面上的第一位置并发送给PAD,通知PAD在其显示界面上显示鼠标指针。然后PAD可以根据PC发送的消息,在第一位置处绘制出鼠标指针。该第一位置可以位于PAD显示界面的边界上。在一些实施例中,PC可以在与PAD建立用于共享输入设备的连接后,创建一个与PAD相同分辨率的虚拟屏。在鼠标指针到达PC显示界面的边界并且继续向界面外移动时,该鼠标指针可以穿过PC显示界面移动至虚拟屏上,同时,PAD可以根据PC发送的消息,在PAD显示界面上绘制出鼠标指针。由于虚拟屏的分辨率与PAD显示屏的分辨率相同,所以鼠标指针在虚拟屏上的位置与在PAD上显示的坐标位置一一对应,鼠标指针在虚拟屏上坐标可以直接发送至PAD,不需要复杂的坐标转换。
在鼠标指针显示在PAD中时,每当PC接收到鼠标、键盘等输入事件时,可以映射为对应的作用于PAD上的输入事件,并发送给PAD。PAD在接收到来自于PC输入设备的输入事件后,对输入事件作出相应的响应。同时屏蔽在PC侧的输入事件,即PC不对输入设备的输入事件作出响应。
实施本申请提供的共享输入设备的方法,多个电子设备之间可以共享使用输入设备,比如用户可以使用PC的鼠标、键盘在PAD中进行输入。该方法可以使得用户的输入操作更具连贯性,不需要来回切换输入设备,就可以使输入操作方便快捷地在不同设备间切换,提升了用户的输入体验。并且相对于上述投屏方案,减少了复杂的坐标转换,降低了处理器的功耗。
下面介绍在本申请实施例中涉及的一些相关术语、概念。
像素(pixel,PX)为图像显示的基本单位。每个像素可有各自的颜色值,可采用三原色显示,比如可以分成红、绿、蓝三种子像素(RGB色域),或者青、品红、黄和黑(CMYK色域)。图像是一个个像素点的集合,通常情况下,单位面积内的像素越多代表分辨率越高,所显示的图像就会接近于真实物体。在电子设备上,像素数可分为水平像素数和垂直像素数。水平像素数表示水平方向含有的像素点数,垂直像素数表示垂直方向上含有的像素点数。
分辨率是指横向、纵向上的像素点数,单位是px,1px=1个像素点。分辨率可以确定显示多少信息,以水平像素数和垂直像素数进行衡量,即分辨率=水平像素数*垂直像素数,如1960*1080。就相同物理尺寸大小的图像而言,当分辨率相对较低时(例如640*480),显示的像素少,单个像素尺寸比较大,显示效果较为粗糙;当分辨率相对较高时(例如1600*1200),显示的像素多,单个像素尺寸比较小,显示效果比较精细。
用户界面(user interface,UI),是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
输入设备(inputdevice)是指向电子设备输入数据和信息的设备,是用户与电子设备或电子设备与其他电子设备通信的桥梁。输入设备是用户与电子设备之间进行信息交换的主要装置之一,包括但不限于键盘(keyboard)、鼠标(mouse)、摄像头、扫描仪、手写板、手写笔、遥控杆、触控屏(touchpanel)、语音输入装置等等。输入设备可以把检测到的用户操作生成输入数据输入到电子设备中,生成的输入数据可以是数值型的数据,也可以是非数值型的数据,如图形、图像、声音等。本申请实施例对输入设备的类型及输入设备生成的输入数据不作任何限制。
图1示出了本申请实施例提供的通信系统10。通信系统10可以包括电子设备100和电子设备200,电子设备100和电子设备200之间建立有第一连接105。其中,电子设备100可以是智能手机、平板电脑、笔记本电脑、台式电脑或者其他类型的电子设备,本申请对此不作任何限制。在一些实施例中,如图1所示,电子设备100可以为PC,电子设备200可以为平板电脑。
在图1所示的通信系统10中,电子设备100(如PC)可以包括显示器101及输入设备如鼠标102和键盘103。其中,输入设备例如鼠标102和键盘103可以通过有线连接接入电子设备100,比如通用串行总线(uniersalserialbus,USB)连接等,也可以通过无线连接接入电子设备100,如蓝牙(bluetooth,BT)连接、无线保真(wireless fidelity,Wi-Fi)连接等,本申请对输入设备的连接方式不作特殊限制。在输入设备如鼠标102和键盘103接入电子设备100后,用户可以通过鼠标102和键盘103向电子设备100输入内容。
电子设备200可以包括屏幕106等,屏幕106可以用于接收用户的触摸操作并且显示对应的用户界面。
电子设备100和电子设备200之间建立有第一连接105,其中第一连接105可以为有线连接,如USB连接,第一连接105也可以为无线连接,如蓝牙连接、Wi-Fi连接等,本申请实施例对第一连接的类型不作限制。电子设备100和电子设备200中可以具有蓝牙(bluetooth,BT)模块和/或无线局域网络(wireless local area networks,WLAN)模块。其中,蓝牙模块可以提供包括经典蓝牙(蓝牙2.1)或蓝牙低功耗(bluetooth low energy,BLE)中一项或多项蓝牙通信的解决方案,WLAN模块可以提供包括无线保真点对点连接(wireless fidelity peer-to-peer,Wi-Fi P2P)、无线保真局域网(wireless fidelitylocal area networks,Wi-Fi LAN)或无线保真软件接入点(wireless fidelity softwareaccess point,Wi-Fi softAP)中一项或多项WLAN通信的解决方案。在一些实施例中,第一连接105可以为Wi-FiP2P,Wi-Fi P2P是指允许无线网络中的设备无需通过无线路由器即可以点对点形式相互连接,在系统中又可称为无线保真直连(wireless fidelitydirect,Wi-Fi direct)。建立Wi-FiP2P连接的设备之间可以在不连接网络或热点的情况下,直接通过Wi-Fi(必须处于同一频段)进行数据交换,实现点对点的通信,如传输文件、图片、视频等数据。相对于蓝牙,Wi-FiP2P具有搜索速度和传输速度更快、传输距离更远等优点。
电子设备100和电子设备200可通过第一连接105传输数据。例如在一些实施例中,电子设备100可以将鼠标102的坐标数据和输入事件、键盘103的输入事件通过第一连接105发送到电子设备200。接收到电子设备100发送的消息后,电子设备200可以在屏幕106上显示鼠标指针110,或者对鼠标102和键盘103的输入事件作出对应的响应。因此,用户可以通过使用电子设备100的鼠标102和键盘103,在电子设备200上进行输入操作,电子设备100和电子设备200共享使用一套输入设备,电子设备200不需要另外配备输入设备。
在一些实施例中,如图1所示,电子设备100显示界面104,界面104为电子设备100的桌面,界面104中可以显示有控件109和控件111。控件111可以表示电子设备100与其他电子设备(此处指电子设备200)已经建立蓝牙连接,控件109可以表示电子设备100与已连接设备(此处指电子设备200)共享输入设备,如鼠标102和键盘103。电子设备200的屏幕106可以显示界面107,界面107可以为电子设备200的桌面,界面107中可以显示有控件108和控件112。其中,控件112可以表示电子设备200与其他电子设备(此处指电子设备100)已经建立蓝牙连接。控件108可以表示电子设备200建立了用于共享输入设备的连接,在这里可以指的是电子设备200可以使用已连接设备(此处指电子设备100)的输入设备如鼠标102和键盘103。当用户移动鼠标光标(又可称为鼠标指针)至电子设备100的界面104的边缘处时,鼠标指针110可以穿梭至电子设备200的界面107的边缘处,然后鼠标指针110显示在电子设备200的屏幕106中,并可以随鼠标102的移动变换位置。
图2示出了电子设备100的结构示意图。图2也可以为电子设备200的结构示意图。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,这些设备都可以自带或外接输入设备,如键盘或鼠标,本申请实施例对该电子设备的具体类型不作特殊限制。
电子设备100可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括压力传感器280A,陀螺仪传感器280B,气压传感器280C,磁传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,指纹传感器280H,温度传感器280J,触摸传感器280K,环境光传感器280L,骨传导传感器280M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器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)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器210可以包含多组I2C总线。处理器210可以通过不同的I2C总线接口分别耦合触摸传感器280K,充电器,闪光灯,摄像头293等。例如:处理器210可以通过I2C接口耦合触摸传感器280K,使处理器210与触摸传感器280K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器210可以包含多组I2S总线。处理器210可以通过I2S总线与音频模块270耦合,实现处理器210与音频模块270之间的通信。在一些实施例中,音频模块270可以通过I2S接口向无线通信模块260传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块270与无线通信模块260可以通过PCM总线接口耦合。在一些实施例中,音频模块270也可以通过PCM接口向无线通信模块260传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器210与无线通信模块260。例如:处理器210通过UART接口与无线通信模块260中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块270可以通过UART接口向无线通信模块260传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器210与显示屏294,摄像头293等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器210和摄像头293通过CSI接口通信,实现电子设备100的拍摄功能。处理器210和显示屏294通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器210与摄像头293,显示屏294,无线通信模块260,音频模块270,传感器模块280等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口230是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口230可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。也可以用于连接鼠标和键盘,通过鼠标和键盘进行操作指令的输入,通过键盘进行字符串的输入。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块240为电池42充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,显示屏294,摄像头293,和无线通信模块260等供电。电源管理模块241还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块250或其他功能模块设置在同一个器件中。
无线通信模块260可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏294,N为大于1的正整数。
电子设备100可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
ISP用于处理摄像头293反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头293中。
摄像头293用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头293,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
内部存储器221可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory,SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,DDR SDRAM,例如第五代DDR SDRAM一般称为DDR5 SDRAM)等;
非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
快闪存储器按照运作原理划分可以包括NOR FLASH、NAND FLASH、3D NAND FLASH等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,SLC)、多阶存储单元(multi-level cell,MLC)、三阶储存单元(triple-level cell,TLC)、四阶储存单元(quad-level cell,QLC)等,按照存储规范划分可以包括通用闪存存储(英文:universalflash storage,UFS)、嵌入式多媒体存储卡(embedded multi media Card,eMMC)等。
随机存取存储器可以由处理器210直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器210直接进行读写。
外部存储器接口220可以用于连接外部的非易失性存储器,实现扩展电子设备100的存储能力。外部的非易失性存储器通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备100可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块270用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。
扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器270A收听音乐,或收听免提通话。
受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器270B靠近人耳接听语音。
麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风270C发声,将声音信号输入到麦克风270C。电子设备100可以设置至少一个麦克风270C。在另一些实施例中,电子设备100可以设置两个麦克风270C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风270C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口270D用于连接有线耳机。耳机接口270D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器280A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器280A可以设置于显示屏294。压力传感器280A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器280A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏294,电子设备100根据压力传感器280A检测所述触摸操作强度。电子设备100也可以根据压力传感器280A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器280B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器280B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器280B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器280B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器280B还可以用于导航,体感游戏场景。
气压传感器280C用于测量气压。在一些实施例中,电子设备100通过气压传感器280C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器280D包括霍尔传感器。电子设备100可以利用磁传感器280D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器280D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器280E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器280F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器280F测距以实现快速对焦。
接近光传感器280G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器280G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器280G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器280L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏294亮度。环境光传感器280L也可用于拍照时自动调节白平衡。环境光传感器280L还可以与接近光传感器280G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器280H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器280J用于检测温度。在一些实施例中,电子设备100利用温度传感器280J检测的温度,执行温度处理策略。例如,当温度传感器280J上报的温度超过阈值,电子设备100执行降低位于温度传感器280J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池242加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池242的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器280K,也称“触控器件”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280K也可以设置于电子设备100的表面,与显示屏294所处的位置不同。
骨传导传感器280M可以获取振动信号。在一些实施例中,骨传导传感器280M可以获取人体声部振动骨块的振动信号。骨传导传感器280M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器280M也可以设置于耳机中,结合成骨传导耳机。音频模块270可以基于所述骨传导传感器280M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器280M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏294不同区域的触摸操作,马达291也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口295可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口295也可以兼容不同类型的SIM卡。SIM卡接口295也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
下面介绍本申请实施例提供的一种系统软件架构。以本发明电子设备100和电子设备200组成的通信系统10为例,示例性说明本申请实施例提供的系统软件结构。
图3是本申请实施例的提供的通信系统10的系统软件架构框图。
如图3所示,通信系统10的软件架构中包括电子设备100和电子设备200,电子设备100和电子设备200之间可以建立有第一连接并通过第一连接进行通信,第一连接可以是蓝牙连接、Wi-Fi连接等,本实施例对第一连接的连接方式不作限制。
在一些实施例中,通信系统10的软件架构可以分为应用&内核(application&kernel)层和设备(equipment)层。其中,应用层可以包括一系列应用程序包。在这里以电子设备100为PC,电子设备200为平板电脑为例介绍系统软件架构。其中,PC的输入设备可以为鼠标102、键盘103等,平板电脑可以具有触摸屏。
电子设备100的设备层可以包括显示器101、鼠标102、键盘103等输入输出设备。其中,
显示器101是一种输出设备,用于显示图像,视频等。显示屏101包括显示面板。电子设备100可以包括1个或多个显示器101,N为大于1的正整数。
鼠标102是一种输入设备,是电子设备显示系统中纵横坐标定位的指示器,使用鼠标可以使电子设备的操作更加简便快捷。鼠标类型可以包括滚球鼠标、光电鼠标、无线鼠标等等,在本申请中鼠标可以扩展为任意可以生成光标并进行点选的设备。
键盘103是一种输入设备,用户可以通过键盘向电子设备输入字符、数字、标点符号、控制指令等。
电子设备100的应用&内核层可以包括显示器驱动311、鼠标驱动312、键盘驱动313等。驱动(driver)可以通过总线与硬件设备进行通信,控制硬件进入各种工作状态,获取器件相关寄存器的值,从而得到设备的状态。比如通过驱动可以获取用户操作事件,比如鼠标输入、键盘输入、旋转电子设备等,并将事件转化成数据。
显示器驱动311可以是用来驱动显示器的程序。
鼠标驱动312可以负责完成如下三项工作:一是在屏幕上显示鼠标光标并维持光标的移动;二是向应用程序提供鼠标的状态,这包括鼠标光标在屏幕上的位置及鼠标的各个按键是被按下还是放开的状态;三是为应用程序提供一些鼠标操作的辅助功能。
键盘驱动313是一个中断程序,可以根据按下的键产生扫描码,然后由扫描码得到美国标准信息交换代码(americanstandard code for information interchange,ASCII),然后放到缓存队列进行输出或进行其它调用。
电子设备100的应用&内核层还可以包括虚拟屏管理模块314、输入事件生成模块315、输入事件发送模块316等。
虚拟屏管理模块314可以用于创建虚拟屏。在一些实施例中,比如在10操作系统中可以通过创建IDDCX_MONITOR对象创建虚拟屏,所创建的虚拟屏可以与电子设备200显示屏的分辨率相同,并且虚拟屏对用户来说不可见。电子设备100创建虚拟屏是为了鼠标指针可以穿过电子设备100显示屏,并且鼠标指针在虚拟屏中的坐标可以直接发送给电子设备200,不需要复杂的坐标转换。如果没有创建虚拟屏或者没有外接新的显示屏,鼠标指针会被局限在电子设备100的显示屏的边缘范围内,无法做到鼠标指针在不同显示屏(包括虚拟屏)之间的跳跃显示。在鼠标指针移动至虚拟屏上后,由于虚拟屏的分辨率与电子设备200显示屏的分辨率相同,因此鼠标指针在虚拟屏上坐标可以直接发送至电子设备200,不需要复杂的坐标转换,简单便捷,节省CPU资源的消耗。
输入事件生成模块315可以用于将获取到的输入设备的输入事件,转化为对应的可以作用于电子设备200上的输入事件。比如,在检测鼠标指针到达电子设备100显示屏边缘时,电子设备100可以计算鼠标指针在电子设备200显示屏上显示的起始位置,并通过输入事件发送模块316发送给电子设备200,电子设备200接收到消息并在对应位置处显示鼠标指针,形成鼠标指针从电子设备100上穿梭到电子设备200上的视觉效果。在比如,鼠标指针移动至电子设备200显示屏上之后,电子设备100的输入设备(如鼠标、键盘、手写板)的输入事件都会被捕获,然后根据第一映射表中的映射关系,生成对应的可以作用于电子设备200的输入事件,并发送到电子设备200上。其中,输入事件包括但不限于鼠标移动事件、鼠标点击事件、鼠标滚轮滚动事件、键盘输入事件、遥控手杆移动事件、语音输入事件等。例如,电子设备100可以根据第一映射表将系统的输入事件映射为系统的输入事件,该系统的输入事件可以作用于电子设备200上。比如,在系统上的单击鼠标左键的事件可以映射为系统中单击事件,在系统上的单击鼠标右键的事件可以映射为系统中长按事件。系统中第一按键的键值可以映射为对应的系统中的键值,比如同样为字符“a”,在系统中的键码可能与系统中的键码并不相同。
输入事件发送模块316可以用于电子设备100通过第一连接将输入事件等发送给电子设备200。
电子设备200的设备层可以包括触摸传感器321和显示屏322。其中,
触摸传感器321,也称“触控面板”。触摸传感器321可以设置于显示屏322之上,由触摸传感器321与显示屏322组成触摸屏,也称“触控屏”。触摸传感器321用于检测作用于其上或附近的触摸操作。触摸传感器321可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。
显示屏322为一种输出设备,可以用于显示图像及色彩。显示屏322可以提供与触摸操作相关的视觉输出。
电子设备200的应用&内核层可以包括触摸传感器驱动323、显示屏驱动324、输入事件接收模块325、输入事件响应模块326。其中,触摸传感器驱动323和显示屏驱动324是驱动硬件设备触摸传感器和显示屏的程序。
输入事件接收模块325可以用于监听通信接口,通过第一连接获取电子设备100发送过来的消息,包括但不限于显示鼠标指针的指令、鼠标指针的绝对坐标、鼠标指针的偏移坐标、鼠标按键的按压事件、鼠标滚轮的滚动事件、键盘按键的按压事件、键盘按键对应的键值等等。
输入事件响应模块326可以用于在输入事件接收模块325接收到来自于电子设备100的消息之后,对输入事件作出处理。比如,输入事件接收模块325在接收到来自于电子设备100的携带坐标(padX,padY)的显示鼠标指针的消息时,输入事件响应模块326可以响应该消息,在坐标(padX,padY)处绘制鼠标指针,并在显示屏322上显示。再比如,在输入事件接收模块325接收到来自于电子设备100的如鼠标移动、鼠标点击、鼠标滚轮滚动、键盘输入、遥控手杆移动等输入事件后,输入事件响应模块326可以对输入事件作出处理。
具体实现可以参考后续说明,在此暂不赘述。
以上通信系统10的软件架构的介绍仅为示例,可以理解的是,本发明实施例示意的软件架构并不构成对本申请构成具体限定。在本申请另一些实施例中,通信系统10可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的架构布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
下面介绍本申请实施例提供的一种内部实现方法。
在本实施例中,以搭载有操作系统的PC和搭载有操作系统的平板电脑之间共享鼠标、键盘等输入设备为示例进行说明。本实施例提供的该示例并不对本申请构成任何限制,本申请提供的共享输入设备的方法也可以实施在其他不同类型的多个电子设备之间,如手机、笔记本电脑、平板电脑之间共享笔记本电脑的输入设备。本申请实施例也不对不同电子设备所搭载的操作系统及输入设备的类型作任何限制,比如输入设备还可以是手写板、语音输入装置、摄像头等。
在本申请中,上、下、左、右为方向的相对概念,比如可以定义电子设备在竖直状态时,向下为重力的方向,或者在用户眼睛面向正向布局的显示界面时,左边为用户视角的左手边,右边为用户视角的右手边,上边为用户视角的眼睛朝向头顶的方向,下边为用户视角的眼睛朝向躯干的方向,正向布局的显示界面是指显示界面的文字、符号、图标等排列布局方向为最符合用户阅读的方向。由于方向是相对概念,所以上述描述方式只是一种示例,并不构成限制。
本实施例中,PC与PAD建立第一连接,PC具有显示屏用于显示用户界面,还具有鼠标、键盘等输入设备,PC可以创建一个用户不可见的虚拟屏,该虚拟屏与PAD的显示屏具有相同的尺寸和分辨率。当鼠标指针到达PC显示屏的边缘时,鼠标指针可以穿过PC显示屏移动至虚拟屏上,同时,PAD可以根据PC虚拟屏与PAD显示屏的对应位置处,绘制出鼠标指针。在鼠标指针显示在PAD中时,在PC接收到鼠标、键盘等输入事件时,可以映射为对应的PAD上的输入事件,并发送给PAD。PAD在接收到输入事件后,对输入事件作出相应的响应。因此,用户可以使用PC的输入设备在PAD中进行输入。
本实施例具体实现可以分为三部分:(一)虚拟屏的创建;(二)鼠标指针的穿梭;(三)输入事件的响应。
(一)虚拟屏的创建
具体地,PC可以通过操作系统自有的应用程序接口(applicationprogramming interface,API)函数创建一个或多个虚拟屏。所创建的虚拟屏与PAD显示屏的分辨率相同,并且虚拟屏对用户来说不可见。当然,如果有多个需要共享输入设备的电子设备,可以创建多个虚拟屏对应各个电子设备并且每个虚拟屏与其对应的电子设备的屏幕分辨率相同。这里以PC创建一个与PAD具有相同屏幕分辨率的虚拟屏作为示例说明。在一些实施例中,比如在操作系统中可以通过创建IDDCX_MONITOR对象创建虚拟屏,具体地,创建虚拟屏可以包括以下步骤:
(1)定义虚拟屏的规格。
首先进行初始化,配置相关参数,可以使用IDD_CX_CLIENT_CONFIG_INIT等函数进行初始化,设置回调函数,配置显示模式,如分辨率、刷新率等参数。比如在这里,设置分辨率与PC所获取到的PAD显示屏的分辨率相同。
(2)创建虚拟屏。
在初始化完成后,可以使用IddCxMonitorCreate函数来创建IDDCX_MONITOR对象,即虚拟屏。
(3)插入虚拟屏。
在创建IDDCX_MONITOR对象成功之后,调用IddCxMonitorArrival函数,通知系统插入了这个虚拟屏。当系统返回成功插入的消息,表示成功创建了虚拟屏并可以使用。这时,系统的显示器设置里就可以检测到这个虚拟出来的显示屏了。
如果之后要在系统中删除或注销这个虚拟屏,可以调用IddCxMonitorDeparture函数。每“插入”一个虚拟显示器,就等于是成功在系统中创建了一个IDDCX_MONITOR对象,然后“删除”这个虚拟显示器,等于是销毁该IDDCX_MONITOR对象。
至此,PC创建了一个与PAD显示屏分辨率相同的虚拟屏。另外,可以设置PC显示屏与虚拟屏的相对位置。比如可以设置虚拟屏位于PC显示屏的右边,即PC显示屏的右边缘与虚拟屏的左边缘相接,则鼠标指针可以从PC显示屏的右边缘穿出,并从虚拟屏的左边缘对应位置处穿入。如果设置虚拟屏位于PC显示屏的下边,即PC显示屏的下边缘与虚拟屏的上边缘相接,则鼠标指针可以从PC显示屏的下边缘穿出,并从虚拟屏的上边缘对应位置处穿入。其他边缘的对应情况同理。如果创建有多个虚拟屏,一般来说,为避免冲突,多个虚拟屏可以对应连接在PC显示屏的不同边缘,比如设置虚拟屏1位于PC显示屏的右边,那么可以设置虚拟屏2位于PC显示屏的下边。
(二)鼠标指针的穿梭
在视觉效果上,鼠标指针可以从PC显示屏上“穿梭”至PAD显示屏上。在这里以鼠标指针从PC显示屏的右边缘“穿梭”至PAD的左边缘为示例进行说明。其中,PC、PAD设置为横向放置,即PC、PAD的左右边缘为设备短边。参考图4A,具体地,可以包括以下步骤:
(1)检测鼠标指针到达PC显示屏边缘。
具体地,PC可以使用系统的GetPhysicalCursorPos函数获取鼠标指针所在位置的绝对坐标(pcX,pcY),鼠标指针所在位置的绝对坐标(pcX,pcY)的最大值可以为PC显示屏的显示分辨率的值。例如,PC显示屏的当前显示分辨率(screenWidth,screenHeight)为1920×1080(像素点),那么显示屏左上角的绝对坐标可以为原点(0,0),右下角的绝对坐标为(1920,1080),左下角的绝对坐标为(0,1080),右上角的绝对坐标为(1920,0)。PC显示屏的任意位置的绝对坐标位于(0,0)~(1920,1080)范围内。PC显示屏的显示分辨率可以通过GetSystemMetrics函数获得。
当鼠标移动一定距离时,PC可以使用RawInput函数获取到鼠标移动距离所对应的鼠标指针的偏移量,偏移量是移动起始位置与移动结束位置之间的差量。偏移量可以为一个矢量,包括方向和距离,偏移量可以用偏移坐标(relX,relY)表示。
在此,以检测鼠标指针到达PC显示屏右边缘为例,如果(pcX+relX)>screenWindth,则返回鼠标光标到达PC桌面右边缘的结果。如果(pcY+relY)>screenHeight,则返回鼠标光标到达PC桌面下边缘的结果。鼠标指针到达PC显示屏上边缘和左边缘的情况可以据此类推,在此不再赘述。
(2)计算鼠标指针在PAD显示屏上的起始位置。
当PC检测到鼠标指针到达PC显示屏边缘时,PC会计算鼠标指针在PAD显示屏上显示的起点坐标。PC可以根据当前到达PC显示屏边缘的鼠标指针的绝对坐标(pcX,pcY)、PC显示屏的显示分辨率(screenWidth,screenHeight)、PAD显示屏的显示分辨率(remoteWidth,remoteHeight),计算鼠标指针在PAD显示屏上的起始位置(padX,padY)。
这里以PAD显示屏的左上角为绝对坐标原点为例,在一些实施例中,当鼠标指针移动到达PC显示屏的右边缘(pcXmax,pcY)时,(pcXmax)表示横坐标为最大值,即值为screenWidth,那么计算鼠标指针在PAD显示屏上的起始位置(padX,padY)为:
根据上述计算公式,鼠标指针出现在PAD显示屏上的起始位置的横坐标为0,其纵坐标为根据PC与PAD显示分辨率的比率计算出的与PC纵坐标位置对应比例的位置,即鼠标指针出现的起始位置在PAD显示屏的左边缘上。例如,若鼠标指针从PC显示屏右边缘的中间位置处离开,可以出现在PAD显示屏左边缘的中间位置处,这样可以让用户感觉整个鼠标指针的穿梭过程是接续的,用户体验较好。
同理,当鼠标指针移动到达PC显示屏的左边缘(pcXmin,pcY)时,(pcXmin)表示横坐标为最小值,即值为0,那么计算鼠标指针在PAD显示屏上的起始位置(padX,padY)为:
即鼠标指针出现在PAD显示屏上的起始位置为PAD显示屏右边缘的某个位置。
同理,当鼠标指针移动到达PC显示屏的上边缘(pcX,pcYmin)时,(pcYmin)表示纵坐标为最小值,即值为0,那么计算鼠标指针在PAD显示屏上的起始位置(padX,padY)为:
即鼠标指针出现在PAD显示屏上的起始位置为PAD显示屏下边缘的某个位置。
同理,当鼠标指针移动到达PC显示屏的下边缘(pcX,pcYmax)时,(pcXmax)表示纵坐标为最大值,即值为screenHeight,那么计算鼠标指针在PAD显示屏上的起始位置(padX,padY)为:
即鼠标指针出现在PAD显示屏上的起始位置为PAD显示屏上边缘的某个位置。
上述计算鼠标指针在PAD显示屏上的起始位置的方法仅为一个示例,并不对本申请构成任何限制。
在另一些实施例中,当检测到鼠标指针移出PC显示屏的任意边缘时,鼠标指针可以在PAD显示屏的固定坐标处出现,例如原点处,即(padX,padY)为(0,0)。本申请实施例对鼠标指针出现在PAD显示屏中的位置不作任何限制。
(3)PAD显示屏上显示鼠标指针。
在PC计算出鼠标指针将在PAD显示屏上显示的起始位置(padX,padY)后,PC可以向PAD发送消息,该消息携带坐标(padX,padY),通知PAD在坐标(padX,padY)处显示鼠标指针。同时,PC的鼠标指针移动到PC虚拟屏的坐标(vmX,vmY)处,(vmX,vmY)与(padX,padY)的坐标一一对应,其坐标数值相同。
例如,PC显示屏的显示分辨率为2560×1600(像素),PAD显示屏的显示分辨率为1280×800(像素),PC创建的虚拟屏的显示分辨率与PAD相同,也为1280×800(像素)。在鼠标指针到达PC右边缘坐标(pcX,pcY)为(2560,1000)时,PC计算得到鼠标指针在PAD显示屏上出现的起始位置可以为(padX,padY)为(0,500)。同样地,鼠标指针移动至虚拟屏上的坐标(vmX,vmY)也为(0,500)。然后,PC的鼠标指针从PC右边缘(2560,1000)移动至虚拟屏的左边缘(0,500)处,同时PC向PAD发送消息,该消息携带坐标(0,500),通知PAD在坐标(0,500)处显示鼠标指针。响应于PC的通知,PAD在坐标(0,500)处显示鼠标指针。这样,看起来鼠标指针从PC的显示屏上穿梭到了PAD的显示屏上。鼠标指针从PC“穿梭”至PAD其他情况同理,以上示例并不对本实施实施例构成任何限制。
PC创建虚拟屏是为了方便鼠标指针可以穿过PC显示屏,在不同显示屏(包括虚拟屏)之间的跳跃显示,并且鼠标指针在虚拟屏中的坐标可以直接发送给PAD,不需要复杂的坐标转换。如果没有创建虚拟屏或者没有外接新的显示屏,鼠标指针会被局限在PC显示屏的边缘范围内。在鼠标指针移动至虚拟屏上后,由于虚拟屏的分辨率与PAD显示屏的分辨率相同,因此鼠标指针在虚拟屏上坐标可以直接发送至PAD,不需要复杂的坐标转换,简单便捷,节省CPU资源的消耗。
(三)输入事件的响应
在鼠标指针移动至PAD显示屏上之后,PC输入设备(如鼠标、键盘、手写板)的输入事件都会被捕获,并发送到PAD上,PAD可以对PC输入设备的输入事件作出响应。同时屏蔽在PC侧的输入事件,即PC不对输入设备的输入事件作出响应。参考图4B,具体地,可以包括以下步骤:
(1)输入事件的获取。
当输入设备,如鼠标、键盘、语音输入装置、手写板、摄像头等检测到用户作出输入操作时,PC可以捕获到该输入操作,比如鼠标的移动、鼠标的点击、键盘按键的敲击等,并生成对应的输入事件。例如,搭载系统的PC可以使用RawInput函数获取到鼠标的MOUSE_MOVE事件,并生成对应的鼠标指针的偏移坐标(relX,relY)。即,PC可以获取到鼠标移动的距离和方向,并相应转换成鼠标指针的偏移方向和偏移距离。如果指定了MOUSE_MOVE是MOUSE_MOVE_RELATIVE值,则表示偏移坐标(relX,relY)是相对于上一次鼠标所在位置的偏移坐标;如果指定了MOUSE_MOVE是MOUSE_MOVE_ABSOLUTE值,则表示偏移坐标(relX,relY)是相对于某个固定位置的偏移坐标。不过无论哪种方式,偏移坐标(relX,relY)都指示的是一个相对移动的数据。以屏幕坐标轴来看,当鼠标向上移动,relY为负值,当向下移动,relY为正值,当向左移动,relX为负值,当向右移动,relX为正值。
另外,PC还可以获取鼠标按键的按压事件和鼠标滚轮的滚动事件。比如,在系统中,RI_MOUSE_LEFT_BUTTON_DOWN值可以指示鼠标左键被按下,RI_MOUSE_LEFT_BUTTON_UP值可以指示鼠标左键被松开;RI_MOUSE_MIDDLE_BUTTON_DOWN值可以指示鼠标中键被按下,RI_MOUSE_MIDDLE_BUTTON_UP值可以指示鼠标中键被松开;RI_MOUSE_RIGHT_BUTTON_DOWN值可以指示鼠标右键被按下,RI_MOUSE_RIGHT_BUTTON_UP值可以指示鼠标右键被松开等。RI_MOUSE_WHEEL可以指示来自鼠标滚轮的输入,其滚轮增量的正值表示滚轮向前转动,负值表示滚轮向后转动。RI_MOUSE_HWHEEL可以指示来自水平鼠标滚轮的输入,其滚轮增量的正值表示滚轮向右转动,负值表示滚动向左转动。
PC可以通过Hook函数获取键盘的输入事件,例如当键盘的第一按键被按下时,PC可以获取到该第一按键被按下的状态KEYDOWN以及该第一按键的键值(keycode)。如果松开第一按键,则第一按键恢复释放状态KEYUP。键盘中每个按键对应一个键值,键值可以遵循ASCII码码表。当按下字符键时,可以输入对应的字符,当按下控制键时,可以调用对应的控制功能。
以上实施例仅为一些示例,并不对本申请实施例构成限制。输入事件还可以是语音输入、手写输入、触摸输入及其组合等等。
(2)输入事件的映射。
在一些实施例中,PC中可以存储有第一映射表Map,第一映射表中可以指示有PC的输入事件与PAD的输入事件之间的映射关系。输入事件包括但不限于鼠标移动事件、鼠标点击事件、鼠标滚轮滚动事件、键盘输入事件、遥控手杆移动事件、语音输入事件等。例如,PC可以根据第一映射表将系统的输入事件映射为系统的输入事件,该系统的输入事件可以作用于PAD上。比如,在系统上的单击鼠标左键的事件可以映射为系统中单击事件,在系统上的单击鼠标右键的事件可以映射为系统中长按事件。系统中第一按键的键码值可以映射为对应的系统中的键码值,比如同样为字符“a”,在系统中的键码可能与系统中的键码并不相同。
由于PC虚拟屏与PAD显示屏分辨率相同,所以PC虚拟屏上鼠标指针的坐标值可以与PAD上鼠标指针的坐标值相同,鼠标指针在PC虚拟屏中的绝对坐标以及偏移坐标可以直接发送给PAD,不需要进行复杂的坐标转换,简单便捷,节省CPU资源的消耗。
(3)输入数据的发送及响应。
在一些实施例中,系统有自己的输入input子系统,用于统一管理输入事件。基于输入子系统实现的uinput可以方便的在用户空间userspace中模拟输入事件。比如,可以通过uinput创建虚拟设备(如虚拟鼠标、虚拟键盘等)并配置虚拟设备的属性,然后将从PC获取到的输入事件inputevent序列写入/dev/uinput设备文件中,投递input事件,PAD便可以实现在没有鼠标、键盘等输入设备的情况下获取PC的鼠标、键盘等输入设备的输入事件。
PC可以将第一映射表中获取的输入事件打包成符合第一连接传输协议格式的数据包,然后通过第一连接(如Wi-Fi直连)发送给PAD。PAD在收到输入事件后,会将该输入事件注入uinput中然后PAD对该输入事件作出响应。输入事件的数据可以包括输入事件的发生时间time、输入事件类型type、输入事件类型的代码code、输入事件的值value等。
比如输入事件类型type为EVENT_KEY(键盘),输入事件类型的代码code为设备键盘代码,code值0~127为键盘上的按键代码,输入事件的值value的值为1时表示按键被按下,value的值为0时表示按键被释放。若输入事件类型type为EVENT_MOUSE(鼠标),输入事件类型的代码code为设备鼠标代码,code值0x110~0x116为鼠标的按键代码,其中0x110(BTN_LEFT)为鼠标左键code,0x111(BTN_RIGHT)为鼠标右键code,0x112(BTN_MIDDLE)为鼠标中键code,输入事件的值value的值为1时表示按键被按下,value的值为0时表示按键被释放。若输入事件类型type为EVENT_REL(相对坐标),输入事件类型的代码code值表示轨迹的类型,如指示鼠标指针向X轴方向偏移REL_X(代码为0x00),指示鼠标向Y轴方向偏移REL_Y(代码为0x01),指示鼠标中滚轮移动方向的REL_WHEEL(代码为0x08),value的正数值和负数值分别代表两个不同方向的值。其它输入事件的代码含义可以参看include/linux/input.h文件。
经过上述步骤,在PC与PAD建立第一连接后,当鼠标指针移过PC显示屏的边缘时,PAD显示屏上可以对应显示鼠标指针。并且在鼠标指针显示在PAD上时,来自PC输入设备的输入事件可以转换并发送给PAD,PAD对该输入事件作出响应,比如鼠标的移动、鼠标的点击、键盘字符的输入等等。
上述实施例所描述的实现方式仅为示例性说明,并不对本申请构成任何限制。具体内部实现方式可能根据电子设备类型不同、所搭载的操作系统的不同、所使用的程序、所调用的接口的不同而不同,本申请实施例不作任何限制,可以实现本申请实施例所描述的功能即可。
图5A、图5B、图5C示出了本申请实施例提供的一些用户界面示意图。在一些实施例中,如图5A所示,基于本申请其他实施例提供的共享输入设备的功能,电子设备100可以增加输入设备共享设置界面,如界面501。界面501中可以包括标题栏502,标题栏502可以显示标题文字“输入设备共享设备”和图标。界面501中还包括多个选项列表,比如可连接设备列表501、共享输入设备列表504、连接设备位置505等。
可连接设备列表503中可以显示当前可以进行连接以使用共享输入设备功能的设备。在可连接设备列表503可以将这些设备依次列出,并且同时显示该设备的连接状态,比如:已连接、已配对但未连接或未配对。其中图5A中,电子设备200为已连接状态,可以和本设备共享输入设备,电子设备300为已配对但未连接的状态,需要连接后才可以共享输入设备,电子设备400为未配对状态,需要电子设备100发起配对并配对成功后才可以连接。可连接设备列表503中还有刷新控件,选中该刷新控件后可以刷新当前可连接设备列表。可连接设备列表503中还有显示/隐藏列表控件506,点击显示/隐藏列表控件506可以显示或隐藏全部或部分可连接设备。可连接设备列表503可能仅显示了部分常用或距离最近的电子设备,如果可连接设备列表中未列出所找寻的电子设备,可以点击“更多”控件,电子设备100可以在另一个用户界面中显示全部可连接设备。电子设备100和电子设备200之间的连接可以是用户手动发起连接,也可以设置在连接成功之后下次打开该功能时自动建立连接。发起连接的用户操作即可以是在设置界面中用户点击“连接”控件,还可以是用户将电子设备200与电子设备100靠近,如“碰一碰”操作为触发连接的操作,也可以是第一手势等用户操作,本申请实施例对此不作限制。
共享输入设备列表504中可以显示已有输入设备,比如鼠标、键盘、手写板、摄像头等等,用户可以自主选择需要共享的输入设备,开关控件507为选择输入设备的开启/关闭控件,图5A中鼠标、键盘的开关控件507显示为开启状态,即当前电子设备100的鼠标、键盘可以与电子设备200共享。同样的,共享输入设备列表504中还有显示/隐藏列表,点击显示/隐藏列表控件可以显示或隐藏全部或部分输入设备。同样的,共享输入设备列表504中可能仅显示了部分常用的输入设备,如果输入设备列表中未列出所找寻的输入设备,可以点击“更多”控件,电子设备100可以显示其他输入设备。
连接设备位置505控件是方便用户设置多个电子设备之间的相对位置关系,点击控件508,可以显示如图5B、图5C所示的详细设置界面。
图5B是设置连接设备位置的示意图。如图5B所示,连接设备位置界面510中可以有设备位置关系的示意框511,以及提示语512“拖动方框调整设置的相对位置”。图5B中的设备位置关系示意框511中示意了电子设备100(本设备)的右边缘与平板电脑的左边缘相连接,鼠标指针可以从电子设备100(本设备)的右边缘穿出,然后从平板电脑的左边缘穿入。在界面510中,还可以显示横/纵向选择框513,即在示意框511中选中某个设备之后,用户可以在横/纵向选择框513选择其设备长边或短边的朝向。如横向表示设备的长边在上下位置,短边在左右位置;纵向表示设备的长边在左右位置,长边在上下位置。图5B中,平板电脑被用户选中,区域显示灰色,表示处于被选中状态,该横/纵向选择框513中为纵向,即平板电脑的长边在左右位置,长边在上下位置。横/纵向会影响电子设备之间所相连接的边缘是哪个边,长边还是短边,以及影响计算鼠标指针在设备边缘所出现的位置。例如,如果平板电脑是纵向,那么本设备的右边缘与平板电脑的长边相连接;如果平板电脑是横向,那么本设备的右边缘与平板电脑的长边相连接。边缘连接关系不同,鼠标指针在设备间穿梭的位置也不同。在调整好设备的位置关系后,可以点击应用控件514,设置保存并生效,如果不想更改设置,可以点击取消控件515。
用户可以在示意框511中拖动示意设备,改变设备之间的边缘连接关系。比如在图5B中,用户拖动平板电脑示意图,从本设备右侧拖动到本设备下侧,可以显示如图5C所示连接设备位置界面520,即如示意框521中所示,平板电脑位于本设备下侧,表示鼠标指针可以从本设备的下边缘穿出,从平板电脑的上边缘穿入。在横/纵向选择框522中设置平板电脑为横向,即平板电脑的长边位于上下位置。
图5A、图5B、图5C所示的设置相关的用户界面,仅为一些示例,不对本申请实施例构成任何限制,共享输入设备的设置界面可以包括比示例界面更多或更少的控件或功能,比如设置字体大小、设置分辨率等等。另外,共享输入设备的设置界面不仅可以设在电子设备100上,在对端电子设备上,比如电子设备200上也可以有相同或相似的共享输入设备的设置界面。在两侧终端上都可以进行共享输入设备的相关设置,并起到同样的作用。
图6A和图6B示意了鼠标指针从电子设备100显示屏的边缘移动至电子设备200显示屏的边缘的过程,即前述鼠标指针穿梭的过程。
如图6A和图6B所示,电子设备100与电子设备200已建立支持共享输入设备功能的第一连接610。在第一连接610建立后,电子设备200可以创建一个与电子设备200分辨率相同的虚拟屏500。在图6A的示例中,可以设置虚拟屏500的左边缘与电子设备100的右边缘相接,这样鼠标指针601就可以从电子设备100的界面104的右边缘穿出,从虚拟屏500的界面左边缘穿入。同时,鼠标指针603显示在电子设备200的界面107的左边缘上,如图6B所示。
如图6A所示,电子设备100显示屏101上显示界面104,界面104为电子设备100的桌面,界面104中显示鼠标指针601。当用户向右移动鼠标102时,如图示中鼠标从虚线位置处向右移动到实线位置处,鼠标指针601可以沿图示中箭头方向移动到界面104的右边缘的鼠标指针602所在位置(pcX,pcY)处。然后,电子设备100可以根据(pcX,pcY)计算出鼠标指针将要在电子设备200的界面107的左边缘处对应出现的位置(padX,padY),以及鼠标指针602将要显示在虚拟屏500的左边缘位置(vmX,vmY)。其中,由于为了简化坐标转换,设置了虚拟屏500的分辨率与电子设备200的分辨率相同,所以虚拟屏500中鼠标指针的位置(vmX,vmY)与电子设备200中鼠标指针的位置(padX,padY)坐标值相同。
如图6B所示,在电子设备100的鼠标指针602位于界面104的右边缘时,用户继续向右移动鼠标102时,如图示中鼠标从虚线位置处向右移动到实线位置处,鼠标指针602可以沿图示中箭头方向移动到虚拟屏500的左边缘位置(vmX,vmY)处。同时,电子设备100可以通过第一连接610向电子设备200发送携带有位置(padX,padY)的消息,通知电子设备200在位置(padX,padY)处显示鼠标指针。接收到该消息,电子设备200在界面107右边缘的位置(padX,padY)处显示鼠标指针603。虚拟屏500中鼠标指针602所在位置(vmX,vmY)与电子设备200中鼠标指针603所在位置(padX,padY)对应。在视觉效果上,可以呈现出鼠标指针从电子设备100的桌面界面104的右边缘上穿梭至电子设备200的桌面界面107的左边缘上的接续效果。
如图6C所示,当鼠标指针603显示在电子设备200的左边缘位置之后,如果用户继续向右移动鼠标102,如图示中鼠标从虚线位置处向右移动到实线位置处,鼠标102移动的一定距离对应偏移坐标(relX,relY),根据偏移坐标(relX,relY),在虚拟屏500上,鼠标指针602可以沿图示中箭头方向移动到鼠标指针604的位置处。同时,电子设备100可以通过第一连接610向电子设备200发送携带有偏移坐标(relX,relY)的消息,通知电子设备200的鼠标指针603向右偏移距离(relX,relY)。接收到该消息,电子设备200界面107中鼠标指针603向右偏移至鼠标指针605处。其中,虚拟屏500中鼠标指针604所在位置(vmX,vmY)与电子设备200中鼠标指针605所在位置(padX,padY)对应。在用户看来,可以呈现出电子设备200桌面界面107上的鼠标指针随着鼠标102的移动而移动的视觉效果。不限于图6A、图6B、图6C所示的鼠标指针从电子设备100的右边缘穿出后从电子设备200的左边缘穿入情形,鼠标指针还可以从电子设备100的其他边缘,如上边缘、下边缘、左边缘穿出,然后从电子设备200的其他任意边缘穿入,显示界面参考图6A~图6C,在此不再赘述。
图7是电子设备200响应鼠标102点击事件的示意图。在经过图6A~图6C所示的鼠标指针“穿梭”到电子设备200的界面107之后,如图7所示,用户可以操控电子设备100的输入设备如鼠标102、键盘103,生成输入事件,电子设备200可以在接收到来自于电子设备100的输入事件之后作出响应。比如图7中,移动鼠标指针701至电子设备200界面107的“音乐”应用的图标处,用户可以进行鼠标点击操作702。电子设备100获取到鼠标点击操作702后,可以根据第一映射表将鼠标点击操作702事件映射为可以作用于电子设备200上的点击事件,并将该点击事件通过第一连接610发送给电子设备200。响应于“音乐”应用图标的点击事件,电子设备200打开音乐应用程序,显示应用界面703。之后,用户还可以通过操控鼠标102在应用界面703进行播放音乐、调节音量、更换歌曲等操作。
图8是电子设备200响应键盘103输入事件的示意图。图中的电子设备200已经和电子设备100建立了第一连接610,共享输入设备,电子设备200可以接收来自于键盘103的输入并响应。
如图8所示,电子设备200显示有界面800,当鼠标指针801点击输入框802后,可以在输入框802中输入内容。例如,用户敲击键盘103的第一按键,电子设备100获取到第一按键被按下的操作后,可以通过第一连接610向电子设备200发送输入内容的消息以及对应的第一按键的键值。电子设备200可以在接收到电子设备100的消息后,在输入框802中显示相应的字符。如图8所示,用户通过敲击键盘103上的“nihao”这一串字符对应的按键,响应于按键操作,电子设备200在输入框802中显示字符串“nihao”。当然,除了字符,电子设备200还可以响应键盘的控制键命令,比如“enter”,本实施例对此不作限制。
图7、图8仅示例了鼠标点击事件和键盘输入事件的场景。当然,输入事件包括但不限于鼠标移动事件、鼠标点击事件、鼠标滚轮滚动事件、键盘输入事件、遥控手杆移动事件、语音输入事件等,电子设备100的输入设备的任何操作都可以作用到电子设备200上,以上实施例对此不作限制。
图9A-图9C是多个电子设备共享输入设备场景下的界面示意图。这里以三个设备,即电子设备100(本设备)与平板电脑、手机之间的连接场景为示例进行说明,其他多个电子设备之间共享输入设备的情况可以同理推出,不再过多赘述。
在一些实施例中,在电子设备100分别与平板电脑和手机建立用于共享输入设备的连接后,电子设备100可以创建与平板电脑分辨率相同的虚拟屏和与手机分辨率相同的虚拟屏。然后在输入设备共享设置中,可以显示如图9A所示的连接设备位置界面901。在设备连接关系示意框902中,用户可以调整电子设备100与平板电脑、手机之间的连接关系。比如图9A中的设备位置关系示意框902中示意了平板电脑置于电子设备100(本设备)右侧,手机置于本设备下侧,即本设备的右边缘与平板电脑的左边缘相连接,本设备的下边缘与手机的上边缘相连接。表示鼠标指针可以从电子设备100(本设备)的右边缘穿出,然后从平板电脑的左边缘穿入,以及鼠标指针可以从电子设备100(本设备)的下边缘穿出,然后从手机的上边缘穿入。
如图9B所示,电子设备100与电子设备200(平板电脑)建立有用于共享输入设备的连接915,同时电子设备100与电子设备300(手机)建立有用于共享输入设备的连接914。电子设备100的输入设备,如鼠标、键盘等,可以共享给电子设备200和电子设备300使用,如电子设备200和电子设备300可以使用电子设备100的鼠标进行点选操作或键盘进行输入字符的操作。如图9B所示,在电子设备100接入鼠标设备后,其显示屏的界面911上,可以显示有鼠标指针916。在经过如图9A所示的连接设备位置设置后,响应于鼠标的移动操作,鼠标指针916可以从显示界面911的下边缘穿出,然后从电子设备300的显示界面912的上边缘穿入,在界面912上显示鼠标指针917;鼠标指针916也可以从显示界面911的右边缘穿出,然后从电子设备200的显示界面913的左边缘穿入,在界面913上显示鼠标指针918。鼠标指针917可以随着鼠标的移动而移动,并且在鼠标指针917位于电子设备300的界面912中时,电子设备300可以响应鼠标的点击、键盘的字符输入等输入设备的输入操作。同理,鼠标指针918可以随着鼠标的移动而移动,并且在鼠标指针918位于电子设备200的界面913中时,电子设备200可以响应鼠标的点击、键盘的字符输入等输入设备的输入操作。
图9C示出了图9B所示场景下鼠标指针从电子设备300的显示屏上移动到电子设备200的显示屏上的过程。在图9C所示场景中,由于电子设备200与电子设备300之间并没有建立直接的通信连接,所以鼠标指针并不能直接从电子设备300移动到电子设备200上,而是需要经过电子设备100。比如,如图9C中箭头所示,随着用户向上移动鼠标的操作,位于电子设备300上的鼠标指针921可以从界面912的上边缘穿出,接着从电子设备100的界面911的下边缘穿入,电子设备100的界面911上显示鼠标指针922。然后,用户可以继续向右移动鼠标,位于电子设备100上的鼠标指针922可以继续从界面911的右边缘穿出,接着从电子设备200的界面913的左边缘穿入,电子设备200的界面913上显示鼠标指针923。
当然,用户可以在设备连接关系示意框1002中拖动示意设备,改变设备之间的边缘连接关系。比如在图10A中,用户可以调整电子设备100与手机、平板电脑之间的连接关系,可以显示如连接设备位置界面1001中示意框1002中所示,平板电脑置于电子设备100(本设备)右侧,手机置于本设备左侧,即本设备的右边缘与平板电脑的左边缘相连接,本设备的左边缘与手机的右边缘相连接。表示鼠标指针可以从电子设备100(本设备)的右边缘穿出,然后从平板电脑的左边缘穿入,以及鼠标指针可以从电子设备100(本设备)的左边缘穿出,然后从手机的右边缘穿入。
同样的,如图10B所示,电子设备100与电子设备200(平板电脑)建立有用于共享输入设备的连接1015,同时电子设备100与电子设备300(手机)建立有用于共享输入设备的连接1014。电子设备100的输入设备,如鼠标、键盘等,可以共享给电子设备200和电子设备300使用,如电子设备200和电子设备300可以使用电子设备100的鼠标进行点选操作或键盘进行输入字符的操作。如图10B所示,在电子设备100接入鼠标设备后,其显示屏的界面1011上,可以显示有鼠标指针1016。在经过如图10A所示的连接设备位置设置后,响应于鼠标的移动操作,鼠标指针1016可以从显示界面1011的左边缘穿出,然后从电子设备300的显示界面1012的右边缘穿入,在界面1012上显示鼠标指针1017;鼠标指针1016也可以从显示界面1011的右边缘穿出,然后从电子设备200的显示界面1013的左边缘穿入,在界面1013上显示鼠标指针1018。鼠标指针1017可以随着鼠标的移动而移动,并且在鼠标指针1017位于电子设备300的界面1012中时,电子设备300可以响应鼠标的点击、键盘的字符输入等输入设备的输入操作。同理,鼠标指针1018可以随着鼠标的移动而移动,并且在鼠标指针1018位于电子设备200的界面1013中时,电子设备200可以响应鼠标的点击、键盘的字符输入等输入设备的输入操作。
图10C示出了图10B所示场景下鼠标指针从电子设备300的显示屏上移动到电子设备200的显示屏上的过程。在图10C所示场景中,由于电子设备200与电子设备300之间并没有建立直接的通信连接,所以鼠标指针并不能直接从电子设备300移动到电子设备200上,而是需要经过电子设备100。比如,如图10C中箭头所示,随着用户向右移动鼠标的操作,位于电子设备300上的鼠标指针1021可以从界面1012的右边缘穿出,接着从电子设备100的界面1011的左边缘穿入,电子设备100的界面1011上显示鼠标指针1022。然后,用户可以继续向右移动鼠标,位于电子设备100上的鼠标指针1022可以继续从界面1011的右边缘穿出,接着从电子设备200的界面1013的左边缘穿入,电子设备200的界面1013上显示鼠标指针923。
不限于以上实施例所示例的多个设备间的排列情况,用户可以根据自身需求,增减设备数量和/或调整多个设备间的连接关系,示意界面和内部实现情况可以参考前述实施例,本申请实施例对此不作限制。
图11示意了在一些实施例中,电子设备200(平板电脑)由横屏状态变为竖屏状态时,鼠标指针的位置变化。参考前述实施例,图11中所示的平板电脑已经与电子设备100建立了共享输入设备的连接,用户可以使用电子设备100的输入设备(如鼠标、键盘、手写板等)在平板电脑上进行输入。横屏状态与竖屏状态为电子设备所放置状态的相对概念,比如如图11所示,平板电脑的横屏状态表示平板电脑显示屏1102的长边位于上下方向,短边位于左右方向,在电子设备为竖直状态时,定义向下为重力的方向。平板电脑的竖屏状态表示平板电脑显示屏1102的短边位于上下方向,长边位于左右方向。如果未设置锁定电子设备200显示界面的方向,在电子设备200由横屏状态变为竖屏状态时,在重力感应的检测下,显示界面的排列布局可以发生变化,如以重力的方向为向下方向,横屏状态的界面排列布局与竖屏状态的界面排列布局不同,电子设备200可以自动调整显示界面中文字、符号、图标等的排列布局,以方便用户阅读。随着显示界面排列布局的变化,鼠标指针所在的位置也可能发生变化。
如图11所示,平板电脑在横屏状态下,显示界面1103中显示鼠标指针1101。将横屏状态的平板电脑旋转90度,平板电脑变为竖屏状态,随着横屏状态变为竖屏状态,显示界面1104中的排版也可能发生变化,界面1104中的图标、控件、文字的排版为适应竖屏的排版。显示界面1104中鼠标指针1105所在位置也可能随之发生改变。在一些实施例中,比如如图11所示,横屏状态时,鼠标指针1101指向应用图标“信息”,在平板电脑旋转变为竖屏状态后,平板电脑可以在排版变化后的应用图标“信息”的对应位置处重新绘制显示鼠标指针1105。这种情形下,横竖屏切换前后鼠标指针指向的目标不变,对用户来说操作更方便,体验更佳。
在另一些实施例中,也可以是横竖屏状态下鼠标指针的绝对位置不变。例如,平板电脑的分辨率为1280×800(像素),以左上角顶点为原点(0,0),横屏状态下鼠标指针所在位置为A点(600,500),若将平板电脑向右旋转90度,平板电脑变为竖屏状态,竖屏状态下鼠标指针所在位置变为B点(300,600)。在视觉效果上,鼠标指针在横屏时的位置与竖屏时的位置为同一点位置,指向同一个像素点位置。
在另一些实施例中,还可以是鼠标指针的横向/纵向坐标的比例不变。例如,平板电脑的分辨率为1280×800(像素),以左上角顶点为原点(0,0),横屏状态下鼠标指针所在位置为C点(320,600),C点横向坐标为横边长度的四分之一位置处,纵向坐标为竖边长度的四分之三位置处。若将平板电脑向右旋转90度,平板电脑变为竖屏状态,保持鼠标指针所在位置与横屏时横边、竖边比例一致的话,竖屏状态下鼠标指针所在位置可以变为D点(200,960)。
在电子设备的位置、状态、排版等发生变化时,鼠标指针所在位置可以发生相应的改变,以上示例不对本申请实施例构成限制,鼠标指针位置的变化可以有多种方式。
在一些实施例中,如图12所示,电子设备400为折叠屏手机,当折叠屏手机发生状态变化时,比如显示屏由展开状态变为折叠状态时,鼠标指针的位置可以随之发生变化。参考前述实施例,图12中所示的折叠屏手机已经与电子设备100建立了共享输入设备的连接,用户可以使用电子设备100的输入设备(如鼠标、键盘、手写板等)在折叠屏手机上进行输入。折叠屏手机的展开状态是指第一显示屏(大屏)1201处于可视状态,折叠状态是指第二显示屏(小屏)1202处于可视状态,其中第一显示屏的尺寸大于第二显示屏的尺寸。如图12所示,在展开状态下,第一显示屏1201显示界面1203,可以沿着弯折部分折叠第一显示屏1201,直至显示屏两边边缘折叠重合,显示为折叠状态,折叠状态下第二显示屏1202显示界面1204。
如图12所示,折叠屏手机在展开状态下,显示界面1203中显示鼠标指针1205。将屏幕完全折叠起来,折叠屏手机变为折叠状态。随着展开状态变为折叠状态,显示界面中的排版也可能发生变化,界面1204中的图标、控件、文字的排版为适应折叠状态的排版。显示界面1204中鼠标指针1206所在位置也可能随之发生改变。比如如图11所示,折叠屏手机展开状态时,鼠标指针1205指向应用图标“信息”,在变为折叠状态后,可以在排版变化后的应用图标“信息”的对应位置处重新绘制并显示鼠标指针1206。这种情形下,展开/折叠状态切换前后鼠标指针指向的目标不变,对用户来说操作更方便,体验更佳。以上示例不对本申请实施例构成限制,鼠标指针位置的变化可以有多种方式。
结合前述实施例,下面介绍本申请实施例提供的一种共享输入设备的方法。
图13是本申请实施例提供的共享输入设备的方法流程图。该方法可以应用于第一电子设备和第二电子设备。该方法可以包括光标穿梭、光标移动和输入事件响应等步骤,具体实现步骤如下:
S101,第一电子设备与第二电子设备建立第一连接。
在一些实施例中,第一电子设备可以是前述电子设备100(如PC),第二电子设备可以是前述电子设备200(如PAD、手机),第一电子设备和第二电子设备建立第一连接,组成通信系统10。关于通信系统10的描述可以参考前述实施例。第一电子设备和第二电子设备可以搭载或者其他类型的操作系统,第一电子设备和第二电子设备的操作系统可以相同也可以不同,本申请对此不作限制。
在一些实施例中,第一连接可以是无线连接,如蓝牙连接、Wi-Fi连接等,也可以是有线连接,如USB连接等,本实施例对第一连接的类型不作限制。本实施例对建立第一连接的过程也不作任何限制,在一种实现方式中,第一电子设备与第二电子设备之间可以通过NFC短距通信技术,在互相触碰时实现第一连接的建立。
其中,第一电子设备可以配置有鼠标、键盘、手写板等输入设备,在第一电子设备和第二电子设备建立第一连接后,第二电子设备也可以使用第一电子设备的输入设备进行内容输入。其中,第一连接可以为有线连接,如USB连接,第一连接也可以为无线连接,如蓝牙连接、Wi-Fi连接等,本申请实施例对第一连接的类型不作限制。
在一种可能的实现方式中,在第一电子设备与第二电子设备建立第一连接后,第一电子设备可以创建一个对用户来说不可见的虚拟屏,该虚拟屏与第二电子设备的第二显示界面具有相同的分辨率。第一电子设备创建该虚拟屏是为了方便鼠标指针或其他用于指示位置的光标可以穿过第一电子设备显示界面边缘,在不同显示屏(包括虚拟屏)之间的跳跃显示。如果没有创建虚拟屏或者没有外接新的显示屏,鼠标指针或其他用于指示位置的光标会被局限在第一电子设备显示界面的边界范围内。并且在鼠标指针或其他指示光标移动至虚拟屏上后,由于虚拟屏的分辨率与第二电子设备显示屏的分辨率相同,因此鼠标指针在虚拟屏上坐标可以直接发送至第二电子设备,不需要复杂的坐标转换,简单便捷,节省CPU资源的消耗。具体说明可以参考前述实施例,在此不再赘述。
1、光标穿梭(S102-S106)
S102,第一电子设备检测到第一光标移动至第一显示界面的第一边界的第三位置处。
其中,第一光标用于指示显示界面中的目标位置,比如第一光标可以为鼠标指针。用户可以通过操作第一电子设备的第一输入设备,从而控制第一光标的移动。比如第一输入设备为鼠标的时候,用户在移动鼠标时,第一电子设备可以根据检测到的鼠标移动的方向和距离,指示显示界面中的鼠标指针向对应的方向移动一定距离。鼠标的移动距离与鼠标指针在显示界面中的移动距离之间的对应关系可以在鼠标指针敏感度设置中调整。如果第一输入设备为触控板或其他触敏面板,那么用户可以通过手指在触控板上滑动从而控制第一光标的移动。第一输入设备还可以是键盘,用户可以通过操作“上、下、左、右”方向按键,从而控制第一光标的移动。第一输入设备还可以是遥控杆,用户可以通过操作遥控手杆,从而控制第一光标的移动。第一输入设备还可以是摄像头,通过摄像头检测瞳孔的移动控制第一光标的移动。本申请对第一输入设备不作任何限制。
在本实施例中,显示界面可以为二维平面界面,在第一边界的第三位置可以表示为一个二维坐标。第一显示界面为第一电子设备显示内容的显示界面,第一显示界面并不一定铺满第一电子设备的显示屏,在一些情况中,第一显示界面的宽高比例可能并不与显示屏的宽高比一致,此时会在显示屏中的第一显示界面外产生黑色区域,黑色区域中并没有内容显示。
第一电子设备的显示界面可以有多个边界,比如通常PC、PAD、手机有四个边界,为了便于理解和描述,在这里以用户正对正向布局的显示界面为例,可以区分称为上边界、下边界、左边界、右边界。在一些实施例中,如图5B、图5C所示,可以设置第一电子设备显示屏与第二电子设备/虚拟屏的边界相接关系。比如可以设置第二电子设备/虚拟屏位于第一电子设备显示屏的右边,即第一电子设备显示屏的右边界与第二电子设备/虚拟屏的左边界相接,则第一光标可以从第一电子设备显示界面的右边界穿出,并从第二电子设备/虚拟屏界面的左边界对应位置处穿入;当然,第一光标也可以从第二电子设备/虚拟屏界面的左边界穿回第一电子设备显示界面的右边界。如果设置第二电子设备/虚拟屏位于第一电子设备显示屏的下边,即第一电子设备显示屏的下边界与第二电子设备/虚拟屏的上边界相接,则第一光标可以从第一电子设备显示界面的下边界穿出,并从第二电子设备/虚拟屏界面的上边界对应位置处穿入;当然,第一光标也可以从第二电子设备/虚拟屏界面的上边界穿回第一电子设备显示界面的下边界。其他边界的相接情况同理。如果第一电子设备连接有多个其他设备,一般来说,为避免冲突,多个设备可以对应连接在第一电子设备显示屏的不同边界,比如设置第二电子设备位于第一电子设备的右边,那么可以设置第三电子设备位于第一电子设备的下边。具体说明可以参考前述实施例,在此不再赘述。
在本方法实施例中,可以设置第一电子设备显示界面的第一边界与第二电子设备显示界面的第二边界相接,相接的意思并不表示两个电子设备的显示屏靠在一起,而是表示第一光标到达第一电子设备显示界面的第一边界后再继续沿着第一边界的方向移动时,可以显示在第二电子设备显示界面的第二边界上。即在视觉效果上,第一光标从第一电子设备的第一边界“穿出”,然后从第二电子设备的第二边界“穿入”,第一光标从第一电子设备的显示界面上“穿梭”到了第二电子设备的显示界面上。同理,第一光标还可以从第二电子设备的显示界面上“穿回”第一电子设备的显示界面上,即第一光标到达第二电子设备显示界面的第二边界后再继续沿着第二边界的方向移动时,可以显示在第一电子设备显示界面的第一边界上。
S103,第一电子设备检测到第一移动操作,第一移动操作是指示第一光标移出第一电子设备的第一显示界面外的操作,第一移动操作对应于第三偏移量,第三偏移量用于表征第一光标移出第一显示界面边界外。
例如,第一移动操作可以为用户移动鼠标,用户移动鼠标产生的第一移动可以转换为指示鼠标指针移动的第三偏移量,第三偏移量为矢量,包括偏移方向和偏移距离,其中,该第三偏移量用于表征第一光标朝第一方向移动,第一方向为朝向第一显示界面边界外的方向。如第一边界为第一显示界面右边界,第一光标位于第一边界上时,当检测到第三偏移量的方向中包含向右的方向分量,第一电子设备可以执行步骤S104。
S104,第一电子设备可以根据第三位置计算出第二光标将要显示在第二电子设备的第二显示界面上的第一位置。
在一些实施例中,第一位置、第三位置可以为二维坐标,第一电子设备可以根据第一显示界面的第一分辨率、第二显示界面的第二分辨率和第一光标所在第三位置,计算出第一光标将在第二电子设备第二显示界面中出现的第一位置。其中,第三位置可以是第一电子设备显示界面的第一边界上的一个坐标位置,第一位置可以是第二电子设备显示界面的第二边界上的一个坐标位置。关于如何根据第三位置计算得到第一位置的一些具体计算方法,可以参考前述图4A所描述的实施例,在此不再赘述。同样的,第二显示界面指的是第二电子设备显示内容的界面区域,第二显示界面可能并没有铺满整个第二电子设备的显示屏。
S105,第一电子设备向第二电子设备发送第一消息,第一消息可以携带第一位置等信息。
第一电子设备可以向第二电子设备发送携带有第一位置信息的第一消息,用以通知第二电子设备在第一位置处显示第二光标。在另一些实施例中,第一消息中可以并不携带指定位置的信息,而是只有通知显示第二光标的信息,第二电子设备可以在收到显示第二光标的消息后,自行确定第二光标在第二显示界面中所要显示的位置。
S106,第二电子设备根据第一消息在第二显示界面的第一位置处显示第二光标。
在第二电子设备接收到第一消息后,第二电子设备可以在第一位置处绘制并显示第二光标。第一位置可以是第二电子设备显示界面的第二边界上的一个坐标位置,也可以是某一个固定的位置,本实施例不作限制。
相应的,光标也可以从第二电子设备的第二显示界面“穿回”第一电子设备的第一显示界面上。例如,在第二光标处于第二显示界面的第二边界时,当第一电子设备检测到第三移动操作,第三移动操作为用户操作产生第三移动的操作,第三移动操作是指示第二光标移出第二显示界面外的操作,第三移动操作对应于第二偏移量,该第二偏移量用于指示第二光标朝第二方向移动,第二方向为超出第二显示界面边界的方向。然后第一电子设备可以在第一显示界面中的第三位置处显示第一光标。
在一些实施例中,当第二光标显示在第二显示界面上时,第一电子设备的第一显示界面上就不会显示第一光标,以免使用户产生混淆。
2、光标移动(S107-S109)
S107,第一电子设备检测到第一偏移量。
在一些实施例中,第一电子设备可以检测到用户的第二移动操作,第二移动操作产生第二移动,第二移动对应第一偏移量,第一偏移量是个矢量坐标,包括移动方向和移动距离。例如,第二移动操作可以是用户操控鼠标移动一定距离,或者手指在触控板上移动一定距离,还可以是移动遥控手杆等等,该第二移动操作可以指示第二光标移动第一偏移量。实施例中对输入设备及输入事件的类型不作限制,引起光标移动的输入事件还可能是第一电子设备的摄像头检测到用户的手势操作或者眼睛瞳孔移动等。
如果第一位置为在第二显示界面的边界上的一个位置,那么第二移动产生的第一偏移量用于指示第二光标朝第二显示界面内的方向移动。
S108,第一电子设备向第二电子设备发送第二消息,第二消息携带第一偏移量等信息。
第一电子设备向第二电子设备发送携带有第一偏移量信息的第二消息,用以通知第二电子设备的第二光标产生第一偏移量的位移。
S109,第二电子设备将第二光标从第一位置移动至第二位置,第二位置相对于第一位置的偏移量为第一偏移量。
由于第一电子设备创建了与第二电子设备具有相同分辨率的虚拟屏,所以第二电子设备在第二显示界面中的第一位置处显示第二光标的同时,第一光标会移动至虚拟屏的第四位置,第四位置与第一位置的坐标值相同。在检测到第二移动操作时,第二电子设备将第二光标从第一位置移动至第二位置处,同时,第一电子设备将第一光标从第四位置移动至第五位置,第五位置与第二位置的坐标值相同。
3、输入事件响应(S110-S112)
由于第一电子设备所搭载的第一操作系统可能与第二电子设备所搭载的第二操作系统不同,所以在第二光标显示在第二电子设备显示界面中时,当第一电子设备接收到来自于输入设备如鼠标、键盘、手写笔等的输入事件时,第一电子设备可以将该输入事件转换为对应的第二电子设备上的输入事件,并发送给第二电子设备。第二电子设备在接收到输入事件后,可以对输入事件作出相应的响应,实现了用户使用第一电子设备的输入设备在第二电子设备上进行输入的功能。
S110,第一电子设备检测到第一输入事件,可以根据第一映射表将第一输入事件映射成第二输入事件。
其中,第一输入事件来自于第一电子设备的第一输入设备采集到的输入操作,第一输入设备可以包括:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置等等。例如,第一输入事件可以是单击鼠标左键、单击鼠标右键、单击鼠标中键、双击鼠标左键、双击鼠标右键、长按鼠标左键、长按鼠标右键、滑动鼠标滚轮、敲击键盘的第一按键等输入事件,或者还可以是语音采集、手写笔、触摸点击及其组合等输入事件,本申请不对此作限制。
在一些实施例中,第一电子设备中可以存储有第一映射表,第一映射表中可以指示有作用于第一电子设备的第一输入事件与作用于第二电子设备的第二输入事件之间的映射关系。第一电子设备可以根据第一映射表,将获取到的输入设备的第一输入事件,转化为对应的可以作用于第二电子设备上的第二输入事件,并发送给第二电子设备。
例如,第一电子设备如PC可以根据第一映射表将作用于系统的输入事件映射为作用于系统的输入事件,第二电子设备如PAD搭载有系统。比如,在系统上的单击鼠标左键的事件可以映射为系统中单击事件,在系统上的单击鼠标右键的事件可以映射为系统中长按事件。系统中第一按键的键码值可以映射为对应的系统中的键码值,比如同样为字符“a”,在系统中的键码值可能与系统中的键码值并不相同。
S111,第一电子设备向第二电子设备发送第三消息,第三消息携带第二输入事件。
在一些实施例中,第一电子设备可以将第二输入事件打包成符合传输协议格式的数据包,然后通过第一连接(如Wi-Fi直连)发送给第二电子设备。输入事件的数据可以包括输入事件的发生时间time、输入事件类型type、输入事件类型的代码code、输入事件的值value等。
例如,搭载系统的PAD有自己的输入input子系统,用于统一管理输入事件。基于输入子系统实现的uinput可以方便的在用户空间userspace中模拟输入事件。PAD可以通过uinput创建虚拟设备(如虚拟鼠标、虚拟键盘等)并配置虚拟设备的属性,然后将从第一电子设备如PC获取到的输入事件inputevent序列写入/dev/uinput设备文件中。这样,可以实现使用PC的鼠标或键盘在PAD中进行输入。具体说明可以参考前述实施例,这里不再赘述。
S112,第二电子设备接收并响应第二输入事件。
第二电子设备在接收到第二输入事件后,可以对第二输入事件作出对应的响应。如,响应于单击指令而播放音乐、响应于长按指令而拖动图标、显示第一电子设备键盘的第一按键对应的字符等等。
可以理解的,参考图11、图12所示的实施例,在一些实施例中,当第二电子设备的显示界面布局由第二显示界面变成第三显示界面,第二光标可以由第二位置变为第六位置,其中,第二显示界面与第三显示界面包含的界面元素相同,第二显示界面的分辨率与第三显示界面的分辨率不同。例如平板电脑由横屏状态变为竖屏状态后,显示界面的排版布局发生了变化,但是鼠标指针可以在显示界面变化前后指向同一个图标。或者例如折叠屏由折叠状态变为展开状态,显示屏的显示界面的大小发生了变化,显示界面的排版布局也发生了变化,可以设置鼠标指针在显示界面变化前后指向同一个图标。
在一些实施例中,在第二光标显示在第二电子设备的第二显示界面上时,遇到第二电子设备锁屏/关机/黑屏/重启等情况时,第一光标可以重新显示在第一电子设备的第一显示界面中的某个位置,方便用户定位光标和操作光标。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (28)
1.一种共享输入设备的方法,其特征在于,所述方法包括:
第一电子设备与第二电子设备建立第一连接;
所述第一电子设备检测到第一移动操作,所述第一移动操作是指示第一光标移出所述第一电子设备的第一显示界面外的操作;
所述第一电子设备通过所述第一连接向所述第二电子设备发送第一消息;
所述第二电子设备根据所述第一消息在第二显示界面中的第一位置处显示第二光标;
所述第一电子设备检测到第二移动操作,所述第二移动操作对应于第一偏移量;
所述第一电子设备通过所述第一连接向所述第二电子设备发送第二消息,所述第二消息携带所述第一偏移量;
所述第二电子设备将所述第二光标从所述第一位置移动至第二位置,所述第二位置相对于所述第一位置的偏移量为所述第一偏移量。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一电子设备检测到第三移动操作,所述第三移动操作是指示所述第二光标移出所述第二电子设备的所述第二显示界面外的操作;
所述第一电子设备在所述第一显示界面中的第三位置处显示所述第一光标。
3.根据权利要求2所述的方法,其特征在于,所述第一位置位于所述第二显示界面的第二边界上,所述第三位置位于所述第一显示界面的第一边界上。
4.根据权利要求3所述的方法,其特征在于,所述第一显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,所述第二显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界;
如果所述第一边界为所述第一显示界面的左边界,那么所述第二边界为所述第二显示界面的右边界;如果所述第一边界为所述第一显示界面的右边界,那么所述第二边界为所述第二显示界面的左边界;如果所述第一边界为所述第一显示界面的上边界,那么所述第二边界为所述第二显示界面的下边界;如果所述第一边界为所述第一显示界面的下边界,那么所述第二边界为所述第二显示界面的上边界。
5.根据权利要求1-4中任一项所述的方法,其特征在于,还包括:
在所述第二光标显示在所述第二显示界面上的情况下,所述第一电子设备检测到第一输入事件,其中,所述第一输入事件来自于所述第一电子设备的第一输入设备采集到的输入操作,所述第一输入设备包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置;
所述第一电子设备将所述第一输入事件映射为第二输入事件,其中,所述第一电子设备中存储有第一映射表,所述第一映射表存储有所述第一输入事件与所述第二输入事件之间的映射关系;
所述第一电子设备向所述第二电子设备发送第三消息,所述第三消息携带所述第二输入事件;
所述第二电子设备接收所述第二输入事件。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一显示界面的显示区域为第一分辨率所对应的可视区域,所述第二显示界面的显示区域为第二分辨率所对应的可视区域,所述方法还包括:
在所述第一电子设备检测到所述第一移动操作之后,所述第一电子设备根据所述第一光标在所述第一显示界面上的坐标、所述第一显示界面的所述第一分辨率、从所述第二电子设备获取到的所述第二显示界面的所述第二分辨率,确定所述第二光标显示在所述第二显示界面上的所述第一位置的坐标。
7.根据权利要求6中所述的方法,其特征在于,还包括:
所述第一电子设备创建虚拟屏,所述虚拟屏的分辨率为所述第二分辨率;
在所述第二电子设备在第二显示界面中的第一位置处显示第二光标的同时,所述第一电子设备将所述第一光标移至所述虚拟屏的第四位置,所述第四位置与所述第一位置的坐标值相同;
在检测到所述第二移动操作时,所述第一电子设备将所述第一光标从所述第四位置移动至第五位置,所述第五位置与所述第二位置的坐标值相同。
8.根据权利要求1-7任一项所述的方法,其特征在于,还包括:
当所述第二电子设备的显示界面布局由所述第二显示界面变成第三显示界面,所述第二电子设备将所述第二光标的所在位置由所述第二位置变为第六位置,其中,所述第二显示界面与所述第三显示界面包含的界面元素相同,所述第二显示界面的分辨率与所述第三显示界面的分辨率不同。
9.一种共享输入设备的方法,其特征在于,所述方法包括:
第一电子设备与第二电子设备建立第一连接;
所述第一电子设备检测到第一移动操作,所述第一移动操作是指示第一光标移出所述第一电子设备的第一显示界面外的操作;
所述第一电子设备通过所述第一连接向所述第二电子设备发送第一消息,所述第一消息用于通知所述第二电子设备显示第二光标;
所述第一电子设备检测到第二移动操作,所述第二移动操作对应于第一偏移量;
所述第一电子设备通过所述第一连接向所述第二电子设备发送第二消息,所述第二消息携带所述第一偏移量,所述第二消息用于通知所述第二电子设备将所述第二光标从所述第一位置移动至第二位置,所述第二位置相对于所述第一位置的偏移量为所述第一偏移量。
10.根据权利要求9所述的方法,其特征在于,还包括:
所述第一电子设备检测到第三移动操作,所述第三移动操作是指示所述第二光标移出所述第二电子设备的所述第二显示界面外的操作;
所述第一电子设备在所述第一显示界面中的第三位置处显示所述第一光标。
11.根据权利要求10所述的方法,其特征在于,所述第一位置位于所述第二显示界面的第二边界上,所述第三位置位于所述第一显示界面的第一边界上。
12.根据权利要求11所述的方法,其特征在于,所述第一显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,所述第二显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界;
如果所述第一边界为所述第一显示界面的左边界,那么所述第二边界为所述第二显示界面的右边界;如果所述第一边界为所述第一显示界面的右边界,那么所述第二边界为所述第二显示界面的左边界;如果所述第一边界为所述第一显示界面的上边界,那么所述第二边界为所述第二显示界面的下边界;如果所述第一边界为所述第一显示界面的下边界,那么所述第二边界为所述第二显示界面的上边界。
13.根据权利要求9-12中任一项所述的方法,其特征在于,还包括:
在所述第二光标显示在所述第二显示界面上的情况下,所述第一电子设备检测到第一输入事件,其中,所述第一输入事件来自于所述第一电子设备的第一输入设备采集到的输入操作,所述第一输入设备包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置;
所述第一电子设备将所述第一输入事件映射为第二输入事件,其中,所述第一电子设备中存储有第一映射表,所述第一映射表存储有所述第一输入事件与所述第二输入事件之间的映射关系;
所述第一电子设备向所述第二电子设备发送第三消息,所述第三消息携带所述第二输入事件。
14.根据权利要求9-13中任一项所述的方法,其特征在于,所述第一显示界面的显示区域为第一分辨率所对应的可视区域,所述第二显示界面的显示区域为第二分辨率所对应的可视区域,所述方法还包括:
在所述第一电子设备检测到所述第一移动操作之后,所述第一电子设备根据所述第一光标在所述第一显示界面上的坐标、所述第一显示界面的所述第一分辨率、从所述第二电子设备获取到的所述第二显示界面的所述第二分辨率,确定所述第二光标显示在所述第二显示界面上的所述第一位置的坐标。
15.根据权利要求14中所述的方法,其特征在于,还包括:
所述第一电子设备创建虚拟屏,所述虚拟屏的分辨率为所述第二分辨率;
在所述第二电子设备在第二显示界面中的第一位置处显示第二光标的同时,所述第一电子设备将所述第一光标移至所述虚拟屏的第四位置,所述第四位置与所述第一位置的坐标值相同;
在检测到所述第二移动操作时,所述第一电子设备将所述第一光标从所述第四位置移动至第五位置,所述第五位置与所述第二位置的坐标值相同。
16.一种共享输入设备的方法,其特征在于,所述方法包括:
第二电子设备与第一电子设备建立第一连接;
所述第二电子设备通过所述第一连接接收来自于所述第一电子设备的第一消息,所述第一消息是所述第一电子设备检测到第一移动操作后生成的,所述第一移动操作是指示第一光标移出所述第一电子设备的第一显示界面外的操作;
所述第二电子设备根据所述第一消息在第二显示界面中的第一位置处显示所述第二光标;
所述第二电子设备通过所述第一连接接收来自于所述第一电子设备的第二消息,所述第二消息携带第一偏移量,所述第二消息是所述第一电子设备检测到第二移动操作后生成的,所述第二移动操作对应于所述第一偏移量;
所述第二电子设备将所述第二光标从所述第一位置移动至第二位置,所述第二位置相对于所述第一位置的偏移量为所述第一偏移量。
17.根据权利要求16所述的方法,其特征在于,还包括:
所述第二电子设备接收到所述第一电子设备发送的第二偏移量,所述第二偏移量是第三移动操作对应的偏移量,所述第三移动操作是指示所述第二光标移出所述第二电子设备的所述第二显示界面外的操作;
所述第二电子设备取消显示所述第二光标。
18.根据权利要求17所述的方法,其特征在于,在所述第二电子设备取消显示所述第二光标时,所述第一光标显示在所述第一电子设备的第一显示界面中的第三位置处。
19.根据权利要求18所述的方法,其特征在于,所述第一位置位于所述第二显示界面的第二边界上,所述第三位置位于所述第一显示界面的第一边界上。
20.根据权利要求19所述的方法,其特征在于,所述第一显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界,所述第二显示界面有四个边界,所述四个边界为处于正向布局的显示界面的上边界、下边界、左边界、右边界;
如果所述第一边界为所述第一显示界面的左边界,那么所述第二边界为所述第二显示界面的右边界;如果所述第一边界为所述第一显示界面的右边界,那么所述第二边界为所述第二显示界面的左边界;如果所述第一边界为所述第一显示界面的上边界,那么所述第二边界为所述第二显示界面的下边界;如果所述第一边界为所述第一显示界面的下边界,那么所述第二边界为所述第二显示界面的上边界。
21.根据权利要求16-20中任一项所述的方法,其特征在于,还包括:
在所述第二光标显示在所述第二显示界面上的情况下,所述第二电子设备通过所述第一连接接收来自于所述第一电子设备的第三消息,所述第三消息携带第二输入事件,所述第二输入事件为第一输入事件对应映射的输入事件,其中,所述第一电子设备中存储有第一映射表,所述第一映射表存储有所述第一输入事件与所述第二输入事件之间的映射关系,所述第一输入事件来自于所述第一电子设备的第一输入设备采集到的输入操作,所述第一输入设备包括以下一项或多项:鼠标、键盘、手写板、摄像头、触控板、扫描仪、手写笔、遥控杆、语音输入装置。
22.根据权利要求16-21中任一项所述的方法,其特征在于,所述第一显示界面的显示区域为第一分辨率所对应的可视区域,所述第二显示界面的显示区域为第二分辨率所对应的可视区域,所述第二光标显示在所述第二显示界面上的所述第一位置的坐标是所述第一电子设备根据所述第一光标在所述第一显示界面上的坐标、所述第一显示界面的所述第一分辨率、从所述第二电子设备获取到的所述第二显示界面的所述第二分辨率确定的。
23.根据权利要求22中所述的方法,其特征在于,所述第二光标位于所述第二显示界面中所述第一位置的坐标值与所述第一光标在虚拟屏中的第四位置的坐标值相同,所述虚拟屏由所述第一电子设备所创建,所述虚拟屏的分辨率为所述第二分辨率,所述第四位置为所述第一光标移出所述第一显示界面外后在所述虚拟屏上出现的位置;
所述第二光标位于所述第二显示界面中所述第二位置的坐标值与所述第一光标在所述虚拟屏中的第五位置的坐标值相同,所述第五位置相对于所述第四位置的偏移量为所述第一偏移量。
24.根据权利要求16-23任一项所述的方法,其特征在于,还包括:
当所述第二电子设备的显示界面布局由所述第二显示界面变成第三显示界面,所述第二电子设备将所述第二光标的所在位置由所述第二位置变为第六位置,其中,所述第二显示界面与所述第三显示界面包含的界面元素相同,所述第二显示界面的分辨率与所述第三显示界面的分辨率不同。
25.一种电子设备,其特征在于,所述电子设备包括:通信装置、显示屏、存储器以及耦合于所述存储器的处理器,多个应用程序,以及一个或多个程序;所述存储器中存储有计算机可执行指令,所述处理器执行所述指令时使得所述电子设备实现如权利要求9至15中任一项所述的方法。
26.一种电子设备,其特征在于,所述电子设备包括:通信装置、显示屏、存储器以及耦合于所述存储器的处理器,多个应用程序,以及一个或多个程序;所述存储器中存储有计算机可执行指令,所述处理器执行所述指令时使得所述电子设备实现如权利要求16至24中任一项所述的方法。
27.一种通信系统,其特征在于,包括:第一电子设备和第二电子设备,其中:
所述第一电子设备为权利要求25中所述的电子设备;
所述第二电子设备为权利要求26中所述的电子设备。
28.一种计算机存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序包括可执行指令,所述可执行指令当被处理器执行时使所述处理器执行如权利要求9至15、16至24中任一项所述的方法对应的操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/254,984 US20240045557A1 (en) | 2020-11-30 | 2021-11-29 | Method for Sharing Input Device, Electronic Device, and System |
EP21897190.1A EP4235371A4 (en) | 2020-11-30 | 2021-11-29 | METHOD FOR SHARING AN INPUT DEVICE, ELECTRONIC DEVICES AND SYSTEM |
PCT/CN2021/134032 WO2022111690A1 (zh) | 2020-11-30 | 2021-11-29 | 一种共享输入设备的方法、电子设备及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020113775390 | 2020-11-30 | ||
CN202011377539 | 2020-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579016A true CN114579016A (zh) | 2022-06-03 |
Family
ID=81769920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110131920.7A Pending CN114579016A (zh) | 2020-11-30 | 2021-01-30 | 一种共享输入设备的方法、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579016A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665317A (zh) * | 2022-10-26 | 2023-01-31 | 努比亚技术有限公司 | 一种虚拟屏的应用操控方法、设备及计算机可读存储介质 |
CN116400814A (zh) * | 2023-01-19 | 2023-07-07 | 华为终端有限公司 | 多设备之间共享键盘和鼠标的方法及电子设备 |
WO2023241558A1 (zh) * | 2022-06-17 | 2023-12-21 | 华为技术有限公司 | 通信方法、通信系统和鼠标 |
WO2023241257A1 (zh) * | 2022-06-13 | 2023-12-21 | 荣耀终端有限公司 | 设备建立连接的方法和终端设备 |
WO2024046315A1 (zh) * | 2022-09-02 | 2024-03-07 | 荣耀终端有限公司 | 一种输入设备的事件处理方法和装置 |
WO2024046117A1 (zh) * | 2022-09-02 | 2024-03-07 | 荣耀终端有限公司 | 数据传输方法和终端设备 |
CN118131925A (zh) * | 2023-07-18 | 2024-06-04 | 华为技术有限公司 | 设备显示控制方法、电子设备及通信系统 |
WO2024152874A1 (zh) * | 2023-01-18 | 2024-07-25 | 华为技术有限公司 | 设备显示控制方法、电子设备及通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354639A (zh) * | 2007-07-25 | 2009-01-28 | 联想(北京)有限公司 | 在终端之间操作对象的方法及终端 |
CN103425408A (zh) * | 2012-05-23 | 2013-12-04 | 深圳富泰宏精密工业有限公司 | 鼠标键盘共享方法及系统 |
CN106293160A (zh) * | 2016-09-08 | 2017-01-04 | 青岛海信电器股份有限公司 | 一种多显示器之间鼠标指针切换的方法及装置 |
CN109388257A (zh) * | 2018-09-30 | 2019-02-26 | 北京淳中科技股份有限公司 | 控制权切换方法、装置及kvm切换系统 |
-
2021
- 2021-01-30 CN CN202110131920.7A patent/CN114579016A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354639A (zh) * | 2007-07-25 | 2009-01-28 | 联想(北京)有限公司 | 在终端之间操作对象的方法及终端 |
CN103425408A (zh) * | 2012-05-23 | 2013-12-04 | 深圳富泰宏精密工业有限公司 | 鼠标键盘共享方法及系统 |
CN106293160A (zh) * | 2016-09-08 | 2017-01-04 | 青岛海信电器股份有限公司 | 一种多显示器之间鼠标指针切换的方法及装置 |
CN109388257A (zh) * | 2018-09-30 | 2019-02-26 | 北京淳中科技股份有限公司 | 控制权切换方法、装置及kvm切换系统 |
Non-Patent Citations (1)
Title |
---|
无名: "Introducing scrcpy", pages 1 - 18, Retrieved from the Internet <URL:https://blog.rom1v.com/2018/03/introducing-scrcpy/> * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241257A1 (zh) * | 2022-06-13 | 2023-12-21 | 荣耀终端有限公司 | 设备建立连接的方法和终端设备 |
WO2023241558A1 (zh) * | 2022-06-17 | 2023-12-21 | 华为技术有限公司 | 通信方法、通信系统和鼠标 |
WO2024046315A1 (zh) * | 2022-09-02 | 2024-03-07 | 荣耀终端有限公司 | 一种输入设备的事件处理方法和装置 |
WO2024046117A1 (zh) * | 2022-09-02 | 2024-03-07 | 荣耀终端有限公司 | 数据传输方法和终端设备 |
CN115665317A (zh) * | 2022-10-26 | 2023-01-31 | 努比亚技术有限公司 | 一种虚拟屏的应用操控方法、设备及计算机可读存储介质 |
WO2024152874A1 (zh) * | 2023-01-18 | 2024-07-25 | 华为技术有限公司 | 设备显示控制方法、电子设备及通信系统 |
CN116400814A (zh) * | 2023-01-19 | 2023-07-07 | 华为终端有限公司 | 多设备之间共享键盘和鼠标的方法及电子设备 |
CN118131925A (zh) * | 2023-07-18 | 2024-06-04 | 华为技术有限公司 | 设备显示控制方法、电子设备及通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112130742B (zh) | 一种移动终端的全屏显示方法及设备 | |
CN109917956B (zh) | 一种控制屏幕显示的方法和电子设备 | |
CN112217923B (zh) | 一种柔性屏幕的显示方法及终端 | |
CN113645351B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
KR102534354B1 (ko) | 시스템 탐색 바 표시 제어 방법, 그래픽 사용자 인터페이스 및 전자 디바이스 | |
CN110536004B (zh) | 多传感器应用于具有柔性屏幕的电子设备的方法及电子设备 | |
CN114579016A (zh) | 一种共享输入设备的方法、电子设备及系统 | |
WO2021036770A1 (zh) | 一种分屏处理方法及终端设备 | |
CN112506386A (zh) | 一种折叠屏显示方法及电子设备 | |
WO2022042285A1 (zh) | 一种应用程序界面显示的方法及电子设备 | |
CN110559645B (zh) | 一种应用的运行方法及电子设备 | |
CN110401768B (zh) | 调节电子设备的工作状态的方法和装置 | |
CN112598594A (zh) | 颜色一致性矫正方法及相关装置 | |
CN114115769A (zh) | 一种显示方法及电子设备 | |
CN112671976A (zh) | 电子设备的控制方法及电子设备 | |
WO2022001258A1 (zh) | 多屏显示方法、装置、终端设备及存储介质 | |
CN110968247B (zh) | 一种电子设备操控方法及电子设备 | |
CN115016697A (zh) | 投屏方法、计算机设备、可读存储介质和程序产品 | |
CN110705614A (zh) | 模型训练方法、装置、电子设备及存储介质 | |
WO2022143180A1 (zh) | 协同显示方法、终端设备及计算机可读存储介质 | |
CN113391775A (zh) | 一种人机交互方法及设备 | |
CN115129410A (zh) | 桌面壁纸配置方法、装置、电子设备及可读存储介质 | |
CN115150542A (zh) | 一种视频防抖方法及相关设备 | |
CN114527903A (zh) | 一种按键映射方法、电子设备及系统 | |
CN115032640B (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 |