CN102067066B - 计算系统中外围设备的输入和输出的关联 - Google Patents

计算系统中外围设备的输入和输出的关联 Download PDF

Info

Publication number
CN102067066B
CN102067066B CN200980123540.6A CN200980123540A CN102067066B CN 102067066 B CN102067066 B CN 102067066B CN 200980123540 A CN200980123540 A CN 200980123540A CN 102067066 B CN102067066 B CN 102067066B
Authority
CN
China
Prior art keywords
peripherals
input
attribute
output
instruction
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
CN200980123540.6A
Other languages
English (en)
Other versions
CN102067066A (zh
Inventor
M·斯莱扎克
A·米肖
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102067066A publication Critical patent/CN102067066A/zh
Application granted granted Critical
Publication of CN102067066B publication Critical patent/CN102067066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种耦合的外围设备(102)输出与外围设备(102)输入相关联。从耦合的外围设备接收描述符配置输入,其描述了外围设备的属性,以及外围设备输入和输出之间的关联。关联的输入属性的外围设备类包括关联的输出外围设备属性。通过类向实例化的应用程序通知外围设备属性(310)。可选地,一接口集包括外围设备的关联的输入属性和输出属性(304)。输入逻辑层(110)用于访问外围设备输入的接口集的属性,包括外围设备的关联的输出属性(310)。选择与输入相关联的属性(312),并设置外围设备的所选属性(314)。

Description

计算系统中外围设备的输入和输出的关联
背景
许多外围设备同时包括彼此不关联的输入和输出。在耦合到外围设备的计算系统上实例化的应用程序可能不能访问该外围设备的输入和输出的关联。
概要
此处所描述并要求保护的实现通过允许将计算系统中的外围设备的输出与该外围设备的输入关联而解决了前述问题。外围设备的输出与输入的关联提供了链接计算系统中的外围设备的关联的输入和输出的能力。在计算系统上实例化的应用程序可以使用外围设备的输入和输出性能的关联。
在一个实现中,例如,从耦合的外围设备接收外围设备的描述符信息。该描述符信息描述了该外围设备的属性,以及该外围设备的输入与该外围设备的输出之间的关联。提供关联的输入属性的外围设备类,该外围设备类包括外围设备的关联的输出属性,且通过该类来向实例化的应用程序通知该外围设备的属性。
在另一个实现中,提供一接口层,该接口层包括相关联的设备的关联的输入属性和输出属性。使用输入逻辑层来访问外围设备的输入的接口层的属性,该接口层包括外围设备的关联的输出属性。选择并设置与外围设备相关联的属性。
在又一个实现中,例如,接收外围设备的描述符信息并将其用于构建接口集,该接口集包括外围设备的输入和相关联的输出的属性。该接口集可以被用来选择和设置外围设备的属性。
在某些实现中,提供了制品作为计算机程序产品。计算机程序产品的一个实现提供了一种计算机系统可读并且编码了计算机程序的计算机程序存储介质。计算机程序产品的另一个实现可以在计算机数据信号中提供,该计算机数据信号由计算系统以载波来具体化并编码了计算机程序。在此同样描述和列举了其他实现。
提供本概要是为了以简化的形式介绍将在以下详细说明中进一步描述的一些概念。本概要不意欲标识出所要求保护的主题的关键特征或必要特征,也不意欲用来限定所要求保护的主题的范围。所要求保护的主题的其它特征、细节、用途和优点将从以下在附图中进一步示出且在所附权利要求中定义的各种实施例和实现的更具体写出的详细说明中变得显而易见。
附图简要说明
图1描述了用于将外围设备的输出与外围设备的输入进行关联的计算系统的一个示例实现的示意图。
图2描述了可用于将外围设备的输出和该外围设备的输入进行关联的数据结构的示例实现。
图3描述了用于在计算系统中将关联外围设备的输出与该外围设备的输入进行关联的示例操作。
图4描述了用于实现计算系统的各方面的通用计算系统的示意图。
详细说明
提供了一种用于将外围设备的输出和该外围设备的输入进行关联的计算系统。
图1描述了将外围设备102的输出性能与该外围设备102的输入属性进行关联的示例计算系统100。计算系统100被耦合到至少一个外围设备102。外围设备102包括至少一个输入性能以及可以与该输入性能相关联的至少一个输出性能。
外围设备102可以包括其可以被耦合到计算系统100的任意类型的外围设备。外围设备102可以包括例如,用于台式或膝上型计算机的典型的外围输入设备,例如键盘、鼠标、操纵杆、游戏控制器、写字屏、web摄像头、话筒、外部存储设备、或者其它计算机输入/输出外围设备。外围设备102还可以包括任意其它类型计算系统的外围设备,这些其他类型的计算系统例如移动电话、安全系统、汽车或飞机控制系统、或任意其它类型的计算系统。外围设备102可以例如包括汽车计算系统的外围设备,例如识别(例如,生物识别或键区)模块、入口门把手、按钮、触摸板或触摸屏、或可以耦合到计算系统100并由计算系统100控制的任意其它类型的外围设备。
外围设备102可以采用任意方式,例如通过有线或无线链路104,来耦合到计算系统100。外围设备102可以与计算系统100集成(例如,膝上型计算机或移动电话键盘),或者可以通过无线或有线连接可移动地耦合到计算系统100(例如,IEEE 802.11无线外围设备、蓝牙无线外围设备、射频无线外围设备、串行外围设备、通用串行总线(USB)外围设备(例如,人机接口设备(HID),例如键盘、鼠标或操纵杆)、照相机、外部存储设备、话筒等)。
外围设备102可以包括与外围设备102上的任意数量的输出相关联的任意数量的输入。例如,键盘外围设备可以包括多个输入键(例如,QWERTY、Dvorak、T-9或其它键盘),这些输入键在输入逻辑层110的控制下可以与计算系统100控制的任意数量的输出相关联。键盘的一个或多个输出可以与键盘的一个输入相关联。
在一个实现中,例如,特定键或键组的高度可以相对于键盘上其它键来升高或降低,由此来升高或降低它们的轮廓。在锁定的移动电话键盘上,例如,用于解锁该键盘的键可以被降低,由此来减少该键被无意中按压的机会。在另一个实施方式中,当一个或多个修饰键(例如,“CTRL”、“ALT”、“FN”、“ALTGR”或其它修饰键)被按压时,对应于该特定键的键的高度可以被升高,和/或不对应于该特定键的键的高度可以被降低,由此来指示哪些键是希望被按下的。
外围设备上的一个或多个显示器同样可以被用来指示当前设置、可能的按键组合、或者其它信息。键盘上的显示器可以显示该键盘的当前设置(例如,字体、颜色、大写体、小写体)。该显示器可以位于键盘的独立键上,或者位于显示器的另一部分上。与上述键高度输出相似,显示器同样可以被用来指示可能的按键(例如,当已经按下修饰键时,或者在应用程序预测可能的按键组合的情况下)或其它设置(例如,防止重复本来不需要的按键组合的“键锁定”特征)。
其它外围设备还可以包括任意数量的可以与设备的输入相关联的输出。例如,在鼠标上,当鼠标控制的光标在可通过实用该鼠标的按键来选择的链接上时,该按键可以被升高,和/或当光标没有在这一链接上时,该按键可以被降低。
通过控制入口外围设备(例如,汽车或安全门口的门把手)的一个或多个输出来控制该外围设备以允许进入。当用户被认为是授权用户时,门把手或其它入口外围设备可以被控制来允许进入。当进入要被阻止时,门把手可以被缩回,和/或当进入被允许时,门把手可以被伸长到可达位置。在另一个实现中,用于气温控制系统(例如,在房间恒温器上,或者在汽车气温控制系统上)的按钮的温度可以被控制来指示用户是否将要增高或降低气温控制系统的温度设定点。
外围设备102的输入和/或输出可以是静态的或者动态的。静态输入或输出例如可以包括用于单一目的的输入或输出,而动态输入或输出可以取决于计算系统100的一个或多个条件来改变功能。例如,汽车计算系统中的动态按钮在汽车熄火时可以用来启动引擎点火装置,而同一按钮在在引擎运行时可以被用来控制汽车计算系统的某一其它方面。同样地,与按钮关联的动态输出可以在任意给定时间相应于输入按钮的功能而改变。
与外围设备的输入相关联的输出的这些实现仅仅是示例。本领域技术人员从本发明中会很容易理解,任意数量的其它类型的外围设备可以包括可以与外围设备的一种或多种类型的输入相关联的任意数量类型的输出。
外围设备102是自知的,这表现在它包括可以由计算系统100使用来将外围设备102的输出性能和外围设备102的输入性能进行关联的自标识配置信息106。外围设备102通过耦合硬件108(例如,与计算系统100相关联的端口,比如串行端口、USB端口、并行端口、无线收发器等)耦合到计算系统100。
自标识配置信息106可以包括例如外围设备102的输出性能和输入性能之间的逻辑关联,输出或输入设备的物理属性(例如,屏幕尺寸、颜色性能、位置性能、移动性能,或其它属性)。
在计算系统100中提供了输入逻辑层110,用于将外围设备102的输出与该外围设备的输入进行关联。输入逻辑层110向运行在计算系统100上的操作系统提供了对外围设备102的不同元件的统一访问和控制。在键盘外围设备包括多个输入和相应的输出时,例如,输入逻辑层110可以提供用于访问和控制键盘外围设备的输入和输出的接口。
在一个实现中,例如,输入逻辑层可以链接设备的单独的逻辑表示,例如设备类或其它表示。在图1所示的实现中,例如,计算系统100包括对应于键盘112、鼠标114和门把手116的设备类。另外,对于每个类,计算系统100还包括接口集118、120和122(例如,接口层),其包括相应设备类的属性。接口集可以包括,例如,包括相应设备类的属性的应用程序编程接口(API)集。API集仅仅是可以使用的接口集的一个示例。也可使用其它类型的接口集。
输入逻辑层110可以从外围设备102接收自标识配置信息106,并为外围设备102创建逻辑表示。输入逻辑层110例如可以接收外围设备类和标识外围设备102的一个或多个输入和输出的配置信息,并生成将外围设备102的至少一个输出和输入进行关联的接口。
图2描绘了用于人机接口设备(HID)外围设备的输入逻辑层的示例数据结构200,其可以用于计算系统来将外围设备的输出性能和该外围设备的输入性能进行关联。如附图2所示,示例数据结构200包括用于外围设备的逻辑集合,其将外围设备的输入和输出进行关联。在图2所示的实现中,数据结构200包括用于外围设备的每个输入的逻辑集合。例如,键盘输入“a”的逻辑集合202包括输入标识符以及可以与该输入关联的示例输出。在该示例中,对应于输入“a”的逻辑集合202包括对应于“显示”、“高度”和“温度”的输出标识符。其它输出标识符当然也是可能的。也可提供输入和/或每个相关联的输出的物理位置,如图2所示。
在该实现中,输入逻辑层可以利用数据结构200来标识和控制对应于耦合到计算机系统的外围设备的特定输入的一个或多个输出。例如,应用程序可以利用逻辑输入层来控制对应于外围设备的特定输入的该外围设备上的输出。例如,运行在计算系统上的应用程序可以指示输入逻辑层更改与键盘外围设备的输入键“a”相关联的高度、温度和/或显示。
然而,图2中所示的数据结构200仅仅是可以使用的数据结构的一个例子。也可以使用其它数据结构,比如XML图表数据结构。
图3描绘了用于在计算系统中将外围设备的输出和该外围设备的输入进行关联的示例过程300。在过程300中,在操作302,将包括至少一个输入和至少一个输出的外围设备耦合到计算系统。在操作304,该计算系统读取外围设备的每个输入和输出的描述符。该描述符可以例如包括每个输入和输出的性能,且还可以包括外围设备的每个输入和输出的属性(例如,静态或动态属性)。在操作306,计算系统的输入逻辑层分离外围设备(例如键盘、鼠标、操纵杆、门把手等)的类或其它顶层的逻辑表示。在操作308,输入逻辑层还能够构建与外围设备的每个类相关联的接口集(例如,API层)。操作302、304、306和308可以包括设置操作,在外围设备之前已经被耦合到计算系统之后,可以在后续操作中重复或不重复该设置操作。
取决于外围设备的类或其它逻辑标志,在操作310,计算系统的输入逻辑层可以调用输入属性逻辑层的设置属性API。在操作312,输入逻辑层还可以确定与输入报告相关联的属性。在操作314,输入逻辑层还可以设置外围设备的属性。在一个实现中,例如,输入逻辑层可以通过总线发送信息,可以发送状态变化请求到外围设备中保持的高速缓存或其它数据存储,发送状态信息到外围设备来为特定应用程序预填充外围设备的高速缓存或其它数据存储,或者通过另一方法来设置外围设备的属性。在某些不同的实现中,例如,键盘外围设备可以针对各种数学设置、音乐设置、外语的符号转换来设置,并且键盘外围设备的输出可以被用来标识键盘的输入的变型。键盘外围设备的各个键可以各自包括一显示器,其可以被更改来显示各种能够用于键盘外围设备的数学设置、音乐设置、或者语言设置。
外围设备的一个或多个输出可以与该外围设备的输入进行关联。在一个示例中,键盘修饰键(例如,“CTRL”、“ALT”、“FN”、“ALTGR”或其它修饰键)可以与标识可对应于锁定的修饰键的有限条目集的可接受键的输出进行关联。该有限条目集例如可以包括对应于菜单的各特征的键。当在Microsoft
Figure BPA00001279005700061
Word中“ALT”修饰键被锁定时,例如,对应于菜单中可用的选择的键的输出(例如,“F”对应于“文件”、“E”对应预“编辑”等)可以被激活来向用户标识哪些按键将执行所标识的功能。键的有限条目集的输出可以例如被高亮(例如,显示不同外观(例如,颜色)、位置(例如,升高的高度)、感觉(例如,触觉标识,比如振动或撞击),等等)。同样的,也可激活对应于键盘快捷方式的输出(例如,当数据已经被复制并可可供插入或者粘贴时)或者预测按键。
在其它示例中,多个键可以被分组在一起来提供用于提供更简单输入的较大键集(例如,在物理位置中、在游戏环境中、在不需要完整键集时,等等)。此外,各单独键上的输出(例如,显示)可以显示哪些特定键被分组在一起,以及该组整体上表示什么。一组键可以利用一种公共的颜色或其他表示来被共同加亮,以标识这些键被分组在一起。此外,显示器还可以指示该组键将共同表示的输入(例如,该组键可以共同表示单个字母、数字、功能、命令或其它输入)。
在键盘中,字体和/或大小写的变化可以被直接表示在键盘的键上。各单独键上的显示器可以示出特定键将如何以所选字体表示的真实表示。当在应用程序中已经选择了Times New Roman字体时,例如,键盘的键可以示出这些单独的键是如何以该字体显示的。同样的,取决于是否激活了“CAPS LOCK”键或者是否锁定了“SHIFT”键,键上的显示器可以示出字母的大小写。同样,键上的显示器可以指示当“FN”被锁定时可以选择的功能。其它指示也是可能的。
当期望或者要求特定键或者键组合时(例如,要求“CTRL”、“ALT”、“DEL”组合),那些键可以被高亮显示(例如,通过显示器、位置、触觉或者其它方式)和/或其它键可以被黯淡显示或者给定一个较低的轮廓(例如,被缩回来)。
“超时”或者“封锁”序列也可以通过键盘的键上的显示器来标识。例如,当在一段时间中重复击键被禁用时,可以使用键盘上的一个或多个显示器来指示该键正被锁定。当特定键被锁定时,例如,该键可以被高亮显示一段预定的时间,以指示该键在该时间段被锁定而不能接收更多输入。一个或多个键上的显示器还可以被用来指示正在慢慢超时(例如,初始显示指示该键被锁定,且一衰减序列指示正在慢慢超时)。
键盘上的无效输入也可以通过键盘上的一个或多个输出来指示给用户。外围设备的输出可以在视觉上、空间上、触觉上或者以其它方式指示已经从该设备接收到无效输入。
对应于外围设备的特定输入的特定可用功能的图形或其它表示也可以在该外围设备的输出上表示。例如,键盘的键上的显示器可以描绘对应于可通过激活键盘的键而可用的特定功能。
在游戏或其它环境中,外围设备的输出可用于扩充外围设备的输入选项。在一个实现中,可以提供基于游戏或教育应用程序的上下文线索的。例如,迷宫游戏中的“提示”模式可以激活示出可被用来对该迷宫进行导航的有效导航输入(例如,键)的显示。同样的,外围设备的输入可以取决于特定情形来更改。例如,在角色扮演游戏中,可以通过使得输入更容易来实现加强的意识感,同时可以通过使外围设备的用户输入更困难来实现降低的意识感(例如,醉酒的、吸毒的或者损伤的人物)。外围设备的输入例如可以指示比本来要提供的更多或更少的信息。此外,取决于游戏中存在的条件,可以更改输入的布局来使输入更加容易或更加困难。取决于游戏的条件,键或其它输入设备在轮廓上可以被升高或降低、高亮或隐藏、给出更多或更少的阻力、移动或分配不同值等。取决于环境,也可以预测和加亮或者变暗游戏中的输入条目的组合。
在例如打字或者音乐乐器教程应用程序等教育应用程序中,输入设备可以通过外围设备的输出性能来扩充。可标识预测性或期望的输入以帮助用户学习正确的输入或者输入的组合。
虽然对于外围设备的一个或多个特定实现,如对于键盘,给出了具体的示例,但是对于其它类型的外围设备也可以使用相似的功能或性能。
图4的用于实现将耦合到计算系统的外围设备的输出与该外围设备的输入进行关联的操作的硬件和操作环境的示例包括计算机400形式的通用计算设备,该计算机400包括处理单元402、系统存储器404和在操作上耦合各种系统组件,包括将系统存储器404连接到处理单元402的系统总线418。可以只有一个或者可以有不止一个处理单元402,使得计算机400的处理器包括单个中央处理单元(CPU),或者多个处理单元,通常被称为并行处理环境。计算机400可以是常规计算机、分布式计算机,或者任何其它类型的计算机;本发明对此没有限定。
系统总线418可以是任意几种类型的总线结构,包括存储总线或者存储控制器、外围总线、交换光纤结构、点对点连接,以及利用任意各种总线架构的局部总线。系统存储器404还可以被简称为存储器,并且包括只读存储器(ROM)406和随机存取存储器(RAM)405。基本输入/输出系统(BIOS)408被存储在ROM 406中,其包括例如在启动期间帮助在计算机400中的元件之间传递信息的基本例程。计算机400还包括用于从硬盘(未示出)读取或写入的硬盘驱动器430,用于从可移动磁盘436读取或写入的磁盘驱动器432,以及用于从例如CD ROM或其它光介质等可移动光盘438读取或写入的光盘驱动器434。
硬盘驱动器430、磁盘驱动器432和光盘驱动器434分别通过硬盘驱动器接口420、磁盘驱动器接口422和光盘驱动器接口424被连接到系统总线418。驱动器和它们相关联的计算机可读介质为计算机400提供了对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。本领域技术人员应该理解,在示例性操作环境中可以使用可以存储数据且可由计算机访问的任意类型的计算机可读介质,例如,磁卡盒、闪存卡、数字视频盘、RAM和ROM。
多个程序模块可以被存储在硬盘430、磁盘432、光盘434、ROM 406或RAM 405中,包括操作系统410、一个或多个应用程序412、其它程序模块414以及程序数据416。在一个示例性实现中,用于将外围设备的输出与该外围设备的输入进行关联的方法可以作为操作系统410、应用程序412或其它程序模块414的一部分来合并。
用户可以通过诸如键盘440和定点设备442(如鼠标)等输入设备将命令和信息输入到个人计算机400中。其它输入设备(未示出)可以包括例如话筒、操纵杆、游戏手柄、写字板、触摸屏设备、圆盘式卫星天线、扫描仪、传真机和摄像机。这些和其它输入设备通常通过耦合到系统总线418的串行端口接口426来连接到处理单元402,但是可以通过其它接口,例如并行端口、游戏端口或者通用串行总线(USB)来连接。
监视器444或其它类型的显示设备也通过接口,如视频适配器446连接到系统总线418。除了监视器444之外,计算机通常包括其它外围输出设备,如打印机458和扬声器(未示出)。这些和其它输出设备通常通过耦合到系统总线418的串行端口接口426来连接到处理单元402,但是可以通过其它接口,如并行端口、游戏端口或通用串行总线(USB)来连接。媒体调谐器模块460也可以连接到系统总线418,以调谐音频和视频节目(例如,电视节目)以便通过视频适配器446或其他演示输出模块来输出。
计算机400可以利用到一个或多个远程计算机,如远程计算机454的逻辑连接而在联网环境中操作。这些逻辑连接可以通过耦合到或者整合到计算机400的通信设备来实现;本发明不限于特定类型的通信设备。远程计算机454可以是另一计算机、服务器、路由器、网络个人计算机、客户机、对等设备或其它常见的网络节点,并且通常包括许多或者全部以上对于计算机400所描述的元件,尽管在图4中仅仅示出了一个存储器存储设备456。图4所示的逻辑连接包括局域网(LAN)450和广域网(WAN)452。这种联网环境常见于办公室网络、企业级计算机网络、内联网和因特网,它们都是网络的类型。
当在LAN 450环境中使用时,计算机400可以通过网络接口或者适配器428,例如以太网或其它通信接口,来连接到局域网450。当在WAN 452环境中使用时,计算机400通常包括调制解调器448、网络适配器、或用于通过广域网452建立通信的其它类型的通信设备。调制解调器448可以是内置或者外置的,其通过串行端口接口426连接到系统总线418。在联网环境中,相对于个人计算机400所描绘的程序模块或其部分可以被存储在远程存储器存储设备中。可以理解,所示网络连接是示例性的,且可以使用用于在计算机之间建立通信链路的其它手段和通信设备。
在一示例实现中,输入逻辑层模块和其它模块可以由存储在存储器422和/或存储设备429或431中并由处理单元421处理的指令来具体化。逻辑表示、设备接口数据集和其它数据可以被存储在作为持久数据存储的存储器422和/或存储设备429或431中。
这里所述的技术可以被实现为一个或多个系统中的逻辑操作和/或模块。逻辑操作可以被实现为在一个或多个计算机系统中执行的处理器实现的步骤序列,以及一个或多个计算机系统中的相互连接的机器或电路模块。同样,各种组件模块的描述可以按照模块执行或实施的操作来提供。所得实现是取决于实现所述技术的底层系统的性能要求的选择问题。因此,构成这里所述的技术的实施例的逻辑操作被不同地称为操作、步骤、对象或者模块。此外,应该理解,逻辑操作可以采用任意顺序执行,除非另外有明确要求,或者权利要求语言所本身需要特定顺序。
上述说明、示例和数据提供了对本发明的各示例实施例的结构和使用的完整描述。尽管以上以某种程度的细节或者参考一个或多个单独的实施例对本发明的各实施例进行了描述,但本领域技术人员可以对所公开的各实施例做出多种更改,而不脱离本发明的精神或范围。特别地,应该理解,所述技术可以独立于个人计算机使用。其它实施例因此是可以预料的。这意味着,包含在以上说明书和附图中所示的全部内容应该被解释为仅仅是特定实施例的说明而并非限制。可以做出细节或结构上的改变而不脱离所附权利要求书所定义的本发明的基本元素。
尽管以对结构特征和/或方法动作专用的语言对本主题进行了描述,但应该理解,所附权利要求书中定义的主题并不限于所述的具体特征或技术。相反,所述具体特征和技术是作为实现所要求保护的主题的示例性形式来公开的。

Claims (10)

1.一种计算系统上的用于将耦合的外围设备的输出关联到所述外围设备的输入的方法(300),包括:
从所述耦合的外围设备接收描述符配置输入,所述描述符配置输入描述了所述外围设备的属性,以及所述外围设备的输入与所述外围设备的输出之间的关联(304);
提供关联的输入属性的外围设备类(306),所述外围设备类包括所述外围设备的关联的输出属性,其中所述外围设备的关联的输出属性能在空间上或触觉上指示所述外围设备的关联的输入属性,其中所述外围设备的关联的输入属性的外围设备类包括接口集,所述接口集包括应用程序编程接口API层;以及
通过类来向实例化的应用程序通知所述外围设备的属性(310);
所述方法还包括:
通过所述API层发送属性改变请求到输入逻辑层;
通过所述输入逻辑层向所述外围设备发送改变所述外围设备的属性的指令,其中改变所述外围设备的属性的指令包括在轮廓上升高或降低所述外围设备的关联的按键的指令、给予所述外围设备的关联的按键更多或更少阻力的指令、增加或减少所述外围设备的关联的按键的温度的指令、或使所述外围设备的关联的按键发生振动或撞击的指令。
2.如权利要求1所述的方法,其特征在于,所述输入逻辑层执行所述提供和通知操作。
3.如权利要求1所述的方法,其特征在于,所述实例化的应用程序选择所述API层和参数,来调节所述外围设备的输入和所述外围设备的关联的输出的关联。
4.如权利要求1所述的方法,其特征在于,所述实例化的应用程序执行附加操作,包括:
利用所述输入逻辑层来访问用于所述外围设备的输入的接口集中的一个的属性,所述接口集包括所述外围设备的关联的输出属性;
选择与所述输入相关联的属性;以及
设置所述外围设备的所选属性。
5.如权利要求4所述的方法,其特征在于,关于所选属性的信息通过总线来传送。
6.如权利要求4所述的方法,其特征在于,所述输入逻辑层发送状态改变请求到所述外围设备的数据存储。
7.如权利要求6所述的方法,其特征在于,所述外围设备的数据存储包括高速缓存。
8.如权利要求4所述的方法,其特征在于,所述输入逻辑层发送状态信息以预填充所述外围设备的数据存储。
9.一种计算系统上的用于将耦合的外围设备的输出关联到所述外围设备的输入的设备,包括:
用于从所述耦合的外围设备接收描述符配置输入的装置,所述描述符配置输入描述了所述外围设备的属性,以及所述外围设备的输入与所述外围设备的输出之间的关联;
用于提供关联的输入属性的外围设备类的装置,所述外围设备类包括所述外围设备的关联的输出属性,其中所述外围设备的关联的输出属性能在空间上或触觉上指示所述外围设备的关联的输入属性,其中所述外围设备的关联的输入属性的外围设备类包括接口集,所述接口集包括应用程序编程接口API层;以及
用于通过类来向实例化的应用程序通知所述外围设备的属性的装置;
所述设备还包括:
用于通过所述API层发送属性改变请求到输入逻辑层的装置;
用于通过所述输入逻辑层向所述外围设备发送改变所述外围设备的属性的指令的装置,其中改变所述外围设备的属性的指令包括在轮廓上升高或降低所述外围设备的关联的按键的指令、给予所述外围设备的关联的按键更多或更少阻力的指令、增加或减少所述外围设备的关联的按键的温度的指令、或使所述外围设备的关联的按键发生振动或撞击的指令。
10.一种计算系统上的用于将耦合的外围设备的输出关联到所述外围设备的输入的方法,包括:
从外围设备接收描述符配置信息(304);
构建包括所述外围设备的输入的属性和关联的输出的属性的接口集(308),其中所述外围设备的关联的输出的属性在空间上或触觉上指示所述外围设备的输入的属性,其中所述接口集包括应用程序编程接口API层;
利用所述接口集来选择并设置所述外围设备的输出的属性(314);
所述方法还包括:
通过所述API层发送属性改变请求到输入逻辑层;
通过所述输入逻辑层向所述外围设备发送改变所述外围设备的属性的指令,其中改变所述外围设备的属性的指令包括在轮廓上升高或降低所述外围设备的关联的按键的指令、给予所述外围设备的关联的按键更多或更少阻力的指令、增加或减少所述外围设备的关联的按键的温度的指令、或使所述外围设备的关联的按键发生振动或撞击的指令。
CN200980123540.6A 2008-06-20 2009-05-08 计算系统中外围设备的输入和输出的关联 Active CN102067066B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/142,818 US20090319694A1 (en) 2008-06-20 2008-06-20 Association of an input and output of a peripheral device in a computing system
US12/142,818 2008-06-20
PCT/US2009/043372 WO2009154893A2 (en) 2008-06-20 2009-05-08 Association of an input and output of a peripheral device in a computing system

Publications (2)

Publication Number Publication Date
CN102067066A CN102067066A (zh) 2011-05-18
CN102067066B true CN102067066B (zh) 2014-06-25

Family

ID=41432424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980123540.6A Active CN102067066B (zh) 2008-06-20 2009-05-08 计算系统中外围设备的输入和输出的关联

Country Status (4)

Country Link
US (2) US20090319694A1 (zh)
EP (1) EP2291724B1 (zh)
CN (1) CN102067066B (zh)
WO (1) WO2009154893A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676835B (zh) * 2008-09-19 2014-03-26 鸿富锦精密工业(深圳)有限公司 计算机输入系统
US20110276528A1 (en) * 2009-01-20 2011-11-10 Kenta Shioiri Input device, information processing device, input method, and program
US8812972B2 (en) * 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
US8816965B2 (en) * 2009-09-30 2014-08-26 At&T Mobility Ii Llc Predictive force sensitive keypad
US20110074692A1 (en) * 2009-09-30 2011-03-31 At&T Mobility Ii Llc Devices and Methods for Conforming a Virtual Keyboard
US9128610B2 (en) * 2009-09-30 2015-09-08 At&T Mobility Ii Llc Virtual predictive keypad
US9122393B2 (en) * 2009-09-30 2015-09-01 At&T Mobility Ii Llc Predictive sensitized keypad
US8810516B2 (en) * 2009-09-30 2014-08-19 At&T Mobility Ii Llc Angular sensitized keypad
JP5114530B2 (ja) * 2010-05-31 2013-01-09 京セラドキュメントソリューションズ株式会社 画像形成装置
CN102087611B (zh) * 2011-02-14 2015-01-28 中兴通讯股份有限公司 一种描述嵌入式设备的模拟设备属性的方法及模拟设备
US10437742B2 (en) * 2014-10-10 2019-10-08 Microsoft Technology Licensing, Llc Vendor-specific peripheral device class identifiers
CN104811334B (zh) * 2015-03-20 2019-02-12 四川长虹电器股份有限公司 多cec通讯设备的管理方法
US10997189B2 (en) 2015-03-23 2021-05-04 Dropbox, Inc. Processing conversation attachments in shared folder backed integrated workspaces
US10776755B2 (en) 2016-12-29 2020-09-15 Dropbox, Inc. Creating projects in a content management system
US10402786B2 (en) * 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
US11226939B2 (en) 2017-12-29 2022-01-18 Dropbox, Inc. Synchronizing changes within a collaborative content management system
US20220256063A1 (en) * 2021-02-09 2022-08-11 Samuel Chen Webcam indicator

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707453A (zh) * 2004-06-11 2005-12-14 佳能株式会社 信息处理装置及其方法

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1182613B (it) * 1985-10-15 1987-10-05 Olivetti & Co Spa Tasto con visualizzatore attivabile selettivamente e tastiera utilizzante tale tasto
JPS63132323A (ja) * 1986-08-27 1988-06-04 テキサス インスツルメンツ インコ−ポレイテツド データエントリー装置
US20030040361A1 (en) * 1994-09-21 2003-02-27 Craig Thorner Method and apparatus for generating tactile feedback via relatively low-burden and/or zero burden telemetry
US5694562A (en) * 1995-01-17 1997-12-02 Fisher; Thomas A. Closely integrated key icons in a graphical interface
US5818361A (en) * 1996-11-07 1998-10-06 Acevedo; Elkin Display keyboard
US5828034A (en) * 1997-01-03 1998-10-27 Chang; Wen-Lung Warmed computer input peripherals for keeping a computer user's hand and fingers warm and comfortable
US5825362A (en) * 1997-05-07 1998-10-20 Datahand Corporation Graphical user interface with keyboard display graphical
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US6359572B1 (en) * 1998-09-03 2002-03-19 Microsoft Corporation Dynamic keyboard
WO2000017739A1 (fr) * 1998-09-22 2000-03-30 Yasufumi Mase Processeur de donnees pour personne atteinte de troubles visuels et peripherique tactile entree/sortie
US6004049A (en) * 1998-10-29 1999-12-21 Sun Microsystems, Inc. Method and apparatus for dynamic configuration of an input device
US6792754B2 (en) * 1999-02-15 2004-09-21 Silverbrook Research Pty Ltd Integrated circuit device for fluid ejection
JP4557331B2 (ja) * 1999-05-20 2010-10-06 キヤノン株式会社 情報処理装置、情報処理システム、動作制御方法、及びコンピュータ読み取り可能な記録媒体
US7362973B1 (en) * 1999-09-15 2008-04-22 International Business Machines Corporation Protecting secret data entry from infrared and audio eavesdropping
US6813650B1 (en) * 1999-10-26 2004-11-02 International Business Machines Corporation Multimode non-standard universal serial bus computer input device
CA2390439A1 (en) * 1999-10-27 2001-05-03 Firooz Ghassabian Integrated keypad system
WO2001050608A1 (en) * 2000-01-03 2001-07-12 Levenson David J Adjustable ergonomic keyboard for use with stationary palm and elements thereof
US20080316171A1 (en) * 2000-01-14 2008-12-25 Immersion Corporation Low-Cost Haptic Mouse Implementations
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US6621424B1 (en) * 2000-02-18 2003-09-16 Mitsubishi Electric Research Laboratories Inc. Method for predicting keystroke characters on single pointer keyboards and apparatus therefore
KR100865598B1 (ko) * 2000-05-29 2008-10-27 브이케이비 인코포레이티드 수문자 조합 및 다른 데이터의 입력을 위한 가상 데이터입력 장치 및 방법
US6907577B2 (en) * 2000-09-06 2005-06-14 Trace Tervo System and method for accessing screen fields, functions and programs using a simple single key stroke
US7610331B1 (en) * 2000-09-13 2009-10-27 Lightsurf Technologies, Inc. System and method for dynamic uploading and execution of applications and drivers between devices
JP2002204322A (ja) * 2000-10-31 2002-07-19 Ricoh Co Ltd 通信装置
US20020084919A1 (en) * 2000-11-28 2002-07-04 Green Peter C. Configurable keyboard
US6940490B1 (en) * 2001-08-27 2005-09-06 Palmone, Inc. Raised keys on a miniature keyboard
US7761175B2 (en) * 2001-09-27 2010-07-20 Eatoni Ergonomics, Inc. Method and apparatus for discoverable input of symbols on a reduced keypad
US6961048B2 (en) * 2002-01-17 2005-11-01 Sun Microsystems, Inc. Displaying information on keys of a keyboard
JP2003316502A (ja) * 2002-04-25 2003-11-07 Sony Corp 端末装置、文字入力方法
US6909602B2 (en) * 2002-05-24 2005-06-21 International Business Machines Corporation Temperature-controlled user interface
US6970109B2 (en) * 2002-07-19 2005-11-29 Clancy Systems International, Inc. Keyboard modification system
JP2004318457A (ja) * 2003-04-16 2004-11-11 Yokogawa Electric Corp コンピュータシステム
US20040212595A1 (en) * 2003-04-28 2004-10-28 Debiao Zhou Software keyboard for computer devices
US20040239638A1 (en) * 2003-06-02 2004-12-02 Microsoft Corporation System and method for displaying, completing and executing keyboard key combinations
US7036088B2 (en) * 2003-07-24 2006-04-25 Sap Ag Multi-modal method for application swapping
US6878902B2 (en) * 2003-07-30 2005-04-12 International Business Machines Corporation Portable computer system with hand-warming
US7161587B2 (en) * 2003-08-14 2007-01-09 International Business Machines Corporation Method, apparatus and computer program product for providing keyboard assistance to a software application user
US7112737B2 (en) * 2003-12-31 2006-09-26 Immersion Corporation System and method for providing a haptic effect to a musical instrument
US7301532B1 (en) * 2004-02-09 2007-11-27 Jerod M Dobry Digital display keyboard
US20060022951A1 (en) * 2004-08-02 2006-02-02 Infinium Labs, Inc. Method and apparatus for backlighting of a keyboard for use with a game device
US7366540B2 (en) * 2004-08-23 2008-04-29 Siemens Communications, Inc. Hand-held communication device as pointing device
US7134094B2 (en) * 2005-01-14 2006-11-07 Microsoft Corporation Automatic assigning of shortcut keys
KR100750117B1 (ko) * 2005-01-19 2007-08-21 삼성전자주식회사 Usb 디바이스의 클래스 설정 방법 및 장치
US8130197B2 (en) * 2005-03-15 2012-03-06 Ergowerx. LLC Floating keyboard
US7327559B2 (en) * 2005-05-13 2008-02-05 Sound Starts, Inc. Apparatus and method for heating the hands of keyboard users
US7661074B2 (en) * 2005-07-01 2010-02-09 Microsoft Corporation Keyboard accelerator
US20080131184A1 (en) * 2005-09-19 2008-06-05 Ronald Brown Display key, display keyswitch assembly, key display assembly, key display, display data entry device, display PC keyboard, and related methods
US20080021699A1 (en) * 2006-07-19 2008-01-24 Dinesh Verma Multi-lingual text entry using a dynamically reconfigurable keyboard
US8022942B2 (en) * 2007-01-25 2011-09-20 Microsoft Corporation Dynamic projected user interface
US8519949B2 (en) * 2007-04-13 2013-08-27 Ross Video | Live Production Technology Video production switcher panel and related methods
US7531764B1 (en) * 2008-01-25 2009-05-12 Hewlett-Packard Development Company, L.P. Keyboard illumination system
US8358277B2 (en) * 2008-03-18 2013-01-22 Microsoft Corporation Virtual keyboard based activation and dismissal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707453A (zh) * 2004-06-11 2005-12-14 佳能株式会社 信息处理装置及其方法

Also Published As

Publication number Publication date
WO2009154893A3 (en) 2010-04-01
EP2291724A4 (en) 2011-11-16
US9280494B2 (en) 2016-03-08
US20090319694A1 (en) 2009-12-24
US20130339553A1 (en) 2013-12-19
CN102067066A (zh) 2011-05-18
WO2009154893A2 (en) 2009-12-23
EP2291724A2 (en) 2011-03-09
EP2291724B1 (en) 2014-03-12

Similar Documents

Publication Publication Date Title
CN102067066B (zh) 计算系统中外围设备的输入和输出的关联
CN104137048B (zh) 提供应用的打开实例
CN110727525B (zh) 用于活动协作的配套应用程序
KR100750120B1 (ko) 원형 자판 배열을 이용한 문자 입력 방법 및 문자 입력장치
CN102246157B (zh) 隔离由插件代码主存的应用程序的方法和系统
US8078675B2 (en) Server unit, client unit, server-based computing system, server control method, client control method, and recording medium
CN101598916B (zh) 显示设备及显示控制方法
KR20060041873A (ko) 통합 개발 환경에서 디자이너로서 호스트된 애플리케이션
US20150113503A1 (en) Selectively enabling runtime editing of an application
JP2009516247A (ja) 電子通信装置及び当該装置における文字の入力処理方法
JP2011139312A (ja) 情報処理装置、情報処理方法、プログラム、制御対象機器および情報処理システム
CN105611103A (zh) 信息处理系统、信息处理设备及其控制方法
CN105659194A (zh) 用于屏幕上键盘的快速任务
CN102171653A (zh) 包括用户输入设备的可移除数据存储器件
CN102138122A (zh) 组合壳应用和子应用的界面
US10216174B2 (en) System and method for universal control of electronic devices
Gaboury Critical unmaking: Toward a queer computation
CN105359104A (zh) 状态信息的同步点
US20140123251A1 (en) System for providing content or application and control method therefor, terminal and control method therefor, authentication device and control method therefor, program, and information storage medium
WO2011061603A1 (en) Methods and apparatuses for generating and utilizing haptic style sheets
WO2008147653A1 (en) Identifying non-orthogonal roles in a role based access control system
US20220129146A1 (en) Method for controlling a computer device for entering a personal code
JP2003303029A (ja) コンピューティング装置のユーザを認証する方法及びシステム、並びに、コンピューティング装置
JP5140950B2 (ja) 操作画面生成方法、操作画面生成装置、電子機器、プログラム
JP2009003696A (ja) 表示制御システム、情報処理装置および表示制御プログラム、表示管理装置およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.