情報処理装置および入力方法
【課題】誤入力を低減でき且つ仮想キーの操作感を改善することができる情報処理装置を実現する。
【解決手段】キー選択手段は、タッチスクリーンディスプレイ上の複数の仮想キーの一つがタッチされた場合、複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、タッチ位置の移動に従って入力キー候補を別の仮想キーに変更する。出力手段は、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された場合、入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する。振動制御手段は、仮想キーの一つがタッチされた場合バイブレータを第1の振動パターンで振動させ、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された場合バイブレータを第2の振動パターンで振動させる。
【解決手段】キー選択手段は、タッチスクリーンディスプレイ上の複数の仮想キーの一つがタッチされた場合、複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、タッチ位置の移動に従って入力キー候補を別の仮想キーに変更する。出力手段は、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された場合、入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する。振動制御手段は、仮想キーの一つがタッチされた場合バイブレータを第1の振動パターンで振動させ、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された場合バイブレータを第2の振動パターンで振動させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、仮想キー群を用いてコードデータを入力する情報処理装置および入力方法に関する。
【背景技術】
【0002】
近年、携帯型パーソナルコンピュータ、PDAといった様々な情報処理装置が開発されている。情報処理装置の多くは、入力デバイスとして機能するキーボードを有している。
【0003】
また、最近では、ユーザによるキー入力を支援するために、タッチパネルのようなタッチスクリーンディスプレイに仮想キーボードを表示するシステムも開発されている。仮想キーボードは一般に複数のキー(仮想キー)を含む。ユーザは、画面上に表示されるキー中の目的のキーを例えば指先でタッチすることにより、キーデータを入力することができる。
【0004】
しかし、画面は平であるので、従来の仮想キーボードは、キーを押した感触をユーザに対して与えることは困難である。仮想キーボードの操作感を改善するための方法としては、画面上のあるキーがタッチされた時に振動を発生させる方法が知られている。また、タッチパネル上への押圧強度に応じて、発生する振動を変える方法も知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−110388号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
振動を使用した従来の方法では、画面上のキーがタッチされた時点で振動が発生する。これは、キーがタッチされた時点でそのキーが入力キーとして確定されることを前提としているためである。しかし、ユーザは目的のキー以外のキーを誤ってタッチしてしまうかもいれない。したがって、もしキーがタッチされた時点で入力キーが確定されてしまうと、キーの誤入力が発生する可能性がある。
【0007】
本発明は上述の事情を考慮してなされたものであり、誤入力を低減でき且つ仮想キーの操作感を改善することができる情報処理装置および入力方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、情報処理装置は、複数の仮想キーを表示可能なタッチスクリーンディスプレイと、キー選択手段と、出力手段と、バイブレータと、振動制御手段とを具備する。前記キー選択手段は、前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更する。前記出力手段は、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する。前記振動制御手段は、前記複数の仮想キーの一つがタッチされた場合、前記バイブレータを第1の振動パターンで振動させ、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置のタッチスクリーンディスプレイに表示される仮想キーボードの例を示す図。
【図3】同実施形態の情報処理装置の使用形態の例を示す図。
【図4】同実施形態の情報処理装置の使用形態の他の例を示す図。
【図5】同実施形態の情報処理装置によって実行されるキー入力動作を説明するための図。
【図6】同実施形態の情報処理装置の仮想キーボード上の隣接する2つのキー間の境界に指が触れた場合に実行される振動停止処理を説明するための図。
【図7】同実施形態の情報処理装置によって実行されるキー入力動作の別の例を説明するための図。
【図8】同実施形態の情報処理装置のシステム構成を示すブロック図。
【図9】同実施形態の情報処理装置で用いられるキー入力プログラムの構成を示すブロック図。
【図10】同実施形態の情報処理装置によって実行されるキー入力処理の手順を説明するフローチャート。
【図11】同実施形態の情報処理装置によって実行されるキー入力処理の手順の別の例を説明するフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の構成を説明する。この情報処理装置は、例えば、バッテリ駆動可能な携帯型パーソナルコンピュータ10として実現されている。
【0011】
図1は、コンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12の上面には、液晶表示装置(LCD)13から構成される表示装置が組み込まれており、そのLCD13の表示画面はディスプレイユニット12のほぼ中央に位置されている。
【0012】
ディスプレイユニット12は薄い箱型の筐体を有しており、このディスプレイユニット12はコンピュータ本体11にヒンジ部14を介して回動自在に取り付けられている。ヒンジ部14はコンピュータ本体11にディスプレイユニット12を連結する連結部である。すなわち、ディスプレイユニット12の下端部は、コンピュータ本体11の後端部にヒンジ部14によって支持されている。ディスプレイユニット12は、コンピュータ本体11に対してコンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動自在に取り付けられている。また、ディスプレイユニット12の上面上の所定位置、例えば、LCD13の右側には、本コンピュータ10をパワーオンまたはパワーオフするためのパワーボタン16が設けられている。
【0013】
コンピュータ本体11は薄い箱形の筐体を有するベースユニットであり、その上面にはタッチスクリーンディスプレイとして機能する液晶表示装置(LCD)15が組み込まれており、そのLCD15の表示画面はコンピュータ本体11のほぼ中央に位置されている。LCD15の上面には透明のタッチパネルが配置されており、LCD15と透明のタッチパネルとによってタッチスクリーンディスプレイが実現される。このタッチスクリーンディスプレイは、ペン又は指によってタッチされた表示画面上のタッチ位置を検知することができる。コンピュータ本体11上のLCD15は、ディスプレイユニット12のLCD13とは独立したディスプレイである。これらLCD13,15は仮想画面環境を実現するためのマルチディスプレイとして使用することができる。この場合、コンピュータ10のオペレーティングシステムによって管理される仮想画面は、LCD13に表示される第1の画面領域とLCD15に表示される第2の画面領域とを含む。第1の画面領域および第2の画面領域の各々には、任意のアプリケーションウィンドウ、任意のオブジェクト等を表示することができる。
【0014】
本実施形態では、本体11の上面上に設けられたLCD15(タッチスクリーンディスプレイ)は、図2に示されているように、例えば、仮想キーボード(ソフトウェアキーボードとも云う)151の提示に用いられる。仮想キーボード151は、例えば、LCD15の表示画面全体にフルスクリーンモードで表示してもよい。この仮想キーボード151は、複数のキーコード(コードデータ)をそれぞれ入力するための複数の仮想キー(複数の数字キー、複数のアルファベットキー、複数の矢印キー、複数の補助キー、複数のファンクションキー等)を含む。より詳しくは、仮想キーボード151は、複数の仮想キーそれぞれに対応する複数のボタン(ソフトウェアボタン)を含む。
【0015】
一方、ディスプレイユニット12内のLCD13は、図2に示すように、各種アプリケーションウィンドウ等を表示するためのメインディスプレイとして使用することができる。ユーザは、タッチスクリーンディスプレイ15上に表示される仮想キーボード151をタッチ操作することにより、LCD13に表示されるアプリケーションウィンドウ等に対して各種コードデータ(キーコード、文字コード、コマンド等)を入力することが出来る。なお、LCD13も、タッチスクリーンディスプレイとして実現してもよい。
【0016】
コンピュータ本体11の上面上の所定位置、例えば、LCD15の両側には2つのボタンスイッチ17,18が設けられている。これらボタンスイッチ17,18の各々には任意の機能を割り当てることが出来る。例えば、ボタンスイッチ17は、仮想キーボード151を用いたキー入力操作を制御するためのアプリケーションプログラムであるキー入力プログラムを起動するためのボタンスイッチ等として利用し得る。ボタンスイッチ17がユーザによって押された時、キー入力プログラムが起動される。キー入力プログラムは、仮想キーボード151をタッチスクリーンディスプレイ15上に表示する。
【0017】
図3および図4は、コンピュータ10の使用形態の例を示している。図3は、ユーザがタッチスクリーンディスプレイ15上の仮想キーボード151を両手で操作している様子を示している。また、図4は、ユーザが左手でコンピュータ10の本体11を持ちながら、右手でタッチスクリーンディスプレイ15上の仮想キーボード151を操作している様子を示している。
【0018】
次に、図5を参照して、コンピュータ10によって実行されるキー入力動作について説明する。キー入力プログラムは、タッチスクリーンディスプレイ15上の複数の仮想キーの一つがタッチされた場合、それら複数の仮想キーから、タッチされた仮想キーを入力キー候補として選択する。さらに、キー入力プログラムは、タッチスクリーンディスプレイ15上のタッチ位置の移動に従って、入力キー候補を別の仮想キーに変更する。ここで、タッチ位置の移動とは、タッチスクリーンディスプレイ15がタッチされている状態で、タッチスクリーンディスプレイ15上のユーザの指の位置が変化すること、つまり、タッチスクリーンディスプレイ15がタッチされている状態で指の位置がスライドされることを意味する。例えば、いま、仮想キー「F」が最初にタッチされ、その後、タッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。この場合、キー入力プログラムは、最初に仮想キー「F」を入力キー候補として選択する。そして、タッチ位置が仮想キー「G」上に移動されると、キー入力プログラムは、入力キー候補を仮想キー「F」から仮想キー「G」に変更して、仮想キー「G」を新たな入力キー候補として選択する。同様に、タッチ位置が例えば仮想キー「K」上に移動されると、キー入力プログラムは、入力キー候補を仮想キー「K」に変更して、仮想キー「K」を新たな入力キー候補として選択する。キー入力プログラムは、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、つまりユーザの指が現在入力キー候補として選択されている仮想キーから離された場合、入力キー候補として現在選択されている仮想キーを入力キーとして確定し、入力キー候補として現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する。
【0019】
このように、入力キーは、仮想キーがタッチされた時点ではなく、タッチスクリーンディスプレイ15のタッチ状態が解除された時点で確定される。
【0020】
さらに、キー入力プログラムは、仮想キーの操作感を改善するために、仮想キーの操作に応じて、異なった2種類の振動を発生させる機能を有している。例えば、複数の仮想キーの一つがタッチされた場合、キー入力プログラムは、コンピュータ10内のバイブレータを第1の振動パターンで振動させる(振動#1)。ユーザは、例えば、仮想キーに触れている指先などで振動を感じることが出来る。この振動(振動#1)は、入力可能なキー上に指が位置していることをユーザに知らせることが出来る。そして、この後、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、キー入力プログラムは、コンピュータ10内のバイブレータを第1の振動パターンとは異なる第2の振動パターンで振動させる(振動#2)。ユーザは、例えば、コンピュータ10の本体11の上面に触れている手のひら、または本体11を持っている手で、振動を感じることが出来る。この振動(振動#2)は、入力キーが確定されたことをユーザに知らせることができる。バイブレータは、例えば、モータによって実現しても良い。
【0021】
キー入力プログラムは、タッチ位置の移動に応じて、振動#1のオン/オフを制御することも出来る。いま、タッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。キー入力プログラムは、このタッチ位置の移動に応じて、バイブレータを振動ON、振動OFF、振動ON、振動OFF、振動ON、振動OFF、…という順序で制御する。換言すれば、タッチ位置がキー入力可能な位置である場合にのみバイブレータは第1の振動パターンで振動する。タッチ位置がキー入力不可能な位置にある場合、例えば、図6に示すように、隣接するキー間の境界上に指先が位置する場合には、バイブレータは振動しない。これにより、入力可能なキー上に指が位置していることを正しく知らせることが出来る。
【0022】
このように、仮想キーボード151上の仮想キーのいずれかに指が触れている時、つまり、ユーザが指先をスライドさせながら目的のキーを手探りで探している時には、バイブレータは第1の振動パターンで振動する。ある仮想キーが選択されている状態で指がタッチスクリーンディスプレイ15上から離された時、現在選択されている仮想キーが入力キーとして確定されると共に、バイブレータは第2の振動パターンで振動する。この時、指は仮想キーから離れているが、通常は、本体11に手のひら,またはキー入力に使用していない側の手が触れている。よって、ユーザは、キー確定時の振動の変化を、手のひら、またはキー入力操作に使用していない側の手で感じることができる。
【0023】
次に、図7を参照して、コンピュータ10によって実行されるキー入力動作の別の例について説明する。
【0024】
図7の例においては、仮想キーが最初にタッチされた時はバイブレータが第1の振動パターンで振動するが、タッチ位置が移動されると、バイブレータの振動は停止される。いま、仮想キー「F」が最初にタッチされ、その後、ユーザが指先の位置をスライドさせることによってタッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。キー入力プログラムは、仮想キー「F」が最初にタッチされた時、仮想キー「F」を入力キー候補として選択すると共に、バイブレータを第1の振動パターンで振動させる。そして、タッチ位置が仮想キー「F」と仮想キー「G」との間の境界上に移動されると、キー入力プログラムは、バイブレータの振動を停止させる。タッチ位置が仮想キー「G」上に移動されると、キー入力プログラムは、仮想キー「G」を新たなキー入力候補として選択する。同様に、タッチ位置が例えば仮想キー「K」上に移動されると、キー入力プログラムは、仮想キー「K」を新たな入力キー候補として選択する。キー入力プログラムは、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、つまりユーザの指が現在選択されている仮想キーから離された場合、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する。さらに、キー入力プログラムは、入力キーが確定されたことをユーザに知らせるために、バイブレータを第2の振動パターンで振動させる。
【0025】
キー入力プログラムは図5の振動制御と図7の振動制御とをユーザによって指定されたモードに応じて選択的に実行することができる。
【0026】
次に、図8を参照して、本コンピュータ10のシステム構成を説明する。ここでは、LCD13,15の双方がタッチスクリーンディスプレイとして実現されている場合を想定する。
【0027】
本コンピュータ10は、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ115、BIOS−ROM116、ハードディスクドライブ(HDD)117、エンベデッドコントローラ118、バイブレータ119等を備えている。
【0028】
CPU111は、コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD117から主メモリ113にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラム等を実行する。アプリケーションプログラムには、キー入力プログラム201が含まれている。このキー入力プログラム201は、仮想キーボード151をタッチスクリーンディスプレイ15上に表示し、ユーザによる仮想キーボード151のタッチ操作に応じてコードデータを生成する。生成されたコードデータ(例えば、タッチされた仮想キーに対応するキーコード等)は、例えば、オペレーティングシステム(OS)を介してアクティブなアプリケーションに渡される。また、CPU111は、BIOS−ROM116に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。
【0029】
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ115との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。グラフィクスコントローラ114は、コンピュータ10のディスプレイモニタとしてそれぞれ使用される2つのLCD13,15を制御する表示コントローラである。グラフィクスコントローラ114は、ノースブリッジ112を介してCPU111から受信される描画要求に基づいてビデオメモリ(VRAM)に表示データを描画するための表示処理(グラフィクス演算処理)を実行する。ビデオメモリには、LCD13に表示される画面イメージに対応する表示データを格納する記憶領域と、LCD15に表示される画面イメージに対応する表示データを格納する記憶領域とが割り当てられている。LCD13上には透明のタッチパネル13Aが配置されている。同様に、LCD15上にも透明のタッチパネル15Aが配置されている。タッチパネル13A,15Aの各々は、例えば、抵抗膜方式または静電容量方式等を用いて、タッチパネル(タッチスクリーンディスプレイ)上のタッチ位置を検出するように構成されている。また、タッチパネル13A,15Aの各々としては、複数のタッチ位置を同時に検知可能なマルチタッチパネルを使用してもよい。
【0030】
サウスブリッジ115は、HDD121を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。エンベデッドコントローラ(EC)118は、ユーザによるパワーボタンスイッチ16の操作に応じてコンピュータ10をパワーオン/パワーオフする機能を有している。
【0031】
バイブレータ119は振動するように構成されたデバイスである。このバイブレータ119は、例えば、コントローラ119Aとモータ119Bとから構成しても良い。モータ119Bの回転によりバイブレータ119が振動し、この振動によって本体11を振動させることができる。
【0032】
次に、図4を参照して、キー入力プログラム201の構成について説明する。
キー入力プログラム201は、タッチパネル15Aからタッチ位置検出情報を受信し、そのタッチ位置検出情報に基づいて、仮想キーボード151内の複数の仮想キーからユーザによってタッチされた仮想キーを選択する。タッチ位置検出情報は、外部部材(例えば、ユーザの指、またはペン)がタッチされたタッチパネルディスプレイ(LCD15およびタッチパネル15A)上のタッチ位置を示す座標データを含む。
【0033】
キー入力プログラム201は、キー選択部211、コード出力部212、振動制御部213、および仮想キーボード表示部214を機能実行モジュールとして含む。キー選択部211は、仮想キーボード151に含まれる複数の仮想キーの一つがタッチされた場合、複数の仮想キーからタッチされた仮想キーを入力キー候補として選択する。さらに、キー選択部211は、タッチスクリーンディスプレイ上のタッチ位置の移動に従って、入力キー候補を別の仮想キーに変更する。例えば、タッチスクリーンディスプレイがタッチされている状態でタッチ位置が仮想キーボード151上のある仮想キー上から別の仮想キー上に移動された場合、キー選択部211は、入力キー候補をその別の仮想キーに変更し、その別の仮想キーを新たな入力キー候補として選択する。このように、キー選択部211は、タッチ位置の移動に従って、入力キー候補を変更することができる。ユーザの指がタッチスクリーンディスプレイに接触している間は入力キーは確定されないので、ユーザは、タッチスクリーンディスプレイ上の指の位置をスライドさせながら、目的の仮想キー上に指を位置づけることが出来る。
【0034】
コード出力部212は、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除されたことをトリガに、現在の入力キー候補を入力キーとして確定し、現在入力キー候補として選択されている仮想キーに関連付けられたキーコードを出力する。このキーコードは、アプリケーションプログラム、オペレーティングシステムといったプログラムに送られる。
【0035】
振動制御部213は、バイブレータ119を制御して、バイブレータ119を振動させる。例えば、振動制御部213は、キー選択部211によって仮想キーが入力キー候補として選択された時に、バイブレータ119を第1の振動パターンで振動させる。また、例えば、現在の入力キー候補を入力キーとして確定された時、つまり入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された時、振動制御部213は、バイブレータ119を第2の振動パターンで振動させる。振動パターンとしては、振動周期、振動回数等を用いることができる。さらに、振動制御部213は、複数の仮想キーの一つがタッチされた後にタッチ位置の移動によってタッチ位置が仮想キー間の境界上に移動された場合、バイブレータ119の振動を停止させる。またさらに、振動制御部213は、タッチ位置の移動によってタッチ位置が仮想キー間の境界上から別の仮想キー上に移動された場合、バイブレータを第1の振動パターンで振動させる。
【0036】
仮想キーボード表示部214は、LCD15の表示画面上に仮想キーボード151を表示する。仮想キーボード151は、上述したように、複数のキーコード(コードデータ)を入力するための複数の仮想キーを含む。さらに、仮想キーボード表示214は、LCD15の表示画面上に表示される仮想キーボード151のサイズを変更する機能も有している。
【0037】
仮想キーボード151においては、比較的狭いピッチで複数のキーが配列されている。また、仮想キーボード151はクリック感をユーザに与えることはできない。よって、仮想キーボード151のタイプ入力期間中においては、目的の仮想キーのみならず、その目的の仮想キーとその目的の仮想キーとの間の境界がユーザの指によってタッチされてしまう可能性がある。本実施形態では、タッチ位置がいずれかの仮想キー上に位置する場合にのみバイブレータ119が振動し、タッチ位置が誤入力が発生する可能性があるキー境界上に位置する場合にはバイブレータ119は振動しない。よって、入力可能なキー上に指が位置していることをユーザに知らせることが出来る。さらに、入力キーは、仮想キーがタッチされた時点ではなく、タッチスクリーンディスプレイ15のタッチ状態が解除された時点で確定される。よって、ユーザは、指先をスライドさせながら目的のキーを手探りで探すことができ、目的のキー上に指先を位置させることができる。
【0038】
次に、図10のフローチャートを参照して、キー入力プログラム201によって実行されるキー入力処理の手順を説明する。
【0039】
キー入力プログラム201が起動された時、キー入力プログラム201は、仮想キーボード151を本体11上のLCD15(タッチスクリーンディスプレイ)上に表示する。キー入力プログラム201は、タッチパネル15Aからタッチ位置検出情報を受信し、このタッチ位置検出情報に基づいて、タッチスクリーンディスプレイがタッチされたか否かを判定でき、またタッチスクリーンディスプレイ上のタッチ位置を判定することが出来る。タッチスクリーンディスプレイがタッチされたならば(ステップS11のYES)、キー入力プログラム201は、タッチ位置が仮想キーボード151内のいずれかの仮想キー上に位置するか否かを判定する(ステップS12)。タッチ位置がいずれかの仮想キー上に位置するならばつまりいずれかの仮想キーがタッチされたならば(ステップS12のYES)、キー入力プログラム201は、そのタッチされた仮想キーを入力キー候補として選択する(ステップS13)。そして、キー入力プログラム201は、バイブレータ191に第1の駆動信号を送信することによって、バイブレータ191を第1の振動パターンで振動させる(ステップS14)。
【0040】
タッチスクリーンディスプレイがタッチ状態である期間中、キー入力プログラム201は、タッチ位置を監視する。タッチ位置がキー間の境界のようなキー入力不可能な位置に移動されると(ステップS12のNO)、キー入力プログラム201は、バイブレータ191の振動を停止させる(ステップS16)。一方、タッチ位置が別の仮想キー上に移動されると(ステップS12のYES)、キー入力プログラム201は、その別の仮想キーを新たな入力キー候補として選択する(ステップS13)。
【0041】
ユーザの指がタッチスクリーンディスプレイから離されることによってタッチスクリーンディスプレイのタッチ状態が解除されると(ステップS15のYES)、キー入力プログラム201は、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する(ステップS17)。さらに、キー入力プログラム201は、バイブレータ191に第2の駆動信号を送信することによって、バイブレータ191を第2の振動パターンで振動させる(ステップS18)。
【0042】
次に、図11のフローチャートを参照して、キー入力プログラム201によって実行されるキー入力処理の手順の他の例を説明する。図11のフローチャートは、図7で説明したように、仮想キーが最初にタッチされた時にバイブレータを第1の振動パターンで振動させ、タッチ位置が移動されるとバイブレータの振動を停止させるという振動制御に対応している。
【0043】
タッチスクリーンディスプレイがタッチされたならば(ステップS21のYES)、キー入力プログラム201は、タッチ位置が仮想キーボード151内のいずれかの仮想キー上に位置するか否かを判定する(ステップS22)。タッチ位置がいずれかの仮想キー上に位置するならばつまりいずれかの仮想キーがタッチされたならば(ステップS22のYES)、キー入力プログラム201は、そのタッチされた仮想キーを入力キー候補として選択する(ステップS23)。そして、キー入力プログラム201は、バイブレータ191に第1の駆動信号を送信することによって、バイブレータ191を第1の振動パターンで振動させる(ステップS24)。
【0044】
タッチスクリーンディスプレイがタッチ状態である期間中、キー入力プログラム201は、タッチ位置を監視する。タッチ位置が変化してキー間の境界のようなキー入力不可能な位置または別の仮想キー上に移動されると(ステップS26のYES)、キー入力プログラム201は、バイブレータ191の振動を停止させる(ステップS27)。そして、キー入力プログラム201は、移動後のタッチ位置が仮想キー上に位置するか否かを判定する(ステップS28)。移動後のタッチ位置が仮想キー上に位置するならば(ステップS28のYES)、キー入力プログラム201は、この仮想キーを新たな入力キー候補として選択する(ステップS29)。
【0045】
ユーザの指がタッチスクリーンディスプレイから離されることによってタッチスクリーンディスプレイのタッチ状態が解除されると(ステップS25のYES)、キー入力プログラム201は、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する(ステップS30)。さらに、キー入力プログラム201は、バイブレータ191に第2の駆動信号を送信することによって、バイブレータ191を第2の振動パターンで振動させる(ステップS31)。
【0046】
以上説明したように、本実施形態によれば、複数の仮想キーの一つがタッチされた時にそのタッチされた仮想キーが入力キー候補として選択されると共に、バイブレータ119が第1の振動パターンで振動する。タッチ位置の移動に従って、入力キー候補は別の仮想キーに変更される。タッチスクリーンディスプレイのタッチ状態が解除された時には、現在入力キー候補として選択されている仮想キーに関連付けられたコードデータが出力されると共に、バイブレータ119が第2の振動パターンで振動する。よって、ユーザは現在のタッチ位置が仮想キー上であるかどうかを第1の振動によって知ることができ、また目的の仮想キー以外の仮想キーに一旦タッチした後も指をスライドさせることによって目的の仮想キー上に指を移動させることが出来る。さらに、ユーザは、第2の振動によって入力キーが確定されたことを知ることが出来る。よって、キーデータの誤入力を低減でき且つ仮想キーの操作感を改善することができる。
【0047】
なお、上述の仮想キー群としては、ダイヤルキー群のようなボタン群であってもよい。また、本実施形態のコンピュータ10は本体11とディスプレイユニット12とを有しているが、コンピュータ10のシステムを構成するコンポーネントのほとんど全てを必ずしも本体11内に設ける必要はなく、例えば、コンポーネントの一部またはほとんど全てをディスプレイユニット12内に設けても良い。この意味で、本体11とディスプレイユニット12はほぼ対等の関係のユニット同士であると云える。よって、本体11もディスプレイユニットであると考えることができ、またディスプレイユニット12を本体として考えることも出来る。
【0048】
また、本実施形態のコンピュータ10は、タッチスクリーンディスプレイに加え、ディスプレイ(LCD13)を備えているが、タッチスクリーンディスプレイは仮想キーボードとアプリケーションウィンドウ等を同時に表示することもできるので、タッチスクリーンディスプレイのみを有し、ディスプレイ(LCD13)を備えない構成であってもよい。
【0049】
また、本実施形態のキー入力機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムをタッチスクリーンディスプレイを有するコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【0050】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0051】
10…コンピュータ、11…本体、12…ディスプレイユニット、13,15…LCD、151…仮想キーボード、13A,15A…タッチパネル、111…CPU、119…バイブレータ、151…仮想キーボード、201…キー入力プログラム、211…キー選択部、212…コード出力部、213…振動制御部、214…仮想キーボード表示部。
【技術分野】
【0001】
本発明の実施形態は、仮想キー群を用いてコードデータを入力する情報処理装置および入力方法に関する。
【背景技術】
【0002】
近年、携帯型パーソナルコンピュータ、PDAといった様々な情報処理装置が開発されている。情報処理装置の多くは、入力デバイスとして機能するキーボードを有している。
【0003】
また、最近では、ユーザによるキー入力を支援するために、タッチパネルのようなタッチスクリーンディスプレイに仮想キーボードを表示するシステムも開発されている。仮想キーボードは一般に複数のキー(仮想キー)を含む。ユーザは、画面上に表示されるキー中の目的のキーを例えば指先でタッチすることにより、キーデータを入力することができる。
【0004】
しかし、画面は平であるので、従来の仮想キーボードは、キーを押した感触をユーザに対して与えることは困難である。仮想キーボードの操作感を改善するための方法としては、画面上のあるキーがタッチされた時に振動を発生させる方法が知られている。また、タッチパネル上への押圧強度に応じて、発生する振動を変える方法も知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−110388号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
振動を使用した従来の方法では、画面上のキーがタッチされた時点で振動が発生する。これは、キーがタッチされた時点でそのキーが入力キーとして確定されることを前提としているためである。しかし、ユーザは目的のキー以外のキーを誤ってタッチしてしまうかもいれない。したがって、もしキーがタッチされた時点で入力キーが確定されてしまうと、キーの誤入力が発生する可能性がある。
【0007】
本発明は上述の事情を考慮してなされたものであり、誤入力を低減でき且つ仮想キーの操作感を改善することができる情報処理装置および入力方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態によれば、情報処理装置は、複数の仮想キーを表示可能なタッチスクリーンディスプレイと、キー選択手段と、出力手段と、バイブレータと、振動制御手段とを具備する。前記キー選択手段は、前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更する。前記出力手段は、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する。前記振動制御手段は、前記複数の仮想キーの一つがタッチされた場合、前記バイブレータを第1の振動パターンで振動させ、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる。
【図面の簡単な説明】
【0009】
【図1】実施形態に係る情報処理装置の外観を示す斜視図。
【図2】同実施形態の情報処理装置のタッチスクリーンディスプレイに表示される仮想キーボードの例を示す図。
【図3】同実施形態の情報処理装置の使用形態の例を示す図。
【図4】同実施形態の情報処理装置の使用形態の他の例を示す図。
【図5】同実施形態の情報処理装置によって実行されるキー入力動作を説明するための図。
【図6】同実施形態の情報処理装置の仮想キーボード上の隣接する2つのキー間の境界に指が触れた場合に実行される振動停止処理を説明するための図。
【図7】同実施形態の情報処理装置によって実行されるキー入力動作の別の例を説明するための図。
【図8】同実施形態の情報処理装置のシステム構成を示すブロック図。
【図9】同実施形態の情報処理装置で用いられるキー入力プログラムの構成を示すブロック図。
【図10】同実施形態の情報処理装置によって実行されるキー入力処理の手順を説明するフローチャート。
【図11】同実施形態の情報処理装置によって実行されるキー入力処理の手順の別の例を説明するフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態を説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の構成を説明する。この情報処理装置は、例えば、バッテリ駆動可能な携帯型パーソナルコンピュータ10として実現されている。
【0011】
図1は、コンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成される。ディスプレイユニット12の上面には、液晶表示装置(LCD)13から構成される表示装置が組み込まれており、そのLCD13の表示画面はディスプレイユニット12のほぼ中央に位置されている。
【0012】
ディスプレイユニット12は薄い箱型の筐体を有しており、このディスプレイユニット12はコンピュータ本体11にヒンジ部14を介して回動自在に取り付けられている。ヒンジ部14はコンピュータ本体11にディスプレイユニット12を連結する連結部である。すなわち、ディスプレイユニット12の下端部は、コンピュータ本体11の後端部にヒンジ部14によって支持されている。ディスプレイユニット12は、コンピュータ本体11に対してコンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面がディスプレイユニット12によって覆われる閉塞位置との間を回動自在に取り付けられている。また、ディスプレイユニット12の上面上の所定位置、例えば、LCD13の右側には、本コンピュータ10をパワーオンまたはパワーオフするためのパワーボタン16が設けられている。
【0013】
コンピュータ本体11は薄い箱形の筐体を有するベースユニットであり、その上面にはタッチスクリーンディスプレイとして機能する液晶表示装置(LCD)15が組み込まれており、そのLCD15の表示画面はコンピュータ本体11のほぼ中央に位置されている。LCD15の上面には透明のタッチパネルが配置されており、LCD15と透明のタッチパネルとによってタッチスクリーンディスプレイが実現される。このタッチスクリーンディスプレイは、ペン又は指によってタッチされた表示画面上のタッチ位置を検知することができる。コンピュータ本体11上のLCD15は、ディスプレイユニット12のLCD13とは独立したディスプレイである。これらLCD13,15は仮想画面環境を実現するためのマルチディスプレイとして使用することができる。この場合、コンピュータ10のオペレーティングシステムによって管理される仮想画面は、LCD13に表示される第1の画面領域とLCD15に表示される第2の画面領域とを含む。第1の画面領域および第2の画面領域の各々には、任意のアプリケーションウィンドウ、任意のオブジェクト等を表示することができる。
【0014】
本実施形態では、本体11の上面上に設けられたLCD15(タッチスクリーンディスプレイ)は、図2に示されているように、例えば、仮想キーボード(ソフトウェアキーボードとも云う)151の提示に用いられる。仮想キーボード151は、例えば、LCD15の表示画面全体にフルスクリーンモードで表示してもよい。この仮想キーボード151は、複数のキーコード(コードデータ)をそれぞれ入力するための複数の仮想キー(複数の数字キー、複数のアルファベットキー、複数の矢印キー、複数の補助キー、複数のファンクションキー等)を含む。より詳しくは、仮想キーボード151は、複数の仮想キーそれぞれに対応する複数のボタン(ソフトウェアボタン)を含む。
【0015】
一方、ディスプレイユニット12内のLCD13は、図2に示すように、各種アプリケーションウィンドウ等を表示するためのメインディスプレイとして使用することができる。ユーザは、タッチスクリーンディスプレイ15上に表示される仮想キーボード151をタッチ操作することにより、LCD13に表示されるアプリケーションウィンドウ等に対して各種コードデータ(キーコード、文字コード、コマンド等)を入力することが出来る。なお、LCD13も、タッチスクリーンディスプレイとして実現してもよい。
【0016】
コンピュータ本体11の上面上の所定位置、例えば、LCD15の両側には2つのボタンスイッチ17,18が設けられている。これらボタンスイッチ17,18の各々には任意の機能を割り当てることが出来る。例えば、ボタンスイッチ17は、仮想キーボード151を用いたキー入力操作を制御するためのアプリケーションプログラムであるキー入力プログラムを起動するためのボタンスイッチ等として利用し得る。ボタンスイッチ17がユーザによって押された時、キー入力プログラムが起動される。キー入力プログラムは、仮想キーボード151をタッチスクリーンディスプレイ15上に表示する。
【0017】
図3および図4は、コンピュータ10の使用形態の例を示している。図3は、ユーザがタッチスクリーンディスプレイ15上の仮想キーボード151を両手で操作している様子を示している。また、図4は、ユーザが左手でコンピュータ10の本体11を持ちながら、右手でタッチスクリーンディスプレイ15上の仮想キーボード151を操作している様子を示している。
【0018】
次に、図5を参照して、コンピュータ10によって実行されるキー入力動作について説明する。キー入力プログラムは、タッチスクリーンディスプレイ15上の複数の仮想キーの一つがタッチされた場合、それら複数の仮想キーから、タッチされた仮想キーを入力キー候補として選択する。さらに、キー入力プログラムは、タッチスクリーンディスプレイ15上のタッチ位置の移動に従って、入力キー候補を別の仮想キーに変更する。ここで、タッチ位置の移動とは、タッチスクリーンディスプレイ15がタッチされている状態で、タッチスクリーンディスプレイ15上のユーザの指の位置が変化すること、つまり、タッチスクリーンディスプレイ15がタッチされている状態で指の位置がスライドされることを意味する。例えば、いま、仮想キー「F」が最初にタッチされ、その後、タッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。この場合、キー入力プログラムは、最初に仮想キー「F」を入力キー候補として選択する。そして、タッチ位置が仮想キー「G」上に移動されると、キー入力プログラムは、入力キー候補を仮想キー「F」から仮想キー「G」に変更して、仮想キー「G」を新たな入力キー候補として選択する。同様に、タッチ位置が例えば仮想キー「K」上に移動されると、キー入力プログラムは、入力キー候補を仮想キー「K」に変更して、仮想キー「K」を新たな入力キー候補として選択する。キー入力プログラムは、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、つまりユーザの指が現在入力キー候補として選択されている仮想キーから離された場合、入力キー候補として現在選択されている仮想キーを入力キーとして確定し、入力キー候補として現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する。
【0019】
このように、入力キーは、仮想キーがタッチされた時点ではなく、タッチスクリーンディスプレイ15のタッチ状態が解除された時点で確定される。
【0020】
さらに、キー入力プログラムは、仮想キーの操作感を改善するために、仮想キーの操作に応じて、異なった2種類の振動を発生させる機能を有している。例えば、複数の仮想キーの一つがタッチされた場合、キー入力プログラムは、コンピュータ10内のバイブレータを第1の振動パターンで振動させる(振動#1)。ユーザは、例えば、仮想キーに触れている指先などで振動を感じることが出来る。この振動(振動#1)は、入力可能なキー上に指が位置していることをユーザに知らせることが出来る。そして、この後、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、キー入力プログラムは、コンピュータ10内のバイブレータを第1の振動パターンとは異なる第2の振動パターンで振動させる(振動#2)。ユーザは、例えば、コンピュータ10の本体11の上面に触れている手のひら、または本体11を持っている手で、振動を感じることが出来る。この振動(振動#2)は、入力キーが確定されたことをユーザに知らせることができる。バイブレータは、例えば、モータによって実現しても良い。
【0021】
キー入力プログラムは、タッチ位置の移動に応じて、振動#1のオン/オフを制御することも出来る。いま、タッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。キー入力プログラムは、このタッチ位置の移動に応じて、バイブレータを振動ON、振動OFF、振動ON、振動OFF、振動ON、振動OFF、…という順序で制御する。換言すれば、タッチ位置がキー入力可能な位置である場合にのみバイブレータは第1の振動パターンで振動する。タッチ位置がキー入力不可能な位置にある場合、例えば、図6に示すように、隣接するキー間の境界上に指先が位置する場合には、バイブレータは振動しない。これにより、入力可能なキー上に指が位置していることを正しく知らせることが出来る。
【0022】
このように、仮想キーボード151上の仮想キーのいずれかに指が触れている時、つまり、ユーザが指先をスライドさせながら目的のキーを手探りで探している時には、バイブレータは第1の振動パターンで振動する。ある仮想キーが選択されている状態で指がタッチスクリーンディスプレイ15上から離された時、現在選択されている仮想キーが入力キーとして確定されると共に、バイブレータは第2の振動パターンで振動する。この時、指は仮想キーから離れているが、通常は、本体11に手のひら,またはキー入力に使用していない側の手が触れている。よって、ユーザは、キー確定時の振動の変化を、手のひら、またはキー入力操作に使用していない側の手で感じることができる。
【0023】
次に、図7を参照して、コンピュータ10によって実行されるキー入力動作の別の例について説明する。
【0024】
図7の例においては、仮想キーが最初にタッチされた時はバイブレータが第1の振動パターンで振動するが、タッチ位置が移動されると、バイブレータの振動は停止される。いま、仮想キー「F」が最初にタッチされ、その後、ユーザが指先の位置をスライドさせることによってタッチ位置が仮想キー「F」から仮想キー「K」に向けて移動された場合を想定する。キー入力プログラムは、仮想キー「F」が最初にタッチされた時、仮想キー「F」を入力キー候補として選択すると共に、バイブレータを第1の振動パターンで振動させる。そして、タッチ位置が仮想キー「F」と仮想キー「G」との間の境界上に移動されると、キー入力プログラムは、バイブレータの振動を停止させる。タッチ位置が仮想キー「G」上に移動されると、キー入力プログラムは、仮想キー「G」を新たなキー入力候補として選択する。同様に、タッチ位置が例えば仮想キー「K」上に移動されると、キー入力プログラムは、仮想キー「K」を新たな入力キー候補として選択する。キー入力プログラムは、入力キー候補が選択されている状態でタッチスクリーンディスプレイ15のタッチ状態が解除された場合、つまりユーザの指が現在選択されている仮想キーから離された場合、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する。さらに、キー入力プログラムは、入力キーが確定されたことをユーザに知らせるために、バイブレータを第2の振動パターンで振動させる。
【0025】
キー入力プログラムは図5の振動制御と図7の振動制御とをユーザによって指定されたモードに応じて選択的に実行することができる。
【0026】
次に、図8を参照して、本コンピュータ10のシステム構成を説明する。ここでは、LCD13,15の双方がタッチスクリーンディスプレイとして実現されている場合を想定する。
【0027】
本コンピュータ10は、CPU111、ノースブリッジ112、主メモリ113、グラフィクスコントローラ114、サウスブリッジ115、BIOS−ROM116、ハードディスクドライブ(HDD)117、エンベデッドコントローラ118、バイブレータ119等を備えている。
【0028】
CPU111は、コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD117から主メモリ113にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラム等を実行する。アプリケーションプログラムには、キー入力プログラム201が含まれている。このキー入力プログラム201は、仮想キーボード151をタッチスクリーンディスプレイ15上に表示し、ユーザによる仮想キーボード151のタッチ操作に応じてコードデータを生成する。生成されたコードデータ(例えば、タッチされた仮想キーに対応するキーコード等)は、例えば、オペレーティングシステム(OS)を介してアクティブなアプリケーションに渡される。また、CPU111は、BIOS−ROM116に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。
【0029】
ノースブリッジ112はCPU111のローカルバスとサウスブリッジ115との間を接続するブリッジデバイスである。ノースブリッジ112には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。グラフィクスコントローラ114は、コンピュータ10のディスプレイモニタとしてそれぞれ使用される2つのLCD13,15を制御する表示コントローラである。グラフィクスコントローラ114は、ノースブリッジ112を介してCPU111から受信される描画要求に基づいてビデオメモリ(VRAM)に表示データを描画するための表示処理(グラフィクス演算処理)を実行する。ビデオメモリには、LCD13に表示される画面イメージに対応する表示データを格納する記憶領域と、LCD15に表示される画面イメージに対応する表示データを格納する記憶領域とが割り当てられている。LCD13上には透明のタッチパネル13Aが配置されている。同様に、LCD15上にも透明のタッチパネル15Aが配置されている。タッチパネル13A,15Aの各々は、例えば、抵抗膜方式または静電容量方式等を用いて、タッチパネル(タッチスクリーンディスプレイ)上のタッチ位置を検出するように構成されている。また、タッチパネル13A,15Aの各々としては、複数のタッチ位置を同時に検知可能なマルチタッチパネルを使用してもよい。
【0030】
サウスブリッジ115は、HDD121を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。エンベデッドコントローラ(EC)118は、ユーザによるパワーボタンスイッチ16の操作に応じてコンピュータ10をパワーオン/パワーオフする機能を有している。
【0031】
バイブレータ119は振動するように構成されたデバイスである。このバイブレータ119は、例えば、コントローラ119Aとモータ119Bとから構成しても良い。モータ119Bの回転によりバイブレータ119が振動し、この振動によって本体11を振動させることができる。
【0032】
次に、図4を参照して、キー入力プログラム201の構成について説明する。
キー入力プログラム201は、タッチパネル15Aからタッチ位置検出情報を受信し、そのタッチ位置検出情報に基づいて、仮想キーボード151内の複数の仮想キーからユーザによってタッチされた仮想キーを選択する。タッチ位置検出情報は、外部部材(例えば、ユーザの指、またはペン)がタッチされたタッチパネルディスプレイ(LCD15およびタッチパネル15A)上のタッチ位置を示す座標データを含む。
【0033】
キー入力プログラム201は、キー選択部211、コード出力部212、振動制御部213、および仮想キーボード表示部214を機能実行モジュールとして含む。キー選択部211は、仮想キーボード151に含まれる複数の仮想キーの一つがタッチされた場合、複数の仮想キーからタッチされた仮想キーを入力キー候補として選択する。さらに、キー選択部211は、タッチスクリーンディスプレイ上のタッチ位置の移動に従って、入力キー候補を別の仮想キーに変更する。例えば、タッチスクリーンディスプレイがタッチされている状態でタッチ位置が仮想キーボード151上のある仮想キー上から別の仮想キー上に移動された場合、キー選択部211は、入力キー候補をその別の仮想キーに変更し、その別の仮想キーを新たな入力キー候補として選択する。このように、キー選択部211は、タッチ位置の移動に従って、入力キー候補を変更することができる。ユーザの指がタッチスクリーンディスプレイに接触している間は入力キーは確定されないので、ユーザは、タッチスクリーンディスプレイ上の指の位置をスライドさせながら、目的の仮想キー上に指を位置づけることが出来る。
【0034】
コード出力部212は、入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除されたことをトリガに、現在の入力キー候補を入力キーとして確定し、現在入力キー候補として選択されている仮想キーに関連付けられたキーコードを出力する。このキーコードは、アプリケーションプログラム、オペレーティングシステムといったプログラムに送られる。
【0035】
振動制御部213は、バイブレータ119を制御して、バイブレータ119を振動させる。例えば、振動制御部213は、キー選択部211によって仮想キーが入力キー候補として選択された時に、バイブレータ119を第1の振動パターンで振動させる。また、例えば、現在の入力キー候補を入力キーとして確定された時、つまり入力キー候補が選択されている状態でタッチスクリーンディスプレイのタッチ状態が解除された時、振動制御部213は、バイブレータ119を第2の振動パターンで振動させる。振動パターンとしては、振動周期、振動回数等を用いることができる。さらに、振動制御部213は、複数の仮想キーの一つがタッチされた後にタッチ位置の移動によってタッチ位置が仮想キー間の境界上に移動された場合、バイブレータ119の振動を停止させる。またさらに、振動制御部213は、タッチ位置の移動によってタッチ位置が仮想キー間の境界上から別の仮想キー上に移動された場合、バイブレータを第1の振動パターンで振動させる。
【0036】
仮想キーボード表示部214は、LCD15の表示画面上に仮想キーボード151を表示する。仮想キーボード151は、上述したように、複数のキーコード(コードデータ)を入力するための複数の仮想キーを含む。さらに、仮想キーボード表示214は、LCD15の表示画面上に表示される仮想キーボード151のサイズを変更する機能も有している。
【0037】
仮想キーボード151においては、比較的狭いピッチで複数のキーが配列されている。また、仮想キーボード151はクリック感をユーザに与えることはできない。よって、仮想キーボード151のタイプ入力期間中においては、目的の仮想キーのみならず、その目的の仮想キーとその目的の仮想キーとの間の境界がユーザの指によってタッチされてしまう可能性がある。本実施形態では、タッチ位置がいずれかの仮想キー上に位置する場合にのみバイブレータ119が振動し、タッチ位置が誤入力が発生する可能性があるキー境界上に位置する場合にはバイブレータ119は振動しない。よって、入力可能なキー上に指が位置していることをユーザに知らせることが出来る。さらに、入力キーは、仮想キーがタッチされた時点ではなく、タッチスクリーンディスプレイ15のタッチ状態が解除された時点で確定される。よって、ユーザは、指先をスライドさせながら目的のキーを手探りで探すことができ、目的のキー上に指先を位置させることができる。
【0038】
次に、図10のフローチャートを参照して、キー入力プログラム201によって実行されるキー入力処理の手順を説明する。
【0039】
キー入力プログラム201が起動された時、キー入力プログラム201は、仮想キーボード151を本体11上のLCD15(タッチスクリーンディスプレイ)上に表示する。キー入力プログラム201は、タッチパネル15Aからタッチ位置検出情報を受信し、このタッチ位置検出情報に基づいて、タッチスクリーンディスプレイがタッチされたか否かを判定でき、またタッチスクリーンディスプレイ上のタッチ位置を判定することが出来る。タッチスクリーンディスプレイがタッチされたならば(ステップS11のYES)、キー入力プログラム201は、タッチ位置が仮想キーボード151内のいずれかの仮想キー上に位置するか否かを判定する(ステップS12)。タッチ位置がいずれかの仮想キー上に位置するならばつまりいずれかの仮想キーがタッチされたならば(ステップS12のYES)、キー入力プログラム201は、そのタッチされた仮想キーを入力キー候補として選択する(ステップS13)。そして、キー入力プログラム201は、バイブレータ191に第1の駆動信号を送信することによって、バイブレータ191を第1の振動パターンで振動させる(ステップS14)。
【0040】
タッチスクリーンディスプレイがタッチ状態である期間中、キー入力プログラム201は、タッチ位置を監視する。タッチ位置がキー間の境界のようなキー入力不可能な位置に移動されると(ステップS12のNO)、キー入力プログラム201は、バイブレータ191の振動を停止させる(ステップS16)。一方、タッチ位置が別の仮想キー上に移動されると(ステップS12のYES)、キー入力プログラム201は、その別の仮想キーを新たな入力キー候補として選択する(ステップS13)。
【0041】
ユーザの指がタッチスクリーンディスプレイから離されることによってタッチスクリーンディスプレイのタッチ状態が解除されると(ステップS15のYES)、キー入力プログラム201は、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する(ステップS17)。さらに、キー入力プログラム201は、バイブレータ191に第2の駆動信号を送信することによって、バイブレータ191を第2の振動パターンで振動させる(ステップS18)。
【0042】
次に、図11のフローチャートを参照して、キー入力プログラム201によって実行されるキー入力処理の手順の他の例を説明する。図11のフローチャートは、図7で説明したように、仮想キーが最初にタッチされた時にバイブレータを第1の振動パターンで振動させ、タッチ位置が移動されるとバイブレータの振動を停止させるという振動制御に対応している。
【0043】
タッチスクリーンディスプレイがタッチされたならば(ステップS21のYES)、キー入力プログラム201は、タッチ位置が仮想キーボード151内のいずれかの仮想キー上に位置するか否かを判定する(ステップS22)。タッチ位置がいずれかの仮想キー上に位置するならばつまりいずれかの仮想キーがタッチされたならば(ステップS22のYES)、キー入力プログラム201は、そのタッチされた仮想キーを入力キー候補として選択する(ステップS23)。そして、キー入力プログラム201は、バイブレータ191に第1の駆動信号を送信することによって、バイブレータ191を第1の振動パターンで振動させる(ステップS24)。
【0044】
タッチスクリーンディスプレイがタッチ状態である期間中、キー入力プログラム201は、タッチ位置を監視する。タッチ位置が変化してキー間の境界のようなキー入力不可能な位置または別の仮想キー上に移動されると(ステップS26のYES)、キー入力プログラム201は、バイブレータ191の振動を停止させる(ステップS27)。そして、キー入力プログラム201は、移動後のタッチ位置が仮想キー上に位置するか否かを判定する(ステップS28)。移動後のタッチ位置が仮想キー上に位置するならば(ステップS28のYES)、キー入力プログラム201は、この仮想キーを新たな入力キー候補として選択する(ステップS29)。
【0045】
ユーザの指がタッチスクリーンディスプレイから離されることによってタッチスクリーンディスプレイのタッチ状態が解除されると(ステップS25のYES)、キー入力プログラム201は、現在選択されている仮想キーを入力キーとして確定し、現在選択されている仮想キーに関連付けられたコードデータをアプリケーションプログラム、オペレーティングシステムといったプログラムに出力する(ステップS30)。さらに、キー入力プログラム201は、バイブレータ191に第2の駆動信号を送信することによって、バイブレータ191を第2の振動パターンで振動させる(ステップS31)。
【0046】
以上説明したように、本実施形態によれば、複数の仮想キーの一つがタッチされた時にそのタッチされた仮想キーが入力キー候補として選択されると共に、バイブレータ119が第1の振動パターンで振動する。タッチ位置の移動に従って、入力キー候補は別の仮想キーに変更される。タッチスクリーンディスプレイのタッチ状態が解除された時には、現在入力キー候補として選択されている仮想キーに関連付けられたコードデータが出力されると共に、バイブレータ119が第2の振動パターンで振動する。よって、ユーザは現在のタッチ位置が仮想キー上であるかどうかを第1の振動によって知ることができ、また目的の仮想キー以外の仮想キーに一旦タッチした後も指をスライドさせることによって目的の仮想キー上に指を移動させることが出来る。さらに、ユーザは、第2の振動によって入力キーが確定されたことを知ることが出来る。よって、キーデータの誤入力を低減でき且つ仮想キーの操作感を改善することができる。
【0047】
なお、上述の仮想キー群としては、ダイヤルキー群のようなボタン群であってもよい。また、本実施形態のコンピュータ10は本体11とディスプレイユニット12とを有しているが、コンピュータ10のシステムを構成するコンポーネントのほとんど全てを必ずしも本体11内に設ける必要はなく、例えば、コンポーネントの一部またはほとんど全てをディスプレイユニット12内に設けても良い。この意味で、本体11とディスプレイユニット12はほぼ対等の関係のユニット同士であると云える。よって、本体11もディスプレイユニットであると考えることができ、またディスプレイユニット12を本体として考えることも出来る。
【0048】
また、本実施形態のコンピュータ10は、タッチスクリーンディスプレイに加え、ディスプレイ(LCD13)を備えているが、タッチスクリーンディスプレイは仮想キーボードとアプリケーションウィンドウ等を同時に表示することもできるので、タッチスクリーンディスプレイのみを有し、ディスプレイ(LCD13)を備えない構成であってもよい。
【0049】
また、本実施形態のキー入力機能はコンピュータプログラムによって実現されているので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じて、このコンピュータプログラムをタッチスクリーンディスプレイを有するコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に得ることが出来る。
【0050】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【0051】
10…コンピュータ、11…本体、12…ディスプレイユニット、13,15…LCD、151…仮想キーボード、13A,15A…タッチパネル、111…CPU、119…バイブレータ、151…仮想キーボード、201…キー入力プログラム、211…キー選択部、212…コード出力部、213…振動制御部、214…仮想キーボード表示部。
【特許請求の範囲】
【請求項1】
複数の仮想キーを表示可能なタッチスクリーンディスプレイと、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更するキー選択手段と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する出力手段と、
バイブレータと、
前記複数の仮想キーの一つがタッチされた場合、前記バイブレータを第1の振動パターンで振動させ、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる振動制御手段とを具備する情報処理装置。
【請求項2】
前記振動制御手段は、前記複数の仮想キーの一つがタッチされた後に前記タッチ位置の移動によって前記タッチ位置が仮想キー間の境界上に移動された場合、前記バイブレータの振動を停止させるように構成されている請求項1記載の情報処理装置。
【請求項3】
前記振動制御手段は、前記タッチ位置の移動によって前記タッチ位置が前記仮想キー間の境界上から別の仮想キー上に移動された場合、前記バイブレータを前記第1の振動パターンで振動させるように構成されている請求項2記載の情報処理装置。
【請求項4】
情報処理装置のタッチスクリーンディスプレイを用いて、タッチされたキーに対応するコードデータを入力するための入力方法であって、
コードデータをそれぞれ入力するための複数の仮想キーを前記タッチスクリーンディスプレイ上に表示し、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、
前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更し、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力し、
前記複数の仮想キーの一つがタッチされた場合、前記情報処理装置内のバイブレータを第1の振動パターンで振動させ、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる入力方法。
【請求項5】
さらに、前記複数の仮想キーの一つがタッチされた後に前記タッチ位置の移動によって前記タッチ位置が仮想キー間の境界上に移動された場合、前記バイブレータの振動を停止させる請求項4記載の入力方法。
【請求項6】
さらに、前記タッチ位置の移動によって前記タッチ位置が前記仮想キー間の境界上から別の仮想キー上に移動された場合、前記バイブレータを前記第1の振動パターンで振動させる請求項5記載の入力方法。
【請求項7】
コンピュータのタッチスクリーンディスプレイを用いて、タッチされたキーに対応するコードデータを入力するためのプログラムであって、
コードデータをそれぞれ入力するための複数の仮想キーを前記タッチスクリーンディスプレイ上に表示する手順と、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択する手順と、
前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更する手順と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する手順と、
前記複数の仮想キーの一つがタッチされた場合、前記コンピュータ内のバイブレータを第1の振動パターンで振動させる手順と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる手順とを前記コンピュータに実行させるプログラム。
【請求項1】
複数の仮想キーを表示可能なタッチスクリーンディスプレイと、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更するキー選択手段と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する出力手段と、
バイブレータと、
前記複数の仮想キーの一つがタッチされた場合、前記バイブレータを第1の振動パターンで振動させ、前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる振動制御手段とを具備する情報処理装置。
【請求項2】
前記振動制御手段は、前記複数の仮想キーの一つがタッチされた後に前記タッチ位置の移動によって前記タッチ位置が仮想キー間の境界上に移動された場合、前記バイブレータの振動を停止させるように構成されている請求項1記載の情報処理装置。
【請求項3】
前記振動制御手段は、前記タッチ位置の移動によって前記タッチ位置が前記仮想キー間の境界上から別の仮想キー上に移動された場合、前記バイブレータを前記第1の振動パターンで振動させるように構成されている請求項2記載の情報処理装置。
【請求項4】
情報処理装置のタッチスクリーンディスプレイを用いて、タッチされたキーに対応するコードデータを入力するための入力方法であって、
コードデータをそれぞれ入力するための複数の仮想キーを前記タッチスクリーンディスプレイ上に表示し、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択し、
前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更し、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力し、
前記複数の仮想キーの一つがタッチされた場合、前記情報処理装置内のバイブレータを第1の振動パターンで振動させ、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる入力方法。
【請求項5】
さらに、前記複数の仮想キーの一つがタッチされた後に前記タッチ位置の移動によって前記タッチ位置が仮想キー間の境界上に移動された場合、前記バイブレータの振動を停止させる請求項4記載の入力方法。
【請求項6】
さらに、前記タッチ位置の移動によって前記タッチ位置が前記仮想キー間の境界上から別の仮想キー上に移動された場合、前記バイブレータを前記第1の振動パターンで振動させる請求項5記載の入力方法。
【請求項7】
コンピュータのタッチスクリーンディスプレイを用いて、タッチされたキーに対応するコードデータを入力するためのプログラムであって、
コードデータをそれぞれ入力するための複数の仮想キーを前記タッチスクリーンディスプレイ上に表示する手順と、
前記複数の仮想キーの一つがタッチされた場合、前記複数の仮想キーからタッチされた仮想キーを入力キー候補として選択する手順と、
前記タッチスクリーンディスプレイ上のタッチ位置の移動に従って前記入力キー候補を別の仮想キーに変更する手順と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記入力キー候補として選択されている仮想キーに関連付けられたコードデータを出力する手順と、
前記複数の仮想キーの一つがタッチされた場合、前記コンピュータ内のバイブレータを第1の振動パターンで振動させる手順と、
前記入力キー候補が選択されている状態で前記タッチスクリーンディスプレイのタッチ状態が解除された場合、前記バイブレータを第2の振動パターンで振動させる手順とを前記コンピュータに実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−248400(P2011−248400A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−117599(P2010−117599)
【出願日】平成22年5月21日(2010.5.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願日】平成22年5月21日(2010.5.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]