CN101297261A - 一种重映射手持式设备的输入元件的方法 - Google Patents

一种重映射手持式设备的输入元件的方法 Download PDF

Info

Publication number
CN101297261A
CN101297261A CNA2006800403699A CN200680040369A CN101297261A CN 101297261 A CN101297261 A CN 101297261A CN A2006800403699 A CNA2006800403699 A CN A2006800403699A CN 200680040369 A CN200680040369 A CN 200680040369A CN 101297261 A CN101297261 A CN 101297261A
Authority
CN
China
Prior art keywords
input element
function
code
software application
physics
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
Application number
CNA2006800403699A
Other languages
English (en)
Inventor
L·S·惠勒
E·陈
B·马库斯
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.)
Limited Liability Company
Original Assignee
Zeetoo 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 Zeetoo Inc filed Critical Zeetoo Inc
Publication of CN101297261A publication Critical patent/CN101297261A/zh
Pending legal-status Critical Current

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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0482Interaction with lists of selectable items, e.g. 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
    • G06F3/0238Programmable keyboards
    • 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/0484Interaction 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

Abstract

把手持式电子设备上排列的输入元件重映射为不同于软件应用所提供的预先加载或预先指定的(多个)功能的可执行功能的这样一种技术包括:接收软件应用或一类软件应用的配置设置,这包括至少一个物理输入元件,比如按键、旋转拨号盘或按钮,这些物理输入元件与至少一个功能相关联,比如切换功能或索引功能或插入特殊字符功能;基于配置设置修改映射功能,比如键盘设备驱动器(或键盘设备驱动程序),设备布局或翻译层;以及当物理输入元件在软件应用运行过程中被激活时,如按下或启动物理输入元件时,执行与其关联的功能。

Description

一种重映射手持式设备的输入元件的方法
背景技术
[0001]以下描述涉及将手持式设备的输入元件(如按键或者按钮)重映射到所需的动作或者功能。
[0002]传统的手持式电子设备,如蜂窝电话,个人数字助理(PDA),口袋型个人电脑,智能电话,手持式游戏机,条形码读取器,遥控器,以及其它类似的具有一个小键盘或者一个或多个输入元件的手持式输入设备,部分由于处理能力价格的下降和用户对更小设备的需求的同时增加而逐渐变得越来越复杂,体积也越来越小。而这些手持式电子设备上的输入元件,例如键盘、按钮、方向垫、触摸垫或屏幕、压敏电阻和振动仪,一般被固定编码用于一个特定的动作或者功能,比如开机关机、音量升降、文本输入、光标控制或者定向运动。举个例子,就文本输入功能来说,当用户按下输入元件中的某个元件时,此元件在文本应用中可能被固定编码成在文本应用中插入字符2,A,B或者C,而当用户按下另一个输入元件时,此元件可能被固定编码成在文本应用中插入字符3,D,E或者F。当前此类电子设备上运行的现行的操作系统,如Symbian、J2ME和Windows Mobile,都允许应用程序开发人员覆盖固定编码的动作或者功能,并且给所述输入元件指定(或者重新映射)不同的动作或者功能;但是,通常地,这些被重新映射过的输入元件只能在单个应用程序中使用。
[0003]图1a和1b阐明了在一部运行系统环境为Windows Mobile的手持式电子设备100中,一种常规映射过程所涉及的硬件和软件组件的概要。图1a描绘了一部包括多个物理输入元件104,一个键盘设备驱动程序(driver)108和应用软件112的手持式电子设备100。在一些手持式电子设备中,如移动电话,标记为“2ABC”的输入元件106也许是形成辅助键盘(keypad)的输入元件104中的一个元件。通常来说,所述物理输入元件104通过键盘设备驱动程序108映射和软件应用软件112映射的组合来映射到用户输入请求。所述键盘设备驱动程序108一般实现为分层的驱动程序,包括一个从手持式电子设备100取出或检索扫描代码的下层,或平台相关驱动(PDD)109和一个上层或者模型设备驱动(MDD)111,它把扫描代码映射成虚拟的输入元件代码,产生与虚拟输入元件代码关联的字符数据,然后封装键盘消息并把它们送到全系统消息队列中。应用软件112从全系统消息队列中检索键盘消息并基于键盘消息执行功能。键盘设备驱动程序108和应用软件112通常是存储在电子设备100中诸如随机存取存储器这样的存储器上的(未显示)。
[0004]图1b阐明了当用户按下运行Windows Mobile和现行可用的应用软件,比如文本应用或者拨号应用,的一个手持式电子设备上物理输入元件104后的常规映射过程。在过程步骤120中,用户按下手持式电子设备100上产生了一个扫描代码的物理输入元件104,如输入元件106。通常,键盘控制器将这个扫描代码写进手持式电子设备100的缓冲器中。在过程步骤124中,键盘设备驱动程序108将代表按下物理输入元件106的扫描代码翻译或者映射为虚拟的输入元件代码。具体地,PDD 109接到一个中断来从缓冲器中取出这个扫描代码,MDD111把这个扫描代码转换为一个虚拟输入元件代码。键盘设备驱动程序108用虚拟输入元件代码和扫描代码调用键盘事件“keybd_event”。在过程步骤130中,应用软件被通知到用户已经按了某个特定的物理输入元件。具体地,应用软件112接收带有虚拟输入元件代码和扫描代码的键盘事件。随后,应用软件112一般执行与虚拟输入元件代码和扫描代码相关的一个功能。举个例子来说,在手持式电子设备100上,如蜂窝电话,按下电话上“2ABC”这个物理输入元件106产生一个被PDD 109取出的扫描代码。随后,MDD 11根据“2ABC”物理输入元件上按压的次数把这个扫描代码转换或者映射成代表字符数据2,A,B,或者C的一个虚拟输入元件代码(例如在一个文本应用程序中)。键盘设备驱动程序108用虚拟输入元件代码和扫描代码调用“keybd_event”。应用软件,比如文本应用程序,就基于接收到的虚拟输入元件代码和扫描代码执行一个功能,比如在电子设备的显示器或者LCD上显示数字“2”,或者字母“A”、“B”或“C”。
[0005]手持式电子设备的物理输入元件通常被安装在该设备的一个或者多个表面上的预先确定的固定位置。所以,这些电子设备的功能和用途通常被用户舒适地连接该设备进行数据输入(如,文本、数字和功能型输入)和/或设备控制(如,玩游戏时的游戏控制)的能力所限制,而用户的这种能力正由于设备表面安装用于数据输入和/或设备控制的输入元件的可用空间持续减小而变的越来越困难且不舒适。
[0006]对于大多数常规的手持式电子设备上的数据输入,用户通常通过独立的小型键盘和单独使用的辅助键盘或它们与弦输入技术、模式输入技术和/或智能键(smart key)的组合,或者通过触摸屏与屏幕键盘或辅助键盘软件,或手写识别软件的组合使用来输入数据。构成小键盘或辅助键盘的输入元件的数目是变化的,虽然一些特定的手持式电子设备,如“萤火虫(firefly)”,的输入元件要少一些,但通常用在大多数常规手持式电子设备上的辅助键盘包括12或者更多的输入元件。通常,这些输入元件被安放在设备正面的下半部分,或者下面三分之一的地方。使用这些电子设备,用户可以在两只手握着设备时用大拇指来输入数据,或者用一只手握着设备然后用同一只手的大拇指来输入数据,或者用一只手握着设备,然后用另一只手的手指来输入数据。
[0007]所有这些在常规手持式电子设备上输入数据(特别是用大拇指输入)的方法,特别是对于那些经常花很多时间在诸如手机和PDA这样更小的手持式电子设备上输入数据的人来说,很容易引起重复性劳损。此外,特别是对于大拇指输入,由于多数手持式电子设备物理上很小的尺寸和这些设备正面上输入元件的位置,用户经常需要在大拇指握住设备的同时,还要用相同的拇指试图够到位于设备正面底部的输入元件,比如,代表空格键的输入元件、或辅助键盘上代表字母P到Y的输入元件、或组成代表QWERTY键盘的底部一行输入元件。这就需要用户的大拇指在一个别扭的位置施加很大的力量。
[0008]对于游戏控制,在大多数手持式电子设备上,用户通常通过使用位于设备正面的某个形式的输入元件,比如小键盘和/或方向键区“D-区”)来控制游戏进行。由于设备的大小,在诸如手机等一些手持式电子设备上的游戏控制通常是单手或者最多两个大拇指来实现,而在诸如PDA或者常规游戏操作台控制器等其它手持式电子设备上的游戏控制通常是双手实现的。即使模拟输入元件已经应用于个人电脑上和诸如Microsoft的Xbox或Sony的PS2等控制台游戏系统的游戏控制器上,但与这些诸如蜂窝式电话和PDA等手持式电子设备上的游戏控制相关的输入元件通常是数字化的。假如大多数蜂窝式电话和PDA不用模拟输入元件,在这些设备上玩游戏时,那么用户通常必须重复按某个键,比如方向键来移动用户的人物或者其他控制的对象,比如光标,向左或向右,而且为了能玩好游戏,通常需要很快地按键。所以,在这种带有数字输入元件的设备上来模拟连续控制人物、车辆或其它控制对象会变得乏味和困难。而且,和在这些手持式电子设备实现数据输入一样,游戏控制也有可能会导致重复性劳损,特别是对那些热衷游戏的玩家而言。
发明内容
[0009]本发明人认为,对多数用户来说,使用这些常规手持式电子设备是相对繁琐、低效和不舒服的,因为,除了其它原因之外,这些设备通常是为大多数用户设计的,而不是针对特定用户的最优设计。也就是说,本发明人认为,这些输入元件预先确定的、固定的位置与映射到每个输入元件上预先确定的、固定的动作或功能,将设备生产商和/或应用开发人员喜好的设计,而非对某一类别应用软件或对特定用户最合适且更直接的设计,强加给用户。因此,本发明人改进了技术,在手持式电子设备中针对具有共同需求(例如游戏、文本输入、音乐以及滚读)的特定类别的应用软件或者特定用户来有选择性的对输入元件进行最优地重映射。
[0010]这里所描述的技术可能使手持式电子设备针对使用诸如文本输入(如电子邮件、文字处理、日历、联系人、任务),音乐,导航,滚动和游戏应用等的某一特定类别或者几类应用程序的所有用户表现得更好。这里所描述的技术也可以为手持式电子设备上每个可用的应用程序创建用户特有的输入元件映射。用户专用(user-specific)的映射可以全面应用于手持式电子设备上所有的软件应用程序,或某一个特定类或者几类应用程序中所有软件应用,所有软件应用程序的一个子集或某一类软件应用程序中的应用程序,或某一个特定的软件应用程序。这些映射(例如类专用/或者用户专用的映射)被存储在诸如非易失存储器或者随机存取存储器这样的存储器中,并在用户选择使用一个应用程序时启动。输入元件的重映射可通过用户直接在手持式电子设备上完成,或通过连接到该手持式电子设备上的计算机,或者通过诸如环球网这样的因特网或者其他的通讯模式来完成。
[0011]这里所阐述技术的实现可能包括下面特性的多种组合。
[0012]一种重映射手持式电子设备的技术的实现,其包括接收配置设置,该设置包括至少一个与某个软件应用程序或者某类软件应用程序至少一种功能相关的物理输入元件;基于配置设置修改映射功能;以及当物理输入元件在软件应用运行过程中被激活时,如按下或启动,执行与物理输入元件相关联的功能。映射功能包括一个键盘设备驱动程序,设备布局或键盘设备驱动程序的翻译层,这些或其它映射功能的组合。
[0013]在包括键盘设备驱动程序的映射功能实现的过程中,当物理输入元件被激活时,执行与物理输入元件相关功能的步骤包括:往缓冲器中写入一个扫描代码,从缓冲器中取出该扫描代码,利用一个经修改的键盘设备驱动程序把取出的扫描代码转换为一个虚拟的输入元件代码;用扫描代码和虚拟输入元件代码调用键盘事件;并执行与键盘事件关联的功能,该功能是与物理输入元件关联的功能。
[0014]在包括设备布局的映射功能实现的过程中,当物理输入元件被激活,执行与物理输入元件相关功能的步骤包括:往缓冲器中写入一个扫描代码,从缓冲器中取出该扫描代码,利用一个修改过的设备布局把取出的扫描代码转换为一个虚拟的输入元件代码;用扫描代码和虚拟输入元件代码调用一个键盘事件;并执行与键盘事件关联的功能,该功能是与物理输入元件关联的功能。
[0015]在包括翻译层的映射功能实现的过程中,当物理输入元件被激活,执行与物理输入元件相关功能的步骤包括:往缓冲器中写入一个扫描代码,从缓冲器中取出该代码,利用一个修改过的翻译层把取出的扫描代码转换为一个原始的虚拟输入元件代码;把原始的虚拟输入元件代码转换为一个新的输入元件代码;用扫描代码和新的虚拟输入元件代码调用一个键盘事件;执行与键盘事件关联的功能,该功能是与物理输入元件关联的功能。
[0016]在另一个实现中,重新配置或重新映射一个软件应用程序或一类软件应用程序的方法包括:把排列在手持式电子设备上一个或多个物理输入元件与至少第一个可执行功能关联;并引起映射功能的改变,该映射功能的改变将一个或多个物理输入元件与第二可执行功能的关联变为一个或多个物理输入元件与第一可执行功能的关联,这样在一个软件应用程序或者一类软件应用程序中的一个软件应用程序运行过程中,当一个或多个物理输入元件被激活时,第一可执行功能就被配置且被启动。第二可执行功能通常是一个默认功能,通常是在一个或多个物理输入元件被按下或者激活时,由以默认状态下执行的软件应用程序所提供。
[0017]在另外的一个实现中,提供一种识别可用于与一个或多个物理输入元件关联的功能的图形用户界面。这个图形用户界面也可以用来识别软件应用,对于该软件应用,用户可选择将他的物理输入元件应用于功能关联。举个例子,该图形用户界面包括与物理输入元件相对应的输入元件图标,和与可执行功能相对应的功能图标。用户随后可以指定物理输入元件与功能关联。
[0018]本文所描述的技术有以下优点中的一个或多个。例如,更舒适和快捷的数据输入和设备控制成为可能,因为即使输入元件的位置还是保持在设备生产商预先确定的相同固定位置上,但是,对一个特定用户,一个或一类软件应用程序来说,与每个输入元件关联的功能或动作可被重映射到使用该特定应用程序时,位于该设备上用户能够更直接和方便访问和操作的输入元件上。这也可以潜在地减少重复性劳损。而且,本文所阐述的技术可能用来创造关于界面如何在不同的手持式电子设备和软件应用程序中表现的标准。此外,还能提供更多的功能。例如,在手机上,辅助键盘可能被用来仿真模拟控制使滚动更简单,或者D键区被用来模仿游戏的模拟控制。
[0019]下面所附的说明和附图就是用来阐述一种或多种实现的细节。其它特征和优点也将从下面的说明和附图,还有权利要求中得到体现。
附图说明
[0020]图1a和1b抽象地阐述了一个手持式电子设备上一种常规映射过程所涉及硬件和软件组件的概要。
[0021]图2阐述了一种和所公开的重映射技术一起使用的配置应用程序的实现过程。
[0022]图3描述了一个通过用户可配置键盘设备驱动程序来实现重映射技术的流程图。
[0023]图4描述了一个通过配置软件来更改手持式电子设备上的设备布局来实现重映射技术的流程图。
[0024]图5描述了一个通过用户可配置的翻译层来实现重映射技术的流程图。
[0025]同样的附图标记在各种不同的附图中表示同样的元件。
具体实施方式
[0026]以下公开的这种用户可配置的重映射技术的实现在WindowsMobile操作系统中描述,虽然这些技术可以很快很简单地用其它手持式电子设备操作系统比如Symbian和J2ME实现,并且可以用其它级别指令集,比如低级或者中间级的硬件指令或者芯片级指令实现。
[0027]图2阐述了一种和公开的重映射技术一起使用的配置应用程序的实现过程。这个配置应用程序212常驻于存储器或驻留在手持式电子设备200上的其他计算机可读介质或者手持式电子设备200外部的其他计算机可读介质中。电子设备200包括多个位于电子设备200的一个或多个表面上的多个物理输入元件204和一个显示器206,比如液晶显示器(LCD)。该配置应用程序212包括一个图形用户界面213,该界面包含输入元件图标214,而每个图标对应于一个物理输入元件204;功能图标216——代表用户为特定的输入元件图标214选定的功能;滚动条图标218——用户在可用的功能间选择时使用,比如,Shift1、Shift2、Shift3和Shift4功能;和菜单图标222、223(分别标有“退出(Quit)”和“保存(Save)”字样)。配置应用程序212是用来输入用户专用和/或类专用的配置设置,比如,映射一个选定的功能到一个选定的物理输入元件204。换句话说,配置应用程序212不需要包括一个图形用户界面,因为针对某特定类或者几类的应用程序软件的配置设置可能直接由应用程序开发者编成代码了。
[0028]在这个实现过程中,输入元件图标214是静态的,即,图标214的名称和外观都是用户不能更改的,但是,在其它实现过程中,图标214的名字和/或外观可能是动态的,即,可能根据用户所提供的名字、外形或其他标识而改变。输入元件图标214包括按钮1、按钮2、按钮3和按钮4,它们对应于用户所选择的物理输入元件204,即,用户可以选择任何一个物理输入元件204来对应输入元件图标214中的每一个。在这样的情况下,为了讨论的目的,可以假定用户选择了输入元件204a、204b、204c和204d来分别对应按钮1、按钮2、按钮3和按钮4。替代地,图形用户界面213可能包括更多或者更少的输入元件图标214或者甚至只包括一个输入元件图标214,其对应于手持式电子设备200上的每一个物理输入元件,这样就不需要用户来指定物理输入元件204和一个特定输入元件图标214的关联关系了。
[0029]功能图标216包括Shift1、Shift2、Shift3和Shift4功能,每一个对应于一个切换或是索引功能,该功能可能用来访问与文本输入应用(如电子邮件、文字处理、日历、联系人、任务)中一个特殊输入元件204关联的不同字符。例如,对一个在手持电子设备的大多数辅助键盘上都能找到的标有“9WXYZ”的输入元件204,Shift1功能代表从“9”开始,从左到右的一次切换或者索引。同样的,Shift2、Shift3和Shift4分别代表从数字“9”开始,从左到右的2次、3次和4次切换或者索引。所以,在文本输入中,为了输入字符“Z”,用户只需要按住与Shift4功能相关联的物理输入元件204,在这个例子中是物理输入元件204d,再同时或者在用户选择的预先确定的一个时间间隔内按下标有“9WXYZ”的物理输入元件204就可以了。这种输入技术,和其他利用切换或索引功能的输入技术,在2003年10月31号提交的题目为“Human Interface System”的共同待定申请10/699,555中更详细地描述。该申请在此完全引入本文作为参考。
[0030]替代地,功能图标可能代表切换或者索引在内的任何功能,比如,文本功能,如插入一个特殊字符;拨号功能,如开始或结束通话或快速拨电话号码;游戏功能,如定向移动、开火或音量;菜单选择或滚动功能;或者其他任何作为软件应用的一部分提供的功能,对该应用软件来说,重映射的物理输入元件204可用作与软件应用程序,比如,文本输入应用程序(如电子邮件、文字处理、日历、联系人、任务),游戏,音乐和滚动,相关联的一个接口。
[0031]菜单图标222(标有“退出(Quit)”字样)与物理输入元件204f相关联,而菜单图标223则与物理输入元件204g相关联。用户可以通过按下输入元件204f来选择退出图形用户界面212。同样的,用户可以通过按下输入元件204g来选择保存他已经输入的配置设置。
[0032]配置应用程序212用来创建用户专用和/或类专用的配置设置,该配置设置和本文所描述的重映射技术一起用来重映射物理输入元件204到所选定的功能,该功能可能是针对一个特定软件应用程序的,或特定的一类或几类软件应用程序的,或特定类中软件应用程序的一个子集的,或该手持式电子设备200上所有可用或运行的软件应用程序的。用户专用的配置设置保存在存储器或者其它计算机可读的介质中,这些介质在使用与所述设置配置,如用户专用和/或类专用的配置设置,或者任意其它配置设置,相关联的软件应用程序时可以访问。这些配置设置可由用户或者程序开发人员通过直接在手持式电子设备上的,和连接到手持式电子设备的计算机上的,或者是通过诸如环球网一样的因特网上的或者一些通讯模式的配置应用程序212输入。
[0033]图3描述了一个通过用户可配置的键盘设备驱动程序来实现重映射技术的流程图。用户可配置的键盘设备驱动程序通过使用图2中所描述的配置应用程序创建一个可配置的布局管理器来实现,所述可配置的布局管理器是键盘驱动组件MDD的一部分。这就是说,把扫描代码重映射为虚拟输入元件代码的软件功能基于包括配置应用程序提供的新扫描代码的用户专用配置是可以配置的。一旦用户输入并保存了如上描述的他的用户专用配置设置,那么,保存的设置将被存贮为Windows Mobile中注册表的一部分。在使用相关的软件应用程序时发生的映射过程中,修改过的键盘驱动组件MMD将访问这个注册表。这个重映射技术包括以下几个步骤:
[0034]在步骤320中,用户在手持式电子设备200上按下一个物理输入元件204。接着,在步骤322中,手持式电子设备204上的键盘控制器向该手持式电子设备204的缓冲区中写入一个扫描代码。在步骤325中,键盘驱动程序的PDD接到一个中断信号来从缓冲区中取出这个扫描代码。然后在步骤326中,键盘驱动程序的已修改的MDD在WindowsMobie的注册表中检查用户专用的配置设置。如果能在Windows Mobie的注册表中找到,键盘驱动程序的更改的MDD在步骤327中基于用户专用的配置设置将扫描代码转换或者映射成一个虚拟输入元件代码;否则,磁盘驱动组件MDD将根据正在执行的软件应用程序中的默认设置将扫描代码转换或者映射为虚拟输入元件代码。在步骤328中,键盘设备驱动程序用虚拟输入元件代码和扫描代码调用键盘事件“keybd_event”。在过程步骤330中,软件应用程序接收到带有虚拟输入元件代码和扫描代码的键盘事件。之后,应用程序软件执行虚拟输入元件代码所关联的功能。也就是说,所执行的功能是由用户指定的功能,并保存为用户专用配置设置的一部分。
[0035]图4描述了一个通过配置软件来更改手持式电子设备上的设备布局来实现重映射技术的流程图。设备布局是一种硬件特定和语言特定的键盘信息,该键盘信息包括从扫描代码到虚拟输入元件代码的转换。因此,一个手持式电子设备上可以有很多的设备布局。那就是说,相同的键盘设备驱动程序可以有针对不同语言的不同的设备或键盘布局。举个例子来说,一种语言的字符和口音也许不同于另一种语言,但是,输入元件和硬件却相同或者相近。上文根据图2所描述的配置软件可以通过程序性地修改键盘设备驱动程序的代码翻译来实现为每台手持式电子设备的每种语言修改设备布局。下面我们将讨论这种基于修改的设备布局而发生的重映射技术或转换步骤。
[0036]在步骤420中,用户按下手持式电子设备204上的一个物理输入元件204。那么在步骤422中,手持式电子设备204上的键盘控制器往手持式电子设备204上的缓冲区中写入一个扫描代码。在步骤425中,键盘驱动程序的PDD接收到一个中断来从该缓冲区中取出扫描代码,然后在步骤436中,键盘驱动程序的MDD使用修改后的设备布局把这个扫描代码转换或翻译成为一个虚拟的输入元件代码。接下来,在步骤428中,键盘设备驱动程序用虚拟输入元件代码和扫描代码调用键盘事件“keybd_event”。在翻译步骤430中,软件应用程序接收到这个带有虚拟输入元件代码和扫描代码的键盘事件。应用程序软件执行与虚拟输入元件代码相关联的功能。也就是说,所执行的功能是用户指定的功能,并且作为用户专用配置设置和修改过的设备布局的一部分被保存。
[0037]图5描述了一个通过一个用户可配置的翻译层来实现重映射技术的流程图。用户可配置的翻译层通过使用参考图2描述的配置应用程序来实现。通常,这种重映射技术映射物理输入元件204的按键动作到虚拟输入元件代码,然后把这个虚拟输入元件代码映射成一个用户专用的虚拟输入元件代码。这个重映射技术的步骤如下。在步骤520中,用户按下手持式电子设备204上的一个物理输入元件204。接着在步骤522中,手持式电子设备204上的键盘控制器往手持式电子设备204的缓冲区中写入一个扫描代码。在步骤525中,键盘驱动组件PDD接收到一个中断来从缓冲区中取出扫描代码。然后在步骤532中,键盘驱动程序的MDD把这个扫描代码转换成为一个虚拟的输入元件代码。接下来,在步骤534中,一个修改过的键盘驱动程序的翻译层将步骤532中的虚拟输入元件转换为一个新的虚拟输入元件代码。在步骤528中,键盘设备驱动程序用新的虚拟输入元件代码和扫描代码调用键盘事件“keybd_event”。在过程步骤530中,软件应用程序接收到这个带有这个新的虚拟输入元件代码和扫描代码的键盘事件。应用程序软件执行与新虚拟输入元件代码关联的功能。也就是说,所执行的功能是用户指定的功能,并且作为用户专用的配置设置的一部分被保存。
[0038]图6是一个方块图,它阐明了用作诸如蜂窝网络的系统一部分的一个手持式电子设备,在该系统中本文描述的配置应用程序和重映射技术能够实现。手持式电子设备600包括一个总线602或者其它用来互通信息的通信机构,以及一个与总线602相连,能处理信息的处理器604。手持式电子设备600同时也包括一个主存储器606,比如和总线连接的随机存取存储器(RAM)或者其它动态存储设备,用来存储信息和处理器604要执行的指令。主存储器606也被用于存储临时变量或者处理器执行待执行指令时的其它中间信息。手持式电子设备600还包括了一个只读存储器(ROM)608或其它静态存储设备或连接到总线602的非易失性存储器来存储静态信息和处理器604的指令。还提供和总线602相连的用来存储信息和指令的存储设备610,比如一个快速存储器(闪存)设备,一个多媒体卡,或者一个安全数字卡。
[0039]手持式电子设备600通过总线602或者诸如蓝牙等无线技术和一个用来给用户显示信息的,诸如液晶显示屏(LCD)之类的显示器612相连接。一个包括有诸如按键,按钮,触摸板,触摸屏,旋转拨号盘,加速计,方向垫,和压敏(如压敏电阻或压电)元件等的物理输入元件的输入设备614和总线602相连接,用于向处理器604传递信息和指令选择。另一种用户输入设备是光标控件616,它可能包括其它类型的输入元件比如鼠标、跟踪球、加速计、键开关、旋转拨号盘、滑块,或者诸如方向垫的光标定位键,来为处理器传递方向信息和命令选择或控制显示器612上的光标或其它动作(例如玩游戏时)。这种输入设备通常在两个坐标轴有两个自由度,第一个轴(如x)和第二个轴(如y),允许这个设备在一个平面内定位。输入设备614中的输入元件也可以提供方向信息和光标控制功能。显示器612,输入设备614和光标控件616中的一个或者多个可以集成在手持式电子设备600内或者集成在手持式电子设备的外部设备上。
[0040]本文所描述的配置应用程序和输入元件的重映射技术可以用在手持式电子设备上600。根据一种实现,输入元件的重映射由手持式电子设备600响应处理器604执行一个或者多个存储在主存储器606上的指令的一个或多个序列提供。这些指令可从诸如存储设备610或者缓冲器或者寄存器等其它计算机可读介质读入主存储器606。存储在主存储器606中指令序列的执行引发处理器604执行此处所描述的处理步骤。在替代的实现中,硬连线电路可能用来代替软件指令或者与软件指令结合,来实现输入元件重映射技术。因此,本文所描述的实现方法不限于任意指定的硬件电路和软件的组合。
[0041]本文中所用的术语“计算机可读介质”指任何参与为处理器提供执行指令的介质。这种介质以很多形式出现,包括但不限于非易失性介质,易失性介质和传输介质。非易失性介质包括,例如,快速存储器或光盘或磁盘,如存储设备610。易失性介质包括动态存储器,比如主存储器606。传输介质包括铜线和光纤,它们包括构成总线602的那些线。传输介质也可以以声波,光波的形式出现,比如无线电波和红外线数据通信时产生的那些。
[0042]常用的计算机可读介质形式包括,例如,快速存储设备,SIMM卡,硬盘或其它磁性介质,CD/DVD、DVD或其它光学介质,随机存取存储器(RAM)、可编程只读存储器(PROM)、电可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)、快擦可编程只读存储器(FLASH-EPROM)或任何其它存储芯片或者磁盘,本文所描述的载波或其他计算机可读的介质。
[0043]携带处理器604要执行的一个或多个指令的一个或多个序列可能涉及多种计算机可读介质。例如,指令一开始可能由远程计算机的磁盘携带。那台远程计算机可以装载指令到它的动态存储器并把指令和其它数据通过因特网、电话网络、无线网络或任何其它通讯方式或计算机网络来发送。无线网络包括蓝牙、WiMax、各种802.11标准的应用网络、或GSM/GPRS、W-CDMA(UTMS)、IS95、CDMA2000 lx、或CDMA lx EV-DO蜂窝网络或者其它形式的蜂窝网络。
[0044]手持式电子设备600也包括一个与总线602相连的通信接口618。通信接口618与一个和局域网622相连接的一个网络链路620连接,提供一个双向数据通信。例如,通信接口618也许是一个综合业务数字网(ISDN)卡,一个宽带综合业务数字网(B-ISDN),一个电话或者无线调制解调器,提供数据通信或者任何其它普通技术人员已知的通信接口。另一个例子是,通信接口618也许是一个局域网(LAN)卡,提供到兼容局域网的数据通信连接。无线链接也可以被实现。在任何一种实现中,通信接口618发送和接收带有代表着各种形式的信息的数字数据流的电、电磁或光信号。例如,通信接口618可以接收远程计算机发出的指令和数据。通信接口618把这些指令和/或数据放在总线602上。总线602把这些数据带到主存储器606上,然后处理器604从主存储器取得并执行指令。这些主存储器606收到的指令要么在处理器604执行前,要么在处理器604执行后被任选地存储在存储设备610上。
[0045]网络链路620通常通过一个或多个网络来为其它数据设备提供数据通信。举个例子来说,网络链路620可以通过局域网622提供到主机624或者因特网服务提供商(ISP)626运行的数据设备的连接。因特网服务提供商626又通过全球分组报文通信网络628,即现在所指的“因特网”628,来提供数据通信服务。局域网622和因特网628都是用电、电磁或光信号来携带数字数据流。通过各种网络的信号,网络链路620上的信号和通过通信接口618的信号携带送往和发自手持式电子设备600的数字数据,它们是典型的传送信息的载波形式。
[0046]手持式电子设备600可以通过(多个)网络、网络链路620和通信接口618,发送消息和接收数据,包括程序代码。在因特网的例子中,服务器630可能通过因特网628,因特网服务提供商626,局域网622和通信接口618来传输某个应用程序的请求代码。在一个方面,一个这种下载的应用程序提供了本文所描述的输入元件的重映射。当处理器604接收到这个代码时,就执行它,和/或把它存储在存储设备610或者其它非易失性存储设备中,以便以后执行。这样一来,手持式电子设备600可以从载波形式的信息中获得应用代码。
[0047]我们已经描述了多种实现。其他的实现则会包括不同的或者额外的特性。例如,在有些实现中,通过解释输入元件的动作或激活的顺序和活动间隔,或者其它可以解释的来自输入元件按键的组合或活动信息,物理输入元件的组合可能被映射成为执行某个特定的功能,比如滚动。也就是说,物理输入元件的按键顺序和按键间隔可能会和一个功能相关联,该功能将数字控制转换为模拟控制。
[0048]例如,在一个常规的蜂窝电话中,形成了电话上键区的某一列物理输入元件,如包括2,5,8和0的中间列,可能被映射成滚动功能。在这个实现中,按“8”这个输入元件可能起动光标或滑块向下滚动,按下“0”这个输入元件可能加速光标或滑块向下滚动。同样的,按下“5”这个输入元件可能起动光标或滑块向上滚动,按下“2”这个输入元件可能加速光标或滑块向上滚动。
[0049]另一个例子,一些手持式电子设备使用加速计和相关的电路来处理全球定位卫星系统(GPS)信息。这里所阐述的重映射技术可以利用GPS信息结合物理输入元件的按键来解释菜单区域,网页中的导航或者列表中的导航。例如,用户使这个设备物理上向下倾斜可以和向下滚动功能相关联,而用户使这个设备物理上向上倾斜可以和向上滚动功能相关联。因此,其它应用都在所附权利要求的范围内。

Claims (58)

1.一种重映射手持式电子设备的方法,所述方法包括:
接收一个软件应用或一类软件应用的多个配置设置,其中所述配置设置包括至少一个物理输入元件,这个元件关联至少一个功能;
基于所定义的多个配置设置,修改映射功能;和
当所述至少一个物理输入元件在所述软件应用或者所述这类软件应用中的一个软件应用的运行中被激活时,执行与所述至少一个物理输入元件相关联的至少一个功能。
2.根据权利要求1所述的方法,其中所述映射功能包括键盘设备驱动程序。
3.根据权利要求2所述的方法,其中当所述至少一个物理输入元件在所述软件应用或者所述这类软件应用中的一个软件应用的运行中被激活时,执行与所述至少一个物理输入元件相关联的至少一个功能包括:
当所述至少一个物理输入元件在所述软件应用或者所述这类软件应用中的一个软件应用的运行中被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
使用修改过的键盘设备驱动程序把取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能即所述至少一个功能。
4.根据权利要求3所述的方法,其中所述至少一个功能包括至少一个切换功能。
5.根据权利要求1所述的方法,其中所述映射功能包括设备布局。
6.根据权利要求5所述的方法,其中当所述至少一个物理输入元件在所述软件应用或者所述这类软件应用中的一个软件应用的运行中被激活时,执行与所述至少一个物理输入元件相关联的至少一个功能包括:
当所述至少一个物理输入元件在所述软件应用或所述这类软件应用中的某个软件应用的运行中被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
使用修改过的设备布局把所取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用键盘事件;以及
执行与所述键盘事件关联的功能,其中所述功能即所述至少一个功能。
7.根据权利要求6所述的方法,其中所述至少一个功能包括至少一个切换功能。
8.根据权利要求1所述的方法,其中所述映射功能是键盘设备驱动程序的翻译层。
9.根据权利要求8所述的方法,其中当所述至少一个物理输入元件在所述软件应用或者所述这类软件应用中的一个软件应用的运行中被激活时,执行与所述至少一个物理输入元件相关联的至少一个功能包括:
当所述至少一个物理输入元件在所述软件应用或所述这类软件应用中的某个软件应用的运行中被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
把所述扫描代码转换为原始虚拟输入元件代码;
使用修改过的键盘设备驱动程序的翻译层把所述原始虚拟输入元件代码转换为一个新输入元件代码;
通过所述扫描代码和新输入元件代码调用键盘事件;以及
执行与所述键盘事件所关联的功能,其中所述功能即所述至少一个功能。
10.根据权利要求9所述的方法,其中所述至少一个功能包括至少一个切换功能。
11.一种方法,其包括:
把排列在手持式电子设备上的至少一个物理输入元件关联到与一个软件应用或一类软件应用相关联的第一可执行功能;
引起映射功能的改变,该映射功能的改变将所述至少一个物理输入元件与第二可执行功能的关联变为所述至少一个物理输入元件与第一可执行功能的关联,这样在所述软件应用程序或者所述这类软件应用程序中的一个软件应用程序的运行过程中,当所述至少一个物理输入元件被激活时,所述第一可执行功能就被配置从而启动。
12.根据权利要求11所述的方法,其中所述映射功能包括键盘设备驱动程序。
13.根据权利要求12所述的方法,其中所述第一可执行功能包括一个切换功能,而所述第二可执行功能是与所述软件应用相关联的默认功能。
14.根据权利要求11所述的方法,其中所述映射功能包括设备布局。
15.根据权利要求14所述的方法,其中所述第一可执行功能包括一个切换功能,而第二可执行功能是与所述软件应用相关联的默认功能。
16.根据权利要求11所述的方法,其中所述映射功能是一个键盘设备驱动程序的翻译层。
17.根据权利要求16所述的方法,其中所述第一可执行功能包括一个切换功能,而第二可执行功能是与所述软件应用相关联的默认功能。
18.一种方法,其包括:
提供识别多个物理输入元件和多个功能的图形用户界面;
从识别第一物理输入元件和第一功能的所述图形用户界面接收一个用户输入;
基于所述用户输入修改键盘设备驱动程序,将所述第一物理输入元件和第二功能的关联修改成所述第一物理输入元件和第一功能的关联;并且
在激活所述第一物理输入元件时,启动所述第一功能。
19.根据权利要求18所述的方法,其中提供识别多个物理输入元件和多个功能的图形用户界面进一步包括识别一类软件应用。
20.根据权利要求19所述的方法,其中在激活所述第一物理输入元件时启动所述第一功能发生在所述这类软件应用中某一个软件应用的运行过程中。
21.根据权利要求18所述的方法,其中所述多个功能包括至少一个切换功能。
22.根据权利要求18所述的方法,其中所述键盘设备驱动程序包括一个模型设备驱动程序。
23.根据权利要求18所述的方法,其中在激活所述第一物理输入元件时启动所述第一功能包括:
在激活所述第一物理输入元件时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
利用修改过的键盘设备驱动程序把所述扫描代码转换为第一虚拟输入元件代码;
通过所述扫描代码和所述第一虚拟输入元件代码,调用一个键盘事件;以及
执行与所述键盘事件关联的功能,其中所述功能是所述第一功能。
24.一种方法,其包括:
提供一个识别多个物理输入元件和多个功能的图形用户界面;
通过识别第一物理输入元件和第一功能的所述图形用户界面接收一个用户输入;
修改设备布局,将所述第一物理输入元件和第二功能的关联修改为所述第一物理输入元件和第一功能的关联;以及
在激活所述第一物理输入元件时,启动所述第一功能。
25.根据权利要求24所述的方法,其中提供一个识别多个物理输入元件和多个功能的图形用户界面进一步包括识别一类软件应用。
26.根据权利要求25所述的方法,其中在激活所述第一物理输入元件时启动第一功能发生在所述这类软件应用中某一个软件应用的运行过程中。
27.根据权利要求24所述的方法,其中所述多个功能包括多个切换功能。
28.根据权利要求24所述的方法,其中将设备布局从所述第一物理输入元件和第二功能的关联修改为所述第一物理输入元件和所述第一功能的关联包括:
选择一个手持式电子设备的设备布局;以及
基于所述用户输入,将扫描代码改变为与所述第一物理输入相关联的虚拟输入元件代码。
29.根据权利要求24所述的方法,其中在激活所述第一物理输入元件时,启动第一功能包括:
在激活所述第一物理输入元件时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
基于修改过的设备布局,把所述扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是所述第一功能。
30.一种方法,其包括:
提供一个识别多个物理输入元件和多个功能的图形用户界面;
通过识别第一物理输入元件和第一功能的所述图形用户界面接收一个用户输入;
基于所述用户输入修改键盘设备驱动程序的翻译层,以提供从原始虚拟输入元件代码到与所述第一功能关联的新虚拟输入元件代码的映射;以及
基于修改过的翻译层,在所述第一物理输入元件被激活时启动所述第一功能。
31.根据权利要求30所述的方法,其中提供一个识别多个物理输入元件和多个功能的图形用户界面进一步包括识别一类软件应用。
32.根据权利要求31所述的方法,其中当第一物理输入元件被激活时,启动第一功能发生在所述这类软件应用中某一个软件应用的运行过程中。
33.根据权利要求30所述的方法,其中所述多个功能包括至少一个切换功能。
34.根据权利要求30所述的方法,其中基于修改过的翻译层,当第一物理输入元件被激活时启动第一功能包括:
在所述第一物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
把所述扫描代码转换为原始虚拟输入元件代码;
利用修改过的翻译层把所述原始虚拟输入元件代码转换为一个新的输入元件代码;
通过所述扫描代码和所述新的虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件关联的功能,其中所述功能是所述第一功能。
35.一种重映射手持式电子设备上多个物理输入元件的方法,所述方法包括:
提供一个包括多个输入元件图标和多个功能图标的图形用户界面,每个输入元件图标对应于所述多个物理输入元件中的一个,每个功能图标对应于多个可执行功能中的一个,其中所述多个输入元件图标中每一个和所述多个功能图标相关联;
通过图形用户界面选择所述多个输入元件图标之一以及相应的所述多个功能图标之一来接收用户输入;
基于所述用户输入修改映射功能,以提供对应于所选择的输入元件图标的物理输入元件至对应于所选择的功能图标的可执行功能的映射;以及
当所述物理输入元件被激活时,启动映射至所述物理输入元件的所述可执行功能。
36.根据权利要求35所述的方法,其中提供图形用户界面进一步包括一类软件应用图标,每一个软件应用图标对应于可运行于所述手持式电子设备上的一类软件应用。
37.根据权利要求36所述的方法,其中当所述物理输入元件被激活时启动映射至所述物理元件的可执行功能发生在所述这类软件应用中某一个软件应用的运行过程中。
38.根据权利要求35所述的方法,其中所述多个可执行功能包括多个切换功能。
39.根据权利要求35所述的方法,其中所述映射功能包括键盘设备驱动程序。
40.根据权利要求39所述的方法,其中当所述物理输入元件被激活时,启动映射至所述物理输入元件的所述可执行功能包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
使用修改过的键盘设备驱动程序把所取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是所述可执行功能。
41.根据权利要求35所述的方法,其中所述映射功能中包括设备布局。
42.根据权利要求41所述的方法,其中当所述物理输入元件被激活时,启动映射至所述物理输入元件的可执行功能包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
使用修改过的设备布局把所取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件所关联的功能,其中所述功能是所述可执行功能。
43.根据权利要求35所述的方法,其中基于所述用户输入修改映射功能来提供与所选择的输入元件图标相对应的物理输入元件至与所选择的功能图标相对应的可执行功能的映射包括:基于所述用户输入修改键盘设备驱动程序的翻译层来提供从原始虚拟输入元件代码到新的虚拟输入元件代码的映射,所述新的虚拟输入元件代码与所选择的功能图标相对应的可执行功能关联。
44.根据权利要求43所述的方法,其中当所述物理输入元件被激活时启动所述可执行功能,包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
把所述扫描代码转换为原始虚拟输入元件代码;
利用修改过的翻译层把所述原始虚拟输入元件代码转换为所述新的输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是对应于所述功能图标的可执行功能。
45.根据权利要求44所述的方法,其中所述物理输入元件的激活包括通过定位笔或者用户的拇指以外的手指或拇指按下所述物理输入元件。
46.一种计算机可读介质,其中存储了一个或多个指令序列,用于把手持式电子设备上的多个物理输入元件之一重映射至与软件应用关联的多个可执行功能之一,其中由一个或多个处理器对所述一个或多个指令序列的执行引起所述一个或多个处理器执行操作,包括:
接收对应于所述多个物理输入元件之一的所述多个可执行功能之一的用户选择;
基于所述用户输入修改映射功能,把所选择的可执行功能映射至所述对应的物理输入元件;以及
当所述对应的物理输入元件被激活时,启动所选择的可执行功能。
47.根据权利要求46所述的计算机可读介质进一步包括:提供识别多个物理输入元件和多个可执行功能的图形用户界面。
48.根据权利要求47所述的计算机可读介质,其中所述图形用户界面包括:
多个输入元件图标,每个输入元件图标对应于所述多个物理输入元件之一;
多个功能图标,每个功能图标对应于多个可执行功能之一,其中所述多个输入元件图标中的每一个都与所述多个功能图标相关联。
49.根据权利要求48所述计算机可读介质,其中提供图形用户界面进一步包括:识别一类软件应用图标,每个软件应用图标对应于在所述手持式电子设备上可运行的一类软件应用。
50.根据权利要求49所述的方法,其中当所述物理输入元件被激活时启动所选择的可执行功能发生在所述这类软件应用中某一个软件应用的运行过程中。
51.根据权利要求46所述的方法,其中所述多个可执行功能包括多个切换功能。
52.根据权利要求46所述的方法,其中所述映射功能包括键盘设备驱动程序。
53.根据权利要求52所述的方法,其中所述对应的物理输入元件被激活时启动所选择的可执行功能包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
利用所修改的键盘设备驱动程序,把所取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是所选择的可执行功能。
54.根据权利要求46所述的方法,其中所述映射功能包括设备布局。
55.根据权利要求54所述的方法,其中所述相应的物理输入元件被激活时启动所选择的可执行功能,包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
利用修改过的设备布局把所取出的扫描代码转换为虚拟输入元件代码;
通过所述扫描代码和所述虚拟输入元件代码调用键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是所选择的可执行功能。
56.根据权利要求46所述的方法,其中基于所述用户输入修改映射功能来把所选择的可执行功能映射到所述对应的物理输入元件包括:
基于所述用户输入修改键盘设备驱动程序的翻译层,来提供从原始虚拟输入元件代码到新的虚拟输入元件代码的映射,所述新的虚拟输入元件代码与所选择的可执行功能相关联。
57.根据权利要求56所述的方法,其中所述物理输入元件被激活时启动映射到所述物理输入元件的所述可执行功能,包括:
当所述物理输入元件被激活时,往缓冲器中写入一个扫描代码;
从所述缓冲器中取出所述扫描代码;
把所述扫描代码转换为原始虚拟输入元件代码;
利用修改过的翻译层把所述原始虚拟输入元件代码转换为新的输入元件代码;
通过所述扫描代码和所述新的虚拟输入元件代码调用一个键盘事件;以及
执行与所述键盘事件相关联的功能,其中所述功能是所述所选择的可执行功能。
58.根据权利要求46所述的方法,其中所述物理输入元件的激活包括按下所述物理输入元件。
CNA2006800403699A 2005-09-06 2006-09-05 一种重映射手持式设备的输入元件的方法 Pending CN101297261A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/221,412 US7669770B2 (en) 2005-09-06 2005-09-06 Method of remapping the input elements of a hand-held device
US11/221,412 2005-09-06

Publications (1)

Publication Number Publication Date
CN101297261A true CN101297261A (zh) 2008-10-29

Family

ID=37734971

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800403699A Pending CN101297261A (zh) 2005-09-06 2006-09-05 一种重映射手持式设备的输入元件的方法

Country Status (7)

Country Link
US (1) US7669770B2 (zh)
EP (1) EP1922601A2 (zh)
JP (1) JP2009507452A (zh)
KR (1) KR100942007B1 (zh)
CN (1) CN101297261A (zh)
CA (1) CA2621742A1 (zh)
WO (1) WO2007030466A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068081A (zh) * 2015-08-31 2015-11-18 江苏徕兹光电科技股份有限公司 测距仪及测距仪的控制方法
CN105430141A (zh) * 2015-12-02 2016-03-23 海南易建科技股份有限公司 一种肩咪快捷按键功能实现方法及智能对讲机
CN106981278A (zh) * 2016-01-15 2017-07-25 易弹信息科技(上海)有限公司 一种智能钢琴大屏显示系统功能操控方法及系统
CN109643170A (zh) * 2016-08-30 2019-04-16 微软技术许可有限责任公司 具有用于外部化控件的配件连接器的控制器

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617821B1 (ko) * 2005-02-24 2006-08-28 삼성전자주식회사 사용자 인터페이스 장치 및 방법
WO2006100540A1 (en) * 2005-03-23 2006-09-28 Nokia Corporation Method and mobile terminal device for mapping a virtual user input interface to a physical user input interface
US8689147B2 (en) 2005-10-07 2014-04-01 Blackberry Limited System and method for using navigational and other commands on a mobile communication device
US8142287B2 (en) * 2005-10-11 2012-03-27 Zeemote Technology Inc. Universal controller for toys and games
KR100882324B1 (ko) * 2006-04-06 2009-02-11 (주)모비언스 키보드 지원 문자 입력 장치
JP4386059B2 (ja) * 2006-09-26 2009-12-16 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、情報送信方法及び画像処理システム
US20080165035A1 (en) * 2007-01-10 2008-07-10 Bhella Kenneth S Method and System for Customizing Keyboard Map Variants
KR101135898B1 (ko) * 2007-12-05 2012-04-13 삼성전자주식회사 리모트 컨트롤러 및 그 제어방법과 이를 가지는영상처리장치
US20090187847A1 (en) * 2008-01-18 2009-07-23 Palm, Inc. Operating System Providing Consistent Operations Across Multiple Input Devices
US8281046B2 (en) 2008-07-03 2012-10-02 Steelseries Aps System and method for distributing user interface device configurations
US7925797B2 (en) * 2008-07-03 2011-04-12 Steelseries Hq System and method for distributing user interface device configurations
US8402391B1 (en) * 2008-09-25 2013-03-19 Apple, Inc. Collaboration system
US8930655B2 (en) * 2009-01-19 2015-01-06 Microsoft Corporation Transient storage device configuration silo
ES2360711B1 (es) * 2009-02-25 2012-05-08 Telefónica, S.A. Método y sistema y para la adaptación y telegestión de terminales móviles.
US20100269038A1 (en) * 2009-04-17 2010-10-21 Sony Ericsson Mobile Communications Ab Variable Rate Scrolling
JP4528866B1 (ja) * 2009-04-28 2010-08-25 株式会社東芝 電子機器
US20120007887A1 (en) 2010-07-08 2012-01-12 Shih-Min Chou Digital manipulator for inverter and image display method for digital manipulator
US20120079532A1 (en) * 2010-09-29 2012-03-29 Sony Corporation Techniques for developing a television user interface for a secondary device
US20120079533A1 (en) * 2010-09-29 2012-03-29 Sony Corporation Techniques for developing a customized television user interface for a secondary device
US8479994B2 (en) * 2011-09-14 2013-07-09 Metrologic Instruments, Inc. Individualized scanner
US9354748B2 (en) 2012-02-13 2016-05-31 Microsoft Technology Licensing, Llc Optical stylus interaction
CN103294977A (zh) * 2012-03-01 2013-09-11 鑫铨电脑股份有限公司 手持式电子装置
US9075566B2 (en) 2012-03-02 2015-07-07 Microsoft Technoogy Licensing, LLC Flexible hinge spine
US9064654B2 (en) 2012-03-02 2015-06-23 Microsoft Technology Licensing, Llc Method of manufacturing an input device
USRE48963E1 (en) 2012-03-02 2022-03-08 Microsoft Technology Licensing, Llc Connection device for computing devices
US9460029B2 (en) 2012-03-02 2016-10-04 Microsoft Technology Licensing, Llc Pressure sensitive keys
US9870066B2 (en) 2012-03-02 2018-01-16 Microsoft Technology Licensing, Llc Method of manufacturing an input device
US8935774B2 (en) 2012-03-02 2015-01-13 Microsoft Corporation Accessory device authentication
US8873227B2 (en) 2012-03-02 2014-10-28 Microsoft Corporation Flexible hinge support layer
US9360893B2 (en) 2012-03-02 2016-06-07 Microsoft Technology Licensing, Llc Input device writing surface
US9426905B2 (en) 2012-03-02 2016-08-23 Microsoft Technology Licensing, Llc Connection device for computing devices
US20130300590A1 (en) 2012-05-14 2013-11-14 Paul Henry Dietz Audio Feedback
US9302182B2 (en) * 2012-05-23 2016-04-05 Side-Kick Ltd Method and apparatus for converting computer games between platforms using different modalities
US9684382B2 (en) 2012-06-13 2017-06-20 Microsoft Technology Licensing, Llc Input device configuration having capacitive and pressure sensors
US20130346636A1 (en) * 2012-06-13 2013-12-26 Microsoft Corporation Interchangeable Surface Input Device Mapping
US9073123B2 (en) 2012-06-13 2015-07-07 Microsoft Technology Licensing, Llc Housing vents
US9459160B2 (en) 2012-06-13 2016-10-04 Microsoft Technology Licensing, Llc Input device sensor configuration
US9063693B2 (en) 2012-06-13 2015-06-23 Microsoft Technology Licensing, Llc Peripheral device storage
TW201407433A (zh) * 2012-08-09 2014-02-16 jin-xiong Chu 觸摸式旋鈕開關
US8964379B2 (en) 2012-08-20 2015-02-24 Microsoft Corporation Switchable magnetic lock
US9268364B2 (en) 2012-08-31 2016-02-23 Trewgrip, Llc Ergonomic data entry device
US9176538B2 (en) 2013-02-05 2015-11-03 Microsoft Technology Licensing, Llc Input device configurations
US10578499B2 (en) 2013-02-17 2020-03-03 Microsoft Technology Licensing, Llc Piezo-actuated virtual buttons for touch surfaces
US9448631B2 (en) 2013-12-31 2016-09-20 Microsoft Technology Licensing, Llc Input device haptics and pressure sensing
US20150202533A1 (en) * 2014-01-21 2015-07-23 Nvidia Corporation Mapping touchscreen gestures to ergonomic controls across application scenes
US10120420B2 (en) 2014-03-21 2018-11-06 Microsoft Technology Licensing, Llc Lockable display and techniques enabling use of lockable displays
US9436295B2 (en) * 2014-03-28 2016-09-06 Intel Corporation Alternate dynamic keyboard for convertible tablet computers
CN105224858A (zh) 2014-06-05 2016-01-06 阿里巴巴集团控股有限公司 一种密码输入界面显示方法及系统
US10146330B2 (en) 2014-06-18 2018-12-04 Matthew Swan Lawrence Systems and methods for character and command input
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US9424048B2 (en) 2014-09-15 2016-08-23 Microsoft Technology Licensing, Llc Inductive peripheral retention device
US9250712B1 (en) * 2015-03-20 2016-02-02 Hand Held Products, Inc. Method and application for scanning a barcode with a smart device while continuously running and displaying an application on the smart device display
US10416799B2 (en) 2015-06-03 2019-09-17 Microsoft Technology Licensing, Llc Force sensing and inadvertent input control of an input device
US10222889B2 (en) 2015-06-03 2019-03-05 Microsoft Technology Licensing, Llc Force inputs and cursor control
WO2017121049A1 (en) 2016-01-15 2017-07-20 Findpiano Information Technology (Shanghai) Co., Ltd. Piano system and operating method thereof
US10061385B2 (en) 2016-01-22 2018-08-28 Microsoft Technology Licensing, Llc Haptic feedback for a touch input device
WO2017188839A1 (en) * 2016-04-28 2017-11-02 Yota Devices Ipr Limited Mobile device comprising display and a hardware power button
US10086267B2 (en) 2016-08-12 2018-10-02 Microsoft Technology Licensing, Llc Physical gesture input configuration for interactive software and video games
US20180143800A1 (en) * 2016-11-22 2018-05-24 Microsoft Technology Licensing, Llc Controls for dictated text navigation
KR102539578B1 (ko) 2018-02-19 2023-06-05 삼성전자주식회사 어플리케이션의 기능을 매핑하는 방법 및 그 전자 장치
US11216065B2 (en) * 2019-09-26 2022-01-04 Lenovo (Singapore) Pte. Ltd. Input control display based on eye gaze
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912462A (en) * 1982-07-29 1990-03-27 Sharp Kabushiki Kaisha Letter input device for electronic word retrieval device
US4891777A (en) * 1983-05-11 1990-01-02 The Laitram Corporation Single hand keyboard arrays providing alphanumeric capabilities from twelve keys
GB8423427D0 (en) * 1984-09-17 1984-10-24 Jones P S Music synthesizer
JPS62258136A (ja) * 1986-04-30 1987-11-10 Mazda Motor Corp エンジンの燃料供給制御装置
US4823311A (en) 1986-05-30 1989-04-18 Texas Instruments Incorporated Calculator keyboard with user definable function keys and with programmably alterable interactive labels for certain function keys
US4896554A (en) * 1987-11-03 1990-01-30 Culver Craig F Multifunction tactile manipulatable control
WO1991005303A1 (de) 1989-09-28 1991-04-18 Biller Kurt W Tastatur zur dateneingabe
US6005496A (en) * 1991-04-10 1999-12-21 Kinesis Corporation Ergonomic keyboard apparatus
US5189416A (en) * 1991-04-29 1993-02-23 Walker-Estes Corporation Chordal keyboard method and apparatus
US5365589A (en) * 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems
JP3199130B2 (ja) * 1992-03-31 2001-08-13 パイオニア株式会社 3次元座標入力装置
AR247303A1 (es) 1992-08-21 1994-11-30 Gilligan Federico Gustavo Y Fa Nuevo teclado de computacion
US5824931A (en) * 1993-03-12 1998-10-20 Musacus International Limited Electronic information aid
US5432510A (en) * 1993-03-22 1995-07-11 Matthews; Walter S. Ambidextrous single hand chordic data management device
US5612690A (en) 1993-06-03 1997-03-18 Levy; David Compact keypad system and method
US5973621A (en) * 1993-06-03 1999-10-26 Levy; David Compact keyed input device
US5473325A (en) * 1993-08-11 1995-12-05 Mcalindon; Peter J. Ergonomic human-computer interface apparatus and method
US5523754A (en) * 1993-09-20 1996-06-04 International Business Machines Corporation Method and apparatus for automatic keyboard configuration by layout
US5515305A (en) * 1993-12-09 1996-05-07 Dell Usa, L.P. PDA having chord keyboard input device and method of providing data thereto
US5900864A (en) * 1994-05-23 1999-05-04 Australian Institute Of Marine Science Human/machine interface for computing devices
US5782642A (en) * 1995-12-19 1998-07-21 Goren; Michael Interactive video and audio display system network interactive monitor module interface
US6184804B1 (en) * 1996-01-26 2001-02-06 Orang-Otang Computers, Inc. Key palette
GB2314179B (en) * 1996-06-12 1998-05-20 John Quentin Phillipps Portable electronic apparatus
US5859629A (en) * 1996-07-01 1999-01-12 Sun Microsystems, Inc. Linear touch input device
US6297752B1 (en) * 1996-07-25 2001-10-02 Xuan Ni Backside keyboard for a notebook or gamebox
US6115028A (en) * 1996-08-22 2000-09-05 Silicon Graphics, Inc. Three dimensional input system using tilt
US6232956B1 (en) * 1997-02-27 2001-05-15 Spice Technologies, Inc. OHAI technology user interface
DE19718711C1 (de) * 1997-05-02 1998-12-03 Easyphone Gmbh Mobilfunkgerät mit verringertem Tastensatz
US6084576A (en) * 1997-09-27 2000-07-04 Leu; Neng-Chyang User friendly keyboard
TW401598B (en) * 1997-11-27 2000-08-11 United Microelectronics Corp The manufacture method of hemispherical grain silicon (HSG-Si)
DE19757933A1 (de) 1997-12-27 1998-10-01 Lei Sun Ergonomische, drahtlose, multifunktionale und kompakte Eingabe- und Anzeigevorrichtung
US6919879B2 (en) * 1998-06-26 2005-07-19 Research In Motion Limited Hand-held electronic device with a keyboard optimized for use with the thumbs
US6512511B2 (en) * 1998-07-20 2003-01-28 Alphagrip, Inc. Hand grippable combined keyboard and game controller system
US6760013B2 (en) * 1998-07-20 2004-07-06 Alphagrip, Inc. Hand held gaming and data entry system
USRE43082E1 (en) * 1998-12-10 2012-01-10 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US6219731B1 (en) * 1998-12-10 2001-04-17 Eaton: Ergonomics, Inc. Method and apparatus for improved multi-tap text input
US6320942B1 (en) * 1998-12-31 2001-11-20 Keytouch Corporation Directionally-mapped, keyed alpha-numeric data input/output system
US6377685B1 (en) * 1999-04-23 2002-04-23 Ravi C. Krishnan Cluster key arrangement
US6606486B1 (en) * 1999-07-29 2003-08-12 Ericsson Inc. Word entry method for mobile originated short messages
US6909424B2 (en) * 1999-09-29 2005-06-21 Gateway Inc. Digital information appliance input device
US6865718B2 (en) * 1999-09-29 2005-03-08 Microsoft Corp. Accelerated scrolling
US6542091B1 (en) * 1999-10-01 2003-04-01 Wayne Allen Rasanen Method for encoding key assignments for a data input device
US6498601B1 (en) 1999-11-29 2002-12-24 Xerox Corporation Method and apparatus for selecting input modes on a palmtop computer
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US6615299B1 (en) * 2000-01-31 2003-09-02 Intel Corporation Dynamically translating commands from an input device into commands understandable by an application
US20030083114A1 (en) * 2000-04-13 2003-05-01 Daniel Lavin Hardware configuration for a navigation control unit for a wireless computer resource access device, such as a wireless web content access device
US6741235B1 (en) * 2000-06-13 2004-05-25 Michael Goren Rapid entry of data and information on a reduced size input area
JP2002099378A (ja) * 2000-09-25 2002-04-05 Misawa Homes Co Ltd キー入力プログラム配信システム、サーバおよび携帯機器
US6520699B2 (en) * 2001-02-16 2003-02-18 Toshiyasu Abe Keyboard
US6738045B2 (en) * 2001-02-26 2004-05-18 Microsoft Corporation Method and system for accelerated data navigation
US20020163504A1 (en) * 2001-03-13 2002-11-07 Pallakoff Matthew G. Hand-held device that supports fast text typing
JP2002315076A (ja) * 2001-04-12 2002-10-25 Nec Corp 携帯電話機を用いた入力装置
US7072975B2 (en) * 2001-04-24 2006-07-04 Wideray Corporation Apparatus and method for communicating information to portable computing devices
US6541715B2 (en) * 2001-05-24 2003-04-01 Philip Swanson Alphanumeric keyboard for hand-held electronic devices
GB0116083D0 (en) * 2001-06-30 2001-08-22 Koninkl Philips Electronics Nv Text entry method and device therefor
WO2003007117A2 (en) 2001-07-12 2003-01-23 Friedman Gary L Portable, hand-held electronic input device and combination with a personal digital device
US20040196265A1 (en) 2001-07-17 2004-10-07 Nohr Steven P. System and method for finger held hardware device
US20030048205A1 (en) * 2001-08-10 2003-03-13 Junru He 3D electronic data input device with key mapping card
DE10144634A1 (de) 2001-09-11 2003-04-10 Trw Automotive Electron & Comp Bediensystem
CN101187836B (zh) * 2001-09-20 2012-09-05 蒂莫西·B·希金斯 多用途键盘
JP2003099704A (ja) * 2001-09-21 2003-04-04 Mitsubishi Electric Corp 振動パターンをプログラミング可能なハンディターミナル装置およびハンディターミナル装置用アプリケーション・ソフトウェア
FI115861B (fi) 2001-11-12 2005-07-29 Myorigo Oy Menetelmä ja laite palautteen generoimiseksi
US8176432B2 (en) * 2001-11-20 2012-05-08 UEI Electronics Inc. Hand held remote control device having an improved user interface
KR20040068956A (ko) 2001-12-18 2004-08-02 노키아 코포레이션 휴대용 무선 통신 장치용 착탈식 하우징 커버
US6947028B2 (en) * 2001-12-27 2005-09-20 Mark Shkolnikov Active keyboard for handheld electronic gadgets
US20030193418A1 (en) * 2002-04-10 2003-10-16 Xiaodong Shi Method and Apparatus To Input Text On Devices Requiring A Small Keypad
MXPA04010251A (es) * 2002-05-23 2005-06-08 Digit Wireless Llc Teclados numericos y conmutadores de teclas.
DE10229068B3 (de) 2002-06-28 2004-02-05 Fujitsu Siemens Computers Gmbh PDA (Personal Digital Assistant) mit Touch-Screen Display
US6998871B2 (en) * 2002-11-29 2006-02-14 Sigmatel, Inc. Configurable integrated circuit for use in a multi-function handheld device
US20040208681A1 (en) * 2003-04-19 2004-10-21 Dechene Joseph Fernand Computer or input device with back side keyboard
US7218313B2 (en) * 2003-10-31 2007-05-15 Zeetoo, Inc. Human interface system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068081A (zh) * 2015-08-31 2015-11-18 江苏徕兹光电科技股份有限公司 测距仪及测距仪的控制方法
CN105430141A (zh) * 2015-12-02 2016-03-23 海南易建科技股份有限公司 一种肩咪快捷按键功能实现方法及智能对讲机
CN106981278A (zh) * 2016-01-15 2017-07-25 易弹信息科技(上海)有限公司 一种智能钢琴大屏显示系统功能操控方法及系统
CN106981278B (zh) * 2016-01-15 2021-09-24 森兰信息科技(上海)有限公司 一种智能钢琴大屏显示系统功能操控方法及系统
CN109643170A (zh) * 2016-08-30 2019-04-16 微软技术许可有限责任公司 具有用于外部化控件的配件连接器的控制器

Also Published As

Publication number Publication date
JP2009507452A (ja) 2009-02-19
WO2007030466A2 (en) 2007-03-15
EP1922601A2 (en) 2008-05-21
US7669770B2 (en) 2010-03-02
KR100942007B1 (ko) 2010-02-12
CA2621742A1 (en) 2007-03-15
KR20080042931A (ko) 2008-05-15
WO2007030466A3 (en) 2007-05-10
US20070051792A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
CN101297261A (zh) 一种重映射手持式设备的输入元件的方法
CA2625758C (en) Human interface input acceleration system
KR101188484B1 (ko) 핸드-헬드 전자 장치에 사용하기 위한 휴먼 인터페이스 및입력 시스템
US8063880B2 (en) Mobile device customizer
US20020163504A1 (en) Hand-held device that supports fast text typing
US20140281953A1 (en) Method and Mobile Terminal Device for Mapping a Virtual User Input Interface to a Physical User Input Interface
US20130063342A1 (en) Human interface input acceleration system
CN102163120A (zh) 图标的突出选择提示
US20110215954A1 (en) Matrix Keyboarding System
EP2070197A1 (en) Keypad emulation
EP1524587A1 (en) Device having a joystick keypad

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ZEETOO INC.

Free format text: FORMER OWNER: ZEEMOTE INC.

Effective date: 20100927

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

Effective date of registration: 20100927

Address after: American California

Applicant after: Limited Liability Company

Address before: Massachusetts, USA

Applicant before: Zeetoo Inc.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081029