CN106802762B - 在虚拟会话中同步服务器侧键盘布局与客户端侧布局 - Google Patents

在虚拟会话中同步服务器侧键盘布局与客户端侧布局 Download PDF

Info

Publication number
CN106802762B
CN106802762B CN201510837401.7A CN201510837401A CN106802762B CN 106802762 B CN106802762 B CN 106802762B CN 201510837401 A CN201510837401 A CN 201510837401A CN 106802762 B CN106802762 B CN 106802762B
Authority
CN
China
Prior art keywords
server
keyboard
client
keyboard layout
layout
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.)
Active
Application number
CN201510837401.7A
Other languages
English (en)
Other versions
CN106802762A (zh
Inventor
江天择
张杨
陆凯
丁德宝
卢义婉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Priority to CN201510837401.7A priority Critical patent/CN106802762B/zh
Priority to JP2018527721A priority patent/JP6615997B2/ja
Priority to PCT/US2016/062262 priority patent/WO2017091411A1/en
Priority to KR1020187017990A priority patent/KR102136474B1/ko
Publication of CN106802762A publication Critical patent/CN106802762A/zh
Application granted granted Critical
Publication of CN106802762B publication Critical patent/CN106802762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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
    • G06F3/0488Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction 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 using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

一种计算机实现技术处理用户输入。所述计算机实现技术涉及:在由用户操作的客户端装置以及传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话。所述技术还涉及在创建了虚拟会话时,将服务器装置的服务器键盘布局与客户端装置的客户端键盘布局进行匹配。所述技术还涉及在将服务器键盘布局与客户端键盘布局进行匹配之后,根据服务器装置的服务器键盘布局,向基于服务器的用户环境提供来自用户的键击输入,与此同时服务器装置在虚拟会话期间向用户传递对基于服务器的用户环境的访问。

Description

在虚拟会话中同步服务器侧键盘布局与客户端侧布局
背景技术
桌面或应用虚拟化支持用户通过网络将本地客户端设备与远程服务器设备相连,然后访问由远程服务器设备提供的虚拟桌面或虚拟应用环境。一旦用户已经访问虚拟桌面或虚拟应用环境,用户就能够使用虚拟桌面或虚拟应用环境来执行有用工作(例如,编辑文档、播放幻灯片、检查邮箱等)。
为了向虚拟桌面或虚拟应用环境提供文本输入,用户敲击本地客户端设备的键盘,用户做出的键击被电学转换为特定字符(例如,字母、数字、符号等)。在一些情况下(例如,在台式计算机的环境中),本地客户端设备配备有物理键盘。在其他情况下(例如,在平板或智能电话的环境中),本地客户端设备配备有提供显示键盘的触摸屏。
发明内容
假设本地客户端设备的触摸屏初始显示英语(美国)触摸键盘,其支持用户向由远程服务器设备提供的虚拟桌面或虚拟应用环境键入文本。或者假设本地客户端设备配备有物理键盘。当用户敲击本地客户端设备的触摸键盘或物理键盘时,用户做出的键击被适当地转换为特定英语字符。
此外,假定本地客户端设备被配置为允许用户在不同键盘布局之间进行切换(例如,从英语键盘布局切换到法语键盘布局、或切换到德语键盘布局等)。如果向用户提供这种键盘切换特性,则用户可以根据个人偏好,尝试从英语键盘布局切换到不同键盘布局之一。然而,当在本地客户端设备上进行键盘切换之后,用户可能对哪个键盘当前对由远程服务器设备提供的虚拟桌面或虚拟应用环境是有效的这个问题感到困惑。附加地,有可能当在本地客户端设备上进行键盘切换之后,导致用户键入的键击被远程服务器设备提供的虚拟桌面或虚拟应用环境错误地解译。
改进的技术涉及在虚拟会话期间将服务器侧键盘布局与客户端侧键盘布局进行电学同步。这种同步消除了用户关于哪个键盘布局当前是有效的困惑。附加地,这种同步确保服务器侧环境不会错误地解译客户端侧的文本输入。因此,明显改善了用户体验。
一个实施例涉及一种计算机实现的处理用户输入的方法。所述计算机实现的方法包括:在由用户操作的客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话。所述方法还包括:在创建了虚拟会话时,将服务器装置的服务器键盘布局与客户端装置的客户端键盘布局进行匹配。所述方法还包括:在将服务器键盘布局与客户端键盘布局进行匹配之后,在虚拟会话期间在服务器装置向用户传递对基于服务器的用户环境的访问的同时根据服务器装置的服务器键盘布局,向基于服务器的用户环境提供来自用户的键击输入。
在一些布置中,将服务器键盘布局与客户端键盘布局进行匹配包括:执行键盘绑定操作(keyboard binding operation)以便就服务器装置的初始服务器键盘布局与客户端装置的初始客户端键盘布局进行协商。这种布置还适用于配备有触摸键盘的客户端装置,其中该触摸键盘允许用户切换客户端侧键盘布局。
在一些布置中,执行键盘绑定操作包括:
(i)从服务器装置向客户端装置传递键盘绑定请求,键盘绑定请求标识可兼容的服务器键盘布局集合;
(ii)响应于键盘绑定请求,从客户端设备向服务器设备传递键盘绑定响应,该键盘绑定响应标识客户端装置当前被配置为使用可兼容的服务器键盘布局集合中的哪种布局;以及
(iii)响应于键盘绑定响应,从服务器装置向客户端装置传递键盘绑定确认消息(a keyboard bind-commit message)。
键盘绑定确认(bind-commit)消息保证客户端设备和服务器设备支持在键盘绑定响应中标识的键盘布局。
在一些布置中,在客户端装置和服务器装置之间创建虚拟会话包括:通过计算机网络在客户端装置和服务器装置之间建立虚拟信道。在这些布置中,通过所建立的虚拟信道,传递所述键盘绑定请求、键盘绑定响应和键盘绑定确认消息。
在一些布置中,键盘绑定响应还标识客户端装置被构造和布置为支持的键盘特征集(例如,键盘类型、键盘布局集合、当前平台等)。
在一些布置中,所述方法还包括:在向基于服务器的用户环境提供来自用户的键击输入一段时间之后,将服务器装置的服务器键盘布局与客户端装置的其它客户端键盘布局进行匹配。
在一些布置中,将服务器装置的服务器键盘布局与客户端装置的其他客户端键盘布局进行匹配包括:接收来自用户的接键盘布局改变命令;响应于所述来自用户的键盘布局改变命令,加载新的客户端键盘布局并将新的客户端键盘布局设置为系统默认键盘布局,以便将该服务器装置的服务器键盘布局与所述客户端装置的新的客户端键盘布局进行匹配,其中所述新的客户端键盘布局不同于客户端装置的初始客户端键盘布局。
在一些布置中,初始客户端键盘布局包括针对第一语言的第一按键排列。附加地,新的客户端键盘布局包括针对第二语言的第二按键排列,其中所述第二按键排列与针对第一语言的第一按键排列不同。此外,所述接收来自用户的键盘布局改变命令包括:经由由用户操作的客户端设备的触摸键盘或操作系统任务条的键盘语言指示符,获得来自用户的键盘选择。所述键盘选择标识针对第二语言的第二按键排列,所述针对第二语言的第二按键排列代替针对第一语言的第一按键排列。
在一些布置中,所述方法还包括:在执行键盘布局改变操作之后,在虚拟会话期间在服务器装置向用户传送对所述基于服务器的用户环境的访问的同时,根据服务器装置的新的服务器键盘布局,向基于服务器的用户环境提供来自用户的另外的键击输入。
在一些布置中,所述方法还包括:向在基于服务器的用户环境中运行的服务器应用集广播键盘改变消息集,以便通知每个服务器应用使用新的服务器键盘布局,代替初始服务器键盘布局。
另一实施例涉及一种具有非瞬时性计算机可读介质的计算机程序产品,其中所述非瞬时性计算机可读介质存储用于处理用户输入的指令集。所述指令集当由计算机化的电路执行时,使得所述计算机化的电路执行以下方法:
(A)在由用户操作的客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话;
(B)在创建了虚拟会话时,将服务器装置的服务器键盘布局与客户端装置的客户端键盘布局进行匹配;以及
(C)在将服务器键盘布局与客户端键盘布局进行匹配之后,在虚拟会话期间在服务器装置向用户传递对基于服务器的用户环境的访问的同时,根据服务器装置的服务器键盘布局,向基于服务器的用户环境提供来自用户的键击输入。
另一实施例涉及一种客户端装置,所述客户端装置包括:用户接口、存储器、以及与所述用户接口和存储器相耦接的控制电路。所述存储器存储指令,所述指令当由控制电路执行时,使得所述控制电路:
(A)在客户端装置与传递对基于服务器的用户环境的访问的服务
器装置之间创建虚拟会话;
(B)在创建了虚拟会话时,将服务器装置的服务器键盘布局与客
户端装置的客户端键盘布局进行匹配;以及
(C)在将服务器键盘布局与客户端键盘布局进行匹配之后,在虚拟会话期间在服务器装置向用户传递对基于服务器的用户环境的访问的同时,根据服务器装置的服务器键盘布局,向基于服务器的用户环境提供来自用户的经由用户接口的键击输入。
附加地,另一实施例涉及一种服务器装置,所述服务器装置包括:网络接口、存储器以及与所述网络接口和存储器相耦接的控制电路。所述存储器存储指令,所述指令当由控制电路执行时,使得所述控制电路:
(A)在由用户操作的客户端装置与用于传递对基于服务器的用户
环境的访问的服务器装置之间创建虚拟会话;
(B)在创建了虚拟会话时,将服务器装置的服务器键盘布局与客
户端装置的客户端键盘布局进行匹配;以及
(C)在将服务器键盘布局与客户端键盘布局进行匹配之后,在虚拟会话期间在服务器装置向用户传递对基于服务器的用户环境的访问的同时,根据服务器装置的服务器键盘布局,向基于服务器的用户环境提供来自用户的键击输入。
应该注意,在云环境下,计算机化电路的至少一部分由分布在网络上的远程计算机资源来形成。这种计算机化环境能够提供一些优点,诸如,对托管服务和资源(例如,软件即服务、平台即服务、基础设施即服务等)的分布,增强的可扩展性等。
其他实施例涉及电子系统和装置、处理电路、计算机程序产品等。一些实施例涉及在虚拟会话中将服务器侧键盘布局与客户端侧键盘布局进行同步时涉及的各种方法、电学组件和电路。
附图说明
根据下面的对如附图所示的本公开的具体实施例的描述,上述和其他的目标、特征和优点将变得明显,在所有不同附图中,类似的附图标记用于指代类似的部件。附图不一定是按比例的,相反为了示出本公开的各实施例的原理可以做出强调。
图1是将服务器装置的服务器侧键盘布局与客户端装置客户端侧键盘布局进行同步的计算机化设置的框图。
图2是示例键盘布局的框图。
图3是在键盘绑定操作期间的通信的序列图。
图4是示出键盘布局同步操作的具体详情的框图。
图5是由图1的计算机化设置执行的过程的流程图。
具体实施方式
一种改进的技术涉及在虚拟会话期间将服务器侧键盘布局与客户端侧键盘布局进行电学同步。这种同步消除了用户关于当前哪种键盘布局是有效的困惑。附加地,这种同步确保了服务器侧环境不会错误地解译客户端侧的文本输入。因此,明显改善了用户体验。
可以以任何技术上可行的期望方式将这里所公开的具体实施例、示例和实现方案的各个特征进行组合。此外,以这种方式组合这些特征以形成所有可能的组合、排列和变型,除非它们是被明确排除的或者是无法实践的。认为在本文档中存在对这种组合、排列和/或变型的支持。
图1示出了适用于在虚拟会话期间将服务器侧键盘布局与客户端侧键盘布局进行电学同步的计算机化设置20。计算机化设置20包括客户端装置22、服务器装置24和通信介质26。
客户端装置22被构造并布置为操作为虚拟会话的前端,其中用户通过通信介质26访问服务器装置24上的资源(例如,应用、内容、服务等)。因此,用户能够执行有用的工作。合适的客户端装置包括用户工作站、台式计算机、膝上型计算机、平板设备、智能电话等。
服务器装置24被构造并布置为向一个或更多个客户端装置22提供对服务器侧资源(例如,应用、内容、服务等)的访问。在一些布置中,服务器装置24是容纳虚拟机的虚拟平台。合适的服务器装置24包括服务器计算机、服务器群、服务器设备或区、分布式电路等。
通信介质26被构造并布置为将计算机化设置20的各种组件连接在一起以便支持这些组件交换电学信号28(例如,参见双箭头28)。通信介质26的至少一部分被示出为云,以指示通信介质26能够具有各种不同拓扑,包括骨干型、辐射型、环型、不规则型、及其组合等。在这些线路上,通信介质26可以包括:基于铜的数据通信设备和电缆、光纤设备和光缆、无线设备、其组合等。此外,通信介质26能够支持基于LAN的通信、蜂窝通信、简易老式电话服务(POTS)通信、其组合等。
如图1所示,客户端装置22包括通信接口30、用户接口32、存储器34和处理电路36。这种客户端侧组件可以经由总线、缆线、连接器、电路板和其他硬件来电学相连。
通信接口30被构造并布置为将客户端装置22与通信介质26相连。因此,通信接口30支持客户端装置22与计算机化设置20的其他组件进行通信。这种通信可以是基于有线的和/或无线的(例如,基于IP、蜂窝、其组合等)。
用户接口32被构造并布置为接收来自用户的输入以及向用户提供输出。在独立计算机的上下文中,用户接口32可以由标准键盘、指向设备(例如,鼠标)和显示器来形成。在平板或智能电话的上下文中,用户接口32可以由其他组件形成,如触摸屏、微型键盘、网络摄像机、麦克风、扬声器、加速度计等。
存储器34旨在既代表易失性存储设备(例如,DRAM、SRAM等)也代表非易失性存储设备(例如,闪存、磁盘驱动等)。存储器34存储各种软件构件40,包:操作系统42、,用于建立和管理与服务器装置24的虚拟会话的虚拟客户端应用和数据集44、以及其他应用和数据46。
处理电路36被构造并布置为根据存储在存储器34中的各种软件构件40来进行操作。具体地,处理电路36在执行操作系统42时管理客户端装置22的各种资源(例如,存储器分配、处理器周期、硬件兼容性等)。
另外,根据虚拟化应用和数据集44操作的处理电路36形成用于代表客户端装置22的用户创建并维护与服务器装置24的虚拟会话的专用控制电路。在这种操作期间并且如下文所详述的,处理电路36将服务器侧键盘布局52与客户端侧键盘布局50进行同步,以免发生困惑和错误解译,因此改善了用户体验。可以通过虚拟信道54(例如,参见图1中的双向箭头54)来执行针对这种同步的通信,其中所述虚拟信道54是通过通信介质26建立在客户端装置22和服务器装置24之间的。
此外,根据其他应用操作和数据46操作的处理电路36形成用于执行其他操作的其他专用电路。例如,处理电路36可以支持用户执行其他本地的用户级操作,诸如浏览网页、观看视频、进行蜂窝电话呼叫、拍摄图片等。而且,处理电路36可以支持用户经由下述方式与一个或更多个其他用户远程合作:在线会议、共享文档和其他内容、在在线虚拟工作组环境下(即,在线工作区)进行工作等。
应该注意,上述处理电路36可以以各种方式来实现,包括通过运行专用软件的一个或更多个处理器(或核)、专用IC(ASIC)、现场可编程门阵列(FPGA)和相关程序、分立组件、模拟电路、其他硬件电路、其组合等。在执行软件的一个或更多个处理器的上下文中,计算机程序产品58能够向客户端装置22传递软件的全部或一部分。计算机程序产品58具有非瞬时性和非易失性计算机可读介质,所述计算机可读介质存储用于控制客户端装置22的一个或更多个操作的指令集。合适的计算机可读存储介质的示例包括以非易失性方式存储指令的有形制品和装置,诸如,CD-ROM、闪存、盘存储器、带存储器等。
如图1还示出的,服务器装置24包括网络接口60、存储器64和处理电路66。这种服务器侧组件可以通过总线、缆线、连接器、电路板和其他硬件电学连接在一起。
网络接口60被构造并布置为将服务器装置24与通信介质26相连。因此,网络接口60支持服务器装置24与计算机化设置20的其他组件进行通信。这种通信可以是基于有线的和/或无线的(即,基于IP、蜂窝、其组合等)。
存储器64旨在既代表易失性存储设备(例如,DRAM、SRAM等)也代表非易失性存储设备(例如,闪存、磁盘驱动等)。存储器64存储各种软件构件70,包括操作系统72、用于建立并管理与客户端装置22的虚拟会话的虚拟化应用和数据集74、以及其他应用和数据76。
处理电路66被构造并布置为根据存储在存储器64中的各种软件构件70来进行操作。具体地,处理电路66在执行操作系统72时管理服务器装置24的各种资源(例如,存储器分配、处理器周期、硬件兼容性等)。
另外,根据虚拟化应用和数据集74操作的处理电路66形成用于创建和维持与一个或更多个客户端装置22的虚拟会话的专用控制电路。在这种操作期间并且如下文所详述的,处理电路66通过虚拟信道54将服务器侧键盘布局52与客户端侧键盘布局50进行同步,以免发生困惑和错误解译,因此改善了用户体验。
此外,根据其他应用操作和数据76操作的处理电路66形成用于执行其他操作的其他专用电路。例如,处理电路66可以执行其他服务器级操作,诸如用于服务和公共事业的代码(例如,在虚拟会话期间向用户提供的应用和服务、安全性等)、用于管理性工具的代码(例如,用户注册、用户账户管理等)、用于其他基于服务器的操作的代码等。
应该注意,上述处理电路66可以以各种方式实现,包括通过运行专用软件的一个或更多个处理器(或核)、专用IC(ASIC)、现场可编程门阵列(FPGA)和相关程序、分立组件、模拟电路、其他硬件电路、其组件等。在执行软件的一个或更多个处理器的上下文中,计算机程序产品78能够向服务器装置24传递软件的全部或一部分。计算机程序产品78具有非瞬时性和非易失性计算机可读介质,所述计算机可读介质存储用于控制服务器装置24的一个或更多个操作的指令集。合适的计算机可读存储介质的示例包括以非易失性方式存储指令的有形制品和装置,诸如,CD-ROM、闪存、盘存储器、带存储器等。现将参考图2提供更多详情。
图2示出了示例键盘布局100(即,QWERTY键盘布局),其适用于客户端侧键盘布局50和/或服务器侧键盘布局52(还参见图1)。应该理解,其他键盘布局也可以适用,例如,QWERTZ、AZERTY、Dvorak、Colemak、Workman、Norman、JCUKEN、Neo、Plover、BEPO、Turkish、Brahmic scripts、InScript、Khmer、Thai、Sinhalese、Tibetan、Dzongkha、Arabic、Armenian、Cyrillic、其他外语字符键盘布局、定制和/个性化的键盘布局等。
在客户端装置22上,用户能够观看客户端侧键盘布局50(例如,显示在触摸屏上的客户端侧键盘布局50)以及客户端侧键盘布局50的启动键。在服务器装置24上,服务器侧键盘布局52是被内部管理的。
如图2所示,键盘布局100包括键盘位置(或按键)110(1)、110(2)、110(3)…(统称为键盘位置110),所述键盘位置被映射到对应的字符112(1)、112(2)、112(3)…(统称为字符112)。应该注意,此处的术语“字符”用于表示字母文字、数字、符号、其他基于文本的元字符、功能、方向、操作、其组合等。
假定图2的示例键盘布局100是客户端侧键盘布局50以及服务器侧键盘布局52。在该示例中,键盘布局100是英文(美国)键盘布局,其中,位置110(1)映射到“q”,位置110(2)映射到“w”,位置110(3)映射到“3”,依此类推。也就是说,当用户选择位置110(1)(例如,经由触摸、键按压或其他键击手势)时,用户键入“q”。类似地,当用户选择位置110(2)时,用户键入“2”,依此类推。
在一些布置中,当用户键入键击时,在客户端装置22中发生将特定位置110到特定字符112的转换,客户端装置22向服务器装置24发送标识该特定字符112的电信号,以便进行处理。在其他布置中,当用户键入键击时,客户端装置22向服务器装置24发送标识特定位置110的电信号,而在服务器装置24中发生将特定位置110到特定位置112的转换。
现在,假定用户激活向用户呈现其他可选键盘布局的菜单120(例如,通过触摸特殊按键122,通过激活在触摸屏的任务条上的输入语言指示符,或者通过点击菜单/标签等)。在这种情况下,用户于是能够通过触摸不同的键盘布局选择,改变当前客户端侧键盘布局50。例如,如图2所示,用户可以选择日语键盘布局“J”、德语键盘布局“DEU”、法语键盘布局“FRA”等等。如果用户选择将当前客户端侧键盘布局50切换到不同的客户端侧键盘布局50,则客户端装置22将这种改变电学传递到服务器侧装置24。响应于此,服务器侧装置24自动更新服务器侧键盘布局52以便将服务器侧键盘布局52与客户端侧键盘布局50同步。优选地,这种服务器侧操作对于用户是透明的,因此,解除了用户手动在服务器装置24上进行类似切换的负担。
在用户做出了键盘布局改变之后,客户端装置22的触摸屏显示新选择的键盘布局(同样参见图1的用户接口32)。对于新选择的键盘布局,键盘位置110中的至少一个或更多个映射到与早期键盘布局映射到的字符相比的不同字符112(例如,不同字符、不同数字、不同符号等)。一旦已经发生了键盘布局切换,当用户选择新选择的键盘布局的按键时,用户能够根据新选择的键盘布局键入字符,例如,由于字符的位置不同而导致的不同字符、新字符、新功能等。
应该注意,客户端装置22在虚拟会话期间执行专用的客户端软件(例如,参见图1中的虚拟客户端应用和数据44),以形成专用的客户端侧电路。类似地,服务器装置24在虚拟会话期间执行专用的服务器软件(例如,参见图1的虚拟化应用和数据74),以形成专用的服务器电路。这种电路在会话层建立虚拟信道54(图1),以便支持在客户端装置22和服务器装置24之间的虚拟会话交换,例如,封装富媒体(rich media)重定向,支持独立计算体系架构(ICA),使用COM端口、视频、图形、智能卡特征等。
一旦在客户端装置22和服务器装置24之间建立了虚拟信道54,装置22、24上的专用电路将服务器侧键盘布局52和客户端侧键盘布局50进行同步。具体地,客户端装置22和服务器装置24初始时执行键盘布局绑定操作,以初次协商键盘布局集合并且将客户端侧键盘布局50与服务器侧键盘布局52进行同步。在这种初始同步之后,用户可以在确认客户端侧键盘布局50与服务器装置24上的服务器侧键盘布局52相匹配的情况下,操作客户端装置22。此外,如果用户从初始客户端侧键盘布局50切换到新的客户端侧键盘布局50,则客户端装置22和服务器装置24电学合作以将新的客户端侧键盘布局50同步给服务器侧键盘布局52。因此,用户不会对哪个键盘布局在服务器装置24上是有效的产生疑问。而且,在服务器装置24上没有机会错误地解译文本输入。现将参考图3提供更多细节。
图3示出了当在客户端装置22和服务器装置24之间开始虚拟会话(同样参见图1)时在专用客户端侧电路152和专用服务器侧电路154之间执行键盘绑定操作150的序列图。这里,用户可以已经初始化虚拟会话以便访问由服务器装置24提供的虚拟桌面或虚拟应用环境(例如,远程应用、远程存储的内容等)。键盘绑定操作初始对客户端装置22的客户端侧键盘布局50集合与服务器装置24的服务器侧键盘布局52集合进行协商。
由根据虚拟客户端应用和数据44(图1)操作的客户端装置22的处理电路36来形成专用客户端侧电路152。在一些布置中,通过部署动态链接库(abbr.DLL)来形成这种客户端侧电路152的至少一部分,其中当虚拟会话开始时(例如,当用户向服务器装置24请求虚拟桌面或虚拟应用时)加载所述动态链接的库。
类似地,由根据虚拟化应用和数据74(图1)操作的服务器装置24的处理电路66来形成专用客户端侧电路154。在一些布置中,通过安装在服务器装置24上的DLL来形成这种服务器侧电路154的至少一部分。
在操作期间,一旦在客户端装置22和服务器装置24之间创建了虚拟会话,专用电路152、154打开(或形成)虚拟信道54。应该注意,通过通信介质26(图1)的通信(例如,分组包)是经由虚拟信道54来传递的。
参考图3,在打开虚拟信道54之后,专用服务器侧电路154向专用客户端侧电路152发送键盘绑定请求160。键盘绑定请求160标识服务器装置24所支持的兼容的服务器侧键盘布局54的集合。例如,键盘绑定请求160指示服务器装置24当前尝试支持的服务器侧键盘布局52的特定集合。此外,键盘绑定请求160还标识专用服务器侧电路154可以支持哪种键盘特性(例如,键盘类型、当前平台等)。
响应于键盘绑定请求160,专用客户端侧电路152执行键盘分配操作162,其从键盘绑定请求160读取可兼容的服务器侧键盘布局54的集合,并确定客户端装置22被配置为支持可兼容的服务器侧键盘布局54中的哪个或哪些。这种评估可以是基于各种因素的,诸如,客户端装置22的特定操作平台、是否安装了特定驱动器、是否存在特定软件的更新或升级,等等。
接着专用客户端侧电路152产生键盘绑定响应164,其将可兼容的服务器侧键盘布局52的集合中的客户端装置22所支持的那些键盘布局标识为可兼容的客户端侧键盘布局50的集合,并且向专用服务器侧电路154发送键盘绑定响应164。另外,键盘绑定响应164还标识专用客户端侧电路152能够支持哪些键盘特征(例如,键盘类型、当前平台等。)
响应于键盘绑定响应164,专用服务器侧电路154执行键盘确认操作166,其确认服务器装置24与客户端装置22在键盘布局方面相兼容。此外,专用服务器侧电路154存储键盘绑定响应164所标识的键盘特征,以供将来使用。
接下来,专用服务器侧电路154产生键盘绑定确认消息(或名利)168,并向专用客户端侧电路152发送该键盘绑定确认消息(或命令)168。键盘绑定确认消息168向专用客户端侧电路152通知专用服务器侧电路154认为服务器侧键盘布局52的特定集合是有效的,即,服务器装置24和客户端装置22二者都支持的键盘布局。
响应于键盘确认消息168,专用客户端侧电路152将键盘绑定确认消息168视为用于确认服务器侧键盘布局52的特定集合的命令。因此,专用客户端侧电路152正式保存该客户端侧键盘布局50集合以便匹配特定的服务器键盘布局52集合。
此时,客户端装置22和服务器装置24已经协商了哪些键盘布局可供使用。具体地,客户端装置22和服务器装置24就兼容键盘布局的公共集合达成了一致。
在完成对键盘布局的协商之后,专用客户端侧电路152向专用服务器侧电路154发送键盘布局标识符(KLI)消息180。KLI消息180包括作为键盘布局标识符的封装的键盘布局信息,该封装的键盘布局信息指明当前客户端侧键盘布局50,因此,使得服务器装置24能够同步(或更新)对客户端侧键盘布局50的了解。具体地,KLI消息180包含各种特性,诸如,输入位置、键盘类型、键盘布局名称等。
如果用户随后将客户端侧键盘布局50切换到新的客户端侧键盘布局50,则专用客户端侧电路152检查新的客户端侧键盘布局50是否在经协商的键盘布局52之中,即,该新的客户端侧键盘布局50是否属于兼容键盘布局的公共集合。如果是,则专用客户端侧电路152向专用服务器侧电路154发送另一键盘布局标识符(KLI)消息180。该KLI消息180包括作为键盘布局标识符的封装的键盘布局信息,其指明了该新的客户端侧键盘布局50,因此,使得服务器装置24能够同步(或更新)对客户端侧键盘布局50的了解。具体地,KLI消息180包含各种特性,诸如,输入位置、键盘类型、键盘布局名称等。现还参考图4提供其他详情。
图4是示出了专用服务器侧电路154如何分发它从专用客户端侧电路152接收的键盘信息以便维持在客户端装置22和服务器装置24之间的键盘布局同步的特定详情的框图。如图所示,服务器装置24包括专用服务器侧电路154以及运行中的操作系统200,并且包括针对在虚拟会话期间由用户访问的虚拟桌面和/或虚拟应用环境的运行中的应用210(1)、210(2)、210(3)、210(4)…(统称为运行中的应用210)。在一些布置中,经由容宿在虚拟平台上的虚拟机来提供虚拟桌面和/或虚拟应用环境。
如图4所示,当从专用客户端侧电路152接收到KLI消息180时,专用服务器侧电路154与运行中的操作系统200进行交互,以便激活所选的键盘布局,并基于所选的键盘布局设置默认输入语言(如参见箭头220)。另外,专用服务器侧电路154广播消息230以向运行中的服务器侧应用210通知输入语言发生了改变。因此,所有运行中的服务器侧应用获知要以与客户端装置22上的所选键盘布局50相一致的语言(例如,英语、德语、法语、日语等)来输入来自客户端装置22的用户文本。因此,客户端装置22和服务器装置24能够完全并鲁棒地维护键盘布局同步,并正确地解译用户文本输入。
应该注意,每当用户切换客户端侧键盘布局50(例如,切换回到原始键盘布局,切换到新的键盘布局等)时,重复这种键盘更新过程。因此,客户端侧键盘布局50和服务器侧键盘布局52持续同步。现在参考图5提供其他详情。
图5是当对键盘布局进行同步时由计算机化设置20的电路执行的过程300的流程图。在302,该电路在由用户操作的客户端装置与传送对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话。这种会话可以是响应于用户命令客户端装置22提供对服务器装置24上的虚拟桌面或虚拟应用环境的访问以执行有用工作(也参见图1)。
在304,电路将服务器装置的服务器键盘布局52与客户端装置的客户端键盘布局50进行匹配。具体地,该电路执行键盘绑定操作以及键盘布局同步操作,以便将服务器装置的初始服务器键盘布局52与客户端装置的初始客户端键盘布局50进行同步(同样参见图3)。随后,为了将服务器键盘布局52与客户端键盘布局50进行匹配,客户端装置和服务器装置持续通信以执行键盘更新操作,来将服务器键盘布局52更新到客户端键盘布局50。
在306,在虚拟会话期间在服务器装置向用户传送对基于服务器的用户环境的访问的同时,该电路根据服务器装置的服务器键盘布局52向基于服务器的用户环境提供来自用户的键击输入。这种操作继续进行,直到用户结束虚拟会话或切换键盘布局为止(例如,返回到304)。
如上所述,改进的技术涉及在虚拟会话期间将服务器侧键盘布局52与客户端侧键盘布局50进行电学同步。这种同步消除了用户对当前哪个键盘布局是有效的的问题的困惑。另外,这种同步确保服务器侧环境不会错误地解译客户端侧的文本输入。因此,明显改善了用户体验。
另外,应该认识到,上述技术不仅仅是在客户端和服务器之间提供同步。相反,该技术涉及在虚拟会话期间执行协调匹配操作,以将服务器装置的服务器键盘布局52与客户端装置的客户端键盘布局50进行匹配。通过消除了关于当前哪个键盘布局是有效的问题的困惑并且防止了服务器侧环境进行错误解译,这种匹配提供对技术的改进。因此,上述技术改善了当用户在虚拟会话期间访问基于服务器的用户环境(例如,虚拟桌面环境)的情况下的用户体验。
尽管已经具体示出并描述了本公开的多种实施例,然而本领域技术人员应该理解在不脱离由所附权利要求限定的本公开的精神和范围的情况下可以在形式和细节上做出各种改变。
例如,应该注意,计算机化设置20的各种组件能够以云(即,在网络上分布的远程计算机资源)的方式实现或“移动到”云。这里,各种计算机资源可以紧实地分布(例如,在单个设备中的服务器群)或被分布在相对较大的距离上(例如,分布在校园内、在不同城市之间、在不同海岸之间等)。在这些情况下,连接资源的网络可以具有各种不同拓扑,包括骨干型、辐射型、环型、不规则型、其组合等。另外,网络可以包括基于铜的数据通信设备和电缆、光纤设备和光缆、无线设备、其组合等。此外,网络能够支持基于LAN的通信、基于SAN的通信、其组合等。
而且,应该注意,上述键盘切换示例仅示例性地示出了由触摸屏提供的图形键盘。在一些布置中,上述改进可应用于用户使用物理键盘的情况而不是由触摸屏提供的图形键盘,在该情况下可以通过由操作系统42(图1)提供的屏幕的键盘语言设置或指示符来选择该物理键盘的键盘布局。在一些布置中,上述改进应用于用户用第二物理键盘代替第一物理键盘的情况。在一些布置中,不同的物理键盘是即插即用的,经由在客户端装置22上的自动发现来检测键盘布局的具体类型。在这些布置中,客户端装置22向服务器装置24发送KLI消息180(图3和4),以向服务器装置24通知改变到了新的客户端侧键盘布局50,而服务器通过将服务器侧键盘布局52同步为新的客户端侧键盘布局50来进行响应。这种修改和增强属于本公开的各种实施例。

Claims (22)

1.一种用于处理用户输入的计算机实现的方法,所述计算机实现的方法包括:
在由用户操作的客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话;
在创建了所述虚拟会话时,将所述服务器装置的服务器键盘布局与所述客户端装置的客户端键盘布局进行匹配;以及
在将所述服务器键盘布局与所述客户端键盘布局进行了匹配之后,在虚拟会话期间在所述服务器装置向用户传递对所述基于服务器的用户环境的访问的同时,根据所述服务器装置的所述服务器键盘布局,向所述基于服务器的用户环境提供来自用户的键击输入。
2.根据权利要求1所述的计算机实现的方法,其中将所述服务器键盘布局与所述客户端键盘布局进行匹配包括:
执行键盘绑定操作,以就所述服务器装置的初始服务器键盘布局的集合与所述客户端装置的初始客户端键盘布局的集合进行协商,从而所述服务器装置和所述客户端装置就兼容键盘布局的公共集合达成一致。
3.根据权利要求2所述的计算机实现的方法,其中执行所述键盘绑定操作包括:
从所述服务器装置向所述客户端装置传递键盘绑定请求,所述键盘绑定请求标识可兼容的服务器键盘布局的集合;
响应于所述键盘绑定请求,从所述客户端装置向所述服务器装置传递键盘绑定响应,所述键盘绑定响应将所述可兼容的服务器键盘布局的集合中所述客户端装置能够支持的那些键盘布局标识为可兼容的客户端键盘布局的集合;以及
响应于所述键盘绑定响应,从所述服务器装置向所述客户端装置传递键盘绑定确认消息,所述键盘绑定确认消息确认所述客户端装置使用在所述键盘绑定响应中标识的可兼容的客户端键盘布局的集合。
4.根据权利要求3所述的计算机实现的方法,其中在所述客户端装置和所述服务器装置之间创建虚拟会话包括:
通过计算机网络在所述客户端装置和所述服务器装置之间建立虚拟信道,
其中通过所建立的虚拟信道来传递所述键盘绑定请求、所述键盘绑定响应以及所述键盘绑定确认消息。
5.根据权利要求3所述的计算机实现的方法,其中将所述服务器键盘布局与所述客户端键盘布局进行匹配还包括:
从所述客户端装置接收键盘布局指示命令,以及
响应于所述键盘布局指示命令,执行键盘布局同步操作,以将所述服务器装置的服务器键盘布局与所述客户端装置的客户端键盘布局进行同步。
6.根据权利要求1所述的计算机实现的方法,还包括:
在将来自用户的键击输入提供给所述基于服务器的用户环境一段时间之后,将所述服务器装置的另一服务器键盘布局与所述客户端装置的与所述客户端键盘布局不同的另一客户端键盘布局进行匹配。
7.根据权利要求6所述的计算机实现的方法,其中将所述服务器装置的服务器键盘布局与所述客户端装置的另一客户端键盘布局进行匹配包括:
接收来自用户的键盘布局改变命令,以及
响应于来自用户的所述键盘布局改变命令,执行键盘布局改变操作,以将所述服务器装置的另一服务器键盘布局与所述客户端装置的另一客户端键盘布局进行匹配。
8.根据权利要求7所述的计算机实现的方法,其中所述客户端装置初始使用包括针对第一语言的第一按键排列的第一客户端键盘布局作为所述客户端键盘布局,其中接收来自用户的所述键盘布局改变命令包括:
响应于用户从所述第一客户端键盘布局切换到包括针对第二语言的第二按键排列的第二客户端键盘布局,从所述客户端装置获得键盘选择指示符,所述键盘选择指示符命令所述服务器装置使用针对第二语言的第二按键排列来代替针对第一语言的所述第一按键排列。
9.根据权利要求7所述的计算机实现的方法,还包括:
在执行所述键盘布局改变操作之后,在虚拟会话期间在所述服务器装置向用户传送对所述基于服务器的用户环境的访问的同时,根据所述服务器装置的所述另一服务器键盘布局,向所述基于服务器的用户环境提供来自用户的另一键击输入。
10.根据权利要求7所述的计算机实现的方法,还包括:
向在所述基于服务器的用户环境中运行的服务器应用的集合广播所述键盘改变消息的集合,以向每个服务器应用通知使用所述另一服务器键盘布局来代替服务器键盘布局。
11.根据权利要求1所述的计算机实现的方法,其中将所述服务器键盘布局与所述客户端键盘布局进行匹配包括:
从所述服务器装置中的专用服务器侧电路向所述客户端装置中的专用客户端侧电路发送键盘绑定请求消息,其中所述键盘绑定请求消息标识由所述服务器装置支持的服务器端键盘布局集合;
响应于所述键盘绑定请求消息的接收,通过所述客户端装置中的专用客户端侧电路执行键盘评估操作,其中所述键盘评估操作从所述键盘绑定请求消息中读取所述服务器装置支持的所述服务器侧键盘布局集合,并确定所述客户端装置被配置为支持所述服务器装置支持的服务器侧键盘布局中的哪个或哪些;
从所述客户端装置中的专用客户端侧电路向所述服务器装置中的专用服务器侧电路发送键盘绑定响应消息,其中所述键盘绑定响应消息标识所述客户端装置被配置为支持所述服务器装置支持的服务器侧键盘布局中的哪个或哪些;
响应于所述键盘绑定响应消息的接收,通过所述服务器装置中的专用服务器侧电路执行键盘确认操作,其中所述键盘确认操作确认所述服务器装置与所述客户端装置在键盘布局方面相兼容;以及
从所述服务器装置中的专用服务器侧电路向所述客户端装置中的专用客户端电路发送键盘绑定确认消息,其中所述键盘绑定确认消息向所述专用客户端侧电路通知所述服务器装置和所述客户端装置均支持的特定的服务器键盘布局集合。
12.根据权利要求11所述的计算机实现的方法,还包括:
将键盘布局标识符消息从所述客户端装置中的专用客户端侧电路发送到所述服务器装置中的专用服务器侧电路,其中所述键盘布局标识符消息指明当前客户端侧键盘布局;
响应于所述键盘布局标识符消息的接收,基于所述当前客户端侧键盘布局,通过所述服务器装置中的专用服务器侧电路设置默认输入语言;以及
进一步响应于所述键盘布局标识符消息的接收,通过专用服务器侧电路向运行在所述服务器装置上的多个服务器侧应用程序广播消息,所述消息向运行在所述服务器装置上的多个服务器侧应用程序通知以默认输入语言从客户端装置输入用户文本。
13.根据权利要求11所述的计算机实现的方法,其中,通过所述客户端装置中的专用客户端侧电路执行所述键盘评估操作包括:基于是否将特定驱动器安装在所述客户端设备中,确定所述客户端装置被配置为支持所述服务器装置支持的服务器侧键盘布局中的哪个或哪些。
14.一种具有非瞬时性计算机可读介质的计算机程序产品,其中所述非瞬时性计算机可读介质存储用于处理用户输入的指令集,所述指令集在由计算机化的电路执行时,使得所述计算机化的电路执行一方法,所述方法包括:
在由用户操作的客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话;
在创建了所述虚拟会话时,将所述服务器装置的服务器键盘布局与所述客户端装置的客户端键盘布局进行匹配;
在将所述服务器键盘布局与所述客户端键盘布局进行了匹配之后,在虚拟会话期间在所述服务器装置向用户传递对所述基于服务器的用户环境的访问的同时,根据所述服务器装置的所述服务器键盘布局,向所述基于服务器的用户环境提供来自用户的键击输入。
15.根据权利要求14所述的计算机程序产品,其中将所述服务器键盘布局与所述客户端键盘布局进行匹配包括:
执行键盘绑定操作,以就所述服务器装置的初始服务器键盘布局的集合与所述客户端装置的初始客户端键盘布局的集合进行协商,从而所述服务器装置和所述客户端装置就兼容键盘布局的公共集合达成一致。
16.根据权利要求15所述的计算机程序产品,其中所述方法还包括:
在将来自用户的键击输入提供给所述基于服务器的用户环境一段时间之后,将所述服务器装置的另一服务器键盘布局与所述客户端装置的另一客户端键盘布局进行匹配。
17.一种客户端装置,包括:
用户接口;
存储器;以及
控制电路,其与所述用户接口和所述存储器相耦接,所述存储器存储指令,所述指令在由所述控制电路执行时,使得所述控制电路:
在所述客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话;
在创建了所述虚拟会话时,将所述服务器装置的服务器键盘布局与所述客户端装置的客户端键盘布局进行匹配;以及
在将所述服务器键盘布局与所述客户端键盘布局进行了匹配之后,在虚拟会话期间在所述服务器装置经由所述用户接口向用户传递对所述基于服务器的用户环境的访问的同时,根据所述服务器装置的所述服务器键盘布局,向所述基于服务器的用户环境提供来自用户的经由所述用户接口的键击输入。
18.根据权利要求17所述的客户端装置,其中当将所述服务器键盘布局与所述客户端键盘布局进行匹配时,所述控制电路被构造并布置为:
执行键盘绑定操作,以将所述服务器装置的初始服务器键盘布局集合与所述客户端装置的初始客户端键盘布局集合进行同步。
19.根据权利要求17所述的客户端装置,其中所述控制电路还被构造并布置为:
在将来自用户的键击输入提供给所述基于服务器的用户环境一段时间之后,将所述服务器装置的另一服务器键盘布局与所述客户端装置的另一客户端键盘布局进行匹配。
20.一种服务器装置,包括:
网络接口;
存储器;以及
控制电路,其与所述网络接口和所述存储器相耦接,所述存储器存储指令,所述指令在由所述控制电路执行时,使得所述控制电路:
在由用户操作的客户端装置与传递对基于服务器的用户环境的访问的服务器装置之间创建虚拟会话;
在创建了所述虚拟会话时,将所述服务器装置的服务器键盘布局与所述客户端装置的客户端键盘布局进行匹配;
在将所述服务器键盘布局与所述客户端键盘布局进行了匹配之后,在虚拟会话期间在所述服务器装置向用户传递对所述基于服务器的用户环境的访问的同时,根据所述服务器装置的所述服务器键盘布局,向所述基于服务器的用户环境提供来自用户的键击输入。
21.根据权利要求20所述的服务器装置,其中当将所述服务器键盘布局与所述客户端键盘布局进行匹配时,所述控制电路被构造并布置为:
执行键盘绑定操作,以将所述服务器装置的初始服务器键盘布局集合与所述客户端装置的初始客户端键盘布局集合进行同步。
22.根据权利要求21所述的服务器装置,其中所述控制电路还被构造并布置为:
在将来自用户的键击输入提供给所述基于服务器的用户环境一段时间之后,将所述服务器装置的另一服务器键盘布局与所述客户端装置的另一客户端键盘布局进行匹配。
CN201510837401.7A 2015-11-26 2015-11-26 在虚拟会话中同步服务器侧键盘布局与客户端侧布局 Active CN106802762B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510837401.7A CN106802762B (zh) 2015-11-26 2015-11-26 在虚拟会话中同步服务器侧键盘布局与客户端侧布局
JP2018527721A JP6615997B2 (ja) 2015-11-26 2016-11-16 仮想セッションにおけるサーバ・サイド・キーボード・レイアウトとクライアント・サイド・キーボード・レイアウトとの同期
PCT/US2016/062262 WO2017091411A1 (en) 2015-11-26 2016-11-16 Synchronizing a server-side keyboard layout with a client-side keyboard layout in a virtual session
KR1020187017990A KR102136474B1 (ko) 2015-11-26 2016-11-16 가상 세션에서의 클라이언트 측 키보드 레이아웃과 서버 측 키보드 레이아웃의 동기화

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510837401.7A CN106802762B (zh) 2015-11-26 2015-11-26 在虚拟会话中同步服务器侧键盘布局与客户端侧布局

Publications (2)

Publication Number Publication Date
CN106802762A CN106802762A (zh) 2017-06-06
CN106802762B true CN106802762B (zh) 2020-09-11

Family

ID=57517986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510837401.7A Active CN106802762B (zh) 2015-11-26 2015-11-26 在虚拟会话中同步服务器侧键盘布局与客户端侧布局

Country Status (4)

Country Link
JP (1) JP6615997B2 (zh)
KR (1) KR102136474B1 (zh)
CN (1) CN106802762B (zh)
WO (1) WO2017091411A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI658401B (zh) * 2017-11-14 2019-05-01 財團法人工業技術研究院 基於虛擬化行動架構之行動通訊裝置及其相關輸入法切換方法
WO2020000263A1 (zh) * 2018-06-27 2020-01-02 华为技术有限公司 调用输入法的方法和装置、服务器和终端
KR102592044B1 (ko) * 2018-06-29 2023-10-23 삼성전자 주식회사 전자 장치에서 물리적 키보드의 레이아웃 설정 방법 및 장치
CN109358937A (zh) * 2018-09-30 2019-02-19 上海达龙信息科技有限公司 一种基于虚拟输入装置远程操控pc的方法及系统
JP2022506847A (ja) * 2018-11-09 2022-01-17 サイトリックス システムズ,インコーポレイテッド 仮想デスクトップのための自動キーボードマッピング
CN112068764B (zh) * 2020-09-03 2022-06-21 北京搜狗科技发展有限公司 一种语言切换方法、装置和用于语言切换的装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250696A (ja) * 1999-03-02 2000-09-14 Internatl Business Mach Corp <Ibm> 異種キーボード間のデータ変換方法
US7305511B2 (en) * 2002-12-23 2007-12-04 Microtune (Texas), L.P. Providing both wireline and wireless connections to a wireline interface
JP2007323168A (ja) * 2006-05-30 2007-12-13 Canon Inc メッセージ表示装置及びメッセージ表示方法
CN100464308C (zh) * 2007-04-20 2009-02-25 北京搜狗科技发展有限公司 一种用户词库同步更新的方法和系统
US8667412B2 (en) * 2007-09-06 2014-03-04 Google Inc. Dynamic virtual input device configuration
US8065143B2 (en) * 2008-02-22 2011-11-22 Apple Inc. Providing text input using speech data and non-speech data
JP5280294B2 (ja) * 2009-05-01 2013-09-04 株式会社デジタル システムおよびクライアントプログラム
US8122170B2 (en) * 2009-06-11 2012-02-21 Microsoft Corporation Adaptive keyboard layout mapping
WO2011102689A2 (en) * 2010-02-19 2011-08-25 Soon Jo Woo Multilingual key input apparatus and method thereof
JP5621382B2 (ja) * 2010-07-28 2014-11-12 カシオ計算機株式会社 サーバ装置及びプログラム
CN102622156B (zh) * 2011-01-26 2016-08-03 腾讯科技(深圳)有限公司 获取虚拟键盘的方法、装置和系统
CN102905182B (zh) * 2011-07-26 2016-07-06 联想(北京)有限公司 一种输入方法、智能电视机和智能交互系统
CN103491055B (zh) * 2012-06-12 2018-08-07 南京中兴软件有限责任公司 一种在多个客户端间同步信息的方法、客户端和服务器
JP6205568B2 (ja) * 2013-01-16 2017-10-04 株式会社日本デジタル研究所 リモートアクセス制御システム、方法、およびプログラム
CN103529954A (zh) * 2013-10-12 2014-01-22 成都阜特科技股份有限公司 一种远程虚拟机键盘鼠标与本地监视器互斥的方法
CN103645934A (zh) * 2013-12-11 2014-03-19 天津湖蓝科技有限公司 基于云计算的远程虚拟化终端应用系统及应用
US20150208032A1 (en) * 2014-01-17 2015-07-23 James Albert Gavney, Jr. Content data capture, display and manipulation system

Also Published As

Publication number Publication date
CN106802762A (zh) 2017-06-06
WO2017091411A1 (en) 2017-06-01
JP6615997B2 (ja) 2019-12-04
KR102136474B1 (ko) 2020-07-21
JP2018538619A (ja) 2018-12-27
KR20180086239A (ko) 2018-07-30

Similar Documents

Publication Publication Date Title
CN106802762B (zh) 在虚拟会话中同步服务器侧键盘布局与客户端侧布局
KR102255138B1 (ko) 메시지 처리 방법과 장치, 저장 매체, 및 컴퓨터 장치
EP2866420A1 (en) Method and device for content synchronization
WO2022188595A1 (zh) 应用画面的显示方法、装置、终端、投屏系统及介质
CN106663013B (zh) 针对服务升级的动态调整步调
CN105142011A (zh) 一种基于web的电视终端多屏互动方法与装置
US10798153B2 (en) Terminal apparatus and server and method of controlling the same
US9801146B2 (en) Terminal and synchronization control method among terminals
WO2014173115A1 (en) Method, device, and system for network communication
CN104702665A (zh) 信息分享方法和信息分享装置
CN102821150A (zh) 基于云服务的应用管理方法及云服务器
EP3761308A1 (en) Digital device and speech to text conversion processing method thereof
CN103813202A (zh) 具有互动功能的智能电视和手持设备及其互动方法
WO2023005197A1 (zh) 内容显示方法及终端
CN111970546A (zh) 一种控制终端交互的方法、装置、电子设备和存储介质
EP3298756B1 (en) Interfacing with servers having different apis to obtain advertisement data
KR102115076B1 (ko) 데이터 조작 제어 방법 및 그 시스템과 사용자 단말
US20140325375A1 (en) Method, device, and system for network communication
US20170188214A1 (en) Method and electronic device for sharing multimedia information
KR102131752B1 (ko) 메신저 프로그램에서의 정보 백업 방법, 이를 위한 장치 및 시스템
CN110178353A (zh) 业务处理方法、云服务器和终端设备
CN111327875A (zh) 场景切换方法、装置及存储介质
CN105786367A (zh) 一种虚拟桌面的显示方法和终端
CN113641439A (zh) 文本识别和展示方法、装置、电子设备和介质
CN113709541A (zh) 基于web的多终端设备互动方法、系统、终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant