〔実施形態1〕
本発明の一実施形態について図1〜図9に基づいて説明すると以下の通りである。
〔送受信システム例の概要〕
まず、図2に基づいて、本発明の概要について説明する。図2は、本発明の送受信システム1の概要の一例を示す説明図である。送受信システム1は、図2に示すように、リモコン(座標入力装置)2、表示装置3およびPC本体4を備えている。送受信システム1では、リモコン2とPC本体4とがRF(radio frequency)信号によって送受信を行っている。また、送受信システム1では、PC本体4と表示装置3とが接続されている。
PC本体4は、リモコン2から送信されたデータに基づいた処理内容を表示装置3に出力する。なお、PC本体4には、RF送受信部4aが設けられている。リモコン2にも後述のRF送受信部(送信手段)8が設けられているため、例えばリモコン2からのデータを受信することができる。
また、表示装置3は、表示部3aを備えており、PC本体4から送信されたデータに基づく内容を表示部3aに表示する。表示部3aには、例えばアイコン、カーソル等が表示される。
なお、表示装置3がPC本体4から送信されたデータの内容を表示させるだけでなく、TV機能を有してもよい。この場合、表示装置3は、PCを動作させながらTV放送を視聴できるようになっており、リモコン2が表示装置3を直接制御できるような構成としてもよい。
リモコン2は、図2に示すように、その上面(リモコン2のユーザが操作を行う側の面)にタッチパッド(座標入力手段)5、および機能キー6を備えている。また、リモコン2は、通常のリモコン2の操作時に表示装置3に向ける側の面に、RF送受信部8を備えている。
タッチパッド5は、その表面(リモコン2外部に露出している面)に指が接触したとき、タッチパッド5上のどの位置に接触があったのかを検知する。タッチパッド5としては、例えば、静電容量方式、または抵抗膜方式のタッチパッドが挙げられる。ここで、静電容量方式のタッチパッドとは、タッチパッド5の表面に指が触れることにより内部の電荷量が変化することを検出し、これによってタッチパッド5上の指の動きを検出する。また、抵抗膜方式のタッチパッドとは、タッチパッド5の表面と、この表面とわずかな間隔で取り付けたフィルムとに導電性の薄膜を貼り、これら薄膜が接して電気が通ったか否かを検出する。
このように、リモコン2では、タッチパッド5に指が触れることによって座標入力を行うことができるため、例えば表示装置3の表示部3aに表示されたカーソルを移動させる等の処理をPC本体4に実行させることができる。
また、図3に示すように、タッチパッド5の下方(リモコン2の内部側)には、プッシュSW(スイッチ)7が設けられている。タッチパッド5は、プッシュSW(押下入力手段)7の方向に可動であり、タッチパッド5の押下に連動してプッシュSW7が押下されるようになっている。すなわち、タッチパッド5が押下された場合、プッシュSW7は押下された状態となり、タッチパッド5が押下されていない場合、プッシュSW7は押下されていない状態となる。そして、このプッシュSW7の押下状態は、押下情報Aとして後述の入力キー検出部22により検出される。
なお、図3は、リモコン2の断面の概略構成を示す図であり、同図(a)は、タッチパッド5に触れているときのプッシュSW7の状態を示しており、同図(b)は、タッチパッド5を押下したときのプッシュSW7の状態を示している。
このように、リモコン2では、ユーザがタッチパッド5に指を置いて移動させることによって座標入力を行うことができると共に、タッチパッド5を押下することによってクリック操作を行うことができる。
また、図2に示す機能キー6は、リモコン2を操作するユーザが押下することによって、特定の動作コマンドをPC本体4に送信するためのものである。この動作コマンドとしては、PC本体4の電源オン/オフの切替、クリック操作、ドラッグ操作等を行うための動作コマンドが挙げられる。また、表示装置3がTV機能を有する場合には、TV放送等の各チャンネルの切替、表示装置3の電源のオン/オフの切替、PC画面とTV画面の切替、またはタイマー、画質等の設定等を行うための動作コマンドが挙げられる。
さらに、RF送受信部8は、後述の送信信号生成部(送信手段)25から送信される送信信号を受信すると、この信号をRF信号パターンに変換して、PC本体4に送信する。なお、RF送受信部8は、PC本体4からRF信号パターンを受信した場合には、このRF信号パターンをリモコン2で処理できる信号に変換する。
また、図4に示すように、PC本体4には、RF送受信部4a、制御部41および記憶部42とが備えられている。図4は、PC本体4の概略構成を示すブロック図である。
制御部41は、リモコン2から送信されるデータの内容を処理し、処理結果を表示装置3に送信する。例えば、制御部41は、リモコン2から送信される、後述の出力値と押下情報Aとを含む信号を受信することによって、カーソルの動作を決定する。そして、制御部41は、この決定に基づいて、表示装置3の表示部3aにカーソルを表示させる。
記憶部42は、制御部41で使用されるデータやプログラム等を格納している。例えば、ユーザがタッチパッド5を2回連続で押下するダブルクリック操作を行う場合、制御部41がこの操作を判定できるように、記憶部42には、クリック中およびダブルクリック中のカーソルの移動量許容値と、ダブルクリック時のクリック時間間隔許容値とが記憶されている。そして、制御部41は、これらの値を参照することによって、ユーザがタッチパッド5を2度押下した場合に、その操作がダブルクリックであるか否かを判定することができる。なお、PC本体4によってダブルクリックとして認識される時間の許容範囲は、例えば1回目の押下開始時から2回目の押下開始時までの時間で定義されている。
〔リモコンの構成〕
次に、リモコン2のより詳細な構成について図1に基づいて説明する。図1はリモコン2の概略構成を示すブロック図である。図示のように、リモコン2は、タッチパッド5、機能キー6、プッシュSW7、RF送受信部8、入力座標検出部21、入力キー検出部22、入力キー状態判定部23、出力値決定部(出力値決定手段)24、送信信号生成部25、入力座標記憶部26およびタッチパッド状態記憶部27を備えている。なお、前述したタッチパッド5、機能キー6、プッシュSW7およびRF送受信部8は、その説明を省略する。
入力座標検出部21は、タッチパッド5での検知結果(タッチパッド5上のどの位置に接触があったのかを検知した結果)を検出し、この検知結果から入力座標(x座標およびy座標)を算出する。このとき算出されるx座標をXin、Y座標をYinとする。
また、入力座標検出部21は、入力座標(Xin,Yin)を入力座標記憶部26に送信し、入力座標(Xin,Yin)を入力座標(Xpre,Ypre)に代入して、入力座標記憶部26に記憶させる。なお、入力座標検出部21は、入力座標(Xin,Yin)が相対座標である場合には、この代入動作を行わない。
ここで、入力座標記憶部26には、移動量(0,0)が記憶されている。なお、この移動量(0,0)は、PC本体4がクリックまたはダブルクリックを認識できる範囲で設定されていればよい。すなわち、入力座標記憶部26に記憶されている移動量は、(0,0)でなくてもよく、PC本体4において(0,0)とみなされる範囲であればよい。
入力キー検出部22は、機能キー6およびプッシュSW7が押下されているか否か、すなわち機能キー6およびプッシュSW7の押下状態を示す情報(押下情報A)を検出する。そして、入力キー検出部22は、この押下情報Aを、入力キー状態判定部23に送信する。
入力キー状態判定部23は、入力キー検出部22から送信される押下情報Aによって、プッシュSW7および各機能キー6の押下状態、すなわちプッシュSW7および各機能キー6の何れが押下されているか否かを判定する。また、入力キー状態判定部23は、押下情報Aに対する判定で、プッシュSW7が押下されているか、すなわちタッチパッド5が押下されているか否かを判定し、タッチパッド5の押下状態を判定信号として出力値決定部24に送信する。
また、入力キー状態判定部23は、タッチパッド状態記憶部27に記憶されている、タッチパッド5(すなわちプッシュSW7)の前回の押下状態TCpreがオンかオフかを判定し、この判定結果も判定信号として出力値決定部24に送信する。なお、入力キー状態判定部23は、入力キー検出部22から送信された押下情報Aのうち、タッチパッド5の押下状態を用いて、タッチパッド状態記憶部27に記憶された押下状態TCpreをオンまたはオフに書き換える。
さらに、入力キー状態判定部23は、入力キー検出部22から送信される押下情報Aを送信信号生成部25に送信する。
出力値決定部24は、入力座標(Xin,Yin)および入力座標(Xpre,Ypre)を検出すると、この2つの入力座標を減算することによって、移動量(Xin−Xpre,Yin−Ypre)を算出する。なお、出力値決定部24は、入力座標(Xin,Yin)が相対座標である場合には、入力座標(Xin,Yin)を検出するだけである。これは、相対座標が移動量を示しているからである。
そして、出力値決定部24は、入力キー状態判定部23からの判定信号を受信すると、この判定信号に基づいて、移動量(Xin−Xpre,Yin−Ypre)および移動量(0,0)の何れを出力値とするかを決定する。そして、出力値決定部24は、この出力値を送信信号生成部25に送信する。なお、入力座標(Xin,Yin)が相対座標である場合、出力値決定部24は、相対座標(Xin,Yin)および相対座標(0,0)の何れの移動量を出力値とするかを決定する。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した入力座標データとを、送信信号としてRF送受信部8に送信する。そして、RF送受信部8が送信信号をRF信号に変換してPC本体4に送信することにより、PC本体4は、カーソルの動作を制御することができる。
〔リモコンにおけるポインティング操作処理〕
次に、リモコン2における処理の流れについて説明する。図5は、リモコン2におけるポインティング操作処理の流れを示すフローチャートである。
まず、タッチパッド5に何らかの変化があった場合、タッチパッド5は、タッチパッド5上のどの位置に接触があったのかを検知する。すなわち、ポインティング処理が開始される。このとき、送信信号生成部25は、入力座標検出部21に現在の入力座標を問い合わせる(S1)。入力座標検出部21は、タッチパッド5での検知結果(タッチパッド5上のどの位置に接触があったのかを検知した結果)を検出し、この検知結果から入力座標を算出する。このとき算出されるx座標をXin、Y座標をYinとする。
そして、入力座標検出部21は、この入力座標(Xin,Yin)を入力座標記憶部26に送信し、入力座標検出部21から送信された入力座標(Xin,Yin)を前回検出した入力座標(Xpre,Ypre)に代入して、入力座標記憶部26に記憶させる(S2)。その後、入力座標検出部21は、さらに、タッチパッド5における現在の入力座標(Xin,Yin)を検出する(S3)。
このとき、出力値決定部24は、入力座標検出部21から入力座標(Xin,Yin)を検出すると共に、入力座標記憶部26から入力座標(Xpre,Ypre)を検出すると、この2つの入力座標を減算することによって、移動量(Xin−Xpre,Yin−Ypre)を算出する。
次に、入力キー状態判定部23は、入力キー検出部22に押下情報Aを問い合わせる(S4)。この押下情報Aとは、機能キー6およびプッシュSW7が押下されているか否かを示す情報である。入力キー検出部22は、押下情報Aの問い合わせを受けると、機能キー6およびプッシュSW7が押下されているか否かを示す情報(押下情報A)を検出する。そして、入力キー検出部22は、この押下情報Aを、入力キー状態判定部23に送信する。
入力キー状態判定部23は、押下情報Aが入力無しを意味しているか否か、すなわち、押下情報Aが機能キー6またはプッシュSW7の押下を示していないか否か判定する(S5)。
押下情報Aが入力無しを意味している(機能キー6またはプッシュSW7の押下を示していない)場合(S5でYES)、タッチパッド5が現在の押下状態は、押下されていない状態(オフ)を示している。また、このとき、入力キー状態判定部23は、タッチパッド5の前回の押下状態(TCpre)が押下されているか否かを判定する(S6)。
ここで、タッチパッド状態記憶部27には、タッチパッド5の前回の押下状態(TCpre)が押下されている状態を示す場合には、押下状態「TCpre=オン」が記憶されており、押下されていない場合には、押下状態「TCpre=オフ」が記憶されている。入力キー状態判定部23は、押下されている場合にはTCオン信号を、押下されていない場合にはTCオフ信号を、タッチパッド状態記憶部27から読み出す。これにより、入力キー状態判定部23は押下状態TCpreがオンかオフかを判定する。
TCpre=オフの場合(S6でNO)、入力キー状態判定部23は、タッチパッドの現在の押下状態および押下状態TCpreが共に、押下されていない状態を示しているため、判定信号としてTCオフ信号を出力値決定部24に送信する。このとき、入力キー状態判定部23は、機能キー6およびプッシュSW7の押下情報A(現在の押下状態)を送信信号生成部25に送信する。
出力値決定部24は、この判定信号(TCオフ信号)を受信すると、出力値決定部24において算出された移動量(Xin−Xpre,Yin−Ypre)を出力値として決定する。そして、出力値決定部24は、この出力値を送信信号生成部25に送信する。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。
ここで、タッチパッド5の押下状態(プッシュSW7の押下状態)に着目すると、タッチパッド5の押下状態は、左クリックキーの押下状態を示す信号である左クリック信号を用いて送信される。また、出力値決定部24が入力キー状態判定部23から受信した判定信号はTCオフ信号である。従って、送信信号生成部25は、左クリック信号(オフ信号)と、移動量(Xin−Xpre,Yin−Ypre)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S7)。
その後、入力座標検出部21は、入力座標検出部21および入力座標記憶部26に記憶されている入力座標(Xin,Yin)と入力座標(Xpre,Ypre)とに基づいて、Xin=Xpre且つYin=Ypreであるか否かを判定する(S8)。S8でYESの場合には、ポインティング処理を終了し、NOの場合には、S2の処理に戻る。
また、押下情報Aが入力無しを意味していない(機能キー6またはプッシュSW7の押下を示している)場合(S5でNO)、入力キー状態判定部23は、押下情報Aがタッチパッド5の押下を示しているか否かを判定する(S9)。
押下情報Aがタッチパッド5の押下を示している場合(S9でYES)、入力キー状態判定部23は、タッチパッド5の現在の押下状態がオンであると判定すると、判定信号としてTCオン信号を出力値決定部24に送信する。
出力値決定部24は、この判定信号(TCオン信号)を受信すると、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。また、このとき、入力キー状態判定部23は、タッチパッド状態記憶部27に記憶された押下状態TCpreをオンに書き換える。そして、送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。
ここで、タッチパッド5の押下状態(プッシュSW7の押下状態)に着目すると、出力値決定部24が入力キー状態判定部23から受信した判定信号はTCオン信号であるため、送信信号生成部25は、左クリック信号(オン信号)と、移動量(0,0)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S10)。その後、S2の処理に戻る。
また、TCpre=オンの場合(S6でYES)、タッチパッド5の現在の押下状態はオフであるが、タッチパッド5の前回の押下状態TCpreはオンであることを示しているため、入力キー状態判定部23は、判定信号としてTCオン信号を出力値決定部24に送信する。このとき、入力キー状態判定部23は、機能キー6およびプッシュSW7の押下情報A(現在の押下状態)を送信信号生成部25に送信する。
出力値決定部24は、この判定信号(TCオン信号)を受信すると、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。また、このとき、入力キー状態判定部23は、タッチパッド状態記憶部27に記憶された押下状態TCpreをオフに書き換える。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。
ここで、タッチパッド5の押下状態(プッシュSW7の押下状態)に着目すると、出力値決定部24が入力キー状態判定部23から受信した判定信号はTCオフ信号であるため、送信信号生成部25は、左クリック信号(オフ信号)と、移動量(0,0)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S11)。その後、S8の処理に戻る。
なお、S11の処理では、出力値決定部24は、左クリック信号(オフ信号)および移動量(0,0)を出力値として決定している。これにより、左クリック信号としてオフ信号がPC本体4に出力されるため、タッチパッド5の押下完了にあわせて、PC本体4においてもタッチパッド5の押下が完了したことを認識することができる。また、タッチパッド5の押下が完了した直後でも、移動量(0,0)が出力値としてPC本体4に出力されるため、ユーザがダブルクリック操作を行うときの位置ずれを抑制することができる。
また、押下情報Aがタッチパッド5の押下を示していない場合(S9でNO)、入力キー状態判定部23は、タッチパッド5の前回の押下状態TCpreをオフであると判定する(S13)。
次に、押下情報Aが左クリックキーの押下を示している場合(S13でYES)、入力キー状態判定部23は、左クリックキーの押下状態がオンであると判定し、判定信号としてLCオン信号を出力値決定部24に送信する。
出力値決定部24は、この判定信号(LCオン信号)を受信すると、出力値決定部24において算出された移動量(Xin−Xpre,Yin−Ypre)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S14)。その後、S2処理に戻る。
なお、押下情報Aが左クリックキーの押下を示していない場合(S13でNO)、例えば右クリックキー等が押下された場合などの処理に入る(S15)。この処理は、任意に決定されるものである。そして、S15の処理が終了すると、S2の処理に戻る。
以上のように、入力キー状態判定部23が、タッチパッド5の現在の押下状態がオンである(タッチパッド5が押下されている)と判定した場合には、出力値決定部24は、入力座標記憶部26に記憶されている移動量(0,0)を出力値として送信信号生成部25に送信する。また、タッチパッド5の現在の押下状態がオフであっても、タッチパッド状態記憶部27に記憶されている押下状態TCpreがオンである場合にも、出力値決定部24は、入力座標記憶部26に記憶されている移動量(0,0)を出力値として送信信号生成部25に送信する。
従って、タッチパッド5が押下されている間には、タッチパッド5上を指が移動した場合であっても、PC本体4には出力値として移動量(0,0)が送信されることになるため、表示部3aに表示されるカーソルが移動することがない。これにより、PC本体4に、クリック操作(ダブルクリック操作を含む)を充分に認識させることができる。つまり、ユーザがタッチパッドの押下中に、指の動きを意識することなくクリック操作を行うことができる。
〔クリック操作の流れ〕
次に、リモコン2における処理の流れでのタッチパッドの押下状態について説明する。図6は、タッチパッド押下によるクリック操作の流れを示すフローチャートである。
まず、タッチパッド5に何らかの変化があった場合には、タッチパッド5は、タッチパッド5上に指が触れたことを検知する(S21)。すなわち、ポインティング処理が開始される(S22)。
入力座標検出部21は、タッチパッド5が押下されていない状態で、座標入力があるか否かを検出する(S23)。入力座標検出部21が座標入力を検出した場合(S23でYES)、リモコン2では、図5に示すS7の処理が行われる。すなわち、リモコン2は、移動量(Xin−Xpre,Yin−Ypre)を示す出力値をPC本体4に送信する。なお、入力座標検出部21が座標入力を検出しなかった場合(S23でNO)には、S24の処理に移行する。
次に、タッチパッド5が押下された場合(S24)、リモコン2では、図5に示すS10の処理が行われる。すなわち、リモコン2は、移動量(0,0)を示す出力値をPC本体4に送信する。そして、タッチパッドが押下されている間は、この処理が繰り返される(S25)。
タッチパッド5の押下が完了した場合(S26)、リモコン2では、図5に示すS11に示す処理が行われる。すなわち、タッチパッド5の押下が完了したときにも、リモコン2は、移動量(0,0)を示す出力値をPC本体4に送信する。
すなわち、タッチパッド5が押下されてから押下が完了するまで、移動量(0,0)を示す出力値がPC本体4に送信され続ける。このため、タッチパッド5が押下されている間、PC本体4は、カーソルを移動させることがないので、ユーザによるクリック操作を確実に認識することができる。つまり、ユーザは、タッチパッド押下中に、指の動きを意識することなくクリック操作を行うことができる。
次に、ダブルクリック操作が行われる場合について説明する。図7は、タッチパッドが2回押下された場合のクリック操作(すなわち、ダブルクリック操作)の流れを示すフローチャートである。
図7に示すS31〜S36の処理は、図7に示すS21〜S26の処理と同じであるので、その説明を省略する。
S36において、タッチパッド5の押下が完了すると、入力座標(Xin,Yin)と(Xpre,Ypre)とが異なる座標を示している場合、S33と同様、入力座標検出部21は、座標入力があるか否かを検出する(S37)。入力座標検出部21が座標入力を検出した場合(S37でYES)、リモコン2では、図5に示すS7の処理が行われる。すなわち、リモコン2は、移動量(Xin−Xpre,Yin−Ypre)を示す出力値をPC本体4に送信する。なお、入力座標検出部21が座標入力を検出しなかった場合(S37でNO)には、S38の処理に移行する。
一方で、入力座標(Xin,Yin)と(Xpre,Ypre)とが同じ座標を示している場合、入力座標検出部21は、座標入力がないものと判断し、ポインティング操作の処理を終了させる(S38)。
再びタッチパッド5に何らかの変化があった場合には、タッチパッド5は、タッチパッド5上に指が触れたことを検知する(S39)。すなわち、ポインティング処理が開始される(S40)。その後、S41ではS33と同様の処理が行われ、タッチパッド5が再び押下されると、S34と同様、図5に示すS10の処理が行われる(S42)。
ここで、PC本体4の制御部41は、例えば、1回目の押下から2回目の押下までの時間(例えば、S34でのタッチパッド5の押下からS42で再びタッチパッド5が押下されるまでの時間)と、その間のカーソルの移動量とを、記憶部42に記憶されている、前述の移動量許容値およびクリック時間間隔許容値とを比較する。そして、上記時間と移動量とが共に上記許容値以下である場合には、ダブルクリック操作であると認識する。その後、S43およびS44での処理は、S35およびS36の処理と同様である。そして、リモコン2では、ポインティング操作の処理が終了となる(S45)。
従って、S34〜S36での処理では、ダブルクリック操作の1回目のクリックが行われ、S42〜S44での処理では、ダブルクリック操作の2回目のクリックが行われている。そして、1回目および2回目の各クリック操作において、タッチパッド5が押下されてから押下が完了するまで、移動量(0,0)を示す出力値がPC本体4に送信され続ける。このため、タッチパッド5が押下されている間は、PC本体4は、カーソルを移動させることがないので、ユーザによるクリック操作を確実に認識することができる。つまり、ユーザは、ダブルクリック操作についても容易に行うことが可能となる。
〔タッチパッドの押下状態とカーソルの動作との関係〕
ここで、図8を用いて、クリック操作が行われるときのタッチパッドの状態と表示装置3の表示部3aに表示されるカーソルの動作との関係について説明する。
まず、ユーザの指がタッチパッド5に触れタッチパッド5を押下すると、プッシュSW7が連動して押下される。これにより、クリック操作が開始される。タッチパッド5を用いてクリック操作を行う場合、タッチパッド5が押下されている間に、指のぶれが大きくなってしまう可能性がある。すなわち、タッチパッド5において検出される移動量のデータは、x、y方向共に大きくなってしまう。
しかしながら、本実施形態に係るリモコン2では、出力値決定部24が、移動量(Xin−Xpre,Yin−Ypre)および移動量(0,0)の何れを出力値とするかを決定している。出力値決定部24は、タッチパッド5が押下されている間、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定し、送信信号生成部25に送信する。
従って、PC本体4は、カーソルを移動させないデータ(移動量(0,0)を示す出力値)を受信することにより、ユーザのクリック操作を充分に認識することが可能となる。
一方、クリック操作が一旦完了し、再びクリック操作(ダブルクリック操作)が開始されるまでの間(クリック完了からダブルクリック開始までの間)、指の移動量は、x、y方向共に、PC本体4がダブルクリック操作であると認識される程度に小さい。なお、クリック操作(1回目のクリック操作)とダブルクリック操作(2回目のクリック操作)との時間間隔についても、PC本体4が2回目のクリック操作をダブルクリック操作開始であると判断される程度に小さい。
このとき、タッチパッド5は押下されていない状態にあるので、出力値決定部24は、出力値決定部24において算出された移動量(Xin−Xpre,Yin−Ypre)を出力値として決定し、送信信号生成部25に送信する。従って、クリック完了からダブルクリック開始までの間、PC本体4は、タッチパッド5での指の移動量に応じた移動量で、カーソルを移動させることとなる。
なお、ダブルクリック開始からダブルクリック完了までの、タッチパッドの押下状態とカーソルの動作との関係は、クリック開始からクリック完了までの上記関係と同様であるため、その説明を省略する。2回目のクリック操作においても、タッチパッド5が押下されている間、PC本体4は、カーソルを移動させることがないので、ユーザによるクリック操作を確実に認識することができる。つまり、ユーザは、ダブルクリック操作についても容易に行うことが可能となる。
〔変形例〕
本実施形態では押下可能なタッチパッドについて説明したが、これに限られたものではない。すなわち、例えば、タブレット、マウス、トラックボール、スティック式ポインティングデバイス等、クリック操作が可能なポインティングデバイスであれば適用可能である。
ここで、本実施形態に係るリモコン2では、入力座標検出部21は、タッチパッドでの検知結果を絶対座標として検出する。すなわち、タッチパッド5での検知結果は絶対座標として検出される。これは、タッチパッド5に限られたものではなく、例えばタブレットにおける検知結果も絶対座標として検出される。
一方、トラックボール、スティック式ポインティングデバイス等の場合、入力座標検出部21は、これらデバイスでの検知結果を相対座標として検出する。ここでは、入力座標検出部21が相対座標を検出する場合についてのポインティング処理について説明する。
図9は、上記ポインティングデバイスを用いた場合のポインティング処理の流れを示すフローチャートである。なお、上記相対座標が検出されるポインティングデバイスを、以降、座標入力部(座標入力手段)とする。また、タッチパッド状態記憶部27には、タッチパッドの押下状態(TCpre)の代わりに、座標入力部の押下状態、すなわちプッシュSW(押下入力手段)の押下状態(SCpre)が記憶される。
まず、座標入力部に何らかの変化があった場合、ポインティング処理が開始される。入力キー状態判定部23は、座標入力部におけるプッシュSWの前回の押下状態(SCpre)、すなわちこの検知前にプッシュSWが押下されていない状態のとき、押下状態SCpreがオフであると判定する(S51)。
次に、送信信号生成部25は、入力座標検出部21に現在の入力座標を問い合わせる(S52)。この問い合わせを受けて、入力座標検出部21は、座標入力部での検知結果を検出し、この検知結果から入力座標を算出する。このとき検出される入力座標(Xin、Yin)は相対座標(Xin,Yin)であるため、Xinはx方向移動量を、Yinはy方向移動量を示す。
その後、入力キー状態判定部23は、入力キー検出部22に押下情報Aを問い合わせる(S53)。この押下情報Aとは、機能キー6および座標入力部のプッシュSWが押下されているか否かを示す情報である。入力キー検出部22は、押下情報Aの問い合わせを受けると、機能キー6およびプッシュSWが押下されているか否かを示す情報(押下情報A)を検出する。そして、入力キー検出部22は、この押下情報Aを、入力キー状態判定部23に送信する。
入力キー状態判定部23は、図5のS5と同様、押下情報Aが入力無しを意味しているか否か、すなわち、押下情報Aが機能キー6またはプッシュSWの押下を示していないか否か判定する(S54)。
押下情報Aが入力無しを意味している(機能キー6またはプッシュSWの押下を示していない)場合(S54でYES)、プッシュSWの現在の押下状態は、押下されていない状態(オフ)を示している。また、このとき、入力キー状態判定部23は、プッシュSWの前回の押下状態(SCpre)が押下されているか否かを判定する(S55)。
ここで、タッチパッド状態記憶部27には、タッチパッド5の場合と同様、座標入力部の前回の押下状態(SCpre)が押下されている状態を示す場合には、押下状態「SCpre=オン」が記憶されており、押下されていない場合には、押下状態「SCpre=オフ」が記憶されている。入力キー状態判定部23は、押下されている場合にはSCオン信号を、押下されていない場合にはSCオフ信号を、タッチパッド状態記憶部27から読み出す。これにより、入力キー状態判定部23は押下状態SCpreを判定する。
SCpre=オフの場合(S55でNO)、入力キー状態判定部23は、プッシュSWの現在の押下状態および押下状態SCpreが共に、押下されていない状態を示しているため、判定信号としてSCオフ信号を出力値決定部24に送信する。このとき、入力キー状態判定部23は、機能キー6およびプッシュSWの押下情報A(現在の押下状態)を送信信号生成部25に送信する。
出力値決定部24は、この判定信号(SCオフ信号)を受信すると、相対座標(Xin,Yin)を移動量(Xin,Yin)として検出し、移動量(Xin,Yin)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。
ここで、座標入力部のプッシュSWの押下状態に着目すると、プッシュSWの押下状態は、タッチパッド5が押下されたときと同様、左クリックキーの押下状態を示す信号である左クリック信号を用いて送信される。また、出力値決定部24が入力キー状態判定部23から受信した判定信号はSCオフ信号である。従って、送信信号生成部25は、左クリック信号(オフ信号)と、移動量(Xin,Yin)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S56)。
その後、入力座標検出部21は、相対座標(Xin,Yin)=(0,0)であるか否かを判定する(S57)。S57でYESの場合には、ポインティング処理を終了し、NOの場合には、S52の処理に戻る。
また、押下情報Aが入力無しを意味していない(機能キー6またはプッシュSWの押下を示している)場合(S54でNO)、入力キー状態判定部23は、押下情報Aが座標入力部の押下、すなわちプッシュSWの押下を示しているか否かを判定する(S58)。
押下情報AがプッシュSWの押下を示している場合(S58でYES)、入力キー状態判定部23は、プッシュSWの現在の押下状態がオンであると判定すると、判定信号としてSCオン信号を出力値決定部24に送信する。
出力値決定部24は、この判定信号(SCオン信号)を受信すると、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。また、このとき、入力キー状態判定部23は、タッチパッド状態記憶部27に記憶された押下状態SCpreをオンに書き換える。そして、送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。
ここで、プッシュSWの押下状態に着目すると、出力値決定部24が入力キー状態判定部23から受信した判定信号はSCオン信号であるため、送信信号生成部25は、左クリック信号(オン信号)と移動量(0,0)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S59)。その後、S52の処理に戻る。
SCpre=オンの場合(S55でYES)、プッシュSWの現在の押下状態はオフであるが、プッシュSWの前回の押下状態SCpreはオンであることを示しているため、入力キー状態判定部23は、判定信号としてSCオン信号を出力値決定部24に送信する。このとき、入力キー状態判定部23は、機能キー6およびプッシュSWの押下情報A(現在の押下状態)を送信信号生成部25に送信する。
出力値決定部24は、この判定信号(SCオン信号)を受信すると、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定する。そして、この出力値を送信信号生成部25に送信する。また、このとき、入力キー状態判定部23は、タッチパッド状態記憶部27に記憶された押下状態SCpreをオフに書き換える。
送信信号生成部25は、入力キー状態判定部23から受信した押下情報Aと、出力値決定部24から受信した出力値とを、送信信号としてRF送受信部8に送信する。なお、このとき、送信信号生成部25は、左クリック信号(オフ信号)と移動量(0,0)を示す出力値とを送信信号として、RF送受信部8に送信する。そして、RF送受信部8では、この送信信号をRF信号に変換してPC本体4に送信する(S60)。その後、S57の処理に戻る。
押下情報AがプッシュSWの押下を示していない場合(S58でNO)、入力キー状態判定部23は、プッシュSWの押下状態SCpreをオフであると判定する(S62)。その後の処理S62〜S64については、図5に示すS13〜S15とそれぞれ同じ処理である。
以上のように、タッチパッド5のような絶対座標が検出されるポインティングデバイスであっても、トラックボールのような相対座標が検出されるポインティングデバイスであっても、出力値決定部24は、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定し、送信信号生成部25に送信する。そして、送信信号生成部25は、RF送受信部8を介して、押下情報Aと出力値とを含む送信信号をPC本体4に送信する。
すなわち、どちらのポインティングデバイスであっても、ユーザがクリック操作を行っている間は、PC本体4が表示部3aに表示されたカーソルを移動させないように、PC本体4に移動量(0,0)を送信している。これにより、PC本体4は、ユーザのクリック操作を充分に認識することが可能となる。つまり、ユーザがタッチパッド等のポインティングデバイスの押下中に、指の動きを意識することなくクリック操作を行うことができる。
なお、本実施形態に係るリモコン2では、タッチパッド5の押下状態を左クリック信号を用いていたが、これに限られたものではなく、左クリック信号とは異なる独自の信号を用いてもよい。これは、例えば、リモコン2に左クリックキーが備わっていない場合に有効である。
この場合、PC本体4は、この独自の信号を受信可能な専用ドライバを設けることにより、PC本体4の設定次第で、この独自の信号を用いて種々のアプリケーションを動作することが可能となる。
〔実施形態2〕
本発明の他の実施形態について図10ないし図11に基づいて説明すると以下の通りである。なお、実施形態1と同一の機能を有する部材については同一の符号を付記し、その説明は省略する。
実施形態1に係るリモコン2では、タッチパッド5が押下されると、出力値決定部24によって、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定される。そして、送信信号生成部25は、この出力値と押下情報Aとを送信信号として、RF送受信部8を介してPC本体4に送信する。その後、入力座標検出部21は、図5に示すS2の処理を行う。すなわち、実施形態1では、図5に示すS10からS2の処理にすぐに移行する。
一方、実施形態2に係るリモコン(座標入力装置)では、タッチパッド5の押下されている間の処理中に待機時間を設けている。すなわち、このリモコンでは、図5に示すS10からS2の処理間で、一旦処理を中止させている。
〔リモコンの構成〕
実施形態2に係るリモコンの概略構成について説明する。実施形態2に係るリモコンは、タイマー(図示しない)を備えている。このタイマーは、送信信号生成部25から送信信号がRF送受信部8を介してPC本体4に送信されると、計時を開始し、計時開始信号を出力値決定部24に送信する。また、このタイマーには予め待機時間が設定されており、タイマーは、計時開始からこの待機時間だけ待機した後、計時の終了を知らせる計時終了信号を出力値決定部24に送信する。
出力値決定部24は、タイマーから計時開始信号を受信すると、入力座標検出部21に機能停止信号を送信する。入力座標検出部21は、機能停止信号を受信すると、タッチパッド5での検知結果の検出、および入力座標(Xin,Yin)を入力座標(Xpre,Ypre)に代入する動作を中止する。また、出力値決定部24は、入力座標記憶部26から移動量(0,0)を出力値として決定し、送信信号生成部25に送信することを中止する。
一方、出力値決定部24は、タイマーから計時終了信号を受信すると、入力座標検出部21に機能停止解除信号を送信する。入力座標検出部21は、機能停止解除信号を受信すると、タッチパッド5での検知結果の検出、および上記代入動作を再開する。また、出力値決定部24は、移動量(0,0)を示す出力値の決定および送信を開始する。
〔リモコンにおけるポインティング操作処理〕
次に、実施形態2に係るリモコンにおける処理の流れについて説明する。図10は、実施形態2に係るリモコンにおけるポインティング操作処理の流れを示すフローチャートである。なお、図10に示すS71〜S78の処理は、図5に示すS1〜S8の処理と同様の処理が行われるので、その説明を省略する。
押下情報Aが入力無しを意味していない(機能キー6またはプッシュSW7の押下を示している)場合(S75でNO)、入力キー状態判定部23は、押下情報Aがタッチパッド5の押下を示しているか否かを判定する(S79)。
押下情報Aがタッチパッド5の押下を示している場合(S79でYES)、入力キー状態判定部23は、タッチパッド5の現在の押下状態がオンであると判定すると、判定信号としてTCオン信号を出力値決定部24に送信する。なお、S80の処理は、図5に示すS10と同様の処理であるため、その説明については省略する。
S80において、送信信号生成部25から送信信号がRF送受信部8を介してPC本体4に送信されると、タイマーは計時を開始する。このとき、計時開始信号を出力値決定部24に送信する。そして、タイマーに予め設定された待機時間(ここでは1秒)だけの時間が経過すると、タイマーは計時を終了し、計時終了信号を出力値決定部24に送信する。すなわち、送信信号生成部25から送信信号がRF送受信部8を介してPC本体4に送信されてから、1秒間経過した後、S72の処理に戻ることとなり、リモコンは1秒間の待機状態に入る(S81)。なお、本実施形態では、タイマーに予め設定されている待機時間を1秒としているが、これに限られたものではない。
つまり、出力値決定部24は、計時開始信号を受信すると、入力座標検出部21に機能停止信号を送信する。これにより、入力座標検出部21は、タッチパッド5での検知結果の検出、および入力座標(Xin,Yin)を入力座標(Xpre,Ypre)に代入する動作を中止する。すなわち、タイマーが計時している間には、S72の処理に移行することはない。また、出力値決定部24は、タイマーが計時している間、移動量(0,0)を示す出力値の決定および送信を中止する。
そして、出力値決定部24は、1秒後にタイマーから計時終了信号を受信すると、入力座標検出部21に機能停止解除信号を送信する。これにより、入力座標検出部21は、タッチパッド5での検知結果の検出および上記代入動作を再開する。すなわち、この時点で、S72の処理に移行することになる。また、出力値決定部24は、移動量(0,0)を示す出力値の決定および送信を開始する。
また、送信信号生成部25は、タイマーが計時している間、出力値決定部24から出力が送信されないので、送信信号を生成しない。このため、この間、送信信号がRF送受信部8を介してPC本体4に送信されることはない。
これにより、タイマーが計時している間、実施形態2に係るリモコンでは、出力値決定部24での移動量(0,0)を示す出力値の決定および送信、入力座標検出部21でのタッチパッド5での検知結果の検出、入力座標検出部21での代入動作が中止される。さらにこの間、実施形態2に係るリモコンでは、送信信号生成部25の送信信号、およびRF送受信部8のRF信号を送信する処理が中止される。
従って、タイマーが計時している間は各処理が中止されているため、入力座標検出部21、出力値決定部24、送信信号生成部25、およびRF送受信部8への電力供給をオフにすることができる。すなわち、リモコン全体の消費電力を抑制することが可能となる。
なお、S81での1秒間の待機状態において、入力キー検出部22が何らかの入力変化があるという通知を検出した場合(新たな押下情報Aを検出した場合)には、1秒間の待機状態は解除され、S72の処理に移行する。また、待機時間が1秒と設定されているのは、入力キー検出部22が新たな押下情報Aを検出できず、待機状態が解除されなかった場合でも、入力キー検出部22は、1秒以内に改めて押下情報Aを検出するができるようにするためである。これにより、S81における待機状態での、入力キー検出部22による押下情報Aの検出ミスを抑制することができる。
また、S81において待機時間が設けられているのは、機能キー6またはタッチパッド5の押下が完了したときに、押下が完了したことをPC本体4に確実に認識させるためである。すなわち、機能キー6またはタッチパッド5の押下が完了しているにもかかわらず、PC本体4にてタッチパッド5が押下状態であると認識され続けるのを回避するためである。
さらに、待機時間が設定されていない場合、すなわち待機状態を維持し続ける場合であっても、入力キー検出部22が何らかの入力変化があるという通知を検出した場合(新たな押下情報Aを検出した場合)には、待機状態は解除される。なお、入力キー検出部22が新たな押下情報Aを検出できず、待機状態が解除されなかった場合には、もう一度ユーザがタッチパッド5または機能キー6を押すと、S72の処理に移行する。
これにより、待機時間が設定されていない場合には、タッチパッド5が押下されている間には上記各処理が中止されているため、さらにリモコン全体の消費電力を抑制することが可能となる。
なお、S79でNOの場合に移行するS83〜S86の処理は、図5に示すS12〜S15と同様の処理であるため、その説明を省略する。
また、ここでは絶対座標が検出されるポインティングデバイスについて説明したが、これに限られたものではなく、相対座標が検出されるポインティングデバイスについても適用可能である。
〔タッチパッドの押下状態とカーソルの動作との関係〕
ここで、図11を用いて、クリック操作が行われるときのタッチパッドの状態と表示装置3の表示部3aに表示されるカーソルの動作との関係について説明する。
まず、ユーザの指がタッチパッド5に触れタッチパッド5を押下すると、プッシュSW7が連動して押下される。これにより、クリック操作が開始される。タッチパッド5を用いてクリック操作を行う場合、タッチパッド5が押下されている間に、指のぶれが大きくなってしまう可能性がある。すなわち、タッチパッド5において検出される移動量のデータは、x、y方向共に大きくなってしまう。
しかしながら、本実施形態に係るリモコンでは、出力値決定部24が、移動量(Xin−Xpre,Yin−Ypre)および移動量(0,0)の何れを出力値とするかを1秒ごとに決定している。出力値決定部24は、タッチパッド5が押下されている間、1秒ごとに、入力座標記憶部26に記憶されている移動量(0,0)を出力値として決定し、送信信号生成部25に送信する。すなわち、図10に示すS81において、リモコンが1秒間の待機状態にある間は、移動量(0,0)を示す出力値を送信しない。
従って、タイマーが計時している間は各処理が中止されているため、入力座標検出部21、出力値決定部24、送信信号生成部25、およびRF送受信部8への電力供給をオフにすることができる。すなわち、リモコン全体の消費電力を抑制することが可能となる。
そして、タイマーが計時している間に各処理が中止されている場合であっても、PC本体4は、カーソルを移動させないデータ(移動量(0,0)を示す出力値)を受信することにより、ユーザのクリック操作を充分に認識することが可能となる。
一方、クリック操作が一旦完了し、再びクリック操作(ダブルクリック操作)が開始されるまでの間(クリック完了からダブルクリック開始までの間)、指の移動量は、x、y方向共に、PC本体4がダブルクリック操作であると認識できる程度に小さい。なお、クリック操作(1回目のクリック操作)とダブルクリック操作(2回目のクリック操作)との時間間隔についても、PC本体4が2回目のクリック操作をダブルクリック操作開始であると判断できる程度に小さい。
このとき、タッチパッド5は押下されていない状態にあるので、出力値決定部24は、出力値決定部24において算出された移動量(Xin−Xpre,Yin−Ypre)を出力値として決定し、送信信号生成部25に送信する。従って、クリック完了からダブルクリック開始までの間、PC本体4は、タッチパッド5での指の移動量に応じた移動量で、カーソルを移動させることとなる。
なお、ダブルクリック開始からダブルクリック完了までの、タッチパッドの押下状態とカーソルの動作との関係は、クリック開始からクリック完了までの上記関係と同様であるため、その説明を省略する。
2回目のクリック操作においても、タイマーが計時している間は各処理が中止されているため、入力座標検出部21、出力値決定部24、送信信号生成部25、およびRF送受信部8への電力供給をオフにすることができる。すなわち、リモコン全体の消費電力を抑制することが可能となる。そして、タッチパッド5が押下されている間、PC本体4は、カーソルを移動させることがないので、ユーザによるクリック操作を確実に認識することができる。つまり、ユーザは、ダブルクリック操作についても容易に行うことが可能となる。
ここで、実施形態1および2では、押下可能なタッチパッドがリモコンに搭載されている場合について説明したが、これに限られたものはない。すなわち、例えば、タッチパッド等のクリック操作が可能なポインティングデバイスは、ノート型PC等に搭載されていてもよい。なお、上記ポインティングデバイスがノート型PC等に搭載されている場合には、入力キー状態判定部23、出力値決定部24および送信信号生成部25がノート型PCの制御部と物理的に離れていなくてもよい。すなわち、ノート型PCの制御部が検出する入力座標データを決定する構成であってもよい。
〔補足〕
最後に、実施形態1および2に係るリモコンの各ブロック、特に入力座標検出部21、入力キー検出部22、入力キー状態判定部23、出力値決定部24および送信信号生成部25は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、実施形態1および2に係るリモコンは、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるリモコン2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記リモコン2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、実施形態1および2に係るリモコンを通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。