ポインティングデバイスの入力調整プログラムおよび入力調整装置
【構成】 入力装置10はコンピュータ12を含み、コンピュータ12にはタッチパッド14が接続される。使用者が指でタッチパッド14をタッチすると、その接触面のタッチ座標データおよび接触面の接触面積に応じた値がコンピュータ12に与えられる。コンピュータ12は、座標データおよび接触面積に応じた値に基づいて、使用者が実際に操作可能な範囲を、タッチパッド14の全操作範囲と一致するように、その倍率を計算する。そして、基準位置に対する座標データが示す座標(現在のタッチ座標)の差分に、倍率を掛けた値を入力データとして電子機器に入力する。
【効果】 各使用者や使用者のタッチの仕方に拘わらず安定した入力を行うことができる。
【効果】 各使用者や使用者のタッチの仕方に拘わらず安定した入力を行うことができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はポインティングデバイスの入力調整プログラムおよび入力調整装置に関し、特にたとえば、タッチパッドのようなポインティングデバイスからの入力信号を調整する、ポインティングデバイスの入力調整プログラムおよび入力調整装置に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1によれば、タッチパネルは、その操作面が指で接触されると、その接触された位置の座標信号を出力する。また、操作面から指を離さずに移動したときには、タッチパネルから出力される座標信号の移動量が算出される。これにより、カーソルの移動が制御される。
【0003】
また、背景技術の他の例が特許文献2に開示される。この特許文献2によれば、たとえばLCDやCRTスクリーン等のディスプレイ上に、静電容量式の透明なタッチパッドが設けられ、ディスプレイの表示を見ながら操作を行うことができるようにしてある。
【特許文献1】特開平6−161646号公報
【特許文献2】特表2003−511799号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、静電式のタッチパッド(タッチパネル)などでは、操作面を指でタッチ操作した場合に、そのタッチ位置に応じた座標信号やタッチ面積に応じた値(静電容量値など)を出力する。このとき、操作面に接触させる指の太さの違いや指を接触させる力(押圧力)の違い等によって、指と操作面とが接触している面の大きさが変化するため、タッチ位置の座標の取り得る範囲に絶対的または相対的な差が発生してしまう。
【0005】
たとえば、図10(A)および図10(B)に示すように、指が細い人物(ユーザ)とこれに対して指が太いユーザとが同じタッチパッドの操作面上を指でドラッグ(スライド)した場合を仮定する。図10(A)に示すように、指が細い(小さい)場合には、タッチパッドの左端から右端まで直線的にドラッグすると、指でタッチしているタッチ座標は、横方向の座標(X座標)がP1で示す位置からP2で示す位置まで変化する。このとき、ドラッグの長さは距離L1で示される。一方、図10(B)に示すように、指が太い(大きい)場合には、操作面の左端から右端まで直線的にドラッグすると、そのタッチ座標は、X座標がP3で示す位置からP4で示す位置まで変化する。このとき、ドラッグの長さは距離L2で示される。
【0006】
なお、タッチパッドの周囲(外周)には枠が設けられるため、操作面の外周付近では、その枠により指の移動が規制されたり、ユーザはタッチパッドの枠を指の感触により認識したりして、ドラッグを止める。
【0007】
図10(A)および図10(B)からもよく分かるように、指の太さ等によってドラッグ可能な距離は異なる(L1>L2)。これは、図10(A)のXA−XA断面図である図11(A)および図10(B)のXB−XB断面図である図11(B)に示すように、指が細いユーザと指が太いユーザとでは、操作面に接触する指の接触面の大きさが異なるためである。ただし、指の太さ(大きさ)のみならず、操作の仕方(押圧力など)の違いによって、接触面の大きさは異なる。したがって、各ユーザ間で接触面の大きさ(操作可能範囲)が異なるのみならず(相対的な差)、同一ユーザであっても接触面の大きさ(操作可能範囲)が異なる場合がある(絶対的な差)。また、図11(A)および図11(B)では、簡単のため、接触面を側面(水平方向)から見たときの水平方向の長さで、接触面の大きさを示してある。
【0008】
図11(A)および図11(B)から分かるように、指の接触面の面積が小さいほど、タッチパッドの端(縁)により近い位置までドラッグ(タッチ)することができる。逆に、指の接触面の面積が大きいほど、タッチパッドの端に近い位置をタッチするのが困難である。したがって、タッチパッドの全操作範囲が図12(A)に示すような範囲である場合には、たとえば、接触面が小さいときには、図12(B)の斜線で示す範囲(操作可能範囲I)を操作することができ、接触面が大きいときには、図12(C)の斜線で示す範囲(操作可能範囲II)を操作することができる。つまり、人物毎や同じ人物であっても操作時毎に操作可能範囲が異なるという問題が生じてしまう。
【0009】
このため、たとえば、タッチパッドをゲーム機のジョイスティックコントローラの代わりに使用すると、そのタッチ操作可能な範囲の違いにより、プレイヤキャラクタの移動範囲や移動速度の制御にばらつきが発生してしまうという問題がある。
【0010】
それゆえに、この発明の主たる目的は、新規な、ポインティングデバイスの入力調整プログラムおよび入力調整装置を提供することである。
【0011】
この発明の他の目的は、使用者や使用者の操作の仕方に拘わらず、安定した入力を行うことができる、ポインティングデバイスの入力調整プログラムおよび入力調整装置を提供することである。
【課題を解決するための手段】
【0012】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【0013】
請求項1の発明は、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、コンピュータに、補正値算出ステップ、第1範囲算出ステップ、倍率算出ステップ、および距離補正ステップを実行させる。補正値算出ステップは、平面型ポインティングデバイスから入力されるタッチ面積に応じた値を接触面積とみなし、そのタッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。第1範囲算出ステップは、補正値算出ステップによって算出された補正値を用いて、ユーザが実際に操作した際にタッチ座標が取り得る第1範囲を算出する。倍率算出ステップは、第1範囲算出ステップによって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正ステップは、倍率算出ステップによって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正ステップを実行させる。
【0014】
請求項1の発明では、平面型ポインティングデバイスの入力調整プログラムは、コンピュータ(12:実施例で相当する参照符号。以下、同じ。)によって実行される。この平面型ポインティングデバイス(14)は、操作面を有し、この操作面を使用者(ユーザ)が指でタッチすると、そのタッチ位置であるタッチ座標および指と操作面との接触面のタッチ面積に応じた値を入力する。つまり、コンピュータ(12)に与える。ここで、タッチ面積に応じた値とは、タッチ面積の増減に従って変化する数値を示し、たとえば静電式タッチパッドの場合にはタッチ面積に応じて増減する静電容量を示す。入力調整プログラムは、コンピュータ(12)に、補正値算出ステップ(S7)、第1範囲算出ステップ(S23)、倍率算出ステップ(S25)、および距離補正ステップ(S27)を実行させる。補正値算出ステップ(S7)は、平面型ポインティングデバイス(14)から入力されるタッチ面積に応じた値をタッチ面積とみなし、タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。ここで、半径に応じた補正値とは、円の半径の長短に応じて変化する数値を示し、例えば円の半径そのものの数値や面積の平方根の数値が相当する。第1範囲算出ステップ(S23)は、補正値算出ステップによって算出された補正値を用いて、ユーザの指によって操作をできない可能性がある範囲を除いた第1範囲を算出する。倍率算出ステップ(S25)は、第1範囲算出ステップ(S23)によって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正ステップ(S27)は、倍率算出ステップ(S25)によって算出された倍率で基準点から現在のタッチ座標までの距離(移動量)を補正する距離補正ステップを実行させる。
【0015】
請求項1の発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、基準点から現在のタッチ座標までの距離を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0016】
請求項2の発明は請求項1に従属し、基準点は操作面に対してタッチオンしたときのタッチ座標であり、操作面の中心点に対する基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正ステップをさらに実行させる。
【0017】
請求項2の発明では、基準点は、ユーザが操作面に対してタッチオンしたときのタッチ座標である。基準点補正ステップ(S11,S13,S15,S17,S19,S21)は、操作面の中心点(原点)に対する基準点の横方向(X軸方向)のずれおよび縦方向(Y軸方向)のずれの少なくとも一方を補正する。
【0018】
請求項2の発明によれば、基準点を原点に一致させるように補正するので、基準点のずれを吸収して安定した入力を行うことができる。
【0019】
請求項3の発明は、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、コンピュータに、補正値算出ステップ、第1範囲算出ステップ、倍率算出ステップ、座標補正ステップを実行させる。補正値算出ステップは、タッチ面積を正円の面積とみなし、タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出ステップは、補正値算出ステップによって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出ステップは、第1範囲算出ステップによって算出された第1範囲を、操作面全体に対応させるための拡大率を算出する。座標補正ステップは、倍率算出ステップによって算出された倍率によって第1範囲におけるタッチ座標を拡大補正することにより、第1範囲におけるタッチ座標を前記操作面全体におけるタッチ座標に変換する。
【0020】
請求項3の発明では、平面型ポインティングデバイスの入力調整プログラムは、コンピュータ(12)によって実行される。この平面型ポインティングデバイス(14)は、操作面を有し、この操作面をユーザが指でタッチすると、そのタッチした指が操作面に接触する位置のタッチ座標および接触面のタッチ面積に応じた値をコンピュータ(12)に与える。入力調整プログラムは、コンピュータ(12)に、補正値算出ステップ(S7)、第2範囲算出ステップ(S23)、倍率算出ステップ(S25)、および座標補正ステップ(S28)を実行させる。補正値算出ステップ(S7)は、タッチ面積が正円の面積に等しいとみなし、平面型ポインティングデバイス(14)から入力されるタッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出ステップ(S23)は、補正値算出ステップによって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出ステップ(S25)は、第1範囲算出ステップ(S23)によって算出された第1範囲を、操作面全体の第2範囲に対応させるための倍率を算出する。そして、座標補正ステップ(S28)は、倍率算出ステップ(S25)によって算出された倍率によって第1範囲におけるタッチ座標を第2範囲(操作面全体)におけるタッチ座標に変換する補正ステップを実行させる。
【0021】
請求項3の発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、現在のタッチ座標を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0022】
請求項4の発明は、平面型ポインティングデバイス、補正値算出手段、第1範囲算出手段、倍率算出手段、および距離補正手段を備える平面型ポインティングデバイスの入力調整装置である。平面型ポインティングデバイスは、操作面を有し、この操作面に対するタッチ座標およびタッチ面積に応じた値を入力する。補正値算出手段は、平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。第1範囲算出手段は、補正値算出手段によって算出された補正値を用いて、ユーザが実際に操作した際にタッチ座標が取り得る第1範囲を算出する。倍率算出手段は、第1範囲算出手段によって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正手段は、倍率算出手段によって算出された倍率で基準点から現在のタッチ座標までの距離を補正する。
【0023】
請求項4の発明においても、請求項1の発明と同様に、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0024】
請求項5の発明は請求項4に従属し、基準点は操作面に対してタッチオンしたときのタッチ座標であり、操作面の中心点に対する基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正手段をさらに実行させる。
【0025】
請求項5の発明においても、請求項2の発明と同様に、基準点のずれを吸収して安定した入力を行うことができる。
【0026】
請求項6の発明は、平面型ポインティングデバイス、補正値算出手段、第1範囲算出手段、倍率算出手段、および座標補正手段を備える平面型ポインティングデバイスの入力調整装置である。平面型ポインティングデバイスは、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する。補正値算出手段は、タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出手段は、補正値算出手段によって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出手段は、第1範囲算出手段によって算出された第1範囲を、操作面全体の第2範囲に対応させるための拡大率を算出する。そして、座標補正手段は、倍率算出手段によって算出された拡大率によって第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を第2範囲におけるタッチ座標に変換する。
【0027】
請求項6の発明においても、請求項3の発明と同様に、安定した入力を行うことができる。
【発明の効果】
【0028】
この発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、基準点から現在のタッチ座標までの距離を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0029】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0030】
図1を参照して、この発明の一実施例である入力装置10はコンピュータ12を含み、コンピュータ12にはタッチパッド14が接続される。コンピュータ12は、典型的にはマイクロコンピュータであり、タッチパッド14の入力調整プログラムを記憶し、入力調整装置として機能する。このコンピュータ12には、図示しない電子機器が接続される。たとえば、電子機器としては、パーソナルコンピュータ、ワークステーション、PDA、ゲーム機、ゲーム機のコントローラなどが該当する。ただし、コンピュータ12または/およびタッチパッド14が電子機器に内蔵される場合もある。
【0031】
タッチパッド(ないしタッチパネル)14は、ユーザが指で操作面であるパッド表面を触れると、指がパッド表面に接触する位置に応じたタッチ座標とタッチ面積に応じた値をコンピュータ12に与える。たとえば、タッチ座標の一例としては、指が操作面に接触する面(接触面)の重心の座標のデータ(座標データ)である。また、タッチ面積に応じた値の一例としては、接触面の面積に応じた静電容量である。これらの値は、タッチパッド14側のASICなどによって演算された結果に出力される値であり、たとえば、タッチパッド14としては、Synaptics社製のタッチパッド(http://www.synaptics.com/technology/cps.cfm)を用いることができる。なお、上述したように、重心の座標データや静電容量は一例であり、タッチ座標としてはタッチ位置によって決まる座標であればよく、タッチ面積(接触面の面積)に応じた値としては接触面の面積の増減に応じて増減するような値であればよい。したがって、静電式のタッチパッド14だけでなく、光学式などの任意の種類のタッチパッド(タッチパネル)を用いることができる。
【0032】
コンピュータ12は、タッチパッド14から与えられる座標データおよび静電容量に、演算処理(調整処理を含む。)を施した入力データを電子機器に入力する。ただし、コンピュータ12は、座標データおよび静電容量をそのまま電子機器に入力することもある。たとえば、電子機器としてのパーソナルコンピュータでは、入力データを受けて、画面上のカーソル(マウスポインタ)やアイコンなどの任意の画像を移動させたり、画面をスクロールさせたりする。また、電子機器としてのゲーム機では、入力データを受けて、プレイヤキャラクタの移動を制御したり、その移動速度を制御したりする。
【0033】
通常、タッチパッド14は、図2(A)に示すように、その表面(パッド表面)の全体が操作面(全操作範囲)である。しかし、タッチパッド14では、指の接触面の重心の座標データを出力するようにしてあるため、指でタッチする場合には、実際には、パッド表面の端(縁)までを操作範囲として用いることができない。たとえば、タッチパッド14の周囲(外周)に枠が設けられる場合には、タッチパッド14の外周付近では、その枠により指の移動が規制されたり、ユーザはタッチパッド14の枠を指の感触により認識したりして、ドラッグを止める。したがって、図2(B)に示すように、指の接触面の重心(中心)から一定距離(ここでは、接触面の形状が正円とみなした場合の正円の半径rに応じた補正値r´)に相当する長さだけ、上下および左右のドラッグ可能な範囲(操作可能範囲)が小さくされる。また、各ユーザやユーザのタッチの仕方に応じて、相対的にまたは絶対的に接触面の大きさが異なるため、実際の操作可能範囲(実操作可能範囲)にばらつきが発生してしまう。
【0034】
そこで、この実施例では、かかるばらつきを無くすために、指の接触面の大きさに基づいて、実操作可能範囲を全操作範囲に一致させるように補正するようにしてある。以下、具体的に説明することにする。
【0035】
たとえば、コンピュータ12は、使用者ないしユーザがタッチパッド14にタッチオンしたときのタッチ座標を基準点(基準位置)とし、つまり基準位置として記憶しておき、その後、ドラッグ操作によってタッチ座標が入力されると、当該基準位置に対する現在のタッチ座標の差分を求めて、X成分の移動量やY成分の移動量を電子機器(図示せず)に入力するようにしてある。なお、この実施例では、簡単のため、基準位置は固定するようにしてあるが、時間の経過に従って、タッチパッド14の中心位置に近づけるようにしてもよい。
【0036】
また、基準位置はタッチパッド14の全操作範囲の中心と一致しないことがあるため、現在のタッチ座標と基準位置との関係から、タッチ座標が取り得る横方向(X軸方向)の範囲(最大値)および縦方向(Y軸方向)の最大値を求めるようにしてある。この実施例では、X軸方向の最大値を変数dist_xで表わし、Y軸方向の最大値を変数dist_yで表わすようにしてある。ただし、変数dist_xおよび変数dist_yは、いずれも絶対値である。また、この例では、タッチパッド14の中心位置を原点とし、第1象限,第2象限,第3象限および第4象限に分けて考えるようにしてあるため、基準位置との関係で、変数dist_x,dist_yも適宜決定される。さらに、図3(図4も同様)では、点線の円がタッチオン時のタッチ座標における指の接触形状(接触面)を示し、実線の円が現在のタッチ位置における指の接触形状(接触面)を示している。
【0037】
まず、図3(A)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が右側である場合には、つまりx2≧x1である場合には、X軸方向の最大値すなわち変数dist_xは数1で示される。
【0038】
[数1]
dist_x = 1−x1
また、図3(B)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が左側である場合には、つまりx2<x1である場合には、X軸方向の最大値すなわち変数dist_xは数2で示される。
【0039】
[数2]
dist_x = 1+x1
図4(A)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が上側である場合には、つまりy1≧y2である場合には、Y軸方向の最大値すなわち変数dist_yは数3で示される。
【0040】
[数3]
dist_y = 1−y1
また、図4(B)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が下側である場合には、つまりy1<y2である場合には、Y軸方向の最大値すなわち変数dist_yは数4で示される。
【0041】
[数4]
dist_y = 1+y1
このようにして、基準位置Aと現在のタッチ位置Bとの相対位置に応じて、X軸方向およびY軸方向の最大値がそれぞれ決定される。ただし、図2(B)に示したように、タッチパッド14のパッド表面の外周近傍は実質的に操作できない領域となる。したがって、この領域に対応する長さを、X軸方向の最大値およびY軸方向の最大値のそれぞれから削除(減算)するようにしてある。
【0042】
具体的には、計算式を容易にし、計算負荷を軽減するために指の接触面を正円とみなし、当該正円の半径rに応じた補正値r´を数5に従って求めて、数6に示すように、この補正値r´をそれぞれの最大値から減算した実際の最大値(dist_x´,dist_y´)を求める。
【0043】
ただし、数5において、Sは接触面の面積とみなした静電容量であり、タッチパッド14から与えられる静電容量に対応する。また、数5において、kは或る係数であり、この実施例の入力調整プログラムや入力調整装置のプログラマないし設計者によって決定される。
【0044】
[数5]
r´=k×√S
[数6]
dist_x´ = dist_x−r´
dist_y´ = dist_y−r´
なお、数5では、本来の円の公式(r=√(S/π))を用いずに、補正値r´を求めるようにしてあるが、これは計算負荷を軽減するためである。したがって、計算負荷を考慮しない場合には、円の公式に従って半径rを求めて、この半径rを数6で用いるようにしてもよい。
【0045】
したがって、たとえば、現在タッチパッド14の右上をタッチしており、そのタッチ位置が基準位置よりも右側であり、かつ上側である場合には、実際の最大値(dist_x´,dist_y´)は図5のように示される。
【0046】
ここで、図3および図4に示すように、実際の最大値(dist_x´,dist_y´)は、タッチパッド14の全操作範囲(この実施例では、−1≦x≦1,−1≦y≦1)に一致するように、その倍率(scale_x,scale_y)が数7に従って決定される。つまり、実操作可能範囲を全操作範囲に一致させるための倍率(拡大率)が算出される。
【0047】
[数7]
scale_x = 1÷dist_x´
scale_y = 1÷dist_y´
したがって、実際の電子機器への入力データ(移動量(距離)データ)は、数8に従って算出される。
【0048】
[数8]
入力データのX成分=(x2−x1)×scale_x
入力データのY成分=(y2−y1)×scale_y
具体的には、図1に示したコンピュータ12は図6および図7に示すデータ入力処理を実行する。図6を参照して、コンピュータ12はデータ入力処理を開始すると、ステップS1で、タッチ入力があるかどうかを判断する。具体的には、タッチパッド14から座標データおよび面積データが与えられているかどうかを判断する。ステップS1で“NO”であれば、つまりタッチ入力がなければ、図7に示すように、そのままデータ入力処理を終了する。
【0049】
しかし、ステップS1で“YES”であれば、つまりタッチ入力があれば、ステップS3で、接触面の重心の座標すなわち現在のタッチ座標(x2,y2)を取得し、ステップS5で、接触面の静電容量Sを取得する。つまり、タッチパッド14から与えられた座標データに基づいて現在のタッチ座標(x2,y2)を取得し、タッチパッド14から与えられた静電容量に基づいて静電容量Sを取得する。
【0050】
続くステップS7では、接触面の形状を正円(真ん丸)とみなして、当該正円の半径rに応じた補正値r´を数5に従って算出する。続くステップS9では、基準点の座標(x1,y1)を取得する。ただし、基準点の座標(x1,y1)は、タッチオン座標であり、ステップS1で最初に“YES”と判断されたときに、ステップS3で取得される座標(x2,y2)である。
【0051】
続いて、ステップS11では、x1≦x2であるかどうかを判断する。つまり、基準点のx座標が現在のタッチ座標のx座標以下であるかどうかを判断する。ステップS11で“YES”であれば、つまりx1≦x2であれば、ステップS13で、変数dist_xに1−x1を代入して、ステップS17に進む。一方、ステップS11で“NO”であれば、つまりx1>x2であれば、ステップS15で、変数dist_xに1+x1を代入して、ステップS17に進む。
【0052】
ステップS17では、y1≦y2であるかどうかを判断する。つまり、基準点のy座標が現在のタッチ座標のy座標以下であるかどうかを判断する。ステップS17で“YES”であれば、つまりy1≦y2であれば、ステップS19で、変数dist_yに1−y1を代入して、図7に示すステップS23に進む。一方、ステップS17で“NO”であれば、つまりy1>y2であれば、ステップS21で、変数dist_yに1+y1を代入して、ステップS23に進む。
【0053】
なお、ステップS11〜S21の処理によって、原点と基準点とのずれが補正されるのである。
【0054】
図7に示すように、ステップS23では、変数dist_x´にdist_x−r´を代入し、変数dist_y´にdist_y−r´を代入する。続くステップS25では、変数scale_xに1÷dist_x´を代入し、変数scale_yに1÷dist_y´を代入する。つまり、拡大率が算出される。そして、ステップS27で、入力データを算出する。具体的には、(x2−x1)×scale_xにより、入力データのx成分を算出し、(y2−y1)×scale_yにより、入力データのy成分を算出する。そして、ステップS29で、接続された電子機器に入力データを入力して、データ入力処理を終了する。
【0055】
なお、上述したデータ入力処理は一定時間(たとえば、1フレーム(1/60秒))毎に実行される。
【0056】
この実施例によれば、接触面の静電容量から実操作可能範囲を割り出し、実操作可能範囲をタッチパッドの操作可能範囲に一致させるように調整するので、相対的および絶対的な操作可能範囲の差を無くして、安定した入力操作を行うことができる。
【0057】
なお、上述の実施例では、図6および図7に示したように、データ入力処理において、基準点と原点とのずれを補正するようにしたが、当該ずれを補正しない場合であっても、比較的安定した入力操作を行うことが可能である。かかる場合には、図8に示すようなデータ入力処理が実行される。図8に示すデータ入力処理は、図6および図7に示したデータ入力処理のうち、ステップS11〜S21を削除し、ステップS9とステップS23との間に、ステップS10を設けた以外は、図6および図7に示したデータ入力処理と同じである。ステップS10では、変数dist_xおよび変数dist_yのそれぞれに「1」を代入するようにしてある。
【0058】
ただし、かかる場合には、変数dist_xおよび変数dist_yは、定数となるため、ステップS23における変数dist_xおよび変数dist_yのそれぞれを「1」にすることにより、ステップS10の処理を省略することも可能である。
【0059】
また、上述の実施例では、ユーザが最初にタッチオンしたタッチ位置を基準点に決定し、当該基準点と現在のタッチ位置との距離を補正するようにしたが、基準点に拘わらず、現在のタッチ位置(タッチ座標)を補正するようにすることもできる。ただし、かかる場合には、原点は操作面の中心点や操作面のいずれかの頂点などに固定的に設定すればよく、その原点に対する相対的なタッチ座標が検出されるだけであるため、原点の補正処理は不要である。
【0060】
かかる場合には、コンピュータ12は、図9に示すフロー図に従ってデータ入力処理を実行する。ただし、図8に示したデータ入力処理とほぼ同じであるため、同じ処理には同じ参照符号(ステップ番号)を付し、その詳細な説明は省略することにする。
【0061】
具体的には、図9に示すデータ入力処理は、図8に示したデータ入力処理において、ステップS9を削除し、ステップS27に変えてステップS28を設けてある。つまり、基準点の座標を検出する必要がなく、ステップS25で、拡大率(scale_x,scale_y)を算出すると、ステップS28で、現在のタッチ座標(x2,y2)を補正する。ただし、補正後のタッチ座標(x´,y´)は、数9に従って算出される。
【0062】
[数9]
x´=x2×scale_x
y´=y2×scale_y
このように、補正したタッチ座標を入力データとして、コンピュータ12に接続された電子機器に入力することもできる。かかる場合にも、相対的および絶対的な操作可能範囲の差を無くして、安定した入力操作を行うことができる。
【図面の簡単な説明】
【0063】
【図1】図1はこの発明の入力装置の構成の一例を示す図解図である。
【図2】図2は図1に示すタッチパッドのパッド表面の全操作範囲および実操作可能範囲を示す図解図である。
【図3】図3は図1に示すタッチパッドの操作領域における横方向の最大値を説明するための図解図である。
【図4】図4は図1に示すタッチパッドの操作領域における縦方向の最大値を説明するための図解図である。
【図5】図5は図1に示すタッチパッドの操作領域における実際の最大値を説明するための図解図である。
【図6】図6は図1に示すコンピュータのデータ入力処理の一部を示すフロー図である。
【図7】図7は図1に示すコンピュータのデータ入力処理の他の一部であり、図6に後続するフロー図である。
【図8】図8は図1に示すコンピュータのデータ入力処理の他の例を示すフロー図である。
【図9】図9は図1に示すコンピュータのデータ入力処理のその他の例を示すフロー図である。
【図10】図10は指の太さの異なるユーザがタッチパッドのパッド表面を左から右に直線的にドラッグする場合にその上面から見た図解図である。
【図11】図11は図10の断面図である。
【図12】図12はタッチパッドの全操作範囲および指の太さの異なるユーザの実操作可能範囲を示す図解図である。
【符号の説明】
【0064】
10 …入力装置
12 …コンピュータ
14 …タッチパッド
【技術分野】
【0001】
この発明はポインティングデバイスの入力調整プログラムおよび入力調整装置に関し、特にたとえば、タッチパッドのようなポインティングデバイスからの入力信号を調整する、ポインティングデバイスの入力調整プログラムおよび入力調整装置に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1によれば、タッチパネルは、その操作面が指で接触されると、その接触された位置の座標信号を出力する。また、操作面から指を離さずに移動したときには、タッチパネルから出力される座標信号の移動量が算出される。これにより、カーソルの移動が制御される。
【0003】
また、背景技術の他の例が特許文献2に開示される。この特許文献2によれば、たとえばLCDやCRTスクリーン等のディスプレイ上に、静電容量式の透明なタッチパッドが設けられ、ディスプレイの表示を見ながら操作を行うことができるようにしてある。
【特許文献1】特開平6−161646号公報
【特許文献2】特表2003−511799号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、静電式のタッチパッド(タッチパネル)などでは、操作面を指でタッチ操作した場合に、そのタッチ位置に応じた座標信号やタッチ面積に応じた値(静電容量値など)を出力する。このとき、操作面に接触させる指の太さの違いや指を接触させる力(押圧力)の違い等によって、指と操作面とが接触している面の大きさが変化するため、タッチ位置の座標の取り得る範囲に絶対的または相対的な差が発生してしまう。
【0005】
たとえば、図10(A)および図10(B)に示すように、指が細い人物(ユーザ)とこれに対して指が太いユーザとが同じタッチパッドの操作面上を指でドラッグ(スライド)した場合を仮定する。図10(A)に示すように、指が細い(小さい)場合には、タッチパッドの左端から右端まで直線的にドラッグすると、指でタッチしているタッチ座標は、横方向の座標(X座標)がP1で示す位置からP2で示す位置まで変化する。このとき、ドラッグの長さは距離L1で示される。一方、図10(B)に示すように、指が太い(大きい)場合には、操作面の左端から右端まで直線的にドラッグすると、そのタッチ座標は、X座標がP3で示す位置からP4で示す位置まで変化する。このとき、ドラッグの長さは距離L2で示される。
【0006】
なお、タッチパッドの周囲(外周)には枠が設けられるため、操作面の外周付近では、その枠により指の移動が規制されたり、ユーザはタッチパッドの枠を指の感触により認識したりして、ドラッグを止める。
【0007】
図10(A)および図10(B)からもよく分かるように、指の太さ等によってドラッグ可能な距離は異なる(L1>L2)。これは、図10(A)のXA−XA断面図である図11(A)および図10(B)のXB−XB断面図である図11(B)に示すように、指が細いユーザと指が太いユーザとでは、操作面に接触する指の接触面の大きさが異なるためである。ただし、指の太さ(大きさ)のみならず、操作の仕方(押圧力など)の違いによって、接触面の大きさは異なる。したがって、各ユーザ間で接触面の大きさ(操作可能範囲)が異なるのみならず(相対的な差)、同一ユーザであっても接触面の大きさ(操作可能範囲)が異なる場合がある(絶対的な差)。また、図11(A)および図11(B)では、簡単のため、接触面を側面(水平方向)から見たときの水平方向の長さで、接触面の大きさを示してある。
【0008】
図11(A)および図11(B)から分かるように、指の接触面の面積が小さいほど、タッチパッドの端(縁)により近い位置までドラッグ(タッチ)することができる。逆に、指の接触面の面積が大きいほど、タッチパッドの端に近い位置をタッチするのが困難である。したがって、タッチパッドの全操作範囲が図12(A)に示すような範囲である場合には、たとえば、接触面が小さいときには、図12(B)の斜線で示す範囲(操作可能範囲I)を操作することができ、接触面が大きいときには、図12(C)の斜線で示す範囲(操作可能範囲II)を操作することができる。つまり、人物毎や同じ人物であっても操作時毎に操作可能範囲が異なるという問題が生じてしまう。
【0009】
このため、たとえば、タッチパッドをゲーム機のジョイスティックコントローラの代わりに使用すると、そのタッチ操作可能な範囲の違いにより、プレイヤキャラクタの移動範囲や移動速度の制御にばらつきが発生してしまうという問題がある。
【0010】
それゆえに、この発明の主たる目的は、新規な、ポインティングデバイスの入力調整プログラムおよび入力調整装置を提供することである。
【0011】
この発明の他の目的は、使用者や使用者の操作の仕方に拘わらず、安定した入力を行うことができる、ポインティングデバイスの入力調整プログラムおよび入力調整装置を提供することである。
【課題を解決するための手段】
【0012】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【0013】
請求項1の発明は、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、コンピュータに、補正値算出ステップ、第1範囲算出ステップ、倍率算出ステップ、および距離補正ステップを実行させる。補正値算出ステップは、平面型ポインティングデバイスから入力されるタッチ面積に応じた値を接触面積とみなし、そのタッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。第1範囲算出ステップは、補正値算出ステップによって算出された補正値を用いて、ユーザが実際に操作した際にタッチ座標が取り得る第1範囲を算出する。倍率算出ステップは、第1範囲算出ステップによって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正ステップは、倍率算出ステップによって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正ステップを実行させる。
【0014】
請求項1の発明では、平面型ポインティングデバイスの入力調整プログラムは、コンピュータ(12:実施例で相当する参照符号。以下、同じ。)によって実行される。この平面型ポインティングデバイス(14)は、操作面を有し、この操作面を使用者(ユーザ)が指でタッチすると、そのタッチ位置であるタッチ座標および指と操作面との接触面のタッチ面積に応じた値を入力する。つまり、コンピュータ(12)に与える。ここで、タッチ面積に応じた値とは、タッチ面積の増減に従って変化する数値を示し、たとえば静電式タッチパッドの場合にはタッチ面積に応じて増減する静電容量を示す。入力調整プログラムは、コンピュータ(12)に、補正値算出ステップ(S7)、第1範囲算出ステップ(S23)、倍率算出ステップ(S25)、および距離補正ステップ(S27)を実行させる。補正値算出ステップ(S7)は、平面型ポインティングデバイス(14)から入力されるタッチ面積に応じた値をタッチ面積とみなし、タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。ここで、半径に応じた補正値とは、円の半径の長短に応じて変化する数値を示し、例えば円の半径そのものの数値や面積の平方根の数値が相当する。第1範囲算出ステップ(S23)は、補正値算出ステップによって算出された補正値を用いて、ユーザの指によって操作をできない可能性がある範囲を除いた第1範囲を算出する。倍率算出ステップ(S25)は、第1範囲算出ステップ(S23)によって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正ステップ(S27)は、倍率算出ステップ(S25)によって算出された倍率で基準点から現在のタッチ座標までの距離(移動量)を補正する距離補正ステップを実行させる。
【0015】
請求項1の発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、基準点から現在のタッチ座標までの距離を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0016】
請求項2の発明は請求項1に従属し、基準点は操作面に対してタッチオンしたときのタッチ座標であり、操作面の中心点に対する基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正ステップをさらに実行させる。
【0017】
請求項2の発明では、基準点は、ユーザが操作面に対してタッチオンしたときのタッチ座標である。基準点補正ステップ(S11,S13,S15,S17,S19,S21)は、操作面の中心点(原点)に対する基準点の横方向(X軸方向)のずれおよび縦方向(Y軸方向)のずれの少なくとも一方を補正する。
【0018】
請求項2の発明によれば、基準点を原点に一致させるように補正するので、基準点のずれを吸収して安定した入力を行うことができる。
【0019】
請求項3の発明は、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、コンピュータに、補正値算出ステップ、第1範囲算出ステップ、倍率算出ステップ、座標補正ステップを実行させる。補正値算出ステップは、タッチ面積を正円の面積とみなし、タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出ステップは、補正値算出ステップによって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出ステップは、第1範囲算出ステップによって算出された第1範囲を、操作面全体に対応させるための拡大率を算出する。座標補正ステップは、倍率算出ステップによって算出された倍率によって第1範囲におけるタッチ座標を拡大補正することにより、第1範囲におけるタッチ座標を前記操作面全体におけるタッチ座標に変換する。
【0020】
請求項3の発明では、平面型ポインティングデバイスの入力調整プログラムは、コンピュータ(12)によって実行される。この平面型ポインティングデバイス(14)は、操作面を有し、この操作面をユーザが指でタッチすると、そのタッチした指が操作面に接触する位置のタッチ座標および接触面のタッチ面積に応じた値をコンピュータ(12)に与える。入力調整プログラムは、コンピュータ(12)に、補正値算出ステップ(S7)、第2範囲算出ステップ(S23)、倍率算出ステップ(S25)、および座標補正ステップ(S28)を実行させる。補正値算出ステップ(S7)は、タッチ面積が正円の面積に等しいとみなし、平面型ポインティングデバイス(14)から入力されるタッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出ステップ(S23)は、補正値算出ステップによって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出ステップ(S25)は、第1範囲算出ステップ(S23)によって算出された第1範囲を、操作面全体の第2範囲に対応させるための倍率を算出する。そして、座標補正ステップ(S28)は、倍率算出ステップ(S25)によって算出された倍率によって第1範囲におけるタッチ座標を第2範囲(操作面全体)におけるタッチ座標に変換する補正ステップを実行させる。
【0021】
請求項3の発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、現在のタッチ座標を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0022】
請求項4の発明は、平面型ポインティングデバイス、補正値算出手段、第1範囲算出手段、倍率算出手段、および距離補正手段を備える平面型ポインティングデバイスの入力調整装置である。平面型ポインティングデバイスは、操作面を有し、この操作面に対するタッチ座標およびタッチ面積に応じた値を入力する。補正値算出手段は、平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する。第1範囲算出手段は、補正値算出手段によって算出された補正値を用いて、ユーザが実際に操作した際にタッチ座標が取り得る第1範囲を算出する。倍率算出手段は、第1範囲算出手段によって算出された第1範囲を、操作面全体の第2範囲に一致させるための倍率を算出する。そして、距離補正手段は、倍率算出手段によって算出された倍率で基準点から現在のタッチ座標までの距離を補正する。
【0023】
請求項4の発明においても、請求項1の発明と同様に、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0024】
請求項5の発明は請求項4に従属し、基準点は操作面に対してタッチオンしたときのタッチ座標であり、操作面の中心点に対する基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正手段をさらに実行させる。
【0025】
請求項5の発明においても、請求項2の発明と同様に、基準点のずれを吸収して安定した入力を行うことができる。
【0026】
請求項6の発明は、平面型ポインティングデバイス、補正値算出手段、第1範囲算出手段、倍率算出手段、および座標補正手段を備える平面型ポインティングデバイスの入力調整装置である。平面型ポインティングデバイスは、操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する。補正値算出手段は、タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する。第1範囲算出手段は、補正値算出手段によって算出された補正値に応じた距離だけ、操作面全体を中心方向に縮めた第1範囲を算出する。倍率算出手段は、第1範囲算出手段によって算出された第1範囲を、操作面全体の第2範囲に対応させるための拡大率を算出する。そして、座標補正手段は、倍率算出手段によって算出された拡大率によって第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を第2範囲におけるタッチ座標に変換する。
【0027】
請求項6の発明においても、請求項3の発明と同様に、安定した入力を行うことができる。
【発明の効果】
【0028】
この発明によれば、実際に操作可能な範囲をタッチパッドの全操作範囲に一致させる倍率で、基準点から現在のタッチ座標までの距離を補正するので、各ユーザやユーザのタッチの仕方に拘わらず、安定した入力を行うことができる。
【0029】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0030】
図1を参照して、この発明の一実施例である入力装置10はコンピュータ12を含み、コンピュータ12にはタッチパッド14が接続される。コンピュータ12は、典型的にはマイクロコンピュータであり、タッチパッド14の入力調整プログラムを記憶し、入力調整装置として機能する。このコンピュータ12には、図示しない電子機器が接続される。たとえば、電子機器としては、パーソナルコンピュータ、ワークステーション、PDA、ゲーム機、ゲーム機のコントローラなどが該当する。ただし、コンピュータ12または/およびタッチパッド14が電子機器に内蔵される場合もある。
【0031】
タッチパッド(ないしタッチパネル)14は、ユーザが指で操作面であるパッド表面を触れると、指がパッド表面に接触する位置に応じたタッチ座標とタッチ面積に応じた値をコンピュータ12に与える。たとえば、タッチ座標の一例としては、指が操作面に接触する面(接触面)の重心の座標のデータ(座標データ)である。また、タッチ面積に応じた値の一例としては、接触面の面積に応じた静電容量である。これらの値は、タッチパッド14側のASICなどによって演算された結果に出力される値であり、たとえば、タッチパッド14としては、Synaptics社製のタッチパッド(http://www.synaptics.com/technology/cps.cfm)を用いることができる。なお、上述したように、重心の座標データや静電容量は一例であり、タッチ座標としてはタッチ位置によって決まる座標であればよく、タッチ面積(接触面の面積)に応じた値としては接触面の面積の増減に応じて増減するような値であればよい。したがって、静電式のタッチパッド14だけでなく、光学式などの任意の種類のタッチパッド(タッチパネル)を用いることができる。
【0032】
コンピュータ12は、タッチパッド14から与えられる座標データおよび静電容量に、演算処理(調整処理を含む。)を施した入力データを電子機器に入力する。ただし、コンピュータ12は、座標データおよび静電容量をそのまま電子機器に入力することもある。たとえば、電子機器としてのパーソナルコンピュータでは、入力データを受けて、画面上のカーソル(マウスポインタ)やアイコンなどの任意の画像を移動させたり、画面をスクロールさせたりする。また、電子機器としてのゲーム機では、入力データを受けて、プレイヤキャラクタの移動を制御したり、その移動速度を制御したりする。
【0033】
通常、タッチパッド14は、図2(A)に示すように、その表面(パッド表面)の全体が操作面(全操作範囲)である。しかし、タッチパッド14では、指の接触面の重心の座標データを出力するようにしてあるため、指でタッチする場合には、実際には、パッド表面の端(縁)までを操作範囲として用いることができない。たとえば、タッチパッド14の周囲(外周)に枠が設けられる場合には、タッチパッド14の外周付近では、その枠により指の移動が規制されたり、ユーザはタッチパッド14の枠を指の感触により認識したりして、ドラッグを止める。したがって、図2(B)に示すように、指の接触面の重心(中心)から一定距離(ここでは、接触面の形状が正円とみなした場合の正円の半径rに応じた補正値r´)に相当する長さだけ、上下および左右のドラッグ可能な範囲(操作可能範囲)が小さくされる。また、各ユーザやユーザのタッチの仕方に応じて、相対的にまたは絶対的に接触面の大きさが異なるため、実際の操作可能範囲(実操作可能範囲)にばらつきが発生してしまう。
【0034】
そこで、この実施例では、かかるばらつきを無くすために、指の接触面の大きさに基づいて、実操作可能範囲を全操作範囲に一致させるように補正するようにしてある。以下、具体的に説明することにする。
【0035】
たとえば、コンピュータ12は、使用者ないしユーザがタッチパッド14にタッチオンしたときのタッチ座標を基準点(基準位置)とし、つまり基準位置として記憶しておき、その後、ドラッグ操作によってタッチ座標が入力されると、当該基準位置に対する現在のタッチ座標の差分を求めて、X成分の移動量やY成分の移動量を電子機器(図示せず)に入力するようにしてある。なお、この実施例では、簡単のため、基準位置は固定するようにしてあるが、時間の経過に従って、タッチパッド14の中心位置に近づけるようにしてもよい。
【0036】
また、基準位置はタッチパッド14の全操作範囲の中心と一致しないことがあるため、現在のタッチ座標と基準位置との関係から、タッチ座標が取り得る横方向(X軸方向)の範囲(最大値)および縦方向(Y軸方向)の最大値を求めるようにしてある。この実施例では、X軸方向の最大値を変数dist_xで表わし、Y軸方向の最大値を変数dist_yで表わすようにしてある。ただし、変数dist_xおよび変数dist_yは、いずれも絶対値である。また、この例では、タッチパッド14の中心位置を原点とし、第1象限,第2象限,第3象限および第4象限に分けて考えるようにしてあるため、基準位置との関係で、変数dist_x,dist_yも適宜決定される。さらに、図3(図4も同様)では、点線の円がタッチオン時のタッチ座標における指の接触形状(接触面)を示し、実線の円が現在のタッチ位置における指の接触形状(接触面)を示している。
【0037】
まず、図3(A)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が右側である場合には、つまりx2≧x1である場合には、X軸方向の最大値すなわち変数dist_xは数1で示される。
【0038】
[数1]
dist_x = 1−x1
また、図3(B)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が左側である場合には、つまりx2<x1である場合には、X軸方向の最大値すなわち変数dist_xは数2で示される。
【0039】
[数2]
dist_x = 1+x1
図4(A)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が上側である場合には、つまりy1≧y2である場合には、Y軸方向の最大値すなわち変数dist_yは数3で示される。
【0040】
[数3]
dist_y = 1−y1
また、図4(B)に示すように、基準位置A(x1,y1)よりも現在のタッチ位置B(x2,y2)が下側である場合には、つまりy1<y2である場合には、Y軸方向の最大値すなわち変数dist_yは数4で示される。
【0041】
[数4]
dist_y = 1+y1
このようにして、基準位置Aと現在のタッチ位置Bとの相対位置に応じて、X軸方向およびY軸方向の最大値がそれぞれ決定される。ただし、図2(B)に示したように、タッチパッド14のパッド表面の外周近傍は実質的に操作できない領域となる。したがって、この領域に対応する長さを、X軸方向の最大値およびY軸方向の最大値のそれぞれから削除(減算)するようにしてある。
【0042】
具体的には、計算式を容易にし、計算負荷を軽減するために指の接触面を正円とみなし、当該正円の半径rに応じた補正値r´を数5に従って求めて、数6に示すように、この補正値r´をそれぞれの最大値から減算した実際の最大値(dist_x´,dist_y´)を求める。
【0043】
ただし、数5において、Sは接触面の面積とみなした静電容量であり、タッチパッド14から与えられる静電容量に対応する。また、数5において、kは或る係数であり、この実施例の入力調整プログラムや入力調整装置のプログラマないし設計者によって決定される。
【0044】
[数5]
r´=k×√S
[数6]
dist_x´ = dist_x−r´
dist_y´ = dist_y−r´
なお、数5では、本来の円の公式(r=√(S/π))を用いずに、補正値r´を求めるようにしてあるが、これは計算負荷を軽減するためである。したがって、計算負荷を考慮しない場合には、円の公式に従って半径rを求めて、この半径rを数6で用いるようにしてもよい。
【0045】
したがって、たとえば、現在タッチパッド14の右上をタッチしており、そのタッチ位置が基準位置よりも右側であり、かつ上側である場合には、実際の最大値(dist_x´,dist_y´)は図5のように示される。
【0046】
ここで、図3および図4に示すように、実際の最大値(dist_x´,dist_y´)は、タッチパッド14の全操作範囲(この実施例では、−1≦x≦1,−1≦y≦1)に一致するように、その倍率(scale_x,scale_y)が数7に従って決定される。つまり、実操作可能範囲を全操作範囲に一致させるための倍率(拡大率)が算出される。
【0047】
[数7]
scale_x = 1÷dist_x´
scale_y = 1÷dist_y´
したがって、実際の電子機器への入力データ(移動量(距離)データ)は、数8に従って算出される。
【0048】
[数8]
入力データのX成分=(x2−x1)×scale_x
入力データのY成分=(y2−y1)×scale_y
具体的には、図1に示したコンピュータ12は図6および図7に示すデータ入力処理を実行する。図6を参照して、コンピュータ12はデータ入力処理を開始すると、ステップS1で、タッチ入力があるかどうかを判断する。具体的には、タッチパッド14から座標データおよび面積データが与えられているかどうかを判断する。ステップS1で“NO”であれば、つまりタッチ入力がなければ、図7に示すように、そのままデータ入力処理を終了する。
【0049】
しかし、ステップS1で“YES”であれば、つまりタッチ入力があれば、ステップS3で、接触面の重心の座標すなわち現在のタッチ座標(x2,y2)を取得し、ステップS5で、接触面の静電容量Sを取得する。つまり、タッチパッド14から与えられた座標データに基づいて現在のタッチ座標(x2,y2)を取得し、タッチパッド14から与えられた静電容量に基づいて静電容量Sを取得する。
【0050】
続くステップS7では、接触面の形状を正円(真ん丸)とみなして、当該正円の半径rに応じた補正値r´を数5に従って算出する。続くステップS9では、基準点の座標(x1,y1)を取得する。ただし、基準点の座標(x1,y1)は、タッチオン座標であり、ステップS1で最初に“YES”と判断されたときに、ステップS3で取得される座標(x2,y2)である。
【0051】
続いて、ステップS11では、x1≦x2であるかどうかを判断する。つまり、基準点のx座標が現在のタッチ座標のx座標以下であるかどうかを判断する。ステップS11で“YES”であれば、つまりx1≦x2であれば、ステップS13で、変数dist_xに1−x1を代入して、ステップS17に進む。一方、ステップS11で“NO”であれば、つまりx1>x2であれば、ステップS15で、変数dist_xに1+x1を代入して、ステップS17に進む。
【0052】
ステップS17では、y1≦y2であるかどうかを判断する。つまり、基準点のy座標が現在のタッチ座標のy座標以下であるかどうかを判断する。ステップS17で“YES”であれば、つまりy1≦y2であれば、ステップS19で、変数dist_yに1−y1を代入して、図7に示すステップS23に進む。一方、ステップS17で“NO”であれば、つまりy1>y2であれば、ステップS21で、変数dist_yに1+y1を代入して、ステップS23に進む。
【0053】
なお、ステップS11〜S21の処理によって、原点と基準点とのずれが補正されるのである。
【0054】
図7に示すように、ステップS23では、変数dist_x´にdist_x−r´を代入し、変数dist_y´にdist_y−r´を代入する。続くステップS25では、変数scale_xに1÷dist_x´を代入し、変数scale_yに1÷dist_y´を代入する。つまり、拡大率が算出される。そして、ステップS27で、入力データを算出する。具体的には、(x2−x1)×scale_xにより、入力データのx成分を算出し、(y2−y1)×scale_yにより、入力データのy成分を算出する。そして、ステップS29で、接続された電子機器に入力データを入力して、データ入力処理を終了する。
【0055】
なお、上述したデータ入力処理は一定時間(たとえば、1フレーム(1/60秒))毎に実行される。
【0056】
この実施例によれば、接触面の静電容量から実操作可能範囲を割り出し、実操作可能範囲をタッチパッドの操作可能範囲に一致させるように調整するので、相対的および絶対的な操作可能範囲の差を無くして、安定した入力操作を行うことができる。
【0057】
なお、上述の実施例では、図6および図7に示したように、データ入力処理において、基準点と原点とのずれを補正するようにしたが、当該ずれを補正しない場合であっても、比較的安定した入力操作を行うことが可能である。かかる場合には、図8に示すようなデータ入力処理が実行される。図8に示すデータ入力処理は、図6および図7に示したデータ入力処理のうち、ステップS11〜S21を削除し、ステップS9とステップS23との間に、ステップS10を設けた以外は、図6および図7に示したデータ入力処理と同じである。ステップS10では、変数dist_xおよび変数dist_yのそれぞれに「1」を代入するようにしてある。
【0058】
ただし、かかる場合には、変数dist_xおよび変数dist_yは、定数となるため、ステップS23における変数dist_xおよび変数dist_yのそれぞれを「1」にすることにより、ステップS10の処理を省略することも可能である。
【0059】
また、上述の実施例では、ユーザが最初にタッチオンしたタッチ位置を基準点に決定し、当該基準点と現在のタッチ位置との距離を補正するようにしたが、基準点に拘わらず、現在のタッチ位置(タッチ座標)を補正するようにすることもできる。ただし、かかる場合には、原点は操作面の中心点や操作面のいずれかの頂点などに固定的に設定すればよく、その原点に対する相対的なタッチ座標が検出されるだけであるため、原点の補正処理は不要である。
【0060】
かかる場合には、コンピュータ12は、図9に示すフロー図に従ってデータ入力処理を実行する。ただし、図8に示したデータ入力処理とほぼ同じであるため、同じ処理には同じ参照符号(ステップ番号)を付し、その詳細な説明は省略することにする。
【0061】
具体的には、図9に示すデータ入力処理は、図8に示したデータ入力処理において、ステップS9を削除し、ステップS27に変えてステップS28を設けてある。つまり、基準点の座標を検出する必要がなく、ステップS25で、拡大率(scale_x,scale_y)を算出すると、ステップS28で、現在のタッチ座標(x2,y2)を補正する。ただし、補正後のタッチ座標(x´,y´)は、数9に従って算出される。
【0062】
[数9]
x´=x2×scale_x
y´=y2×scale_y
このように、補正したタッチ座標を入力データとして、コンピュータ12に接続された電子機器に入力することもできる。かかる場合にも、相対的および絶対的な操作可能範囲の差を無くして、安定した入力操作を行うことができる。
【図面の簡単な説明】
【0063】
【図1】図1はこの発明の入力装置の構成の一例を示す図解図である。
【図2】図2は図1に示すタッチパッドのパッド表面の全操作範囲および実操作可能範囲を示す図解図である。
【図3】図3は図1に示すタッチパッドの操作領域における横方向の最大値を説明するための図解図である。
【図4】図4は図1に示すタッチパッドの操作領域における縦方向の最大値を説明するための図解図である。
【図5】図5は図1に示すタッチパッドの操作領域における実際の最大値を説明するための図解図である。
【図6】図6は図1に示すコンピュータのデータ入力処理の一部を示すフロー図である。
【図7】図7は図1に示すコンピュータのデータ入力処理の他の一部であり、図6に後続するフロー図である。
【図8】図8は図1に示すコンピュータのデータ入力処理の他の例を示すフロー図である。
【図9】図9は図1に示すコンピュータのデータ入力処理のその他の例を示すフロー図である。
【図10】図10は指の太さの異なるユーザがタッチパッドのパッド表面を左から右に直線的にドラッグする場合にその上面から見た図解図である。
【図11】図11は図10の断面図である。
【図12】図12はタッチパッドの全操作範囲および指の太さの異なるユーザの実操作可能範囲を示す図解図である。
【符号の説明】
【0064】
10 …入力装置
12 …コンピュータ
14 …タッチパッド
【特許請求の範囲】
【請求項1】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、
コンピュータに、
前記平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、当該タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する補正値算出ステップ、
前記補正値算出ステップによって算出された補正値を用いて、前記タッチ座標が取り得る第1範囲を算出する第1範囲算出ステップ、
前記第1範囲算出ステップによって算出された第1範囲を、前記操作面全体の第2範囲に一致させるための倍率を算出する倍率算出ステップ、および
前記倍率算出ステップによって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正ステップを実行させる、ポインティングデバイスの入力調整プログラム。
【請求項2】
前記基準点は操作面に対してタッチオンしたときのタッチ座標であり、
前記操作面の中心点に対する前記基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正ステップをさらに実行させる、請求項1記載のポインティングデバイスの入力調整プログラム。
【請求項3】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、
コンピュータに、
前記タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する補正値算出ステップ、
前記補正値算出ステップによって算出された補正値に応じた距離だけ、前記操作面全体を中心方向に縮めた第1範囲を算出する第1範囲算出ステップ、
前記第1範囲算出ステップによって算出された第1範囲を、前記操作面全体の第2範囲に対応させるための拡大率を算出する倍率算出ステップ、および
前記倍率算出ステップによって算出された拡大率によって前記第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を前記第2範囲におけるタッチ座標に変換する座標補正ステップを実行させる、ポインティングデバイスの入力調整プログラム。
【請求項4】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイス、
前記平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、当該タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する補正値算出手段、
前記補正値半径算出手段によって算出された補正値を用いて、前記タッチ座標が取り得る第1範囲を算出する第1範囲算出手段、
前記第1範囲算出手段によって算出された第1範囲を、前記操作面全体の第2範囲に一致させるための倍率を算出する倍率算出手段、および
前記倍率算出手段によって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正手段を備える、ポインティングデバイスの入力調整装置。
【請求項5】
前記基準点は操作面に対してタッチオンしたときのタッチ座標であり、
前記操作面の中心点に対する前記基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正手段をさらに備える、請求項3記載のポインティングデバイスの入力調整装置。
【請求項6】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイス、
前記タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値に応じた距離だけ、前記操作面全体を中心方向に縮めた第1範囲を算出する第1範囲算出手段、
前記第1範囲算出手段によって算出された第1範囲を、前記操作面全体の第2範囲に対応させるための拡大率を算出する倍率算出手段、および
前記倍率算出手段によって算出された拡大率によって前記第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を前記第2範囲におけるタッチ座標に変換する座標補正手段を備える、ポインティングデバイスの入力調整装置。
【請求項1】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、
コンピュータに、
前記平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、当該タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する補正値算出ステップ、
前記補正値算出ステップによって算出された補正値を用いて、前記タッチ座標が取り得る第1範囲を算出する第1範囲算出ステップ、
前記第1範囲算出ステップによって算出された第1範囲を、前記操作面全体の第2範囲に一致させるための倍率を算出する倍率算出ステップ、および
前記倍率算出ステップによって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正ステップを実行させる、ポインティングデバイスの入力調整プログラム。
【請求項2】
前記基準点は操作面に対してタッチオンしたときのタッチ座標であり、
前記操作面の中心点に対する前記基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正ステップをさらに実行させる、請求項1記載のポインティングデバイスの入力調整プログラム。
【請求項3】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイスの入力調整プログラムであって、
コンピュータに、
前記タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する補正値算出ステップ、
前記補正値算出ステップによって算出された補正値に応じた距離だけ、前記操作面全体を中心方向に縮めた第1範囲を算出する第1範囲算出ステップ、
前記第1範囲算出ステップによって算出された第1範囲を、前記操作面全体の第2範囲に対応させるための拡大率を算出する倍率算出ステップ、および
前記倍率算出ステップによって算出された拡大率によって前記第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を前記第2範囲におけるタッチ座標に変換する座標補正ステップを実行させる、ポインティングデバイスの入力調整プログラム。
【請求項4】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイス、
前記平面型ポインティングデバイスから入力されるタッチ面積に応じた値をタッチ面積とみなし、当該タッチ面積を正円の面積と擬制した場合の当該正円の半径に応じた補正値を算出する補正値算出手段、
前記補正値半径算出手段によって算出された補正値を用いて、前記タッチ座標が取り得る第1範囲を算出する第1範囲算出手段、
前記第1範囲算出手段によって算出された第1範囲を、前記操作面全体の第2範囲に一致させるための倍率を算出する倍率算出手段、および
前記倍率算出手段によって算出された倍率で基準点から現在のタッチ座標までの距離を補正する距離補正手段を備える、ポインティングデバイスの入力調整装置。
【請求項5】
前記基準点は操作面に対してタッチオンしたときのタッチ座標であり、
前記操作面の中心点に対する前記基準点の横方向のずれおよび縦方向のずれの少なくとも一方を補正する基準点補正手段をさらに備える、請求項3記載のポインティングデバイスの入力調整装置。
【請求項6】
操作面を有し、この操作面に対してタッチ操作されたときのタッチ座標およびタッチ面積に応じた値を入力する平面型ポインティングデバイス、
前記タッチ面積を正円の面積とみなし、当該タッチ面積に応じた値を用いて当該正円の半径に応じた補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値に応じた距離だけ、前記操作面全体を中心方向に縮めた第1範囲を算出する第1範囲算出手段、
前記第1範囲算出手段によって算出された第1範囲を、前記操作面全体の第2範囲に対応させるための拡大率を算出する倍率算出手段、および
前記倍率算出手段によって算出された拡大率によって前記第1範囲におけるタッチ座標を拡大補正することにより、当該第1範囲におけるタッチ座標を前記第2範囲におけるタッチ座標に変換する座標補正手段を備える、ポインティングデバイスの入力調整装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−18372(P2007−18372A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−200618(P2005−200618)
【出願日】平成17年7月8日(2005.7.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願日】平成17年7月8日(2005.7.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]