説明

電子機器および入力方法

【課題】タッチスクリーンディスプレイを用いて容易にキー入力を行うことができる電子機器を実現する。
【解決手段】実施形態によれば、入力制御手段は、外部オブジェクトに接触されているタッチスクリーンディスプレイ上の複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、前記いずれか一つの第1位置に前記外部オブジェクトが接触されてから前記いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定し、前記接触時間が前記閾時間よりも短い場合、前記いずれか一つの第1位置に対応する前記複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力する入力処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、タッチパネルディスプレイを備えた電子機器および同電子機器に適用される入力方法に関する。
【背景技術】
【0002】
近年、ノートブック型等の様々な携帯型パーソナルコンピュータが開発されている。この種の携帯型パーソナルコンピュータの多くは、入力デバイスとして機能するキーボードを備えている。また、最近では、ユーザによるキー入力を支援するために、タッチスクリーンディスプレイに表示される仮想キーボード(ソフトウェアキーボード)を用いるシステムも開発されている。
【0003】
ユーザは、仮想キーボード上の任意のキーを指又はペンでタッチすることにより、このキーに対応するキーコードを入力することができる。
【0004】
また、タッチスクリーンディスプレイまたはタッチパッドを備えた電子機器の中には、接触フィードバック機能を有するものもある。接触フィードバック機能は、タッチスクリーンディスプレイまたはタッチパッド上にユーザの指などが接触された時に、ユーザに対してハードウェアボタンを操作した時の同様の感触を与えるための機能である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−317041号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、最近では、ボタン、メニュー、ドキュメント、画像といった様々なグラフィックコンテンツを視認しやすくするために、比較的大きなサイズのタッチスクリーンディスプレイを備えた電子機器も開発されている。このような電子機器においては、仮想キーボードを両手で操作できるような大きなサイズでタッチスクリーンディスプレイ上に表示することができる。
【0007】
ハードウェアキーボードを使用する場合においては、ユーザは、両手の指をホームキーポジションに対応する幾つかのキー上に置いた状態で、タイプ入力操作を行うことができる。例えば、ホームキーポジションに対応する幾つかのキー上に指を触れておくことにより、いわゆるタッチタイプ操作(キーボードを見ずにタイプ入力する操作)を行うことができる。
【0008】
しかし、通常の仮想キーボードにおいては、ユーザの指がタッチスクリーンディスプレイ上のある位置に触れた時点で、その触れた位置に対応するキーのキーコードが入力される。したがって、ユーザは、ハードウェアキーボードの場合とは異なり、何本かの指を幾つかのキー上に置いて手を休ませたり、あるいはタッチタイプ操作を行うことはできない。ユーザは、両手の指をタッチスクリーンディスプレイの上方に浮かせておき、その状態で、目的のキーを指でタッチすることが必要となる。このため、ユーザの手にかかる負担が大きくなる場合がある。
【0009】
あるキーから指が離れたことをトリガに、そのキーのキーコードを入力する仮想キーボードもある。しかし、この種の仮想キーボードにおいても、1以上の指をキー上に置いて休ませることは難しい。ユーザが、目的のキーをタッチするために、あるキー上に置いてある指をこのキーから離した瞬間に、指が離されたキーのキーコードが入力されてしまう可能性があるからである。
【0010】
本発明は、タッチスクリーンディスプレイを用いて容易にキー入力を行うことができる電子機器および入力方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
実施形態によれば、電子機器は、タッチスクリーンディスプレイと、キーボード表示手段と、制御手段とを具備する。前記キーボード表示手段は、複数のキーを含む仮想キーボードを前記タッチスクリーンディスプレイ上に表示する。前記制御手段は、前記仮想キーボードに対するユーザ操作に応じてキーコードを入力する。前記制御手段は、検出手段と、入力制御手段とを備える。前記検出手段は、前記タッチスクリーンディスプレイ上の複数の位置と外部オブジェクトそれぞれとの接触に応答して、前記複数の位置にそれぞれ対応する前記複数のキー内の複数の第1キーを検出する。前記入力制御手段は、前記複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、前記いずれか一つの第1位置に前記外部オブジェクトが接触されてから前記いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定し、前記接触時間が前記閾時間よりも短い場合、前記いずれか一つの第1位置に対応する前記複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力する入力処理を実行し、前記接触時間が前記閾時間よりも短くない場合、前記入力処理の実行をスキップする。
【図面の簡単な説明】
【0012】
【図1】実施形態に係る電子機器の外観を示す斜視図。
【図2】同実施形態の電子機器のタッチスクリーンディスプレイに表示される仮想キーボードを示す図。
【図3】同実施形態の電子機器のシステム構成を示すブロック図。
【図4】同実施形態の電子機器によって実行される入力制御プログラムの構成を示すブロック図。
【図5】同実施形態の電子機器によって実行される、仮想キーボードを制御するためのキーボード処理の手順を説明するフローチャート。
【図6】図5のキーボード処理において実行される入力判定処理の手順を説明するフローチャート。
【図7】同実施形態の電子機器によって実行される、キーボードモードとマウスモードとを切り替えるモード切替処理の手順を示すフローチャート。
【発明を実施するための形態】
【0013】
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、タブレット型パーソナルコンピュータ(PC)、スマートフォン、またはPDA等として実現され得る。以下では、この電子機器がタブレット型パーソナルコンピュータ10として実現されている場合を想定する。タブレット型パーソナルコンピュータ10は、図1に示すように、コンピュータ本体11とタッチスクリーンディスプレイ17とから構成される。
【0014】
コンピュータ本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、液晶表示装置(LCD)及びタッチパネルが組み込まれている。タッチパネルは、LCDの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、コンピュータ本体11の上面に重ね合わせるように取り付けられている。このタッチスクリーンディスプレイ17は、外部オブジェクト(ペン又は手の指)と接触された表示画面上の位置(タッチ位置、または接触位置とも云う)を検知することができる。このタッチスクリーンディスプレイ17は同時に複数の接触位置を検知可能なマルチタッチ機能をサポートしている。
【0015】
コンピュータ本体11の上面上には、カメラ19およびマイクロフォン20が配置されている。また、コンピュータ本体11の長手方向に伸びた側面には2つのスピーカ18A,18Bが配置されている。
【0016】
本コンピュータ10においては、タッチスクリーンディスプレイ17は、各種アプリケーションプログラムの画面を表示するためのメインディスプレイとして使用される。さらに、タッチスクリーンディスプレイ17は、図2に示されているように、仮想キーボード(ソフトウェアキーボードとも云う)171の表示にも用いられる。
【0017】
タッチスクリーンディスプレイ17の表示画面の向きは縦向き(ポートレート)と横向き(ランドスケープ)との間で切り替えることができる。図2は、ランドスケープ時における仮想キーボード171のレイアウトを示している。
【0018】
仮想キーボード171は、複数のキーコードをそれぞれ入力するための複数のキー(複数の数字キー、複数のアルファベットキー、複数の矢印キー等)を含む。より詳しくは、仮想キーボード151は、複数のキーそれぞれに対応する複数のボタン(ソフトウェアボタン)を含む。タッチスクリーンディスプレイ17の表示画面上には、仮想キーボード171と一緒に、仮想キーボード171の操作によって入力されたキーコードに対応する文字を表示するための文字入力エリア(テキストボックス)172を表示してもよい。
【0019】
本実施形態では、ユーザが1以上の指を仮想キーボード171上のキーに置いたままの状態で、つまり1以上の指がタッチスクリーンディスプレイ17に接触している状態で、タイプ入力操作を実行できるようするためのキー入力制御機能を有している。このキー入力制御機能においては、キーが入力操作されたか否かの判定は、キーが指などでタッチされた瞬間では無く、キーから指が離された瞬間に実行される。ユーザが何本かの指を幾つかのキー上にそれぞれ触れた状態では、それら個々のキーを検出する処理のみが実行される。キーから指が離されない限り、キーコードの入力処理は実行されない。
【0020】
すなわち、キー入力制御機能は、タッチスクリーンディスプレイ17上のある第1位置が指などによって触られると、その第1位置に対応するキー(第1キー)を検出する。さらに、第1位置が指などによって触られている状態でタッチスクリーンディスプレイ17上の別の位置(第2位置)が指などによって触られると、キー入力制御機能は、その第2位置に対応するキー(第2キー)も検出する。さらに、第1位置、第2位置がそれぞれ指などによって触られている状態でタッチスクリーンディスプレイ17上の別の位置(第3位置)が指などによって触られると、キー入力制御機能は、その第3位置に対応するキー(第3キー)も検出する。これら第1キー、第2キー、第3キー上にそれぞれ3つの指が接触されている状態では、キー入力処理等は実行されない。
【0021】
第1位置、第2位置または第3位置のいずれかと指との接触が解除された時、キー入力制御機能は、この接触の解除の操作(リリース操作)が入力操作であるか否かを判定するための判定処理を実行する。
【0022】
判定処理は、例えば、接触時間、タッチ衝撃度、接触圧力、接触回数、接触位置の内の少なくともひとつの情報に基づいて実行される。接触時間は、あるキーに指が接触されてからこのキーと指との接触が解除されるまでの時間長である。本実施形態の判定処理では、主としてこの接触時間が用いられる。接触時間は、タッチ・アンド・リリース操作(タップ操作)に用いられた時間に相当する。タッチ・アンド・リリース操作(タップ操作)は、あるキーを指でタッチし、その後、指をこのキーから離すという操作である。
【0023】
判定処理では、接触時間が閾時間よりも短いか否かが判定される。接触時間が閾時間よりも短い場合、指との接触が解除されたキーに関連づけられたキーコード、つまりタッチ・アンド・リリース操作されたキーに関連づけられたキーコード、を入力するための入力処理が実行される。一方、接触時間が閾時間よりも短くない場合、入力処理の実行はスキップされ、タッチ・アンド・リリース操作されたキーに関連づけられたキーコードは入力されない。
【0024】
よって、たとえユーザが、目的のキーをタップするために、あるキーの上に置いて休めておいた指をこのキーから離しても、この離されたキーのキーコードは入力されない。多くの場合、この離されたキーの接触時間は閾時間よりも長いからである。また、あるキーの上に指をおいたまま、別の指で別のキーをタッチ・アンド・リリース操作(タップ操作)することにより、この別のキーに関連づけられたキーコードを正常に入力することができる。
【0025】
さらに、複数の指をホームキーポジションに置いておくことができるので、上述のタッチタイピング操作も可能となる。
【0026】
タッチ衝撃度は、タッチ・アンド・リリース操作(タップ操作)によってコンピュータ10に加わる衝撃度を示す。本実施形態では、接触時間のみならず、タッチ衝撃度も入力判定のために使用することができる。タッチ衝撃度が閾値よりも大きいことを条件に入力操作が行われたと判定される。これにより、たとえ誤ってユーザの指があるキーに一時的に触れた場合であっても、そのキーのキーコードが入力されることを防止することができる。
【0027】
接触圧力は、あるキーと指との接触の圧力である。キーに指が接触されている面積が大きいほど、接触圧力は大きくなる。したがって、接触圧力を入力判定に使用することも、誤入力を防ぐことを可能にする。
【0028】
接触回数は、同一キーが連続してタップ操作された回数を示す。指の挙動によっては、ある短時間の間に同一キーが連続してタップ操作されたと誤って判定される可能性もある。接触回数を入力判定に使用した場合には、このような連続タップ操作は一つのタップ操作として取り扱われる。
【0029】
接触位置はタップ操作された位置を示す。接触位置を入力判定に使用することにより、タップ操作されたタッチスクリーンディスプレイ17上の位置が、キーが配置された位置であるか否かを判定することができる。よって、接触位置を入力判定に使用することにより、たとえタッチスクリーンディスプレイ17上のキー配置位置以外の位置がタップ操作されても、誤入力が発生することを防ぐことができる。
【0030】
さらに、本実施形態のキー入力制御機能は、仮想キーボード171に対する入力操作状況をユーザにフィードバックするためのフィードバック制御処理も実行する。このフィードバック制御処理では、画像、動画(アニメーション)、音、振動の少なくとも一つを用いて現在の入力操作状況を示す通知を発生する。
【0031】
例えば、仮想キーボード171上のあるキーが指などでタッチされると、そのタッチされているキーの色は特定の色(色1)に変化される(図2では、色が色1に変化されたキーはハッチングによって示されている)。これにより、タッチされたキーそれぞれが検知されていることを、ユーザに知らせることができる。
【0032】
触れられたキーがホームキーポジションの識別に使用される2つの特定のキー(“F”キー、“J”キー)のいずれかである時には、特定の音を出力するというフィードバックが行われる。例えば、“F”キーが指などでタッチされると、ある音(音1)が出力される。“J”キーが指などでタッチされると、別の音(音2)が出力される。あるいは、“F”キーが指などでタッチされたならば、左側のスピーカ18Aから音(音1)を出力し、“J”キーが指などでタッチされたならば、右側のスピーカ18Bから音(音2)を出力してもよい。この場合、音1と音2は同じ音であってもよい。また、これら音を出力する代わりに、振動を発生するようにしてもよい。
【0033】
タッチ・アンド・リリース操作によってあるキーのキーコードが入力された時(接触時間が閾時間よりも短い場合)には、そのキーの色は特定の色(色2)に変化される(図2では、色が色2に変化されたキーはダブルハッチングによって示されている)。なお、キーコードが入力される度に、キーがタッチされた時に発生される音とは異なる別の音を発生してもよく、またはキーがタッチされた時に発生される振動とは異なる別の振動を発生するようにしてもよい。
【0034】
このようなフィードバック制御処理により、ユーザは、タッチスクリーンディスプレイ17を見なくても、キーをタッチしているか、さらに、指がホームキーポジションの対応するキー上に置かれているか否かが分かる。よって、ユーザによる仮想キーボード171を用いたタッチタイプ操作を支援することができる。
【0035】
図3は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図3に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスコントローラ105、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、不揮発性メモリ109、バイブレータ110、加速度センサ111、無線LANコントローラ112、エンベデッドコントローラ(EC)113、EEPROM114、HDMI制御回路3等を備える。
【0036】
CPU101は、コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、不揮発性メモリ109から主メモリ103にロードされる、オペレーティングシステム(OS)201、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、入力制御プログラム202が含まれている。この入力制御プログラムは、上述の仮想キーボード171を用いてキー入力処理を実行するためのソフトウェアであり、オペレーティングシステム(OS)201上で実行される。
【0037】
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
【0038】
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ105との通信を実行する機能も有している。
【0039】
グラフィクスコントローラ105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ105によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて映像を表示する。このLCD17A上にはタッチパネル17Bが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル17Bを用いて、LCD17Aの画面に表示されたグラフィカルユーザインタフェース(GUI)等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。
【0040】
HDMI端子2は、外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルで外部ディスプレイ装置1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。つまり、コンピュータ10は、HDMI端子2等を介して、外部ディスプレイ装置1に接続可能である。
【0041】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、不揮発性メモリ109を制御するためのATAコントローラを内蔵している。
【0042】
サウスブリッジ104は、各種USBデバイスを制御するためのUSBコントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスである。無線LANコントローラ112は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。
【0043】
EC113は、電力管理のためのエンベデッドコントローラを含む1チップマイクロコンピュータである。EC113は、ユーザによるパワーボタンの操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0044】
次に、図4を参照して、キー入力制御プログラム201の構成を説明する。キー入力制御プログラム201は、タッチ情報受信部301、制御部302、フィードバック処理部303、仮想キーボード表示処理部304を備える。
【0045】
タッチ情報受信部301は、タッチイベントが発生する度に、OS201内のタッチパネルドライバ201Aからその発生したタッチイベントに関する情報を受信することができる。ここで、タッチイベントとは、以下のイベントを示す。
【0046】
イベント1: タッチ数が増えた(タッチスクリーンディスプレイ17が指でタッチされた)
イベント2: タッチ数が減った(タッチスクリーンディスプレイ17から指が離された)
イベント3: タッチ状態が変化した(指の位置が移動した)
より詳しくは、タッチイベントには、タッチ開始イベント(イベント1)、リリースイベント(イベント2)、および移動イベント(イベント3)等がある。タッチ開始イベントは、タッチスクリーンディスプレイ17上に外部オブジェクトが接触された時に発生される。すなわち、外部オブジェクトが接触されるタッチスクリーンディスプレイ17上の位置(タッチ位置)の数が増えた時(タッチスクリーンディスプレイ17が指でタッチされた時)にタッチ開始イベントが発生される。タッチ開始イベントの情報は、タッチスクリーンディスプレイ17上のタッチ位置の座標情報(x,y)を含む。
【0047】
リリースイベントは、タッチスクリーンディスプレイ17と外部オブジェクトとの間の接触が解除された時に発生される。すなわち、外部オブジェクトが接触されるタッチスクリーンディスプレイ17上の位置(タッチ位置)の数が減少した時(タッチスクリーンディスプレイ17から指が離された時)にリリースイベントが発生される。リリースイベントの情報は、指が離されたタッチ位置の座標情報(x,y)を含む。
【0048】
移動イベントは、タッチスクリーンディスプレイ17のタッチ位置の座標が変化したとき、例えば、指がタッチスクリーンディスプレイ17に触れたまま移動した時に発生される。移動イベントの情報は、タッチ位置の移動先位置の座標情報(x,y)を含む。
【0049】
制御部302は、2つの動作モード、つまり、キーボードモードとマウスモードとを有している。キーボードモードは、仮想キーボード171に対するユーザ操作に応じてキーコードを入力する動作モードである。マウスモードは、タッチスクリーンディスプレイ17上の接触位置の移動に応じて、その接触位置の移動の方向および距離を示す相対座標データを出力する動作モードである。
【0050】
制御部302は、キーボードモードを実行するための機能モジュールとして、検出部311、入力制御部312、キーコード送信部313等を備える。
【0051】
検出部311は、タッチ開始イベント(タッチ数の増加)および移動イベント(タッチ状態の変化)に応じて、現在タッチされているキーそれぞれを検出する。より詳しくは、検出部311は、タッチスクリーンディスプレイ17の複数の第1位置と外部オブジェクト(複数の指)それぞれとの接触に応答して、これら複数の第1位置にそれぞれ対応する仮想キーボード171上の複数のキー(複数の第1キー)を検出する。
【0052】
入力制御部312は、リリースイベント等に応じて、上述の入力判定処理を実行する。より詳しくは、入力制御部312は、上述の複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、いずれか一つの第1位置に外部オブジェクトが接触されてから、上述のいずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定する。
【0053】
接触時間が閾時間よりも短い場合、入力制御部312は、上述のいずれか一つの第1位置に対応する、上述の複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力するための入力処理を実行する。この場合、このキーコードは本コンピュータ10によって実行されるアプリケーションプログラム401などに入力される。接触時間が閾時間よりも短くない場合、入力制御部312は、この入力処理の実行をスキップする。
【0054】
入力判定処理においては、上述のように、接触時間のみならず、タッチ衝撃度等を用いてもよい。タッチ衝撃度は、加速度センサ111によって検知することができる。また、マイクロフォン20によって入力される音の大きさを用いてタッチ衝撃度を検出するようにしてもよい。入力制御部312は、第1および第2の位置のいずれか一方の位置と外部オブジェクトとの接触の解除に応答して、加速度センサ111等のセンサによって検知されたタッチ衝撃度が閾値よりも大きいか否かを判定する。タッチ衝撃度が閾値よりも大きくない場合、入力制御部312は、入力処理の実行をスキップする。
【0055】
キーコード送信部313は、入力されたキーコードを外部機器402に送信する。この場合、入力されたキーコードは、外部機器402との通信を実行する通信部(例えば、無線LANコントローラ112等の無線通信デバイス)を介して外部機器402に無線送信される。外部機器402はTVのような電子機器である。このキーコード送信部313により、本コンピュータ10を、外部機器402にデータ(キーコード)を入力するための入力デバイスとして機能させることができる。キーコードを外部機器402に送信する機能は、TV上に表示された検索窓などへのテキスト入力時に効果を発揮する。
【0056】
さらに、制御部302は、モード切替部314を備える。このモード切替部314は、制御部302の動作モードを上述のキーボードモードとマウスモードとの間で切り替える。モード切替部314は、タッチスクリーンディスプレイ17上の2つの位置が外部オブジェクトと接触されたことに応答して、これら2つの位置間の距離が閾距離よりも短いか否かを判定する。閾距離は隣接する2つのキー間の距離(キーピッチ)よりも短い値に設定してもよい。
【0057】
2つの位置間の距離が閾距離よりも短い場合、モード切替部314は、制御部302の動作モードを、キーボードモードからマウスモードに切り替える。ユーザは、例えば、2本の指でタッチスクリーンディスプレイ17上の隣接する2点をタッチすることにより、動作モードを、キーボードモードからマウスモードに切り替えることができる。ユーザは、タッチスクリーンディスプレイ17上の2本の指のタッチ位置を移動することにより、画面上のマウスカーソル等を移動させることができる。
【0058】
マウスモードにおいては、2本の指の内の一方の指(例えば左側の指)でタップ操作が行われると、制御部302は、左クリックを示すイベントをアプリケケーションプログラム401に入力するか、もしくは、左クリックを示すイベントを外部機器402に送信する。また、マウスモードにおいて、2本の指の内の他方の指(例えば右側の指)でタップ操作が行われると、制御部302は、右クリックを示すイベントをアプリケケーションプログラム401に入力するか、もしくは、右クリックを示すイベントを外部機器402に送信する。
【0059】
マウスモードにおいて、タッチスクリーンディスプレイ17上に接触されている指の数がゼロになると、このモード切替部314は、マウスモードを終了させる。この場合、モード切替部314は、制御部302の動作モードを上述のキーボードモードに戻してもよい。
【0060】
フィードバック処理部303は、サウンドコントローラ106、バイブレータ110、OS201内の表示ドライバ201B等を使用して、上述のフィードバック制御処理を実行する。仮想キーボード表示処理部304は、仮想キーボード171をタッチスクリーンディスプレイ17上に表示する。
【0061】
次に、図5のフローチャートを参照して、入力制御プログラム202によって実行されるキーボード処理の手順の例を説明する。
【0062】
図5のキーボード処理の手順は、例えば、タッチイベント(タッチ開始イベント、リリースイベント、移動イベント)が発生する度に実行される。図5のフローチャートにおいて、最大タッチ数Nは、現在のタッチ数を示す。タッチ開始イベントの発生時には、最大タッチ数Nは、タッチ開始イベントの発生直後のタッチ数である。リリースイベントの発生時には、最大タッチ数Nは、リリースイベントの発生直前のタッチ数である。
【0063】
タッチイベントが発生した時、つまりタッチ開始イベント、リリースイベント、または移動イベントのいずれかが発生した時、入力制御プログラム202は、現在タッチされているキー(ボタン)それぞれについて、以下の処理を実行する。
【0064】
入力制御プログラム202は、まず、タッチスクリーンディスプレイ17上のタッチ位置それぞれの座標に基づき、タッチされているキー(ボタン)をそれぞれ検出する。これら検出されたキー(ボタン)には異なる識別子Btn(n=1〜N)が付与される。そして、検出された個々のキーに対して以下の処理が実行される。
【0065】
入力制御プログラム202は、まず、処理対象のボタン(Btn)を取得し(ステップS11)、その処理対象のボタン(Btn)が新たにタッチされたボタンであるか否かを判定する(ステップS12)。タッチ開始イベントが発生し、且つこのタッチ開始イベントによって示されるタッチ位置の座標が、処理対象のボタン(Btn)の座標に一致する場合、処理対象のボタン(Btn)は、新たにタッチされたボタンであると判定することができる。ボタン(Btn)が新たにタッチされたボタンであるならば(ステップS12のYES)、入力制御プログラム202は、ボタン(Btn)のキーコードまたはキー識別番号をボタン(Btn)に対応する変数Btn0に格納すると共に、現在時間をボタン(Btn)に対応する変数Tn0にタッチ開始時間として格納する(ステップS13)。そして、入力制御プログラム202は、新たにタッチされたボタンを特定の色で表示するといったフィードバック処理を実行する(ステップS14)。そして、入力制御プログラム202は、次の処理対象のボタンの処理に移る。
【0066】
処理対象のボタン(Btn)が新たにタッチされたボタンではないならば(ステップS12のNO)、入力制御プログラム202は、処理対象のボタン(Btn)がタッチが継続している状態のボタンであるか、あるいはリリースされたボタンであるかを判定する(ステップS15)。タッチが継続している状態は、指がタッチ位置上に止まっている状態、または指がタッチスクリーンディスプレイ17上に接触したまま他のキーに対応する位置に移動した状態に対応する。リリースされたボタンは、指が離された位置に対応するボタンである。リリースイベントが発生し、且つこのリリースイベントによって示されるタッチ位置の座標が、処理対象のボタン(Btn)の座標に一致する場合、処理対象のボタン(Btn)は、リリースされたボタンであると判定することができる。
【0067】
処理対象のボタン(Btn)がタッチが継続している状態のボタンであるならば(ステップS15のYES)、入力制御プログラム202は、処理対象のボタン(Btn)がすでにタッチされており且つ現在もタッチされているボタン、つまり指が止まっているタッチ位置に対応するボタン、であるか否かを判定する(ステップS16)。ステップS16では、入力制御プログラム202は、処理対象のボタン(Btn)のキーコードが、処理対象のボタン(Btn)に対応する変数Btn0にすでに格納されているキーコードと一致するか否かを判定する。これらキーコードが一致するならば、処理対象のボタン(Btn)は、指が止まっているタッチ位置に対応するボタンであると判定される(ステップS16のYES)。この場合、入力制御プログラム202は、次の処理対象のボタンの処理に移る。
【0068】
一方、これらキーコードが一致しないならば、処理対象のボタン(Btn)は、指が移動された先のタッチ位置に対応するボタンであると判定される(ステップS16のNO)。この場合、入力制御プログラム202は、処理対象のボタン(Btn)、つまり移動先のボタンの色を変えるなどのフィードバック処理を実行すると共に、処理対象のボタン(Btn)に対応する変数Btn0を、移動先のボタンのキーコードに変更する(ステップS17)。処理対象のボタン(Btn)に対応する変数Tn0の値は更新する必要はない。指の移動に起因してキー入力が実行されてしまうことを防止できるようにするためである。そして、入力制御プログラム202は、次の処理対象のボタンの処理に移る。
【0069】
処理対象のボタン(Btn)がリリースされたボタンであるならば(ステップS15のNO)、入力制御プログラム202は、処理対象のボタン(Btn)の接触時間等に基づき、処理対象のボタン(Btn)に対するリリース操作が入力操作であるか否かを判定するための入力判定処理を実行する(ステップS18)。この入力判定処理の手順は図6のフローチャートを参照して後述する。
【0070】
処理対象のボタン(Btn)に対するリリース操作が入力操作であると判定されたならば(ステップS19のYES)、入力制御プログラム202は、入力操作が行われたことを示す通知をキー色の変化、音または振動等を用いて発生すると共に(ステップS20)、処理対象のボタン(Btn)に対応する変数Btn0に格納されているキーコードを入力する(ステップS21)。ステップS21では、処理対象のボタン(Btn)に関連づけられたキーコードに対応する文字がテキストボックス172に表示される。あるいは、処理対象のボタン(Btn)に関連づけられたキーコードが外部機器402に送信され、外部機器402の画面上に、処理対象のボタン(Btn)に関連づけられたキーコードに対応する文字が表示される。そして、入力制御プログラム202は、次の処理対象のボタンの処理に移る。
【0071】
処理対象のボタン(Btn)に対するリリース操作が入力操作であると判定されなかったならば(ステップS19のYES)、入力制御プログラム202は、ステップS20、S21の処理の実行をスキップし、次の処理対象のボタンの処理に移る。なお、リリース操作が入力操作であると判定されなかった場合、入力制御プログラム202は、入力操作が行われなかったこと(入力処理のスキップ)を示す通知を、キー色の変化、音または振動等を用いて発生してもよい。
【0072】
いま、第1のユースケースとして、ユーザがあるキー(例えば“J”キー)上に指(人差し指)を置いたまま、別の指(中指)で例えば“K”キーをタップする場合を想定する。この場合、まず、“J”キーと人差し指との接触に応答してタッチ開始イベントが発生し、ステップS12、S13の処理によって、“J”キーが検出される。そして、“J”キーと人差し指とが接触されている状態で“K”キーと中指が接触されると、タッチ開始イベントが再び発生し、ステップS12、S13の処理によって、“K”キーがさらに検出される。
【0073】
右手の中指が“K”キーから離された時、リリースイベントが発生される。この場合、ステップS18、S19の処理によって、指が離された“K”キーの接触時間が閾時間よりも短いか否かが判定される。“K”キーの接触時間が閾時間よりも短いならば、“K”キーの入力処理が実行される。
【0074】
ここで、ユーザが目的のキー、例えば“U”キーをタップするために、右手の人差し指を“J”キーから離した場合を想定する。この場合、リリースイベントが発生され、指が離された“J”キーの接触時間が閾時間よりも短いか否かが判定される。このケースでは、通常、“J”キーの接触時間は閾時間を超えている。したがって、“J”キーの入力処理は実行されない。
【0075】
このように、本実施形態では、あるキーの上に指をおいたまま、別の指で別のキーをタップすることにより、この別のキーに関連づけられたキーコードを正常に入力することができる。また、たとえユーザが、目的のキーをタップするために、あるキーの上に置いて休めておいた指をこのキーから離しても、この離されたキーのキーコードは入力されない。
【0076】
次に、第2のユースケースとして、ユーザの両手の指がホームキーポジションに置かれた場合、つまり、“A”キー、“S”キー、“D”キー、“F”キー上に左手の小指、薬指、中指、人差し指が置かれ、“J”キー、“K”キー、“L”キー、“;”キー上に右手の人差し指、中指、薬指、小指が置かれた場合を想定する。この場合、何回か(最大8回)のタッチ開始イベントが発生し、タッチスクリーンディスプレイ17上の8つの接触位置それぞれに対応する8つのキー(“A”キー、“S”キー、“D”キー、“F”キー、“J”キー、“K”キー、“L”キー、“;”キー)がそれぞれ検出される。また、各キー毎に、そのキーがタッチされた瞬間の時間が検出される。
【0077】
ここで、ユーザが目的のキー、例えば“U”キーをタップするために、右手の人差し指を“J”キーから離した場合を想定する。この場合、リリースイベントが発生され、指が離された“J”キーの接触時間(“J”キーがタッチされたからリリーされるまでの時間)が閾時間よりも短いか否かが判定される。通常、“J”キーの接触時間は閾時間を超えている。このため、“J”キーの入力処理は実行されない。
【0078】
この後、“U”キーと右手の人差し指との接触に応答して接触開始イベントが発生され、“U”キーが検出される。さらに、“U”キーがタッチされた時間が検出される。この直後に、“U”キーと右手の人差し指との接触が解除される。この場合、リリースイベントが発生され、指が離された“U”キーの接触時間が閾時間よりも短いか否かが判定される。“U”キーの接触時間は閾時間よりも短いならば、“U”キーの入力処理が実行される。
【0079】
このように、本実施形態では、複数の指をホームキーポジションに置いた状態でタイプ入力操作を行うことができる。
【0080】
次に、図6のフローチャートを参照して、入力判定処理の手順の例を説明する。
【0081】
入力制御プログラム202は、リリースされたボタンの接触時間が閾時間よりも短いか否かを判定する(ステップS41)。ステップS41では、入力制御プログラム202は、現在時間から、リリースされたボタンに対応する変数Tn0に格納されている時間(タッチされた時間)を減算して、接触時間(Now−T0)を算出する。そして、接触時間(Now−T0)が閾時間Tthよりも短いか否かを判定する。
【0082】
接触時間が閾時間よりも短いならば(ステップS41のYES)、入力制御プログラム202は、リリースされたボタン(Btn)のキーコードが、このボタン(Btn)に対応する変数Btn0にすでに格納されているキーコードと一致するか否かを判定する(ステップS42)。これは、リリースされたボタン(Btn)が、タッチ・アンド・リリースされたボタンであることを再確認するためである。
【0083】
リリースされたボタン(Btn)のキーコードが、このボタン(Btn)に対応する変数Btn0にすでに格納されているキーコードと一致するならば(ステップS42のYES)、入力制御プログラム202は、リリースされたボタン(Btn)に対応する接触圧力(タッチ圧力)が閾値Pthよりも大きいか否かを判定する(ステップS43)。
【0084】
リリースされたボタン(Btn)に対応する接触圧力(タッチ圧力)が閾値Pthよりも大きいならば(ステップS43のYES)、入力制御プログラム202は、タッチ衝撃度(例えば、リリースイベントが発生した直前の期間に対応するタッチ衝撃度)が閾値Ithよりも大きいか否かを判定する(ステップS44)。タッチ衝撃度は、タッチスクリーンティスプレイ17を指で弾くようにタッチ(タップ操作)したかどうかを判定するために使用される。誤って指がタッチスクリーンティスプレイ17に触れた場合は、タッチ衝撃度は低い値になるので、タッチ衝撃度を入力判定に使用することにより、誤入力を低減することができる。
【0085】
タッチ衝撃度の算出には、加速度センサ111を用いることができる。タッチスクリーンティスプレイ17を指でタップすると、X、Y、Zの3軸の加速度の変化量ΔX、ΔY、ΔZが瞬間的に増加する。ΔX、ΔY、ΔZぞれぞれの二乗値の和のルートの値をタッチ衝撃度の値として算出することができる。
【0086】
タッチ衝撃度を検知するためのセンサとして、内蔵マイク20を使用してもよい。タッチスクリーンティスプレイ17を指でタップすると、内蔵マイク20によって収音される音はパルス的な音になる。このパルス的な音の周波数特性は、低域周波数から高域周波数までのパワーが瞬間的に上昇し、そして瞬間的に下がるという特性を有する。したがって、内蔵マイク20によって収音される音の信号を解析することにより、タッチ衝撃度を算出することができる。
【0087】
また、加速度センサ111と内蔵マイク20の双方を用いてタッチ衝撃度を算出してもよい。この場合、タッチ衝撃度の値は、加速度センサ111によって得られる値と音の信号を解析することによって得られる値との線形和によって求めることができる。環境ノイズが大きい場合には、タッチ衝撃度の算出では、音に対する線形和重みを小さくしてもよい。
【0088】
タッチ衝撃度が閾値Ithよりも大きいならば(ステップS44のYES)、入力制御プログラム202は、処理対象のボタン(Btn)に対するリリース操作が入力操作であると判定する(ステップS45)。一方、ステップS41〜S44に対応する4つの条件のいずれかが満たされなかったならば、入力制御プログラム202は、処理対象のボタン(Btn)に対するリリース操作が入力操作ではないと判定する(ステップS46)。
【0089】
接触時間に加え、タッチ圧力とタッチ衝撃度の双方を入力判定に使用することにより、誤入力を効率よく防止することができる。なお、接触時間のみを用いて入力判定してもよいし、接触時間とタッチ衝撃度とを用いて入力判定してもよいし、接触時間とタッチ圧力とを用いて入力判定してもよい。
【0090】
次に、図7のフローチャートを参照して、入力制御プログラム202によって実行されるモード判定処理とマウス処理の手順の例について説明する。モード判定処理はキーボードモードとマウスモードを切り替えるための処理である。
【0091】
モード判定処理は、例えば、タッチイベント(タッチ開始イベント、リリースイベント、移動イベント)が発生する度に実行される。
【0092】
タッチイベントが発生した時、つまりタッチ開始イベント、リリースイベント、または移動イベントのいずれかが発生した時、入力制御プログラム202は、現在のタッチ数、つまり現在タッチされているキーの数を検出し、現在のタッチ数がゼロであるか否かを判定する。
【0093】
現在のタッチ数がゼロであるならば(ステップS51のYES)、入力制御プログラム202は、その動作モードをキーボードモードに設定する(ステップS52)。現在のタッチ数がゼロではないならば(ステップS51のNO)、ステップS52の処理はスキップされる。
【0094】
次いで、入力制御プログラム202は、現在の動作モードがキーボードモードであるか否かを判定する(ステップS53)。キーボードモードであるならば(ステップS53のYES)、入力制御プログラム202は、現在のタッチ数が2で且つこれら2つのタッチ位置間の距離が閾距離Dthよりも短いという条件が成立するか否かを判定する(ステップS54)。
【0095】
現在のタッチ数が2で且つこれら2つのタッチ位置間の距離が閾距離Dthよりも短いという条件が成立していないならば(ステップS54のNO)、入力制御プログラム202は、変数Tcntをゼロに初期化し(ステップS57)、そして図5で説明したキーボード処理を実行する。
【0096】
一方、現在のタッチ数が2で且つこれら2つのタッチ位置間の距離が閾距離Dthよりも短いという条件が成立しているならば(ステップS54のYES)、入力制御プログラム202は、これら2つのタッチ位置がほぼ同時にタッチされたか否かを判定する(ステップS55、S56)。ステップS55では、入力制御プログラム202は、これら2つのタッチ位置それぞれがタッチされた時間(タッチ開始時間)の差(ΔT)を算出し、差(ΔT)と現在の変数Tcntの和を、変数Tcntに代入する。現在の変数Tcntはゼロに設定されている。したがって、変数Tcntは差(ΔT)を示す。ステップS56では、入力制御プログラム202は、変数Tcntが閾値時間Tmthよりも短いか否かを判定する。
【0097】
変数Tcntが閾値時間Tmthよりも短くないならば(ステップS56のNO)、入力制御プログラム202は、図5で説明したキーボード処理を実行する。変数Tcntが閾値時間Tmthよりも短いならば(ステップS56のYES)、入力制御プログラム202は、その動作モードをマウスモードに設定する(ステップS61)。この場合、現在の動作モードがマウスモードであることをユーザに提示するために、画像を表示したり、音を出したり、あるいは振動を発生させてもよい。
【0098】
マウスモードでは、入力制御プログラム202は、2つのタッチ値の代表位置(x1,y1)を算出する。代表位置(x1,y1)は2つのタッチ値間の中間位置であってもよい。入力制御プログラム202は、タッチスクリーンディスプレイ17上の代表位置(x1,y1)の移動に応じて、代表位置(x1,y1)の移動の距離および方向を示す相対座標データを出力する(ステップS63、S64)。ステップS63では、入力制御プログラム202は、タッチスクリーンディスプレイ17上の代表位置(x1,y1)が移動されたか否かを判定する。代表位置(x1,y1)が移動されたならば(ステップS63のYES)、入力制御プログラム202は、ステップS64に進む。そして、入力制御プログラム202は、画面上のマウスカーソルの位置を動かすために、X方向およびY方向それぞれの移動距離を示す相対座標データを入力する。ステップS64では、入力された相対座標データに応じてマウスカーソルを移動する処理が行われる。なお、制御対象が外部機器402である場合には、相対座標データが外部機器402に送信され、外部機器402の画面上のマウスカーソルが移動される。
【0099】
次に、入力制御プログラム202は、左クリックに対応する操作または右クリックに対応する操作が実行されたか否かを判定する(ステップS64〜S68)。本実施形態では、タッチスクリーンディスプレイ17上をタッチしている二本の指のいずれか一方の指でタッチスクリーンディスプレイ17が再タッチされたか否かが判定され、その再タッチ操作が、左クリックに対応する操作または右クリックに対応する操作として検出される。
【0100】
タッチスクリーンディスプレイ17上をタッチしている二本の指のいずれか一方の指でタッチスクリーンディスプレイ17を再タッチする操作を行う場合、タッチ数が2から1に一時的に変化し、その直後に、タッチ数が1から2に変化する。本実施形態では、タッチ数の1から2への変化が左クリックまたは右クリックに対応する操作として検出される。
【0101】
すなわち、入力制御プログラム202は、タッチ数が1から2に変化したか否かを判定する(ステップS65)。タッチ数が1から2に変化したならば(ステップS65のYES)、入力制御プログラム202は、追加のタッチ位置(新たなタッチ位置)が既存のタッチ位置の左側または右側のいずれの側に位置するかを判定する(ステップS66)。追加のタッチ位置が既存のタッチ位置の左側の位置であるならば(ステップS66のYES)、入力制御プログラム202は、左クリックを示すイベントを入力する処理を実行する(ステップS67)。なお、制御対象が外部機器402である場合には、左クリックを示すイベントが外部機器402に送信される。
【0102】
追加のタッチ位置が既存のタッチ位置の右側の位置であるならば(ステップS66のNO)、入力制御プログラム202は、右クリックを示すイベントを入力する処理を実行する(ステップS68)。なお、制御対象が外部機器402である場合には、右クリックを示すイベントが外部機器402に送信される。
【0103】
タッチ数がゼロになるまで、マウスモードは継続される。したがって、マウスモードに一旦遷移された後は、タッチ位置が1に変化しても、その一つのタッチ位置の移動に応じてマウスカーソルを移動させることができる。この場合、その一つのタッチ位置を上述の代表位置として使用すればよい。
【0104】
以上説明したように、本実施形態によれば、タッチスクリーンディスプレイ17上の複数の第1位置と外部オブジェクトそれぞれとの接触に応答して、タッチスクリーンディスプレイ上17の複数の第1位置に対応する仮想キーボード171内の複数の第1キーが検出される。そして、複数の第1位置のいずれか一つの第1位置の接触状態の解除に応答して、いずれか一つの第1位置に外部オブジェクトが接触されてから、いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かが判定される。接触時間が閾時間よりも短い場合、いずれか一つの第1位置に対応する、複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力するための入力処理が実行される。
【0105】
したがって、ユーザがある1以上の第1のキー上に指を置いたまま、別の指等で別の第1のキーをタッチ・アンド・リリース操作(タップ操作)した場合には、この別の第1キーに関連づけられたキーコードを正常に入力することができる。さらに、たとえユーザが、別の第1キーをタッチ・アンド・リリース操作した後に、ある目的のキーをタップするために、ある第1キーの上に置いて休めておいた指をこの第1キーから離しても、この離された第1キーのキーコードは入力されない。
【0106】
よって、複数の指をタッチスクリーンディスプレイ17上に触れた状態で、タイプ入力操作を行うことができる。よって、タッチスクリーンディスプレイ17を用いて容易にキー入力を行うことができる。また、TVなどの他の機器を操作するための入力デバイスとして、タブレットコンピュータ10を利用することが可能となる。
【0107】
なお、本実施形態の処理手順は全てソフトウェアによって実行することができるので、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムをタッチスクリーンディスプレイを備える通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0108】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0109】
10…コンピュータ、17…タッチスクリーンディスプレイ、171…仮想キーボード、202…入力制御プログラム、301…タッチ情報受信部、302…制御部、303…フィードバック処理部、304…仮想キーボード表示処理部、311…検出部、312…入力制御部。

【特許請求の範囲】
【請求項1】
タッチスクリーンディスプレイと、
複数のキーを含む仮想キーボードを前記タッチスクリーンディスプレイ上に表示するキーボード表示手段と、
前記仮想キーボードに対するユーザ操作に応じてキーコードを入力する制御手段とを具備し、
前記制御手段は、
前記タッチスクリーンディスプレイ上の複数の位置と外部オブジェクトそれぞれとの接触に応答して、前記複数の位置にそれぞれ対応する前記複数のキー内の複数の第1キーを検出する検出手段と、
前記複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、前記いずれか一つの第1位置に前記外部オブジェクトが接触されてから前記いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定し、前記接触時間が前記閾時間よりも短い場合、前記いずれか一つの第1位置に対応する前記複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力する入力処理を実行し、前記接触時間が前記閾時間よりも短くない場合、前記入力処理の実行をスキップする入力制御手段とを具備する電子機器。
【請求項2】
前記複数のキーはホームキーポジションの識別に使用される2つの特定のキーを含み、前記複数の第1キーのいずれかが前記2つの特定のキーの一つである場合、前記ホームキーポジションに対応する位置に前記外部オブジェクトが接触されたこと示す通知を発生する第1のフィードバック制御手段をさらに具備する請求項1記載の電子機器。
【請求項3】
前記接触時間が前記閾時間よりも短い場合、前記入力処理が実行されたことを示す通知を発生する第2のフィードバック制御手段をさらに具備する請求項1または2記載の電子機器。
【請求項4】
前記第2のフィードバック制御手段は、前記接触時間が前記閾時間よりも短くない場合、前記入力処理がスキップされたことを示す通知を発生する請求項3記載の電子機器。
【請求項5】
前記電子機器に加わる衝撃度を検知するセンサをさらに具備し、
前記入力制御手段は、前記複数の第1の位置の内のいずれか一つの第1位置と前記外部オブジェクトとの接触の解除に応答して、前記センサによって検知された衝撃度が第1閾値よりも大きいか否かをさらに判定し、前記衝撃度が前記第1閾値よりも大きくない場合、前記入力処理の実行をスキップする請求項1記載の電子機器。
【請求項6】
前記入力制御手段は、前記複数の第1の位置の内のいずれか一つの第1位置と前記外部オブジェクトとの接触の解除に応答して、前記いずれか一つの第1位置と前記外部オブジェクトとの接触圧力が第2閾値よりも大きいか否かをさらに判定し、前記接触圧力が前記第1閾値よりも大きくない場合、前記入力処理の実行をスキップする請求項1または5に記載の電子機器。
【請求項7】
外部機器と通信するための通信手段と、
前記入力されたキーコードを前記通信手段を介して前記外部機器に送信するキーコード送信手段とをさらに具備する請求項1記載の電子機器。
【請求項8】
前記タッチスクリーンディスプレイ上の2つの位置が前記外部オブジェクトと接触されたことに応答して、前記2つの位置間の距離が閾距離よりも短いか否かを判定し、前記2つの位置間の距離が前記閾距離よりも短い場合、前記制御手段の動作モードを、前記仮想キーボードに対するユーザ操作に応じてキーコードを入力するモードから、前記外部オブジェクトが接触される前記タッチスクリーンディスプレイ上の接触位置の移動に応じて、前記接触位置の移動の方向および距離を示す相対座標データを入力するマウスモードに切り替えるモード切り替え手段をさらに具備することを特徴とする請求項1または7記載の電子機器。
【請求項9】
タッチスクリーンディスプレイを備えた電子機器に適用される入力方法であって、
複数のキーを含む仮想キーボードを前記タッチスクリーンディスプレイ上に表示し、
前記タッチスクリーンディスプレイ上の複数の位置と外部オブジェクトそれぞれとの接触に応答して、前記複数の位置にそれぞれ対応する前記複数のキー内の複数の第1キーを検出し、
前記複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、前記いずれか一つの第1位置に前記外部オブジェクトが接触されてから前記いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定し、
前記接触時間が前記閾時間よりも短い場合、前記いずれか一つの第1位置に対応する前記複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力する入力処理を実行し、
前記接触時間が前記閾時間よりも短くない場合、前記入力処理の実行をスキップする入力方法。
【請求項10】
タッチスクリーンディスプレイを備えたコンピュータに、
複数のキーを含む仮想キーボードを前記タッチスクリーンディスプレイ上に表示する手順と、
前記タッチスクリーンディスプレイ上の第1位置と外部オブジェクトとの接触に応答して、前記タッチスクリーンディスプレイ上の前記第1位置に対応する前記複数のキー内の第1キーを検出する手順と、
前記タッチスクリーンディスプレイ上の複数の位置と外部オブジェクトそれぞれとの接触に応答して、前記複数の位置にそれぞれ対応する前記複数のキー内の複数の第1キーを検出する手順と、
前記複数の第1の位置の内のいずれか一つの第1位置の接触状態の解除に応答して、前記いずれか一つの第1位置に前記外部オブジェクトが接触されてから前記いずれか一つの第1位置の接触状態が解除されるまでの接触時間が閾時間よりも短いか否かを判定する手順と、
前記接触時間が前記閾時間よりも短い場合、前記いずれか一つの第1位置に対応する前記複数の第1キー内の一つの第1キーに関連づけられたキーコードを入力する入力処理を実行する手順と、
前記接触時間が前記閾時間よりも短くない場合、前記入力処理の実行をスキップする手順とを実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−98826(P2013−98826A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−241059(P2011−241059)
【出願日】平成23年11月2日(2011.11.2)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】