(57)【要約】【課題】タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートする技術を提供する。【解決手段】入力部５０は、タッチパネルでの検出結果を受けつける。特定部５２は、検出結果をもとに、タッチパネルにタッチされた点数を特定する。決定部５４は、特定した点数をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する。ここで、決定部５４は、特定した点数の違いをもとに、第１状態であるか第２状態であるかを決定する。出力部５８は、決定した状態の情報を出力する。【選択図】図２
2015148888.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルでの検出結果を受けつける入力部と、
前記入力部において受けつけた検出結果をもとに、タッチパネルにタッチされた点数を特定する特定部と、
前記特定部において特定した点数をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する決定部と、
前記決定部において決定した状態の情報を出力する出力部とを備え、
前記決定部は、前記特定部において特定した点数の違いをもとに、第１状態であるか第２状態であるかを決定することを特徴とするエミュレーション装置。
【請求項２】
前記特定部は、タッチパネルにタッチされた点数として、１点あるいは２点を特定し、
前記決定部は、前記特定部において特定した点数が１点である場合、第１状態であることを決定し、前記特定部において特定した点数が２点である場合、第２状態であることを決定することを特徴とする請求項１に記載のエミュレーション装置。
【請求項３】
前記入力部において受けつけた検出結果をもとに、エミュレートすべきコンピュータに対する座標情報を生成する生成部をさらに備え、
前記入力部において受けつけた検出結果は、タッチパネルにタッチされた位置の情報であり、
前記出力部は、前記決定部において決定した状態の情報に加えて、前記生成部において生成した座標情報も出力することを特徴とする請求項１または２に記載のエミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレート技術に関し、特にタッチ入力をコンピュータのマウス操作にエミュレートするエミュレーション装置に関する。
【背景技術】
【０００２】
コンピュータへ情報を入力するための装置のひとつが、マウスである。一方、マウスの代わりに、タッチパネルが使用されることもある。その際、タッチパネルへの操作によって、マウスの左右クリック操作がエミュレートされている。例えば、タッチパネルの任意の位置でペンをタッチした状態で一定時間内のタッチ回数を検知し判別することで、左右のクリック操作が切りかえられる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２８２６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピュータには、パーソナルコンピュータだけではなく、スマートフォン、タブレットも含まれる。このような場合において、マウスのボタンが押し下げられていない状態での座標入力をエミュレートする必要性が生じている。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートする技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のエミュレーション装置は、タッチパネルでの検出結果を受けつける入力部と、入力部において受けつけた検出結果をもとに、タッチパネルにタッチされた点数を特定する特定部と、特定部において特定した点数をもとに、エミュレートすべきコンピュータにおけるマウスボタンが押し下げられていない第１状態であるか、マウスボタンが押し下げられた第２状態であるかを決定する決定部と、決定部において決定した状態の情報を出力する出力部とを備える。決定部は、特定部において特定した点数の違いをもとに、第１状態であるか第２状態であるかを決定する。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、タッチパネルへの操作によって、コンピュータのマウスのボタンを押し下げていない状態の座標入力をエミュレートできる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例に係るエミュレーションシステムの構成を示す図である。
【図２】図１のエミュレーション装置の構成を示す図である。
【図３】図１のタッチパネルにおける座標を示す図である。
【図４】図１のディスプレイにおける座標を示す図である。
【図５】図２のエミュレーション装置によるエミュレーション手順を示すフローチャートである。
【図６】図５のエミュレーション手順における一連の処理で使用される変数を示す図である。
【図７】図５の初期化ステップの手順を示すフローチャートである。
【図８】図５のタッチ検出処理ステップの手順を示すフローチャートである。
【図９】図８のタッチ検出処理で入力される変数を示す図である。
【図１０】図５の座標計算ステップの手順を示すフローチャートである。
【図１１】図５の移動情報送信ステップの手順を示すフローチャートである。
【図１２】図１１の移動情報送信で出力する変数を示す図である。
【図１３】図５の次検出時間待ちステップの手順を示すフローチャートである。
【図１４】図１のコンピュータにおけるマウス処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。ここで、タッチパネルを備えた処理装置が、コンピュータと別に構成される。処理装置は、例えば、ナビゲーション装置、ディスプレイオーディオ装置である。処理装置は、タッチパネルへの入力をマウスの操作に変換し、変換結果をコンピュータへ送信する。コンピュータは、変換結果を受信し、変換結果に応じたマウスの処理を実行する。
【００１１】
マウスのボタンが押し下げられていない状態と、マウスのボタンが押し下げられている状態とを区別するために、本実施例に係る処理装置は、次の処理を実行する。なお、タッチパネルへの入力は、指によってなされるものとする。処理装置は、タッチパネルへのタッチ数が１である場合、マウスのボタンを押さない状態で座標入力とし、タッチ数が２である場合、マウスボタンを押した状態での座標入力とする。
【００１２】
図１は、本発明の実施例に係るエミュレーションシステム１００の構成を示す。エミュレーションシステム１００は、処理装置１０、コンピュータ２０を含む。処理装置１０は、タッチパネル１２、タッチパネルコントローラ１４、エミュレーション装置１６、処理部１８を含み、コンピュータ２０は、処理部３２、ディスプレイ３４を含む。
【００１３】
タッチパネル１２は、液晶パネルのような表示装置とタッチパッドのような位置入力装置を組み合わせた電子部品である。ユーザが指で画面上の表示を押すことによって、情報あるいは指示を入力する入力装置である。タッチパネル１２には、例えば、静電容量方式が使用されるが、これに限定されるものではない。
【００１４】
タッチパネルコントローラ１４は、タッチパネル１２に接続され、指にて触れられた画面位置の情報を感知して、エミュレーション装置１６へ情報信号として出力する。情報信号には、例えば、タッチ位置に対応するタッチパネル１２上の座標データと、タッチの回数、タッチパネルに指先を接触させてから離間させるまでの時間等に応じた操作状況データとが含まれる。なお、タッチパネル１２、タッチパネルコントローラ１４には公知の技術が使用されればよい。
【００１５】
エミュレーション装置１６は、タッチパネルコントローラ１４からの情報信号（以下、「検出結果」という）を受けつける。エミュレーション装置１６は、検出結果をもとに、ディスプレイ３４に対する座標情報を生成するとともに、マウスボタンが押し下げられている状態であるか否かを示した情報（以下、「状態情報」という）を生成する。つまり、エミュレーション装置１６は、タッチ入力からマウス入力へのエミュレーションを実行する。エミュレーション装置１６は、座標情報および状態情報をコンピュータ２０へ送信する。送信には、例えば、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のような無線通信あるいは有線通信が使用されるが、これらは公知の技術であるので、ここでは説明を省略する。
【００１６】
処理部１８は、処理装置１０の本来の機能を実行する。処理装置１０がナビゲーション装置である場合、処理部１８はナビゲーション機能を実行し、処理装置１０がディスプレイオーディオ装置である場合、処理部１８はディスプレイオーディオ機能を実行する。処理装置１０がこれら以外の装置である場合、処理部１８は、その装置に応じた機能を実行すればよい。
【００１７】
処理部３２は、コンピュータ２０にインストールされたアプリケーションプログラムを実行する。ここでは、アプリケーションプログラムについての説明を省略する。また、処理部３２は、処理装置１０と通信する機能を有し、エミュレーション装置１６からの座標情報および状態情報を受信する。処理部３２は、マウスのドライバ機能を有しており、受信した座標情報および状態情報をマウスからの入力と理解し、マウスからの入力に応じた処理を実行する。つまり、処理部３２は、マウスによって示される位置座標を特定するとともに、位置座標の移動を把握する。また、処理部３２は、マウスのボタンが押し下げられているか否かを把握する。処理部３２は、このようなマウスの処理の結果をディスプレイ３４に表示してもよい。
【００１８】
図２は、エミュレーション装置１６の構成を示す。エミュレーション装置１６は、入力部５０、特定部５２、決定部５４、生成部５６、出力部５８を含む。生成部５６は、座標調整部６０、座標記憶部６２、相対座標計算部６４を含む。
【００１９】
入力部５０は、図１のタッチパネルコントローラ１４から、タッチパネル１２での検出結果を受けつける。前述のごとく、検出結果には、タッチパネル１２にタッチされた位置の情報である座標データが含まれている。図３は、タッチパネル１２における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点（０，０）が最小座標として規定される。また、原点から左方向にｘ軸が規定され、原点から下方向にｙ軸が規定される。そのため、右下端が最大座標（Ｘｐ，Ｙｐ）となる。座標データは、図３の座標上に配置されており、絶対座標として示される。図２に戻る。入力部５０は、検出結果を特定部５２へ出力する。
【００２０】
特定部５２は、入力部５０からの検出結果を受けつける。特定部５２は、検出結果をもとに、ユーザによってタッチパネル１２にタッチされた点数を特定する。例えば、特定部５２は、タッチパネル１２にタッチされた点数として、１点あるいは２点を特定する。具体的に説明すると、同一タイミングでのふたつの座標データを受けつけた場合、特定部５２は、２点のタッチを特定する。一方、同一タイミングでのひとつの座標データを受けつけた場合、特定部５２は、１点のタッチを特定する。なお、同一タイミングでの３つ以上の座標データを受けつけた場合、特定部５２は、２点のタッチを特定してもよい。ここで、同一タイミングは、完全に一致している必要はなく、タッチパネルコントローラ１４での検出誤差をもとにした範囲でずれていてもよい。さらに、特定部５２は、タッチの点数を特定する際に、操作状況データを使用してもよい。特定部５２は、特定した点数の情報、検出結果を決定部５４へ出力する。
【００２１】
決定部５４は、特定部５２から、特定部５２において特定した点数の情報、検出結果を受けつける。決定部５４は、特定した点数をもとに、エミュレートすべきコンピュータ２０におけるマウスボタンが押し下げられていない状態（以下、「第１状態」という）であるか、マウスボタンが押し下げられた状態（以下、「第２状態」という）であるかを決定する。具体的に説明すると、決定部５４は、点数が「１」である場合、第１状態であることを決定し、点数が「２」である場合、第２状態であることを決定する。つまり、決定部５４は、点数の違いをもとに、第１状態であるか第２状態であるかを決定する。決定部５４において決定した状態が、前述の状態情報に相当する。決定部５４は、状態情報を出力部５８へ出力し、状態情報と検出結果とを座標調整部６０へ出力する。
【００２２】
座標調整部６０は、決定部５４からの状態情報と検出結果とを受けつける。座標調整部６０は、検出結果に含まれた座標データ、つまり図３に示された座標データをもとに、エミュレートすべきコンピュータ２０に対する座標情報を生成する。これは、タッチパネル１２での座標をディスプレイ３４での座標に変換することに相当する。図４は、ディスプレイ３４における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点（０，０）が最小座標として規定される。また、原点から左方向にｘ軸が規定され、原点から下方向にｙ軸が規定される。そのため、右下端が最大座標（Ｘｍ，Ｙｍ）となる。一般的に、最大座標（Ｘｍ，Ｙｍ）は、図３の最大座標（Ｘｐ，Ｙｐ）とは異なる。図２に戻る。
【００２３】
このように、タッチパネル１２上の座標系とディスプレイ３４上の座標系は相違する。しかしながら、両座標系の位置関係は固定されているので、前者の座標系から後者の座標系へ変換するための変換テーブルを予め作成しておくことが可能である。座標調整部６０は、変換テーブルを予め記憶し、変換テーブルを使用して、タッチパネル１２上の座標データをディスプレイ３４上の座標データ（以下、タッチパネル１２上の座標データと区別するためにこれを「絶対座標データ」という）に変換する。
【００２４】
なお、状態情報が第２状態を示していた場合、座標調整部６０は、ふたつの座標データからひとつの座標データを生成し、生成したひとつの座標データに対して、前述の変換処理を実行する。ふたつの座標データからひとつの座標データの生成には、例えば、平均処理が実行される。このような処理の結果、第２状態であっても、絶対座標データが生成される。座標調整部６０は、絶対座標データを座標記憶部６２、決定部５４へ出力する。
【００２５】
座標記憶部６２は、座標記憶部６２からの絶対座標データを受けつけ、絶対座標データを記憶する。座標記憶部６２は、新たな絶対座標データを受けつけると、新たな絶対座標データによって記憶内容を更新する。
【００２６】
相対座標計算部６４は、絶対座標データに対して、絶対座標から相対座標への変換を実行する。一般的に、マウスに対するコンピュータ２０のインターフェイスは、相対座標にて規定されている。相対座標は、絶対座標にて示された位置の時間変化、つまり位置の移動量を示す。これに対応するために、相対座標計算部６４は、座標調整部６０からの絶対座標データを受けつけるとともに、座標記憶部６２からの絶対座標データも受けつける。座標記憶部６２からの絶対座標データは、座標調整部６０からの絶対座標データよりも過去のデータに相当する。そのため、ここでは、座標記憶部６２からの絶対座標データを「過去座標データ」という。相対座標計算部６４は、過去座標データにて示される位置から、絶対座標データにて示される位置への移動量を計算する。例えば、相対座標計算部６４は、絶対座標データから過去座標データを減算する処理をベクトル演算にて実行する。減算の結果が、相対座標データである。相対座標データは、前述の座標情報に相当する。相対座標計算部６４は、座標情報を出力部５８へ出力する。
【００２７】
出力部５８は、相対座標計算部６４からの座標情報を受けつけるとともに、決定部５４からの状態情報を受けつける。出力部５８は、座標情報と状態情報とひとつのパケット信号に格納する。出力部５８は、パケット信号を送信する。その際、無線通信あるいは有線通信が使用されるが、公知の技術が使用されればよいので、ここでは説明する。このように、出力部５８は、状態情報を出力するとともに、座標情報も出力する。なお、座標情報と状態情報とは、別々に送信されてもよい。
【００２８】
この構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ハードウエアとソフトウエアの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００２９】
以上の構成によるエミュレーションシステム１００の動作を説明する。図５は、エミュレーション装置１６によるエミュレーション手順を示すフローチャートである。エミュレーション装置１６は、初期化を実行する（Ｓ１０）。特定部５２は、タッチ検出処理を実行する（Ｓ１２）。タッチがあり（Ｓ１４のＹ）、２点検出でなければ（Ｓ１６のＮ）、決定部５４は、第１状態であると決定して、ｂ＝０を設定する（Ｓ１８）。
【００３０】
座標調整部６０は、座標データ（Ｘ１，Ｙ１）から絶対座標データ（ｘｎ，ｙｎ）を導出する（Ｓ２０）。図６は、エミュレーション手順における一連の処理で使用される変数を示す。図５に戻る。一方、２点検出であれば（Ｓ１６のＹ）、決定部５４は、第２状態であると決定して、ｂ＝１を設定する（Ｓ２２）。座標調整部６０は、座標計算を実行する（Ｓ２４）。相対座標計算部６４、出力部５８は、移動情報送信を実行する（Ｓ２６）。ｘｏにｘｎが入力され、ｙｏにｙｎが入力される（Ｓ２８）。これに続いて、あるいはタッチがない場合（Ｓ１４のＮ）、終了でなければ（Ｓ３０のＮ）、次検出時間待ちが実行されて（Ｓ３２）、ステップ１２に戻る。終了であれば（Ｓ３０のＹ）、処理は終了される。
【００３１】
図７は、初期化ステップの手順を示すフローチャートである。これは、図５のステップ１０に相当する。ｘｎ，ｙｎ，ｘｏ，ｙｏに「０」が入力される（Ｓ４０）。これらは、変数がリセットされることに相当する。
【００３２】
図８は、タッチ検出処理ステップの手順を示すフローチャートである。これは、図５のステップ１２に相当する。特定部５２は、変数Ｃにタッチ数を代入する（Ｓ５０）。図９は、タッチ検出処理で入力される変数を示す図である。図８に戻る。タッチ数Ｃが２であれば（Ｓ５２のＣ＝２）、特定部５２は、Ｘ２にタッチ２のＸ座標を代入し、Ｙ２にタッチ２のＹ座標を代入する（Ｓ５４）。これに続いて、あるいはタッチ数Ｃが１であれば（Ｓ５２のＣ＝１）、特定部５２は、Ｘ１にタッチ１のＸ座標を代入し、Ｙ１にタッチ１のＹ座標を代入する（Ｓ５６）。タッチ数Ｃが０であれば（Ｓ５２のＣ＝０）、ステップ５２から５６はスキップされる。
【００３３】
図１０は、座標計算ステップの手順を示すフローチャートである。これは、図５のステップ２４に相当する。座標調整部６０は、（Ｘ１＋Ｘ２）／２と（Ｙ１＋Ｙ２）／２から絶対座標データ（ｘｎ，ｙｎ）を導出する（Ｓ６０）。
【００３４】
図１１は、移動情報送信ステップの手順を示すフローチャートである。これは、図５のステップ２６に相当する。相対座標計算部６４は、相対Ｘ座標、相対Ｙ座標を導出し、出力部５８は、状態情報であるボタン状態と、相対Ｘ座標、相対Ｙ座標とをパケット信号へフォーマット変化する（Ｓ７０）。パケット信号は移動情報ともよばれる。図１２は、移動情報送信で出力する変数を示す図である。図１１に戻る。出力部５８は、移動情報を通信路に出力する（Ｓ７２）。
【００３５】
図１３は、次検出時間待ちステップの手順を示すフローチャートである。これは、図５のステップ３２に相当する。検出タイマ満了またはタッチ割り込み待ちが検出される（Ｓ８０）。
【００３６】
図１４は、コンピュータ２０におけるマウス処理の手順を示すフローチャートである。これは、図１の処理部３２における処理に相当する。処理部３２は、移動情報の受信を待つ（Ｓ９０）。処理部３２は、移動情報を取得する（Ｓ９２）。処理部３２は、移動情報を処理する（Ｓ９４）。終了でなければ（Ｓ９６のＮ）、ステップ９０へ戻る。一方、終了であれば（Ｓ９６のＹ）、処理は終了される。
【００３７】
本発明の実施例によれば、タッチパネルにタッチされた点数をもとに、マウスのボタンが押し下げられた否かを決定するので、タッチパネルへの操作によって、マウスを押し下げていない状態の座標入力をエミュレートできる。また、マウスを押し下げていない状態の座標入力がエミュレートされるので、マウスを押し下げていない状態の操作がコンピュータにおいて必要になる場合であっても、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。また、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータが操作されるので、ユーザの利便性を向上できる。また、タッチパネルへのタッチが１点であるか２点であるかに応じて、マウスのボタンが押し下げられた否かを決定するので、処理を簡易にできる。また、ボタンが押し下げられているか否かの情報と、座標情報とをコンピュータへ出力するので、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。
【００３８】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００３９】
本発明の実施例において、決定部５４は、タッチされた点数が「１」であれば第１状態を決定し、点数が「２」であれば第２状態を決定している。しかしながらこれに限らず例えば、決定部５４は、これら以外の点数によって第１状態であるか第２状態であるかを決定してもよい。具体的に説明すると、決定部５４は、点数が「１」であれば第２状態を決定し、点数が「２」であれば第１状態を決定する。つまり、点数と状態の関係が実施例とは逆でもよい。また、ふたつの状態を区別するための点数の組合せが「１」と「２」ではなく、「２」と「３」のように、別の値でもよい。本変形例によれば、構成の自由度を向上できる。
【００４０】
本発明の実施例において、コンピュータ２０におけるマウスとのインターフェイスの仕様にあわせて、座標情報が相対座標であるとしている。しかしながらこれに限らず例えば、コンピュータ２０におけるマウスとのインターフェイスの仕様が絶対座標である場合、生成部５６は、絶対座標である座標情報を生成してもよい。その際、生成部５６において、座標記憶部６２、相対座標計算部６４が省略され、絶対座標データが座標情報とされる。本変形例によれば、コンピュータ２０におけるマウスとのインターフェイスの仕様が多様であっても、エミュレーションを実行できる。
【符号の説明】
【００４１】
１０  処理装置、  １２  タッチパネル、  １４  タッチパネルコントローラ、  １６  エミュレーション装置、  １８  処理部、  ２０  コンピュータ、  ３２  処理部、  ３４  ディスプレイ、  ５０  入力部、  ５２  特定部、  ５４  決定部、  ５６  生成部、  ５８  出力部、  ６０  座標調整部、  ６２  座標記憶部、  ６４  相対座標計算部、  １００  エミュレーションシステム。
【図１】
2015148888.tif 000003
【図２】
2015148888.tif 000004
【図３】
2015148888.tif 000005
【図４】
2015148888.tif 000006
【図５】
2015148888.tif 000007
【図６】
2015148888.tif 000008
【図７】
2015148888.tif 000009
【図８】
2015148888.tif 000010
【図９】
2015148888.tif 000011
【図１０】
2015148888.tif 000012
【図１１】
2015148888.tif 000013
【図１２】
2015148888.tif 000014
【図１３】
2015148888.tif 000015
【図１４】
2015148888.tif 000016