一种实现多个位置动态被动确定按键之方法与流程

文档序号:14942953发布日期:2018-07-13 21:31

本发明涉及一种在多点触控板/触摸屏等触摸表面上实现多个位置动态被动确定按键之方法。



背景技术:

公布号为WO 2014/023118 A1的PCT申请,记载了可以在触控板上设置手持数字设备键盘的侧键,但没有详细披露如何在触控板上实现位置动态被动确定侧键的方法。



技术实现要素:

在一块多点触摸表面上预设若干按键,按键的初始位置配置为待定;当用户的一只或者两只手的若干手指握持/触按到多点触摸表面上时,会检测到若干触按点/触按区,把这些触按点/触按区与预设的全部或者部分按键一一对应起来,并把对应上的按键的位置分别配置为各自对应触按点/触按区/触按区质心的位置,同时,通过这些触按点/触按区把预设的全部或部分按键与握持/触按触摸表面的手指对应起来;然后,把触按点/触按区及其坐标,因对应的握持/触按手指执行了先松开/释放然后再马上握持/触按回去的动作,引起的失而复得,当作对其对应按键的一次操作,或者,把触按点/触按区的坐标中代表手指压力值的坐标之值,因相应的握持/触按手指执行了先加力按压一下再马上放松到自然握持/触按状态的动作,发生了改变,当作对其对应按键的一次操作;在一次按键操作结束之后,执行操作的手指依然握持/触按在触摸表面上;当握持/触按触摸表面的手指全部释放并脱离触摸表面时,全部按键的位置被重新配置为待定。

在多点触摸表面上设置若干位置动态被动确定的按键,不仅不需要像操作位置固定的按键那样在操作前先要把各个手指对准各个按键,而且也不用顾忌在操作中会“按”错按键,因为一个手指会永远“按”到正确的按键上,原因就在于一个按键的位置是在相应的手指“按”下后由其在触摸表面上触按点或触按区(握持点或握持区)的位置确定的。在以下的部分叙述中,在多点触摸表面上设置的侧键、鼠标键即是上述按键的特例。

附图说明

图1为图2手机的左侧面图;图2为一种手机的立体图;图3为图2手机的右侧面图;图4和图6为图2手机的另一种侧键布局;图5是图2手机的正面图;图7-14为图2手机侧键和侧键组合对应的键盘布局。

图15为图16手机的左侧面图;图16为一种手机的正面图;图17为图16手机的右侧面图;图18为图16手机的背部视图。

图19为一种曲面屏手机的立体图;图20为图19手机的另一种立体图;图21-30为图19手机侧键和侧键组合对应的键盘布局。

图31为一种滑盖手机的立体图。

图32为一种翻盖手机的立体图;图33-38为图32手机部分侧键和侧键组合对应的键盘布局。

图39为一种平板的正面图;图40为该平板的立体图;图41为该平板的背面视图;图43-48为该平板的部分侧键和侧键组合对应的键盘布局。

图42为一种平板的立体图;图49-52为该平板的部分侧键和侧键组合对应的键盘布局。

图53为一种平板的正面图;图54为该平板的立体图;图55为该平板的背部视图。

图56为一种平板的立体图。

图57-64为一种触控板鼠标的正面图。

图65-70为一种触控板鼠标的正面图。

图71为一种触控板鼠标的正面图;图72为该鼠标的右视图。

图73为一种触控板鼠标的正面图;图74为该鼠标的右视图。

图75为一种触控板鼠标的正面图;图76为该鼠标的右视图。

图77-80为一种大尺寸触摸显示设备的正面图。

图81-82为一种大尺寸触摸显示设备的正面图。

具体实施方式

一、图2为一种手机,在其正面配置有触摸显示屏1,2*4阵列的实体键盘2设在其下部,在键盘2上设有键盘定位标记9,侧键Shift如3和2Hands如5设在其左侧面,侧键En1、En2、Num和Punc设在其右侧面多点触控板4上,触控板4四周的虚线仅仅用于示意,并不实际存在(在其他附图中触控板虚线的意义与此相同)。侧键En1、En2、Num和Punc的初始位置被配置为待定,并分别与用户左手的食指、中指、无名指和小指一一对应。En1和En2用来输入26个英文字母,Num主要用来输入数字,Punc主要用来输入标点符号,Shift键的作用同于PC键盘上的Shift键。在图2手机的触摸显示屏1上设有键盘动态映射区10。根据当前操作的侧键和侧键组合,映射区10动态显示图7到图14的键盘布局,以提示用户在键盘2上操作。映射区10本身也可以是一触摸键盘。侧键指示器6用于指示当前操作的侧键或侧键组合。按钮7用于关闭或打开映射区10。图2的触摸显示屏1表现的是映射区10关闭时的情形。用户左手的5个手指在握持图2手机时,左手的拇指握持在Shift键上,左手的食指、中指、无名指和小指握持在触控板4上,2Hands由左手拇指根部的突起自然靠压。左手握持图2手机和侧键并操作侧键,右手操作键盘2。

在检测到2Hands和Shift键被触按且在触控板4上有4个触按点时,表明侧键激活条件已经具备。参照坐标系8把触控板4上的4个触按点按x值从大到小(即从上到下)排序,然后把排序后的触按点保存为pIndex,pMiddle,pRing和pLittle,并把它们按顺序分别与左手的食指、中指、无名指和小指以及触控板4上的侧键En1、En2、Num和Punc一一对应起来,接着把En1、En2、Num和Punc的位置配置为pIndex,pMiddle,pRing和pLittle,与此同时,标记左手的食指、中指、无名指和小指为“按”下,并默认当前被“按”下的侧键是En1,即标记En1被“按下”,标记其他侧键被“释放”,尽管此时所有的侧键都被左手的五个手指触按(握持)着。在完成这些处理后,激活侧键,使侧键正式接受握持手指的操作,发挥作用。

除2Hands外,上述侧键采用先松开对应的握持手指,马上再“按”回去(握持回去)的方法进行操作。在一个侧键被“按”下后,根据接下来其它侧键的操作决定其什么时候被“释放”。例如,在En1和Shift被标记为“按”下(此时En1、Shift和其他侧键都是被“按”着(握持着)的)的情况下,接下来如果En2被操作,将在标记En2被“按”下的同时标记En1和Shift被“释放”(尽管握持着En1和Shift的手指并没有释放)。又比如,在只有En1标记为“按”下的情况下,如果接下来Shift被操作,则仅标记Shift被“按”下,这样就可以实现侧键组合En1+Shift。其它类推。

由于操作或者用户不再握持图2手机或者其他预计外的因素,触控板4上触按点的个数会发生变化:(a)如果触按点少于3个多于0个,一种可能的情况是触控板4上的多个手指在同时操作,为简单起见,这种情形不在在此说明;(b)如果触按点等于0个,说明触控板4上的手指全部释放,这时,重新配置En1、En2、Num和Punc的位置为待定,去激活侧键,并重新等待侧键激活条件的具备。因此,在任意时刻,必须至少有一个手指保持对触控板4的握持,以保证侧键位置的可确定;(c)如果触按点等于3个,则说明触控板4上只有一个手指释放(松开)了,正在操作某个侧键。把检测到的三个触按点按x值从大到小排序,得到三个点p31,p32,p33,分以下(一)、(二)和(三)种情况进行处理。

(一)如果p31.x=pMiddle.x,说明左手的食指释放了,左手的食指在触控板4上的触按点及其坐标失去,左手食指被标记为释放。

(二)如果p33.x=pRing.x,说明左手的小指释放了,左手的小指在触控板4上的触按点及其坐标失去,左手小指被标记为释放。

(三)如果p32.x=pMiddle.x,说明左手的无名指释放了,左手的无名指在触控板4上的触按点及其坐标失去,左手无名指被标记为释放。如果为否,说明左手中指释放了,左手的中指在触控板4上的触按点及其坐标失去,左手的中指被标记为释放。

接下来,如果检测到在触控板4上的触按点又达到了4个,则说明刚才释放(松开)的手指又按(握持)回去了,以及对应该手指的触按点及其坐标失而复得,那么重新标记该手指为“按下”,并标记与该手指对应的侧键“按下”,与此同时决定是否对以前已经标记为“按下”的侧键重新标记为“释放”。接着,重新把检测到的四个触按点按x值从大到小排序,得到p41,p42,p43和p44,并用它们分别更新pIndex,pMiddle,pRing和pLittle。之后,不断进行如上所述的循环检测与处理过程。

由于触控板4上各个侧键的初始位置是由用户的各个手指在触控板4上触按点的初始位置确定的,不是预先就确定的(预先被配置为待定),而且这些侧键的位置在操作过程中还会随着这些触按点位置的不断变化而更新,也是就,各个侧键的位置总是分别与它们对应的手指在触控板4上当前触按点的位置一一对应,保持完全一致,换句话说就是,各个侧键总是分别以各个侧键对应手指在触控板4上触按点的当前位置为各自的当前位置,侧键的位置是动态被动确定的,是在操作过程中不断变化的,不是固定不变的。因此,在多点触控板上设置若干位置动态被动确定的侧键,不仅不需要像操作位置固定的侧键那样在操作前先要把各个手指对准各个侧键,而且也不用顾忌在操作中会按错侧键,因为这些手指会永远“按”到正确的侧键上,原因就在于一个侧键的位置总是在相应的手指按下(握持到触控板上)后才确定的。

当握持图2手机并操作侧键的手指由于疲劳、不舒适或其他原因,有意无意的调整握持手位的时候,触控板4上触按点的数量和位置通常也会相应发生变化,为了避免把这些变化也当作对相应侧键的操作,进行以下处理:(一)当检测到2Hands键被释放(松开)的时候,此时不论其它侧键处于何种情形,比如即便此时触控板4上仍然有4个触按点被检测到,都去激活侧键;(二)避免使用2个及以上侧键的同时操作(包括Shift键)。当检测到有两个及以上的侧键同时操作时,比如Shift和En1同时被释放(松开)时,视为非操作动作,并去激活侧键。在侧键去激活后,把触控板上全部侧键的位置重新配置为待定,并重新等待侧键激活条件的具备,然后重定位。

当左手的各个手指双击操作侧键时,侧键的布局如图4和图6所示。其中,Home用作主页键;Recent用于显示最近打开的应用;Back,Forward用于导航;cMenu是context menu的缩写,用于打开和关闭当前应用的菜单(工具栏)。

根据图2手机当前应用的不同,在触控板4上用左手食指向上滑动或增加音量或者向上翻页,用左手食指向下滑动或减小音量或向下翻页。

图7为图2手机侧键En1对应的键盘布局,中间两行键11对应键盘2的两行键,标记②12表示其所在行的每一个键是由键盘2上对应两键同时按下和释放实现。比如,i键是由对应的a和b键同时按下和释放实现。标记④13表示其所在行的每一个键是由键盘2上对应的四个键同时按下和释放实现。如,BS键是由a、b、c和d四个键同时按下和释放实现。其余键和其余键盘布局的情形类推可得。图7到图14键盘布局所对应的侧键或侧键组合标示在各个布局的左上角。

图16也是一种手机,在其正面设有触摸显示屏14,在其左侧如图15设有侧键cMenu和2Hands,在其右侧如图17和背部中间如图18的多点触控板上设有侧键Back,Forward,Recent和Home。

在图16手机的背部设置触控板,便于用户单手(左手或右手)握持并操作手机。在这种情形下,缺失的cMenu键,可以通过食指在背部触控板上双击实现。当握持图16手机之手的手指在背部触控板上操作时,该手的拇指会触按到正面的触摸显示屏14上,忽略这种与背部触控板上的操作同时发生的触摸显示屏上的触按动作即可。在检测到背部触控板上同时出现四个触按点时,激活背部触控板上的侧键。

二、图19是一种曲面屏手机,其曲面屏是一块多点触摸显示屏16。在曲面屏16的左侧设有侧键Shift和2Hands如19,在曲面屏的右侧设有侧键Rmt、Ctrl、En1、En2、Num、Punc和Alt如18,侧键Rmt、Ctrl、En1、En2、Num、Punc和Alt的初始位置配置为待定。在初始时,用户左手的食指、中指、无名指和小指分别与侧键En1、En2、Num和Punc一一对应。图19手机及其侧键由左手握持并操作,Ctrl和Rmt由左手食指向上位移操作,Alt由左手小指向下位移操作(如果是左撇子使用图19手机,则曲面屏左右两侧的侧键布局互换即可)。键盘17为设在曲面屏16上的4*4触摸键盘,由右手操作,其布局会根据当前操作的侧键或侧键组合动态改变。图21到图30为图19手机的侧键或侧键组合对应的键盘布局。

当左手握持图19手机时,左手拇指握在曲面屏的左侧,左手的其余四指均匀地握在曲面屏的右侧。当检测到在曲面屏16的左侧出现2个触按点,在其右侧出现4个触按点时,说明是左手在握持图19手机(反之,当检测到在曲面屏16的左侧出现4个触按点,在其右侧出现2个触按点时,说明是右手在握持图19手机,视用户为左撇子,互换曲面屏16两侧的侧键布局)。把右侧4个触按点参照坐标系20按x值从大到小排序,并计算在这些排序后的触按点中相邻两个触按点之间沿x轴的间距dist,在此基础上再计算这些间距dist的平均值avg和总和ttl,并把这些dist、avg和ttl保存起来。如果每一个dist都在avg*(1±25%)的范围内,且ttl在wdth*3*(1±20%)的范围内(wdth表示用户手指的平均宽度,预定为20mm,可以在用户初次使用手机时经过校验为其确定一个新值),则接着计算并确定排序后的第一个触按点到曲面屏顶边的垂直距离是否大于2.5*avg,第四个触按点到曲面屏底边的垂直距离是否大于1.5*avg。如果是,说明用户左手握持图19手机的手势规范正确。

接下来,把上述排序后的四个触按点分别保存为pIndex,pMiddle,pRing和pLittle,并把它们分别与左手的食指、中指、无名指和小指以及曲面屏右侧的En1、En2、Num和Punc一一对应起来,并把En1、En2、Num和Punc的位置配置为pIndex,pMiddle,pRing和pLittle,然后标记左手的食指、中指、无名指和小指为按下(握持)。与此同时,把曲面屏左侧出现的2个触按点中上面的那个触按点与左手拇指和Shift对应起来,把下面的那个触按点与左手拇指的根部和2Hands对应起来。接着,默认标记En1被“按下”(握持),标记其他侧键被“释放”(2Hands除外)。接着,正式激活侧键。

Shift、En1、En2、Num和Punc采用先释放(松开)对应的握持手指再马上按回去的方法进行操作。在侧键激活之后,任意时刻,如果检测到曲面屏右侧只剩下3个触按点(其它数量触按点的情形参照第一大部分的描述),则说明曲面屏右侧有一个手指释放了,在操作某个侧键。把检测到的三个触按点按x值从大到小排序,得到三个点p31,p32,p33,并分下面(一)、(二)和(三)种情况进行处理。

(一)如果p31.x<=pMiddle.x+avg*50%,则说明左手的食指释放了,左手食指在曲面屏右侧的触按点及其坐标失去,标记左手食指释放。此后,如果检测到在曲面屏右侧的触按点重新达到了4个,则说明左手的食指又按回去了,左手食指在曲面屏右侧的触按点及其坐标失而复得,重新标记左手食指按下。接着,把检测到的4个触按点按x值从大到小排序,得到p41,p42,p43和p44。

如果pMiddle.x+avg*50%<p41.x<=pMiddle.x+avg*150%,则说明左手食指“按”(握持)在了En1的位置,标记En1被“按下”,标记其他侧键除Alt外被“释放”,也就是En1被“按下”后,可能出现的侧键和侧键组合是:En1或者Alt+En1(如果此前已经标记Alt被按下的话);

如果pMiddle.x+avg*150%<p41.x<=pMiddle.x+avg*250%,则说明左手食指按在了Ctrl的位置,标记Ctrl和En1按下,标记其他侧键除Alt外为释放。也就是Ctrl被按下后,可能出现的侧键和侧键组合是:Ctrl+En1,Ctrl+Alt+En1(如果此前已经标记Alt为按下的话)。

如果p41.x>pMiddle.x+avg*250%,则说明左手食指按在了Rmt的位置,手机16标记Rmt按下,标记其他侧键释放。

接着,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle。

(二)如果p33.x>pRing.x-avg*50%,则说明左手的小指释放了,左手小指在曲面屏右侧的触按点及其坐标失去,标记左手小指释放。此后,如果检测到在曲面屏右侧的触按点重新达到了4个,则说明左手的小指又按回去了,左手小指在曲面屏右侧的触按点及其坐标失而复得,重新标记左手小指按下。接着,把检测到的4个触按点按x值从大到小排序,得到p41,p42,p43和p44。

如果pRing.x-avg*150%<p44.x<=pRing.x-avg*50%,则说明左手小指按在了Punc的位置,标记Punc按下,标记其他侧键除Ctrl外为释放。也就是Punc被按下后,可能出现的侧键和侧键组合是:Punc或者Ctrl+Punc(如果此前Ctrl已经标记为按下的话);

如果p44.x<=pRing.x-avg*150%,则说明左手小指按在了Alt的位置,标记Alt和Punc按下,标记其他侧键除Ctrl外释放。也就是Alt被按下后,可能出现的侧键和侧键组合是:Alt+Punc,Ctrl+Alt+Punc(如果此前Ctrl已经标记为按下的话)。

接着,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle。

(三)如果pMiddle.x-avg*50%<p32.x<=pMiddle.x+avg*50%,说明左手无名指释放了,标记左手无名指释放,否则说明左手中指释放了,标记左手中指释放。此后,如果检测到在曲面屏右侧的触按点重新达到了4个,则说明左手的无名指或者中指又按回去了,左手的无名指或者中指在曲面屏右侧的触按点及其坐标失而复得。接下来,分两(a)和(b)种情况:

(a)如果此前左手无名指标记为释放,则在标记左手无名指为按下的同时标记Num按下,标记其他侧键除Ctrl和Alt外为释放。也就是Num被按下后,可能对应的侧键和侧键组合是:Num,Ctrl+Num,Alt+Num或者Ctrl+Alt+Num(如果此前Ctrl和/或Alt已经标记为按下的话)。

(b)如果此前左手中指标记为释放,在标记左手中指为按下的同时标记En2为按下,标记其他侧键除Ctrl和Alt外为释放。也就是En2被按下后,可能对应的侧键和侧键组合是:En2,Ctrl+En2,Alt+En2或者Ctrl+Alt+En2(如果此前Ctrl和/或Alt已经标记为按下的话)。

接着,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle。

接下来,不断按照上述的方法循环检测和处理曲面屏右侧触按点的变化和侧键的操作。

在任意时刻,必须至少有一个手指保持对曲面屏右侧的握持,以保证曲面屏右侧侧键位置的可确定。在握持曲面屏右侧的手指全部释放并脱离曲面屏右侧时,也就是在检测到曲面屏右侧不再有任何触按点时,把侧键Rmt、Ctrl、En1、En2、Num、Punc和Alt的位置重新配置为待定。

三、如果图19手机的曲面屏16是3D触摸显示屏,则可以采用“先用对应的握持手指加力按一下,再马上放松到自然握持状态”的方法操作Shift、En1、En2、Num和Punc。这时,手指在曲面屏16上的触按点用(x,y,p)表示,p代表手指在触按点施加的压力值。手指在加力按下又放松到自然握持状态后,相应侧键标记为“按下”,至于该侧键什么时候被“释放”需要根据后续其它侧键的操作决定,具体情况可以比照上述第一、二大部分的描述。在以下描述中,假定任意时刻,最多只有一个侧键被操作。侧键在激活之前的步骤与上述第二大部分的描述相同。在侧键激活之后,不断循环检测曲面屏右侧触按点的变化情况,并分下面两种情况进行处理:

第一种情况。如果检测到曲面屏右侧的触按点有4个,则对它们按x值从大到小排序,得到p41,p42,p43和p44。

如果p41.p>P1或者p1*factor1,说明左手食指加力按在了En1的位置,标记En1被加力按。但是,如果Rmt或者Ctrl当前标记为“按下”,说明左手食指当前握在侧键Rmt或Ctrl上,把左手食指刚才的加力按操作视作误操作,并把刚才对En1的加力按标记取消;

如果p42.p>P2或者p2*factor2,说明左手中指加力按在了En2的位置,标记En2被加力按;

如果p43.p>P3或者p3*factor3,说明左手无名指加力按在了Num的位置,标记Num被加力按;

如果p44.p>P4或者p4*factor4,说明左手小指加力按在了Punc的位置,标记Punc被加力按,但是,如果Alt当前标记为“按下”,说明左手小指当前握在侧键Alt上,把左手小指刚才的加力按操视作误操作,并把刚才对Punc的加力按标记取消;

其他情况,说明没有触按点的p值发生变化或者变化的不够大,略过。

在接下来的检测循环中,把重新检测到的四个触按点按x值从大到小排序,得到p41,p42,p43和p44。如果刚才En1被标记为加力按,且p41.p<=P1或者p1*factor1,说明左手食指已放松并且自然握持在侧键En1上,那么取消刚才对En1的加力按标记,并标记En1被“按下”,与此同时决定是否对其它先前已标记为“按下”的侧键重新标记为“释放”。侧键En2,Num和Punc的情形以此类推,不再赘述。接下来,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle,并继续触摸屏右侧触按点的循环检测。

上述P1-P4分别是能够正确识别用户左手食指、中指、无名指和小指正常操作和意外动作的预定义值,也可以在用户初次使用手机时经过校验确定;p1-p4分别是用户左手食指、中指、无名指和小指自然握持在曲面屏右侧时施加在触按点上的压力值,可以在用户初次使用手机时经过校验确定,也可以根据大众使用的经验预定义一个合理的值;factor1-factor4分别是能够正确识别用户左手食指、中指、无名指和小指正常操作和意外动作的预定义因子,也可以在用户初次使用手机时经过校验确定。

第二种情况。如果检测到曲面屏右侧只剩下3个触按点,说明曲面屏右侧有一个手指释放了,把检测到的三个触按点按x值从大到小排序,得到p31,p32,p33,并分以下(一)和(二)两种情况进行处理。

(一)如果p31.x<=pMiddle.x+avg*50%,则说明左手的食指释放了,标记左手食指释放。如果其后,检测到在曲面屏右侧触按点又达到了4个,则说明左手的食指又按回去了,标记左手食指按下。然后,把这四个触按点按x值从大到小排序,得到p41,p42,p43和p44。

如果pMiddle.x+avg*50%<p41.x<=pMiddle.x+avg*150%,则说明左手食指按在了En1所在的位置,标记En1按下。

如果pMiddle.x+avg*150%<p41.x<=pMiddle.x+avg*250%,则说明左手食指按在了Ctrl所在的位置,标记Ctrl和En1按下。

如果p41.x>pMiddle.x+avg*250%,则说明左手食指按在了Rmt所在的位置,标记Rmt按下。

在上述相应的侧键标记为按下后,还要决定是否对其它先前已标记为按下的侧键重新标记为“释放”。接着,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle,并继续触摸屏右侧触按点的循环检测。

(二)如果p33.x>pRing.x-avg*50%,则说明左手的小指释放了,标记左手小指释放。如果其后,检测到在曲面屏右侧触按点又达到了4个,则说明左手的小指又按回去了,标记左手小指按下。然后,把这四个触按点按x值从大到小排序,得到p41,p42,p43和p44。

如果pRing.x-avg*150%<p44.x<=pRing.x-avg*50%,则说明左手小指按在了Punc所在的位置,标记Punc按下。

如果p44.x<=pRing.x-avg*150%,则说明左手小指按在了Alt所在的位置,标记Alt和Punc按下

在上述相应的侧键标记为按下后,还要决定是否对其它先前已经标记为按下的侧键重新标记为“释放”。接着,用p41,p42,p43和p44更新pIndex,pMiddle,pRing和pLittle,并继续触摸屏右侧触按点的循环检测。

从以上的说明中可以看出,由于在曲面屏右侧设置了7个侧键,多于握持(触按)曲面屏右侧的4个手指,所以,虽然pIndex,pMiddle,pRing和pLittle仍然与左手的食指、中指、无名指和小指一一对应,但pIndex和pLittle不再分别与En1和Punc一一对应。视情况,在任意时刻,pIndex与En1、Ctrl和Rmt之一动态对应;pLittle与Punc和Alt之一动态对应,也就是左手的食指与En1、Ctrl和Rmt之一动态对应;左手小指与Punc和Alt之一动态对应。此外,En1、Ctrl和Rmt的位置根据En2的位置或者pMiddle以及手指的宽度确定,Punc和Alt根据Num的位置或者pRing以及手指的宽度确定。此处所说的手指宽度可以是:(a)预定义的手指宽度,一般根据各种人手的平均手指宽度确定;(b)在用户初次使用时,通过校验取得的特定用户手指的平均宽度;(c)在用户初次使用时,通过校验分别取得的特定用户的食指和小指的宽度,并分别用来确定En1、Ctrl和Rmt的位置以及Punc和Alt的位置。以上所述同样适用于其他需要手指宽度的场合。

在任意时刻,必须至少有一个手指保持对曲面屏右侧的握持,以保证曲面屏右侧侧键位置的可确定。在握持曲面屏右侧的手指全部释放并脱离曲面屏右侧时,也就是在检测到曲面屏右侧不再有任何触按点时,把侧键Rmt、Ctrl、En1、En2、Num、Punc和Alt的位置重新配置为待定。

四、图31为滑盖手机,设置有3*5阵列的实体键盘,其侧键布局与图2手机一样,其部分侧键和侧键组合对应的键盘布局如图33到图38。图32为翻盖手机,设置有4*4阵列的实体键盘,其侧键布局与图2手机一样,其侧键和侧键组合对应的键盘布局如图21到图28。

五、图39为一款平板21,其底部设有2*6阵列实体键盘,在其左上角的边框上设有Shift,在其左侧面设有2Hands,在其背部左侧设有多点触控板22,在其触摸显示屏上设有键盘动态映射区,其部分侧键和侧键组合对应的键盘布局如图43到图48所示。用户的左手握在平板21的左侧,左手的拇指握在Shift处,2Hands由左手拇指根部的突起自然靠压,左手的食指、中指、无名指和小指握在平板背部左侧的触控板22上,在该触控板上形成的四个触按点分别对应侧键En1、En2、Num和Punc。

图42为一款无边框平板23,其底部设有2*5阵列实体键盘,其触摸显示屏上设有键盘动态映射区。除Shift设在其触摸显示屏的左上角外,其侧键布局与平板21的相同。其部分侧键和侧键组合对应的键盘布局如图49到图52所示。可以把公布号为WO/2014/101519的PCT申请披露的无边框平板的夹点当作该款平板的Shift键,并把夹点处的触按动作当作对Shift键的操作。

图53是一款翻转硬键盘平板25。键盘26采用3*5的阵列,通过束带与平板连接,在不用的时候可以翻转到平板的背部。如果键盘26是透明的,则可以在其下的触摸显示屏上动态显示图33到图38所示的键盘布局以及其它没有示出的键盘布局。平板25的侧键布局与平板21的一样。

图56为一款无边框翻转硬键盘平板27。键盘28采用4*4阵列。平板27的侧键布局与平板23的一样,其侧键和侧键组合对应的键盘布局如图21到图28所示。

上述用作键盘的侧键,在非编辑状态下或者非快捷键模式下可以转用作其他键,或者通过双击甚至三击转用作其他键。正如图16手机所示,设置在触控板上的侧键不一定非得用作键盘的侧键。显然,本发明也适用于除手机和平板以外的其他类似手持数字设备。当手持数字设备尺寸较大,左手的食指或/和小指够不到设置在右侧的触控板时,就不可能在触控板上设置至少四个侧键,可以把触控板向手持数字设备的背部适当延伸以便食指或/和小指能够够着。只要把触控板设置在手持数字设备的左侧或背部右侧就可适用于左撇子。

六、图57-64为一种触控板鼠标,在其正面触控板29上设有多个鼠标键,初始位置配置为待定。在触控板29上,多个手指可以在其上同时滑动、握放、旋转等。图57、图58和图59分别是用右手的3、4和5个手指实现3、4和5个鼠标键的情形。图中的R1、R2、R3、R4、R5分别表示右手的拇指、食指、中指、无名指和小指。图64为用左手五指在触控板鼠标上实现五个鼠标键的情形,其中,L1、L2、L3、L4、L5分别表示左手的拇指、食指、中指、无名指和小指。在鼠标触控板上,用多个手指的同时滑动移动鼠标光标;用单个食指的滑动在显示设备上滚屏。由于所有手指或大部分手指都搁置在鼠标板上,而且手腕不用向上屈曲,因此可以大大缓解手指和手腕的疲劳。

以下以用右手实现5个鼠标键的情形进行说明。在触控板29上设置5个鼠标键,手指R1、R2、R3、R4和R5分别对应第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键,5个鼠标键的初始位置定义为待定。首先,建立如图59-63的标准单手触按手势模型,每个模型在其最左面、最上面和最右面触按点中至少有一个触按点的相等模式是唯一的。比如,图59最上面触按点与从左往右的第三个触按点是同一个触按点,坐标相等,这种相等关系相对于图59的触按手势是唯一的,在该触按手势中,R1-R5在触控板29上对应的触按点从左到右的顺序是清晰可确定的;图60最上面触按点与从左往右的第四个触按点是同一个触按点,坐标相等,这种相等关系相对于图60的触按手势是唯一的,在该触按手势中,R1-R3在触控板29上对应的触按点从下到上的顺序是清晰可确定的,R4-R5在触控板29上对应的触按点从左到右的顺序是清晰可确定的;图61最左面触按点与从上往下的第三个触按点是同一个触按点,坐标相等,这种相等关系相对于图61的触按手势是唯一的,在该触按手势中,R1-R5在触控板29上对应的触按点从下到上的顺序是清晰可确定的;图62最上面触按点与从左往右的第二个触按点是同一个触按点,坐标相等,这种相等关系相对于图62的触按手势是唯一的,在该触按手势中,R1-R3在触控板29上对应的触按点从左到右的顺序是清晰可确定的,R4-R5在触控板29上对应的触按点从上到下的顺序是清晰可确定的;图63最右面触按点与从上往下的第三个触按点是同一个触按点,坐标相等,这种相等关系相对于图63的触按手势是唯一的,在该触按手势中,R1-R5在触控板29上对应的触按点从上到下的顺序是清晰可确定的。

当右手五个手指触按到触控板29上时,检测到5个触按点p51、p52、p53、p54和p55。对p51-p55参照坐标系30按x值从小到大排序得到pX1、pX2、pX3、pX4和pX5,按y值从大到小排序得到pY1、pY2、pY3、pY4和pY5,同时标记手指R1、R2、R3、R4和R5为按下。比较pX1-5和pY1-5,求出所述触按点之最左面、最上面和最右面触按点中至少一个触按点的相等模式,接着进行如下处理。

如果最上面触按点的相等模式为pY1=pX3,说明右手五指的触按手势如图59所示,pX1、pX2、pX3、pX4和pX5分别对应手指R1、R2、R3、R4、R5。把pX1、pX2、pX3、pX4和pX5分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并激活鼠标键。

如果最上面触按点的相等模式为pY1=pX4,说明右手五指的触按手势如图60所示,pY5、pY4、pX3、pX4和pX5分别对应手指R1、R2、R3、R4、R5。把pY5、pY4、pX3、pX4和pX5分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并激活鼠标键。

如果最左面触按点的相等模式为pY3=pX1,说明右手五指的触按手势如图61所示,pY5、pY4、pY3、pY2和pY1分别对应手指R1、R2、R3、R4、R5。把pY5、pY4、pY3、pY2和pY1分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并激活鼠标键。

如果最上面触按点的相等模式为pY1=pX2,说明右手五指的触按手势如图62所示,pX1、pX2、pX3、pY4和pY5分别对应手指R1、R2、R3、R4、R5。把pX1、pX2、pX3、pY4和pY5分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并激活鼠标键。

如果最右面触按点的相等模式为pY3=pX5,说明右手五指的触按手势如图63所示,pY1、pY2、pY3、pY4和pY5分别对应手指R1、R2、R3、R4、R5。把pY1、pY2、pY3、pY4和pY5分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并激活鼠标键。

在激活鼠标键之后,把pThumb、pIndex、pMiddle、pRing和pLittle分别配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置。随着手指在触控板29上移动和操作,持续追踪手指触按点的位置,并不断用触按点的新位置更新pThumb、pIndex、pMiddle、pRing和pLittle,或者通过上述确定手指触按点与手指对应关系的方法不断更新pThumb、pIndex、pMiddle、pRing和pLittle。

假定触控板29是一块3D touch触控板,每个触按点的坐标用(x,y,p)表示,并假定任意时刻,最多只有一个鼠标键被操作。以下,分两种情况进行说明:

(一)鼠标键采用“先释放对应触按的手指马上再触按回去”的方法操作。当检测到触控板29上只剩下4个触按点时,说明有手指释放了,求这4个触按点p41、p42、p43和p44与pThumb、pIndex、pMiddle、pRing和pLittle的差集,如果结果为pIndex,说明R2释放了,标记R2释放。此后,当检测到触控板29上的触按点又达到5个时,说明刚才释放的R2又按回去了,标记R2按下,同时发出鼠标左击的指令。其它手指/鼠标键操作的情形以此类推,不再赘述。接着,用检测到的5个触按点按照上述确定触按点与手指对应关系的方法更新pThumb、pIndex、pMiddle、pRing和pLittle。

(二)鼠标键采用“先用对应触按的手指加力按一下,马上再放松到自然触按状态”的方法操作。当检测到有触按点的p值发生变化时,通过参照上述第三大部分的描述,判断当前操作的手指,并发出相应的鼠标键指令。比如,如果检测到pRing的p值大于预定的阈值,说明R4进行了加力按的操作。此后,在检测到pRing的p值小于等于预定的阈值时,说明R4又自然地触按在了触控板29上,发出鼠标右击的指令。接着,按照上述确定触按点与手指对应关系的方法更新pThumb、pIndex、pMiddle、pRing和pLittle。

在上述操作过程中,当需要在触控板29上实现一个普通实体鼠标键之“按住不放”的功能时,操作的手指不必马上按回去或者马上放松到自然握持状态,而是在与“按照不放”的操作结束的同时,再把操作的手指按回去或者放松到自然握持状态。

在任意时刻,至少有一个手指保持对鼠标触控板的触按,以保证鼠标键位置的可确定。当所有手指都释放并脱离触控板29时,也就是在鼠标触控板上再也检测不到任何触按点时,所有鼠标键的位置被重新配置为待定。

从以上两种情形的说明中,可以看出,对于支持3D touch的触控板/触摸屏,可以同时用两种方法来操作按键。

图57和图58是设置3个和4个鼠标键,用右手操作的情形;图64是设置5个鼠标键,用左手操作的情形,它们一样可以通过上述方法实现。按照上述办法,还可以很容易地把一个支持多点触控功能的平板电脑改造成为一个鼠标。

七、图65-70所示的触控板鼠标与图57-64所示的触控板鼠标完全一样,只是在确定触按点与触按手指之间对应关系的方法不同。此外,鼠标触控板提供的是手指触按区的位置和形状而不是触按点的位置坐标。

如图67,使用坐标系31,当用户右手的5个手指和手掌都触按和搁置到鼠标触控板上时,会形成32-38所示的7个触按区(虚线表示)。由于手掌搁置在鼠标触控板上形成的2个触按区37和38要比5个手指触按在鼠标触控板上形成的5个触按区32-36要明显的大,可以通过排序,把最大的两个即37和38排出。然后,根据剩下的5个触按区32-36的质心,求虚拟圆弧39的圆心O,接着分别求O到触按区32-36质心连线的直线斜率k1、k2、k3、k4和k5。然后,把k1-k5分成3组:把与斜率值对应的质心在AOC范围的分为第一组,在BOC范围的分为第二组,剩下的分为第三组。对3组的斜率值分别按从大到小排序,然后把排序后的斜率值按第一组、第三组和第二组的顺序组合在一起形成新的斜率值序列K1、K2、K3、K4和K5。那么根据图67,与K1、K2、K3、K4和K5对应的触按区对应的手指分别是右手拇指R1、食指R2、中指R3、无名指R4和小指R5。接下来,把K1、K2、K3、K4和K5对应的触按区质心的坐标分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并把pThumb、pIndex、pMiddle、pRing和pLittle分别配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置,当然也可以直接把K1、K2、K3、K4和K5对应的触按区的位置配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置。

上述对k1、k2、k3、k4和k5进行分组是必要的,否则,如果直接排序,在AOC范围质心对应的斜率值和在DOB范围质心对应的斜率值就会混在一起,在BOC范围质心对应的斜率值和在DOA范围质心对应的斜率值就会混在一起,这显然是不符合图67所示的手指在鼠标触控板上触按的实际情况的。当然也可以把k1、k2、k3、k4和k5按照AOC、AOD、DOB和BOC分成4组,分别进行排序,然后把排序后的4组斜率值再按AOC、AOD、DOB和BOC的顺序组合在一起(如果按从大到小对斜率值排序)或者再按照BOC、BOD、DOA和AOC的顺序组合在一起(如果按照从小到大对斜率值进行排序)。

图68-70是设置4、3和2个鼠标键,用4、3和2个手指操作触控板鼠标的情形,同样可以依照上述办法确定触按区与触按手指的关系,并进一步确定设置的鼠标键的位置。由于操作触控板鼠标的手指较少,不易区分用户是用左手在操作还是用右手在操作,因此,应该预先指定触控板鼠标是左手使用还是右手使用。

在图67中,右手手掌在右侧的触按区38要比其在左侧的触按区37大,38的质心与右手小指R5触按区36质心的连线Line2要比37的质心与右手拇指R1触按区32质心的连线Line1要长。这与图66所示的情形是刚好相反的。图66是用户左手5个手指和手掌都触按和搁置到鼠标触控板上时的情形。在图66中,左边的手掌触按区37-L要大于右边的手掌触按区38-L,同时,左边的连线Line1-L要大于右边的连线Line2-L。以上两个区别特征同时或者之一可以用来判断用户操作触控板鼠标的手是右手还是左手。图67没有示出的情形是:当触按区32-36位于鼠标触控板的右侧时,37-38位于左侧且38在37的下方;或者,当触按区32-36位于左侧时,37-38位于右侧且37在38的下方。同理可知,与图66有关的左手情形刚好与此相反。在判断37和38对应质心的左右和上下关系时,还要根据这两个质心在垂直和水平距离的情况进行,如果水平距离大于垂直距离,则判断左右关系,反之,如果垂直距离大于水平距离,则判断上下关系,来确定这两个质心的相对位置。与图66有关的左手情形亦复如此。

在确定图66所示情形是左手操作情形后,在按照上述方法求出斜率值序列K1、K2、K3、K4和K5后,把K1、K2、K3、K4和K5对应的触按区分别与左手小指L5、无名指L4、中指L3、食指L2和拇指L1一一对应,并把K1、K2、K3、K4和K5对应的触按区质心的坐标分别保存为pLittle、pRing、pMiddle、pIndex和pThumb,然后把pLittle、pRing、pMiddle、pIndex和pThumb分别配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置。

图65示出的是用户右手手掌悬空或者说没有触按到鼠标触控板上时的情形。在没有手掌触按区的情形下,可以通过拇指的触按区要大于小指的触按区的特点来确定当前用户操作触控板鼠标的手是左手还是右手,即,在斜率值序列K1、K2、K3、K4和K5中,K1对应的触按区大于K5对应的触按区的,是右手在操作触控板鼠标,否则是左手在操作触控板。然后再根据上述办法确定触按区与触按手指的对应关系,并进而确定各个鼠标键的位置。

从以上的说明中可以看出,触按区主要用来判断用户当前是在用右手还是在用左手操作触控板鼠标。因此,对于预先指定用手(左手或者右手)的触控板鼠标而言,如果触控板模块提供的不是手指触按区的形状和位置而是手指触按点的位置坐标,则可以用触按点取代上述触按区的质心并通过上述方法确定触按点与触按手指的对应关系,并进而确定各个鼠标键的位置。

此外,还可以用求虚拟圆锥曲线(椭圆、抛物线和双曲线)弧及其焦点代替求虚拟圆弧及其圆心,并用虚拟圆锥曲线弧的焦点代替虚拟圆弧的圆心,并参照上述方法对虚拟圆锥曲线弧的焦点到各个触按区质心的连线的斜率进行排序,来确定触按区/触按区质心与手指的对应关系,并进而确定各个鼠标键的位置。由于圆是圆锥曲线的一种特例,圆心是焦点的一种特例,故而为了叙述简洁方便,把虚拟圆弧及其圆心归入到虚拟圆锥曲线弧及其焦点中。在以下说明中,如果不特别指明,虚拟圆锥曲线弧及其焦点包含虚拟圆弧及其圆心。

我们还可以以虚拟圆锥曲线弧的焦点O为极点,以OC为极轴,建立极坐标系,然后参照新建立的极坐标系把触按区32-36质心的直角坐标转换为极坐标。每个极坐标点用(ρ,θ,p)表示,ρ为极径,极角θ取逆时针方向为正,p表示手指的压力值。然后,对触按区质心极坐标的θ进行整理,使θ小于等于360度,大于等于0度。然后把触按区质心根据θ从大到小进行排序,然后根据图67,把排序后的触按区质心与R1-R5一一对应起来,并进一步把触按区/触按区质心与第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键一一对应起来。接下来,把触按区质心的极坐标分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并把pThumb、pIndex、pMiddle、pRing和pLittle分别配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置。

如果触按区质心的坐标本来就是用极坐标表示的,则在根据触按区质心的极坐标求出虚拟圆锥曲线弧的焦点后,参照上述方法,建立新的极坐标系,并参照新的极坐标系,把原来触按区质心的极坐标换算成新的极坐标,接着根据上述说明,对新的触按区质心坐标进行排序,并把排序后的触按区质心与R1-R5一一对应起来,并进一步把触按区/触按区质心与第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键一一对应起来。接下来,把触按区质心的极坐标分别保存为pThumb、pIndex、pMiddle、pRing和pLittle,并把pThumb、pIndex、pMiddle、pRing和pLittle分别配置为第四鼠标键、鼠标左键、鼠标中键、鼠标右键和第五鼠标键的位置。

八、图71是一种触控板鼠标,由鼠标触控板40、区隔沟槽41和手掌托板42组成。当用户在触控板40上操作的时候,手掌搁置在托板42上,但手掌也没有必要非得搁置在托板42上。当用户手指的触板部分越过区隔沟槽41的时候,用户会感觉到,并及时调整手指的操作位置。图71触控板鼠标可以根据拇指和小指触按区的大小确定用户是在用右手操作还是在用左手操作,并根据第七和第六大部分描述的方法来确定鼠标键的位置和判断鼠标键的操作。

图73和图75示出的触控板鼠标在基本结构上与图71所示的触控板鼠标一样,由鼠标触控板、手掌托板和隔离沟槽44组成(图73的无需有)。由于这两款鼠标的触控板模块提供的是手指触按点的坐标,因此在触控板的侧面设置有左撇子键43和45,当打开左撇子键时,由用户左手使用。此外,图73的手掌托板比触控板厚,图75的手掌托板是一个向里倾的斜面。这两款鼠标均可以根据第七和第六大部分描述的方法来确定鼠标键的位置和判断鼠标键的操作。

九、对于大尺寸的多点触摸屏或者多点触控板,还可以同时用双手的部分或者全部十个手指触按到触摸屏或触控板上,在实现滑动、捏放和旋转等操作的同时,实现更多位置动态被动确定的按键。

图77-80是一种大尺寸的触摸显示设备,在其正面设有触摸显示屏47,在触摸显示屏47上设置有10个按键,所有按键的初始位置配置为待定,并分别与左手的手指L1、L2、L3、L4、L5以及右手的手指R1、R2、R3、R4、R5一一对应。关于L1、L2、L3、L4、L5和R1、R2、R3、R4、R5的定义参见第六大部分的内容。

如图77-80,建立若干标准的双手触按手势模型,并参照下面描述的方法,提取各个模型触按点的虚拟圆弧的半径和圆心的位置特征并保存起来。图77所示的模型中,两个虚拟圆弧的圆心分别在两个虚拟圆弧的下方;图78所示的模型中,左边虚拟圆弧的圆心在左边虚拟圆弧的左下方,右边虚拟圆弧的圆心在右边虚拟圆弧的右下方;图79所示的模型中,下面虚拟圆弧的圆心在下面虚拟圆弧的左下方,上面虚拟圆弧的圆心在上面虚拟圆弧的右下方;图80所示的模型中,左边虚拟圆弧的圆心在左边虚拟圆弧的右下方,右边虚拟圆弧的圆心在右边虚拟圆弧的左下方。而且,在图77-80的模型中,就同一用户而言,左右手触按点虚拟圆弧的半径是接近的,左手每次触按触摸显示屏47产生之触按点的虚拟圆弧的半径也是接近的,右手每次触按触摸显示屏47产生之触按点的虚拟圆弧的半径同样是接近的。

在用户初次使用设备时,提示用户如图77那样用两只手触按在触摸显示屏47上,然后分别根据用户左右手各5个手指的触按点,虚拟出两个圆弧aL0和aR0,然后计算aL0和aR0的半径rL0和rR0的平均值r0,并把rL0、rR0和r0保存起来。

上述在用户初次使用设备时,提取用户左右手触按点虚拟圆弧半径以及半径均值的步骤可以省去。而改为在每次确定用户的双手触按手势时,简单地比较用户左右手触按点虚拟圆弧的半径是否接近。

此后,在用户使用设备,双手十指触按到触摸显示屏47上时,会检测到在触摸显示屏47上有10个触按点,参照坐标系46把这10个触按点按x值从小到大排序,得到pL1、pL2、pL3、pL4、pL5和pR1、pR2、pR3、pR4、pR5。接着,根据pL1-pL5和pR1-pR5虚拟出两个圆弧aL和aR,然后用aL和aR的半径rL和rR分别与rL0、rR0和r0进行比较,或者仅仅对rL和rR进行比较。

(a)如果rL和rR有一个或者两个都与r0差距较大,或者仅仅比较rL和rR且差距较大,把pL1-5和pR1-5重新组合在一起,按y值从大到小重新排序,得到pU1、pU2、pU3、pU4、pU5和pD1、pD2、pD3、pD4、pD5,接着根据pU1-5和pD1-5虚拟出两个圆弧aU和aD,然后用aU和aD的半径rU和rD与rL0、rR0和r0进行比较或者仅仅比较rU和rD。如果rU和rD两者都与r0接近,(1)且rU与rR0接近,rD与rL0接近,或者仅仅比较rU和rD且两者接近,同时aU的圆心在aU的右侧,aD的圆心在aD的左侧,则双手的触按手势如图79所示,右手在上面,左手在下面,把pU1-5和pD1-5分别保存为pR1-5和pL1-5,(2)且rU与rL0接近,rD与rR0接近,或者仅仅比较rU和rD且两者接近,同时aU的圆心在aU的左侧,aD的圆心在aD的右侧,则把pU1-5和pD1-5分别保存为pL1-5和pR1-5。反之,如果rU和rD有一个或者两个都与r0差距较大,或者仅仅比较rU和rD且差距较大,则说明双手的手指错杂在一起到了无法按左右手分组的程度,提示用户调整双手在触摸显示屏47上的触按手势。

(b)如果rL和rR两个都与r0接近,rL与rR0接近,rR与rL0接近,或者仅仅比较rL和rR且两者接近,同时aL的圆心在aL的右侧,aR的圆心在aR的左侧,则说明双手的触按手势如图80所示,右手在左面,左手在右面,交换pL1-5和pR1-5,并保存起来。

(c)如果rL和rR两个都与r0接近,rL与rL0接近,rR与rR0接近,或者仅仅比较rL和rR且两者接近,同时aL和aR的圆心分别在aL和aR的下面,则说明双手的触按手势如图77所示,把pL1-5和pR1-5保存起来。

(d)如果rL和rR两个都与r0接近,rL与rL0接近,rR与rR0接近,或者仅仅比较rL和rR且两者接近,同时aL的圆心在aL的左侧,aR的圆心在aR的右侧,则说明双手的触按手势如图78所示,把pL1-5和pR1-5保存起来。

接下来,根据pL1、pL2、pL3、pL4、pL5和pR1、pR2、pR3、pR4、pR5,并按照第六部分或者第七部分描述的方法,确定两个分别按顺序与手指L1、L2、L3、L4、L5和R1、R2、R3、R4、R5一一对应的触按点序列,并把两个序列中触按点的位置根据按键与手指的对应关系配置为按键的位置。在后续的操作中,随着手指的移动和操作,不断循环检测触摸显示屏47上触按点的变化,持续追踪各个触按点的位置,并用触按点的当前位置及时更新各个按键的当前位置,或者按照本部分以及第六部分或者第七部分描述的方法在触按点发生变化后重新确定按键的当前位置。当有手指进行按键操作时,参照上述第一、二、三、六和七部分描述的方法,根据触按点的变化确定操作的按键。在任意时刻,每只手至少必须有一个手指保持对触摸显示屏47的触按,以保证各个按键位置的可确定。当所有手指都释放并脱离触摸显示屏47时,也就是在触摸显示屏上再也检测不到任何触按点时,所有按键的位置被重新配置为待定。

上述求和比对虚拟圆弧半径的方法可以替代为求和比对虚拟圆弧的直径。如果把圆看成是圆锥曲线的特例,把圆心看成是圆锥曲线焦点的特例,把圆的直径看成是圆锥曲线通径的特例。则可以把上述确定触按点与手指对应关系的方法概括为虚拟圆锥曲线弧并求和比对虚拟圆锥曲线弧的通径和焦点的位置特征。因此,在本说明书中,圆锥曲线包括圆、椭圆、抛物线和双曲线四种。显而易见,用虚拟椭圆弧、抛物线弧以及双曲线弧代替虚拟圆弧来模拟手指的触按手势会有同样的良好效果,达到同样的确定触按点与手指对应关系的目的,具体确定方法参照上述虚拟圆弧的方法,不再赘述。

在用户操作触摸显示屏47的两只手中,如果其中一只手操作的按键少于5个或者两只手操作的按键都少于5个,在按照上述方法对触按点进行分组时,与左手和右手对应的触按点的数量应该与左手和右手各自操作的按键数一致。在触摸显示屏47上设置的按键少于10个时,最好的办法不是减少触按触摸显示屏47的手指,而是忽略掉用不着的触按点(与没有操作职能的手指对应的触按点)。这样用户依然可以自然舒适地用10个手指在触摸显示屏47上操作,而且可以更加准确地确定用户的触按手势以及触按手指与触按点的对应关系。该方法同样适用于上述其它实施例。比如,图59所示的触控板鼠标,在只需要设置鼠标左键、中键和右键时,忽略掉R1和R5对应的触按点即可。所谓忽略掉用不着的触按点,就是不使用这些用不着的触按点的位置。这一点同样适用于触按区。

图81和82与图77是同种设备,唯一不同是它们的触摸显示屏模块提供的是手指触按区的形状和位置。图81示出的是用户左右手手指及其手掌都触按和搁置在触摸显示屏上的情况。先按大小把手掌对应的4个触按区排出,接着把剩下触按区或者触按区的质心按照上述方法分成与左手和右手对应的两组,再按照第六/七和其它部分描述的方法确定和判断按键的位置和操作。手掌对应的触按区以及拇指和小指对应触按区的相对大小还可以用来协助判断上述对手指对应触按区或者触按区质心的分组是否正确。在使用手掌对应的触按区之前,应该参照对手指对应的触按区或者触按区质心的分组方式(左右分组还是上下分组)进行分组,并把分组后的手掌触按区分别与手指对应的触按区或者触按区质心的分组关联起来。

图82示出的是只有用户左右手手指触按在触摸显示屏上的情况。先按照本部分描述的方法把手指的触按区或者触按区质心分成与左手和右手对应的两组,再按照上述第六/七和其它部分描述的方法确定和判断按键的位置和操作。拇指和小指对应触按区的相对大小还可以用来协助判断上述对手指对应触按区或者触按区质心的分组是否正确。

上述在多点触控板或者多点触摸屏上实现按键的方法,不仅实现了按键位置的动态被动确定,而且也做到了以手指定按键,即用户只要记住相应手指代表的按键即可,相应手指的动作就是对相应按键的操作。

以上关于多点触控板的描述同样适用于多点触摸屏,反之亦然。不论是多点触控板还是多点触摸屏,都是多点触摸表面的特例。这种触摸表面可以感知多个手指和手的其它部分在其上的触摸,并能同时给出多个感知到的触摸点的位置或者触摸区的位置和形状。

上述实现侧键和鼠标键的方法也可以用来实现普通的按键和特定功能的按键。

以上说明主要是以直角坐标系作为参考坐标系进行的,但并不排斥对其它适用坐标系的使用。在使用直角坐标系的时候,触按点或者触按区质心的坐标用(x,y)或者(x,y,p)表示,甚至用(x,y,z)(适用于曲面型的触摸表面)或者(x,y,z,p)表示。在使用极坐标系的时候,触按点或者触按区质心的坐标用(ρ,θ)或者(ρ,θ,p)表示。在以上涉及到确定触按点/触按面/触按面质心与手指的对应关系的时候,都要对触按点/触按面/触按面质心进行排序。这种排序工作既可以由软件/固件来完成,也可以由硬件来完成,还可把排序职能整合到触控板/触摸屏/触摸表面模块中,或者整合到触控板/触摸屏/触摸表面模块之子模块——触摸感应模块中,由这些模块自身通过接口直接向外部提供符合特定排序要求的触按点/触按面/触按面质心序列。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1