CN105573516A - 多操作系统输入装置 - Google Patents
多操作系统输入装置 Download PDFInfo
- Publication number
- CN105573516A CN105573516A CN201510718853.3A CN201510718853A CN105573516A CN 105573516 A CN105573516 A CN 105573516A CN 201510718853 A CN201510718853 A CN 201510718853A CN 105573516 A CN105573516 A CN 105573516A
- Authority
- CN
- China
- Prior art keywords
- host computing
- computing device
- input device
- data
- agreement
- 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.)
- Granted
Links
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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)
- Position Input By Displaying (AREA)
Abstract
公开了多操作系统输入装置。本发明的实施例提供在数据输入装置与主计算装置之间建立无线连接的方法。更具体地,本发明的实施例涉及以下方法及系统,所述方法和系统用于与可能正运行不同操作系统的多个主计算装置一起使用单个输入装置(例如,键盘、鼠标或触摸板装置),并且用于在无需用户交互的情况下,对被用于在输入装置与所述多个主计算装置之间传输人机接口装置数据的数据协议进行有效地切换。
Description
相关申请的交叉引用
本申请要求于2014年10月29日提交的美国临时专利申请No.62/072,245以及于2015年10月26日提交的美国非临时专利申请No.14/923,380的优先权的权益,其全部内容通过引用合并到本文中以用于所有目的。
背景技术
物理输入装置(例如,键盘、鼠标、触控笔)通常由用户用于执行动作(例如,键盘敲击、鼠标移动)。这些动作然后可以被转换成数据,该数据能够被提供至计算装置,以表示人与计算装置的交互。如今,用户通常具有他们经常使用、并且甚至同时使用的许多计算装置。单个用户可以具有桌上型计算机、膝上型计算机、移动装置(例如,移动电话、智能电话、智能手表)以及平板计算机。例如,用户可以出于业务目的而正在使用膝上型计算机并且出于娱乐目的而正在使用平板计算机。
下述对于用户将是麻烦的并且将向用户提供消极的用户体验:用户需要携带针对每个计算装置的不同输入装置、并且从连接至第一计算装置的第一输入装置物理地移动至连接至第二计算装置的第二输入装置,以便于操作这两个计算装置。一些替选方案使得能够针对向多个计算装置的数据输入重复使用单个输入装置。然而,这些解决方案并非没有其缺陷。
一个重要的问题是:一些操作系统可能不允许输入装置与计算装置对接以及并向计算装置提供人机接口装置(HID)数据报告。例如,每个计算装置也可能正运行不同的操作系统(OS)(例如,MicrosoftAppleiOSTM、AppleMacOSAndriodTM、ChromeOSTM)。因此,具有各种计算装置的用户通常可以经常地与不同操作系统对接。虽然使用标准HID数据报告的标准输入装置(例如,鼠标)可以与运行Microsoft或AppleMacOS的计算装置一起工作,但是所以相同的输入装置不可以与AppleiOSTM一起工作,这是因为,由于运行AppleiOSTM的装置将仅接受非标准的专有(proprietary)HID数据报告,所以标准HID数据报告不能被输入至iPhone或iPad装置。
基于前述,本领域中需要改进的方法和系统,其能够与运行不同操作系统的多个计算装置一起使用单个数据输入装置。
发明内容
本公开内容总体上涉及被配置成与电子装置或计算装置一起使用的诸如人机接口装置(HID)的输入装置。更具体地,本公开内容涉及下述方法和系统:其用于与可能正在运行不同操作系统的多个主计算装置一起使用单个输入装置(例如,键盘、鼠标或触屏装置),并且用于在无需用户交互的情况下,对被用于在输入装置与多个主计算装置之间传输HID数据的数据协议有效地进行切换。在一些实施例中,输入装置也可以称为如下所述的数据输入装置。
本发明的实施例使得支持标准HID数据协议的输入装置能够使用与应用相关联的框架来与不支持标准HID数据协议的主计算装置上的上述应用进行通信。在一些实施例中,输入装置(例如,鼠标输入装置)使用标准的装置发现处理和连接协议与主计算装置进行配对。当输入装置连接至主计算装置时,输入装置然后可以从标准HID协议自动地切换至与存储和/或运行在主计算装置上的应用以及操作系统兼容的专有HID协议。
在一些实施例中,与专有HID协议兼容的应用可以搜索所连接的输入装置,并且向输入装置发送消息以使用专有协议。在一些实施例中,输入装置能够支持标准HID协议和专有HID协议两者,从而使得该输入装置能够与操作不同操作系统的不同类型的计算装置一起工作。
在一些实施例中,应用包括用于与数据输入装置进行通信并解读通过专有协议所发送的数据的模块或框架。该模块/框架可以嵌入在应用中,或者能够为内插式模块。在一个示例中,可以发送将通过标准HID协议发送的相同的鼠标输入装置命令,而非通过专有HID数据协议发送的数据,其通过主计算装置的操作系统简单地传递至应用。在这样的示例中,框架/模块能够生成要显示的光标,然后使用鼠标命令来移动光标并且实现鼠标按钮点击、滚动滚轮以及其他鼠标输入装置控制。对于键盘装置、触控笔、遥控装置或其他任何数据输入装置,可以遵循相似的过程。在这样的实施例中,应用可以经由驱动程序和库组件来与专有HID协议兼容,这些驱动程序和库组件与存储在框架中的应用相关联并且被用于翻译(translate)专有HID协议。
本发明的一种实施例涉及在数据输入装置与主计算装置之间建立无线连接的方法。所述方法包括通过数据通信连接来发起与主计算装置的配对处理。所述方法还包括从主计算装置接收对于以下通知的一个或更多个请求,所述通知指示由数据输入装置提供的专有服务的特性。所述方法还包括基于所诉一个或更多个请求从第一通信协议自动切换至第二通信协议,并且使用第二通信协议将来自所述数据输入装置的数据发送至主计算装置。
在一些实施例中,所述主计算装置是第二主计算装置,所述配对处理是第一配对处理,所述数据通信连接是第一数据通信连接,并且所述来自数据输入装置的数据是第一数据。在这样的实施例中,所述方法还包括通过第二数据通信连接发起与第一主计算装置的第二配对处理。所述方法还包括从第一主计算装置接收对以下通知的一个或更多个请求,所述通知指示由数据输入装置提供的专有服务的特性。所述方法还包括基于所述一个或更多个请求从第二通信协议自动切换至第一通信协议,并且使用第一通信协议将来自数据输入装置的第二数据发送至第一主计算装置。
在一些实施例中,通过数据通信连接来发起与主计算装置的配对处理还包括:通过数据输入装置将由数据输入装置提供的可用专有服务的列表发送至主计算装置。
在一些实施例中,从数据输入装置至主计算装置的数据包括指示由数据输入装置执行的服务的特性的通知。
在一些实施例中,第二通信协议与运行在主计算装置上的操作系统兼容。在一些实施例中,所述主计算装置是第二主计算装置,并且第一通信协议与运行在第二主计算装置上的操作系统不兼容。
在一些实施例中,在配对处理期间,数据输入装置对第一通信协议和第二通信协议进行公布(advertise)。
在一些实施例中,第一通信协议是标准人机接口装置数据协议,并且其中第二通信协议是专有人机接口装置数据协议。
在一些实施例中,数据输入装置对由存储在主计算装置上的软件组件识别的唯一标识符进行公布。在这样的实施例中,软件组件被配置成对由数据输入装置发送给主计算装置的数据报告进行翻译。
在一些实施例中,数据通信连接是智能通信协议。
在一些实施例中,数据输入装置是键盘、鼠标或触摸板装置之一。
本发明的另一种实施例涉及一种系统。在这样的实施例中,所述系统包括:第一主计算装置,第一主计算装置运行第一操作系统;以及数据输入装置。在一些实施例中,数据输入装置使用以下方法连接至主计算装置,所述方法包括:通过数据通信连接来发起与数据输入装置的配对处理;从第一主计算装置接收对以下通知的一个或更多个请求,所述通知指示由数据输入装置提供的专有服务的特性。所述方法还可以包括基于所述一个或更多个请求来从第一通信协议自动切换至第二通信协议,并且使用第二通信协议将数据发送至第一主计算装置。
在一些实施例中,所述系统还包括第二主计算装置,所述第二主计算装置运行使用第一通信协议的第二操作系统。
本发明的另一种实施例涉及一种输入装置,所述输入装置包括用于与主计算装置进行通信的发送器,以及存储在非瞬态计算机可读介质的计算机可读代码。在一些实施例中,存储在非瞬态计算机可读介质上的计算机可读代码可以包括支持标准人机接口装置协议的第一指令集以及支持专有人机接口装置协议的第二指令集。在一些实施例中,存储在非瞬态计算机可读介质上的计算机可读代码还可以包括:用于当接收到主计算装置接受专有人机接口装置协议的通知时在第一指令集与第二指令集之间进行切换的指令。
本发明的另一种实施例涉及一种框架,所述框架包括存储在非瞬态计算机可读介质上的、能够由主计算装置上的应用程序访问的计算机可读代码。在一些实施例中,所述框架可以包括:用于发现与主计算装置连接的输入装置的指令;用于通知输入装置从标准人机接口装置协议切换至专有协议的指令;以及用于在专有人机接口装置协议下处理来自输入装置的人机接口装置数据报告的指令。
在一些实施例中,所述框架还包括以下指令,所述指令用于:对在专有人机接口装置协议下所接收的人机接口装置数据进行翻译,以及将所翻译的人机接口装置数据提供给主机装置上操作的应用程序。
在一些实施例中,所述框架还包括用于接收来自输入装置的装置标识符的指令。所述框架还可以包括以下指令,所述指令用于确定所接收的装置标识符与和所述框架关联的多个装置标识符之一相匹配。
结合下面的文本及附图对本发明的这些及其他实施例连同其众多优点和特征一起更详细地进行描述。
附图说明
图1是根据本发明实施例的、包括多个主计算装置和数据输入装置的系统的图。
图2是描述根据本发明实施例的、用于在数据输入装置与主计算装置之间建立连接并自动地确定合适的协议的方法的流程图。
图3是示出根据本发明实施例的、主计算装置与输入装置之间的交互作用的图。
图4是示出根据本发明实施例的、用于在鼠标输入装置与主计算装置之间建立连接并自动地确定合适的通信协议的方法的图。
具体实施例
本发明的实施例总体上涉及用于操作通用无线输入装置的系统和方法,该通用无线输入装置被配置成与运行不同操作系统的不同计算装置进行连接并与这些计算装置一起工作。在这样的实施例中,不同的操作系统可以使用可由无线输入装置进行公布的不同的HID数据报告(例如,标准数据报告、专有HID数据报告)。主计算装置的示例包括但不限于:移动装置、平板计算机、桌上型计算机、膝上型计算机、服务器、机顶盒、智能电视机、智能型家用电器、遥控集线器或具有处理电路的任何其他装置。
关于鼠标形式的多模式(multi-modal)无线输入装置描述实施例。然而,本发明的实施例并不限于鼠标形式的输入装置。其他实施例考虑其他形式的输入装置,这些输入装置包括但不限于:键盘、触摸板、触控笔、游戏控制器、方向盘、演示指示器(presentationpointer)、轨迹球、操纵杆、耳机以及遥控装置。此外,输入装置可以是下述数据输入装置(例如扬声器、显示监视器),该输出输入装置不提供除了连接数据和配置数据以外的输入。
I.示例性系统
图1是根据本发明实施例的、包括多个主计算装置和数据输入装置的系统100的图。在图1所描绘的实施例中,系统100包括计算机110、耦接至计算机100的监视器120、键盘装置130以及鼠标输入装置140。在一些实施例中,鼠标输入装置140可以是多模式鼠标。在一些实施例中,输入装置可以指键盘装置130和鼠标输入装置140中的一个或二者。在一些实施例中,输入装置还可以称为数据输入装置。如上所述,输入装置并不限于鼠标和键盘,而是可以包括其他数据输入装置。对于系统100,键盘装置130和鼠标输入装置140可以被配置成控制计算机110和监视器120的各个方面。计算机110可以包括非瞬态计算机可读存储介质(未示出),该非瞬态计算机可读存储介质被配置成存储计算机代码例如键盘驱动软件、鼠标驱动软件等,其中计算机代码可由计算机110的处理器(未示出)来执行以影响由鼠标输入装置140和键盘装置130对计算机110的控制。在一些实施例中,键盘装置130和鼠标输入装置140可以硬连线地或无线地耦接至计算机110。在其他实施例中,键盘装置130和鼠标输入装置140可以经由集线器装置或网关装置(例如路由器)硬连线地或无线地连接至计算机110。
除了向计算机110提供数据输入之外,如本领域技术人员将会理解的那样,可以将鼠标输入装置140用于任何数目的配置和系统(例如个人计算机、服务器、终端等)中。例如,鼠标输入装置140可以无线地连接至移动装置150(例如移动电话)和/或平板计算机160,并且向移动装置150(例如移动电话)和/或平板计算机160提供输入。计算机110、移动装置150和平板计算机160可以被统称为或单独称为主计算装置。
图1示出了鼠标输入装置140通过无线连接170a与移动装置150进行第一配对、通过无线连接170b与平板计算机160进行第二配对、以及通过无线连接170c与计算机110进行第三配对。在一些实施例中,无线连接170a至170c可以使用蓝牙TM(BluetoothTM)连接。蓝牙TM是用于在固定装置与移动装置之间在短距离上交换数据的无线电技术标准。其他实施例可以包括其他装置,这些装置用于提供短距离接触式或非接触式通信能力,例如射频识别(RFID)、红外线、或者能用于在键盘装置130与主计算装置之间交换数据的其他数据传输能力。在其他实施例中,可以使用通信协议来进行在键盘装置130与计算装置(120、150、160)中的任一者之间的通信。例如,通信协议可以工作于2.4GHz或5.8GHz。在一些实施例中,鼠标输入装置140可以能够使用第一通信协议连接至第一计算装置,并且能够使用第二通信协议连接至第二计算装置。
II.示例性方法
A.发现、连接和配对
图2是描述了根据本发明实施例的、用于在鼠标输入装置140与主计算装置110之间建立连接并自动地确定合适的协议的方法的流程图。在参照图2描述的实施例中,数据输入装置是鼠标输入装置140。
在步骤202中,主计算装置110扫描(scanfor)鼠标输入装置140。当主计算装置110被置于配对或发现模式时,主计算装置110可以扫描鼠标输入装置140。主计算装置110可以通过用户启用配对或发现模式而被置于配对或发现模式。当主计算装置110处于发现模式时,可连接的或处于发现模式的其他数据输入装置可以被检测到并且可以被配对/连接至主计算装置110。在一些实施例中,主计算装置110可以扫描能够与主计算装置110配对和/或连接的其他数据输入装置或数据输入。
在一些实施例中,主计算装置110可能正运行多个操作系统(例如,MicrosoftAppleiOSTM,AppleMacOSAndroidTM,ChromeOSTM)中的一个操作系统。在一些实施例中,主计算装置110例如在虚拟机的情况下可被配置成运行多个操作系统环境。
在步骤204中,鼠标输入装置140对标准HID和专有数据协议进行公布。在这种实施例中,鼠标输入装置可能已被置于发现模式,以用于将鼠标输入装置140与主计算装置110配对。当鼠标输入装置140被置于发现模式时,鼠标输入装置可以开始对标准HID和专有数据协议进行公布。在一些实施例中,给鼠标输入装置140通电可以将鼠标输入装置140自动地置于可发现模式。在其他实施例中,可以通过用户选择或用户交互将鼠标输入装置140置于发现模式。
在步骤206中,主计算装置110发现鼠标输入装置140。在一些实施例中,当主计算装置110发现鼠标输入装置时,可以发起连接和配对处理。在一些实施例中,配对处理可以用于在鼠标输入装置140与主计算装置110之间建立无线连接。在一些实施例中,无线连接可以是蓝牙蓝牙智能(Bluetooth)或任何其他的无线标准或专有无线网络协议。
在一些实施例中,用户可能必须与主计算装置110交互来发起与鼠标输入装置140的连接和配对处理。例如,用户可能必须将代码输入到主计算装置110中以确认用户希望将鼠标输入装置140与主计算装置110进行配对。在一些实施例中,用户可能需要访问主计算装置110中的设置以及从可用或可发现装置的列表中选择鼠标输入装置140。在其他实施例中,用户不必与主计算装置110交互来发起与鼠标输入装置140的连接,并且可以自动发起并完成连接处理和配对处理。
B.所支持和公布的标准协议和专有协议
在一些实施例中,鼠标输入装置140可以被编程为支持标准协议和专有协议。鼠标输入装置140中的软件或固件可以存储这两种协议所需的信息,并且可以被配置为使用两个协议来公布和传输数据。
鼠标输入装置140可以对标准HID数据协议和专有数据协议进行公布。标准HID协议和专有协议可以在单独的通信信道上传输。在完成连接时,鼠标输入装置140可以将标准HID数据报告发送至主计算装置110。
在一些实施例中,主计算装置110可能不接受来自鼠标输入装置140的HID数据报告(例如,基于人与鼠标输入装置140的交互而生成的输入数据)。例如,虽然运行Microsoft10操作系统的第一主计算装置可以接受来自鼠标输入装置140的标准HID数据报告,但运行AppleiOSTM操作系统的第二主计算装置可以不接受上述标准HID数据报告。在这种情况下,虽然鼠标输入装置140可以(通过上述配对处理)与运行AppleiOSTM操作系统的第二主计算装置成功地配对,但AppleiOSTM操作系统可阻止或忽略使用标准HID数据报告从鼠标输入装置140发送至第二主计算装置的任何数据报告。在这种情况下,鼠标输入装置140可以被配置为把将由第二主计算装置识别的专有HID数据报告发送至主计算装置110。
C.切换到专有协议
在步骤208中,鼠标输入装置140确定主计算装置110是否订阅了专有服务通知(例如,将输入发送到主计算装置110所需的专有协议)。在一个实施例中,通过从在主计算装置110上运行的应用程序发送的通知消息或其他类型的指示来做出该确定。
在一些实施例中,当鼠标输入装置140与主计算装置110连接或配对时,可以启动存储在主计算装置上的应用程序。在其他实施例中,可以在连接处理或配对处理之前主动运行存储在主计算装置110上的应用程序。存储在主计算装置110上的应用程序可以将消息发送至鼠标输入装置140以请求鼠标停止使用标准HID数据报告,并且代替将专有协议HID数据报告发送至主计算装置110。
在步骤210中,当鼠标输入装置140确定出主计算装置110确实订阅了专有服务通知或者需要专有协议来将输入发送至主计算装置110时,鼠标输入装置140可以将发送数据报告从标准HID协议自动地切换到专有协议。用于解释专有HID数据报告的模块或框架必须被预先加载到与在主计算装置110上运行的一个或更多个应用程序或软件程序关联的驱动程序或库,使得专有HID数据报告可以被存储在主计算装置110上的应用程序所理解。
在步骤212中,当鼠标输入装置140确定出主计算装置110确实没有订阅专有服务通知或者需要使用专有HID数据报告时,鼠标输入装置140可以发送标准HID数据报告。在这样的实施例中,鼠标输入装置140可以不切换在配对处理期间进行公布的标准HID数据协议。
随后,当鼠标输入装置140从主计算装置110被切换到平板计算机160(或另一主计算装置)时,将在鼠标输入装置140与平板计算机160之间重复上述处理。
应当理解的是,图2中示出的具体步骤提供了根据本发明的实施例的特定方法200。根据替代实施例也可以执行步骤的其他顺序。例如,本发明的替代实施例可以按照不同的顺序来执行上述步骤。此外,图2中示出的各步骤可以包括多个子步骤,多个子步骤可以按照适于各步骤的各种顺序来执行。此外,可以取决于特定应用程序来添加或移除附加的步骤。本领域普通技术人员将识别许多变型、修改和替换。
D.具有框架的主应用程序
图3是示出了根据本发明的实施例的主计算装置110与鼠标输入装置140之间的交互的图。
如图3所示,主计算装置可以包括应用程序110a、无线数据输入装置管理器110b(例如蓝牙TM数据输入管理器)、无线中央管理器110c(例如蓝牙TM中央管理器)。应用程序110a可以存储在主计算装置110的存储器部分(未示出)中。可以在存储于主计算装置110上的应用程序110a中嵌入框架110a-1。如本文中所述,在一些实施例中,框架110a-1可以使得主计算装置110中的处理器(未示出)或者主计算装置110中的另一部件(例如无线中央管理器110c)执行框架110a-1的功能。在一些实施例中,框架110a-1可以被配置成使鼠标输入装置140与非标准HID兼容操作系统(例如,AppleiOSTM、AndroidTM、ChromeOSTM)进行交互。在一些实施例中,框架110a-1可以包括存储在非瞬态计算机可读介质上、可由存储在主计算装置110上的应用程序110a访问的计算机可读代码。
鼠标输入装置140可以对标准HID协议(用于与MacOS等的交互)与专有协议(用于与AppleiOSTM、AndroidTM、ChromeOSTM等的交互)两者进行公布。
主计算装置110上运行的操作系统可以对通过无线中央管理器110c从鼠标输入装置140传送至主计算装置110的通信进行管理。框架110a-1可以连接至主计算装置110的无线中央管理器110c,以扫描鼠标输入装置140、建立与鼠标输入装置140的连接以及与鼠标输入装置140进行通信。
在一些实施例中,当主计算装置110上运行的非标准HID兼容操作系统识别出采用标准HID协议从鼠标输入装置140发送的通信时,操作系统可以在主计算装置110的显示器上启动弹出窗口。在这样的实施例中,弹出窗口可以包括给用户的消息,该消息允许使用专有协议与鼠标输入装置140进行配对。在这样的实施例中,鼠标输入装置140可以停止公布标准HID数据报告,并且开始公布专有HID数据报告。
E.连接处理
图4是示出了根据本发明的实施例的、用于建立鼠标输入装置140与主计算装置110之间的连接并自动地确定合适的通信协议的方法的图。在图4中所示的实施例中,主计算装置110是接受专有HID数据报告的主计算装置(例如AppleiOSTM装置)。
在步骤402中,存储在主计算装置110上的存储器部分中的应用程序110a的框架110a-1可以扫描可以与主计算装置110连接或配对的数据输入装置(例如鼠标输入装置140)。框架110a-1和应用程序110a可以与鼠标输入装置140相关联,并且可以被配置成扫描具有加载到框架中的驱动程序或库的指定数据输入装置(例如,公布特定通用唯一标识符(UUID)的装置)。例如,在一些实施例中,应用程序110a可以由鼠标输入装置140的制造商提供。在其他实施例中,应用程序110a可以为被修改成包括框架110a-1的标准应用程序。
在一些实施例中,用于主计算装置110的操作系统(例如AppleiOSTM)可以被配置成使用框架110a-1,以自动地扫描指定数据输入装置。当在主计算装置110上启动加载有框架110a-1的应用程序110a时,操作系统可以使用框架110a-1。例如,当在主计算装置110上选择加载有由公司A提供的框架的照片编辑应用程序时,框架可以开始扫描或者以其他方式尝试定位具有与公司A相关联的UUID的数据输入装置。框架110a-1可以存储多个UUID,框架110a-1存储有用于所述多个UUID的库和/或驱动程序。
在步骤404中,鼠标输入装置140可以被置于发现模式,并且可以开始对标准HID协议(以能够使用MacOS等与主计算装置进行交互)和专有HID协议(以能够使用AppleiOSTM等与主计算装置进行交互)两者进行公布。鼠标输入装置140还可以开始对与鼠标输入装置140相关联的专有UUID进行公布。
在步骤406中,框架110a-1可以发现公布指定UUID中的一个的鼠标输入装置140,并且发起与鼠标输入装置140的通信和连接处理。鼠标输入装置140与主计算装置110之间的连接可以通过位于主计算装置110内的无线中央管理器110c来管理。在一些实施例中,主计算装置110a上的操作系统可以生成并且发送请求消息,以使用户确认连接。
在步骤408中,鼠标输入装置140可以通过无线中央管理器110c接受与主计算装置110的连接。在一些实施例中,无线连接可以是蓝牙蓝牙智能或任何其他无线标准或专有无线网络协议。在一些实施例中,与鼠标输入装置140和主计算装置110相关联的用户可能必须与主计算装置110进行交互,以发起与鼠标输入装置140的连接和配对处理。在其他实施例中,用户不必与主计算装置110交互以发起与鼠标输入装置140的连接,并且连接和配对处理可以自动地发起并完成。
在步骤410中,当鼠标输入装置140与主计算装置110之间的配对连接处理已经成功地完成时,与存储在主计算装置110上的应用程序110a相关联的框架110a-1可以请求由鼠标输入装置140提供的可用服务的列表。例如,可用服务的列表可以包括但不限于:光标移动、按钮/按键单击、滚动轮移动以及击键。
在步骤412中,鼠标输入装置140可以将由鼠标输入装置140提供的可用服务的列表发回与存储在主计算装置110上的应用程序110a相关联的框架110a-1。
在步骤414中,与应用程序110a相关联的框架110a-1可以将以下消息发送到鼠标输入设备140,所述消息请求与由鼠标输入设备140提供的一个或更多个可用服务的特性有关的信息。
在步骤416中,鼠标输入设备140可以对与应用程序110a相关联的框架110a-1请求的由鼠标输入设备140提供的一个或更多个可用服务的特性进行发送。所述特性可以包括关于可以从鼠标输入设备140发送的信息或通知的类型的信息,以及关于将用于在鼠标输入设备140与计算设备之间发送信息的通信信道的信息。例如,对于鼠标输入设备140,通知可以包括鼠标输入设备140沿x轴和沿y轴的运动的信息。
在步骤418中,与应用程序110a相关联的框架110a-1可以向鼠标输入设备140发送指示,以指示主机计算设备110想要订阅指示与由鼠标输入设备140提供的服务相关联的特性(例如GATT通知)的通知。框架110a-1也可以向鼠标输入设备140发送用于使用专有HID协议将HID数据报告发回该框架的指示。
在步骤420中,鼠标输入设备140可以从框架110a-1接收指示,其指示对以下通知的选择,所述通知指示框架已经请求订阅的特性以及要发送的(标准HID或专有HID)HID数据报告的类型。当框架110a-1请求专有HID数据报告时,鼠标输入设备140可以自动地停止对标准HID数据报告进行公布,而仅对专有HID数据报告进行公布。在其他实施例中,在主计算装置接受标准HID数据报告的情况下,鼠标输入设备140可以自动地停止对专有HID数据报告进行公布。在一些实施例中,鼠标输入设备140可以对标准HID数据报告和专有HID数据报告二者进行公布。可以在无需任何用户交互的情况下执行由鼠标输入装置140执行的协议切换,以实现从标准HID协议到专有HID协议(或者从专有HID协议到标准HID协议)的协议切换。
在步骤422中,鼠标输入设备140可以经由主机计算装置110的无线中央管理器110c将专有HID数据报告发送到框架110a-1。框架110a-1可以被配置成针对应用程序110a翻译专有HID数据报告。
随后,当主机上的应用程序110a终止订阅专有HID数据报告(例如,主计算装置110上的应用程序110a被卸载或关闭)时,鼠标输入设备140可以切换回到标准HID数据协议的使用。
在一些实施例中,鼠标输入设备140可以对用于通用或复合类的数据输入装置的标识符(或UUID)进行公布,而不对可能被某些操作系统作为不支持的设备而拒绝的对于鼠标输入设备140而言唯一的特定标识符进行公布。
在一些实施例中,当被启动后,应用程序110a中框架110a-1可以通过应用编程接口(API)查询操作系统库,以确定是否已连接了某种数据输入设备(例如鼠标输入设备140)。如果在启动应用程序110a之前,预先建立了主机计算装置110与鼠标输入设备140之间的配对和连接处理之后启动了应用程序110a,则可能会发生上述情况。当框架110a-1确定存在连接时,框架110a-1可以使用OS库向鼠标输入设备140发送消息,从而指示鼠标输入设备140开始使用专有HID协议来对通知进行公布。框架110a-1也可以自动地尝试连接到尚未配对或连接的任何设备。
在一些实施例中,为了简化鼠标输入设备140的编程,放置在专有HID协议字段中的数据可以与用于标准HID协议的数据的格式相同。在可替代实施例中,可以针对专有HID协议使用不同的格式。
应该理解的是,图4中所示的具体步骤提供了根据本发明实施例的特定方法400。还可以根据替选实施例来执行步骤的其他顺序。例如,本发明的替选实施例可以以不同的顺序执行以上概述的步骤。此外,图4中所示的单个步骤可以包括多个子步骤,所述多个子步骤可以以适于单个步骤的各种顺序来执行。此外,可以取决于特定应用程序来增加或移除另外的步骤。本领域的普通技术人员将会识别许多改变、修改以及替选。
本发明实施例可以以软件或硬件或两者的组合的控制逻辑的形式来实现。该控制逻辑可以在信息存储介质中被存储为适于引导信息处理设备执行本发明实施例中所公开的一组步骤的多个指令。基于本文中所提供的公开内容和教示,本领域的普通技术人员将认识到用于实现本发明实施例的其他方式和/或方法。
本申请中描述的任何的软件部件或功能可以被实现为由处理器执行的使用任何适当的计算机语言例如Java、C++或Perl的软件代码,该软件代码使用例如常规的或面向对象的技术。软件代码可以作为一系列指令或命令被存储在计算机可读介质上,计算机可读介质例如:随机存取存储器(RAM)、只读存储器(ROM)、磁介质如硬盘驱动器或软盘或者光学介质如CD-ROM。任何这样的计算机可读介质可以驻留在单个计算设备上或驻留在单个计算设备中,并且可以存在于系统或网络内的不同计算装置上或存在于系统或网络内的不同计算装置内。
在实施例中,可以通过执行所公开的任意或全部功能和步骤的计算机来实施本文所述的任何实体。
应当注意,除非明确地作出相反指示,否则对“一个”、“一种”或“该”的任何引用均意在表示“一个或更多个”。
还应该理解,本文中所描述的示例和实施例仅用于说明的目的,并且将向本领域技术人员启示所描述的示例和实施例的各种修改或改变,并且这些修改和改变被包括在本申请的精神和范围以及所附权利要求书的范围内。因此,上述描述不应当理解为限制由权利要求所限定的本发明的范围。
Claims (20)
1.一种用于在数据输入装置与主计算装置之间建立无线连接的方法,所述方法包括:
通过数据通信连接来发起与所述主计算装置的配对处理;
从所述主计算装置接收对于指示由所述数据输入装置提供的专有服务的特性的通知的一个或更多个请求;
基于所述一个或更多个请求,从第一通信协议自动切换至第二通信协议;以及
使用所述第二通信协议,将来自所述数据输入装置的数据发送至所述主计算装置。
2.根据权利要求1所述的方法,其中,所述主计算装置是第二主计算装置,其中所述配对处理是第一配对处理,其中所述数据通信连接是第一数据通信连接,其中来自所述数据输入装置的数据是第一数据,其中所述方法还包括:
通过第二数据通信连接来发起与第一主计算装置的第二配对处理;
从所述第一主计算装置接收对于指示由所述数据输入装置提供的专有服务的特性的通知的一个或更多个请求;
基于该一个或更多个请求,从所述第二通信协议自动切换至所述第一通信协议;以及
使用所述第一通信协议,将来自所述数据输入装置的第二数据发送至所述第一主计算装置。
3.根据权利要求1所述的方法,其中,通过所述数据通信连接发起与所述主计算装置的配对处理还包括:
由所述数据输入装置将由所述数据输入装置提供的可用服务的列表发送至所述主计算装置。
4.根据权利要求1所述的方法,其中,至所述主计算装置的、来自所述数据输入装置的数据包括:指示由所述数据输入装置提供的专有服务的特性的通知。
5.根据权利要求1所述的方法,其中,所述第二通信协议与运行在所述主计算装置上的操作系统兼容。
6.根据权利要求1所述的方法,其中,所述主计算装置是第二主计算装置,其中所述第一通信协议与运行在所述第二主计算装置上的操作系统不兼容。
7.根据权利要求1所述的方法,其中,在所述配对处理期间,所述数据输入装置对所述第一通信协议和所述第二通信协议进行公布。
8.根据权利要求7所述的方法,其中,所述第一通信协议是标准人机接口装置协议,并且其中所述第二通信协议是专有协议。
9.根据权利要求1所述的方法,其中,所述数据输入装置对由存储在所述主计算装置上的软件组件来识别的唯一标识符进行公布。
10.根据权利要求9所述的方法,其中,所述软件组件被配置成对由所述数据输入装置发送至所述主计算装置的数据报告进行翻译。
11.根据权利要求1所述的方法,其中,所述数据通信连接是智能通信协议。
12.根据权利要求1所述的方法,其中,所述数据输入装置是键盘、鼠标或触摸板装置之一。
13.一种系统,包括:
第一主计算装置,所述第一主计算装置运行第一操作系统;以及
数据输入装置,其中,所述数据输入装置使用以下方法而被连接至所述主计算装置,所述方法包括:
通过数据通信连接来发起与所述数据输入装置的配对处理;
从所述第一主计算装置接收对下述通知的一个或更多个请求,所述通知指示由所述数据输入装置提供的专有服务的特性;
基于所述一个或更多个请求,从第一通信协议自动切换至第二通信协议;以及
使用所述第二通信协议,将数据发送至所述第一主计算装置。
14.根据权利要求13所述的系统,还包括:
第二主计算装置,所述第二主计算装置运行使用所述第一通信协议的第二操作系统。
15.根据权利要求13所述的系统,其中,所述数据输入装置是键盘、鼠标或触摸板装置之一。
16.一种输入装置,包括:
用于与主计算装置进行通信的发送器;以及
存储在非瞬态计算机可读介质上的计算机可读代码,所述计算机可读介质包括:
支持标准人机接口装置协议的第一指令集;
支持专有人机接口装置协议的第二指令集;以及
用于当接收到所述主计算装置接受所述专有人机接口装置协议的通知时,在所述第一指令集与所述第二指令集之间进行切换的指令。
17.根据权利要求16所述的输入装置,其中,所述输入装置是键盘、鼠标或触摸板装置之一。
18.一种框架,包括存储在非瞬态计算机可读介质上的、能够由主计算装置上的应用程序访问的计算机可读代码,所述框架包括:
用于发现连接至所述主计算装置的输入装置的指令;
用于通知所述输入装置从标准人机接口装置协议切换至专有人机接口装置协议的指令;以及
用于在所述专有人机接口装置协议下处理来自所述输入装置的人机接口装置数据报告的指令。
19.根据权利要求18所述的框架,还包括:
用于进行下述操作的指令:对在所述专有人机接口装置协议下所接收的人机接口装置数据进行翻译;以及
将所翻译的人机接口装置数据提供至所述主计算装置上操作的应用程序。
20.根据权利要求18所述的框架,还包括:
用于进行下述操作的指令:接收来自所述输入装置的装置标识符;以及
确定所接收的装置标识符与和所述框架关联的多个装置标识符之一相匹配。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462072245P | 2014-10-29 | 2014-10-29 | |
US62/072,245 | 2014-10-29 | ||
US14/923,380 | 2015-10-26 | ||
US14/923,380 US9706015B2 (en) | 2014-10-29 | 2015-10-26 | Multi-operating system input device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573516A true CN105573516A (zh) | 2016-05-11 |
CN105573516B CN105573516B (zh) | 2019-08-13 |
Family
ID=55753844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510718853.3A Active CN105573516B (zh) | 2014-10-29 | 2015-10-29 | 多操作系统输入装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9706015B2 (zh) |
CN (1) | CN105573516B (zh) |
DE (1) | DE102015118413B4 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106125957A (zh) * | 2016-06-30 | 2016-11-16 | 联想(北京)有限公司 | 智能键盘的使用方法、智能键盘和设备 |
CN107295462A (zh) * | 2017-06-06 | 2017-10-24 | 北京小米移动软件有限公司 | 无线连接控制方法及装置 |
CN110297709A (zh) * | 2018-03-22 | 2019-10-01 | 东莞宝德电子有限公司 | 具分担运算量功能的计算机输入系统及其计算机输入方法 |
CN111314942A (zh) * | 2020-05-15 | 2020-06-19 | 成都极米科技股份有限公司 | 投影设备配网方法、配网装置、移动终端和投影设备 |
CN112799521A (zh) * | 2021-03-29 | 2021-05-14 | 上海捷勃特机器人有限公司 | 电子设备及操作电子设备的方法 |
TWI771710B (zh) * | 2020-07-10 | 2022-07-21 | 致伸科技股份有限公司 | 智慧型主機切換系統及方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10542120B2 (en) * | 2016-11-10 | 2020-01-21 | Microsoft Technology Licensing, Llc | Wirelessly providing operating system specific features |
US9998581B1 (en) | 2017-01-13 | 2018-06-12 | Otis Elevator Company | Communication system and method of communication in an elevator operating environment |
US10609537B2 (en) | 2017-11-22 | 2020-03-31 | Microsoft Technology Licensing Llc | Proximity platform |
US10869111B2 (en) * | 2018-10-28 | 2020-12-15 | Logitech Europe S.A. | Wireless communication protocol with peripheral devices |
US11229071B2 (en) * | 2019-07-15 | 2022-01-18 | Ingersoll-Rand Industrial U.S., Inc. | Wireless communication between a tool and a controller |
US11126524B2 (en) | 2019-09-03 | 2021-09-21 | International Business Machines Corporation | Configuration of key-mapping |
US11347326B2 (en) * | 2020-05-29 | 2022-05-31 | Logitech Europe S.A. | Predictive peripheral locating to maintain target report rate |
WO2023038640A1 (en) * | 2021-09-13 | 2023-03-16 | Hewlett-Packard Development Company, L.P. | Transfer locations for peripheral devices |
TWI811061B (zh) * | 2022-08-12 | 2023-08-01 | 精元電腦股份有限公司 | 觸控板裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106636A (zh) * | 2006-07-14 | 2008-01-16 | 中国长城计算机深圳股份有限公司 | 多类型数据传输的方法以及应用该方法的遥控器 |
CN101266590A (zh) * | 2008-04-22 | 2008-09-17 | 北京飞天诚信科技有限公司 | 动态切换设备配置的方法和系统 |
CN101685323B (zh) * | 2008-09-22 | 2011-06-22 | 联想(北京)有限公司 | 一种计算机扩展坞及其切换工作方法 |
CN103210383A (zh) * | 2010-09-30 | 2013-07-17 | 苹果公司 | 多个主机设备之间的无线附件设备配对转移 |
US20140075069A1 (en) * | 2012-09-07 | 2014-03-13 | Apple Inc. | Data structures for facilitating communication between a host device and an accessory |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957086B2 (en) | 2002-05-01 | 2005-10-18 | Microsoft Corporation | Method for wireless capability discovery and protocol negotiation, and wireless device including same |
US20060093365A1 (en) * | 2004-10-29 | 2006-05-04 | Dybsetter Gerald L | Selectable host-transceiver interface protocol |
CN102239674B (zh) * | 2008-08-19 | 2017-04-19 | 高赛科实验室公司 | 隔离的多网络计算机系统及设备 |
KR101767262B1 (ko) * | 2009-11-09 | 2017-08-11 | 삼성전자주식회사 | UPnP를 이용한 입력 시스템에서 입력 방식을 변경하기 위한 방법 및 장치 |
DE202011000380U1 (de) | 2011-02-18 | 2011-04-21 | Zippy Technology Corp. | Eingabegerät mit der Möglichkeit zur Umschaltung der drahtlosen Verbindung mit unterschiedlichen Datenverarbeitungsgeräten |
CN104380682B (zh) * | 2012-05-08 | 2019-05-03 | 思睿逻辑国际半导体有限公司 | 由松散协调的媒体呈现设备形成媒体网络的系统及方法 |
US9860680B2 (en) * | 2012-06-04 | 2018-01-02 | Qualcomm Incorporated | Automatic connection of bluetooth human interface devices |
-
2015
- 2015-10-26 US US14/923,380 patent/US9706015B2/en active Active
- 2015-10-28 DE DE102015118413.3A patent/DE102015118413B4/de active Active
- 2015-10-29 CN CN201510718853.3A patent/CN105573516B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106636A (zh) * | 2006-07-14 | 2008-01-16 | 中国长城计算机深圳股份有限公司 | 多类型数据传输的方法以及应用该方法的遥控器 |
CN101266590A (zh) * | 2008-04-22 | 2008-09-17 | 北京飞天诚信科技有限公司 | 动态切换设备配置的方法和系统 |
CN101685323B (zh) * | 2008-09-22 | 2011-06-22 | 联想(北京)有限公司 | 一种计算机扩展坞及其切换工作方法 |
CN103210383A (zh) * | 2010-09-30 | 2013-07-17 | 苹果公司 | 多个主机设备之间的无线附件设备配对转移 |
US20140075069A1 (en) * | 2012-09-07 | 2014-03-13 | Apple Inc. | Data structures for facilitating communication between a host device and an accessory |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106125957A (zh) * | 2016-06-30 | 2016-11-16 | 联想(北京)有限公司 | 智能键盘的使用方法、智能键盘和设备 |
CN106125957B (zh) * | 2016-06-30 | 2019-02-05 | 联想(北京)有限公司 | 智能键盘的使用方法、智能键盘和设备 |
CN107295462A (zh) * | 2017-06-06 | 2017-10-24 | 北京小米移动软件有限公司 | 无线连接控制方法及装置 |
CN110297709A (zh) * | 2018-03-22 | 2019-10-01 | 东莞宝德电子有限公司 | 具分担运算量功能的计算机输入系统及其计算机输入方法 |
CN111314942A (zh) * | 2020-05-15 | 2020-06-19 | 成都极米科技股份有限公司 | 投影设备配网方法、配网装置、移动终端和投影设备 |
TWI771710B (zh) * | 2020-07-10 | 2022-07-21 | 致伸科技股份有限公司 | 智慧型主機切換系統及方法 |
CN112799521A (zh) * | 2021-03-29 | 2021-05-14 | 上海捷勃特机器人有限公司 | 电子设备及操作电子设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
US9706015B2 (en) | 2017-07-11 |
DE102015118413A1 (de) | 2016-05-04 |
DE102015118413B4 (de) | 2023-05-11 |
CN105573516B (zh) | 2019-08-13 |
US20160127516A1 (en) | 2016-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573516A (zh) | 多操作系统输入装置 | |
US10620782B2 (en) | Apparatus and method for remotely controlling peripheral devices in mobile communication terminal | |
US8656067B2 (en) | Peripheral device identification for pairing | |
US10521373B2 (en) | Input device with multi-host switching | |
CN108370599B (zh) | 信息处理方法、计算机可读存储介质和信息处理系统 | |
US12063618B2 (en) | Home appliance and mobile terminal having application for registering the home appliance to server | |
CN103988195A (zh) | 用于在设备之间共享内容的方法及装置 | |
EP2940975A1 (en) | Wireless communication system | |
US11582273B2 (en) | Apparatus and method for informing of available devices in contents sharing network | |
US11372612B2 (en) | Display device and method for controlling same | |
CN102201842A (zh) | 信息处理系统、信息处理设备和管理服务器 | |
US9078088B2 (en) | System and method for transport layer agnostic programming interface for use with smartphones | |
TW201740286A (zh) | 一種資料共用系統及方法 | |
KR20150111553A (ko) | 무선 통신 시스템, 그 시스템에서의 다수의 사용자 단말과의 통신 연결을 제어하기 위한 장치 및 방법 | |
US10149329B2 (en) | Electronic device and control method thereof | |
JP2013197696A (ja) | 携帯端末、情報表示システムおよび情報表示方法 | |
EP3070601A1 (en) | Electric apparatus and method of updating firmware of electric apparatus | |
KR101500486B1 (ko) | 게임 제어 시스템 및 그 방법 | |
JP2018006947A (ja) | 通信装置、通信システム、及び通信プログラム | |
US20140366106A1 (en) | Apparatus and method for processing data of applet included in a plurality of secure elements | |
CN105278620A (zh) | 建立装置间直接连线的方法以及使用该方法的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |