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

文档序号:6569476阅读:145来源:国知局
专利名称:一种重映射手持式设备的输入元件的方法
一种重映射手持式设备的输入元件的方法背景技术
以下描述涉及将手持式设备的输入元件(如按键或者按钮)重映射到所需的动作或者功能。
传统的手持式电子设备,如蜂窝电话,个人数字助理(PDA), 口 袋型个人电脑,智能电话,手持式游戏机,条形码读取器,遥控器, 以及其它类似的具有一个小键盘或者一个或多个输入元件的手持式输 入设备,部分由于处理能力价格的下降和用户对更小设备的需求的同 时增加而逐渐变得越来越复杂,体积也越来越小。而这些手持式电子 设备上的输入元件,例如键盘、按钮、方向垫、触摸垫或屏幕、压敏 电阻和振动仪, 一般被固定编码用于一个特定的动作或者功能,比如 开机关机、音量升降、文本输入、光标控制或者定向运动。举个例子, 就文本输入功能来说,当用户按下输入元件中的某个元件时,此元件 在文本应用中可能被固定编码成在文本应用中插入字符2, A, B或者 C,而当用户按下另一个输入元件时,此元件可能被固定编码成在文本 应用中插入字符3, D, E或者F。当前此类电子设备上运行的现行的 操作系统,如Symbian、 J2ME和Windows Mobile,都允许应用程序开 发人员覆盖固定编码的动作或者功能,并且给所述输入元件指定(或者 重新映射)不同的动作或者功能;但是,通常地,这些被重新映射过的 输入元件只能在单个应用程序中使用。
图la和lb阐明了在一部运行系统环境为Windows Mobile的手持式电子设备100中, 一种常规映射过程所涉及的硬件和软件组件的 概要。图la描绘了一部包括多个物理输入元件104, 一个键盘设备驱 动程序(driver) 108和应用软件112的手持式电子设备100。在一些手 持式电子设备中,如移动电话,标记为"2ABC"的输入元件106也许 是形成辅助键盘(keypad)的输入元件104中的一个元件。通常来说, 所述物理输入元件104通过键盘设备驱动程序108映射和软件应用软件112映射的组合来映射到用户输入请求。所述键盘设备驱动程序108一般实现为分层的驱动程序,包括一个从手持式电子设备100取出或 检索扫描代码的下层,或平台相关驱动(PDD) 109和一个上层或者模 型设备驱动(MDD) 111,它把扫描代码映射成虚拟的输入元件代码, 产生与虚拟输入元件代码关联的字符数据,然后封装键盘消息并把它 们送到全系统消息队列中。应用软件112从全系统消息队列中检索键 盘消息并基于键盘消息执行功能。键盘设备驱动程序108和应用软件 112通常是存储在电子设备100中诸如随机存取存储器这样的存储器上 的(未显示)。
图lb阐明了当用户按下运行Windows Mobile和现行可用的应 用软件,比如文本应用或者拨号应用,的一个手持式电子设备上物理 输入元件104后的常规映射过程。在过程步骤120中,用户按下手持 式电子设备100上产生了一个扫描代码的物理输入元件104,如输入元 件106。通常,键盘控制器将这个扫描代码写进手持式电子设备100 的缓冲器中。在过程步骤124中,键盘设备驱动程序108将代表按下 物理输入元件106的扫描代码翻译或者映射为虚拟的输入元件代码。 具体地,PDD 109接到一个中断来从缓冲器中取出这个扫描代码,MDD111把这个扫描代码转换为一个虚拟输入元件代码。键盘设备驱动程序 108用虚拟输入元件代码和扫描代码调用键盘事件"keybctevent"。在过 程步骤130中,应用软件被通知到用户已经按了某个特定的物理输入 元件。具体地,应用软件112接收带有虚拟输入元件代码和扫描代码 的键盘事件。随后,应用软件112 —般执行与虚拟输入元件代码和扫 描代码相关的一个功能。举个例子来说,在手持式电子设备100上, 如蜂窝电话,按下电话上"2ABC"这个物理输入元件106产生一个被 PDD 109取出的扫描代码。随后,MDD11根据"2ABC"物理输入元 件上按压的次数把这个扫描代码转换或者映射成代表字符数据2, A, B,或者C的一个虚拟输入元件代码(例如在一个文本应用程序中)。 键盘设备驱动程序108用虚拟输入元件代码和扫描代码调用 "keybd—event"。应用软件,比如文本应用程序,就基于接收到的虚拟 输入元件代码和扫描代码执行一个功能,比如在电子设备的显示器或 考LCD上显示数字"2",或者字母"A"、 "B"或"C"。
手持式电子设备的物理输入元件通常被安装在该设备的一个或 者多个表面上的预先确定的固定位置。所以,这些电子设备的功能和 用途通常被用户舒适地连接该设备进行数据输入(如,文本、数字和 功能型输入)和/或设备控制(如,玩游戏时的游戏控制)的能力所限 制,而用户的这种能力正由于设备表面安装用于数据输入和/或设备控 制的输入元件的可用空间持续减小而变的越来越困难且不舒适。
对于大多数常规的手持式电子设备上的数据输入,用户通常通过独立的小型键盘和单独使用的辅助键盘或它们与弦输入技术、模式输入技术和/或智能键(smart key)的组合,或者通过触摸屏与屏幕键 盘或辅助键盘软件,或手写识别软件的组合使用来输入数据。构成小 键盘或辅助键盘的输入元件的数目是变化的,虽然一些特定的手持式 电子设备,如"萤火虫(firefly)",的输入元件要少一些,但通常用在 大多数常规手持式电子设备上的辅助键盘包括12或者更多的输入元 件。通常,这些输入元件被安放在设备正面的下半部分,或者下面三 分之一的地方。使用这些电子设备,用户可以在两只手握着设备时用 大拇指来输入数据,或者用一只手握着设备然后用同一只手的大拇指 来输入数据,或者用一只手握着设备,然后用另一只手的手指来输入 数据。
所有这些在常规手持式电子设备上输入数据(特别是用大拇指 输入)的方法,特别是对于那些经常花很多时间在诸如手机和PDA这 样更小的手持式电子设备上输入数据的人来说,很容易引起重复性劳 损。此外,特别是对于大拇指输入,由于多数手持式电子设备物理上 很小的尺寸和这些设备正面上输入元件的位置,用户经常需要在大拇 指握住设备的同时,还要用相同的拇指试图够到位于设备正面底部的 输入元件,比如,代表空格键的输入元件、或辅助键盘上代表字母P 到Y的输入元件、或组成代表QWERTY键盘的底部一行输入元件。 这就需要用户的大拇指在一个别扭的位置施加很大的力量。
对于游戏控制,在大多数手持式电子设备上,用户通常通过使 用位于设备正面的某个形式的输入元件,比如小键盘和/或方向键区"D-区")来控制游戏进行。由于设备的大小,在诸如手机等一些手持式电 子设备上的游戏控制通常是单手或者最多两个大拇指来实现,而在诸如PDA或者常规游戏操作台控制器等其它手持式电子设备上的游戏控 制通常是双手实现的。即使模拟输入元件已经应用于个人电脑上和诸如Microsoft的Xbox或Sony的PS2等控制台游戏系统的游戏控制器上, 但与这些诸如蜂窝式电话和PDA等手持式电子设备上的游戏控制相关 的输入元件通常是数字化的。假如大多数蜂窝式电话和PDA不用模拟 输入元件,在这些设备上玩游戏时,那么用户通常必须重复按某个键, 比如方向键来移动用户的人物或者其他控制的对象,比如光标,向左 或向右,而且为了能玩好游戏,通常需要很快地按键。所以,在这种 带有数字输入元件的设备上来模拟连续控制人物、车辆或其它控制对 象会变得乏味和困难。而且,和在这些手持式电子设备实现数据输入 一样,游戏控制也有可能会导致重复性劳损,特别是对那些热衷游戏 的玩家而言。发明内容
本发明人认为,对多数用户来说,使用这些常规手持式电子设 备是相对繁琐、低效和不舒服的,因为,除了其它原因之外,这些设 备通常是为大多数用户设计的,而不是针对特定用户的最优设计。也 就是说,本发明人认为,这些输入元件预先确定的、固定的位置与映 射到每个输入元件上预先确定的、固定的动作或功能,将设备生产商 和/或应用开发人员喜好的设计,而非对某一类别应用软件或对特定用 户最合适且更直接的设计,强加给用户。因此,本发明人改进了技术, 在手持式电子设备中针对具有共同需求(例如游戏、文本输入、音乐 以及滚读)的特定类别的应用软件或者特定用户来有选择性的对输入 元件进行最优地重映射。
这里所描述的技术可能使手持式电子设备针对使用诸如文本输 入(如电子邮件、文字处理、日历、联系人、任务),音乐,导航,滚动 和游戏应用等的某一特定类别或者几类应用程序的所有用户表现得更 好。这里所描述的技术也可以为手持式电子设备上每个可用的应用程 序创建用户特有的输入元件映射。用户专用(user-specific)的映射可 以全面应用于手持式电子设备上所有的软件应用程序,或某一个特定 类或者几类应用程序中所有软件应用,所有软件应用程序的一个子集或某一类软件应用程序中的应用程序,或某一个特定的软件应用程序。这些映射(例如类专用/或者用户专用的映射)被存储在诸如非易失存储器或者随机存取存储器这样的存储器中,并在用户选择使用一个应用程序时启动。输入元件的重映射可通过用户直接在手持式电子设备上完成,或通过连接到该手持式电子设备上的计算机,或者通过诸如环球网这样的因特网或者其他的通讯模式来完成。
这里所阐述技术的实现可能包括下面特性的多种组合。
—种重映射手持式电子设备的技术的实现,其包括接收配置设置,该设置包括至少一个与某个软件应用程序或者某类软件应用程序至少一种功能相关的物理输入元件;基于配置设置修改映射功能;以及当物理输入元件在软件应用运行过程中被激活时,如按下或启动, 执行与物理输入元件相关联的功能。映射功能包括一个键盘设备驱动 程序,设备布局或键盘设备驱动程序的翻译层,这些或其它映射功能 的组合。
在包括键盘设备驱动程序的映射功能实现的过程中,当物理输 入元件被激活时,执行与物理输入元件相关功能的步骤包括往缓冲 器中写入一个扫描代码,从缓冲器中取出该扫描代码,利用一个经修 改的键盘设备驱动程序把取出的扫描代码转换为一个虚拟的输入元件代码;用扫描代码和虚拟输入元件代码调用键盘事件;并执行与键盘 事件关联的功能,该功能是与物理输入元件关联的功能。
在包括设备布局的映射功能实现的过程中,当物理输入元件被 激活,执行与物理输入元件相关功能的步骤包括往缓冲器中写入一 个扫描代码,从缓冲器中取出该扫描代码,利用一个修改过的设备布 局把取出的扫描代码转换为一个虚拟的输入元件代码;用扫描代码和 虚拟输入元件代码调用一个键盘事件;并执行与键盘事件关联的功能, 该功能是与物理输入元件关联的功能。
在包括翻译层的映射功能实现的过程中,当物理输入元件被激 活,执行与物理输入元件相关功能的步骤包括往缓冲器中写入一个 扫描代码,从缓冲器中取出该代码,利用一个修改过的翻译层把取出 的扫描代码转换为一个原始的虚拟输入元件代码;把原始的虚拟输入 元件代码转换为一个新的输入元件代码;用扫描代码和新的虚拟输入元件代码调用一个键盘事件;执行与键盘事件关联的功能,该功能是 与物理输入元件关联的功能。
在另一个实现中,重新配置或重新映射一个软件应用程序或一类软件应用程序的方法包括把排列在手持式电子设备上一个或多个 物理输入元件与至少第一个可执行功能关联;并引起映射功能的改变,该映射功能的改变将一个或多个物理输入元件与第二可执行功能的关 联变为一个或多个物理输入元件与第一可执行功能的关联,这样在一 个软件应用程序或者一类软件应用程序中的一个软件应用程序运行过 程中,当一个或多个物理输入元件被激活时,第一可执行功能就被配 置且被启动。第二可执行功能通常是一个默认功能,通常是在一个或 多个物理输入元件被按下或者激活时,由以默认状态下执行的软件应 用程序所提供。
在另外的一个实现中,提供一种识别可用于与一个或多个物理 输入元件关联的功能的图形用户界面。这个图形用户界面也可以用来 识别软件应用,对于该软件应用,用户可选择将他的物理输入元件应 用于功能关联。举个例子,该图形用户界面包括与物理输入元件相对 应的输入元件图标,和与可执行功能相对应的功能图标。用户随后可 以指定物理输入元件与功能关联。
本文所描述的技术有以下优点中的一个或多个。例如,更舒适 和快捷的数据输入和设备控制成为可能,因为即使输入元件的位置还 是保持在设备生产商预先确定的相同固定位置上,但是,对一个特定 用户, 一个或一类软件应用程序来说,与每个输入元件关联的功能或 动作可被重映射到使用该特定应用程序时,位于该设备上用户能够更 直接和方便访问和操作的输入元件上。这也可以潜在地减少重复性劳 损。而且,本文所阐述的技术可能用来创造关于界面如何在不同的手 持式电子设备和软件应用程序中表现的标准。此外,还能提供更多的 功能。例如,在手机上,辅助键盘可能被用来仿真模拟控制使滚动更 简单,或者D键区被用来模仿游戏的模拟控制。
下面所附的说明和附图就是用来阐述一种或多种实现的细节。 其它特征和优点也将从下面的说明和附图,还有权利要求中得到体现。


图la和lb抽象地阐述了一个手持式电子设备上一种常规映射 过程所涉及硬件和软件组件的概要。
图2阐述了一种和所公开的重映射技术一起使用的配置应用程 序的实现过程。
图3描述了一个通过用户可配置键盘设备驱动程序来实现重映 射技术的流程图。
图4描述了一个通过配置软件来更改手持式电子设备上的设备 布局来实现重映射技术的流程图。
图5描述了一个通过用户可配置的翻译层来实现重映射技术的 流程图。
同样的附图标记在各种不同的附图中表示同样的元件。
具体实施方式
以下公开的这种用户可配置的重映射技术的实现在Windows Mobile操作系统中描述,虽然这些技术可以很快很简单地用其它手持 式电子设备操作系统比如Symbian和J2ME实现,并且可以用其它级 别指令集,比如低级或者中间级的硬件指令或者芯片级指令实现。
图2阐述了一种和公幵的重映射技术一起使用的配置应用程序 的实现过程。这个配置应用程序212常驻于存储器或驻留在手持式电 子设备200上的其他计算机可读介质或者手持式电子设备200外部的 其他计算机可读介质中。电子设备200包括多个位于电子设备200的 一个或多个表面上的多个物理输入元件204和一个显示器206,比如液 晶显示器(LCD)。该配置应用程序212包括一个图形用户界面213, 该界面包含输入元件图标214,而每个图标对应于一个物理输入元件 204;功能图标216——代表用户为特定的输入元件图标214选定的功 能;滚动条图标218——用户在可用的功能间选择时使用,比如,Shiftl、 Shift2、 Shift3和Shift4功能;和菜单图标222、 223 (分别标有"退出 (Quit)"和"保存(Save)"字样)。配置应用程序212是用来输入用 户专用和/或类专用的配置设置,比如,映射一个选定的功能到一个选 定的物理输入元件204。换句话说,配置应用程序212不需要包括一个图形用户界面,因为针对某特定类或者几类的应用程序软件的配置设 置可能直接由应用程序开发者编成代码了。
在这个实现过程中,输入元件图标214是静态的,g卩,图标214 的名称和外观都是用户不能更改的,但是,在其它实现过程中,图标 214的名字和/或外观可能是动态的,即,可能根据用户所提供的名字、 外形或其他标识而改变。输入元件图标214包括按钮1、按钮2、按钮 3和按钮4,它们对应于用户所选择的物理输入元件204, g卩,用户可 以选择任何一个物理输入元件204来对应输入元件图标214中的每一 个。在这样的情况下,为了讨论的目的,可以假定用户选择了输入元 件204a、 204b、 204c和204d来分别对应按钮1 、按钮2、按钮3和按 钮4。替代地,图形用户界面213可能包括更多或者更少的输入元件图 标214或者甚至只包括一个输入元件图标214,其对应于手持式电子设 备200上的每一个物理输入元件,这样就不需要用户来指定物理输入 元件204和一个特定输入元件图标214的关联关系了 。
功能图标216包括Shiftl、 Shift2、 Shift3和Shift4功能,每一个 对应于一个切换或是索引功能,该功能可能用来访问与文本输入应用 (如电子邮件、文字处理、日历、联系人、任务)中一个特殊输入元 件204关联的不同字符。例如,对一个在手持电子设备的大多数辅助 键盘上都能找到的标有"9WXYZ"的输入元件204, Shiftl功能代表 从"9"开始,从左到右的一次切换或者索引。同样的,Shift2、 Shift3 和Shift4分别代表从数字"9"开始,从左到右的2次、3次和4次切 换或者索引。所以,在文本输入中,为了输入字符"Z",用户只需要 按住与Shift4功能相关联的物理输入元件204,在这个例子中是物理输 入元件204d,再同时或者在用户选择的预先确定的一个时间间隔内按 下标有"9WXYZ"的物理输入元件204就可以了。这种输入技术,和 其他利用切换或索引功能的输入技术,在2003年10月31号提交的题 目为"Human Interface System"的共同待定申请10/699,555中更详细 地描述。该申请在此完全引入本文作为参考。
替代地,功能图标可能代表切换或者索引在内的任何功能,比 如,文本功能,如插入一个特殊字符;拨号功能,如开始或结束通话 或快速拨电话号码;游戏功能,如定向移动、开火或音量;菜单选择或滚动功能;或者其他任何作为软件应用的一部分提供的功能,对该应用软件来说,重映射的物理输入元件204可用作与软件应用程序,比如,文本输入应用程序(如电子邮件、文字处理、日历、联系人、 任务),游戏,音乐和滚动,相关联的一个接口。
菜单图标222 (标有"退出(Quit)"字样)与物理输入元件204f 相关联,而菜单图标223则与物理输入元件204g相关联。用户可以通 过按下输入元件204f来选择退出图形用户界面212。同样的,用户可 以通过按下输入元件204g来选择保存他已经输入的配置设置。
配置应用程序212用来创建用户专用和/或类专用的配置设置, 该配置设置和本文所描述的重映射技术一起用来重映射物理输入元件 204到所选定的功能,该功能可能是针对一个特定软件应用程序的,或 特定的一类或几类软件应用程序的,或特定类中软件应用程序的一个 子集的,或该手持式电子设备200上所有可用或运行的软件应用程序 的。用户专用的配置设置保存在存储器或者其它计算机可读的介质中, 这些介质在使用与所述设置配置,如用户专用和/或类专用的配置设置, 或者任意其它配置设置,相关联的软件应用程序时可以访问。这些配 置设置可由用户或者程序开发人员通过直接在手持式电子设备上的, 和连接到手持式电子设备的计算机上的,或者是通过诸如环球网一样 的因特网上的或者一些通讯模式的配置应用程序212输入。
图3描述了一个通过用户可配置的键盘设备驱动程序来实现重 映射技术的流程图。用户可配置的键盘设备驱动程序通过使用图2中 所描述的配置应用程序创建一个可配置的布局管理器来实现,所述可 配置的布局管理器是键盘驱动组件MDD的一部分。这就是说,把扫描代码重映射为虚拟输入元件代码的软件功能基于包括配置应用程序提 供的新扫描代码的用户专用配置是可以配置的。 一旦用户输入并保存 了如上描述的他的用户专用配置设置,那么,保存的设置将被存贮为 Windows Mobile中注册表的一部分。在使用相关的软件应用程序时发 生的映射过程中,修改过的键盘驱动组件MMD将访问这个注册表。 这个重映射技术包括以下几个步骤
在步骤320中,用户在手持式电子设备200上按下一个物理输 入元件204。接着,在步骤322中,手持式电子设备204上的键盘控制器向该手持式电子设备204的缓冲区中写入一个扫描代码。在步骤325 中,键盘驱动程序的PDD接到一个中断信号来从缓冲区中取出这个扫 描代码。然后在步骤326中,键盘驱动程序的己修改的MDD在Windows Mobie的注册表中检查用户专用的配置设置。如果能在Windows Mobie 的注册表中找到,键盘驱动程序的更改的MDD在步骤327中基于用户 专用的配置设置将扫描代码转换或者映射成一个虚拟输入元件代码; 否则,磁盘驱动组件MDD将根据正在执行的软件应用程序中的默认设 置将扫描代码转换或者映射为虚拟输入元件代码。在步骤328中,键 盘设备驱动程序用虚拟输入元件代码和扫描代码调用键盘事件 "keybd—event"。在过程步骤330中,软件应用程序接收到带有虚拟输 入元件代码和扫描代码的键盘事件。之后,应用程序软件执行虚拟输 入元件代码所关联的功能。也就是说,所执行的功能是由用户指定的 功能,并保存为用户专用配置设置的一部分。图4描述了一个通过配置软件来更改手持式电子设备上的设备 布局来实现重映射技术的流程图。设备布局是一种硬件特定和语言特 定的键盘信息,该键盘信息包括从扫描代码到虚拟输入元件代码的转 换。因此, 一个手持式电子设备上可以有很多的设备布局。那就是说, 相同的键盘设备驱动程序可以有针对不同语言的不同的设备或键盘布 局。举个例子来说, 一种语言的字符和口音也许不同于另一种语言, 但是,输入元件和硬件却相同或者相近。上文根据图2所描述的配置 软件可以通过程序性地修改键盘设备驱动程序的代码翻译来实现为每 台手持式电子设备的每种语言修改设备布局。下面我们将讨论这种基 于修改的设备布局而发生的重映射技术或转换步骤。
在步骤420中,用户按下手持式电子设备204上的一个物理输 入元件204。那么在步骤422中,手持式电子设备204上的键盘控制器 往手持式电子设备204上的缓冲区中写入一个扫描代码。在步骤425 中,键盘驱动程序的PDD接收到一个中断来从该缓冲区中取出扫描代 码,然后在步骤436中,键盘驱动程序的MDD使用修改后的设备布局 把这个扫描代码转换或翻译成为一个虚拟的输入元件代码。接下来, 在步骤428中,键盘设备驱动程序用虚拟输入元件代码和扫描代码调 用键盘事件"keybd_event"。在翻译步骤430中,软件应用程序接收到这个带有虚拟输入元件代码和扫描代码的键盘事件。应用程序软件执 行与虚拟输入元件代码相关联的功能。也就是说,所执行的功能是用 户指定的功能,并且作为用户专用配置设置和修改过的设备布局的一 部分被保存。图5描述了一个通过一个用户可配置的翻译层来实现重映射技 术的流程图。用户可配置的翻译层通过使用参考图2描述的配置应用 程序来实现。通常,这种重映射技术映射物理输入元件204的按键动 作到虚拟输入元件代码,然后把这个虚拟输入元件代码映射成一个用 户专用的虚拟输入元件代码。这个重映射技术的步骤如下。在步骤520 中,用户按下手持式电子设备204上的一个物理输入元件204。接着在 步骤522中,手持式电子设备204上的键盘控制器往手持式电子设备 204的缓冲区中写入一个扫描代码。在步骤525中,键盘驱动组件PDD 接收到一个中断来从缓冲区中取出扫描代码。然后在步骤532中,键 盘驱动程序的MDD把这个扫描代码转换成为一个虚拟的输入元件代 码。接下来,在步骤534中, 一个修改过的键盘驱动程序的翻译层将 步骤532中的虚拟输入元件转换为一个新的虚拟输入元件代码。在步 骤528中,键盘设备驱动程序用新的虚拟输入元件代码和扫描代码调 用键盘事件"keybd—event"。在过程步骤530中,软件应用程序接收到 这个带有这个新的虚拟输入元件代码和扫描代码的键盘事件。应用程 序软件执行与新虚拟输入元件代码关联的功能。也就是说,所执行的 功能是用户指定的功能,并且作为用户专用的配置设置的一部分被保 存。图6是一个方块图,它阐明了用作诸如蜂窝网络的系统一部分 的一个手持式电子设备,在该系统中本文描述的配置应用程序和重映 射技术能够实现。手持式电子设备600包括一个总线602或者其它用 来互通信息的通信机构,以及一个与总线602相连,能处理信息的处 理器604。手持式电子设备600同时也包括一个主存储器606,比如和 总线连接的随机存取存储器(RAM)或者其它动态存储设备,用来存 储信息和处理器604要执行的指令。主存储器606也被用于存储临时 变量或者处理器执行待执行指令时的其它中间信息。手持式电子设备 600还包括了一个只读存储器(ROM) 608或其它静态存储设备或连接到总线602的非易失性存储器来存储静态信息和处理器604的指令。 还提供和总线602相连的用来存储信息和指令的存储设备610,比如一 个快速存储器(闪存)设备, 一个多媒体卡,或者一个安全数字卡。
手持式电子设备600通过总线602或者诸如蓝牙等无线技术和 一个用来给用户显示信息的,诸如液晶显示屏(LCD)之类的显示器 612相连接。 一个包括有诸如按键,按钮,触摸板,触摸屏,旋转拨号 盘,加速计,方向垫,和压敏(如压敏电阻或压电)元件等的物理输 入元件的输入设备614和总线602相连接,用于向处理器604传递信 息和指令选择。另一种用户输入设备是光标控件616,它可能包括其它 类型的输入元件比如鼠标、跟踪球、加速计、键开关、旋转拨号盘、 滑块,或者诸如方向垫的光标定位键,来为处理器传递方向信息和命 令选择或控制显示器612上的光标或其它动作(例如玩游戏时)。这种 输入设备通常在两个坐标轴有两个自由度,第一个轴(如x)和第二个 轴(如y),允许这个设备在一个平面内定位。输入设备614中的输入 元件也可以提供方向信息和光标控制功能。显示器612,输入设备614 和光标控件616中的一个或者多个可以集成在手持式电子设备600内 或者集成在手持式电子设备的外部设备上。本文所描述的配置应用程序和输入元件的重映射技术可以用在 手持式电子设备上600。根据一种实现,输入元件的重映射由手持式电 子设备600响应处理器604执行一个或者多个存储在主存储器606上 的指令的一个或多个序列提供。这些指令可从诸如存储设备610或者 缓冲器或者寄存器等其它计算机可读介质读入主存储器606。存储在主 存储器606中指令序列的执行引发处理器604执行此处所描述的处理 步骤。在替代的实现中,硬连线电路可能用来代替软件指令或者与软 件指令结合,来实现输入元件重映射技术。因此,本文所描述的实现 方法不限于任意指定的硬件电路和软件的组合。本文中所用的术语"计算机可读介质"指任何参与为处理器提 供执行指令的介质。这种介质以很多形式出现,包括但不限于非易失 性介质,易失性介质和传输介质。非易失性介质包括,例如,快速存 储器或光盘或磁盘,如存储设备610。易失性介质包括动态存储器,比 如主存储器606。传输介质包括铜线和光纤,它们包括构成总线602的那些线。传输介质也可以以声波,光波的形式出现,比如无线电波 和红外线数据通信时产生的那些。常用的计算机可读介质形式包括,例如,快速存储设备,SIMM 卡,硬盘或其它磁性介质,CD/DVD、 DVD或其它光学介质,随机存 取存储器(RAM)、可编程只读存储器(PROM)、电可编程只读存储 器(EPROM)、电可擦除只读存储器(EEPROM)、快擦可编程只读存 储器(FLASH-EPROM)或任何其它存储芯片或者磁盘,本文所描述 的载波或其他计算机可读的介质。携带处理器604要执行的一个或多个指令的一个或多个序列可 能涉及多种计算机可读介质。例如,指令一开始可能由远程计算机的 磁盘携带。那台远程计算机可以装载指令到它的动态存储器并把指令 和其它数据通过因特网、电话网络、无线网络或任何其它通讯方式或 计算机网络来发送。无线网络包括蓝牙、WiMax、各种802.11标准的 应用网络、或GSM/GPRS、 W-CDMA (UTMS)、 IS95、 CDMA2000 lx、 或CDMAkEV-DO蜂窝网络或者其它形式的蜂窝网络。
手持式电子设备600也包括一个与总线602相连的通信接口 618。通信接口 618与一个和局域网622相连接的一个网络链路620连 接,提供一个双向数据通信。例如,通信接口 618也许是一个综合业 务数字网(ISDN)卡,一个宽带综合业务数字网(B-ISDN), 一个电 话或者无线调制解调器,提供数据通信或者任何其它普通技术人员己 知的通信接口。另一个例子是,通信接口 618也许是一个局域网(LAN) 卡,提供到兼容局域网的数据通信连接。无线链接也可以被实现。在 任何一种实现中,通信接口 618发送和接收带有代表着各种形式的信 息的数字数据流的电、电磁或光信号。例如,通信接口 618可以接收 远程计算机发出的指令和数据。通信接口 618把这些指令和/或数据放 在总线602上。总线602把这些数据带到主存储器606上,然后处理 器604从主存储器取得并执行指令。这些主存储器606收到的指令要 么在处理器604执行前,要么在处理器604执行后被任选地存储在存 储设备610上。网络链路620通常通过一个或多个网络来为其它数据设备提供 数据通信。举个例子来说,网络链路620可以通过局域网622提供到主机624或者因特网服务提供商(ISP) 626运行的数据设备的连接。 因特网服务提供商626又通过全球分组报文通信网络628,即现在所指 的"因特网"628,来提供数据通信服务。局域网622和因特网628都 是用电、电磁或光信号来携带数字数据流。通过各种网络的信号,网 络链路620上的信号和通过通信接口 618的信号携带送往和发自手持 式电子设备600的数字数据,它们是典型的传送信息的载波形式。
手持式电子设备600可以通过(多个)网络、网络链路620和 通信接口618,发送消息和接收数据,包括程序代码。在因特网的例子 中,服务器630可能通过因特网628,因特网服务提供商626,局域网 622和通信接口 618来传输某个应用程序的请求代码。在一个方面,一 个这种下载的应用程序提供了本文所描述的输入元件的重映射。当处 理器604接收到这个代码时,就执行它,和/或把它存储在存储设备610 或者其它非易失性存储设备中,以便以后执行。这样一来,手持式电 子设备600可以从载波形式的信息中获得应用代码。
我们己经描述了多种实现。其他的实现则会包括不同的或者额 外的特性。例如,在有些实现中,通过解释输入元件的动作或激活的 顺序和活动间隔,或者其它可以解释的来自输入元件按键的组合或活 动信息,物理输入元件的组合可能被映射成为执行某个特定的功能, 比如滚动。也就是说,物理输入元件的按键顺序和按键间隔可能会和 一个功能相关联,该功能将数字控制转换为模拟控制。
例如,在一个常规的蜂窝电话中,形成了电话上键区的某一列 物理输入元件,如包括2, 5, 8和0的中间列,可能被映射成滚动功 能。在这个实现中,按"8"这个输入元件可能起动光标或滑块向下滚 动,按下"0"这个输入元件可能加速光标或滑块向下滚动。同样的, 按下"5"这个输入元件可能起动光标或滑块向上滚动,按下"2"这 个输入元件可能加速光标或滑块向上滚动。另一个例子, 一些手持式电子设备使用加速计和相关的电路来 处理全球定位卫星系统(GPS)信息。这里所阐述的重映射技术可以利 用GPS信息结合物理输入元件的按键来解释菜单区域,网页中的导航 或者列表中的导航。例如,用户使这个设备物理上向下倾斜可以和向 下滚动功能相关联,而用户使这个设备物理上向上倾斜可以和向上滚动功能相关联。因此,其它应用都在所附权利要求的范围内。
权利要求
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所述的方法,其中所述物理输入元件的激活 包括按下所述物理输入元件。
全文摘要
把手持式电子设备上排列的输入元件重映射为不同于软件应用所提供的预先加载或预先指定的(多个)功能的可执行功能的这样一种技术包括接收软件应用或一类软件应用的配置设置,这包括至少一个物理输入元件,比如按键、旋转拨号盘或按钮,这些物理输入元件与至少一个功能相关联,比如切换功能或索引功能或插入特殊字符功能;基于配置设置修改映射功能,比如键盘设备驱动器(或键盘设备驱动程序),设备布局或翻译层;以及当物理输入元件在软件应用运行过程中被激活时,如按下或启动物理输入元件时,执行与其关联的功能。
文档编号G06F3/023GK101297261SQ200680040369
公开日2008年10月29日 申请日期2006年9月5日 优先权日2005年9月6日
发明者B·马库斯, E·陈, L·S·惠勒 申请人:泽蒙特有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1