(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、タッチパネルへの入力によって、コンピュータのマウス操作をエミュレートするエミュレーションシステムに関する。ここで、タッチパネルを備えた処理装置が、コンピュータと別に構成される。処理装置は、例えば、ナビゲーション装置、ディスプレイオーディオ装置である。処理装置は、タッチパネルへの入力をマウスの操作に変換し、変換結果をコンピュータへ送信する。コンピュータは、変換結果を受信し、変換結果に応じたマウスの処理を実行する。
【0011】
マウスのボタンが押し下げられていない状態と、マウスのボタンが押し下げられている状態とを区別するために、本実施例に係る処理装置は、次の処理を実行する。なお、タッチパネルへの入力は、指によってなされるものとする。処理装置は、タッチパネルへのタッチ数が1である場合、マウスのボタンを押さない状態で座標入力とし、タッチ数が2である場合、マウスボタンを押した状態での座標入力とする。
【0012】
図1は、本発明の実施例に係るエミュレーションシステム100の構成を示す。エミュレーションシステム100は、処理装置10、コンピュータ20を含む。処理装置10は、タッチパネル12、タッチパネルコントローラ14、エミュレーション装置16、処理部18を含み、コンピュータ20は、処理部32、ディスプレイ34を含む。
【0013】
タッチパネル12は、液晶パネルのような表示装置とタッチパッドのような位置入力装置を組み合わせた電子部品である。ユーザが指で画面上の表示を押すことによって、情報あるいは指示を入力する入力装置である。タッチパネル12には、例えば、静電容量方式が使用されるが、これに限定されるものではない。
【0014】
タッチパネルコントローラ14は、タッチパネル12に接続され、指にて触れられた画面位置の情報を感知して、エミュレーション装置16へ情報信号として出力する。情報信号には、例えば、タッチ位置に対応するタッチパネル12上の座標データと、タッチの回数、タッチパネルに指先を接触させてから離間させるまでの時間等に応じた操作状況データとが含まれる。なお、タッチパネル12、タッチパネルコントローラ14には公知の技術が使用されればよい。
【0015】
エミュレーション装置16は、タッチパネルコントローラ14からの情報信号(以下、「検出結果」という)を受けつける。エミュレーション装置16は、検出結果をもとに、ディスプレイ34に対する座標情報を生成するとともに、マウスボタンが押し下げられている状態であるか否かを示した情報(以下、「状態情報」という)を生成する。つまり、エミュレーション装置16は、タッチ入力からマウス入力へのエミュレーションを実行する。エミュレーション装置16は、座標情報および状態情報をコンピュータ20へ送信する。送信には、例えば、無線LAN(Local Area Network)、無線PAN(Personal Area Network)のような無線通信あるいは有線通信が使用されるが、これらは公知の技術であるので、ここでは説明を省略する。
【0016】
処理部18は、処理装置10の本来の機能を実行する。処理装置10がナビゲーション装置である場合、処理部18はナビゲーション機能を実行し、処理装置10がディスプレイオーディオ装置である場合、処理部18はディスプレイオーディオ機能を実行する。処理装置10がこれら以外の装置である場合、処理部18は、その装置に応じた機能を実行すればよい。
【0017】
処理部32は、コンピュータ20にインストールされたアプリケーションプログラムを実行する。ここでは、アプリケーションプログラムについての説明を省略する。また、処理部32は、処理装置10と通信する機能を有し、エミュレーション装置16からの座標情報および状態情報を受信する。処理部32は、マウスのドライバ機能を有しており、受信した座標情報および状態情報をマウスからの入力と理解し、マウスからの入力に応じた処理を実行する。つまり、処理部32は、マウスによって示される位置座標を特定するとともに、位置座標の移動を把握する。また、処理部32は、マウスのボタンが押し下げられているか否かを把握する。処理部32は、このようなマウスの処理の結果をディスプレイ34に表示してもよい。
【0018】
図2は、エミュレーション装置16の構成を示す。エミュレーション装置16は、入力部50、特定部52、決定部54、生成部56、出力部58を含む。生成部56は、座標調整部60、座標記憶部62、相対座標計算部64を含む。
【0019】
入力部50は、
図1のタッチパネルコントローラ14から、タッチパネル12での検出結果を受けつける。前述のごとく、検出結果には、タッチパネル12にタッチされた位置の情報である座標データが含まれている。
図3は、タッチパネル12における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点(0,0)が最小座標として規定される。また、原点から左方向にx軸が規定され、原点から下方向にy軸が規定される。そのため、右下端が最大座標(Xp,Yp)となる。座標データは、
図3の座標上に配置されており、絶対座標として示される。
図2に戻る。入力部50は、検出結果を特定部52へ出力する。
【0020】
特定部52は、入力部50からの検出結果を受けつける。特定部52は、検出結果をもとに、ユーザによってタッチパネル12にタッチされた点数を特定する。例えば、特定部52は、タッチパネル12にタッチされた点数として、1点あるいは2点を特定する。具体的に説明すると、同一タイミングでのふたつの座標データを受けつけた場合、特定部52は、2点のタッチを特定する。一方、同一タイミングでのひとつの座標データを受けつけた場合、特定部52は、1点のタッチを特定する。なお、同一タイミングでの3つ以上の座標データを受けつけた場合、特定部52は、2点のタッチを特定してもよい。ここで、同一タイミングは、完全に一致している必要はなく、タッチパネルコントローラ14での検出誤差をもとにした範囲でずれていてもよい。さらに、特定部52は、タッチの点数を特定する際に、操作状況データを使用してもよい。特定部52は、特定した点数の情報、検出結果を決定部54へ出力する。
【0021】
決定部54は、特定部52から、特定部52において特定した点数の情報、検出結果を受けつける。決定部54は、特定した点数をもとに、エミュレートすべきコンピュータ20におけるマウスボタンが押し下げられていない状態(以下、「第1状態」という)であるか、マウスボタンが押し下げられた状態(以下、「第2状態」という)であるかを決定する。具体的に説明すると、決定部54は、点数が「1」である場合、第1状態であることを決定し、点数が「2」である場合、第2状態であることを決定する。つまり、決定部54は、点数の違いをもとに、第1状態であるか第2状態であるかを決定する。決定部54において決定した状態が、前述の状態情報に相当する。決定部54は、状態情報を出力部58へ出力し、状態情報と検出結果とを座標調整部60へ出力する。
【0022】
座標調整部60は、決定部54からの状態情報と検出結果とを受けつける。座標調整部60は、検出結果に含まれた座標データ、つまり
図3に示された座標データをもとに、エミュレートすべきコンピュータ20に対する座標情報を生成する。これは、タッチパネル12での座標をディスプレイ34での座標に変換することに相当する。
図4は、ディスプレイ34における座標を示す。なお、これは座標の一例であり、これに限定されない。図示のごとく、左上端に原点(0,0)が最小座標として規定される。また、原点から左方向にx軸が規定され、原点から下方向にy軸が規定される。そのため、右下端が最大座標(Xm,Ym)となる。一般的に、最大座標(Xm,Ym)は、
図3の最大座標(Xp,Yp)とは異なる。
図2に戻る。
【0023】
このように、タッチパネル12上の座標系とディスプレイ34上の座標系は相違する。しかしながら、両座標系の位置関係は固定されているので、前者の座標系から後者の座標系へ変換するための変換テーブルを予め作成しておくことが可能である。座標調整部60は、変換テーブルを予め記憶し、変換テーブルを使用して、タッチパネル12上の座標データをディスプレイ34上の座標データ(以下、タッチパネル12上の座標データと区別するためにこれを「絶対座標データ」という)に変換する。
【0024】
なお、状態情報が第2状態を示していた場合、座標調整部60は、ふたつの座標データからひとつの座標データを生成し、生成したひとつの座標データに対して、前述の変換処理を実行する。ふたつの座標データからひとつの座標データの生成には、例えば、平均処理が実行される。このような処理の結果、第2状態であっても、絶対座標データが生成される。座標調整部60は、絶対座標データを座標記憶部62、決定部54へ出力する。
【0025】
座標記憶部62は、座標記憶部62からの絶対座標データを受けつけ、絶対座標データを記憶する。座標記憶部62は、新たな絶対座標データを受けつけると、新たな絶対座標データによって記憶内容を更新する。
【0026】
相対座標計算部64は、絶対座標データに対して、絶対座標から相対座標への変換を実行する。一般的に、マウスに対するコンピュータ20のインターフェイスは、相対座標にて規定されている。相対座標は、絶対座標にて示された位置の時間変化、つまり位置の移動量を示す。これに対応するために、相対座標計算部64は、座標調整部60からの絶対座標データを受けつけるとともに、座標記憶部62からの絶対座標データも受けつける。座標記憶部62からの絶対座標データは、座標調整部60からの絶対座標データよりも過去のデータに相当する。そのため、ここでは、座標記憶部62からの絶対座標データを「過去座標データ」という。相対座標計算部64は、過去座標データにて示される位置から、絶対座標データにて示される位置への移動量を計算する。例えば、相対座標計算部64は、絶対座標データから過去座標データを減算する処理をベクトル演算にて実行する。減算の結果が、相対座標データである。相対座標データは、前述の座標情報に相当する。相対座標計算部64は、座標情報を出力部58へ出力する。
【0027】
出力部58は、相対座標計算部64からの座標情報を受けつけるとともに、決定部54からの状態情報を受けつける。出力部58は、座標情報と状態情報とひとつのパケット信号に格納する。出力部58は、パケット信号を送信する。その際、無線通信あるいは有線通信が使用されるが、公知の技術が使用されればよいので、ここでは説明する。このように、出力部58は、状態情報を出力するとともに、座標情報も出力する。なお、座標情報と状態情報とは、別々に送信されてもよい。
【0028】
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ハードウエアとソフトウエアの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0029】
以上の構成によるエミュレーションシステム100の動作を説明する。
図5は、エミュレーション装置16によるエミュレーション手順を示すフローチャートである。エミュレーション装置16は、初期化を実行する(S10)。特定部52は、タッチ検出処理を実行する(S12)。タッチがあり(S14のY)、2点検出でなければ(S16のN)、決定部54は、第1状態であると決定して、b=0を設定する(S18)。
【0030】
座標調整部60は、座標データ(X1,Y1)から絶対座標データ(xn,yn)を導出する(S20)。
図6は、エミュレーション手順における一連の処理で使用される変数を示す。
図5に戻る。一方、2点検出であれば(S16のY)、決定部54は、第2状態であると決定して、b=1を設定する(S22)。座標調整部60は、座標計算を実行する(S24)。相対座標計算部64、出力部58は、移動情報送信を実行する(S26)。xoにxnが入力され、yoにynが入力される(S28)。これに続いて、あるいはタッチがない場合(S14のN)、終了でなければ(S30のN)、次検出時間待ちが実行されて(S32)、ステップ12に戻る。終了であれば(S30のY)、処理は終了される。
【0031】
図7は、初期化ステップの手順を示すフローチャートである。これは、
図5のステップ10に相当する。xn,yn,xo,yoに「0」が入力される(S40)。これらは、変数がリセットされることに相当する。
【0032】
図8は、タッチ検出処理ステップの手順を示すフローチャートである。これは、
図5のステップ12に相当する。特定部52は、変数Cにタッチ数を代入する(S50)。
図9は、タッチ検出処理で入力される変数を示す図である。
図8に戻る。タッチ数Cが2であれば(S52のC=2)、特定部52は、X2にタッチ2のX座標を代入し、Y2にタッチ2のY座標を代入する(S54)。これに続いて、あるいはタッチ数Cが1であれば(S52のC=1)、特定部52は、X1にタッチ1のX座標を代入し、Y1にタッチ1のY座標を代入する(S56)。タッチ数Cが0であれば(S52のC=0)、ステップ52から56はスキップされる。
【0033】
図10は、座標計算ステップの手順を示すフローチャートである。これは、
図5のステップ24に相当する。座標調整部60は、(X1+X2)/2と(Y1+Y2)/2から絶対座標データ(xn,yn)を導出する(S60)。
【0034】
図11は、移動情報送信ステップの手順を示すフローチャートである。これは、
図5のステップ26に相当する。相対座標計算部64は、相対X座標、相対Y座標を導出し、出力部58は、状態情報であるボタン状態と、相対X座標、相対Y座標とをパケット信号へフォーマット変化する(S70)。パケット信号は移動情報ともよばれる。
図12は、移動情報送信で出力する変数を示す図である。
図11に戻る。出力部58は、移動情報を通信路に出力する(S72)。
【0035】
図13は、次検出時間待ちステップの手順を示すフローチャートである。これは、
図5のステップ32に相当する。検出タイマ満了またはタッチ割り込み待ちが検出される(S80)。
【0036】
図14は、コンピュータ20におけるマウス処理の手順を示すフローチャートである。これは、
図1の処理部32における処理に相当する。処理部32は、移動情報の受信を待つ(S90)。処理部32は、移動情報を取得する(S92)。処理部32は、移動情報を処理する(S94)。終了でなければ(S96のN)、ステップ90へ戻る。一方、終了であれば(S96のY)、処理は終了される。
【0037】
本発明の実施例によれば、タッチパネルにタッチされた点数をもとに、マウスのボタンが押し下げられた否かを決定するので、タッチパネルへの操作によって、マウスを押し下げていない状態の座標入力をエミュレートできる。また、マウスを押し下げていない状態の座標入力がエミュレートされるので、マウスを押し下げていない状態の操作がコンピュータにおいて必要になる場合であっても、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。また、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータが操作されるので、ユーザの利便性を向上できる。また、タッチパネルへのタッチが1点であるか2点であるかに応じて、マウスのボタンが押し下げられた否かを決定するので、処理を簡易にできる。また、ボタンが押し下げられているか否かの情報と、座標情報とをコンピュータへ出力するので、コンピュータとは別に構成された処理装置のタッチパネルによってコンピュータを操作できる。
【0038】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0039】
本発明の実施例において、決定部54は、タッチされた点数が「1」であれば第1状態を決定し、点数が「2」であれば第2状態を決定している。しかしながらこれに限らず例えば、決定部54は、これら以外の点数によって第1状態であるか第2状態であるかを決定してもよい。具体的に説明すると、決定部54は、点数が「1」であれば第2状態を決定し、点数が「2」であれば第1状態を決定する。つまり、点数と状態の関係が実施例とは逆でもよい。また、ふたつの状態を区別するための点数の組合せが「1」と「2」ではなく、「2」と「3」のように、別の値でもよい。本変形例によれば、構成の自由度を向上できる。
【0040】
本発明の実施例において、コンピュータ20におけるマウスとのインターフェイスの仕様にあわせて、座標情報が相対座標であるとしている。しかしながらこれに限らず例えば、コンピュータ20におけるマウスとのインターフェイスの仕様が絶対座標である場合、生成部56は、絶対座標である座標情報を生成してもよい。その際、生成部56において、座標記憶部62、相対座標計算部64が省略され、絶対座標データが座標情報とされる。本変形例によれば、コンピュータ20におけるマウスとのインターフェイスの仕様が多様であっても、エミュレーションを実行できる。