以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.入力装置の構成
2.入力検出システムの構成
2−1.ハードウェア構成
2−2.機能構成
3.情報処理方法(入力検出方法)
4.第1の実施形態(KEY OFF検出処理)
4−1.第1の実施形態に至る背景
4−2.KEY OFF検出処理の詳細
4−3.チャタリングの抑制
5.第2の実施形態(KEY ON検出処理)
5−1.第2の実施形態に至る背景
5−2.KEY ON検出処理の詳細
5−3.KEY ON検出処理とKEY OFF検出処理との組み合わせ
6.第3の実施形態(正規化デルタ値判定処理)
6−1.第3の実施形態に至る背景
6−2.正規化デルタ値判定処理(NOM−SUM判定処理)の詳細
7.第4の実施形態(誤検出防止処理)
7−1.First Push Protect
7−2.Pre Sense Protect
8.補足
本開示の好適な一実施形態では、入力装置として、シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力(すなわち、指等の操作体による押圧量)を、当該キー領域の各々に対応して設けられる容量素子の静電容量の変化量によって検出する、静電型のキーボードが用いられる。本明細書では、まず、(1.入力装置の構成)において、本開示の好適な一実施形態に係る入力装置の構成について説明する。次に、(2.入力検出システムの構成)において、本実施形態に係る入力装置におけるキー入力を検出するための入力検出システムの構成について説明する。更に、(3.情報処理方法(入力検出方法))において、当該入力検出システムによって入力キーが検出される際の情報処理方法について説明する。当該入力検出システムでは、キーごとに入力状態(操作入力が有効であると判断されている状態(KEY ON状態)又は操作入力が有効でないと判断されている状態(KEY OFF状態))が判定されることにより、キー入力の有無が判定される。KEY ON状態であると判定されたキーに対応付けられた情報が、入力装置が接続される情報処理装置(以下、接続装置とも呼称する。)に送信され、当該接続装置に入力されることとなる。
ここで、本実施形態は、入力キーが検出される処理において行われる、入力状態を判定する処理(入力状態判定処理)に、その特徴的な構成を有する。(4.第1の実施形態(KEY OFF検出処理))から(7.第4の実施形態(誤検出防止処理))では、本実施形態に係る入力検出システムにおける入力状態判定処理におけるいくつかの実施形態について説明する。本開示では、これらの実施形態に係る入力状態判定処理が、個別に又は互いに組み合わされて実行されることにより、キー入力の検出精度を向上させ、ユーザの操作性をより向上させることができる。
具体的には、(4.第1の実施形態(KEY OFF検出処理))では、上述したKEY OFF状態を検出する処理(以下、KEY OFF検出処理とも呼称する。)について説明する。(5.第2の実施形態(KEY ON検出処理))では、上述したKEY ON状態を検出する処理(以下、KEY ON検出処理とも呼称する。)について説明する。(6.第3の実施形態(正規化デルタ値判定処理))では、1つのキー領域に対して複数の容量素子が設けられている場合において、キー入力の検出精度をより向上させる処理の一例について説明する。(7.第4の実施形態(誤検出防止処理))では、入力装置を使用する際に想定され得る特定の状況に対応した、キー入力の誤検出を防止する処理(以下、誤検出防止処理とも呼称する。)について説明する。なお、第1、第2、第3及び第4の実施形態において説明する各処理は、それぞれが独立に実行されてもよいし、可能な範囲で任意に組み合わせて実行されてもよい。
(1.入力装置の構成)
まず、図1−図3を参照して、本開示の好適な一実施形態に係る入力装置の構成について説明する。図1は、本開示の一実施形態に係る入力装置の概略構成を示す上面図である。図2は、図1に示す入力装置の概略断面図である。図3は、本実施形態に係る入力装置におけるキー入力時の動作について説明するための説明図である。
図1及び図2を参照すると、本実施形態に係る入力装置1は、シールド層40と、電極基板20と、支持体30と、操作部材10と、がこの順に積層されて構成される。入力装置1は、例えばPC等の接続装置のキーボードとして用いられる。なお、以下では、操作体の一例として、キーボードに対する操作入力として最も一般的に行われ得る、指でキーが選択される場合について説明するが、ユーザの身体の他の部位やスタイラス等の道具を用いてキーを選択することも当然可能である。
また、以下の説明では、入力装置1の面内における互いに直交する2方向をX軸方向及びY軸方向と定義する。また、入力装置1の積層方向(厚み方向)をZ軸方向と定義する。また、Z軸の正方向(操作部材10が配設される方向)を上方向又は表面方向とも呼称し、Z軸の負方向を下方向又は裏面方向とも呼称する。図2及び図3は、入力装置1におけるX−Z平面での断面図に対応している。
(操作部材)
操作部材10は、入力装置1の表面(上面)に配設されるシート状の部材である。操作部材10の表面には、キーボードにおける各キーに対応する複数のキー領域10aが形成される。操作部材10は、例えば銅(Cu)、アルミニウム(Al)等の導電性を有する金属材料によって構成され、例えばグランド電位に接続される。ただし、操作部材10の材料はかかる例に限定されず、導電性を有する材料であれば他の材料が用いられてもよい。
操作部材10の厚みは、例えば数10μm〜数100μmであり、操作部材10は、図3に示すように、キー領域10aに対する入力操作(すなわち、指によるキー領域10aに対する押圧)によって電極基板20側へ部分的に変形可能に構成される。ただし、操作部材10の厚みはかかる例に限定されず、ユーザによるキー領域10aの押圧感(打鍵感)やキー入力の検出精度等を考慮して適宜設定されてよい。
各キー領域10aは、ユーザによって押圧される(打鍵される)キーに対応し、キーの種類に応じた形状及び大きさを有する。各キー領域10aには、適宜のキー表示が施されていてもよく、当該キー表示は、キーの種類を表示するものであってもよいし、個々のキーの位置(輪郭)を表示するものであってもよいし、これら両方を表示するものであってもよい。キー表示には、適宜の印刷手法、例えば、スクリーン印刷やフレキソ印刷、グラビア印刷等が適用可能である。なお、以下の説明では、キー領域10aに対して各種の操作入力が行われることを表現する際に、キー領域10aのことを、単に、キーと記載する場合がある。例えば、入力装置1において「キーを押圧する」とは、「キー領域10aを押圧する」ことを意味していてよい。
ここで、操作部材10は、上述した導電性を有する材料によって構成される導電層の上に、フレキシブル性を有する絶縁性のプラスチック材料(例えば、PET(ポリエチレンテレフタレート)、PEN(ポリエチレンナフタレート)、PMMA(ポリメタクリル酸メチル)、PC(ポリカーボネート)、PI(ポリイミド)等)からなるプラスチックシートが更に積層されて構成されてもよい。その場合、当該プラスチックシートの表面に、各キーに対応するキー表示が印刷されることとなる。導電層の上にプラスチックシートが積層されて用いられる場合には、導電層及びプラスチックシートは、樹脂シートの表面に予め導電層膜が貼り付けられた複合シート等で構成されてもよいし、プラスチックシートの表面に導電層膜が蒸着やスパッタリングによって形成されて構成されてもよい。あるいは、プラスチックシートの表面に導電ペースト等の塗膜が印刷されることにより構成されてもよい。
(シールド層)
シールド層40は、入力装置1の裏面に配設されるシート状の部材である。このように、入力装置1は、シールド層40と操作部材10とで、電極基板20及び支持体30が挟持されて構成される。シールド層40は、操作部材10と同様に、例えば銅、アルミニウム等の導電性を有する金属材料によって構成され、例えばグランド電位に接続される。ただし、シールド層40の材料はかかる例に限定されず、導電性を有する材料であれば他の材料が用いられてもよい。シールド層40は、入力装置1の外部から入射する電磁ノイズを遮蔽する機能を有する。なお、シールド層40の厚みは特に限定されず、例えば数10μm〜数100μmである。また、操作部材10と同様に、シールド層40も、その裏面に、例えば絶縁性のプラスチックシートが更に積層されて構成されてもよい。
(支持体)
支持体30は、操作部材10と電極基板20との間に配置される。支持体30は、基材32の上に、複数の構造体31が形成されて構成される。
基材32は、PET、PEN、PC等からなる絶縁性のプラスチックシートで構成され、電極基板20の上に積層される。基材32の厚みは特に限定されず、例えば数μm〜数100μmである。
複数の構造体31は、それぞれ同一の高さ(例えば数μm〜数100μm)を有し、操作部材10の各キー領域10aを区画するように、基材32上に形成される。構造体31によって、基材32と操作部材10とが接続される。構造体31が形成されない領域(すなわち、キー領域10aに対応する領域)には、空間33が形成される。このような構成を有することにより、キー領域10aに対する操作入力がなされると、少なくとも押圧されたキー領域10aに対応する部分において、操作部材10と電極基板20との距離が変化することとなる(図3参照。)。
各構造体31は、各キー領域10aにおける操作性(クリック感、ストローク感)や検出精度の向上の観点から剛性の比較的高い材料で構成されるが、弾性材料で構成されてもよい。各構造体31は、例えば、紫外線硬化樹脂等の電気絶縁性の樹脂材料で構成され、基材32の表面に転写法等の適宜の手法を用いて形成される。
(電極基板)
電極基板20は、第2の配線基板22の上に第1の配線基板21が積層された積層構造を有する。第1の配線基板21の表面には、Y軸方向に延伸する電極線210(Pulse電極)が形成される。また、第2の配線基板22の表面には、X軸方向に延伸する電極線220(Sense電極)が形成される。
第1の配線基板21及び第2の配線基板22は、絶縁性材料からなるプラスチックシートによって構成される。例えば、第1の配線基板21及び第2の配線基板22は、PET、PEN、PC、PMMA等の材料からなるプラスチックシート、ガラス基板、ガラスエポキシ基板等で構成される。第1の配線基板21及び第2の配線基板22の厚みは特に限定されず、例えば、それぞれ数10μm〜数100μmである。
第1の電極線210及び第2の電極線220は、例えばAlやCu等のエッチング、又は銀(Ag)等の金属ペーストの印刷等によって、第1の配線基板21及び第2の配線基板22上にそれぞれ形成される。
第1の配線基板21及び第2の配線基板22は、例えば、接着剤や粘着テープ等の、絶縁性を有する接着層(図示せず。)を介して、電極線210と電極線220とが互いに対向するように積層される。電極線210と電極線220とは、絶縁体からなる層を挟んで対向することとなるため、電極線210と電極線220との交差領域(以下、ノードとも呼称する。)に容量素子が形成されることとなる。電極線210と電極線220とは、その延伸方向が略直交しているため、例えば、一の電極線210と複数の電極線220とにより、複数のノードが形成されることとなる。
図4に、電極線210と電極線220とが重なり合うことにより、容量素子が構成される様子を概略的に示す。図4は、本実施形態に係る入力装置1における容量素子について説明するための説明図である。図4では、ある1つのキー領域10aにおける、電極基板20の表面に対応する平面での断面図を概略的に示している。
図4に示すように、X軸方向に延伸する電極線220と、Y軸方向に延伸する電極線210と、が重なり合う部位に、容量素子C1が形成される。本実施形態では、キー領域10a内に、少なくとも1つの容量素子C1が形成されるように、電極線210及び電極線220が形成される。
ここで、図3を参照して、本実施形態に係る入力装置1におけるキー入力の検出の原理について説明する。図3に示すように、あるキーに対する操作入力があった場合には、当該キーに対応するキー領域10aが指によってZ軸方向に押圧される。キー領域10aが押圧されると、操作部材10(の導電層)と電極基板20の容量素子C1との距離が変化するため、容量素子C1における静電容量が変化する。この容量素子C1における容量変化量(以下、デルタ(Delta)値とも呼称する。)は、キー領域10aに対する操作入力に応じた、キー領域10aと容量素子C1との距離の変化量を表すものであると言える。本実施形態では、ノードごとに検出されたデルタ値に基づいて、当該ノードに対応するキーの入力を検出する。なお、デルタ値に基づくキー入力の検出の詳細については、下記(2.入力検出システムの構成)で詳しく説明する。
このように、本実施形態では、容量素子C1の容量変化量に基づいて、キーの入力が検出されるため、操作入力がない状態での容量素子C1の静電容量は、所定の値になるように調整されている。従って、電極線210及び電極線220の形状(より詳細には容量素子C1の電極となり得る部位(電極部)の形状)や、電極線210と電極線220との間に位置する絶縁体の厚み及び材質等は、容量素子C1の容量が所定の値になるように適宜設定され得る。
なお、以下の説明では、デルタ値としきい値との比較等の説明を分かりやすくするために、デルタ値を正の値として定義している。上述したように、デルタ値は、容量素子C1における容量変化量であるため、操作入力がある状態(図3に示す状態)での容量素子C1の静電容量から、操作入力がない状態(図2に示す状態)での容量素子C1の静電容量を差し引いた値として算出され得る。一方、図3に示す状態では、キー領域10aと容量素子C1との距離が短くなることにより、容量素子C1の静電容量は、図2に示す状態よりも小さくなっている。このように、単純に静電容量の差分を取るだけではデルタ値が負の値となり得るが、本実施形態では、適宜符号を変更することにより、デルタ値を正の値として扱っている。なお、デルタ値を負の値として扱う場合であっても、しきい値等のデルタ値と比較される値の符号を反転することにより、以下に説明するキー入力の検出処理と同様の処理が当然実行可能である。
ここで、図4に示す例では、1つのキー領域10aに6つの容量素子C1が設けられている(すなわち、ノードが6つ存在している)が、本実施形態はかかる例に限定されない。1つのキー領域10aに設けられるノードの数は任意であってよい。上述したように、本実施形態では、容量素子C1の容量変化量に基づいてキーの入力が検出される。従って、1つのキー領域10aに複数の容量素子C1を配置し、例えばそれらの容量素子C1の容量変化量の平均値や合計値等の統計値を用いることにより、キー入力の検出精度を向上させることができる。本実施形態では、1つのキー領域10aに設けられるノードの数は、キーの種類やキーの配置等を考慮して適宜設定されてよい。例えば、入力される頻度がより高いキーや、配置位置の観点から検出精度が低くなる可能性があるキー(例えば面内で比較的端に位置するキー)等には、より多くのノードを設けることにより、キー入力の検出精度をより向上させることができる。
また、図4に示す例では、簡単のため、電極線210及び電極線220が略直線形状であり、容量素子C1を構成する電極に対応する部分の形状が略四角形である場合について図示しているが、本実施形態はかかる例に限定されない。例えば、電極線210及び電極線220は、容量素子C1が設けられる部位に、円環状、菱形状等の所定の形状を有する所定の面積の電極部を有してもよく、当該電極部がX軸方向又はY軸方向に連なった形状であってもよい。電極線210及び電極線220の形状を適宜設定し、電極部の形状を調整することにより、例えば、デルタ値の検出精度を向上させることが可能となる。
図5に、入力装置1におけるキー配置と容量素子C1との位置関係を示す。図5は、入力装置1におけるキー配置と容量素子C1との位置関係を示す概略図である。図5では、入力装置1の上面図の一部に、容量素子C1を重ね合わせて図示している。
図5に示す例では、容量素子C1は、図4に例示したような単純な形状ではなく、放射状に広がった配線形状からなる電極部を有している。また、例えば図中で破線で囲ったキー領域10aには、4つの容量素子C1が設けられている。つまり、破線で囲ったキー領域10aは4つのノードを有しており、当該キー領域からは、各ノードに対応した4つのデルタ値が検出されることとなる。
以上、本実施形態に係る入力装置1の概略構成について説明した。以上説明したように、入力装置1は、シールド層40、電極基板20、支持体30及び操作部材10が積層されて構成される。また、電極基板20内に形成される2層の配線層によって構成される容量素子C1の容量変化量を用いて、キー入力の検出が行われ得る。このように、入力装置1は、例えば上記特許文献2、3に記載のキーボードのように荷重センサ等の構成を備えることなく、比較的簡易な構成によってキー入力を検出することができる。よって、入力装置1をより薄型化、軽量化することが可能となる。
ここで、静電型のタッチパネルを用いた既存のキーボードでは、一般的に、容量素子がタッチパネルの面内に均一に分布して配置されている。従って、必ずしもキーの配置と容量素子の配置とが対応していない。一方、入力装置1は、電極線210及び電極線220の形状を適宜設定することが可能であり、容量素子の数や配置を、キー配置に応じて調整することができる。また、例えば下記(6.第3の実施形態(正規化デルタ値判定処理))で説明するように、入力装置1では、キー領域10aに設けられる容量素子の数に応じて、異なる入力状態判定処理を行うことができる。このように、入力装置1では、キー入力の検出精度を高めるために最適なキー構造及び信号処理を、キーごとに設定することが可能となる。また、上述した、容量素子がタッチパネルの面内に均一に分布して配置されるタッチパネルを用いた既存のキーボードに比べて、必要な数だけ容量素子を形成すればよく、電極の本数を削減することができるため、入力キーを検出する際の信号処理における負荷を低減することができ、当該信号処理を行うプロセッサ(後述するコントローラIC110やメインMCU120)として、より安価なものを用いることが可能となる。
なお、本実施形態に係る入力装置1としては、例えば、本願出願人による先行出願である国際公開第2013/132736号を参照することができる。
(2.入力検出システムの構成)
次に、本実施形態に係る入力検出システムの構成について説明する。本実施形態に係る入力検出システムでは、入力装置1の各ノードで検出されたデルタ値に基づいて、当該ノードに対応するキーが特定されるとともに、当該キーに対する入力状態判定処理が行われる。そして、キーに対する入力状態の判定結果に基づいて、入力装置1が接続される接続装置に、当該キーに対応付けられた情報の入力が行われ得る。
(2−1.ハードウェア構成)
まず、図6を参照して、本実施形態に係る入力検出システムのハードウェア構成について説明する。図6は、本実施形態に係る入力検出システムのハードウェア構成の一例を示すブロック図である。
図6を参照すると、本実施形態に係る入力検出システム2は、入力装置1と、コントローラIC(Integrated Circuit)110と、メインMCU(Microcontroller)120と、インターフェースIC130と、コネクタ140と、で構成される。なお、入力装置1の構成については、上記(1.入力装置の構成)で説明しているため、ここでは詳細な説明は省略する。
コントローラIC110は、入力装置1におけるノードごとのデルタ値を検出する機能を有するプロセッサである。なお、コントローラIC110によって行われる処理は、後述する図7に示すデルタ値検出部111によって行われる処理に対応している。ここで、ノードは、X軸方向に延伸する複数の電極線220と、Y軸方向に延伸する複数の電極線210と、の交差領域に対応しているため、X及びYのアドレスによって表現され得る。コントローラIC110は、各ノードでのデルタ値を、当該ノードのアドレスと対応付けて検出することができる。コントローラIC110は、各ノードで検出されたデルタ値についての情報を、当該ノードのアドレスについての情報(アドレス情報)と対応付けて、後段のメインMCU120に送信する。なお、コントローラIC110において実行される各処理は、コントローラIC110(すなわちプロセッサ)が所定のプログラムに従って動作することにより実行され得る。
メインMCU120は、各ノードで検出されたデルタ値に基づいて、キーの入力を判定する処理を行う。ここで、メインMCU120が行う処理には、デルタ値が検出されたキーの特定処理(以下、キー特定処理とも呼称する。)及びデルタ値に基づくキーの入力状態判定処理が含まれる。なお、メインMCU120によって行われる処理は、後述する図7に示す、操作入力値算出部112、キー特定部113、入力状態判定部114及び入力状態設定部115によって行われる処理に対応している。また、メインMCU120において実行される各処理は、メインMCU120に搭載されるプロセッサが所定のプログラムに従って動作することにより実行され得る。
キー特定処理では、デルタ値が検出されたノードに対応付けられたアドレス情報に基づいて、当該ノードに対応するキーが特定される。例えば、メインMCU120に搭載されるメモリ等の記憶装置又はメインMCU120とは別途設けられる記憶装置(図示せず。)に、入力装置1における、ノードのアドレスとキー配置との位置関係が記憶されており、メインMCU120は、当該ノードのアドレスとキー配置との位置関係に基づいて、デルタ値が検出されたノードに対応するキーを特定することができる。
一方、入力状態判定処理では、メインMCU120は、各ノードで検出されたデルタ値に基づいて、当該ノードに対応するキーの入力状態を判定する。入力状態判定処理では、デルタ値、及び/又は、デルタ値に基づいて算出される他の物理量に基づいてキーの入力状態が判定され得る。例えば、入力状態判定処理では、デルタ値以外に、デルタ値の微分値である微分デルタ値、及び/又は、デルタ値を正規化した値である正規化デルタ値等が用いられ得る。ここで、微分デルタ値は、検出されたデルタ値そのもの(すなわち生データ又は適宜増幅等されたもの)を微分したものであってもよいし、正規化デルタ値を微分したものであってもよい。以下の説明においても、「微分デルタ値」とは、デルタ値の微分値又は正規化デルタ値の微分値を意味していてよい。更に、1つのキーに対して複数のノードが設けられている場合には、デルタ値、微分デルタ値及び/又は正規化デルタ値等の値の合計値や平均値等の統計値に基づいて、入力状態判定処理が行われてもよい。これらのデルタ値、微分デルタ値及び/又は正規化デルタ値等の値や、これらの統計値は、キーに対する操作入力を表す値(以下、操作入力値とも呼称する。)であると言える。このように、本実施形態では、各ノードにおける操作入力値に基づいて、各キーについての入力状態が判定される。
入力状態判定処理では、操作入力値が予め設定された条件(入力状態判定条件)を満たすかどうかが判断される。操作入力値が入力状態判定条件を満たした場合には、当該操作入力値が検出された(算出された)ノードに対応するキーの入力状態がKEY ON状態(以下、単にON状態とも呼称する。)であると判定される。KEY ON状態とは、キーに対する操作入力が有効であると判断されている状態のことを意味する。一方、操作入力値が入力状態判定条件を満たしていない場合には、当該操作入力値が検出された(算出された)ノードに対応するキーの入力状態がKEY OFF状態(以下、単にOFF状態とも呼称する。)であると判定される。KEY OFF状態とは、キーに対する操作入力が無効であると判断されている状態のことを意味する。なお、入力状態判定条件は、キーごとに設定され得る。メインMCU120は、キー特定処理の結果に基づいて、特定されたキーに対して設定されている入力状態判定条件を用いて入力状態判定処理を行うことができる。
メインMCU120は、入力状態判定処理及びキー特定処理を、入力装置1に含まれる各ノードに対して順次行うことにより、各キーの入力状態を判定することができる。メインMCU120は、KEY ON状態であると判定されたキーに対応付けられているキーの内容を示す情報を、後段のインターフェースIC130に送信する。このように、KEY ON状態とは、キーに対応付けられている情報が送出される状態であるとも言える。ただし、メインMCU120は、全てのキーについての入力状態判定処理の結果を後段のインターフェースIC130に送信してもよく、インターフェースIC130以降のいずれかの構成によって、KEY ON状態であると判定されたキーに対応付けられている情報のみが抽出されてもよい。
インターフェースIC130は、入力装置1と、入力装置1が接続される接続装置との間のインターフェースとなるプロセッサである。例えば、インターフェースIC130には、コネクタ140が接続されており、当該コネクタ140によって入力装置1と接続装置とが接続される。インターフェースIC130は、コネクタ140の種類に応じて、当該コネクタ140の種類に適した方式に信号を変換し、接続装置に、KEY ON状態であると判定されたキーに対応付けられている情報を送信する。そして、例えば当該情報処理装置の表示部に、当該キーに対応する文字や記号等が表示されることとなる。インターフェースIC130が行う具体的な処理は、コネクタ140の種類に応じて適宜設定され得る。コネクタ140は、例えばUSB(Universal Serial Bus)形式のコネクタであってよい。
以上、図6を参照して、本実施形態に係る入力検出システム2のハードウェア構成について説明した。次に、図6に示す入力検出システム2に対応する機能構成について説明する。
(2−2.機能構成)
次に、図7を参照して、本実施形態に係る入力検出システムの機能構成について説明する。図7は、本実施形態に係る入力検出システムの機能構成の一例を示す機能ブロック図である。なお、図7に示す機能構成は、図6に示す入力検出システム2のハードウェア構成に対応するものである。ここで、本実施形態では、インターフェースIC130及びコネクタ140としては、キーボードを情報処理装置に接続する際に一般的に用いられている、各種の公知のものを用いられてよい。従って、図7では、図6に示す構成の中でも、コントローラIC110及びメインMCU120によって実行される機能について主に図示している。
図7を参照すると、本実施形態に係る入力検出システム2は、その機能として、デルタ値検出部111と、操作入力値算出部112と、キー特定部113と、入力状態判定部114と、入力状態設定部115と、を備える。なお、図7では、便宜的に、これらの各機能が、制御部150(本開示の情報処理装置に対応する。)において実行され得るように図示しているが、実際には、制御部150は、コントローラIC110及びメインMCU120に対応するプロセッサによって構成され得る。つまり、図7において制御部150が有する各機能は、コントローラIC110及びメインMCU120に対応するプロセッサが、所定のプログラムに従って駆動することにより実現され得る。例えば、デルタ値検出部111に対応する機能がコントローラIC110によって実行され、その他の機能(操作入力値算出部112、キー特定部113、入力状態判定部114及び入力状態設定部115)はメインMCU120に搭載されるプロセッサによって実行され得る。ただし、本実施形態はかかる例に限定されず、図7に示す各機能は、コントローラIC110及びメインMCU120のいずれのプロセッサによって実行されてもよいし、図示しない他の処理回路(情報処理装置)において実行されてもよい。
デルタ値検出部(容量変化量検出部)111は、入力装置1の各ノードにおける容量素子の容量変化量を検出する。例えば、デルタ値検出部111は、各ノードでのデルタ値を、所定のサンプリングレートで順次検出する(デルタ値検出部111によって検出されるデルタ値には、ほぼゼロのもの(容量素子の静電容量の変化がほぼないもの)も含まれ得る。)。また、デルタ値検出部111は、各ノードでのデルタ値を、当該ノードのアドレスと対応付けて検出することができる。デルタ値検出部111は、検出したデルタ値及び当該デルタ値に対応するノードのアドレス情報を、操作入力値算出部112、キー特定部113及び入力状態判定部114に提供する。
キー特定部113は、ノードのアドレス情報に基づいて、デルタ値が検出されたノードに対応するキーを特定する。キー特定部113によって実行される処理は、上述したキー特定処理に対応している。例えば、本実施形態に係る入力検出システム2には、各種の情報を記憶可能な記憶装置(図示せず。)が設けられてもよく、当該記憶装置に、入力装置1におけるノードのアドレスとキー配置との位置関係が記憶されていてよい。キー特定部113は、当該記憶装置を参照することにより、ノードのアドレスとキー配置との位置関係に基づいて、デルタ値が検出されたノードに対応するキーを特定することができる。なお、当該記憶装置は、メインMCU120に搭載されるメモリ等であってもよいし、メインMCU120とは別途の構成として設けられてもよい。また、当該記憶装置の種類は限定されず、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等であってよい。キー特定部113は、特定したキーについての情報を入力状態判定部114に提供する。また、キー特定部113は、特定したキーについての情報を操作入力値算出部112に提供してもよい。
操作入力値算出部112は、提供されたデルタ値に基づいて、ノードごとに、入力状態の判定において用いられる操作入力値を算出する。例えば、操作入力値算出部112は、デルタ値に基づいて、微分デルタ値及び/又は正規化デルタ値を算出する。ここで、微分デルタ値は、所定のサンプリングレートによって検出されるデルタ値の、サンプリング点間(フレーム間)における差分であり、デルタ値の時間変化を表すものである。また、正規化デルタ値は、デルタ値を所定の基準値に基づいて正規化したものである。
ここで、操作入力値算出部112は、キー特定部113によって特定されたキーについての情報に基づいて、キーごとに設定されている入力状態判定条件についての情報を取得し、当該入力状態判定条件に基づいて、入力状態判定処理において用いられる物理量のみを計算してもよい。例えば、操作入力値算出部112は、上述した記憶装置を参照することにより、入力状態判定条件についての情報を取得することができる。なお、例えば全てのキーに対して同一の入力状態判定条件が設定されている場合等、各キーでの入力状態判定処理において用いられる物理量が予め判明している場合には、操作入力値算出部112は、特定されたキーについての情報及び入力状態判定条件についての情報を取得することなく、検出された全てのノードに対して、当該物理量を算出してもよい。また、例えば、あるキーに設定されている入力状態判定条件が、デルタ値のみを用いて判定を行うものである場合には、操作入力値算出部112は操作入力値の算出処理を行わなくてもよい。操作入力値算出部112は、算出した操作入力値を、入力状態判定部114に提供する。
入力状態判定部114は、各ノードで検出されたデルタ値に基づいて、当該ノードに対応するキーの入力状態を判定する。入力状態の判定では、検出されたデルタ値に基づいて、各キーの入力状態がKEY ON状態であるかどうかが判断され得る。入力状態判定部114によって実行される処理は、上述した入力状態判定処理に対応している。具体的には、入力状態判定部114は、キー特定部113から提供されたキーについての情報に基づき、各ノードの操作入力値が、当該キーに対して設定されている入力状態判定条件を満たしているかどうかを判定する。例えば、上述した記憶装置に、各キーに対して設定された入力状態判定条件が記憶されており、入力状態判定部114は、当該記憶装置を参照することにより、キーごとに設定された入力状態判定条件についての情報を取得し、入力状態判定処理を実行することができる。
例えば、入力状態判定部114は、操作入力値を所定のしきい値と比較することにより入力状態を判定する。具体的には、入力状態判定部114は、操作入力値が当該しきい値よりも大きい場合に、当該ノードに対応するキーの入力状態が、KEY ON状態であると判定する。また、入力状態判定部114は、操作入力値が当該しきい値以下である場合に、当該ノードに対応するキーの入力状態が、KEY OFF状態であると判定する。あるいは、入力状態判定部114は、操作入力値が所定の入力状態判定条件を満たした場合に、キーの入力状態が、下記(4.第1の実施形態(KEY OFF検出処理))で説明する「KEY OFF WAIT状態」であると判定してもよい。「KEY OFF WAIT状態」の詳細については当該箇所で後述する。
なお、KEY ON状態を判定するためのしきい値と、KEY OFF状態を判定するためのしきい値とは、同一の値であってもよいし、互いに異なる値であってもよい。KEY ON状態を判定するためのしきい値及びKEY OFF状態を判定するためのしきい値として、互いに異なる値を用いる場合には、いわゆるチャタリングを防止することができ、操作性を向上させることができる。なお、このような二重しきい値によるチャタリングの防止処理については、下記(4−3.チャタリングの抑制)で詳しく説明する。
また、入力状態判定部114は、キーごとに入力状態を判定するが、例えば1つのキーに複数のノードが対応付けられている場合には、当該キーに含まれるいずれか1つのノードにおける操作入力値が入力状態判定条件を満たすことにより入力状態が判定されてもよいし(すなわち、「OR」による判定)、当該キーに含まれる全てのノードにおける操作入力値が条件を満たすことにより入力状態が判定されてもよい(すなわち、「AND」による判定)。入力状態判定条件は、キーごとに任意に設定可能である。例えば、あるキーでは、上述した「OR」による判定によって入力状態が判定されてもよいし、他のキーでは、上述した「AND」による判定によって入力状態が判定されてもよい。また、操作入力値と比較されるしきい値も、キーごとに異なる値であってもよい。各キーにおける入力状態判定条件は、例えばキーが使用される頻度や、キーの配置位置に基づく検出精度等を考慮して、適宜設定されてよい。
ここで、本明細書では、操作入力値としきい値との大小関係を説明するために、「以下」や「よりも大きい」等の表現を用いているが、これらの表現はあくまで例示であって、操作入力値としきい値とを比較する際の境界条件を限定するものではない。本実施形態では、操作入力値が当該しきい値と等しい場合に、その大小関係をどのように判断するかは任意に設定可能であってよい。本明細書における「以下」との表現は「よりも小さい」との表現と互いに読み替えることが可能であるし、「よりも大きい」との表現は「以上」との表現と互いに読み替えることが可能である。
入力状態判定部114は、キーごとの入力状態の判定結果についての情報を入力状態設定部115に提供する。
入力状態設定部115は、入力状態判定部114による入力状態の判定結果に基づいて、各キーの入力状態を設定する。入力状態設定部115は、入力状態の判定結果に応じて、各キーの入力状態を、KEY ON状態、KEY OFF状態又はKEY OFF WAIT状態に設定する。また、入力状態設定部115は、KEY ON状態を設定したキーに対応付けられているキーの内容を示す情報を、インターフェースIC140を介して、接続装置に送信する。接続装置では、送信されたキーについての情報が入力値として受け入れられる。なお、入力状態設定部115は、全てのキーについての入力状態判定処理の結果を後段のインターフェースIC130に送信してもよく、インターフェースIC130以降のいずれかの構成(例えば接続装置)によって、KEY ON状態であると判定されたキーに対応付けられている情報のみが抽出されてもよい。
以上、図7を参照して、本実施形態に係る入力検出システムの機能構成について説明した。なお、以上説明したような本実施形態に係る入力検出システム2の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
(3.情報処理方法(入力検出方法))
次に、図8を参照して、本実施形態に係る入力検出システムにおいて行われる情報処理方法(入力検出方法)の処理手順について説明する。図8は、本実施形態に係る入力検出方法の処理手順の一例を示すフロー図である。なお、図8に示す各処理は、図7に示す入力検出システム2の各機能によって実行され得る。
図8を参照すると、本実施形態に係る入力検出方法では、まず、入力装置1の各ノードにおけるデルタ値が検出される(ステップS101)。ステップS101に示す処理は、例えば、上述した図7に示すデルタ値検出部111によって実行され得る。ステップS101では、デルタ値は、当該デルタ値が検出されたノードのアドレス情報と対応付けられて検出される。
次に、ステップS101でデルタ値が検出されたノードのアドレス情報に基づいて、デルタ値が検出されたノードに対応するキーが特定される(ステップS103)。ステップS103に示す処理は、例えば、上述した図7に示すキー特定部113によって実行され得る。ステップS103では、例えば、予め設定される、入力装置1におけるノードのアドレスとキー配置との位置関係に基づいて、ノードのアドレス情報に基づいて対応するキーが特定される。
次に、ステップS101で検出されたデルタ値に基づいて、入力状態の判定処理において用いられる操作入力値が算出される(ステップS105)。ステップS105に示す処理は、例えば、上述した図7に示す操作入力値算出部112によって実行され得る。ステップS105では、例えば、ステップS103で特定されたキーについての情報に基づいて、キーごとに設定されている入力状態判定条件についての情報が取得され、当該入力状態判定条件に基づいて、入力状態判定処理において用いられる物理量が算出される。あるいは、例えば全てのキーに対して同一の入力状態判定条件が設定されている場合等、各キーでの入力状態判定処理において用いられる物理量が予め判明している場合には、ステップS105では、特定されたキーについての情報及び入力状態判定条件についての情報を用いることなく、検出された全てのノードに対して、当該物理量が算出されてもよい。更に、あるキーに設定されている入力状態判定条件がデルタ値のみを用いて判定を行うものである場合には、ステップS105に示す処理は行われなくてもよい。
次に、ステップS101で検出された及び/又はステップS105で算出されたノードごとの操作入力値に基づいて、当該ノードに対応するキーの入力状態が判定される(ステップS107)。ステップS107に示す処理は、例えば、上述した図7に示す入力状態判定部114によって実行される、入力状態判定処理に対応している。ステップS107では、予めキーごとに設定されている入力状態判定条件に基づいて、当該キーに対応するノードの操作入力値が、当該入力状態判定条件を満たすかどうかが判定される。
次に、ステップS107で判定されたキーごとの入力状態の判定結果に基づいて、当該キーの入力状態が設定される(ステップS109)。ステップS109に示す処理は、例えば、上述した図7に示す入力状態設定部115によって実行され得る。例えば、ステップS109では、入力状態の判定結果に基づいて、キーごとに、KEY ON状態、KEY OFF状態又はKEY OFF WAIT状態が設定される。ステップS109でKEY ON状態が設定されたキーに対応付られているキーの内容を示す情報が、入力装置1に接続される接続装置に送信され、当該接続装置に入力されることとなる。
以上、図8を参照して、本実施形態に係る入力検出システムにおいて行われる入力検出方法の処理手順について説明した。ここで、図9−図12を参照して、ステップS107に示す入力状態判定処理の具体的な一例について説明する。例えば、入力状態判定処理では、デルタ値又は微分デルタ値を所定のしきい値と比較することにより入力状態が検出され得る。以下では、このような、デルタ値と所定のしきい値との比較に基づく入力状態の判定処理のことを、デルタ値判定処理とも呼称する。また、微分デルタ値と所定のしきい値との比較に基づく入力状態の判定処理のことを、微分デルタ値判定処理とも呼称する。
まず、図9及び図10を参照して、デルタ値判定処理について説明する。図9は、入力装置1のあるノードにおいて検出されたデルタ値の一例を示すグラフ図である。また、図10は、デルタ値判定処理における処理手順を示すフロー図である。
図9では、横軸に入力装置1のあるキーに対する荷重値(gF)を取り、縦軸に当該キーに設けられるノードにおけるデルタ値を取り、両者の関係をプロットしている。図9では、一例として、「J」のキーに含まれる2つのノードのデルタ値をプロットしている。なお、図9及び後述するグラフ図においては、デルタ値、微分デルタ値及び正規化デルタ値等の操作入力値については、図6に示すコントローラIC110におけるカウント値(CNT)に換算したものを図示している。
図9を参照すると、ユーザがキーを押下した際の荷重とデルタ値との関係は、所定の値で略飽和する単調増加の関係にある。デルタ値判定処理では、デルタ値に対して適宜しきい値(デルタしきい値)が設定され、デルタ値が当該デルタしきい値を超えたかどうかが判断され得る。なお、図9に示す例では、デルタしきい値は約800(CNT)に設定されているが、本実施形態はかかる例に限定されない。デルタしきい値は、入力装置1の構成等に応じて、タイピングの際に負荷され得る荷重等を考慮して適宜設定されてよい。
図10では、一例として、4つのノードが設けられているキーに対するデルタ値判定処理の処理手順を図示している。図10を参照すると、デルタ値判定処理では、まず、キーに含まれる各ノードのデルタ値が検出される(ステップS201)。次に、検出された各ノードのデルタ値と、デルタしきい値とが比較される(ステップS203)。図10に示す例では、ノード1〜ノード4のいずれか1つのデルタ値がデルタしきい値よりも大きい場合に、当該キーの入力状態がKEY ON状態であると判断され、当該キーの入力状態としてKEY ON状態が設定される(ステップS205)。一方、ノード1〜ノード4のデルタ値のいずれもがデルタしきい値を超えない場合には、当該キーの入力状態はKEY OFF状態であると判断され、当該キーの入力状態としてKEY OFF状態が設定される(ステップS207)。
ここで、図10に示す例では、ステップS203において、各ノードのデルタ値について「OR」による判定が行われている。このように「OR」による判定が行われることにより、例えばキー領域10aの比較的端の領域が押圧された場合であっても、当該キー領域10aに対する操作入力がより高い感度で検出され得る。ただし、本実施形態はかかる例に限定されない。例えば、ステップS203では、各ノードのデルタ値について「AND」による判定(すなわち、ノード1〜ノード4のデルタ値の全てがデルタしきい値を超えた場合に、当該キーの入力状態がKEY ON状態であると判定される)が行われてもよい。また、ノード1〜ノード4のうちのいずれか2つ又は3つのノードのデルタ値がデルタしきい値を超えた場合に、当該キーの入力状態がKEY ON状態であると判定されてもよい。また、例えば、キー領域10a内でのノード1〜ノード4の配置を考慮して、ノード1〜ノード4のうちの特定のノードのデルタ値がデルタしきい値を超えた場合に、当該キーの入力状態がKEY ON状態であると判定されてもよい。デルタ値判定処理における具体的な判定条件は、キーにおけるノードの配置位置や配置数、実現したい検出精度等に応じて、適宜設定されてよい。
なお、図10並びに後述する図12、図15、図21、図22、図23、図25、図28及び図30に示すフロー図に示す各処理は、図7に示す入力検出システム2の各機能によって実行され得る。例えば、これらの図に示す処理において、デルタ値を検出する処理、操作入力値を算出する処理、入力状態を判定する処理及び入力状態を設定する処理は、それぞれ、図7に示すデルタ値検出部111、操作入力値算出部112、入力状態判定部114及び入力状態設定部115によって実行され得る。また、図10並びに後述する図12、図15、図21、図22、図23及び図25に示すフロー図に示す各処理は、これらの図に示す処理手順は、入力装置1に含まれる1つのキーに注目し、当該キーに対して実行される一連の処理に対応している。各フロー図においては図示を省略しているが、実際には、例えば図7に示すキー特定部113によって、デルタ値が検出されたノードに対応するキーが特定される処理が行われている。また、これらの図に示す一連の処理手順が、入力装置1内の他のキーに対しても同様に実行され得る。
次に、図11及び図12を参照して、微分デルタ値判定処理について説明する。図11は、入力装置1のあるノードにおいて検出された微分デルタ値の一例を示すグラフ図である。また、図12は、微分デルタ値判定処理における処理手順を示すフロー図である。
図11では、横軸に時間(ms)を取り、縦軸に入力装置1のあるノードにおける微分デルタ値を取り、当該ノードに対応するキーに対して操作入力を行った際の両者の関係をプロットしている。図11では、一例として、「J」のキーに含まれる2つのノードの微分デルタ値をプロットしている。図11を参照すると、微分デルタ値は、略ゼロで推移していた状態から、ある時刻で瞬間的に増加し、次の時刻で瞬間的に減少して負の値になった後に、再び略ゼロに戻るように検出されている。微分デルタ値が増加する瞬間は、指がキーを押圧した瞬間に対応しており、微分デルタ値が減少する瞬間は、指がキーから離れた瞬間に対応している。図11に示すように、本実施形態では、指がキーを押圧している間(すなわち、図2に示すキー領域10aが容量素子C1に近付いている間)は微分デルタ値が正の値を取り、指がキーから離れていく間(すなわち、図2に示すキー領域10aが容量素子C1から離れていく間)は微分デルタ値が負の値を取る。
本実施形態では、微分デルタ値に対して適宜しきい値(微分デルタしきい値)が設定され、微分デルタ値が当該微分デルタしきい値を超えたかどうかが判断され得る。なお、図11に示す例では、微分デルタしきい値は約50(CNT)に設定されているが、本実施形態はかかる例に限定されない。微分デルタしきい値は、入力装置1の構成等に応じて、タイピングの際に負荷され得る荷重等を考慮して、適宜設定されてよい。
図12では、一例として、4つのノードが割り当てられているキーに対する微分デルタ値判定処理の処理手順を図示している。図12を参照すると、微分デルタ値判定処理では、まず、キーに含まれる各ノードのデルタ値が検出され(ステップS301)、当該デルタ値に基づいて微分デルタ値が算出される(ステップS303)。次に、算出された各ノードの微分デルタ値と、微分デルタしきい値とが比較される(ステップS305)。図12に示す例では、ノード1〜ノード4のいずれか1つの微分デルタ値が微分デルタしきい値よりも大きい場合に、当該キーの入力状態がKEY ON状態であると判断され、当該キーの入力状態としてKEY ON状態が設定される(ステップS307)。一方、ノード1〜ノード4のデルタ値のいずれもがデルタしきい値を超えない場合には、当該キーの入力状態はKEY OFF状態であると判断され、当該キーの入力状態としてKEY OFF状態が設定される(ステップS309)。
なお、図12に示す例では、ステップS305において、各ノードの微分デルタ値について「OR」による判定が行われている。このように「OR」による判定が行われることにより、例えばキー領域10aの比較的端の領域が押下された場合であっても、当該キー領域10aに対する操作入力がより高い感度で検出され得る。ただし、本実施形態はかかる例に限定されない。例えば、微分デルタ値判定処理においても、デルタ値判定処理と同様に、ステップS305における具体的な判定基準は任意に設定可能であってよい。微分デルタ値判定処理における具体的な判定条件は、キーにおけるノードの配置位置や配置数、実現したい検出精度等に応じて、適宜設定されてよい。
以上、図9−図12を参照して、ステップS107に示す入力状態判定処理の具体的な一例について説明した。ここで、以上説明したデルタ値判定処理及び微分デルタ値判定処理は、本実施形態に係る入力状態判定処理における基本的な判定処理の一例である。本実施形態では、例えばデルタ値判定処理及び微分デルタ値判定処理のような基本的な判定処理のみを用いて入力状態判定処理が行われてもよいし、これらの基本的な判定処理を複数組み合わせることにより入力状態判定処理が行われてもよい。例えば、あるキーについて、デルタ値判定処理及び微分デルタ値判定処理の両方が行われ、「デルタ値判定処理の結果がKEY ON状態であり、かつ、微分デルタ値判定処理の結果がKEY ON状態である」場合に、当該キーの入力状態がKEY ON状態であると判定されてもよいし、「デルタ値判定処理の結果がKEY ON状態である、又は、微分デルタ値判定処理の結果がKEY ON状態である」場合に、当該キーの入力状態がKEY ON状態であると判定されてもよい。
本実施形態では、互いに異なる複数の判定処理が組み合わされて入力状態判定処理が行われることにより、キー入力の検出精度を制御することができ、ユーザの要望に適うような操作性が実現され得る。以下では、基本的な判定処理を適宜組み合わせることにより実現される、より高い操作性を得ることが可能な入力状態判定処理のいくつかの実施形態について説明する。
(4.第1の実施形態(KEY OFF検出処理))
本開示の第1の実施形態として、入力状態判定処理において、KEY OFF状態を検出する際のKEY OFF検出処理における好適な一実施形態について説明する。
(4−1.第1の実施形態に至る背景)
まず、第1の実施形態について詳述するに先立ち、本発明者らが第1の実施形態に係る入力状態判定処理に想到した背景について説明する。第1の実施形態では、上記(1.入力装置の構成)で説明した入力装置1に対する入力状態判定処理が行われる。ここで、入力装置1では、操作部材10のキー領域10aの押圧量が、容量素子C1の容量変化量として検出される。従って、例えばキー領域10aから指を離した後も、操作部材10が変形している間(操作部材10と電極基板20との距離が短くなっている間)は、ゼロではない所定の大きさのデルタ値が検出され続けることとなる。
一方、入力装置1が接続されるPC等の接続装置に一般的に適用されている各種のOS(Operating System)には、キーボードにおいて同一のキーが押され続けた場合に、当該キーに対応する情報が連続して入力される機能(いわゆる、リピートキー機能)が実装されていることが多い。当該リピートキー機能では、所定の時間、同一のキーの入力状態がKEY ON状態である場合に、当該キーの入力が連続して行われることとなる。リピートキー機能の実行が判定される、KEY ON状態の継続時間は、OSの種類によっても異なるが、例えば、あるOSにおける当該継続時間は、33(ms)に設定されている。
上述したように、入力装置1では、キー領域10aから指を離した後も、操作部材10が変形している間は所定の大きさのデルタ値が検出され続ける。従って、デルタ値判定処理によってKEY OFF状態を検出しようとすると、例えば、操作部材10が元の形状に戻るまで比較的長い時間を要する場合には、リピートキー機能が実行されてしまい、ユーザの意図に反して同一のキーが連続して入力されてしまう可能性がある。本発明者らは、入力装置1について、このようなリピートキー機能に基づく誤検出が発生し得るかどうかを調べる実験を行った。
実験として、指によるキー領域10aへの操作入力を想定し、指を模した冶具を用いて所定の荷重でキー領域10aを押圧した後、時刻T1で冶具をキー領域10aから離す操作を行い、その間の、押圧したキー領域10aに対応するノードのデルタ値を検出した。また、キー領域10aを押圧する際の荷重の依存性を調べるために、互いに異なる複数の値の荷重(30(gF)、100(gF)、500(gF))でキー領域10aを押圧した場合におけるデルタ値をそれぞれ検出し、デルタ値の時間変化を比較した。図13に実験の結果を示す。図13は、入力装置1において、キー領域10aを押圧した状態から解放した場合における、デルタ値の時間変化を示すグラフ図である。図13では、横軸に時間(ms)を取り、縦軸に入力装置1におけるあるノードのデルタ値を取り、両者の関係をプロットしている。また、図13では、一例として、「K」のキーに対する実験結果を図示している。
図13を参照すると、時刻T1において冶具をキー領域10aから離した瞬間、デルタ値は急峻に減少していることが分かる。ここで、本発明者らが実験に用いた入力装置1では、その仕様上、KEY OFF状態と判定されるためのデルタしきい値の最低値は、約200(CNT)であり得る。つまり、デルタ値判定処理によってKEY OFF状態を検出しようとした場合には、ノードのデルタ値が200(CNT)以下になったときに、当該ノードに対応するキーの入力状態がKEY OFF状態と判定され得る。図13に示す実験結果から、実験に用いた入力装置1では、冶具をキー領域10aから離した時刻T1から、ノードのデルタ値が200(CNT)以下となるまでの時間TDは、時刻T1以前の負荷荷重が500(gF)のときに約110(ms)であった(図13では、TD=110(ms)の場合だけを代表的に図示している(時刻T1から時刻T2までの間))。負荷する荷重を小さくする(これは、キーを軽く打鍵することに対応する。)ことにより、時間TDは短縮され得るが、実験に用いた最も小さい荷重である30(gF)の場合であっても、TDは約62(ms)であった。
上述したように、例えばあるOSにおいては、リピートキー機能の実行が判定されるKEY ON状態の継続時間は、33(ms)に設定されている。従って、上記の結果からは、今回の実験に用いた入力装置1では、単純なデルタ値判定処理により入力状態判定処理を行った場合には、リピートキー機能に基づくユーザの意図に反したキーの誤検出を十分に防止できない可能性がある。
上記の実験結果に鑑みれば、入力装置1においては、押圧後に操作部材10が元の形状に戻るまでに時間が掛かってしまう場合であっても、例えばリピートキー機能に基づくユーザの意図に反した誤検出を防止し、よりユーザの操作性を向上させる技術が求められていた。そこで、本発明者らは、入力装置1におけるKEY OFF検出処理において、誤検出を防止し、ユーザの操作性をより向上させ得る構成について鋭意検討した結果、以下に説明する第1の実施形態に想到した。以下では、第1の実施形態について詳しく説明する。
(4−2.KEY OFF検出処理の詳細)
図14及び図15を参照して、第1の実施形態に係るKEY OFF検出処理について説明する。図14は、入力装置1のあるノードにおいて検出されたデルタ値及び微分デルタ値の一例を示すグラフ図である。また、図15は、第1の実施形態に係るKEY OFF検出処理における処理手順を示すフロー図である。
図14では、横軸に時間(ms)を取り、縦軸に入力装置1におけるあるノードのデルタ値及び微分デルタ値を取り、両者の関係をプロットしている。図14では、一例として、「K」のキーに含まれるある1つのノードのデルタ値及び微分デルタ値をプロットしている。図14に示す時刻T3、T4は、それぞれ、指によるキーの押圧を開始した時刻、指をキーから離した時刻に対応している。
第1の実施形態では、デルタしきい値として、互いに異なる2つのしきい値が設定される。すなわち、KEY ON状態を判定するためのデルタしきい値(ON)と、KEY OFF状態を判定するためのデルタしきい値(OFF)である。また、微分デルタ値としては、後述するKEY OFF WAIT状態を判定するための微分デルタしきい値(OFF WAIT)が設定される。図14に示す例では、デルタしきい値(ON)、デルタしきい値(OFF)及び微分デルタしきい値(OFF WAIT)は、それぞれ、250(CNT)、200(CNT)及び−150(CNT)である。このように、第1の実施形態では、KEY ON状態及びKEY OFF状態の判定は、デルタ値判定処理に基づいて行われ、KEY OFF WAIT状態の判定は、微分デルタ値判定処理に基づいて行われる。ただし、図14に示すデルタしきい値(ON)、デルタしきい値(OFF)及び微分デルタしきい値(OFF WAIT)の値は一例であり、第1の実施形態では、これらのしきい値の値は、入力装置1の構成やユーザによる操作性等を考慮して適宜設定されてよい。
ここで、KEY OFF WAIT状態とは、デルタ値がデルタしきい値(OFF)以下となり、キーがKEY OFF状態にならない限り、デルタ値がデルタしきい値(ON)よりも大きくてもKEY ON状態とはならない状態のことである。いわば、KEY OFF WAIT状態は、KEY OFF状態になることを待機している状態であり得る。KEY OFF WAIT状態は、接続装置に対するキーについての情報の入力という観点では、KEY OFF状態と同様に扱われ、KEY OFF WAIT状態にあるキーについての情報は接続装置には入力されない。第1の実施形態では、このようなKEY OFF WAIT状態という概念を導入することにより、入力装置1において押圧後に操作部材10が元の形状に戻るまでに時間が掛かってしまう場合であっても、リピートキー機能に基づくユーザの意図に反した誤検出を防止することが可能となる。
図14を参照して、第1の実施形態に係るKEY OFF検出処理についてより詳しく説明する。まず、時刻T3以前は、対象とするキーに対する操作入力がない状態であるため、当該キーはKEY OFF状態になっている。時刻T3において、当該キーが押圧されることにより、デルタ値及び微分デルタ値がともに急峻に立ち上がる。デルタ値がデルタしきい値(ON)を超えることにより、当該キーの入力状態がKEY ON状態であると判定され、当該キーの入力状態がKEY OFF状態からKEY ON状態に移行する。
次に、時刻T4において、キーから指が離される。指が離されることにより、キーに対して負荷されていた荷重が解放され、デルタ値及び微分デルタ値ともに急峻に減少する。ただし、デルタ値は即座に定常値に戻るわけではなく、図13を参照して上述したように、なだらかに多少の時間を要して定常値に戻る。一方、キーから指が離され、微分デルタ値が微分デルタしきい値(OFF WAIT)以下となることにより、当該キーの入力状態がKEY OFF WAIT状態であると判定され、当該キーの入力状態がKEY ON状態からKEY OFF WAIT状態に移行する。このように、第1の実施形態では、微分デルタ値判定処理によって、KEY ON状態の終了が判定される。
次いで、デルタ値がデルタしきい値(OFF)以下になると(時刻T5)、当該キーの入力状態がKEY OFF状態であると判定され、当該キーの入力状態がKEY OFF WAIT状態からKEY OFF状態に移行する。
ここで、デルタ値は操作部材10の変形量に応じて検出される値であるため、デルタ値によって、指をキーから離した瞬間を精度良く捉えることは困難であると言える。一方、微分デルタ値は、操作部材10の変形量の時間変化であるため、微分デルタ値を用いることにより、指を離した瞬間を精度良く捉えることが可能となる。第1の実施形態では、このような特性を利用して、微分デルタ値の変化によって指が離れた瞬間を検出し、当該微分デルタ値の変化をトリガとして、キーの入力状態をKEY ON状態からKEY OFF WAIT状態に移行させる。このような処理を行うことにより、第1の実施形態では、KEY ON状態である時間を、指がキー領域10aに接触している時間とほぼ等しくすることができる。従って、ユーザが指をキーから離した後に、リピートキー機能によってキーが誤入力されてしまう事態を防止することが可能となる。
図15を参照して、以上説明した第1の実施形態に係るKEY OFF検出処理の処理手順について説明する。図15を参照すると、第1の実施形態に係るKEY OFF検出処理では、まず、対象とするキーの入力状態はKEY OFF状態になっている(ステップS401)。
所定のサンプリングレートでデルタ値が検出され(ステップS403)、検出されたデルタ値に基づいてデルタ値判定処理が行われる(ステップS405)。デルタ値判定処理の結果、検出されたデルタ値がデルタしきい値(ON)以下である場合には、当該キーの入力状態はKEY OFF状態であると判定され、ステップS401に戻る。つまり、当該キーの入力状態としてはKEY OFF状態が維持され(ステップS401)、次のサンプリングのタイミングで検出されたデルタ値に基づくデルタ値判定処理が繰り返し行われる(ステップS403、S405)。一方、ステップS405におけるデルタ値判定処理の結果、検出されたデルタ値がデルタしきい値(ON)よりも大きい場合には、当該キーの入力状態はKEY ON状態であると判定され、当該キーの入力状態がKEY OFF状態からKEY ON状態に移行する(ステップS407)。KEY ON状態であるキーについての情報が接続装置に入力されることとなる。
次に、KEY ON状態において、次のサンプリングのタイミングで検出されたデルタ値に基づいて微分デルタ値が算出され、当該デルタ値及び微分デルタ値に基づくデルタ値判定処理及び微分デルタ値判定処理が行われる(ステップS409、S411、S413)。ステップS413におけるデルタ値判定処理では、デルタ値がデルタしきい値(OFF)と比較される。デルタ値がデルタしきい値(OFF)以下である場合には、当該キーの入力状態はKEY OFF状態であると判定され、ステップS401に戻る。つまり、当該キーの入力状態がKEY OFF状態に移行し(ステップS401)、ステップS403以降の処理が繰り返し実行される。
また、ステップS413における微分デルタ値判定処理では、微分デルタ値が微分デルタしきい値(OFF WAIT)と比較される。微分デルタ値が微分デルタしきい値(OFF WAIT)以下である場合には、当該キーの入力状態はKEY OFF WAIT状態であると判定され、当該キーの入力状態がKEY ON状態からKEY OFF WAIT状態に移行する(ステップS415)。
一方、ステップS413において、デルタ値がデルタしきい値(OFF)以下でなく、かつ、微分デルタ値が微分デルタしきい値(OFF WAIT)以下でない場合には、当該キーの入力状態はKEY ON状態であると判定され、ステップS407に戻る。つまり、当該キーの入力状態としてはKEY ON状態が維持され(ステップS407)、次のサンプリングのタイミングで検出されたデルタ値に基づく、微分デルタ値の算出処理、並びに、デルタ値判定処理及び微分デルタ値判定処理が繰り返し行われる(ステップS409、S411、S413)。
なお、ステップS413におけるデルタ値判定処理及び微分デルタ値判定処理では、デルタ値判定処理の結果が優先されるように設定されている。例えば、デルタ値がデルタしきい値(OFF)以下であり、かつ、微分デルタ値が微分デルタしきい値(OFF WAIT)以下でない場合には、当該キーの入力状態はKEY OFF状態であると判定され、ステップS401に戻る。デルタ値がデルタしきい値(OFF)以下であり、かつ、微分デルタ値が微分デルタしきい値(OFF WAIT)以下でない場合とは、微分デルタ値が微分デルタしきい値(OFF WAIT)以下になる前に、デルタ値がデルタしきい値(OFF)以下になる状況を表している。これは、指をキー領域10aから離した瞬間に、デルタ値が急激に減少しデルタしきい値(OFF)以下になることを意味している。入力装置1のキー領域10aがこのような弾性特性を有する場合であれば、キーの入力状態がKEY ON状態からKEY OFF状態に、KEY OFF WAIT状態を経ずに直接遷移しても(すなわち、KEY OFF WAIT状態を導入しなくても)、リピートキー機能に基づく誤検出を防止するという目的は十分に達成され得ると考えられる。
ステップS415においてキーの入力状態がKEY OFF WAIT状態に移行すると、次に、次のサンプリングのタイミングで検出されたデルタ値に基づいて、デルタ値判定処理が行われる(ステップS417、S419)。ステップS419におけるデルタ値判定処理では、デルタ値がデルタしきい値(OFF)と比較される。デルタ値がデルタしきい値(OFF)以下である場合には、当該キーの入力状態はKEY OFF状態であると判定され、ステップS401に戻る。つまり、当該キーの入力状態がKEY OFF状態に移行し(ステップS401)、ステップS403以降の処理が繰り返し実行される。一方、デルタ値がデルタしきい値(OFF)以下でない場合には、当該キーの入力状態はKEY OFF WAIT状態であると判定され、ステップS415に戻る。つまり、当該キーの入力状態としてはKEY OFF WAIT状態が維持され(ステップS415)、次のサンプリングのタイミングで検出されたデルタ値に基づくデルタ値判定処理が繰り返し行われる(ステップS417、S419)。
以上、図15を参照して、第1の実施形態に係るKEY OFF検出処理の処理手順について説明した。以上説明したように、第1の実施形態によれば、指をキー領域10aから離した瞬間を微分デルタ値によって検出し、キーの入力状態をKEY ON状態からKEY OFF WAIT状態に移行させる。そして、デルタ値がデルタしきい値(OFF)以下となり、キーの入力状態がKEY OFF状態になるまで、KEY OFF WAIT状態が維持される。従って、KEY ON状態である時間を、指がキー領域10aに接触している時間とほぼ等しくすることができ、ユーザが指をキーから離した後に、リピートキー機能によってキーが誤入力されてしまう事態を抑制することが可能となる。よって、ユーザの操作性を向上させることができる。
(4−3.チャタリングの抑制)
ここで、図16及び図17を参照して、第1の実施形態において適用されている、デルタしきい値として二重しきい値(例えば、図14に示すデルタしきい値(ON)及びデルタしきい値(OFF))を設定することにより実現される、チャタリングの抑制効果について説明する。図16及び図17は、入力状態判定処理において二重しきい値を設定することによるチャタリングの抑制効果について説明するための説明図である。ここで、本明細書においてチャタリングとは、キーを押圧している最中における押圧力の微小な変化により、ユーザの意図に反して、複数回当該キーが入力されてしまう現象を言う。
図16及び図17では、横軸に時間を取り、縦軸に入力装置1におけるあるノードのデルタ値を取り、当該ノードに対応するキーをユーザが1回打鍵した際における、当該デルタ値の時間変化の様子を概略的に示している。図中の丸印は、各時間で検出されたデルタ値を模式的に表すものである。
図16は、しきい値が1つだけ設定されている場合における、デルタ値判定処理を示している。この場合、デルタ値が当該しきい値を超えた場合に、当該ノードに対応するキーの入力状態がKEY ON状態であると判定され、デルタ値が当該しきい値以下である場合に、当該ノードに対応するキーの入力状態がKEY OFF状態であると判定される。従って、1回の打鍵中であっても、図16に示すようにしきい値を跨いでデルタ値が変化した場合には、デルタ値がしきい値を超えることにより一旦キーの入力状態がKEY ON状態であると判定された後に、デルタ値が僅かに減少し、しきい値を下回ることにより、キーの入力状態がKEY OFF状態であると判定され、再びデルタ値がしきい値を超えることにより、キーの入力状態が再度KEY ON状態であると判定される事態が生じ得る。この場合、ユーザは1回だけキーを打鍵したつもりであっても、同一のキーが2回入力されてしまう(すなわち、チャタリングが発生する)こととなる。
一方、図17は、しきい値が2つ設定されている場合における、デルタ値判定処理を示している。この場合、デルタ値がしきい値(ON)を超えた場合に、当該ノードに対応するキーの入力状態がKEY ON状態であると判定され、デルタ値がしきい値(OFF)以下である場合に、当該ノードに対応するキーの入力状態がKEY OFF状態であると判定される。従って、打鍵中におけるデルタ値がしきい値(ON)を跨いで変化した場合であっても、デルタ値がしきい値(OFF)以下にならない限りは、キーの入力状態がKEY OFF状態であると判定されることがなく、チャタリングが抑制され得る。
以上、図16及び図17を参照して、入力状態判定処理において二重しきい値を設定することによるチャタリングの抑制効果について説明した。以上説明したように、デルタしきい値として二重しきい値を用いることにより、チャタリングが抑制され、よりユーザにとって操作性の高いキー入力が実現され得る。なお、以上説明した二重しきい値は、第1の実施形態に係るKEY OFF検出処理だけではなく、後述する第2〜第4の実施形態において行われるデルタ値判定処理においても、好適に適用され得る。
(5.第2の実施形態(KEY ON検出処理))
本開示の第2の実施形態として、入力状態判定処理において、KEY ON状態を検出する際のKEY ON検出処理における好適な一実施形態について説明する。
(5−1.第2の実施形態に至る背景)
まず、第2の実施形態について詳述するに先立ち、本発明者らが第2の実施形態に係る入力状態判定処理に想到した背景について説明する。第2の実施形態では、第1の実施形態と同様に、上記(1.入力装置の構成)で説明した入力装置1に対する入力状態判定処理が行われる。ここで、入力装置1では、操作部材10のキー領域10aの押圧量が、容量素子C1の容量変化量として検出されるが、入力装置1の厚みは例えば数(mm)程度であるため、キー領域10aの僅かな変化量も容量変化量として検出され得る。従って、入力状態判定条件によっては、例えば入力装置1のホームポジションに手を載せたり、入力装置1の上に手を載せてキーを探ったりすると、ユーザの意図に反してキーの入力が検出されてしまう事態が発生し得る。このようなキーの誤検出を防止するための方法として、キー入力を行っていない間は入力装置1から手を浮かせておくことが考えられるが、このような動作をユーザに強いることは、ユーザにとって不便を感じさせる可能性がある。
一方で、入力装置1のようなキーボードにおいては、ユーザには、より「軽い」タッチでキーを打鍵したいという要望がある。また、入力装置1がより小型化し、各キー領域10aの面積が縮小すると、指先(爪)でキーを軽く打鍵するような使われ方も想定される。
このように、入力装置1においては、上述した入力装置1の上に手を載せキーを探るような操作(以下、探り操作とも呼称する。)ではキーの入力を検出せず(すなわちKEY OFF状態であると判定し)、上述した爪でキーを打鍵する操作(以下、爪打ち操作とも呼称する。)ではキーの入力を検出したい(すなわちKEY ON状態であると判定したい)という要望が存在する。本発明者らは、入力装置1における入力状態判定処理に単純なデルタ値検出処理(例えば図10に例示する処理)を適用した場合に、このような要望が実現可能かどうかを調べる実験を行った。
図18に実験の結果を示す。図18は、入力装置1におけるあるキーに対する押圧力と、当該キーに含まれるノードにおけるデルタ値との関係を示すグラフ図である。図18では、横軸にキーに負荷された荷重値(gF)を取り、縦軸に当該キーに対応するノードのデルタ値を取り、両者の関係をプロットしている。図18では、一例として、「K」のキーに含まれる2つのノードにおけるデルタ値を図示している。
また、当該実験では、図18に示すデルタ値を求めたキーに対して、上述した探り操作と、爪打ち操作とを行い、その際にキーに負荷され得る荷重値を求めた。複数の異なるユーザによって探り操作及び爪打ち操作を繰り返し行い、その統計を取った結果、爪打ち操作によって負荷されることが想定される荷重値は約15(gF)〜30(gF)であり、探り操作によって負荷されることが想定される荷重値は約30(gF)〜50(gF)であることが分かった。
図18を参照すると、キーに対する押圧力と、当該キーに対応するノードのデルタ値とは、単調増加の関係にある。キーに対して爪打ち操作に対応する荷重値(約15(gF)〜30(gF))が負荷された場合には、当該キーに対応するノードのデルタ値は、おおよそ120(CNT)〜300(CNT)の範囲の値を取り、キーに対して探り操作に対応する荷重値(約30(gF)〜50(gF))が負荷された場合には、当該キーに対応するノードのデルタ値は、おおよそ300(CNT)〜500(CNT)の範囲の値を取ることが分かる。
ここで、実験に用いた入力装置1におけるデルタ値判定処理において、KEY ON状態を判定するために一般的に用いられ得るしきい値(デルタしきい値(ON))は、例えば約300(CNT)であり得る。図18に示すように、例えばデルタしきい値(ON)を300(CNT)に設定してデルタ値判定処理を行おうとすると、探り操作を行った場合に当該キーがKEY ON状態であると判定されてしまうこととなる。図18に示す例では、探り操作を行った場合にキーの誤検出を防止するためには、デルタしきい値(ON)を500(CNT)よりも大きい値、例えば550(CNT)程度に設定する必要があることが分かる。一方、例えばデルタしきい値(ON)を550(CNT)に設定した場合には、爪打ち操作を検出することができなくなる。
このように、図18に示す結果からは、実験に用いた入力装置1では、単純なデルタ値判定処理により入力状態判定処理を行った場合には、探り操作ではキーの入力を検出せず、爪打ち操作ではキーの入力を検出したいという要望を実現することは困難であると考えられる。
上記の実験結果に鑑みれば、入力装置1においては、例えばホームポジションに指を載せる際の操作に対応する探り操作、及び、実際にキーを打鍵する際の操作に対応する爪打ち操作という、互いに異なる特性を有する操作を判別し、特定の操作によるキー入力のみを検出することにより、ユーザがキー入力を意図して行った操作によるキー入力のみを好適に検出することが求められていた。そこで、本発明者らは、入力装置1におけるKEY ON検出処理において、このような要望を実現し、ユーザの操作性をより向上させ得る構成について鋭意検討した結果、以下に説明する第2の実施形態に想到した。以下では、第2の実施形態について詳しく説明する。
(5−2.KEY ON検出処理の詳細)
探り操作が行われる実際の状況(例えば、ホームポジションに指を載せ、入力装置1の上で指でキーを探る状況)を想定すると、探り操作とは、キーに対する押圧力は比較的大きいが、キーに対する押圧速度は比較的遅い操作であると言える。また、爪打ち操作が行われる実際の状況(例えば、文章等を入力するために入力装置1のキーを連続的に打鍵する状況)を想定すると、爪打ち操作とは、キーに対する押圧力は比較的小さいが、キーに対する押圧速度は比較的速い操作であると言える。第2の実施形態では、探り操作及び爪打ち操作のこのような特性に注目し、微分デルタ値判定処理を用いることにより、探り操作ではキーの入力を検出せず、爪打ち操作ではキーの入力を検出するという入力状態判定処理を実現する。
一方、探り操作と類似する、キーに対する操作入力として、キーを押し続ける操作(以下、長押し操作とも呼称する。)がある。長押し操作では、同一のキーが押圧され続けることとなるため、デルタ値は比較的大きいが、微分デルタ値は略ゼロになることが想定される。入力装置1の操作性の観点からは、探り操作ではキーの入力は検出されないことが望ましいが、長押し操作ではキーの入力は検出されることが望ましい。従って、第2の実施形態では、デルタ値判定処理を用いることにより、探り操作ではキーの入力を検出せず、長押し操作ではキーの入力を検出するという入力状態判定処理を実現する。
このように、第2の実施形態は、デルタ値判定処理と微分デルタ値判定処理とを組み合わせて入力状態判定処理を行うことにより、探り操作ではキーの入力が検出されないが、爪打ち操作及び長押し操作ではキーの入力が検出されるという状況を実現するものである。
図19−図21を参照して、第2の実施形態に係るKEY ON検出処理について詳しく説明する。図19は、爪打ち操作時における、入力装置1のあるノードにおいて検出されたデルタ値及び微分デルタ値の一例を示すグラフ図である。図20は、探り操作時における、入力装置1のあるノードにおいて検出されたデルタ値及び微分デルタ値の一例を示すグラフ図である。また、図21は、第2の実施形態に係るKEY ON検出処理における処理手順を示すフロー図である。
図19及び図20では、横軸に時間(ms)を取り、縦軸に入力装置1のあるノードにおけるデルタ値及び微分デルタ値を取り、両者の関係をプロットしている。図19及び図20では、一例として、「K」のキーに含まれるある1つのノードのデルタ値及び微分デルタ値をプロットしている。
第2の実施形態では、KEY ON状態を検出するためのしきい値として、互いに異なる2つのしきい値が設定される。すなわち、デルタ値と比較されるしきい値であるデルタしきい値(ON)と、微分デルタ値と比較されるしきい値である微分デルタしきい値(ON)である。図19及び図20に示す例では、デルタしきい値(ON)及び微分デルタしきい値(ON)は、それぞれ、550(CNT)及び180(CNT)に設定されている。第2の実施形態では、デルタ値判定処理においてデルタ値がデルタしきい値(ON)よりも大きいと判定された場合、又は、微分デルタ値判定処理において微分デルタ値が微分デルタしきい値(ON)よりも大きいと判定された場合に、当該キーの入力状態がKEY ON状態であると判定される。なお、図19及び図20では、参考として、デルタ値判定処理においてKEY ON状態を判定するために一般的に用いられ得るしきい値(300(CNT))を示す線を併せて図示している。
例えば、図19を参照すると、爪打ち操作時には、当該キーに対応するノードのデルタ値はデルタしきい値(ON)を超えていないが、微分デルタ値は微分デルタしきい値(ON)を超えている。従って、当該キーの入力状態はKEY ON状態であると判定され得る。一方、図20を参照すると、探り操作時には、当該キーに対応するノードのデルタ値はデルタしきい値(ON)を超えておらず、微分デルタ値も微分デルタしきい値(ON)を超えていない。従って、当該キーの入力状態はKEY OFF状態であると判定され得る。このように、第2実施形態によれば、探り操作ではキーの入力が検出されず、爪打ち操作ではキーの入力が検出されるという状況が実現されることとなる。なお、一般的に用いられ得るしきい値(300(CNT))によるデルタ値判定処理行った場合には、探り動作によるキー入力が検出されてしまい、上記のような所望の状況が実現され得ないことが分かる。
ここで、上述したように、探り操作とは、キーに対する押圧力は比較的大きいが、キーに対する押圧速度は比較的遅い操作であると言える。また、爪打ち操作とは、キーに対する押圧力は比較的小さいが、キーに対する押圧速度は比較的速い操作であると言える。従って、第2の実施形態では、微分デルタしきい値(ON)を、爪打ち操作での微分デルタ値は検出するが、探り操作での微分デルタ値は検出しないような値に適宜設定する。そして、微分デルタ値判定処理によってKEY ON状態の判定を行うことにより、探り操作によるキー入力は検出せずに、爪打ち操作によるキー入力は検出することが可能となる。
一方、長押し操作は、ユーザがキーの入力を意図してキーを押圧している状態であり、探り操作は、ユーザがキーの入力を意図しないでキーの上に指を載せているだけの状態であるため、長押し操作でのデルタ値は、探り操作でのデルタ値よりも大きいことが予想される。従って、第2の実施形態では、デルタしきい値(ON)を、長押し操作でのデルタ値は検出するが、探り操作でのデルタ値は検出しないような比較的大きい値に適宜設定する。そして、デルタ値判定処理によってKEY ON状態の判定を行うことにより、探り操作によるキー入力は検出せずに、長押し操作によるキー入力は検出することが可能となる。
このように、第2の実施形態では、デルタしきい値(ON)及び微分デルタしきい値(ON)を適切に設定し、デルタ値判定処理及び微分デルタ値判定処理を組み合わせてKEY ON状態の判定を行うことにより、爪打ち操作、探り操作及び長押し操作という、互いに異なる特性を有する操作を判別し、特定の操作によるキー入力のみを検出することが可能となる。例えば、微分デルタしきい値(ON)は、実際にユーザがキーを打鍵する際に検出される微分デルタ値に基づいて設定され、デルタしきい値(ON)は、実際にユーザがキーを長押しする際に検出されるデルタ値に基づいて設定され得る。従って、例えば爪打ち操作や長押し操作のようなユーザが入力を意図する操作を行った場合のみキーの入力を検出し、探り操作のようなユーザが入力を意図しない操作を行った場合にはキーの入力を検出しないような、よりユーザの操作性を向上させる処理を行うことが可能となる。なお、図20に示すデルタしきい値(ON)及び微分デルタしきい値(ON)の値は一例であり、第2の実施形態では、これらのしきい値の値は、入力装置1の構成や上述したような判別したい操作の特性等を考慮して、適宜設定されてよい。
なお、図19及び図20では図示を省略しているが、第2の実施形態に係るKEY ON検出処理においても、第1の実施形態と同様に、上記(4−3.チャタリングの抑制)で説明した二重しきい値がデルタしきい値として適用されてよい。デルタしきい値として二重しきい値を用いることにより、チャタリングの発生を抑制し、より利便性の高いキー入力が実現され得る。
図21を参照して、以上説明した第2の実施形態に係るKEY ON検出処理の処理手順について説明する。図21を参照すると、第2の実施形態に係るKEY ON検出処理では、まず、対象とするキーの入力状態はKEY OFF状態になっている(ステップS501)。
所定のサンプリングレートでデルタ値が検出され(ステップS503)、検出されたデルタ値に基づいて微分デルタ値が算出される(ステップS505)。そして、当該デルタ値及び微分デルタ値に基づくデルタ値判定処理及び微分デルタ値判定処理が行われる(ステップS507)。ステップS507に示す処理では、デルタ値がデルタしきい値(ON)と比較され、微分デルタ値が微分デルタしきい値(ON)と比較される。そして、デルタ値がデルタしきい値(ON)よりも大きい場合、又は、微分デルタ値が微分デルタしきい値(ON)よりも大きい場合には、当該キーの入力状態がKEY ON状態であると判定され、それ以外の場合には、当該キーの入力状態がKEY OFF状態であると判定される。
ここで、第2の実施形態では、微分デルタしきい値(ON)は、爪打ち操作での微分デルタ値は検出するが、探り操作での微分デルタ値は検出しないような値に適宜設定され得る。また、デルタしきい値(ON)は、長押し操作でのデルタ値は検出するが、探り操作でのデルタ値は検出しないような値に適宜設定され得る。従って、ステップS507に示す処理では、探り操作という、ユーザがキーの入力を意図していない操作におけるキー入力が検出されず、爪打ち操作及び長押し操作という、ユーザがキーの入力を意図している操作におけるキー入力が好適に検出され得る。
ステップS507においてKEY ON状態であると判定された場合には、当該キーの入力状態がKEY OFF状態からKEY ON状態に移行し(ステップS509)、第2の実施形態に係るKEY ON検出処理における一連の処理が終了する。入力が検出されたキーについての情報が接続装置に入力されることとなる。
一方、ステップS507においてKEY OFF状態であると判定された場合には、ステップS501に戻る。つまり、当該キーの入力状態としてはKEY OFF状態が維持され(ステップS501)、次のサンプリングのタイミングで検出されたデルタ値に基づく、微分デルタ値の算出処理、並びに、デルタ値判定処理及び微分デルタ値判定処理が繰り返し行われる(ステップS503、S505、S507)。
以上、図21を参照して、第2の実施形態に係るKEY ON検出処理の処理手順について説明した。以上説明したように、第2の実施形態によれば、デルタしきい値(ON)及び微分デルタしきい値(ON)を適切に設定し、デルタ値判定処理及び微分デルタ値判定処理を組み合わせてKEY ON状態の判定を行うことにより、爪打ち操作、探り操作及び長押し操作という、互いに異なる特性を有する操作を判別し、特定の操作によるキー入力のみを検出することが可能となる。従って、ユーザがキー入力を意図して行った操作によるキー入力のみを好適に検出することができ、よりユーザの操作性を向上させることが可能となる。
なお、以上の第2の実施形態についての説明では、「爪打ち操作」、「探り操作」及び「長押し操作」という言葉を用いたが、これらの言葉は、互いに異なる特性を有する操作入力を表現するために便宜的に用いたものであり、実際に爪でキーを打鍵する操作や、指でキーを探る操作、キーを長押しする操作を必ずしも意味していない。「爪打ち操作」は、キーに対する押圧力は比較的小さいがキーに対する押圧速度は比較的速い特性を有する操作を表す一例であり、「探り操作」はキーに対する押圧力は比較的大きいがキーに対する押圧速度は比較的遅い特性を有する操作を表す一例であり、「長押し操作」は、キーに対する押圧速度が極遅く(ほぼゼロ)キーに対する押圧力が探り操作よりもさらに大きい特性を有する操作を表す一例である。以上及び以下の説明において、「爪打ち操作」及び「探り操作」及び「長押し操作」は、同様の特性を有する他の操作に読み替えることが可能である。
(5−3.KEY ON検出処理とKEY OFF検出処理との組み合わせ)
ここで、以上説明した第1の実施形態に係るKEY OFF検出処理と、第2の実施形態に係るKEY ON検出処理と、が組み合わされた入力状態判定処理について説明する。入力状態判定処理において、上述したKEY OFF検出処理と、上述したKEY ON検出処理と、を両方行うことにより、第1の実施形態によって得られる効果と第2の実施形態によって得られる効果とをともに得ることができ、ユーザの操作性を更に向上させることが可能となる。
図22を参照して、第1の実施形態に係るKEY OFF検出処理と、第2の実施形態に係るKEY ON検出処理と、が組み合わされた入力状態判定処理の処理手順について説明する。図22は、第1の実施形態に係るKEY OFF検出処理と、第2の実施形態に係るKEY ON検出処理と、が組み合わされた入力状態判定処理の処理手順の一例を示すフロー図である。なお、図22に示す各処理(ステップS601〜ステップS621)は、図21に示す第2の実施形態に係るKEY ON検出処理における各処理と、図15に示す第1の実施形態に係るKEY OFF検出処理における各処理と、を組み合わせたものに対応しているため、ここでは、既に説明した処理については詳細な説明は省略する。
図22を参照すると、ステップS601〜ステップS607では、図21を参照して説明した、第2の実施形態に係るKEY ON検出処理におけるステップS501〜ステップS507と同様の処理が行われる。つまり、KEY OFF状態(ステップS601)において、所定のサンプリングレートでデルタ値が検出され(ステップS603)、検出されたデルタ値に基づいて微分デルタ値が算出される(ステップS605)。そして、当該デルタ値及び微分デルタ値に基づくデルタ値判定処理及び微分デルタ値判定処理が行われる(ステップS607)。
ステップS607に示す処理では、図21に示すステップS507に示す処理と同様に、デルタ値がデルタしきい値(ON)よりも大きい場合、又は、微分デルタ値が微分デルタしきい値(ON)よりも大きい場合には、当該キーの入力状態がKEY ON状態であると判定され、それ以外の場合には、当該キーの入力状態がKEY OFF状態であると判定される。また、ステップS607においては、微分デルタしきい値(ON)は、爪打ち操作での微分デルタ値は検出するが、探り操作での微分デルタ値は検出しないような値に設定されており、デルタしきい値(ON)は、長押し操作でのデルタ値は検出するが、探り操作でのデルタ値は検出しないような値に設定されている。従って、ステップS607に示す処理では、例えば探り操作という、ユーザがキーの入力を意図していない操作におけるキー入力が検出されず、例えば爪打ち操作及び長押し操作という、ユーザがキーの入力を意図している操作におけるキー入力が好適に検出され得る。このように、ユーザがキー入力を意図して行った操作によるキー入力のみを好適に検出することができ、よりユーザの操作性を向上させることが可能となる。
ステップS607においてKEY OFF状態であると判定された場合には、ステップS601に戻る。つまり、当該キーの入力状態としてはKEY OFF状態が維持され(ステップS601)、次のサンプリングのタイミングで検出されたデルタ値に基づく、微分デルタ値の算出処理、並びに、デルタ値判定処理及び微分デルタ値判定処理が繰り返し行われる(ステップS603、S605、S607)。
一方、ステップS607においてKEY ON状態であると判定された場合には、当該キーの入力状態がKEY OFF状態からKEY ON状態に移行する(ステップS609)。KEY ON状態であるキーについての情報が接続装置に入力されることとなる。
以降のステップS611〜ステップS621に示す各処理は、図15に示す第1の実施形態に係るKEY ON検出処理におけるステップS409〜ステップS419に示す各処理に対応しているため、詳細な説明は省略する。ステップS611〜ステップS621に示す処理では、デルタしきい値(OFF)を用いたデルタ値判定処理及び微分デルタしきい値(OFF WAIT)を用いた微分デルタ値判定処理が行われ、微分デルタ値が微分デルタしきい値(OFF WAIT)以下になった場合には、キーの入力状態がKEY OFF WAIT状態に移行し、デルタ値がデルタしきい値(OFF)以下になった場合には、キーの入力状態がKEY OFF状態に移行する。上記(4.第1の実施形態(KEY OFF検出処理))で説明したように、KEY OFF WAIT状態を導入することにより、KEY ON状態である時間を、指がキー領域10aに接触している時間とほぼ等しくすることができ、ユーザの実際の操作により追従するようなキーの入力状態の判定が可能となる。よって、例えば指をキーから離した後に、リピートキー機能によってキーが入力されてしまうような、キーの誤検出を抑制することが可能となる。
以上、図22を参照して、第1の実施形態に係るKEY OFF検出処理と、第2の実施形態に係るKEY ON検出処理と、が組み合わされた入力状態判定処理について説明した。以上説明したように、第1の実施形態と第2の実施形態とを組み合わせることにより、両者の効果をともに得ることができ、ユーザの操作性を更に向上させることができる。
(6.第3の実施形態(正規化デルタ値判定処理))
本開示の第3の実施形態として、入力状態判定処理において、デルタ値を正規化して得られる正規化デルタ値を用いたキーの入力状態の判定処理(正規化デルタ値判定処理)が行われる場合における好適な一実施形態について説明する。正規化デルタ値判定処理では、正規化デルタ値が所定のしきい値(正規化デルタしきい値)と比較されることにより、キーの入力状態が判定される。
(6−1.第3の実施形態に至る背景)
まず、第3の実施形態について詳述するに先立ち、本発明者らが第3の実施形態に係る入力状態判定処理に想到した背景について説明する。第3の実施形態では、第1及び第2の実施形態と同様に、上記(1.入力装置の構成)で説明した入力装置1に対する入力状態判定処理が行われる。ここで、図1−図5を参照して説明したように、入力装置1では、電極線210、220の配置を適宜調整することにより、各キーに配設する容量素子C1の数(すなわち、ノードの数)を調整することができる。
ここで、1つのキーに対して複数のノードが設けられる場合について考える。この場合、図9及び図10を参照して説明したように、例えばORによるデルタ値判定処理を行うことにより、キー内の1つのノードのデルタ値さえしきい値を超えれば、当該キーの入力状態がKEY ON状態であると判定され得るため、当該キーの入力の検出精度を向上させることができる。
一方、ノードにおけるデルタ値は、当該ノードでの静電容量の変化量であるが、容量素子C1を形成する際の製造ばらつき等により、略同一の押圧力を付加した場合であっても、ノードごとにばらつきを有する場合がある。従って、上述した図9及び図10に示すデルタ値判定処理では、キー内の一の領域を押圧した場合には精度良く当該キーの入力が検出され得るが、キー内の他の領域を押圧した場合には当該キーの入力が検出され難くなるといった事態が生じ得る。つまり、キー内に複数のノードが配設される場合には、各ノードにおけるデルタ値のばらつきに起因して、キー内の感度分布特性が低下する可能性がある。また、キー内におけるノードの配置位置によっても、キー内感度分布特性が低下する可能性がある。
ここで、図9及び図10に示すデルタ値判定処理では、検出されたデルタ値をそのまま用いて(すなわち、デルタ値の生データを用いて)、しきい値との比較を行っている(このようなデルタ値判定処理を、以下の図23及び図25に示す正規化デルタ値判定処理と区別するために、RAW−OR判定処理とも呼称する。)。一方、上述したキー内感度分布特性を向上させるための方法として、正規化デルタ値を用いた正規化デルタ値判定処理を行うことが考えられる。
図23を参照して、正規化デルタ値判定処理の処理手順について説明する。図23は、正規化デルタ値判定処理(NOM−OR判定処理)の処理手順の一例を示すフロー図である。なお、図23に示す正規化デルタ値判定処理を、図10に示すデルタ値判定処理(RAW−OR判定処理)及び図25に示す正規化デルタ値判定処理と区別するために、NOM−OR判定処理とも呼称する。
図23では、一例として、4つのノードが設けられているキーに対するNOM−OR判定処理の処理手順を図示している。図23を参照すると、NOM−OR判定処理では、まず、キーに含まれる各ノードのデルタ値が検出され(ステップS701)、当該デルタ値に基づいて正規化デルタ値が算出される(ステップS703)。ここで、デルタ値を正規化する具体的な方法は限定されず、正規化する際の基準値や正規化の手法等は適宜設定されてよい。
次に、キーに含まれる各ノードの正規化デルタ値と、正規化デルタしきい値とがそれぞれ比較される(ステップS705)。図23に示す例では、ノード1〜ノード4のいずれか1つの正規化デルタ値が正規化デルタしきい値よりも大きい場合に、当該キーの入力状態がKEY ON状態であると判断され、当該キーの入力状態としてKEY ON状態が設定される(ステップS707)。一方、ノード1〜ノード4の正規化デルタ値のいずれもが正規化デルタしきい値を超えない場合には、当該キーの入力状態はKEY OFF状態であると判断され、当該キーの入力状態としてKEY OFF状態が設定される(ステップS709)。
デルタ値を正規化することにより、例えば容量素子C1のばらつきによりデルタ値の検出感度が低いノードであっても、例えば生データよりも大きい値に適宜変換されるため、正規化を行う際の基準値や、正規化デルタしきい値を適切に設定することにより、各ノードでのデルタ値のばらつきに起因するキー内感度分布特性の低下は抑制できる可能性がある。そこで、本発明者らは、入力装置1における入力状態判定処理に図23に示すNOM−OR判定処理を適用した場合における、キー内感度分布特性を調べる実験を行った。
図24に実験の結果を示す。図24は、入力状態判定処理にNOM−OR判定処理を適用した場合における、入力装置1のキー内感度分布特性を示すグラフ図である。当該実験では、先端の曲率が約1.5(mm)程度の細い先端を有する冶具(スタイラス)を用いて、入力装置1におけるあるキー(具体的には「K」のキー)を押圧した。その際、押圧する力は一定(例えば30(gF))に保ったまま、キー内における押圧位置を変更し、各押圧位置におけるデルタ値を検出した。なお、実験に用いた入力装置1では、「K」のキーには、キー領域10aの略中央を挟んで、Y軸方向(図1及び図5を参照。)に2つのノードが並んで配設されている。図24では、これら2つのノードにおけるデルタ値をそれぞれ正規化し、より大きな値を有する正規化デルタ値をプロットしている。
図24(a)では、横軸に、キー内を通るX軸方向と平行な直線上における位置(以下、X軸方向の位置)を取り、縦軸に正規化デルタ値を取り、両者の関係をプロットしている。また、図24(b)では、横軸に、キー内を通るY軸方向と平行な直線上における位置(以下、Y軸方向の位置)を取り、縦軸に正規化デルタ値を取り、両者の関係をプロットしている。なお、X軸方向の位置及びY軸方向の位置は、キーの中央をゼロとしている。また、図24(a)では、Y軸方向の位置をパラメータとして、Y軸方向の位置がそれぞれ異なる場合における正規化デルタ値をプロットし、図24(b)では、X軸方向の位置をパラメータとして、X軸方向の位置がそれぞれ異なる場合における正規化デルタ値をプロットしている。
図24(a)、(b)を参照すると、キーの略中央付近に、正規化デルタ値が他の位置よりも低く、感度が低下している領域(図24(b)中の領域N)が存在することが分かる。領域Nは、キー内に配設される2つのノードの中間の領域に対応している。このように、図24に示す結果からは、今回の実験に用いた入力装置1では、入力状態判定処理としてNOM−OR判定処理を適用した場合であっても、キー内のノードの配設位置に起因するキー内感度分布特性の低下を十分に抑制することができない可能性があることが分かった。このように、キー内での感度分布のばらつきが比較的大きい場合には、例えば爪打ちのように、キーとの接触面積が比較的小さい操作入力が行われた場合には、当該操作入力が精度良く検出されない恐れがあり、例えば、ユーザにとっては、入力したつもりのキーが入力されていないという事態が生じ得る。
上記の実験結果に鑑みれば、入力装置1においては、ユーザの操作性をより向上させるために、キー内感度分布特性をより向上させる技術が求められていた。そこで、本発明者らは、入力装置1におけるキー内感度分布特性をより向上させ得る構成について鋭意検討した結果、以下に説明する第3の実施形態に想到した。以下では、第3の実施形態について詳しく説明する。
(6−2.正規化デルタ値判定処理(NOM−SUM判定処理)の詳細)
第3の実施形態では、キー内のノードにおける正規化デルタ値の総和を用いて、正規化デルタ値判定処理を行う。第3の実施形態に係る正規化デルタ値判定処理を、図10に示すデルタ値判定処理(RAW−OR判定処理)及び図24に示すNOM−OR判定処理と区別するために、NOM−SUM判定処理とも呼称する。
図25を参照して、第3の実施形態に係る正規化デルタ値判定処理である、NOM−SUM判定処理の処理手順について説明する。図25は、第3の実施形態に係る正規化デルタ値判定処理(NOM−SUM判定処理)の処理手順の一例を示すフロー図である。
図25では、一例として、4つのノードが設けられているキーに対するNOM−SUM判定処理の処理手順を図示している。図25を参照すると、NOM−SUM判定処理では、まず、キーに含まれる各ノードのデルタ値が検出され(ステップS801)、当該デルタ値に基づいて正規化デルタ値が算出される(ステップS803)。ここで、デルタ値を正規化する具体的な方法は限定されず、正規化する際の基準値や正規化の手法等は適宜設定されてよい。
次に、キーに含まれる各ノードの正規化デルタ値の総和と、正規化デルタしきい値とが比較される(ステップS805)。なお、ステップS805で用いられる正規化デルタしきい値は、図23に示す正規化デルタしきい値とは異なるものであり、各ノードの正規化デルタ値の総和と比較された際に、KEY ON状態又はKEY OFF状態が好適に判定され得る値が適宜選択されている。ノード1〜ノード4の正規化デルタ値の総和が正規化デルタしきい値よりも大きい場合に、当該キーの入力状態がKEY ON状態であると判断され、当該キーの入力状態としてKEY ON状態が設定される(ステップS807)。一方、ノード1〜ノード4の正規化デルタ値の総和が正規化デルタしきい値を超えない場合には、当該キーの入力状態はKEY OFF状態であると判断され、当該キーの入力状態としてKEY OFF状態が設定される(ステップS809)。なお、図25に示す例では、ステップS805に示す処理において、キーに含まれる各ノードの正規化デルタ値の総和と、正規化デルタしきい値との比較が行われているが、キーに含まれる各ノードの正規化デルタ値の平均値と、正規化デルタしきい値との比較が行われてもよい。平均値は、総和をノードの数で除することにより算出される値であるため、平均値を用いる場合であっても、正規化デルタしきい値の値を適宜変更することにより、同様の結果を得ることができる。
第3の実施形態に係るNOM−SUM判定処理の効果を確認するために、NOM−OR判定処理と同様に、入力装置1における入力状態判定処理にNOM−SUM判定処理を適用した場合における、キー内感度分布特性を調査した。図25に調査した結果を示す。図26は、入力状態判定処理にNOM−SUM判定処理を適用した場合における、入力装置1のキー内感度分布特性を示すグラフ図である。なお、図26に示すグラフ図は、入力状態判定処理が異なる点以外は、図24に示すグラフ図と同様の手順により取得されたものであるため、その詳細な手順についての説明は省略する。
図26(a)では、横軸に、キー内におけるX軸方向の位置を取り、縦軸に正規化デルタ値の平均値を取り、両者の関係をプロットしている。また、図26(b)では、横軸に、キー内におけるY軸方向の位置を取り、縦軸に正規化デルタ値の平均値を取り、両者の関係をプロットしている。なお、図26(a)では、Y軸方向の位置をパラメータとして、Y軸方向の位置がそれぞれ異なる場合における正規化デルタ値の平均値をプロットし、図26(b)では、X軸方向の位置をパラメータとして、X軸方向の位置がそれぞれ異なる場合における正規化デルタ値の平均値をプロットしている。
図26(a)、(b)を参照すると、図26(b)では、図24(b)に示すNOM−OR判定処理を適用した場合に比べて、キーの略中央の領域Nにおける感度の低下が抑制されていることが分かる。このように、入力状態判定処理にNOM−SUM判定処理を適用することにより、キー内感度分布特性を向上させることができることが分かった。従って、第3の実施形態によれば、ユーザによるキーへの操作入力をより高精度に検出することが可能となる。第3の実施形態によれば、例えば、爪打ちのようなキーとの接触面積が比較的小さい操作入力が行われた場合や、キー内でノードの直上に対応しない領域(例えば上記領域N)を押圧する操作入力が行われた場合であっても、その操作入力がより確実に検出され得るため、ユーザの操作性を向上させることができる。
ここで、第3の実施形態に係るNOM−SUM判定処理は、上述した第1の実施形態に係るKEY OFF検出処理及び第2の実施形態に係るKEY ON検出処理における、デルタ値判定処理に代わる処理として、好適に適用され得る。KEY OFF検出処理及びKEY ON検出処理を行う際に、例えばユーザの操作入力に対するデルタ値の検出精度が低かったり、デルタ値のキー内での分布のばらつきが大きかったりすると、KEY OFF検出処理及びKEY ON検出処理を高精度に行うことが難しくなる可能性がある。第3の実施形態に係るNOM−SUM判定処理を、第1の実施形態に係るKEY OFF検出処理及び第2の実施形態に係るKEY ON検出処理におけるデルタ値判定処理の代わりに用いることにより、KEY OFF検出処理及びKEY ON検出処理における入力状態判定処理の精度を向上させることができるため、よりユーザの操作性に対する要望を満足するような、適切なKEY OFF検出処理及びKEY ON検出処理が実現され得る。
(7.第4の実施形態(誤検出防止処理))
本開示の第4の実施形態は、上述した第1〜第3の実施形態とは異なる方法により、入力装置1におけるキー入力の誤検出を防止するものである。第4の実施形態では、ユーザが入力装置1に対して操作入力を行う際に生じ得る様々な状況を想定し、それらの状況に応じて入力状態判定処理を適宜変更する処理が行われる。
例えば、上述したように、第2の実施形態に係るKEY ON検出処理では、デルタ値と比較されるしきい値であるデルタしきい値(ON)と、微分デルタ値と比較されるしきい値である微分デルタしきい値(ON)と、を適切に設定することにより、探り操作によるキー入力は検出されずに、爪打ち操作及び長押し操作によるキー入力は検出される状況が実現され得る。ここで、第2の実施形態では、爪打ち操作は、キーに対する押圧力は比較的小さいがキーに対する押圧速度は比較的速い操作であり、探り操作は、キーに対する押圧力は比較的大きいがキーに対する押圧速度は比較的遅い操作であり、長押し操作は、キーに対する押圧速度が極遅く(ほぼゼロ)キーに対する押圧力が探り操作よりもさらに大きい操作であることが想定されている。従って、第2の実施形態では、例えば「より押圧力の大きい探り操作」や、「より速い探り操作」のような操作入力が行われた場合には、キー入力の誤検出を十分に抑制できない可能性がある。
一方で、このような、「より押圧力の大きい探り操作」や「より速い探り操作」といった操作入力は、文章を入力している最中のような連続的な打鍵が行われている最中に行われることは想定され難く、特定な状況において主に行われ得るものであると考えられる。第4の実施形態では、このような特殊な操作入力が行われた場合であっても、キー入力の誤検出を適切に防止することを目的とするものである。
(7−1.First Push Protect)
上述した「より押圧力の大きい探り操作」が行われ得る状況について考える。例えば、ユーザが入力装置1から完全に手を離した状態から、入力を開始するために入力装置1上に手を載せる際には、このような「より押圧力の大きい探り操作」が行われ得ることが想定される。
図27は、ユーザが入力装置1から完全に手を離した状態から、入力装置1に手を載せる様子を示す概略図である。例えば、ユーザが入力装置1を用いて入力を行っている最中であっても、次に入力する文章を考えるとき等には、ユーザの手が一旦入力装置1から離れることが想定される(図中(a))。この状態から、キー入力を再開する場合には、ユーザの手が入力装置1上に載せられることとなるが、この際には、連続的な打鍵を行っているときよりも大きな押圧力がキーに対して負荷され得る(図中(b))。
第4の実施形態では、ユーザの手が入力装置1から離れている状態から行われる最初の打鍵時のみ、入力状態判定条件が、キー入力が検出され難い条件に変更される。これにより、最初の打鍵を行う前に入力装置1上に手を載せる行為ではキー入力が検出されず、ユーザが意図的に打鍵した最初のキー入力のみが検出され得ることとなる。例えば、ユーザの手が入力装置1から離れている状態は、キー入力がない状態で所定の時間(例えば2秒等)が経過することにより判定され得る。また、キー入力が検出され難い入力状態判定条件とは、例えば、デルタ値判定処理におけるKEY ON状態を検出するためのしきい値(デルタしきい値(ON))が通常の連続的な打鍵時よりも大きい条件であったり、微分デルタ判定処理が行われない条件であってよい。
図28を参照して、第4の実施形態における、「より押圧力の大きい探り操作」に対応した誤検出防止処理の処理手順について説明する。図28は、第4の実施形態における、「より押圧力の大きい探り操作」に対応した誤検出防止処理の処理手順の一例を示すフロー図である。
図28を参照すると、当該誤検出防止処理では、まず、所定のサンプリングレートでの、入力装置1の各キーにおけるデルタ値の検出、当該デルタ値に基づく各キーに対する入力状態判定処理、及び当該判定結果に基づく各キーに対する入力状態の設定が行われる(ステップS901、S903、S905)。なお、S903に示す処理が行われる際には、各キーにおける入力状態判定条件としては、上述したキー入力が検出され難い入力状態判定条件でなく、通常の入力状態判定条件が設定されていてよい。次に、ステップS905において設定された入力状態に基づいて、キー入力がない状態で所定の時間が経過したかが判断される(ステップS907)。当該判断は、例えば図7に示す入力状態判定部114によって、所定の時間KEY ON状態である旨の判定が行われないことに基づいて行われてよい。また、当該判断は、例えば入力状態判定部114によって、デルタ値検出部111において所定の時間デルタ値が検出されないことに基づいて行われてもよい。また、当該所定の時間は適宜設定されてよく、例えば2秒に設定される。
ステップS907において、キー入力がない状態で所定の時間が経過していないと判断された場合には、ユーザによる連続的な打鍵が行われている又はユーザが入力装置1から手を離してから間もない状態であると考えられるため、第4の実施形態に係る誤検出防止処理は適用されず、ステップS901に戻り、通常の入力状態判定条件に基づく入力状態判定処理が実行される。
一方、ステップS907において、キー入力がない状態で所定の時間が経過したと判断された場合には、ユーザが入力装置1から完全に手を離している状態であると考えられる。この場合、ステップS909に進み、入力状態判定条件が、キー入力が検出され難い条件に変更される。
入力状態判定条件がキー入力が検出され難い条件に変更された状態で、次のサンプリングのタイミングで検出されたデルタ値に基づく入力状態判定処理が行われる(ステップS911、S913)。なお、ステップS903及びステップS913における入力状態判定処理は、単純なデルタ値判定処理や微分デルタ値判定処理であってもよいし、上述した第1〜第3の実施形態におけるKEY ON検出処理、KEY OFF検出処理及び/又は正規化デルタ値判定処理であってもよい。このように、第4の実施形態に係る誤検出防止処理は、第1〜第3の実施形態における入力状態検出処理と適宜組み合わせることが可能である。
入力状態判定処理の結果に基づいて、当該ノードに対応するキーの入力状態が設定される(ステップS915)。そして、当該キーの入力状態がKEY ON状態であるか、すなわち、最初のキー入力が行われたかが判断される(ステップS917)。
ステップS917において、最初のキー入力が行われていないと判断された場合には、ステップS911に戻り、次のサンプリングのタイミングで検出されたデルタ値に基づく入力状態判定処理及び入力状態の設定が繰り返し行われる(ステップS911、S913、S915)。一方、ステップS917において、最初のキー入力が行われたと判断された場合には、ステップS919に進み、入力状態判定条件が、通常の条件に変更される。これにより、以降の打鍵(すなわち2打鍵目以降の打鍵)では、円滑なキー入力が実行され得る。
以上、図28を参照して、第4の実施形態における、「より押圧力の大きい探り操作」に対応した誤検出防止処理の処理手順について説明した。以上説明したように、第4の実施形態によれば、ユーザの手が入力装置1から離れている状態から行われる最初の打鍵時のみ、キー入力が検出され難い入力状態判定条件によって、入力状態判定処理が行われる。従って、ユーザが入力装置1に手を載せる動作がキー入力を行う操作であると誤検出される可能性が低減し、キー入力の誤検出が防止され得る。よって、ユーザにとってより快適な操作性が実現される。
なお、上記では、「より押圧力の大きい探り操作」が行われ得る状況として、ユーザが入力装置1から完全に手を離した状態から、入力を開始するために入力装置1上に手を載せる場合を例に挙げて説明を行ったが、第4の実施形態はかかる例に限定されない。「より押圧力の大きい探り操作」が行われ得る状況としては、当該状況以外の他の状況が想定されてもよい。また、そのような状況を判断するための処理として、上記では、キー入力がない状態で所定の時間が経過したかを判断する処理が行われていたが、当該判断処理も、「より押圧力の大きい探り操作」が行われ得る状況として想定された具体的な状況に応じて、適宜変更されてよい。
(7−2.Pre Sense Protect)
次に、上述した「より速い探り操作」が行われ得る状況について考える。例えば、ユーザが入力装置1のホームポジションに手を載せている状態から、他のキーに指をスライドさせる際には、このような「より速い探り操作」が行われ得ることが想定される。
図29は、ユーザがホームポジションに手を載せている状態から、他のキーに指をスライドさせる様子を示す概略図である。例えば、ホームポジション(図中(a))から比較的離れた位置に配置されているキーを打鍵する際には、手が入力装置1の表面をなでるように素早く移動することが想定される(図中(b))。図29に示す例では、ユーザが、ホームポジションに手を載せている状態から、入力装置1の右端に位置するエンターキーを右手の小指で打鍵する場合を図示している。
そこで、第4の実施形態では、打鍵はしていないがキーに触れている指が所定の数以上存在する場合のみ、入力状態判定条件が、キー入力が検出され難い条件に変更される。これにより、例えばホームポジションから手を素早くスライドさせる動作ではキー入力が検出されず、ユーザが意図的に打鍵したキー入力のみが検出され得ることとなる。ここで、打鍵はしていないがキーに触れている指が所定の数以上存在する状態は、例えば、所定の範囲(ゼロよりも大きくデルタしきい値(ON)以下)に含まれるデルタ値が、所定の数以上のノードにおいて検出されているかどうかにより判定され得る。また、キー入力が検出され難い入力状態判定条件とは、例えば、デルタ値判定処理におけるKEY ON状態を検出するためのしきい値(デルタしきい値(ON))が通常の連続的な打鍵時よりも大きい条件であったり、微分デルタ値判定処理が行われない条件であってよい。
図30を参照して、第4の実施形態における、「より速度の速い探り操作」に対応した誤検出防止処理の処理手順について説明する。図30は、第4の実施形態における、「より速度の速い探り操作」に対応した誤検出防止処理の処理手順の一例を示すフロー図である。
図30を参照すると、当該誤検出防止処理では、まず、所定のサンプリングレートでの、入力装置1の各キーにおけるデルタ値の検出、当該デルタ値に基づく各キーに対する入力状態判定処理、及び当該判定結果に基づく各キーに対する入力状態の設定が行われる(ステップS1001、S1003、S1005)。なお、ステップS1003に示す処理が行われる際には、各キーにおける入力状態判定条件としては通常の入力状態判定条件が設定され得るが、例えば図30に示す一連の処理が既に実行されており、入力状態判定条件としてキー入力が検出され難い入力状態判定条件が設定されている場合には、当該キー入力が検出され難い入力状態判定条件に基づく入力状態判定処理が実行され得る。次に、ステップS1005において設定された入力状態に基づいて、打鍵はしていないがキーに触れている指が所定の数以上存在するかが判断される(ステップS1007)。ステップS1007では、具体的には、例えば、所定の範囲(ゼロよりも大きくデルタしきい値(ON)以下)に含まれるデルタ値が、所定の数以上のノードにおいて検出されているかどうかに基づいて判断され得る。当該判断は、例えば図7に示す入力状態判定部114によって行われてよい。また、判断基準となる指の具体的な数は、例えば入力装置1の特性(キーにおけるノードの配置や各ノードでのデルタ値の検出感度)や、実際にホームポジションに手を置いた際に指が触れていることが検出されるキーの数等に基づいて、適宜設定されてよい。
ステップS1007において、打鍵はしていないがキーに触れている指が所定の数以上存在しないと判断された場合には、ユーザがホームポジションに手を載せていない状態であると考えられるため、入力状態判定条件が通常の条件に変更される(ステップS1009)。そして、ステップS1001に戻り、通常の入力状態判定条件に基づいて、ステップS1001〜ステップS1007に示す処理が繰り返される。なお、前回時でのステップS1003に示す処理において、通常の入力状態判定条件に基づいて入力状態判定処理が行われた場合(すなわち、既に入力状態判定条件として通常の条件が設定されている場合)には、ステップS1009に示す処理は省略されてよい。ステップS1009に示す処理は、入力状態判定条件としてキー入力が検出され難い入力状態判定条件が設定されている場合に、当該入力状態判定条件を通常の条件に変更する(設定する)処理であってよい。
一方、ステップS1007において、打鍵はしていないがキーに触れている指が所定の数以上存在すると判断された場合には、ユーザがホームポジションに手を載せている状態であると考えられる。この場合、ステップS1011に進み、入力状態判定条件が、キー入力が検出され難い条件に変更される。
入力状態判定条件がキー入力が検出され難い条件に変更された状態で、次のサンプリングのタイミングで検出されたデルタ値に基づく入力状態判定処理が行われる(ステップS1013、S1015)。そして、入力状態判定処理の結果に基づいて、当該ノードに対応するキーの入力状態が設定される(ステップS1017)。当該誤検出防止処理では、以上説明したステップS1001〜ステップS1017までの処理が繰り返し実行されることとなる。なお、ステップS1003及びステップS1015における入力状態判定処理は、単純なデルタ値判定処理や微分デルタ値判定処理であってもよいし、上述した第1〜第3の実施形態におけるKEY ON検出処理、KEY OFF検出処理及び/又は正規化デルタ値判定処理であってもよい。このように、第4の実施形態に係る誤検出防止処理は、第1〜第3の実施形態における入力状態検出処理と適宜組み合わせることが可能である。
ここで、入力状態判定条件がキー入力が検出され難い条件に変更されている場合であっても、ユーザがキーの入力を意図して行った操作は、より押圧力が大きい操作(すなわち、デルタ値が大きい操作)であったり、より押圧する速度が速い操作(すなわち、微分デルタ値が大きい操作)であったりする可能性が高いため、このような意図的に行われた操作に対しては、キーの入力状態がKEY ON状態であると判断され得る。このように、当該誤検出防止処理によれば、ホームポジションから指をスライドさせるような「より速い探り操作」は検出されず、ユーザがキーの入力を意図して行った操作入力は検出される動作が実現され得る。
以上、図30を参照して、第4の実施形態における、「より速い探り操作」に対応した誤検出防止処理の処理手順について説明した。以上説明したように、第4の実施形態によれば、打鍵はしていないがキーに触れている指が所定の数以上存在する場合のみ、キー入力が検出され難い入力状態判定条件によって、入力状態判定処理が行われる。従って、ホームポジションから手を素早くスライドさせる動作がキー入力を行う操作であると誤検出される可能性が低減し、キー入力の誤検出が防止され得る。よって、ユーザにとってより快適な操作性が実現される。
なお、上記では、「より速い探り操作」が行われ得る状況として、ユーザがホームポジションから手を素早くスライドさせる場合を例に挙げて説明を行ったが、第4の実施形態はかかる例に限定されない。「より速い探り操作」が行われ得る状況としては、当該状況以外の他の状況が想定されてもよい。また、そのような状況を判断するための処理として、上記では、打鍵はしていないがキーに触れている指が所定の数以上存在するかを判断する処理が行われていたが、当該判断処理も、「より速い探り操作」が行われ得る状況として想定された具体的な状況に応じて、適宜変更されてよい。
なお、図30に示す一連の処理は、以上説明した誤検出の防止以外の目的で実行されてもよい。例えば、ステップS1007に示す処理での判断基準となる指の数を「1」に設定する。この場合、1本でも指が入力装置1に触れている場合にはユーザに対して「重い」打鍵感が与えられ、手を入力装置1から浮かせながらキーを打鍵する際にはユーザに対して「軽い」打鍵感が与えられることとなる。このように、ステップS1007に示す処理での判断基準となる指の数を適宜調整することにより、ユーザに対して与えられる打鍵感を調整することができるため、多様なユーザビリティを有するキーボードを提供することが可能となる。
(8.補足)
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出する容量変化検出部と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する入力状態判定部と、を備え、前記入力状態判定部は、前記容量変化量の微分値に基づいて前記ON状態の終了を判定する、情報処理装置。
(2)前記入力状態判定部は、前記容量変化量の微分値が、前記キー領域が前記容量素子から遠ざかることを示す符号を有する第1のしきい値以下である場合又は前記第1のしきい値よりも小さい場合に、前記ON状態の終了を判定する、前記(1)に記載の情報処理装置。
(3)前記入力状態判定部は、前記ON状態の終了が判定されたキー領域の入力状態を、前記ON状態の終了が判定された後、前記容量変化量が第2のしきい値以下になるまで又は前記第2のしきい値よりも小さくなるまでの間は、再び前記ON状態とは判定しない、前記(1)又は(2)に記載の情報処理装置。
(4)前記入力状態判定部は、前記容量変化量が第3のしきい値以上である場合又は前記第3のしきい値よりも大きい場合に、前記キー領域の入力状態を前記ON状態と判定する、前記(3)に記載の情報処理装置。
(5)前記第2のしきい値は、前記第3のしきい値よりも小さい、前記(4)に記載の情報処理装置。
(6)前記入力状態判定部は、前記容量変化量の大きさにかかわらず、前記容量変化量の微分値が第4のしきい値以上である場合又は前記第4のしきい値よりも大きい場合に、前記キー領域の入力状態が前記ON状態であると判定する、前記(1)〜(3)のいずれか1項に記載の情報処理装置。
(7)シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出する容量変化検出部と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する入力状態判定部と、を備え、前記入力状態判定部は、前記容量変化量の大きさにかかわらず、前記容量変化量の微分値が第1のしきい値以上である場合又は前記第1のしきい値よりも大きい場合に、前記キー領域の入力状態が前記ON状態であると判定する、情報処理装置。
(8)前記入力状態判定部は、前記容量変化量の微分値が前記第1のしきい値以上である場合若しくは前記第1のしきい値よりも大きい場合、又は、前記容量変化量が第2のしきい値以上である場合若しくは前記第2のしきい値よりも大きい場合に、前記キー領域の入力状態が前記ON状態であると判定し、前記第1のしきい値及び前記第2のしきい値は、ユーザによって前記キー領域に対して行われる互いに異なる種類の操作入力を判別可能に設定される、前記(7)に記載の情報処理装置。
(9)前記第1のしきい値は、ユーザが前記キー領域を打鍵する際の前記キー領域と前記容量素子との前記距離の変化速度に応じて設定され、前記第2のしきい値は、ユーザが前記キー領域を長押しする際の前記キー領域と前記容量素子との前記距離の変化量に応じて設定される、前記(8)に記載の情報処理装置。
(10)1つの前記キー領域に対して複数の前記容量素子が設けられている場合に、前記入力状態判定部は、前記容量素子の各々の前記容量変化量の微分値と前記第1のしきい値とをそれぞれ比較し、前記容量変化量の微分値のいずれか1つが前記第1のしきい値以上である場合又は前記第1のしきい値よりも大きい場合に、前記キー領域の入力状態が前記ON状態であると判定する、前記(7)〜(9)のいずれか1項に記載の情報処理装置。
(11)シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出する容量変化検出部と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する入力状態判定部と、を備え、前記入力状態判定部は、複数の前記容量素子が設けられている前記キー領域の入力状態を、前記キー領域に対して設けられる複数の前記容量素子の各々の容量変化量が正規化された正規化容量変化量を、第1のしきい値とそれぞれ比較することにより、判定する、情報処理装置。
(12)前記入力状態判定部は、複数の前記容量素子が設けられている前記キー領域の入力状態を、当該複数の前記容量素子の前記正規化容量変化量の合計値又は平均値を、第2のしきい値と比較することにより、判定する、前記(11)に記載の情報処理装置。
(13)シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出する容量変化検出部と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する入力状態判定部と、を備え、前記入力状態判定部は、前記キー領域に対する操作入力に応じて、前記入力状態を判定する条件を変更する、情報処理装置。
(14)前記入力状態判定部は、前記操作部材上に設けられる全てのキー領域に対する操作入力が所定の時間行われなかった場合に、前記入力状態を判定する条件を、前記ON状態であるとより判定され難い条件に変更する、前記(13)に記載の情報処理装置。
(15)前記入力状態判定部は、前記入力状態を判定する条件を、前記ON状態であるとより判定され難い条件に変更した後に、いずれかのキー領域の入力状態がON状態であると判断した場合に、前記入力状態を判定する条件を、前記ON状態であるとより判定されやすい条件に再度変更する、前記(14)に記載の情報処理装置。
(16)前記入力状態判定部は、前記操作部材上の所定の数以上の前記キー領域において前記キー領域の入力状態が前記ON状態でない操作入力が行われている場合に、前記入力状態を判定する条件を、前記ON状態であるとより判定され難い条件に変更する、前記(14)に記載の情報処理装置。
(17)前記入力状態判定部は、前記容量変化量が第1のしきい値以上である場合又は前記第1のしきい値よりも大きい場合に、前記キー領域の入力状態が前記ON状態であると判定し、前記入力状態判定部は、前記操作部材上に設けられる全てのキー領域に対する操作入力が所定の時間行われなかった場合又は前記操作部材上の所定の数以上の前記キー領域において前記キー領域の入力状態が前記ON状態でない操作入力が行われている場合に、前記第1のしきい値をより大きい値に変更する、前記(14)〜(16)のいずれか1項に記載の情報処理装置。
(18)複数のキー領域を有し、当該キー領域への操作入力に応じて変形可能なシート状の操作部材と、前記キー領域の各々に対応する位置に少なくとも1つの容量素子を有し、前記操作入力に応じた前記キー領域と前記容量素子との距離の変化量を、前記容量素子の容量変化量として検出可能な電極基板と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する制御部と、を備え、前記制御部は、前記容量変化量の微分値に基づいて前記ON状態の終了を判定する、入力装置。
(19)プロセッサが、シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出することと、プロセッサが、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定することと、を含み、前記容量変化量の微分値に基づいて前記ON状態の終了が判定される、情報処理方法。
(20)コンピュータのプロセッサに、シート状の操作部材上に設けられる複数のキー領域の各々に対する操作入力を、当該キー領域と、当該キー領域の各々に対応して設けられる容量素子と、の距離の変化に応じた前記容量素子の容量変化量として検出する機能と、検出された前記容量変化量に基づいて、前記キー領域の入力状態が、前記キー領域に対する操作入力が有効であると判断されている状態であるON状態であるかどうかを判定する機能と、を実現させ、前記容量変化量の微分値に基づいて前記ON状態の終了が判定される、プログラム。