【解決手段】薄型のキーボード・アセンブリ100はG、H、Bキーの間に圧力センサ式のポインティング・スティック200を含む。ポインティング・スティックを押圧したときに、意図しないG、H、Bキーのいずれかを押下する場合があり、またその逆の場合もある。先にポインティング・スティックを押圧したときは、押圧している間キーの入力を無効にする。先にキーを押下したときは、押下している間ポインティング・スティックの入力を無効にする。
前記制御部は前記ポインティング信号より先にメークコードが生成され、前記ポインティング信号が生成されている間にブレークコードが生成さたときに前記ポインティング信号を有効にする請求項2に記載のキーボード・アセンブリ。
前記制御部は、前記ポインティング信号と前記キー信号が同時に生成されたと認識している間は前記ポインティング信号と前記キー信号を無効にする請求項1に記載のキーボード・アセンブリ。
前記ポインティング・スティックが、操作面に対する押圧力で前記ポインティング信号を生成する複数の圧力センサを備えている請求項1に記載のキーボード・アセンブリ。
前記制御部は前記ポインティング信号が生成されている間は前記キー信号を生成する操作を認識するときの閾値を増加させて前記キーに対する操作を無効にする請求項1に記載のキーボード・アセンブリ。
前記キーボード・アセンブリが、それぞれキー・スイッチを備えたパンタグラフ式キー、金属ドーム式キーまたはマグネット式キーを含むショート・ストローク式である請求項1に記載のキーボード・アセンブリ。
前記ポインティング・オブジェクトと前記キー・オブジェクトがタッチ・スクリーンに表示するソフトウェア・キーボードを構成する請求項12に記載のキーボード・アセンブリ。
前記キー信号と前記ポインティング信号が同時に生成されたと判断したときに前記キー信号および前記ポインティング信号の両方をいずれかの信号が消滅するまで無効にするステップを有する請求項16に記載の入力方法。
【発明を実施するための形態】
【0018】
[キーボード・アセンブリ]
図1はポインティング・スティック200を実装したキーボード・アセンブリ100の概要を説明するための図である。ポインティング・スティック200は、キーボードのホーム・ポジションに指を置きながら、人指し指だけで操作できるようにG、H、Bキーに隣接した位置に配置している。本発明におけるキーボード・アセンブリ100は、文字や数字に関連付けた物理的なキーや、タッチ・スクリーンやタッチパッド上に位置を特定したオブジェクトとしてのキーに対する指による操作を検出して電子機器に入力するデバイスに相当する。
【0019】
キーボード・アセンブリ100は、ノートPCやタブレット端末などの電子機器に実装してもよいし、無線や有線で電子機器に接続できるように電子機器から独立した存在でもよい。本発明を効果的に適用することが可能なキーボード・アセンブリ100の第1の例として、独立したキー・スイッチまたはメンブレン・シートに組み込んだキー・スイッチを含み、キートップを押下してからキー・スイッチがメークするまでのキーストロークが短いショート・ストローク・タイプを挙げることができる。ショート・ストローク・タイプのキーボードは一例として、キートラベリング構造の違いから金属ドーム式およびマグネット式を挙げることができる。
【0020】
図2は、金属ドーム式のキーボードの構造を説明するための断面図である。スペーサ119と印刷回路基板121と上面シート113で囲まれた空間に、キートップ111a、111b、金属ドーム117a、117b、および固定接点115a、115bを設けている。キートップ111a、111bを押下すると金属ドーム117a、117bが変形して、固定接点115a、115bがメークする。圧力を解放すると金属ドーム117a、117bは復元する。金属ドーム式キーボードは、金属ドームが変形するときの反力が指にタクタイルを与えながら、キーストロークを短くすることができる。
【0021】
図3は、マグネット式のキーボード・アセンブリ130の構造を説明するための断面図である。キーは、キートップ131、フレーム139およびベース141を含んでいる。キートップ131の端部にはマグネット137bが取り付けられ、フレーム139にはマグネット137bを吸引するマグネット137aが取り付けられている。キートップ11の下側(内側)には傾斜面(Chamfer)133a、133bが形成されている。
【0022】
ベース141には傾斜面を備えるランプ135a、135bが設けられている。傾斜面133a、133bはランプ135a、135bの傾斜面を滑るように両者の形状および角度が調整されている。傾斜面とランプの組は図では2組だけ示しているが、実際には平面が矩形状のキートップ131の四隅の下に配置している。
図3(A)はキー130が押下される前のレディ・ポジションを示す。レディ・ポジションでは、マグネット137a、137bの吸引力でキートップ131はZ軸方向(垂直方向)で最上部に位置付けられる。
【0023】
図3(B)はキー130が押下されたときの状態を示している。レディ・ポジションではマグネット137a、137bが強固に吸引し合っているため、指に押圧力に対する抵抗を感じさせる。その抵抗に打ち勝つように押圧力を強めると、傾斜面133a、133bがランプ135a、135bの傾斜面を滑りながら、Z軸方向の押圧力に対してX軸方向(水平方向)の力成分を生成する。したがって、キートップ131は押下されたときにZ軸方向とX軸方向に同時に移動する。
【0024】
マグネット137a、137bの吸引力は距離の二乗に反比例する。距離がある程度以上離れると、両者の吸引力およびそれによってもたらされる指に対する抵抗力が急激に低下して
図3(C)の状態に移行する。
図3(C)では、キートップ131がZ軸方向およびX軸方向の最大の位置まで移動し、ベース141の表面に配置されたメンブレン・シートのキースイッチ(図示せず)が動作する。このときユーザは、指に対する抵抗の急激な低下によりキー・スイッチの動作を認識する。
【0025】
ユーザが指を離すか押下力を弱めると、マグネット137a、137bの吸引力によりキートップ131はレディ・ポジションに戻る。キートップの傾斜面とランプの傾斜面の組は、レディ・ポジションの間および移動している間にキートップ131の姿勢を維持する。キートップ131はZ軸方向の所定のストロークだけ移動するが、ユーザは指に大きな反力を感じるまで、キートップ131がそれより長いストロークを移動したと感じる。このようにキー130は、キートップ131に対する押圧力を垂直方向と水平方向の移動に変換することにより、キートップ131を水平に保ちながら良好な操作感覚を与えるとともに薄型化を可能にしている。なお、ショート・ストローク・タイプのキーボードには、これらの他に従来よりも薄型に製作したパンタグラフ式も含まれる。
【0026】
キーボード・アセンブリ100の第2の例として、キーストロークはほとんどない表面が平坦なタイプで、一例として、感圧式を挙げることができる。感圧式は、キートップに対する押圧力を圧電素子や抵抗膜などで検出するタイプで、この主のキーボード・アセンブリには個々のキーのキートップの輪郭を指で認識できるように表面にキーごとに独立した形状的な特徴を形成することがある。
【0027】
キーボード・アセンブリ100の第3の例として、静電容量の変化で指の接触を検出する接触式を挙げることができる。接触式はオブジェクトを表面に配置したタッチパネルや、透明なタッチパネルとディスプレイを積層した構造のタッチ・スクリーンで実現することができる。
図4は、ソフトウェア・キーボード・アセンブリ150を搭載したデュアル・スクリーン式コンピュータの外形を示す斜視図である。タッチ・スクリーン157を搭載するタブレット端末155に、タッチ・スクリーン153を搭載するタブレット端末163を着脱機構161a、161bで着脱可能なように結合している。タブレット端末163とタブレット端末165は、結合時に有線または無線のインターフェースで接続される。
【0028】
タッチ・スクリーン157にソフトウェア・キーボードを構成する複数のキーのオブジェクト160とポインティング・スティックのオブジェクト158を表示し、タッチ・スクリーン153に表示したアプリケーション画面にマウス・カーソルを表示して、ノートPCのように使用することができる。タッチ・スクリーン157は、指がタッチした領域の接触面積によって、操作されたオブジェクトを認識し、キー信号またはポインティング信号を生成する。移動情報はオブジェクト158上で指を繰り返しスワイプして生成することができる。指が複数のオブジェクトにタッチしたときは、接触面積が最大のキー・オブジェクトまたはポインティング・オブジェクトを有効な入力として選択する。
【0029】
タブレット端末163およびタブレット端末155は、分離した状態ではそれぞれタブレット端末として機能し、結合した状態では協働して一体的なコンピュータ・システムを構成するように機能する。タブレット端末155は、キーボード専用に使用することもできる。ソフトウェア・キーボードは表面が平坦なカバー・ガラスで覆われており、指でホーム・ポジションを認識することができないため、特にポインティング・スティックとキーのオブジェクトの間で誤入力が発生し易い。
【0030】
キーボード・アセンブリ100の第4の例として、赤外線や可視光線を利用したキーボード・アセンブリを挙げることができる。
図5(A)は、可視光レーザ投影式のキーボード・アセンブリ170の概要を説明するための図である。机上面に置かれたキーボード・アセンブリ170は、電子機器に接続するための有線または無線のインターフェースを備え、ウィンドウ171から机上面に複数のキーのオブジェクト174とポインティング・スティックのオブジェクト175を含むキーボード画像173を可視光レーザで投影する。指で机上面の所定のオブジェクトの位置にタッチをすると、キーボード・アセンブリ170は反射光から指の位置を認識してキー信号やポインティング信号を生成する。
【0031】
図5(B)は、表面赤外線照射式のキーボード・アセンブリ180の概要を説明するための図である。操作パネル181の表面には、複数のキーのオブジェクト184とポインティング・スティックのオブジェクト182が描かれている。これらのオブジェクトは、触覚で位置が認識できるように操作パネル181の表面を加工している場合もある。操作パネル181の周囲には、発光素子183a、183bとそれに対向する位置に受光素子185a、185bを配置している。
【0032】
キーボード・アセンブリ180は、指が所定のオブジェクトに接触したときに発光素子183a、183bの光線が遮られたことを検出してキー信号やポインティング信号を生成する。あるいは、発光素子と受光素子を一体にして組み込んで指の反射光を検出してキー信号やポインティング信号を生成ようにしてもよい。キーボード・アセンブリ170、180では、机上面や操作パネルの表面が平坦であるためソフトウェア・キーボードと同じように誤入力が発生し易い。
【0033】
[圧力センサ式のポインティング・スティック]
図6は、第1の例および第2の例として説明したキーボード・アセンブリに適用が可能な、圧力センサ式のポインティング・スティック200の構成の一例を説明するための図である。本発明は、圧力センサ式のポインティング・スティック200に代えて、
図14に示す歪みゲージ式のポインティング・スティック800に適用することもできるが、後に説明するように操作原理の違いから薄型のキーボード・アセンブリには、圧力センサ式が適している。
【0034】
ポインティング・スティック200は、操作カバー201と4個の圧力センサ203a〜203dとPCB207を含んでいる。操作カバー201は、一例としてアルミニウム合金で形成しており、表面に操作面209が形成され裏面に操作面209の圧力を圧力センサ203a〜203dに伝達する圧力面が形成されている。
【0035】
圧力センサ203a〜203dの検出原理を特に限定する必要はないが、一例としてピエゾ効果を利用した圧電素子を採用することができる。内部に圧電素子を備えた圧力センサ203a〜203dは、ロッドに加えられた圧力に対応する電圧信号を出力する。圧力センサ203a〜203dは、PCB207の平面に定義したX−Y座標の原点に対して対称になるように、操作カバー201の中心軸211に対して放射状に配置されている。
【0036】
[操作モード]
ポインティング・スティック200は、操作面209を押圧位置、押圧力および押圧時間でユーザの操作意図を反映したカーソル・モードおよびタップ・モードの2つの操作モードで操作することができる。ここにカーソル・モードとは、ユーザ・ファンクション490(
図9)に移動方向と単位時間当たりの移動量(移動速度)の情報を含む移動情報を入力するユーザの操作方法をいう。移動情報は、典型的にはユーザ・ファンクション490がディスプレイに表示したマウス・カーソルの移動、および画面のスクロール、画面の拡大、画面の縮小または画面の回転などのような表示画面の変更などに利用することができる情報である。
【0037】
タップ・モードとは、ユーザ・ファンクション490に、マウス・クリックのような選択操作をするときの一過性のタップ情報を入力するユーザの操作方法をいう。ユーザ・ファンクション490はタップ情報を、カーソル・キーの押下、同時に押下するWindows(登録商標)キーと他のキー・コンビネーション、所定量のカーソルのジャンプ移動などに相当するイベントとして定義することができる。以下に説明するように、入力システム400は圧力センサ203a〜203dの検出圧力だけから操作モードを特定することができる。
【0038】
[カーソル・モードでの移動情報の生成方法]
図7は、カーソル・モードで操作されたポインティング・スティック200が移動情報を生成する方法を説明するための図である。ユーザは移動情報を生成する際に、操作面209に置いた指の姿勢を変化させて重心位置をずらし操作面209の所定の押圧位置が作用点になるように力を変化させる操作をする。このような押圧操作を移動操作ということにする。このとき圧力センサ203a〜203dは、それぞれ操作面209の作用点に加えられた力に応じた検出圧力Pa〜Pdを出力する。
【0039】
検出圧力Pa〜Pdの大きさと対応する圧力センサ203a〜203dの座標を、Pa(1,0)、Pb(−1,0)、Pc(0,1)、Pd(0,−1)とすれば、各検出圧力Pa〜Pdをベクトル合成することができる。一例ではx方向の圧力成分PxをPx=Pa−Pbで計算し、y方向の圧力成分PyをPy=Pc−Pdで計算する。PxとPyからベクトル合成した合力PrのX軸に対する角度θを移動方向に対応させ、合力Prの絶対値を単位時間当たりの移動量Lに対応させることができる。
【0040】
入力システム400は、マウス・カーソルの移動量Lと合力Prの絶対値をL=M(Pr)の関数を使って操作感が良好になるように関連付けることができる。移動量Lをたとえばパルス数とすれば、ユーザ・ファンクション490は1パルスに一定の移動距離を対応させることで力の大きさをマウス・カーソルの移動速度に反映させることができる。入力システム400は、移動量のx軸方向の成分Lx=M(Fr)×Px/Prとy軸方向の成分Ly=M(Pr)×Py/Prをユーザ・ファンクション490に送る。Lx、Lyを受け取ったユーザ・ファンクション490はたとえばマウス・カーソルを現在の位置から角度θの方向に単位時間にL=M(Pr)だけ移動させることができる。
【0041】
[タップ・モードでのタップ情報の生成方法]
図8は、タップ・モードで操作されたポインティング・スティック200がタップ情報を生成する方法を説明するための図である。ユーザはタップ情報を生成する際に、カーソル・モードのときと同じように操作面209に置いた指の姿勢を変えて重心位置をずらしたり押圧位置を変えたりしながら、移動操作のときよりも短い時間でかつ強い力で押圧する。このときの押圧操作をタップ操作ということにする。
【0042】
入力システム400は検出圧力の大きさと所定値以上の検出圧力が発生している時間からタップ操作と移動操作を区別し、かつ、中心軸211に対する作用点の方向とタップ情報の種類を関連付けて、複数のタップ情報を生成することができる。タップ操作がされると、押圧位置に最も近い圧力センサの検出圧力が4つの検出圧力Pa〜Pdの中で最大になり、他の圧力センサは押圧位置に応じたそれ以下の検出圧力を出力する。
【0043】
図8のライン301〜307は、移動操作またはタップ操作をしたときの4つの圧力センサ203a〜203dの検出圧力をスカラー計算で合計した合計圧力Ptを示している。タップ操作は、一例において合計圧力Ptに対して3つの閾値を設定して特定することができる。タップ操作の特定にベクトル合成した合力Pr(
図7)の絶対値ではなくスカラー値である合計圧力Ptを採用するのは、合計圧力Ptが強い力でタップ操作をするユーザの意図をよく反映するからである。
【0044】
またタップ操作の特定に、4個の検出圧力Pa〜Pdのなかで最も大きい検出圧力を採用しないのは、たとえば、圧力センサ203aと203bがほぼ同じ圧力を検出するように中心軸211に対応する位置で操作面209が押圧される場合と、圧力センサ203aまたは203bの真上が同じ検出圧力となるように押圧される場合があるため、タップ操作の特定に利用することが困難になるからである。
【0045】
ライン301は、1回だけタップ操作が行われたあとに操作面209から指が離れたたときの様子を示している。閾値圧力TH1は、移動操作またはタップ操作が行われるときの最低の圧力に対応する。閾値圧力TH1は、操作面209から指が離れているときにも発生するノイズが生成する圧力や圧力センサ203a〜203dに残留している圧力と、ユーザの意図的な押圧操作による検出圧力を区別する目的で設定する。
【0046】
合計圧力Ptが閾値圧力TH1を越えたときに入力システム400は、移動操作またはタップ操作のいずれかが行われたと判断して処理を開始する。あるいは入力システム400は、いずれかの検出圧力Pn(Pn<Pt)が閾値圧力TH1を越えたときに処理を開始してもよい。閾値圧力TH2は、タップ操作を特定するための時間要素を検出するために設定する。閾値圧力TH3は、タップ操作を特定するための圧力要素を検出するために設定する。ここにTH3>TH2>TH1の関係がある。
【0047】
ここで、合計圧力Ptが閾値圧力TH1を越えてから閾値圧力TH3に到達するまでの時刻t1から時刻t2までの時間を立ち上がり時間Δtuといい、合計圧力Ptが閾値圧力TH3を越えてから閾値圧力TH2に低下するまでの時刻t2から時刻t3までの時間を立ち下がり時間Δtdということにする。入力システム400は立ち上がり時間Δtuには閾値時間THUを設定し、立ち下がり時間Δtdには閾値時間THDを設定する。入力システム400は一例において、Pt≧TH3の圧力要素とΔtu<THUの時間要素からなる立ち上がり条件、およびPt<TH2の圧力要素とΔtd<THDの時間要素からなる立ち下がり条件の2つの条件が成立したときにタップ操作を認識する。
【0048】
入力システム400は他の例において、Pt≧TH3の圧力要素と、時刻t1から時刻t3までの立ち上がり・立ち下がり時間Δudに対して閾値時間TUDを設定したときのΔud<TUDの時間要素からなる条件からタップ操作を認識することもできる。この場合、Pt<TH3の押圧操作のときには、時刻t1から閾値時間TUDが経過したあとでないと、タップ操作の条件が不成立であることすなわち移動操作であることを認識することができない。これに対して立ち上がり条件と立ち下がり条件で判断すれば、入力システム400は、立ち上がり条件が成立しないPt<TH3の押圧操作のときには、時刻t1から閾値時間THUが経過した直後に移動操作を認識することができ、立ち上がり条件が成立しかつ立ち下がり条件が成立しないときに遅くてもΔtu+THDが経過した直後に移動操作を認識することができる。
【0049】
ライン303は、タップ操作の立ち上がり条件は満たしているが、立ち下がり条件を満たさないで、大きな押圧力で移動操作が行われたときの様子を示している。入力システム400は時刻t2から閾値時間THDに相当する時間が経過した時刻txで移動操作を認識して移動情報を生成することができる。ライン305は、入力システム400が時刻t3でタップ情報を生成した後に、引き続いて検出したいずれかの検出圧力Pnが閾値圧力TH1より大きいため、移動情報を生成しているときの様子を示している。
【0050】
ライン307は移動操作に続いてタップ操作が行われるときの様子を示している。入力システム400は、合計圧力Ptが閾値圧力TH1を越えてから閾値時間THUに相当する時間が経過したときにPt<TH3であるため立ち上がり条件が成立しないと判断し、時刻t1から閾値時間THUが経過した後に移動操作と判断して移動情報を生成する。入力システム400は時刻t4ですべての検出圧力Pa〜Pdが閾値時間THM以上の間、閾値圧力TH1未満になったときに移動操作が終了したと認識してリセットする。その後時刻t5から時刻t6までの間に新たなタップ操作を認識する。
【0051】
なお、連続的なタップ操作が行われるときは、先行するタップ操作が認識された後に、すべての検出圧力Pa〜Pdが一旦閾値時間THM以上、閾値圧力TH1未満になったときに、つぎのタップ操作の立ち上がり条件と立ち下がり条件を判定することができる状態になる。タップ情報は、個々の圧力センサの検出圧力Pa〜Pdの大きさを関連付けた情報を含ませることで、ユーザ・ファンクション490が、さまざまイベントとして利用することができる。
【0052】
[入力システム]
図9は、入力システム400の構成を説明するための図である。入力システム400は、圧力センサ203a〜203d、ポインティング・コントローラ401、キー群450、キー・コントローラ451、および入力調整部480で構成している。入力システム400は、ユーザ・ファンクション490に移動情報、タップ情報およびキーコードを送る。
【0053】
ポインティング・コントローラ401は、A/D変換部411、操作モード判定部413、バッファ415、移動情報生成部417、およびタップ情報生成部419で構成しており、入力調整部480に移動情報およびタップ情報を送る。ポインティング・コントローラ401は一例としてPCB207(
図6)に実装したハードウェアとファームウェアで構成することができる。
【0054】
キー・コントローラ451は、キー認識部453およびキーコード生成部455で構成しており、入力調整部480に認識したキーのキーコードを送る。キー・コントローラ451は一例としてキーボード・アセンブリ100に付随するハードウェアとファームウェアで構成することができる。入力調整部480は、キー・コントローラ451から、GHBキーのキーコードを受け取ったときに本実施の形態にかかる調整動作を行い、それ以外のキーコードを受け取ったときはスルー動作をする。
【0055】
入力調整部480はスルー動作のときに、ポインティング・コントローラ401から受け取った移動情報、タップ情報およびキー・コントローラ451から受け取ったキーコードに対していかなる処理もすることなくユーザ・ファンクション490に送る。入力調整部480は、調整動作451のときにポインティング・スティック200およびキーの操作のタイミングや接触面積からユーザの操作の意図を推定して誤入力を防止する処理をする。
【0056】
入力調整部480は、キーボード・アセンブリ100が入力するコンピュータや電子機器のCPU、およびメイン・メモリなどのハードウェアと、デバイス・ドライバで構成することができる。他の例では、ポインティング・コントローラ401、キー・コントローラ451および入力調整部480を1つのコントローラに組み込んだハードウェアとファームウェアで実現することができる。
【0057】
ユーザ・ファンクション490は、キーボード・アセンブリ100が入力するコンピュータや電子機器などのCPU、メイン・メモリなどのハードウェアと、デバイス・ドライバ、OSおよびアプリケーション・プログラムなどのソフトウェアで構成され、入力調整部480から受け取った移動情報、タップ情報およびキーコードを処理して動作する。
【0058】
つぎに、ポインティング・コントローラ401について詳細に説明する。A/D変換部411は、検出圧力Pa〜Pdが閾値圧力TH1を越えた圧力センサ203a〜203dのアナログ信号をディジタル信号に変換して操作モード判定部413に送る。操作モード判定部413は、受け取ったディジタル信号を順番にバッファ415に記憶する。操作モード判定部413は、
図8で説明したように、立ち上がり条件と立ち下がり条件がいずれも成立したと判断した直後にタップ操作を認識してバッファ415に蓄積されたデータをFIFO方式で取り出す。操作モード判定部413は、立ち上がり条件または立ち下がり条件が成立しないと判断した直後に移動操作を認識してバッファ415に蓄積されたデータをFIFO方式で取り出す。
【0059】
操作モード判定部413は、バッファ415から取り出したデータを、移動操作が行われたと判断したときは移動情報生成部417に送り、タップ操作が行われたと判断したときはタップ情報生成部419に送る。操作モード判定部413は、タップ操作と判断してそれまでにバッファに蓄積したデータをタップ情報生成部419に送った後は、それ以降すべての検出圧力Pa〜Pdが閾値圧力TH1未満になるまでバッファに蓄積したデータを移動情報生成部417に送る。
【0060】
操作モード判定部413は、すべての検出圧力Pa〜Pdが閾値圧力TH1未満になったと判断したときにデータの出力を停止するとともにバッファ415をクリアする。移動情報生成部417は、受け取ったデータから移動情報を生成して入力調整部480に出力する。タップ情報生成部419は、受け取ったデータからタップ情報を生成して入力調整部480に送る。
【0061】
つぎに、キー・コントローラ451について詳細に説明する。キー認識部453は、キーが操作されたときに、当該キーの識別信号を生成してキーコード生成部455に送る。キー認識部453の構成は、キーボードのタイプにより異なる。キーコード生成部455は、キー操作の開始を認識したときにメークコードを生成し、キー操作の終了を認識したときにブレークコードを生成する。キー・スイッチを含むキーボード・アセンブリでは、キー・スイッチが閉じた時にメークコードを生成し、キー・スイッチが開いたときにブレークコードを生成する。キーコード生成部455は、メークコードおよびブレークコードからなるキーコードを入力調整部480に送る。
【0062】
[入力システムの動作手順]
図10、
図11、
図13は、入力システム400の動作手順を示すフローチャートである。
図10は、ポインティング・コントローラ401が移動情報またはタップ情報を生成する手順を示し、
図11、
図13は入力調整部480が誤入力を防止する手順を示している。
図12は、入力調整部480が受け取るデータと出力するデータを説明するためのタイミング・チャートである。
【0063】
図10のブロック501は、ユーザがポインティング・スティック200の操作面209から指を離すか、指を載せているが合計圧力Ptが閾値圧力TH1未満の状態である。操作モード判定部413は、操作モードの判断を開始しておらずバッファ415にデータを記憶しない。ブロック503で操作モード判定部413は、合計圧力Ptが
図12の時刻t1で閾値圧力TH1を越えたと判断して、それ以降はすべての検出圧力Pa〜Pdが閾値圧力TH1未満になるまでデータをバッファ415に記憶する。
【0064】
ブロック505で操作モード判定部413は、データを受け取った時刻t1からの立ち上がり時間Δtuを計測し、さらに合計圧力Ptを計算する。立ち上がり時間Δtuが閾値時間THU未満の間に合計圧力Ptが閾値圧力TH3以上にならないときは立ち上がり条件が不成立と判断してブロック551に移行する。立ち上がり時間Δtuが閾値時間THU未満の間に時刻t2で合計圧力Ptが閾値圧力TH3以上になったときは立ち上がり条件が成立したと判断してブロック507に移行する。
【0065】
ブロック507で操作モード判定部413は、時刻t2からの立ち下がり時間Δtdを計測し、さらに合計圧力Ptを計算する。立ち下がり時間Δtdが閾値時間THD未満の間に合計圧力Ptが閾値圧力TH2未満にならないときは立ち下がり条件が不成立と判断してブロック551に移行する。操作モード判定部413は立ち下がり時間Δtdが閾値時間THD未満の間に合計圧力Ptが閾値圧力TH2未満になったときは立ち下がり条件が成立したと判断してブロック509に移行する。
【0066】
ブロック509で操作モード判定部413は、バッファ415に記憶していた時刻t1以降のデータをタップ情報生成部419に送る。タップ情報生成部419は、受け取ったデータからタップ情報を生成して入力調整部480に出力する。ブロック511で操作モード判定部413は、すべての圧力センサの検出圧力Pa〜Pdが、閾値時間THM以上、閾値圧力TH1未満になったことを検出するとデータの出力を停止してブロック503に戻る。さらに操作モード判定部413は、バッファ415をクリアしてデータの出力を停止する。
【0067】
ブロック551で操作モード判定部413は、バッファ415に記憶していた時刻t1以降のデータを移動情報生成部417に送る。移動情報生成部417は、受け取ったデータから移動情報を生成して入力調整部480に出力する。ブロック553で操作モード判定部413は、すべての圧力センサの検出圧力Pa〜Pdが閾値時間THM以上、閾値圧力TH1未満になったことを検出するとバッファ415をクリアしてデータの出力を停止しブロック503に戻る。
【0068】
図12の圧力信号701は、ポインティング・スティック200に対して移動操作を行ったときの合計圧力Pt、いずれかの圧力センサの検出圧力Pnまたはすべての検出圧力Pa〜Pdのいずれかを示している。いずれを示しているかは、以下の説明において明らかにする。移動情報711は、圧力信号701に基づいて移動情報生成部417が生成する。移動情報711a、711bはそれぞれ圧力信号701a、701bに対応する。
【0069】
時刻t1と時刻t2および時刻t13と時刻t15の間の時間は、
図8で説明した閾値時間TUDまたはΔtu+THDに相当する時間で、移動情報生成417がいずれかの圧力センサの検出圧力Pnまたは合計圧力Ptが閾値圧力TH1を超えてから移動情報711a、711bを生成するまでに必要とする最大の時間に相当する。
【0070】
移動情報生成部417は、時刻t1で受け取った圧力信号701aを、その後すべての圧力センサの検出圧力Pa〜Pdが閾値時間THM以上の間、閾値圧力TH1未満になったときに停止条件を成立させる。移動情報生成部417は停止条件が成立したときにポインティング操作が終わったとみなして処理を停止する。すべての検出圧力Pa〜Pdが閾値圧力TH1未満になった時間が閾値時間THM未満の場合には、ユーザが移動操作の継続を意図しているにも係わらず操作が安定しない場合があることを考慮して移動情報生成部417は移動情報を生成し続ける。時刻t4、t23では、停止条件が成立したことで移動情報生成部417が移動情報711a、711bの出力を停止する。
【0071】
キーコード721は、キーボード・アセンブリ100に入力操作をしたときのGHBキーのキーコード(以下、単にキーコードという。)を示している。パルスの立ち上がりエッジはメークコードが生成されたタイミングで立ち下がりエッジはブレークコードが生成されたタイミングを示している。移動情報731は、移動情報生成部417が出力した移動情報711のなかで、入力調整部480がユーザ・ファンクション490に出力するキーコードを示している。
【0072】
移動情報731bのなかで塗りつぶしは、入力調整部480が移動情報711bを受け取ったにも係わらずユーザ・ファンクション490に出力しない移動情報731bの一部を示している。キーコード741は、キーコード生成部455が出力したキーコード721のなかで、入力調整部480がユーザ・ファンクション490に出力するキーコードを示している。キーコード741のなかで塗りつぶしは入力調整部480が、キーコード721を受け取ったにも係わらずユーザ・ファンクション490に出力しない部分を示している。
【0073】
図11のブロック601では、
図12の時刻t0で動作を開始した入力調整部480が、
図12には示していない移動情報711およびキーコード721を受け取る。ブロック602で、入力調整部480は、移動情報711とキーコード721のメークコードを受け取ったタイミングの先後関係を判断できない場合がある。判断できない場合は
図13のブロック701に移行し、いずれか一方を先に受け取ったと判断したときはブロック603に移行する。
【0074】
入力調整部480は、移動情報生成部417およびキーコード生成部455から非同期的に移動情報711とキーコード721を受け取る。ブロック603で入力調整部480は、
図12の時刻t2、t15で移動情報711a、711bを受け取ったときはブロック605に移行し、時刻t3、t5、t11、t19でキーコード721a、721b、721c、721dのメークコードを受け取ったときはブロック631に移行する。
【0075】
ブロック605で入力調整部480は、移動情報711を受け取った時刻t2、t15でメークコードを受け取っているか否かを判断する。なお、入力調整部480はメークコードを受け取ったキーのブレークコードを受け取ったときは、当該キーのメークコードをリセットする。時刻t2ではメークコードを受け取っていないためブロック651に移行し、時刻t15では、時刻t11でキーコード721cのメークコードを受け取っているためブロック607に移行する。ブロック651で入力調整部480は、時刻t2以降のキーコードの影響を受けないで移動情報731aをユーザ・ファンクション490に出力しブロック617に移行する。入力調整部480が移動情報を受け取っている間は、移動操作に伴ってGHBキーが操作されてもキーコード741を出力しない(ブロック641)。
【0076】
ブロック607で入力調整部480は、時刻t11以降に受け取った移動情報711bの出力を停止する(時刻t15)。ブロック609で入力調整部480は、ブレークコードを受け取るまで移動情報731bの出力停止を継続し、時刻t17でキーコード721cのブレークコードを受け取るとブロック611で無効化を解除する。無効化が解除されたブロック613で入力調整部480は、移動情報を受け取っていないときはブロック602に戻り、移動情報711bを受け取っているときは、ブロック615で、移動情報731bの無効化が解除された後の部分を出力する。ブロック617で、移動情報生成部417が移動情報711a、711bの出力を停止して(時刻t4、t23)ブロック602に戻る。
【0077】
キーコード741a、741dを無効にするために、入力調整部480はキーボード・アセンブリ100が、感圧式のときは、キーコードを生成するための圧力の閾値を高めるようにキー・コントローラ451に指示することができる。また、入力調整部480はキーボード・アセンブリ100が、接触式キーボードのときは、キーコードを生成するためのオブジェクトに対する接触面積の閾値を高めるようにキー・コントローラ451に指示することができる。
【0078】
ブロック631で入力調整部480は、移動情報711a、711bを受け取っていないとき(時刻t5、t11)は、ブロック633でキーコード741b、741cのブレークコードを出力して(時刻t6、t17)ブロック602に戻る。ブロック631で入力調整部480は、先に移動情報711a、711bを受け取っているとき(時刻t3、t19)は、キーコード741a、741dの出力を停止する。
【0079】
上記の手順において入力調整部480は、移動情報711とキーコード721を同時に受け取っている時間帯が存在する場合に、最もユーザの操作意図に近いと推定できる一方の操作を有効にし、他方の操作を無効にする。このとき入力調整部480は、無効と処理した操作がユーザの意図に反している場合は、ただちにユーザが再操作できるようにしている。
【0080】
具体的には、ユーザが移動操作を意図している場合に、意に反して同時にGHBキーに対してキー操作をする場合がある。入力調整部480は先に移動情報711を受け取ったときは、ユーザの意図が移動操作である確率が高いと判断してブロック651でそれを有効にする。入力調整部480は、移動情報711を受け取った後にキーコード721を受け取ったときは、ユーザが移動操作をしている間に誤ってキー操作をしたとみなしてブロック641で当該キーコード711を無効にする。
【0081】
入力調整部480は、ユーザが移動操作を意図しているにもかかわらず、先にキーコード721を受け取ったときはブロック633でそれを有効にする。この場合は、ブロック607で後続の移動情報711bが無効になる。移動操作をしたにもかかわらずマウス・カーソルが移動しないことを認識したユーザが、一旦移動操作とキー操作を停止してブレークコードを発生させたり、閾値時間THM未満で圧力を解放して移動操作がキャンセルされないように指の姿勢を変化させたりしてブロック609でブレークコードを生成するとブロック611でただちに移動情報711が有効になる。
【0082】
ユーザがGHBキーのキー操作を意図している場合に、意に反して同時に移動操作をする場合がある。入力調整部480は先にキーコード721を受け取ったときはユーザの意図がキー操作である確率が高いと判断してブロック633でそれを有効にする。入力調整部480は、キーコード721を受け取った後に移動情報711を受け取ったときは、ユーザがキー操作の間に移動操作を行ったとみなしてブロック607で移動情報711を無効にする。
【0083】
入力調整部480はユーザがキー操作を意図しているにもかかわらず、先に移動情報711を受け取ったときは、ブロック651でそれを有効にする。この場合はブロック641で後続のキーコード721が無効になる。しかし意図的に行うキー操作では、メークコードにつづいて短時間のうちにブレークコードが生成される。したがってユーザは最初のキー操作が画面に反映されないことを認識して、ただちに正しいキー操作をすることができる。
【0084】
パンタグラフ式、マグネット式、金属ドーム式、または感圧式のキーボード・アセンブリにおけるタップ操作は、操作面209に対してキー操作に似た押圧をするため、誤入力が発生し易い。入力調整部480は、タップ情報生成部419からタップ情報を受け取る場合も移動情報の場合と同じ手順で処理することができる。タップ操作で圧力信号701が生成されたときは、時刻t1〜t2、時刻t13〜t15といった短い時間だけタップ情報が生成されるため、一旦、キーコードまたはタップ情報が無効化されても短時間のうちに行う再度の押圧で正しい操作をすることができる。
【0085】
ブロック602に続く
図13のブロック701は、入力調整部480の処理が、接触式キーボードのようなオブジェクトに対する指の接触面積で入力を認識するタイプのキーボードとそれ以外のキーボードで分かれることを示している。接触式キーボードのときはブロック751に移行し、それ以外のキーボードのときはブロック703に移行する。ブロック751で入力調整部480は、ポインティング・コントローラ401とキー・コントローラ451から移動情報およびキーコードに加えて、キーおよびポインティング・スティックのオブジェクトに対する指の接触面積を受け取る。
【0086】
ブロック753で入力調整部480は、接触面積の大きさから、ユーザが操作を意図するオブジェクトが、GHBキーとポインティング・スティックのいずれであるかを判断する。ポインティング・スティックのときはブロック755で移動情報を出力し、GHBキーのときはブロック757でキーコードを出力する。
【0087】
キー・スイッチで認識するタイプのキーボード・アセンブリでは、移動情報とメークコードの先後関係を判断できないときに、いずれがユーザの操作の意図かを判断することはできないため、ブロック703で入力調整部480は、一旦移動情報とキーコードの両方の出力を停止する。ブロック705で移動情報が先に停止したとき、およびブロック707でブレークコードが先に生成されたときは
図11のブロック603に移行する。
【0088】
ユーザがポインティング・スティック200とGHBキーに対する押圧力を同時に解放するとブレークコードが生成される。ユーザが移動操作を意図していた場合は、マウス・カーソルが移動しないことを感じて移動情報をキャンセルしないように押圧していた指の重心を操作面209の方に移動するとブレークコードが生成される。このときいずれの場合も入力調整部480は、ブロック703で両方を無効化したあとに受け取ったブレークコードを無視してキーコードを出力しないことによりキーの誤入力を防ぐことができる。
【0089】
[歪みゲージ式のポインティング・スティック]
これまで、圧力センサ式のポインティング・スティックを例示して本発明の実施の形態を説明してきたが、本発明は歪みゲージ式のポインティング・スティックに適用することもできる。
図14は、歪みゲージ式のポインティング・スティック800の構成を説明するための図である。
図14(A)は斜視図で
図14(B)は断面図である。
【0090】
セラミック製の操作ポスト801には、中間部材803を介してゴム製のキャップ805が嵌め込まれている。操作ポスト801は、センサPCB807に接着剤で貼り付けられている。センサPCB807は、シールド・カバー809に取り付けられている。センサPCB807の裏側には直交するように4個の歪みゲージ821が貼り付けられている。
【0091】
キャップ805の頂部は操作面806を構成する。移動操作のときは、操作面806に垂直方向の力を加えながら操作ポスト801に水平方向に加えた力でセンサPCB807が歪み、歪みゲージ821の電気抵抗が変化する。センサPCB807の(株)には金属のプレートでドーム状に形成されたドーム・プレート831を配置している。
【0092】
ドーム・プレート831は操作面806に対して垂直方向にタップ操作がされた操作ポスト801から力を受けて変形しながら指に反力を伝える。ドーム・プレート831は、押圧力が所定値を超えると座屈し指を放すと復元する。このとき変化する4個の歪みゲージ821が検出する電気抵抗の特徴からタップ信号を生成する。ユーザはドーム・プレート831の座屈による圧力の変化を指で知覚してタップ信号が生成されたことを認識する。歪みゲージ式のポインティング・スティックは、操作ポスト801にPCB807を撓ませるための水平方向の力を加える。したがって、操作ポスト801の長さを一定以上確保する必要があり、圧力センサ式のポインティング・スティック200の方が薄型化をし易い。
【0093】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。