キーボード、キーボードドライバ、方法および記録媒体
【課題】従来のキーボードが有するキーボード押下時の感触を得ることができ、直感性の高いカーソル移動を可能とするタッチセンサ及び圧力センサを備えるキーボードおよびこれを制御するキーボードドライバを提供すること。
【解決手段】本発明のキーボードドライバは、各キートップに接触センサおよび圧力センサを備えたキーボードから受領した各キーの接触位置および接触圧を使用して、接触位置に応じた画面位置にカーソルを表示させる。
【解決手段】本発明のキーボードドライバは、各キートップに接触センサおよび圧力センサを備えたキーボードから受領した各キーの接触位置および接触圧を使用して、接触位置に応じた画面位置にカーソルを表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーボードおよびこれを制御するキーボードドライバに関し、より詳細には、タッチセンサおよび圧力センサを備えるキーボードおよびこれを制御するデバイスドライバに関する。
【背景技術】
【0002】
従来、パソコン等の情報処理装置の入力装置として、マウスやキーボード等が利用されている。これらの入力装置は、情報処理装置に接続されたディスプレイ等の表示装置に表示されたポインティングデバイスのカーソルの直感的な移動、文字や数字、記号等の入力、表示画面の切り替えなど種々の表示制御を行うのに使用されている。
【0003】
入力装置の1つであるキーボードには様々な種類があり、接触センサを備え、ユーザの接触位置に応じた表示画面上の位置にポインティングデバイスのカーソルを表示させるものがある。ユーザは、キーボード上に設けられた接触センサを使用して、直感的にカーソル操作を行うことができる。
【0004】
この点につき、特許文献1は、接触点を信号として出力するタッチパネル部と、当該信号を解析してキーコードまたは座標点を出力する信号解析部とで構成されたキーボードタッチパッドであって、コンピュータおよびその画面表示装置と異なる位置に配置されることを特徴とするキーボードタッチパッドを開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−254624号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1が開示するキーボードタッチパッドは、操作面がタッチパッドで構成されているため入力キーを備えておらず、従来のキーボードが有するキーボード押下時の感触をユーザが得ることができないという問題があった。このため、従来のキーボードのユーザが上記タッチパッドを使用する場合、その操作に慣れるには、新たな操作経験を蓄積しなければならないとう問題があった。
【0007】
さらに、上記タッチパッドでは、タッチパッドで制御されるポインティングデバイスのカーソル等の動作領域が表示画面領域と完全に一致しておらず、カーソル移動における直感性の程度が低いという問題があった。
【0008】
本発明は、上記従来技術の問題に鑑みてなされたものであり、従来のキーボードが有するキーボード押下時の感触を得ることができ、直感性の高いカーソル移動を可能とするタッチセンサ及び圧力センサを備えるキーボードおよびこれを制御するキーボードドライバを提供することを目的とするものである。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のキーボードドライバは、各キートップに接触センサおよび圧力センサを備えたキーボードから受領した各キーの接触位置および接触圧を使用して、接触位置に応じた画面位置にカーソルを表示させる。また、本発明のキーボードは、カーソルが表示される画面領域と、各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、キーの接触位置と画面位置とが一対一で対応する。これにより、本発明のキーボードドライバは、従来のキーボードが有するキーボード押下時の感触を得ることができキーボードを使用して、直感性の高いカーソル移動を実現できる。
【0010】
さらに、本発明は、従来のキーボードが有するキーボード押下時の感触を得ることができ、直感性の高いカーソル移動を可能とするキーボードを提供する。
【図面の簡単な説明】
【0011】
【図1】本実施形態のキーボードおよび情報処理装置の機能構成を示す図。
【図2】本実施形態の情報処理装置が実行する処理を示す図。
【図3】本実施形態の情報処理装置が画面対応モード時に実行する処理を示す図。
【図4】本実施形態の情報処理装置が画面対応モード時に実行する処理の一実施形態を示す図。
【図5】本実施形態の情報処理装置が画面対応モード時に実行する処理の別の実施形態を示す図。
【図6】本実施形態の情報処理装置が画面対応モード時に実行する処理の他の実施形態を示す図。
【図7】本実施形態の情報処理装置が画面非対応モード時に実行する処理を示す図。
【図8】本実施形態の情報処理装置およびキーボードを示す図。
【図9】本実施形態のキーボードを示す図。
【図10】本実施形態の情報処理装置のキーボードドライバが使用する画面位置情報テーブルの一実施形態を示す図。
【図11】本実施形態の情報処理装置が実行する座標算出処理における接触位置の算出を概念的に示す図。
【発明を実施するための形態】
【0012】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態のキーボード110および情報処理装置120の機能構成100を示す図である。
【0013】
キーボード110は、複数の入力キーを備え、各キーのキートップに接触センサおよび圧力センサが重畳して設けられたキーボードである。キーボード110は、ユーザが押下したキーを固有に識別するキー固有識別情報(以下、キーIDとして参照する。)、ユーザが接触したキートップの接触位置、およびユーザがキートップに接触したときの接触圧を、入力情報として情報処理装置120に送信する。
【0014】
キーボード110は、接触位置取得部112と、圧力検出部114と、入力情報送信部116とを含んで構成されている。接触位置取得部112は、キートップに埋め込まれた接触センサが出力する接触位置情報およびキーIDを受領して入力情報送信部116に渡す機能手段である。圧力検出部114は、ユーザがキーを押下したときに生じる接触圧および当該キーのキーIDを圧力センサから受領して、入力情報送信部116に渡す機能手段である。入力情報送信部116は、圧力検出部114および入力情報送信部116から受領したキーID、接触位置情報および接触圧を情報処理装置120に送信する機能手段である。
【0015】
情報処理装置120は、キーボード110を制御可能なキーボードドライバ122がインストールされ、キーボード110に対するユーザの入力情報に応じて表示装置の表示制御を行う装置である。本実施形態では、情報処理装置としてパーソナル・コンピュータ(PC)を採用することができ、具体的には、キーボード110、情報処理装置120および表示装置140が一体化されたノート型パソコン等のポータブルPCや、これらの装置が独立した据え置き型のデスクトップPCを採用することができる。
【0016】
情報処理装置120は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述された本実施形態のプログラムを実行する。また、情報処理装置120は、プログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)などを含んでおり、本実施形態の各機能手段をプログラムの実行により、当該情報処理装置上に実現する。
【0017】
情報処理装置120は、キーボードドライバ122と、設定情報が登録される記憶装置134と、変換テーブルが登録される記憶装置136と、画面位置情報テーブルが登録される記憶装置138とを含んで構成される。キーボードドライバ122は、入力情報受信部124と、キー処理部126と、座標位置算出部128と、表示制御部130と、設定情報登録部132とを含む。
【0018】
入力情報受信部124は、キーボード110が送信した入力情報を受信し、入力情報の内容に応じて後述する機能手段を呼び出して各機能手段の処理を実行させる機能手段である。入力情報受信部124は、後述する設定情報登録部132によって情報処置装置のRAM等の記憶装置134に設定情報として登録されたキーボード110の入力モードや押下されたキーのキーIDに応じて、適切な機能手段を呼び出す。具体的には、入力情報受信部124は、設定情報の1つであるキーの入力モードが後述のタッチパネル入力モード(例えば、画面対応モードまたは画面非対応モード)である場合には、座標位置算出部128を呼び出して接触位置に対応する表示画面上の座標位置情報である画面位置情報を算出させる。一方、入力モードがキー入力モードである場合には、入力情報受信部124は、キー処理部126を呼び出し、押下されたキーに関連付けられた処理を実行させる。また、入力情報受信部124は、設定情報の変更を指示する特定の1または複数のキーが押下された場合、設定情報登録部132を呼び出して設定情報を変更させる。
【0019】
キー処理部126は、キーに割り当てられた処理が登録されている記憶装置136の変換テーブルを参照して、押下されたキーに割り当てられた処理を実行させる機能手段である。キー処理部126が実行する処理には、例えば、文字、記号または数字の入力や削除、カーソル移動、フォーカス移動、種々のファンクションコール等が含まれる。本実施形態では、キー処理部126は、入力情報受信部124から呼び出されると、記憶装置136の変換テーブルを参照し、入力情報に含まれるキーIDを使用して、押下されたキーに割り当てられた処理を特定し、表示制御部130または情報処理装置120のOS(図示せず)に当該処理を実行させる。
【0020】
座標位置算出部128は、キートップ上のユーザの接触位置を特定し、当該接触位置に対応する画面位置情報を算出する機能手段である。座標位置算出部128は、入力情報受信部124から呼び出されると、記憶装置134に登録された設定情報を参照して入力モードを判断し、その入力モードに応じた座標位置算出処理を実行する。すなわち、入力モードが、接触位置および画面位置情報が一対一で対応する画面対応モードである場合、座標位置算出部128は、画面位置情報テーブルを参照して、算出した接触位置に対応する画面位置情報を特定する。一方、入力モードが、接触位置および画面位置情報が一対一で対応しない画面非対応モードである場合、座標位置算出部128は、複数の接触位置を使用して単位ベクトルおよび移動量を計算して画面位置情報を算出する。
【0021】
記憶装置136の変換テーブルには、キーIDと、当該キーIDが示すキーに割り当てられた処理を示す処理IDとが関連付けて登録される。また、記憶装置136の変換テーブルには、各キーのIDと、各キーの接触位置と、当該接触位置に対応する画面位置情報とが関連付けて登録される。
【0022】
表示制御部130は、座標位置算出部128が算出した画面位置情報にカーソルやポインタ等を表示させ、またはキー処理部126の要求に応じて文字や記号等の表示やカーソル等の移動を行う機能手段である。表示制御部130は、座標位置算出部128から画面位置情報を受領すると、表示装置140に対してカーソル等の表示要求および画面位置情報を送信し、当該画面位置情報が示す位置にカーソル等を表示させる。また、表示制御部130は、キー処理部126から文字や記号等の表示要求を受領すると、表示すべき文字や記号等を表示装置に表示させ、一方、カーソル等の移動要求を受領すると、カーソル等の表示要求および画面位置情報を表示装置に送信して、当該画面位置情報が示す位置にカーソル等を表示させる。
【0023】
設定情報登録部132は、キーボード110の設定情報を登録または変更する機能手段である。本実施形態では、キーボード110の入力モードや圧力センサの感度を設定情報とすることができ、設定情報登録部132は、記憶装置134に登録された設定情報を変更することにより、キーボード110の入力モードの切り替えや圧力センサの感度を変更することができる。
【0024】
図2は、本実施形態の情報処理装置120が実行する処理を示す図である。図2の処理は、キーボードドライバ122が起動されることにより、ステップS200から開始する。ステップS201では、入力情報受信部124が、キーボード110、情報処理装置120のOSまたは他のアプリケーションプログラムから終了要求を受信したか否か判断し、終了要求を受信した場合には(yes)、処理をステップS207に分岐させ、終了させる。一方、終了要求を受信していない場合には(no)、処理をステップS202に分岐させる。ステップS202では、入力情報受信部124は、キーボード110から入力情報を受信したか否か判断し、入力情報を受信していない場合には(no)、処理をステップS201に戻す。一方、入力情報を受信した場合には(yes)、処理をステップS203に分岐させる。
【0025】
ステップS203では、入力情報受信部124は、記憶装置134に登録されている設定情報を取得し、キーボード110の入力モードを判断し、入力モードの種類に応じて処理をステップS204、S205またはS206に分岐させる。
【0026】
ステップS203の判定で、入力モードがキー入力モードであると判断した場合には、処理をステップS204に分岐させ、キー処理部126が、押下されたキーに割り当てられた処理を実行し、処理をステップS201に戻す。また、ステップS203の判定で、入力モードが画面対応モードであると判断した場合には、処理をステップS205に分岐させ、座標位置算出部128が、画面対応モードの入力処理を実行し、処理をステップS201に戻す。さらに、ステップS203の判定で、入力モードが画面非対応モードであると判断した場合には、処理をステップS206に分岐させ、座標位置算出部128が、画面非対応モードの入力処理を実行し、処理をステップS201に戻す。
【0027】
図3は、入力モードが画面対応モードである場合に情報処理装置120が実行する処理を示す図である。図3の処理は、ステップS300から開始し、ステップS301で座標位置算出部128が、入力情報受信部124が受信した入力情報が複数キーの入力情報であるか否か判断する。本実施形態では、入力情報の一部であるキーIDの数を調べることにより、複数キーの入力情報であるか否か判断することができる。
【0028】
ステップS301の判定で複数キーの入力情報でないと判断した場合には(no)、処理をステップS303に分岐させ、ステップS303では、座標位置算出部128は、接触位置情報が規定する接触領域の中心位置を基準点として算出し、画面位置情報テーブル138を参照し、その基準点に対応する画面位置情報を取得する。本実施形態では、入力情報に含まれるキー位置情報から接触領域におけるx座標およびy座標の最小値および最大値を特定して、接触領域の中点を算出することができる。なお、算出値は、キー位置情報に適合するように丸めてもよい。
【0029】
一方、ステップS301の判定で複数キーの入力情報であると判断した場合には(yes)、処理をステップS302に分岐させる。ステップS302では、座標位置算出部128は、入力情報に含まれるキーIDの数を使用して入力キーの数を判断し、その数に応じて処理をステップS400、ステップS500またはステップS600に分岐させる。
【0030】
図4は、図3のステップSステップS302の判定で、入力キーの数が2であると判断した場合に実行される処理を示す図である。図4の処理は、ステップS400から開始し、ステップS400で、座標位置算出部128が、双方のキーが所属するキー配列における行が同一であるか否か判断する。
【0031】
本実施形態では、キーIDには、キーの配列情報、例えば、各行を固有に識別可能な情報が含まれており、キーIDを参照することにより、当該キーIDが示すキーがいずれの行に含まれるのか判断することができる。また、キーIDには、キーの順序を示す情報が含まれており、隣接するキーの順序を判断することができる。例えば、昇順または降順の数字をキーの順序を示す情報として使用して、キーIDの一部を構成することができる。
【0032】
ステップS400の判定で、双方のキーが属する列が同一であると判断した場合には(yes)、処理をステップS401に分岐させる。ステップS401では、座標位置検出部128は、画面位置情報テーブル138を参照し、入力情報に含まれる接触位置情報を使用して、2のキーのうち左側に配置された第1のキーのタッチセンサが規定する領域(以下、タッチセンサ領域として参照する。)の右辺のX座標に対応する画面位置情報である表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS402では、座標位置検出部128は、接触位置情報を使用して、第1のキーのタッチセンサ領域とその接触領域が重複する領域内の右辺の中点を算出し、画面位置情報テーブル138を参照して、当該中点に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0033】
ステップS403では、ステップS401と同様に、2のキーのうち右側に配置された第2のキーのタッチセンサ領域の左辺のX座標に対応する画面位置情報である表示画面上のX座標の値を取得し、第2の基準点のX座標(X2)とする。ステップS404では、ステップS402と同様に、第2のキーのタッチセンサ領域とその接触領域が重複する領域内の左辺の中点を算出し、当該中点に対応する表示画面上のY座標の値を取得し、第2の基準点のY座標(Y2)とする。
【0034】
一方、ステップS400の判定で、双方のキーが属する列が相違すると判断した場合には(no)、処理をステップS405に分岐させる。ステップS405では、座標位置検出部128は、入力情報に含まれる接触位置情報を使用して、2のキーのうち上側に配置された第1のキーのタッチセンサ領域とその接触領域が重複する領域内の下辺の中点を算出し、画面位置情報テーブル138を参照して、当該中点に対応する表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS406では、座標位置検出部128は、画面位置情報テーブル138を参照して、第1のキーのタッチセンサ領域の下辺のY座標に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0035】
ステップS407では、ステップS405と同様に、2のキーのうち下側に配置された第2のキーのタッチセンサ領域とその接触領域が重複する領域内の上辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第2の基準点のX座標(X2)とする。ステップS408では、ステップS406と同様に、第2のキーのタッチセンサ領域の上辺のY座標に対応する表示画面上のY座標の値を取得し、第2の基準点のY座標(Y2)とする。
【0036】
ステップS409では、座標位置算出部128は、下記式1を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソルを表示装置140に表示させ、ステップS305で図3の処理が終了する。本実施形態では、カーソルを指定位置に表示可能なAPI関数(例えば、Windows(登録商標)OSの場合、Win32APIのSetCursorPos等)を使用して、画面位置情報が示す位置にカーソルを表示させることができる。なお、下記式1では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第1のキーの接触圧をV1、第2のキーの接触圧をV2とする。
【数1】
【0037】
図5は、図3のステップSステップS302の判定で、入力キーの数が3であると判断した場合に実行される処理を示す図である。図5の処理は、ステップS500から開始し、ステップS500で、座標位置算出部128が、キー配列における上側の列である第1行にキーが2つ存在するか否か判断する。第1行にキーが2つ存在すると判断した場合には(yes)、処理をステップS501に分岐させる。
【0038】
ステップS501では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の左側に配置された第1のキーの最右下端の座標に対応する表示画面上の座標を取得し、第1の基準点の座標(X1,Y1)とする。ステップS502では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の右側に配置された第2のキーの最左下端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。
【0039】
ステップS503では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における下側の列である第2行のキーである第3のキーのタッチセンサ領域と、その接触領域が重複する領域内の上辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第3の基準点のX座標(X3)とする。ステップS504では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第3のキーのタッチセンサ領域の上辺のY座標に対応する表示画面上のY座標の値を取得し、第3の基準点のY座標(Y3)とする。
【0040】
一方、ステップS500の判定で第1行にキーが2つ存在しない、すなわち第2行にキーが2つ存在すると判断した場合には(no)、処理をステップS505に分岐させる。ステップS505では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における上側の列である第1行のキーである第1のキーのタッチセンサ領域と、その接触領域が重複する領域内の下辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS506では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1のキーのタッチセンサ領域の下辺のY座標に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0041】
ステップS507では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列の下側の列である第2行の左側に配置された第2のキーの最右上端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。ステップS508では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第2行の右側に配置された第3のキーの最左上端の座標に対応する表示画面上の座標を取得し、第3の基準点の座標(X3,Y3)とする。
【0042】
ステップS509では、座標位置算出部128は、下記式2を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソル等を表示装置140に表示させ、ステップS305で図3の処理が終了する。なお、下記式2では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第3のキーの基準点を(X3,Y3)、第1のキーの接触圧をV1、第2のキーの接触圧をV2、第3のキーの接触圧をV3とする。
【数2】
【0043】
図6は、図3のステップSステップS302の判定で、入力キーの数が4であると判断した場合に実行される処理を示す図である。図6の処理は、ステップS600から開始し、ステップS600で、座標位置算出部128が、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における上側の列である第1行の左側に配置された第1のキーの最右下端の座標に対応する表示画面上の座標を取得し、第1の基準点の座標(X1,Y1)とする。ステップS601では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の右側に配置された第2のキーの最左下端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。
【0044】
ステップS602で、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における下側の列である第2行の左側に配置された第3のキーの最右上端の座標に対応する表示画面上の座標を取得し、第3の基準点の座標(X3,Y3)とする。ステップS603では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第2行の右側に配置された第4のキーの最左上端の座標に対応する表示画面上の座標を取得し、第4の基準点の座標(X4,Y4)とする。
【0045】
ステップS604では、座標位置算出部128は、下記の式3を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソル等を表示装置140に表示させ、ステップS305で図3の処理が終了する。なお、下記式3では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第3のキーの基準点を(X3,Y3)、第4のキーの基準点を(X4,Y4)、第1のキーの接触圧をV1、第2のキーの接触圧をV2、第3のキーの接触圧をV3、第4のキーの接触圧をV4とする。
【数3】
【0046】
図7は、入力モードが画面非対応モードである場合に情報処理装置120が実行する処理を示す図である。図7の処理は、ステップS700から開始し、ステップS701で座標位置算出部128が、入力情報受信部124が受信した入力情報を使用して、接触位置に対応する画面位置情報を算出する。本実施形態では、当該画面位置情報を算出する方法として、図3〜6を参照して説明した座標位置の算出方法(すなわち、ステップS300〜S303、ステップS400〜409、ステップS500〜S509およびステップS600〜604)を採用することができる。座標位置算出部128は、当該画面位置情報を算出すると、レジスタやRAM等の記憶装置に当該画面位置情報を格納する。
【0047】
ステップS702では、座標位置算出部128は、前回の接触位置に対応する画面位置情報が上記記憶装置に格納されているか否か判断し、当該画面位置情報が格納されていない場合には(no)、処理をステップS708に分岐させて終了する。一方、前回の接触位置に対応する画面位置情報が上記記憶装置に格納されている場合には(yes)、処理をステップS703に分岐させる。
【0048】
ステップS703では、座標位置算出部128は、前回の接触位置に対応する画面位置情報および今回の接触位置に対応する画面位置情報を上記記憶装置から取得し、下記式4を使用して前回および今回の接触位置による単位ベクトルを算出する。なお、下記式4では、移動前の接触位置を(X1、Y1)、移動前の接触位置を(X2、Y2)とする。
【数4】
【0049】
ステップS704では、座標位置算出部128は、前回の接触位置に対応する画面位置情報および今回の接触位置に対応する画面位置情報を使用して、下記式5により、上記単位ベクトル(Ex,Ey)方向の移動量を算出する。なお、下記式5では、移動前の接触位置を(X1、Y1)、移動前の接触位置を(X2、Y2)、最小移動量をl、調整係数をCとする。
【数5】
【0050】
ステップS705では、座標位置算出部128は、現在のカーソル表示位置を取得する。本実施形態では、カーソル表示位置を取得可能なAPI関数(例えば、Windows(登録商標)OSの場合、Win32APIのGetCursorPos等)を使用して、現在のカーソル表示位置(Xc、Yc)を取得することができる。
【0051】
ステップS706では、現在のカーソル表示位置(Xc、Yc)、単位ベクトル(Ex,Ey)、移動量(Mx,My)を使用して、下記式6により、カーソルを表示すべきカーソル表示位置(X,Y)を算出する。
【数6】
【0052】
ステップS707では、表示制御部130が、ステップS706で算出したカーソル表示位置にカーソルを表示させ、ステップS708で図7の処理が終了する。
【0053】
図8は、本実施形態の情報処理装置およびキーボードを示す図である。図8に示す情報処理装置810は、キーボードおよび表示装置一体型の情報処理装置である。情報処理装置810は、表示画面812と、キーボード部820とを含んで構成されている。本実施形態では、表示画面812の画面領域およびキーボード部820の接触センサが構成する接触センサ領域822は、同一のサイズとなるように構成されている。本実施形態の表示装置の大きさは8型であり、その解像度は1600×768ドットであるが、他の実施形態では、他の大きさおよび他の解像度を有する表示装置を使用することができる。
【0054】
図9は、本実施形態のキーボード910および他の実施形態のキーボード920の詳細を示す図である。キーボード910は、図9(a)の斜線で示すように、キートップの外周に内接するように接触センサが配置される実施形態である。キーボード920は、図9(b)の斜線で示すように、キートップの外周が規定する領域に接触センサが配置される実施形態である。
【0055】
図9(c)は、キーボード910および920に含まれるキー930の断面を示しており、接触センサ934および圧力センサ936が重畳して設けられたキートップ932と、キーボードの背面の支持板942と、支持板942の上部に配置された回路基板940とが示されている。本実施形態では、接触センサによってユーザの接触を検知するため、接触センサ934が圧力センサ936の上側に配置され、キートップ内支持板938で支持されている。キー930が押下されると、接触センサ934および圧力センサ936から接触位置情報および接触圧情報が、回路基板940を介してキーボードの接触位置取得部112および圧力検出部114に伝達される。接触位置取得部112および圧力検出部114は、接触位置情報および接触圧情報が伝達される配線により、いずれのキーから接触位置情報および接触圧情報が検出されたかを判断することができる。接触位置取得部112および圧力検出部114は、これらの接触位置情報および接触圧情報にキーIDを付加し、次いで、入力情報送信部116が当該入力情報を情報処理装置に送信する。
【0056】
図10は、本実施形態の情報処理装置の記憶装置138に格納される画面位置情報テーブルの一実施形態を示す図である。以下、図10を参照して、画面位置情報テーブル1000のデータ構造および登録情報について説明する。
【0057】
画面位置情報テーブル1000は、キーボードに含まれる各キーのキーID1010と、キー位置情報1020と、画面位置情報1030とが、関連付けて登録される。
【0058】
キーID1010は、キーボードに含まれる各キーを固有に識別する情報であり、図10(a)に示す実施形態では、キーIDとして「Key_line1_01」、「Key_line1_02」および「Key_line6_14」等が使用されている。キーID「Key_line1_01」は、キー配列の第1行の左側端部に配置されたキーを示し、キーID「Key_line1_02」は、キーID「Key_line1_02」が示すキーの右側に隣接して配置されたキーを示している。また、キーID「Key_line6_14」は、キー配列の第6列の右側端部に配置されたキーを示している。他の実施形態では、キーを固有に識別でき、キーが配置された配列および順序を特定できる限り、いずれの文字や数字、これらの結合等を使用して、キーIDを構成することができる。
【0059】
キー位置情報1020は、ユーザが接触したキー上の接触位置を特定する情報である。図10(a)に示す実施形態では、キー位置情報として(0,0)、(1,0)、(2,0)、(6,8)、(7,8)、(8,8)等のキー上の位置情報が使用されている。図10(b)は、本実施形態のキー1040のキー位置情報を概念的に示しており、本実施形態では、1のキーの接触センサ領域1042に対して81個のキー位置情報が割り当てられている。他の実施形態では、キー上部の面積、接触センサの検出精度や電極密度に応じて、キー位置情報として割り当てられるキー位置情報の数を変更してもよい。
【0060】
画面位置情報1030は、キー位置情報に対応する表示画面上の座標位置を示す情報であり、各キーのキー位置情報に対して、画面位置情報が一対一に対応付けられている。図10の実施形態は、解像度が1600×768ドットの表示装置の画面位置情報を示しているが、他の実施形態では、表示装置の解像度に応じて、任意の画面位置情報を使用することができる。
【0061】
図11は、本実施形態の情報処理装置が実行する座標算出処理における接触位置の算出を概念的に示す図である。図11(a)は、ユーザが1のキー1110のみに接触した場合の実施形態を示しており、図3に示すステップS303の処理に対応する。図11(a)の1112はセンサ領域を示し、1114は接触領域を示している。
【0062】
図11(b)は、同一行に隣接配置された2のキー1120にユーザが接触した場合の実施形態を示しており、図4に示すステップS401〜S404の処理に対応する。図11(b)の1122、1124はセンサ領域を示し、1126は接触領域を示している。
【0063】
図11(c)は、異なる行に隣接配置された2のキー1130にユーザが接触した場合の実施形態を示しており、図4に示すステップS405〜S408の処理に対応する。図11(c)の1132、1134はセンサ領域を示し、1136は接触領域を示している。
【0064】
図11(d)は、第1行に2つのキーが隣接配置された3のキー1140にユーザが接触した場合の実施形態を示しており、図5に示すステップS501〜S504の処理に対応する。図11(d)の1142、1144、1146はセンサ領域を示し、1148は接触領域を示している。
【0065】
図11(e)は、第2行に2つのキーが隣接配置された3のキー1150にユーザが接触した場合の実施形態を示しており、図5に示すステップS505〜S508の処理に対応する。図11(e)の1152、1154、1156はセンサ領域を示し、1158は接触領域を示している。
【0066】
図11(f)は、第1行および第2行にそれぞれ2つのキーが隣接配置された4のキー1160にユーザが接触した場合の実施形態を示しており、図6に示すステップS600〜S604の処理に対応する。図11(f)の1162、1164、1166、1168はセンサ領域を示し、1170は接触領域を示している。
【0067】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0068】
100…機能構成、110…キーボード、112…接触位置取得部、114…圧力検出部、116…入力情報送信部、120…情報処理装置、122…キーボードドライバ、124…入力情報受信部、126…キー処理部、128…座標位置算出部、130…表示制御部、132…設定情報登録部、134…記憶装置、136…記憶装置、138…記憶装置、140…表示装置
【技術分野】
【0001】
本発明は、キーボードおよびこれを制御するキーボードドライバに関し、より詳細には、タッチセンサおよび圧力センサを備えるキーボードおよびこれを制御するデバイスドライバに関する。
【背景技術】
【0002】
従来、パソコン等の情報処理装置の入力装置として、マウスやキーボード等が利用されている。これらの入力装置は、情報処理装置に接続されたディスプレイ等の表示装置に表示されたポインティングデバイスのカーソルの直感的な移動、文字や数字、記号等の入力、表示画面の切り替えなど種々の表示制御を行うのに使用されている。
【0003】
入力装置の1つであるキーボードには様々な種類があり、接触センサを備え、ユーザの接触位置に応じた表示画面上の位置にポインティングデバイスのカーソルを表示させるものがある。ユーザは、キーボード上に設けられた接触センサを使用して、直感的にカーソル操作を行うことができる。
【0004】
この点につき、特許文献1は、接触点を信号として出力するタッチパネル部と、当該信号を解析してキーコードまたは座標点を出力する信号解析部とで構成されたキーボードタッチパッドであって、コンピュータおよびその画面表示装置と異なる位置に配置されることを特徴とするキーボードタッチパッドを開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−254624号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1が開示するキーボードタッチパッドは、操作面がタッチパッドで構成されているため入力キーを備えておらず、従来のキーボードが有するキーボード押下時の感触をユーザが得ることができないという問題があった。このため、従来のキーボードのユーザが上記タッチパッドを使用する場合、その操作に慣れるには、新たな操作経験を蓄積しなければならないとう問題があった。
【0007】
さらに、上記タッチパッドでは、タッチパッドで制御されるポインティングデバイスのカーソル等の動作領域が表示画面領域と完全に一致しておらず、カーソル移動における直感性の程度が低いという問題があった。
【0008】
本発明は、上記従来技術の問題に鑑みてなされたものであり、従来のキーボードが有するキーボード押下時の感触を得ることができ、直感性の高いカーソル移動を可能とするタッチセンサ及び圧力センサを備えるキーボードおよびこれを制御するキーボードドライバを提供することを目的とするものである。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のキーボードドライバは、各キートップに接触センサおよび圧力センサを備えたキーボードから受領した各キーの接触位置および接触圧を使用して、接触位置に応じた画面位置にカーソルを表示させる。また、本発明のキーボードは、カーソルが表示される画面領域と、各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、キーの接触位置と画面位置とが一対一で対応する。これにより、本発明のキーボードドライバは、従来のキーボードが有するキーボード押下時の感触を得ることができキーボードを使用して、直感性の高いカーソル移動を実現できる。
【0010】
さらに、本発明は、従来のキーボードが有するキーボード押下時の感触を得ることができ、直感性の高いカーソル移動を可能とするキーボードを提供する。
【図面の簡単な説明】
【0011】
【図1】本実施形態のキーボードおよび情報処理装置の機能構成を示す図。
【図2】本実施形態の情報処理装置が実行する処理を示す図。
【図3】本実施形態の情報処理装置が画面対応モード時に実行する処理を示す図。
【図4】本実施形態の情報処理装置が画面対応モード時に実行する処理の一実施形態を示す図。
【図5】本実施形態の情報処理装置が画面対応モード時に実行する処理の別の実施形態を示す図。
【図6】本実施形態の情報処理装置が画面対応モード時に実行する処理の他の実施形態を示す図。
【図7】本実施形態の情報処理装置が画面非対応モード時に実行する処理を示す図。
【図8】本実施形態の情報処理装置およびキーボードを示す図。
【図9】本実施形態のキーボードを示す図。
【図10】本実施形態の情報処理装置のキーボードドライバが使用する画面位置情報テーブルの一実施形態を示す図。
【図11】本実施形態の情報処理装置が実行する座標算出処理における接触位置の算出を概念的に示す図。
【発明を実施するための形態】
【0012】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態のキーボード110および情報処理装置120の機能構成100を示す図である。
【0013】
キーボード110は、複数の入力キーを備え、各キーのキートップに接触センサおよび圧力センサが重畳して設けられたキーボードである。キーボード110は、ユーザが押下したキーを固有に識別するキー固有識別情報(以下、キーIDとして参照する。)、ユーザが接触したキートップの接触位置、およびユーザがキートップに接触したときの接触圧を、入力情報として情報処理装置120に送信する。
【0014】
キーボード110は、接触位置取得部112と、圧力検出部114と、入力情報送信部116とを含んで構成されている。接触位置取得部112は、キートップに埋め込まれた接触センサが出力する接触位置情報およびキーIDを受領して入力情報送信部116に渡す機能手段である。圧力検出部114は、ユーザがキーを押下したときに生じる接触圧および当該キーのキーIDを圧力センサから受領して、入力情報送信部116に渡す機能手段である。入力情報送信部116は、圧力検出部114および入力情報送信部116から受領したキーID、接触位置情報および接触圧を情報処理装置120に送信する機能手段である。
【0015】
情報処理装置120は、キーボード110を制御可能なキーボードドライバ122がインストールされ、キーボード110に対するユーザの入力情報に応じて表示装置の表示制御を行う装置である。本実施形態では、情報処理装置としてパーソナル・コンピュータ(PC)を採用することができ、具体的には、キーボード110、情報処理装置120および表示装置140が一体化されたノート型パソコン等のポータブルPCや、これらの装置が独立した据え置き型のデスクトップPCを採用することができる。
【0016】
情報処理装置120は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述された本実施形態のプログラムを実行する。また、情報処理装置120は、プログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)などを含んでおり、本実施形態の各機能手段をプログラムの実行により、当該情報処理装置上に実現する。
【0017】
情報処理装置120は、キーボードドライバ122と、設定情報が登録される記憶装置134と、変換テーブルが登録される記憶装置136と、画面位置情報テーブルが登録される記憶装置138とを含んで構成される。キーボードドライバ122は、入力情報受信部124と、キー処理部126と、座標位置算出部128と、表示制御部130と、設定情報登録部132とを含む。
【0018】
入力情報受信部124は、キーボード110が送信した入力情報を受信し、入力情報の内容に応じて後述する機能手段を呼び出して各機能手段の処理を実行させる機能手段である。入力情報受信部124は、後述する設定情報登録部132によって情報処置装置のRAM等の記憶装置134に設定情報として登録されたキーボード110の入力モードや押下されたキーのキーIDに応じて、適切な機能手段を呼び出す。具体的には、入力情報受信部124は、設定情報の1つであるキーの入力モードが後述のタッチパネル入力モード(例えば、画面対応モードまたは画面非対応モード)である場合には、座標位置算出部128を呼び出して接触位置に対応する表示画面上の座標位置情報である画面位置情報を算出させる。一方、入力モードがキー入力モードである場合には、入力情報受信部124は、キー処理部126を呼び出し、押下されたキーに関連付けられた処理を実行させる。また、入力情報受信部124は、設定情報の変更を指示する特定の1または複数のキーが押下された場合、設定情報登録部132を呼び出して設定情報を変更させる。
【0019】
キー処理部126は、キーに割り当てられた処理が登録されている記憶装置136の変換テーブルを参照して、押下されたキーに割り当てられた処理を実行させる機能手段である。キー処理部126が実行する処理には、例えば、文字、記号または数字の入力や削除、カーソル移動、フォーカス移動、種々のファンクションコール等が含まれる。本実施形態では、キー処理部126は、入力情報受信部124から呼び出されると、記憶装置136の変換テーブルを参照し、入力情報に含まれるキーIDを使用して、押下されたキーに割り当てられた処理を特定し、表示制御部130または情報処理装置120のOS(図示せず)に当該処理を実行させる。
【0020】
座標位置算出部128は、キートップ上のユーザの接触位置を特定し、当該接触位置に対応する画面位置情報を算出する機能手段である。座標位置算出部128は、入力情報受信部124から呼び出されると、記憶装置134に登録された設定情報を参照して入力モードを判断し、その入力モードに応じた座標位置算出処理を実行する。すなわち、入力モードが、接触位置および画面位置情報が一対一で対応する画面対応モードである場合、座標位置算出部128は、画面位置情報テーブルを参照して、算出した接触位置に対応する画面位置情報を特定する。一方、入力モードが、接触位置および画面位置情報が一対一で対応しない画面非対応モードである場合、座標位置算出部128は、複数の接触位置を使用して単位ベクトルおよび移動量を計算して画面位置情報を算出する。
【0021】
記憶装置136の変換テーブルには、キーIDと、当該キーIDが示すキーに割り当てられた処理を示す処理IDとが関連付けて登録される。また、記憶装置136の変換テーブルには、各キーのIDと、各キーの接触位置と、当該接触位置に対応する画面位置情報とが関連付けて登録される。
【0022】
表示制御部130は、座標位置算出部128が算出した画面位置情報にカーソルやポインタ等を表示させ、またはキー処理部126の要求に応じて文字や記号等の表示やカーソル等の移動を行う機能手段である。表示制御部130は、座標位置算出部128から画面位置情報を受領すると、表示装置140に対してカーソル等の表示要求および画面位置情報を送信し、当該画面位置情報が示す位置にカーソル等を表示させる。また、表示制御部130は、キー処理部126から文字や記号等の表示要求を受領すると、表示すべき文字や記号等を表示装置に表示させ、一方、カーソル等の移動要求を受領すると、カーソル等の表示要求および画面位置情報を表示装置に送信して、当該画面位置情報が示す位置にカーソル等を表示させる。
【0023】
設定情報登録部132は、キーボード110の設定情報を登録または変更する機能手段である。本実施形態では、キーボード110の入力モードや圧力センサの感度を設定情報とすることができ、設定情報登録部132は、記憶装置134に登録された設定情報を変更することにより、キーボード110の入力モードの切り替えや圧力センサの感度を変更することができる。
【0024】
図2は、本実施形態の情報処理装置120が実行する処理を示す図である。図2の処理は、キーボードドライバ122が起動されることにより、ステップS200から開始する。ステップS201では、入力情報受信部124が、キーボード110、情報処理装置120のOSまたは他のアプリケーションプログラムから終了要求を受信したか否か判断し、終了要求を受信した場合には(yes)、処理をステップS207に分岐させ、終了させる。一方、終了要求を受信していない場合には(no)、処理をステップS202に分岐させる。ステップS202では、入力情報受信部124は、キーボード110から入力情報を受信したか否か判断し、入力情報を受信していない場合には(no)、処理をステップS201に戻す。一方、入力情報を受信した場合には(yes)、処理をステップS203に分岐させる。
【0025】
ステップS203では、入力情報受信部124は、記憶装置134に登録されている設定情報を取得し、キーボード110の入力モードを判断し、入力モードの種類に応じて処理をステップS204、S205またはS206に分岐させる。
【0026】
ステップS203の判定で、入力モードがキー入力モードであると判断した場合には、処理をステップS204に分岐させ、キー処理部126が、押下されたキーに割り当てられた処理を実行し、処理をステップS201に戻す。また、ステップS203の判定で、入力モードが画面対応モードであると判断した場合には、処理をステップS205に分岐させ、座標位置算出部128が、画面対応モードの入力処理を実行し、処理をステップS201に戻す。さらに、ステップS203の判定で、入力モードが画面非対応モードであると判断した場合には、処理をステップS206に分岐させ、座標位置算出部128が、画面非対応モードの入力処理を実行し、処理をステップS201に戻す。
【0027】
図3は、入力モードが画面対応モードである場合に情報処理装置120が実行する処理を示す図である。図3の処理は、ステップS300から開始し、ステップS301で座標位置算出部128が、入力情報受信部124が受信した入力情報が複数キーの入力情報であるか否か判断する。本実施形態では、入力情報の一部であるキーIDの数を調べることにより、複数キーの入力情報であるか否か判断することができる。
【0028】
ステップS301の判定で複数キーの入力情報でないと判断した場合には(no)、処理をステップS303に分岐させ、ステップS303では、座標位置算出部128は、接触位置情報が規定する接触領域の中心位置を基準点として算出し、画面位置情報テーブル138を参照し、その基準点に対応する画面位置情報を取得する。本実施形態では、入力情報に含まれるキー位置情報から接触領域におけるx座標およびy座標の最小値および最大値を特定して、接触領域の中点を算出することができる。なお、算出値は、キー位置情報に適合するように丸めてもよい。
【0029】
一方、ステップS301の判定で複数キーの入力情報であると判断した場合には(yes)、処理をステップS302に分岐させる。ステップS302では、座標位置算出部128は、入力情報に含まれるキーIDの数を使用して入力キーの数を判断し、その数に応じて処理をステップS400、ステップS500またはステップS600に分岐させる。
【0030】
図4は、図3のステップSステップS302の判定で、入力キーの数が2であると判断した場合に実行される処理を示す図である。図4の処理は、ステップS400から開始し、ステップS400で、座標位置算出部128が、双方のキーが所属するキー配列における行が同一であるか否か判断する。
【0031】
本実施形態では、キーIDには、キーの配列情報、例えば、各行を固有に識別可能な情報が含まれており、キーIDを参照することにより、当該キーIDが示すキーがいずれの行に含まれるのか判断することができる。また、キーIDには、キーの順序を示す情報が含まれており、隣接するキーの順序を判断することができる。例えば、昇順または降順の数字をキーの順序を示す情報として使用して、キーIDの一部を構成することができる。
【0032】
ステップS400の判定で、双方のキーが属する列が同一であると判断した場合には(yes)、処理をステップS401に分岐させる。ステップS401では、座標位置検出部128は、画面位置情報テーブル138を参照し、入力情報に含まれる接触位置情報を使用して、2のキーのうち左側に配置された第1のキーのタッチセンサが規定する領域(以下、タッチセンサ領域として参照する。)の右辺のX座標に対応する画面位置情報である表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS402では、座標位置検出部128は、接触位置情報を使用して、第1のキーのタッチセンサ領域とその接触領域が重複する領域内の右辺の中点を算出し、画面位置情報テーブル138を参照して、当該中点に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0033】
ステップS403では、ステップS401と同様に、2のキーのうち右側に配置された第2のキーのタッチセンサ領域の左辺のX座標に対応する画面位置情報である表示画面上のX座標の値を取得し、第2の基準点のX座標(X2)とする。ステップS404では、ステップS402と同様に、第2のキーのタッチセンサ領域とその接触領域が重複する領域内の左辺の中点を算出し、当該中点に対応する表示画面上のY座標の値を取得し、第2の基準点のY座標(Y2)とする。
【0034】
一方、ステップS400の判定で、双方のキーが属する列が相違すると判断した場合には(no)、処理をステップS405に分岐させる。ステップS405では、座標位置検出部128は、入力情報に含まれる接触位置情報を使用して、2のキーのうち上側に配置された第1のキーのタッチセンサ領域とその接触領域が重複する領域内の下辺の中点を算出し、画面位置情報テーブル138を参照して、当該中点に対応する表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS406では、座標位置検出部128は、画面位置情報テーブル138を参照して、第1のキーのタッチセンサ領域の下辺のY座標に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0035】
ステップS407では、ステップS405と同様に、2のキーのうち下側に配置された第2のキーのタッチセンサ領域とその接触領域が重複する領域内の上辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第2の基準点のX座標(X2)とする。ステップS408では、ステップS406と同様に、第2のキーのタッチセンサ領域の上辺のY座標に対応する表示画面上のY座標の値を取得し、第2の基準点のY座標(Y2)とする。
【0036】
ステップS409では、座標位置算出部128は、下記式1を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソルを表示装置140に表示させ、ステップS305で図3の処理が終了する。本実施形態では、カーソルを指定位置に表示可能なAPI関数(例えば、Windows(登録商標)OSの場合、Win32APIのSetCursorPos等)を使用して、画面位置情報が示す位置にカーソルを表示させることができる。なお、下記式1では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第1のキーの接触圧をV1、第2のキーの接触圧をV2とする。
【数1】
【0037】
図5は、図3のステップSステップS302の判定で、入力キーの数が3であると判断した場合に実行される処理を示す図である。図5の処理は、ステップS500から開始し、ステップS500で、座標位置算出部128が、キー配列における上側の列である第1行にキーが2つ存在するか否か判断する。第1行にキーが2つ存在すると判断した場合には(yes)、処理をステップS501に分岐させる。
【0038】
ステップS501では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の左側に配置された第1のキーの最右下端の座標に対応する表示画面上の座標を取得し、第1の基準点の座標(X1,Y1)とする。ステップS502では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の右側に配置された第2のキーの最左下端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。
【0039】
ステップS503では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における下側の列である第2行のキーである第3のキーのタッチセンサ領域と、その接触領域が重複する領域内の上辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第3の基準点のX座標(X3)とする。ステップS504では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第3のキーのタッチセンサ領域の上辺のY座標に対応する表示画面上のY座標の値を取得し、第3の基準点のY座標(Y3)とする。
【0040】
一方、ステップS500の判定で第1行にキーが2つ存在しない、すなわち第2行にキーが2つ存在すると判断した場合には(no)、処理をステップS505に分岐させる。ステップS505では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における上側の列である第1行のキーである第1のキーのタッチセンサ領域と、その接触領域が重複する領域内の下辺の中点を算出し、当該中点に対応する表示画面上のX座標の値を取得し、第1の基準点のX座標(X1)とする。ステップS506では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1のキーのタッチセンサ領域の下辺のY座標に対応する表示画面上のY座標の値を取得し、第1の基準点のY座標(Y1)とする。
【0041】
ステップS507では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列の下側の列である第2行の左側に配置された第2のキーの最右上端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。ステップS508では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第2行の右側に配置された第3のキーの最左上端の座標に対応する表示画面上の座標を取得し、第3の基準点の座標(X3,Y3)とする。
【0042】
ステップS509では、座標位置算出部128は、下記式2を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソル等を表示装置140に表示させ、ステップS305で図3の処理が終了する。なお、下記式2では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第3のキーの基準点を(X3,Y3)、第1のキーの接触圧をV1、第2のキーの接触圧をV2、第3のキーの接触圧をV3とする。
【数2】
【0043】
図6は、図3のステップSステップS302の判定で、入力キーの数が4であると判断した場合に実行される処理を示す図である。図6の処理は、ステップS600から開始し、ステップS600で、座標位置算出部128が、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における上側の列である第1行の左側に配置された第1のキーの最右下端の座標に対応する表示画面上の座標を取得し、第1の基準点の座標(X1,Y1)とする。ステップS601では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第1行の右側に配置された第2のキーの最左下端の座標に対応する表示画面上の座標を取得し、第2の基準点の座標(X2,Y2)とする。
【0044】
ステップS602で、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、キー配列における下側の列である第2行の左側に配置された第3のキーの最右上端の座標に対応する表示画面上の座標を取得し、第3の基準点の座標(X3,Y3)とする。ステップS603では、座標位置算出部128は、画面位置情報テーブル138を参照し、入力情報を使用して、第2行の右側に配置された第4のキーの最左上端の座標に対応する表示画面上の座標を取得し、第4の基準点の座標(X4,Y4)とする。
【0045】
ステップS604では、座標位置算出部128は、下記の式3を使用して画面位置情報を算出し、処理を図3に示すステップS304に移行させ、表示制御部130が、当該画面位置情報が示す位置にカーソル等を表示装置140に表示させ、ステップS305で図3の処理が終了する。なお、下記式3では、第1のキーの基準点を(X1,Y1)、第2のキーの基準点を(X2,Y2)、第3のキーの基準点を(X3,Y3)、第4のキーの基準点を(X4,Y4)、第1のキーの接触圧をV1、第2のキーの接触圧をV2、第3のキーの接触圧をV3、第4のキーの接触圧をV4とする。
【数3】
【0046】
図7は、入力モードが画面非対応モードである場合に情報処理装置120が実行する処理を示す図である。図7の処理は、ステップS700から開始し、ステップS701で座標位置算出部128が、入力情報受信部124が受信した入力情報を使用して、接触位置に対応する画面位置情報を算出する。本実施形態では、当該画面位置情報を算出する方法として、図3〜6を参照して説明した座標位置の算出方法(すなわち、ステップS300〜S303、ステップS400〜409、ステップS500〜S509およびステップS600〜604)を採用することができる。座標位置算出部128は、当該画面位置情報を算出すると、レジスタやRAM等の記憶装置に当該画面位置情報を格納する。
【0047】
ステップS702では、座標位置算出部128は、前回の接触位置に対応する画面位置情報が上記記憶装置に格納されているか否か判断し、当該画面位置情報が格納されていない場合には(no)、処理をステップS708に分岐させて終了する。一方、前回の接触位置に対応する画面位置情報が上記記憶装置に格納されている場合には(yes)、処理をステップS703に分岐させる。
【0048】
ステップS703では、座標位置算出部128は、前回の接触位置に対応する画面位置情報および今回の接触位置に対応する画面位置情報を上記記憶装置から取得し、下記式4を使用して前回および今回の接触位置による単位ベクトルを算出する。なお、下記式4では、移動前の接触位置を(X1、Y1)、移動前の接触位置を(X2、Y2)とする。
【数4】
【0049】
ステップS704では、座標位置算出部128は、前回の接触位置に対応する画面位置情報および今回の接触位置に対応する画面位置情報を使用して、下記式5により、上記単位ベクトル(Ex,Ey)方向の移動量を算出する。なお、下記式5では、移動前の接触位置を(X1、Y1)、移動前の接触位置を(X2、Y2)、最小移動量をl、調整係数をCとする。
【数5】
【0050】
ステップS705では、座標位置算出部128は、現在のカーソル表示位置を取得する。本実施形態では、カーソル表示位置を取得可能なAPI関数(例えば、Windows(登録商標)OSの場合、Win32APIのGetCursorPos等)を使用して、現在のカーソル表示位置(Xc、Yc)を取得することができる。
【0051】
ステップS706では、現在のカーソル表示位置(Xc、Yc)、単位ベクトル(Ex,Ey)、移動量(Mx,My)を使用して、下記式6により、カーソルを表示すべきカーソル表示位置(X,Y)を算出する。
【数6】
【0052】
ステップS707では、表示制御部130が、ステップS706で算出したカーソル表示位置にカーソルを表示させ、ステップS708で図7の処理が終了する。
【0053】
図8は、本実施形態の情報処理装置およびキーボードを示す図である。図8に示す情報処理装置810は、キーボードおよび表示装置一体型の情報処理装置である。情報処理装置810は、表示画面812と、キーボード部820とを含んで構成されている。本実施形態では、表示画面812の画面領域およびキーボード部820の接触センサが構成する接触センサ領域822は、同一のサイズとなるように構成されている。本実施形態の表示装置の大きさは8型であり、その解像度は1600×768ドットであるが、他の実施形態では、他の大きさおよび他の解像度を有する表示装置を使用することができる。
【0054】
図9は、本実施形態のキーボード910および他の実施形態のキーボード920の詳細を示す図である。キーボード910は、図9(a)の斜線で示すように、キートップの外周に内接するように接触センサが配置される実施形態である。キーボード920は、図9(b)の斜線で示すように、キートップの外周が規定する領域に接触センサが配置される実施形態である。
【0055】
図9(c)は、キーボード910および920に含まれるキー930の断面を示しており、接触センサ934および圧力センサ936が重畳して設けられたキートップ932と、キーボードの背面の支持板942と、支持板942の上部に配置された回路基板940とが示されている。本実施形態では、接触センサによってユーザの接触を検知するため、接触センサ934が圧力センサ936の上側に配置され、キートップ内支持板938で支持されている。キー930が押下されると、接触センサ934および圧力センサ936から接触位置情報および接触圧情報が、回路基板940を介してキーボードの接触位置取得部112および圧力検出部114に伝達される。接触位置取得部112および圧力検出部114は、接触位置情報および接触圧情報が伝達される配線により、いずれのキーから接触位置情報および接触圧情報が検出されたかを判断することができる。接触位置取得部112および圧力検出部114は、これらの接触位置情報および接触圧情報にキーIDを付加し、次いで、入力情報送信部116が当該入力情報を情報処理装置に送信する。
【0056】
図10は、本実施形態の情報処理装置の記憶装置138に格納される画面位置情報テーブルの一実施形態を示す図である。以下、図10を参照して、画面位置情報テーブル1000のデータ構造および登録情報について説明する。
【0057】
画面位置情報テーブル1000は、キーボードに含まれる各キーのキーID1010と、キー位置情報1020と、画面位置情報1030とが、関連付けて登録される。
【0058】
キーID1010は、キーボードに含まれる各キーを固有に識別する情報であり、図10(a)に示す実施形態では、キーIDとして「Key_line1_01」、「Key_line1_02」および「Key_line6_14」等が使用されている。キーID「Key_line1_01」は、キー配列の第1行の左側端部に配置されたキーを示し、キーID「Key_line1_02」は、キーID「Key_line1_02」が示すキーの右側に隣接して配置されたキーを示している。また、キーID「Key_line6_14」は、キー配列の第6列の右側端部に配置されたキーを示している。他の実施形態では、キーを固有に識別でき、キーが配置された配列および順序を特定できる限り、いずれの文字や数字、これらの結合等を使用して、キーIDを構成することができる。
【0059】
キー位置情報1020は、ユーザが接触したキー上の接触位置を特定する情報である。図10(a)に示す実施形態では、キー位置情報として(0,0)、(1,0)、(2,0)、(6,8)、(7,8)、(8,8)等のキー上の位置情報が使用されている。図10(b)は、本実施形態のキー1040のキー位置情報を概念的に示しており、本実施形態では、1のキーの接触センサ領域1042に対して81個のキー位置情報が割り当てられている。他の実施形態では、キー上部の面積、接触センサの検出精度や電極密度に応じて、キー位置情報として割り当てられるキー位置情報の数を変更してもよい。
【0060】
画面位置情報1030は、キー位置情報に対応する表示画面上の座標位置を示す情報であり、各キーのキー位置情報に対して、画面位置情報が一対一に対応付けられている。図10の実施形態は、解像度が1600×768ドットの表示装置の画面位置情報を示しているが、他の実施形態では、表示装置の解像度に応じて、任意の画面位置情報を使用することができる。
【0061】
図11は、本実施形態の情報処理装置が実行する座標算出処理における接触位置の算出を概念的に示す図である。図11(a)は、ユーザが1のキー1110のみに接触した場合の実施形態を示しており、図3に示すステップS303の処理に対応する。図11(a)の1112はセンサ領域を示し、1114は接触領域を示している。
【0062】
図11(b)は、同一行に隣接配置された2のキー1120にユーザが接触した場合の実施形態を示しており、図4に示すステップS401〜S404の処理に対応する。図11(b)の1122、1124はセンサ領域を示し、1126は接触領域を示している。
【0063】
図11(c)は、異なる行に隣接配置された2のキー1130にユーザが接触した場合の実施形態を示しており、図4に示すステップS405〜S408の処理に対応する。図11(c)の1132、1134はセンサ領域を示し、1136は接触領域を示している。
【0064】
図11(d)は、第1行に2つのキーが隣接配置された3のキー1140にユーザが接触した場合の実施形態を示しており、図5に示すステップS501〜S504の処理に対応する。図11(d)の1142、1144、1146はセンサ領域を示し、1148は接触領域を示している。
【0065】
図11(e)は、第2行に2つのキーが隣接配置された3のキー1150にユーザが接触した場合の実施形態を示しており、図5に示すステップS505〜S508の処理に対応する。図11(e)の1152、1154、1156はセンサ領域を示し、1158は接触領域を示している。
【0066】
図11(f)は、第1行および第2行にそれぞれ2つのキーが隣接配置された4のキー1160にユーザが接触した場合の実施形態を示しており、図6に示すステップS600〜S604の処理に対応する。図11(f)の1162、1164、1166、1168はセンサ領域を示し、1170は接触領域を示している。
【0067】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0068】
100…機能構成、110…キーボード、112…接触位置取得部、114…圧力検出部、116…入力情報送信部、120…情報処理装置、122…キーボードドライバ、124…入力情報受信部、126…キー処理部、128…座標位置算出部、130…表示制御部、132…設定情報登録部、134…記憶装置、136…記憶装置、138…記憶装置、140…表示装置
【特許請求の範囲】
【請求項1】
キーボードの制御を行うキーボードドライバであって、前記キーボードドライバは、
各キートップに接触センサおよび圧力センサを備えた前記キーボードから各キーの接触位置および接触圧を受領する手段と、
前記各キーの接触位置および接触圧を使用して、表示装置の表示画面にカーソルを表示すべき画面位置を算出する手段と、
前記算出された画面位置にカーソルを表示させる手段と
を含む、キーボードドライバ。
【請求項2】
前記画面位置を算出する手段は、
ユーザが接触した前記キーボードの入力キーの数に応じて、前記入力キーの接触位置の基準点および前記入力キーの接触圧を使用して前記画面位置を算出する、請求項1に記載のキーボードドライバ。
【請求項3】
前記カーソルが表示される画面領域と、前記各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、
前記キーの接触位置と前記画面位置とが一対一で対応する、請求項1または2に記載のキーボードドライバ。
【請求項4】
キーボードの制御を行うキーボードドライバがインストールされた情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
各キートップに接触センサおよび圧力センサを備えた前記キーボードから受領した各キーの接触位置および接触圧を使用して、表示装置の表示画面にカーソルを表示すべき画面位置を算出するステップと、
前記算出された画面位置にカーソルを表示させるステップと
を含む、方法。
【請求項5】
前記画面位置を算出するステップは、前記情報処理装置が、
ユーザが接触した前記キーボードの入力キーの数に応じて、前記入力キーの接触位置の基準点および前記入力キーの接触圧を使用して前記画面位置を算出するステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記カーソルが表示される画面領域と、前記各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、
前記キーの接触位置と前記画面位置とが一対一で対応する、請求項4または5に記載の方法。
【請求項7】
請求項1〜3のいずれか1項に記載されたキーボードドライバを記録したコンピュータ可読な記録媒体。
【請求項8】
複数の入力キーを備えるキーボードであって、前記キーボードは、
前記入力キーの各キートップに設けられた接触センサおよび圧力センサと、
前記接触センサが検出した前記キートップに対する接触位置情報を取得する接触位置取得手段と、
前記圧力センサが検出した前記キートップに対する接触圧を取得する圧力検出手段と、
前記接触位置情報および前記接触圧を提供する入力情報送信手段と
を含む、キーボード。
【請求項1】
キーボードの制御を行うキーボードドライバであって、前記キーボードドライバは、
各キートップに接触センサおよび圧力センサを備えた前記キーボードから各キーの接触位置および接触圧を受領する手段と、
前記各キーの接触位置および接触圧を使用して、表示装置の表示画面にカーソルを表示すべき画面位置を算出する手段と、
前記算出された画面位置にカーソルを表示させる手段と
を含む、キーボードドライバ。
【請求項2】
前記画面位置を算出する手段は、
ユーザが接触した前記キーボードの入力キーの数に応じて、前記入力キーの接触位置の基準点および前記入力キーの接触圧を使用して前記画面位置を算出する、請求項1に記載のキーボードドライバ。
【請求項3】
前記カーソルが表示される画面領域と、前記各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、
前記キーの接触位置と前記画面位置とが一対一で対応する、請求項1または2に記載のキーボードドライバ。
【請求項4】
キーボードの制御を行うキーボードドライバがインストールされた情報処理装置が実行する方法であって、前記方法は、前記情報処理装置が、
各キートップに接触センサおよび圧力センサを備えた前記キーボードから受領した各キーの接触位置および接触圧を使用して、表示装置の表示画面にカーソルを表示すべき画面位置を算出するステップと、
前記算出された画面位置にカーソルを表示させるステップと
を含む、方法。
【請求項5】
前記画面位置を算出するステップは、前記情報処理装置が、
ユーザが接触した前記キーボードの入力キーの数に応じて、前記入力キーの接触位置の基準点および前記入力キーの接触圧を使用して前記画面位置を算出するステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記カーソルが表示される画面領域と、前記各キートップが有する接触センサが構成する接触センサ領域とが同一のサイズであり、
前記キーの接触位置と前記画面位置とが一対一で対応する、請求項4または5に記載の方法。
【請求項7】
請求項1〜3のいずれか1項に記載されたキーボードドライバを記録したコンピュータ可読な記録媒体。
【請求項8】
複数の入力キーを備えるキーボードであって、前記キーボードは、
前記入力キーの各キートップに設けられた接触センサおよび圧力センサと、
前記接触センサが検出した前記キートップに対する接触位置情報を取得する接触位置取得手段と、
前記圧力センサが検出した前記キートップに対する接触圧を取得する圧力検出手段と、
前記接触位置情報および前記接触圧を提供する入力情報送信手段と
を含む、キーボード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−248601(P2011−248601A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−120628(P2010−120628)
【出願日】平成22年5月26日(2010.5.26)
【出願人】(599011687)学校法人 中央大学 (110)
【Fターム(参考)】
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願日】平成22年5月26日(2010.5.26)
【出願人】(599011687)学校法人 中央大学 (110)
【Fターム(参考)】
[ Back to top ]