(57)【要約】【課題】既存のキーボードのキー操作により、精密にポインタの制御を行う。【解決手段】本発明の電子機器は、ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器であって、キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、第１のキーから見た第２のキーの方向を計算し、その方向をポインタの移動方向とするポインタ制御計算部と、ポインタ制御計算部にて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動させるポインタ制御部と、を有することを特徴とする。【選択図】図１
2009087143.tif 000002
【特許請求の範囲】
【請求項１】
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器であって、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とするポインタ制御計算部と、
前記ポインタ制御計算部にて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動させるポインタ制御部と、を有することを特徴とする電子機器。
【請求項２】
前記キーボード上のキーに設定されたポインタ移動機能作動キーを記憶する設定項目記憶部と、
前記キーボード上で、前記ポインタ移動機能作動キーの押下が継続したままで、押下された前記ポインタ移動機能作動キー以外のキーを前記第１のキーと判断し、前記ポインタ移動機能作動キーの押下がさらに継続したままで、押下された前記ポインタ移動機能作動キーと前記第１のキー以外のキーを前記第２のキーと判断するキー入力イベント制御部と、をさらに有し、
前記ポインタ制御計算部は、前記キー入力イベント制御部で判断された前記第１および第２のキーの情報を用いて、ポインタの移動量および移動方向を計算する、請求項１に記載の電子機器。
【請求項３】
前記第１のキーのキーコードを記憶する第１のバッファと、
前記第２のキーのキーコードを記憶する第２のバッファと、をさらに有し、
前記設定項目記憶部は、前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶し、
前記ポインタ制御計算部は、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項２に記載の電子機器。
【請求項４】
前記設定項目部は、単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶し、
前記第１のバッファは、前記第１のキーが押下された押下時間をさらに記憶し、
前記第２のバッファは、前記第２のキーが押下された押下時間をさらに記憶し、
前記ポインタ制御計算部は、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーの押下時間の差分に基づいて、前記第１のキーが押下されてから前記第２のキーが押下されるまでの時間間隔を計算し、計算した時間間隔に前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項３に記載の電子機器。
【請求項５】
前記キーボード上のキーに設定されたポインタ移動制御キーを記憶する設定項目記憶部と、
前記ポインタ移動制御キーが押下されてからの経過時間を計測するタイマー部と、をさらに有し、
前記設定項目記憶部は、前記タイマー部で計測された時間の閾値を表すタイマー閾値をさらに記憶し、
前記電子機器は、さらに、
前記キーボード上で押下された前記ポインタ移動制御キーを前記第１のキーと判断し、前記タイマー部が計測した、前記第１のキーが押下されてからの経過時間が前記タイマー閾値の時間を超える前に、続いて押下された前記第１のキー以外の前記ポインタ移動制御キーを前記第２のキーと判断するキー入力イベント制御部を有し、
前記ポインタ制御計算部は、前記キー入力イベント制御部で判断された前記第１および第２のキーの情報を用いて、ポインタの移動量と移動方向を計算する、請求項１に記載の電子機器。
【請求項６】
前記第１のキーのキーコードを記憶する第１のバッファと、
前記第２のキーのキーコードを記憶する第２のバッファと、をさらに有し、
前記設定項目記憶部は、前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶し、
前記ポインタ制御計算部は、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項５に記載の電子機器。
【請求項７】
前記設定項目部は、単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶し、
前記第２のバッファは、前記タイマー部が計測した、前記第１のキーが押下されてから、前記第２のキーが押下されるまでの経過時間をさらに記憶し、
前記ポインタ制御計算部は、前記第２のバッファに記憶している経過時間に、前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項６に記載の電子機器。
【請求項８】
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器におけるポインタ制御方法であって、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とする計算ステップと、
前記計算ステップにて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動させる制御ステップと、を有することを特徴とする電子機器におけるポインタ制御方法。
【請求項９】
設定項目記憶部に前記キーボード上のキーに設定されたポインタ移動機能作動キーを記憶するキー記憶ステップと、
前記キーボード上で、前記ポインタ移動機能作動キーの押下が継続したままで、押下された前記ポインタ移動機能作動キー以外のキーを前記第１のキーと判断し、前記ポインタ移動機能作動キーの押下がさらに継続したままで、押下された前記ポインタ移動機能作動キーと前記第１のキー以外のキーを前記第２のキーと判断する判定ステップと、をさらに有し、
前記計算ステップでは、前記判定ステップで判断された前記第１および第２のキーの情報を用いて、ポインタの移動量および移動方向を計算する、請求項８に記載の電子機器におけるポインタ制御方法。
【請求項１０】
第１のバッファに前記第１のキーのキーコードを記憶する第１バッファ記憶ステップと、
第２のバッファに前記第２のキーのキーコードを記憶する第２バッファ記憶ステップと、
前記設定項目記憶部に前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶するテーブル記憶ステップと、をさらに有し、
前記計算ステップでは、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項９に記載の電子機器におけるポインタ制御方法。
【請求項１１】
前記設定項目記憶部に単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶する係数記憶ステップをさらに有し、
前記第１バッファ記憶ステップでは、前記第１のバッファに前記第１のキーが押下された押下時間をさらに記憶し、
前記第２バッファ記憶ステップでは、前記第２のバッファに前記第２のキーが押下された押下時間をさらに記憶し、
前記計算ステップでは、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーの押下時間の差分に基づいて、前記第１のキーが押下されてから前記第２のキーが押下されるまでの時間間隔を計算し、計算した時間間隔に前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項１０に記載の電子機器におけるポインタ制御方法。
【請求項１２】
設定項目記憶部に前記キーボード上のキーに設定されたポインタ移動制御キーを記憶するキー記憶ステップと、
前記ポインタ移動制御キーが押下されてからの経過時間を計測するタイマー計測ステップと、
前記設定項目記憶部に前記タイマー計測ステップで計測される時間の閾値を表すタイマー閾値をさらに記憶する閾値記憶ステップと、
前記キーボード上で押下された前記ポインタ移動制御キーを前記第１のキーと判断し、前記タイマー計測ステップが計測する、前記第１のキーが押下されてからの経過時間が前記タイマー閾値の時間を超える前に、続いて押下された前記第１のキー以外の前記ポインタ移動制御キーを前記第２のキーと判断する判定ステップと、をさらに有し、
前記計算ステップでは、前記判定ステップで判断された前記第１および第２のキーの情報を用いて、ポインタの移動量と移動方向を計算する、請求項８に記載の電子機器におけるポインタ制御方法。
【請求項１３】
第１のバッファに前記第１のキーのキーコードを記憶する第１バッファ記憶ステップと、
第２のバッファに前記第２のキーのキーコードを記憶する第２バッファ記憶ステップと、
前記設定項目記憶部に前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶するテーブル記憶ステップと、をさらに有し
前記計算ステップでは、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項１２に記載の電子機器におけるポインタ制御方法。
【請求項１４】
前記設定項目記憶部に単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶する係数記憶ステップをさらに有し、
前記第２バッファ記憶ステップでは、前記第２のバッファに前記タイマー計測ステップが計測する、前記第１のキーが押下されてから、前記第２のキーが押下されるまでの経過時間をさらに記憶し、
前記計算ステップでは、前記第２のバッファに記憶している経過時間に、前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項１３に記載の電子機器におけるポインタ制御方法。
【請求項１５】
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器に、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とする計算手順と、
前記計算手順にて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動する制御手順と、を実行させるためのポインタ制御プログラム。
【請求項１６】
前記電子機器に、
設定項目記憶部に前記キーボード上のキーに設定されたポインタ移動機能作動キーを記憶するキー記憶手順と、
前記キーボード上で、前記ポインタ移動機能作動キーの押下が継続したままで、押下された前記ポインタ移動機能作動キー以外のキーを前記第１のキーと判断し、前記ポインタ移動機能作動キーの押下がさらに継続したままで、押下された前記ポインタ移動機能作動キーと前記第１のキー以外のキーを前記第２のキーと判断する判定手順と、をさらに実行させ、
前記計算手順では、前記判定手順で判断された前記第１および第２のキーの情報を用いて、ポインタの移動量および移動方向を計算する、請求項１５に記載のポインタ制御プログラム。
【請求項１７】
前記電子機器に、
第１のバッファに前記第１のキーのキーコードを記憶する第１バッファ記憶手順と、
第２のバッファに前記第２のキーのキーコードを記憶する第２バッファ記憶手順と、
前記設定項目記憶部に前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶するテーブル記憶手順と、をさらに実行させ、
前記計算手順では、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項１６に記載のポインタ制御プログラム。
【請求項１８】
前記電子機器に、
前記設定項目記憶部に単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶する係数記憶手順をさらに実行させ、
前記第１バッファ記憶手順では、前記第１のバッファに前記第１のキーが押下された押下時間をさらに記憶し、
前記第２バッファ記憶手順では、前記第２のバッファに前記第２のキーが押下された押下時間をさらに記憶し、
前記計算手順では、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーの押下時間の差分に基づいて、前記第１のキーが押下されてから前記第２のキーが押下されるまでの時間間隔を計算し、計算した時間間隔に前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項１７に記載のポインタ制御プログラム。
【請求項１９】
前記電子機器に
設定項目記憶部に前記キーボード上のキーに設定されたポインタ移動制御キーを記憶するキー記憶手順と、
前記ポインタ移動制御キーが押下されてからの経過時間を計測するタイマー計測手順と、
前記設定項目記憶部に前記タイマー計測ステップで計測される時間の閾値を表すタイマー閾値をさらに記憶する閾値記憶手順と、
前記キーボード上で押下された前記ポインタ移動制御キーを前記第１のキーと判断し、前記タイマー計測手順が計測する、前記第１のキーが押下されてからの経過時間が前記タイマー閾値の時間を超える前に、続いて押下された前記第１のキー以外の前記ポインタ移動制御キーを前記第２のキーと判断する判定手順と、をさらに実行させ、
前記計算手順では、前記判定手順で判断された前記第１および第２のキーの情報を用いて、ポインタの移動量と移動方向を計算する、請求項１５に記載のポインタ制御プログラム。
【請求項２０】
前記電子機器に、
第１のバッファに前記第１のキーのキーコードを記憶する第１バッファ記憶手順と、
第２のバッファに前記第２のキーのキーコードを記憶する第２バッファ記憶手順と、
前記設定項目記憶部に前記キーボード上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すキー座標テーブルをさらに記憶するテーブル記憶手順と、をさらに実行させ、
前記計算手順では、前記キー座標テーブルを用いて、前記第１および第２のバッファにそれぞれ記憶されている前記第１および第２のキーのキーコードを、Ｘ座標およびＹ座標に変換し、変換したＸ座標およびＹ座標に基づいて、前記第１のキーから見た前記第２のキーの方向を計算し、計算した方向をポインタの移動方向とする、請求項１９に記載のポインタ制御プログラム。
【請求項２１】
前記電子機器に、
前記設定項目記憶部に単位時間当たりのポインタの移動量を表すポインタ移動量係数をさらに記憶する係数記憶手順をさらに実行させ、
前記第２バッファ記憶手順では、前記第２のバッファに前記タイマー計測手順が計測する、前記第１のキーが押下されてから、前記第２のキーが押下されるまでの経過時間をさらに記憶し、
前記計算手順では、前記第２のバッファに記憶している経過時間に、前記ポインタ移動量係数を掛けた値をポインタの移動量とする、請求項２０に記載のポインタ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータなどの電子機器、電子機器におけるポインタ制御方法、およびポインタ制御プログラムに関し、特に、キーボード上のキー操作のみでポインタを制御する技術に関する。
【背景技術】
【０００２】
一般的なポインティングデバイスおよびキーボードについて説明する。
【０００３】
マウスに代表される一般的なポインティングデバイスは、両手のどちらかを使用して操作する入力装置である。ポインティングデバイスは、コンピュータなどの電子機器において視覚的・直感的に電子機器の操作を行うことができるGUI（Graphical User Interface）環境が普及した現代では、電子機器の表示部の画面上での現在位置を示す図記号であるポインタを操作することで、位置や方向などの情報を入力するための入力装置として広く一般的に用いられている。
【０００４】
これに対し、キーボードは、両手を使用して操作する入力装置である。キーボードは電子機器において、GUI環境が普及する以前からキーボード上のキー操作により、電子機器の操作全般を行うことのできる入力装置として用いられてきた。GUI環境が普及した現代では、キーボードは、ポインタを操作するポインティングデバイスと併用されることが一般的であり、文字入力に特化して使用されることが多くなっている。
【０００５】
上述したように、現在、電子機器の使用者は、電子機器を操作するに当たり、一般的にキーボードとポインティングデバイスを併用している。このキーボードとポインティングデバイスの併用は、キーボードとポインティングデバイスの間で、手を何度も行き来させる必要があり、電子機器の操作性を損ねるといった問題がある。
【０００６】
また、キーボードとポインティングデバイスの併用は、キーボードとポインティングデバイスの２つの入力装置を机上に配置する必要があり、机上のスペースを広く使用してしまうという問題がある。
【０００７】
これら操作性およびスペースの問題を解決するための手段として、さまざまな技術が開示されている。
【０００８】
特許文献１および特許文献２には、キーボードのキートップにタッチパッド等の接触型センサを設け、指や手のひらと接触型センサの接触によってポインタの制御を行う技術が記載されている。
【０００９】
特許文献３には、キーボードのキー配置の位置情報を記憶し、キーボードにて押下された２つのキー間のベクトル情報を基に、２つのキー間の位置関係からポインタの移動方向を、２つのキー間の距離からポインタの移動量計算し、ポインタを制御する技術が記載されている。
【００１０】
特許文献４および特許文献５には、キーボード上に赤外線等のビームセンサを走らせ、キーボード上の手の動きをビームセンサで検知し、手の動きに合わせてポインタを操作する技術が記載されている。
【特許文献１】特開平１１−１９４８８２号公報
【特許文献２】特開２００７−０１８４２１号公報
【特許文献３】特開２００１−１５９９４３号公報
【特許文献４】特開２００３−２８０７９１号公報
【特許文献５】特開２００４−１８５２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献１および特許文献２に記載されているキーボードのキートップに接触型センサを配置する技術や、特許文献４および特許文献５に記載されているキーボード上にビームセンサを走らせる技術は、既存のキーボードでは対応できず、新たにハードウェアを必要とする。そのため、新たにハードウェアを購入する必要があり、コストが増大するという課題がある。
【００１２】
また、特許文献３に記載されている、キーボードの押下された２つのキー間のベクトル情報を基に、２つのキーの位置関係からポインタの移動方向を、２つのキー間の距離からポインタの移動量計算し、ポインタを操作する技術では、新たなハードウェアを購入する必要はないものの、キーボード上のキー間の距離が固定されているため、ポインタの精密な移動量の制御が出来ないという課題がある。
【００１３】
本発明の目的は、既存のキーボードのキー操作により、精密にポインタの制御を行うことができる電子機器、電子機器におけるポインタ制御方法、およびポインタ制御プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明の電子機器は、
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器であって、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とするポインタ制御計算部と、
前記ポインタ制御計算部にて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動させるポインタ制御部と、を有することを特徴とする。
【００１５】
上記目的を達成するために、本発明の電子機器におけるポインタ制御方法は、
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器におけるポインタ制御方法であって、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とする計算ステップと、
前記計算ステップにて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動させる制御ステップと、を有することを特徴とする。
【００１６】
上記目的を達成するために、本発明のポインタ制御プログラムは、
ポインタを表示する表示部と、ポインタの操作を行うためのキーボードと、を有してなる電子機器に、
前記キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、前記第１のキーから見た前記第２のキーの方向を計算し、その方向をポインタの移動方向とする計算手順と、
前記計算手順にて計算されたポインタの移動方向と移動量に基づいて、ポインタを移動する制御手順と、を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、キーボード上で第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を基にポインタの移動量を計算するとともに、第１のキーから見た第２のキーの方向を計算し、その方向をポインタの移動方向とする。
【００１８】
これにより、既存のキーボード上の任意のキーを使用し、キーの押下の時間間隔という精密に制御可能な量でポインタの移動量を計算することができるため、既存のキーボード上のキー操作により精密にポインタ制御を行うことができるという効果が得られる。
【発明を実施するための最良の形態】
【００１９】
以下に、本発明を実施するための最良の実施形態について図面を参照して説明する。
【００２０】
（第１の実施形態）
図１に、本発明の第１の実施形態の電子機器の構成を示す。
【００２１】
図１に示すように、本実施形態の電子機器は、プログラムにて制御可能な電子機器本体１と、電子機器本体１への入力装置であるキーボード２と、を有している。
【００２２】
電子機器本体１は、キー入力イベント制御部１１と、設定項目記憶部１２と、一時記憶部１３と、ポインタ制御計算部１４と、ポインタ制御部１５と、アプリケーション１６と、を有している。なお、図１には図示していないが、電子機器本体１には、ポインタを画面上に表示する表示部が設けられている。以降の説明では、ポインタとは、この表示部の画面上に表示されるポインタのことを指すものとする。
【００２３】
キー入力イベント制御部１１は、キーボード２上のキー操作が、ポインタを移動するポインタ移動操作のためのキー操作なのか、ポインタ移動操作以外のポインタ操作のためのキー操作なのか、ポインタ操作以外の操作（例えば、アプリケーション１６に対する操作）のためのキー操作なのか、の判定を行う。
【００２４】
設定項目記憶部１２は、キーボード２上のキー操作によりポインタ制御を行うための設定情報を記憶している記憶手段である。設定項目記憶部１２に記憶されている設定情報には、キー座標テーブル１２１と、ポインタ制御キー情報１２２と、ポインタ移動量係数情報１２３と、が含まれる。キー座標テーブル１２１は、キーボード２上の全てのキーのキーコードとＸ座標およびＹ座標との対応関係を表すテーブルである。ポインタ制御キー情報１２２は、ポインタ操作のための特殊キーであるポインタ制御キーとして設定したキーボード２上のキーのキーコードを表す設定情報である。ポインタ制御キーには、ポインタ移動機能作動キーと、右クリック動作キーと、左クリック動作キーと、が含まれている。ポインタ移動機能作動キーは、ポインタの移動を可能にするために押下されるキーである。右クリック動作キーおよび左クリック動作キーは、それぞれマウスの右クリックおよび左クリックに相当するキーであるが、右クリック動作キーおよび左クリック動作キーの押下による右クリック動作および左クリック動作は本発明の本質的な部分ではないので、以降の説明は省略する。ポインタ移動量係数情報１２３は、キーボード２上のキーの押下時間からポインタの移動量を計算する際に用いられ、単位時間あたりのポインタの移動量を表すポインタ移動量係数の設定情報である。
【００２５】
一時記憶部１３は、キーボード２上で押下されたキーのキーコードと、キーが押下された時間（押下時間）を記憶するためのバッファとして、バッファ１３１（第１のバッファ）とバッファ１３２（第２のバッファ）を有している。バッファ１３１は、ポインタ制御計算部１４でポインタの移動方向と移動量を計算する際の始点となるキー（第１のキー）のキーコードをキーコード情報１３１１として、押下時間を時間情報１３１２として、記憶するための記憶手段である。バッファ１３２は、ポインタ制御計算部１４でポインタの移動方向と移動量を計算する際に終点となるキー（第２のキー）のキーコードをキーコード情報１３２１として、押下時間を時間情報１３２２として、記憶するための記憶手段である。
【００２６】
ポインタ制御計算部１４は、設定項目記憶部１２と一時記憶部１３の情報を基に、ポインタの移動方向と移動量の計算を行う。
【００２７】
ポインタ制御部１５は、ポインタ制御計算部１４にて計算されたポインタの移動方向と移動量を基に、ポインタを移動させる等のポインタの制御を行う。
【００２８】
アプリケーション１６は、電子機器本体１で動作しているソフトウェアである。
【００２９】
以下に、本実施形態の電子機器におけるポインタ移動動作について、図２のフローチャートを用いて説明する。
【００３０】
まず、キー入力イベント制御部１１は、キーボード２上でキーが押下されると（ステップＡ１）、押下されたキーが、設定項目記憶部１２のポインタ制御キー情報１２２にあらかじめ設定されているポインタ移動機能作動キーであるかの判定を行う（ステップＡ２）。ここでは、キー入力イベント制御部１１は、押下されたキーのキーコードと、ポインタ移動機能作動キーのキーコードと、を比較することにより、上記の判定を行う。
【００３１】
キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動機能作動キーでない場合、キーボード２上でポインタ移動操作以外の操作が行われると判定し、ポインタ移動動作を終了する。
【００３２】
一方、キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動機能作動キーである場合、キーボード２上でポインタ移動操作が行われると判定し、キーボード２上でポインタ移動機能作動キーの押下が継続したままで、ポインタ制御キー情報１２２にポインタ制御キーとして設定されていない任意のキーが押下されたか判定する（ステップＡ３）。キーが押下されていないが、ポインタ移動機能作動キーの押下が継続している場合は（ステップＡ１１）、ステップＡ３の処理に戻り、キーが押下されるのを待つ。
【００３３】
キーボード２上でポインタ移動機能作動キーの押下が継続したままで、キーが押下された場合、キー入力イベント制御部１１は、押下されたキーを第１のキーとし、第１のキーのキーコードをキーコード情報１３１１として、押下時間を時間情報１３１２として、バッファ１３１に記憶する（ステップＡ４）。
【００３４】
次に、キー入力イベント制御部１１は、キーボード２上でポインタ移動機能作動キーの押下が継続したままで、さらに、ポインタ制御キーとして設定されていない第１のキー以外の任意のキーが押下されるかの判定をする（ステップＡ５）。キーが押下されていないが、ポインタ移動機能作動キーの押下が継続している場合は（ステップＡ１２）、ステップＡ５の処理に戻り、キーが押下されるのを待つ。
【００３５】
キー入力イベント制御部１１は、キーボード２上でポインタ移動機能作動キーの押下が継続したままで、さらに次のキーが押下された場合、キー入力イベント制御部１１は、押下されたキーを第２のキーとし、第２のキーのキーコードをキーコード情報１３２１として、押下時間を時間情報１３２２として、バッファ１３２に記憶する（ステップＡ６）。さらに、キー入力イベント制御部１１は、設定記憶項目部１２のキー座標テーブル１２１とポインタ移動量係数情報１２３と、バッファ１３１のキーコード情報１３１１と時間情報１３１２と、バッファ１３２のキーコード情報１３２１と時間情報１３２２と、をポインタ制御計算部１４に出力する。
【００３６】
次に、ポインタ制御計算部１４は、キー入力イベント制御部１１から出力された、設定記憶項目部１２のキー座標テーブル１２１およびポインタ移動量係数情報１２３と、バッファ１３１のキーコード情報１３１１および時間情報１３１２と、バッファ１３２のキーコード情報１３２１および時間情報１３２２と、を基に、ポインタの移動方向と移動量を計算する（ステップＡ７）。
【００３７】
具体的には、ステップＡ７においては、まず、ポインタ制御計算部１４は、キー座標テーブル１２１を用いて、キーコード情報１３１１とキーコード情報１３２１を第１のキーと第２のキーのＸ座標およびＹ座標に変換する。変換したＸ座標およびＹ座標に基づいて、第１のキーから見た第２のキーの方向を計算し、その方向をポインタの移動方向とする。また、ポインタ制御計算部１４は、時間情報１３１２と時間情報１３２２の差分に基づいて、第１のキーが押下されてから第２のキーが押下されるまでの時間間隔を計算し、計算した時間間隔にポインタ移動量係数情報１２３として設定されたポインタ移動量係数を掛けた値を、ポインタの移動量とする。計算により求めたポインタの移動方向と移動量はポインタ制御部１５に出力される。
【００３８】
その後、ポインタ制御部１５は、ポインタ制御計算部１４から出力されたポインタの移動方向と移動量を基に、ポインタを移動させる（ステップＡ８）。
【００３９】
以降、キー入力イベント制御部１１は、バッファ１３２に記憶している情報をバッファ１３１にコピーする（ステップＡ９）。この操作により、一時記憶部１３は、キーボード２上での連続したキーの押下に対し、常に最新の２つのキーのキーコードと押下時間をバッファ１３１とバッファ１３２に記憶しておくことができる。
【００４０】
また、キー入力イベント制御部１１は、バッファ１３２の情報のバッファ１３１へのコピーが終了した後も、ポインタ移動機能作動キーの押下が継続しているか判定をし（ステップＡ１０）、ポインタ移動機能作動キーの押下が継続している場合、ステップＡ５の処理にもどり、キーボード２で次のキーが押下されるのを待つ。
【００４１】
なお、ステップＡ１０、ステップＡ１１、およびステップＡ１２の処理において、ポインタ移動機能作動キーの押下が終了している場合、キー入力イベント制御部１１は、キーボード２上でのポインタ移動操作が終了したと判定し、ポインタ移動動作を終了する。
【００４２】
以上の動作を具体的な例を挙げて説明する。
【００４３】
例えば、図３および図４に示すように、キーボード２上でポインタ移動機能作動キーが押下され、ポインタ移動機能作動キーの押下が継続したままで、第１のキーとして“Ｆ”キーが押下されたとする。この場合、ステップＡ５に移行し、次のキーが押下されるのを待つ。
【００４４】
ここで、図３に示すように、キーボード２上でポインタ移動機能作動キーの押下が継続したまま、続いて第２のキーとして“Ｌ”キーが押下された場合、ステップＡ７に移行し、まず、“Ｆ”キーから見た“Ｌ”キーの方向が計算される。この場合、一般的なキーボードのキー配置では、“Ｌ”キーは“Ｆ”キーの真横右に位置するので、ポインタの移動方向は真横右方向となる。また、“Ｆ”キーが押下されてから“Ｌ”キーが押下されるまでの時間間隔が計算され、計算された時間間隔にポインタ移動量係数１２３を掛けた値がポインタの移動量となる。その後、ステップＡ８において、ステップＡ７で計算したポインタの移動方向と移動量を基に、ポインタの移動が行われる。
【００４５】
一方、図４に示すように、第２のキーとして“Ｌ”キーが押下される前に、ポインタ移動機能作動キーの押下が終了した場合、ステップＡ１２により、ポインタを移動させることなく、ポインタ移動動作を終了する。
【００４６】
（第２の実施形態）
図５に示すように、本実施形態の電子機器は、図１に示した第１の実施形態と比較して、タイマー部１７を設けた点と、設定項目記憶部１２がさらにタイマー閾値情報１２４を記憶する点と、バッファ１３２がさらにキー押下間隔情報１３２３を記憶する点と、バッファ１３１とバッファ１３２からそれぞれ時間情報１３１２と時間情報１３２２がなくなっている点と、が異なる。その他にも、本実施形態の電子機器は、ポインタ制御キー情報１２２に設定されているポインタ制御キーが異なる。
【００４７】
以下、本実施形態の電子機器の構成のうち、第１の実施形態と異なる部分の構成について述べる。
【００４８】
ポインタ制御キー情報１２２には、ポインタ制御キーとして、ポインタ移動制御キーが追加されている。ポインタ移動制御キーは、キーボード２上のキーのうち、ポインタ移動操作に使用できるキーとして設定されたキーである。なお、本実施形態では、後述のように、第１の実施形態で用いたポインタ移動機能作動キーは不要になるので、ポインタ移動機能作動キーの設定情報は削除しても良い。
【００４９】
タイマー部１７は、キー入力イベント制御部１１によって制御され、キーボード２上でポインタ移動制御キーとして設定されたキーが押下されると、キーが押下されてからの経過時間を計測する。
【００５０】
設定項目記憶部１２に追加で記憶されているタイマー閾値情報１２４は、タイマー部１７で計測された時間の閾値を表すタイマー閾値の設定情報である。
【００５１】
バッファ１３１は、キーボード２上でポインタ移動制御キーとして設定されたキーが押下されると、押下されたポインタ制御キーのキーコードをキーコード情報１３１１として記憶する。
【００５２】
バッファ１３２は、キーボード２上でポインタ移動制御キーとして設定されたキーが押下されてから、タイマー閾値の時間が経過する前に、次のポインタ制御キーが押下されると、押下されたポインタ制御キーのキーコードをキーコード情報１３２１として記憶するとともに、タイマー計測部１７で計測された経過時間をキー押下間隔情報１３２３として記憶する。
【００５３】
以下に、本実施形態の電子機器におけるポインタ移動動作について、図６のフローチャートを用いて説明する。
【００５４】
まず、キー入力イベント制御部１１は、キーボード２上でキーが押下されると（ステップＢ１）、押下されたキーが、設定項目記憶部１２のポインタ制御キー情報１２２に設定されているポインタ移動制御キーであるかの判定を行う（ステップＢ２）。ここでは、キー入力イベント制御部１１は、押下されたキーのキーコードと、ポインタ移動制御キーのキーコードと、を比較することにより、上記の判定を行う。
【００５５】
キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動制御キーでない場合、キーボード２上でポインタ移動操作以外の操作が行われる判断する。この場合、キーボード２上でのキーの押下は、ポインタ移動操作以外のキー操作（例えば、アプリケーション１６に対する操作）として処理される（ステップＢ１３）。
【００５６】
キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動制御キーである場合、押下されたポインタ移動制御キーを第１のキーとし、第１のキーのキーコードをバッファ１３１にキーコード情報１３１１として記憶し、タイマー部１７に、第１のキーが押下されてからの経過時間の計測を開始させる（ステップＢ３）。
【００５７】
次に、キー入力イベント制御部１１は、タイマー部１７にて計測された経過時間が、タイマー閾値情報１２４にあらかじめ設定されたタイマー閾値の時間を超えていないか判定を行う（ステップＢ４）。
【００５８】
キー入力イベント制御部１１は、タイマー部１７にて計測された経過時間がタイマー閾値の時間を超えている場合、１つ前のキー操作に対しポインタを移動したかの判定を行い（ステップＢ１２）、ポインタを移動していなければ、ステップＢ１３の処理に進み、キーボード２上でのキーの押下は、ポインタ移動操作以外のキー操作（例えば、アプリケーション１６に対する操作）として処理される。また、キー入力イベント制御部１１は、ステップＢ１２でポインタを移動していれば、ポインタ移動操作が終了したと判定し、ポインタ移動動作を終了する。
【００５９】
一方、キー入力イベント制御部１１は、タイマー部１７にて計測された経過時間がタイマー閾値の時間を超えていない場合に、キーボード２上でキーが押下されると（ステップＢ５）、押下されたキーがポインタ移動制御キーであるかの判定を行う（ステップＢ６）。
【００６０】
キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動制御キーでない場合、キーボード２上でポインタ移動操作以外の操作が行われる判断し、ステップＢ１３の処理に進み、キーボード２上でのキーの押下は、ポインタ移動操作以外のキー操作として処理される。
【００６１】
キー入力イベント制御部１１は、キーボード２上で押下されたキーがポインタ移動制御キーである場合、押下されたポインタ移動制御キーを第２のキーとし、第２のキーのキーコードをバッファ１３２にキーコード情報１３２１として記憶する（ステップＢ７）。また、キー入力イベント制御部１１は、タイマー部１７の計測を終了し、タイマー部１７が計測した経過時間を読み込み、バッファ１３２にキー押下間隔情報１３２３として記憶する。さらに、キー入力イベント制御部１１は、タイマー部１７をリセットし、タイマー部１７に、第２のキーが押下されてからの経過時間の計測を開始させる（ステップＢ８）。キー入力イベント制御部１１は、キー座標テーブル１２１と、ポインタ移動量係数情報１２３と、キーコード情報１３１１と、キーコード情報１３２１と、キー押下間隔情報１３２３と、をポインタ制御計算部１４に出力する。
【００６２】
次に、ポインタ制御計算部１４は、キー入力イベント制御部１１から出力された、キー座標テーブル１２１と、ポインタ移動量係数情報１２３と、キーコード情報１３１１と、キーコード情報１３２１と、キー押下間隔情報１３２３と、を基に、ポインタの移動方向と移動量を計算する（ステップＢ９）。
【００６３】
具体的には、ステップＢ９においては、まず、ポインタ制御計算部１４は、キー座標テーブル１２１を用いて、キーコード情報１３１１とキーコード情報１３２１を第１のキーと第２のキーのＸ座標およびＹ座標に変換する。変換したＸ座標およびＹ座標に基づいて、第１のキーから見た第２のキーの方向を計算し、その方向をポインタの移動方向とする。また、ポインタ制御計算部１４は、ポインタ移動量係数情報１２３とキー押下間隔情報１３２３を基に、キー押下間隔情報１３２３にポインタ移動量係数情報１２３として設定されたポインタ移動量係数を掛けた値を計算し、その値をポインタの移動量とする。ポインタ制御計算部１４は、計算により求めたポインタの移動方向と移動量を、ポインタ制御部１５に出力する。
【００６４】
その後、ポインタ制御部１５は、ポインタ制御計算部１４から出力されたポインタの移動方向と移動量を基に、ポインタを移動する（ステップＢ１０）。
【００６５】
以降、キー入力イベント制御部１１は、バッファ１３２のキーコード情報１３２１をバッファ１３１のキーコード情報１３１１にコピーする（ステップＢ１１）。
【００６６】
また、キー入力イベント制御部１１は、ステップＢ４の処理に戻り、タイマー閾値情報１２４に設定したタイマー閾値の時間を超える前に、キーボード２上でさらに次のキーが押下されるかの判定を行い（ステップＢ５）、さらに次のキーが押下された場合、ポインタ操作が継続する可能性があると判定し、ステップＢ６以降の処理が続けられる。
【００６７】
以上の動作を具体的な例を挙げて説明する。
【００６８】
例えば、図７、図８、および図９に示すように、キーボード２上でポインタ移動制御キーとして設定されている“１”キーが第１のキーとして押下されたとする。この場合、ステップＢ４に移行し、タイマー閾値の時間を超える前に、キーボード２上で第２のキーが押下されるかの判定を行う。ここでは、タイマー閾値が１秒であるとする。
【００６９】
ここで、図７に示すように、キーボード２上で“９”キーが０．５秒後と、タイマー閾値である１秒を超える前に押下され、“９”キーがポインタ移動制御キーである場合、“９”キーを第２のキーとして、ステップＢ９に移行し、ポインタの移動方向と移動量が計算される。この場合、一般的なキーボードのキー配置では、“９”キーは“１”キーの右上４５度方向に位置するので、ポインタの移動方向は右上４５度方向となる。また、“１”キーが押下されてから“９”キーが押下されるまでの時間間隔は０．５秒なので、０．５秒にポインタ移動量係数を掛けた値が、ポインタの移動量となる。
【００７０】
また、図８に示すように、キーボード２上で“Ａ”キーが０．５秒後と、タイマー閾値である１秒を超える前に押下されたが、“Ａ”キーがポインタ移動制御キーでない場合、ステップＢ６で、これまでのキー操作はポインタ移動操作以外の操作のためのキー操作と判定され、ステップＢ１３に移行し、ポインタ移動動作が終了する。
【００７１】
また、図９に示すように、タイマー閾値である１秒を超える前に、キーボード２上でキーが押下されない場合、ステップＢ１２に移行する。この場合、前のキー操作（“１”キーの押下）でポインタの移動を行っていないので、これまでのキー操作はポインタ移動操作以外の操作のためのキー操作と判定され、ステップＢ１３に移行し、ポインタ移動動作が終了する。
【００７２】
一方、図１０に示すように、キーボード２上でポインタ移動制御キー以外のキーが押下された場合、ステップＢ２で、このキー操作はポインタ移動操作以外の操作のためのキー操作と判定され、ステップＢ１３に移行し、ポインタ移動動作が終了する。
【００７３】
なお、本発明の電子機器におけるポインタ制御方法は、上述のように専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、電子機器にて読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムを電子機器に読み込ませ、実行するものであってもよい。電気機器にて読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、電子機器に内蔵されるハードディスク装置等の記憶装置を指す。さらに、電子機器にて読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的に電子機器内部の揮発性メモリのように一定時間プログラムを保持しているものを含む。
【産業上の利用可能性】
【００７４】
本発明は、入力装置としてキーボードを有する電子機器に利用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１実施形態の電子機器の構成を示すブロック図である。
【図２】図１に示した電子機器におけるポインタ移動動作を説明するフローチャートである。
【図３】図１に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【図４】図１に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【図５】本発明の第２の実施形態の電子機器の構成を示すブロック図である。
【図６】図５に示した電子機器におけるポインタ移動動作を説明するフローチャートである。
【図７】図５に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【図８】図５に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【図９】図５に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【図１０】図５に示した電子機器におけるポインタ移動動作の具体例を説明する図である。
【符号の説明】
【００７６】
１    電子機器本体
２    キーボード
１１    キー入力イベント制御部
１２    設定項目記憶部
１３    一時記憶部
１４    ポインタ制御計算部
１５    ポインタ制御部
１６    アプリケーション
１７    タイマー部
１２１    キー座標テーブル
１２２    ポインタ制御キー情報
１２３    ポインタ移動量係数情報
１２４    タイマー閾値情報
１３１    バッファ
１３２    バッファ
１３１１    キーコード情報
１３１２    時間情報
１３２１    キーコード情報
１３２２    時間情報
１３２３    キー押下間隔情報
【図１】
2009087143.tif 000003
【図２】
2009087143.tif 000004
【図３】
2009087143.tif 000005
【図４】
2009087143.tif 000006
【図５】
2009087143.tif 000007
【図６】
2009087143.tif 000008
【図７】
2009087143.tif 000009
【図８】
2009087143.tif 000010
【図９】
2009087143.tif 000011
【図１０】
2009087143.tif 000012