以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の端末装置の例を示す図である。
第1の実施の形態の端末装置10は、ユーザが入力デバイスとして主にタッチパネルを使用する端末装置である。端末装置10は、タブレット端末やスマートフォンなどの携帯端末装置でもよく、タッチパネルを備えるがキーボードを備えなくてもよい。端末装置10は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどのディスプレイを備える。ディスプレイとタッチパネルとは一体に形成されていてもよい。
端末装置10は、検出部11、記憶部12および処理部13を有する。
検出部11は、例えば、タッチパネルである。記憶部12は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部13は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部13は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリ(記憶部12でもよい)に記憶されたプログラムを実行する。プログラムには、後述する処理を実行させる特殊操作制御プログラムが含まれる。複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と言うこともある。
検出部11は、マルチタッチに対応した入力デバイスである。検出部11は、同時にタッチされたディスプレイ上の複数のタッチ位置を検出する。タッチ位置を検出する方式としては、抵抗膜方式や静電容量方式などの任意の検出方式を用いることができる。検出部11が検出可能な同時タッチ位置は、好ましくは5点以上である。ここでは、タッチ位置15a,15b,15c,15d,15eが検出されたものとする。
記憶部12は、対応情報14を記憶する。対応情報14は、ディスプレイ上の複数の基準位置の組み合わせを示す位置条件と文字入力以外の特定処理17とを対応付けている。
複数の基準位置は、好ましくは通常の入力操作ではユーザが同時にタッチする可能性の低い位置の組み合わせであり、ユーザが同時にタッチしづらい位置の組み合わせでもよい。例えば、複数の基準位置は、ディスプレイ上で互いに離れた5つ以上の位置とする。複数の基準位置は、例えば、設定モードにおいて、同時にまたは順番に複数の位置をディスプレイ上で指定することで登録することができる。ここでは、基準位置16a,16b,16c,16d,16eが対応情報14に登録されているものとする。ディスプレイ上において、基準位置16aは左上隅、基準位置16bは左下隅、基準位置16cは中央、基準位置16dは右上隅、基準位置16eは右下隅に配置されている。基準位置16a,16b,16c,16d,16eは、ユーザが同時にタッチしづらい位置である。
位置条件に対応付けられる特定処理17は、好ましくは端末装置10の通常使用時にはユーザが起動しなくてよい処理であり、例えば、ダンプ採取や管理用コマンド発行などのシステム管理用処理である。特定処理17は、端末装置10のハードウェアまたはソフトウェアに障害が発生したときに起動されるべき処理であってもよい。例えば、設定モードにおいて、ユーザが特定処理17を選択することで対応情報14に登録できる。
処理部13は、同時にタッチされたタッチ位置15a,15b,15c,15d,15eを検出部11から取得する。すると、処理部13は、取得したタッチ位置15a,15b,15c,15d,15eと対応情報14が示す基準位置16a,16b,16c,16d,16eとを比較し、位置条件が満たされるか判定する。位置条件を満たすか否かの判定では、タッチ位置15a,15b,15c,15d,15eと基準位置16a,16b,16c,16d,16eの一方を補正して他方と照合するようにしてもよい。例えば、所定距離以内のずれを許容する、所定数以下のタッチ位置の欠落を許容する、タッチ位置の集合全体または基準位置の集合全体をシフトする、タッチ位置の集合全体または基準位置の集合全体を回転するなどの補正が考えられる。
ここでは、タッチ位置15aが基準位置16aから所定距離以内にあり、タッチ位置15bが基準位置16bから所定距離以内にあるとする。また、タッチ位置15cが基準位置16cから所定距離以内にあり、タッチ位置15dが基準位置16dから所定距離以内にあり、タッチ位置15eが基準位置16eから所定距離以内にあるとする。この場合、タッチ位置15a,15b,15c,15d,15eと基準位置16a,16b,16c,16d,16eとが全体として類似しており、位置条件を満たすと判定される。
処理部13は、同時にタッチされたタッチ位置15a,15b,15c,15d,15eが対応情報14の位置条件を満たす場合、その位置条件に対応付けられた特定処理17を実行させる。特定処理17は、OS(Operating System)のカーネル空間で実行される処理でもよいし、ユーザ空間で実行される処理でもよい。なお、処理部13は、ディスプレイが消灯している(画面オフの状態である)ときであっても、位置条件を満たすタッチ位置が検出部11で検出された場合には特定処理17を実行させるようにしてもよい。
ユーザが同時にタッチしづらい位置の組み合わせを基準位置16a,16b,16c,16d,16eとする場合、タッチ操作の補助デバイスとしてシートを使用してもよい。シートの一方の面には、例えば、複数の導電性突起などの複数の導電性接触部が設けられている。検出部11は、シートがディスプレイ上に置かれたとき、複数の導電性接触部の位置をタッチ位置15a,15b,15c,15d,15eとして検出する。対応情報14に登録する基準位置16a,16b,16c,16d,16eは、シートの導電性接触部の位置に対応するように指定するようにしてもよい。
第1の実施の形態の端末装置10によれば、同時にタッチされたディスプレイ上の複数のタッチ位置が検出される。複数のタッチ位置と対応情報14が示す複数の基準位置とが比較されて、同時にタッチされた複数のタッチ位置が対応情報14の位置条件を満たすか判定される。位置条件を満たす場合、対応情報14が示す特定処理17が実行される。
これにより、入力デバイスとしてキーボードを使用しなくても、タッチパネルを使用して特定処理17を円滑に起動することができる。また、端末装置10の障害によりディスプレイにソフトウェアキーボードが表示されない場合でも、端末装置10に特定処理17を実行させることができる。また、ディスプレイが消灯したまま端末装置10に特定処理17を実行させることができ、画面を表示させる煩雑さを回避することができる。また、所定の複数位置を同時にタッチすることが要求されるため、ユーザが誤って特定処理17を起動してしまう可能性を低減できる。また、補助デバイスであるシートを使用することで、手で同時にタッチすることが困難な複数位置を指定することが可能となり、ユーザが誤って特定処理17を起動してしまう可能性を更に低減できる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態のタブレット端末の例を示す図である。
第2の実施の形態のタブレット端末100は、第1の実施の形態の端末装置10に対応する。タブレット端末100は、入力デバイスとしてタッチパネルを備えるがキーボードを備えない携帯端末装置である。タブレット端末100のユーザは、ディスプレイ上でのタッチ操作によって文字入力およびその他の入力操作を行う。
タブレット端末100に障害が発生したときや保守作業を要するとき、ディスプレイ上で所定のタッチ操作を行うことで、ダンプ採取、サポート担当者への発呼、管理者モードへの移行などのシステム管理処理をタブレット端末100に実行させることができる。この所定のタッチ操作は、入力デバイスとしてキーボードを用いた場合のファンクションキーの押下やショートカットキーの押下に相当する。所定のタッチ操作としては、文字入力などの通常の入力操作では行われる可能性の低いタッチ操作であって、ユーザが指で行うことは困難である複数位置の同時タッチが指定される。
指で行うことが困難な所定のタッチ操作を可能にするため、タブレット端末100にはシート30が添付される。シート30は、厚さ数センチメートル程度(例えば、5センチメール以下)の板状の補助デバイスである。シート30の一方の面には複数の導電性の突起が設けられている。ユーザが突起のある面を下にしてシート30を手で持ち、タブレット端末100のディスプレイの上に重ねることで、指で行うことが困難な所定のタッチ操作をタッチパネルに認識させることができる。シート30の面のサイズは、タブレット端末100のディスプレイの表示領域と同じかそれよりも小さい。
タブレット端末100のユーザは、タブレット端末100の障害や保守作業に備えて、オフィスの机の中にシート30を保管しておいてもよい。また、ユーザは、タブレット端末100と併せてシート30を持ち運ぶようにしてもよい。また、タブレット端末100に装着するカバーの一面がシート30として機能するようにしてもよい。
図3は、タブレット端末に対する特殊操作の例を示す図である。
上記のように、タブレット端末100のディスプレイに対して特殊なタッチ操作(以下では特殊操作と言うことがある)を行うことで、タブレット端末100に特定のアクションを実行させることができる。特殊操作は、通常時にユーザが誤って行わないように、指で行うことが困難である複数位置の同時タッチとする。特殊操作で同時にタッチすべき位置は、5点以上の互いに離れた位置が好ましい。例えば、ディスプレイの左上領域の点、右上領域の点、左下領域の点、右下領域の点および中央領域の点がタッチされる。
次に、タブレット端末100とシート30の構造について説明する。
図4は、タブレット端末のハードウェア例を示すブロック図である。
タブレット端末100は、CPU101、RAM102、不揮発性メモリ103、ディスプレイ104、タッチパネル105、媒体リーダ106および通信インタフェース107を有する。タブレット端末100が有する上記ユニットは、バスに接続されている。なお、タッチパネル105は、第1の実施の形態の検出部11に対応する。RAM102または不揮発性メモリ103は、第1の実施の形態の記憶部12に対応する。CPU101は、第1の実施の形態の処理部13に対応する。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、不揮発性メモリ103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、タブレット端末100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)をプロセッサと言うことがある。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、タブレット端末100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
不揮発性メモリ103は、OSやミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。記憶されるプログラムには、特殊操作制御プログラムが含まれる。不揮発性メモリ103として、例えば、フラッシュメモリやSSD(Solid State Drive)などを使用できる。なお、タブレット端末100は、HDDなどの他の種類の記憶装置を備えてもよい。
ディスプレイ104は、CPU101からの命令に従って画面を表示する出力装置である。CPU101は、ディスプレイ104が点灯しており画面が表示されている状態(画面オン状態)と、ディスプレイ104が消灯しており画面が表示されていない状態(画面オフ状態)とを切り替えることができる。CPU101が稼働しているときであっても、省電力のためディスプレイ104を画面オフ状態にすることがある。ディスプレイ104としては、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイなどを使用することができる。なお、タブレット端末100は、スピーカなどディスプレイ104以外の出力装置を備えていてもよい。
タッチパネル105は、ディスプレイ104の表示領域に対するタッチ操作を検出し、タッチ位置を示す入力信号をCPU101に出力する入力装置である。ディスプレイ104の表示領域へのタッチは、ユーザの指で行ってもよいし、タッチペンやシート30などの補助デバイスを用いて行ってもよい。タッチパネル105は、マルチタッチ機能を有しており、同時にタッチされた所定数(例えば、5点)以下の位置を検出することができる。タッチパネル105は、ディスプレイ104に重ねて配置されてもよいし、ディスプレイ104と一体に形成されていてもよい。位置検出方式としては、抵抗膜方式や静電容量方式などの任意の検出方式を用いることができる。なお、タブレット端末100は、マイクロフォンなどタッチパネル105以外の入力装置を備えてもよい。
媒体リーダ106は、記録媒体106aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体106aとして、例えば、半導体メモリが使用される。ただし、記録媒体106aとして、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)などが使用されてもよい。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ106は、例えば、記録媒体106aから読み取ったプログラムやデータを、RAM102や不揮発性メモリ103などの他の記録媒体にコピーする。読み取られたプログラムは、CPU101によって実行され得る。記録媒体106aは可搬型記録媒体であってもよく、プログラムの配布に用いられることがある。また、記録媒体106aや不揮発性メモリ103を、コンピュータ読み取り可能な記録媒体と言うことがある。
通信インタフェース107は、ネットワーク107aに接続され、ネットワーク107aを介して他の装置と通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
図5は、シートの第1の構造例を示す図である。
シート30は、接触部31、絶縁部32,33、伝達部34および導電部35を含む複数の導電部(例えば、5つの導電部)を有する。接触部31は、シート30の縁付近に配置され、ユーザがシート30を両手で持ったときに何れか一方の手に接触するようになっている。接触部31の上側は、絶縁部32によって覆われていない。これにより、人体の静電気が接触部31に供給される。ただし、接触部31を電池に置換してもよい。これにより、電気が一層安定的に供給されてタッチ操作の精度が向上する。
絶縁部32は、シート30の上面のうち接触部31が存在する領域以外の領域を覆っている。絶縁部32の素材としては、ガラス板などの絶縁素材が使用される。絶縁部33は、シート30の下面のうち導電部が存在する領域以外の領域を覆っている。導電部が存在する領域には、円形の穴があいている。絶縁部33の素材としては、ガラス板などの絶縁素材が使用される。伝達部34は、絶縁部32と絶縁部33とに挟まれている。また、伝達部34は、接触部31および複数の導電部それぞれと接している。伝達部34の素材としては、アルミニウムや銅などの導電素材が使用される。
導電部35を含む複数の導電部それぞれは、逆円錐型の突起である。導電部35の上側は伝達部34に接しており、導電部35の下側は絶縁部33にあいた穴から突出している。導電部35の素材としては、導電性シリコンゴムなどの導電素材が使用される。接触部31に供給された静電気(または、電池から出力された電気)は、伝達部34を介して導電部35に伝達される。シート30をディスプレイ104の上に置くことで、導電部35を含む複数の導電部がディスプレイ104に接する。これにより、タッチパネル105は、複数の導電部それぞれの位置が同時にタッチされたものと認識する。このとき、他の位置は絶縁部33によって覆われているためタッチされたものと認識されない。
上記の第1の構造例では、複数の導電部それぞれの位置は固定となっている。これに対し、複数の導電部それぞれの位置を可変にしたシートを作成することも可能である。
図6は、シートの第2の構造例を示す図である。
シート40は、シート30に代えて使用することができる。シート40は、接触部41、絶縁部42,43、伝達部44、導電フタ45を含む複数の導電フタおよび非導電フタ46を含む複数の非導電フタを有する。接触部41は、シート30の接触部31に対応する。ただし、シート30において説明したように、接触部41を電池に置換してもよい。絶縁部42は、シート30の絶縁部32に対応する。
絶縁部43は、シート30の絶縁部33に対応する。ただし、絶縁部33にはタッチ位置に相当する少数個の穴があいているのに対し、絶縁部43には等間隔に多数の穴があいている。図6の例では、絶縁部43には34個の穴があいている。絶縁部43にあいた複数の穴それぞれには、導電フタおよび非導電フタの何れか一方を取り付けることができる。初期状態では、絶縁部43にあいた全ての穴には非導電フタが取り付けられている。その後、これら複数の非導電フタの一部が導電フタに交換される。これにより、シート40によってタッチされる位置を変更することができる。
伝達部44は、シート30の伝達部34に対応する。ただし、伝達部34は接触部31と位置が固定された複数の導電部とを接続する棒状部材であるのに対し、伝達部44はシート40の全体をカバーする板状部材である。伝達部44は、絶縁部42と絶縁部43に挟まれ、接触部41および全てのフタ(導電フタおよび非導電フタ)に接している。
導電フタ45は、絶縁部43にあいた何れかの穴に取り付け可能なフタである。導電フタ45は、逆円錐型の突起である導電部分と円柱型の台座である非導電部分とを組み合わせた形状をもつ。非導電部分を絶縁部43の穴にはめ込むと、導電部分の上側が伝達部44に接するようになっている。導電部分の素材としては、導電性シリコンゴムなどの導電素材が使用される。非導電部分の素材としては、ガラスなどの非導電素材が使用される。非導電フタ46は、絶縁部43にあいた何れかの穴に取り付け可能な円柱型のフタである。非導電フタ46の素材としては、ガラスなどの非導電素材が使用される。
接触部41に供給された静電気(または、電池から出力された電気)は、伝達部44を介して導電フタ45に伝達される。シート40をディスプレイ104の上に置くことで、導電フタ45を含む複数の導電フタがディスプレイ104に接する。これにより、タッチパネル105は、複数の導電フタそれぞれの位置が同時にタッチされたものと認識する。このとき、非導電フタが取り付けられた位置やフタが存在しない位置は絶縁素材によって覆われているため、タッチされたものと認識されない。
次に、特殊操作の検出について説明する。
タブレット端末100には、特殊操作でタッチすべき位置の座標が予め登録される。例えば、タブレット端末100を業務で使用するユーザがタブレット端末100に座標を登録しておく。または、タブレット端末100を管理するシステム管理者がタブレット端末100に座標を登録しておき、その後ユーザにタブレット端末100を貸与する。
ここで、シート30を使用して特殊操作を行おうとすると、タブレット端末100に登録された座標とシート30によってタッチされる位置の座標とが完全に一致することは少ない。また、タブレット端末100は回転容易であるため、タブレット端末100の「上方向」とシート30の「上方向」が正確に合った状態で特殊操作が行われるとは限らない。そこで、シート30によってタッチされた位置の座標と登録された座標とを照合するにあたり、タブレット端末100は様々な座標補正を行う。
図7は、特殊操作の判定例を示す第1の図である。
座標集合51は、タブレット端末100に特殊操作として予め登録された座標の集合である。座標集合51は5つの座標を含む。座標集合52は、タッチパネル105によって検出された座標の集合である。座標集合52は5つの座標を含む。座標集合52の各座標は、座標集合51の何れかの座標と対応している。座標集合52の各座標は、対応する座標集合51の座標と完全には一致しないが、対応する座標集合51の座標から所定距離以内にある。これは、シート30を置く位置が若干ずれることで頻繁に発生する。この場合、タブレット端末100は、座標集合51と座標集合52とが「類似する」ものとみなし、座標集合51が検出されたと判定する。対応する座標同士の距離が小さいことによる類似判定を、以下では「一般補正」と言うことがある。一般補正は、登録された座標集合51を基準に行ってもよいし、検出された座標集合52を基準に行ってもよい。
座標集合53は、タッチパネル105によって検出された座標の集合である。座標集合53は4つの座標を含む。座標集合53の4つの座標それぞれは、座標集合51の何れかの座標と対応している。ただし、座標集合51の1つの座標に対応するものが座標集合53には欠落している。これは、シート30をディスプレイ104上に置いたときの導電部の接触不良によって発生することがある。この場合、タブレット端末100は、座標集合51と座標集合53とが「類似する」ものとみなし、座標集合51が検出されたと判定してもよい。少数の座標が欠落したことによる類似判定を、以下では「欠落点許容」と言うことがある。許容する欠落点数は、タブレット端末100に設定可能である。
図8は、特殊操作の判定例を示す第2の図である。
座標集合54は、タッチパネル105によって検出された座標の集合である。座標集合54は5つの座標を含む。座標集合54の各座標は、座標集合51の何れかの座標と対応している。座標集合54全体を若干シフトおよび回転させると、座標集合51に一致するかほぼ一致する。これは、シート30を置く位置が若干ずれることで頻繁に発生する。この場合、タブレット端末100は、座標集合51と座標集合54とが「類似する」ものとみなし、座標集合51が検出されたと判定してもよい。
シフト量が小さいシフトや回転量が小さい回転によって一方の座標集合全体を他方の座標集合全体に合わせる類似判定を、以下では「ベクトル補正」と言うことがある。例えば、タブレット端末100は、座標集合51,54それぞれを複数の座標からなるベクトルとみなし、絶対値が閾値以下である係数の行列(小さな係数行列)を座標集合51のベクトルにかけたときに、座標集合54のベクトルに一致するか判定する。または、タブレット端末100は、座標集合54のベクトルに絶対値が閾値以下である係数の行列をかけたときに、座標集合51のベクトルに一致するか判定する。
座標集合55は、タッチパネル105によって検出された座標の集合である。座標集合55は5つの座標を含む。座標集合55の各座標は、座標集合51の何れかの座標と対応している。座標集合54と同様、座標集合55全体をシフトおよび回転させると、座標集合51に一致するかほぼ一致する。ただし、座標集合55を座標集合54に一致させるためのシフト量や回転量が比較的大きい。この場合、タブレット端末100は、ベクトル補正によっても座標集合51と座標集合55とが「類似しない」と判定する。
例えば、タブレット端末100は、絶対値が閾値以下である係数の行列を座標集合51のベクトルにかけても、座標集合55のベクトルに一致させることができないとき、座標集合51が検出されたと判定しない。また、例えば、タブレット端末100は、絶対値が閾値以下である係数の行列を座標集合55のベクトルにかけても、座標集合51のベクトルに一致させることができないとき、座標集合51が検出されたと判定しない。
このように、一方の座標集合を他方の座標集合に合わせるためのシフト量や回転量が閾値以下である場合、ベクトル補正が成功し両者が「類似する」と判定される。これに対し、一方の座標集合を他方の座標集合に合わせるためのシフト量や回転量が閾値を超える場合、ベクトル補正が失敗し両者が「類似しない」と判定される。なお、ベクトル補正を行うか否かは、タブレット端末100に設定可能である。
図9は、特殊操作の判定例を示す第3の図である。
座標集合56は、タブレット端末100に特殊操作として予め登録された座標の集合である。座標集合56は5つの座標を含む。座標集合57は、タッチパネル105によって検出された座標の集合である。座標集合57は5つの座標を含む。座標集合57の各座標は、座標集合56の何れかの座標と対応している。ただし、座標集合56と座標集合57とは、点対称の関係になっている。これは、ユーザがシート30の向きを間違えたときに発生する。この場合、タブレット端末100は、座標集合56と座標集合57とが「類似する」ものとみなし、座標集合56が検出されたと判定してもよい。
例えば、タブレット端末100は、点対称相当の変換を行う係数行列を座標集合56のベクトルにかけたときに、座標集合57のベクトルに一致するか判定する。または、タブレット端末100は、座標集合57のベクトルに点対称相当の変換を行う係数行列をかけたときに、座標集合56のベクトルに一致するか判定する。
座標集合58は、タッチパネル105によって検出された座標の集合である。座標集合58は5つの座標を含む。座標集合58の各座標は、座標集合56の何れかの座標と対応している。ただし、座標集合56と座標集合58とは、線対称の関係になっている。この場合、タブレット端末100は、座標集合56と座標集合58とが「類似する」ものとみなし、座標集合56が検出されたと判定してもよい。
例えば、タブレット端末100は、線対称相当の変換を行う係数行列を座標集合56のベクトルにかけたときに、座標集合58のベクトルに一致するか判定する。または、タブレット端末100は、座標集合58のベクトルに線対称相当の変換を行う係数行列をかけたときに、座標集合56のベクトルに一致するか判定する。点対称変換または線対称変換による類似判定を、以下では「対称性補正」と言うことがある。なお、対称性補正を行うか否かは、タブレット端末100に設定可能である。
次に、特殊操作をタブレット端末100に登録する設定画面について説明する。
図10は、第1の設定画面の例を示す図である。
設定画面61は、タブレット端末100を設定モードで動作させているときにディスプレイ104に表示される。ユーザは、例えば、ディスプレイ104に表示された設定ボタンをタッチすることでタブレット端末100を設定モードに移行させることができる。
設定画面61は、全体設定を行う設定画面である。設定画面61では、特殊動作モードについてONまたはOFFを選択できる。特殊動作モードがONである場合、特殊操作に応じて特定のアクションが実行される。特殊動作モードがOFFである場合、特殊操作を行っても特定のアクションは実行されない。また、設定画面61では、画面オフ動作の既定値についてONまたはOFFを選択できる。画面オフ動作がONである場合、ディスプレイ104が画面オン状態か画面オフ状態かに関係なく、特殊操作に応じて特定のアクションが実行される。画面オフ動作がOFFである場合、ディスプレイ104が画面オン状態であるときのみ、特殊操作に応じて特定のアクションが実行される。後述するように、個別設定では、画面オフ動作について既定値とは異なる設定を行うことが可能である。
また、設定画面61では、許容誤差の既定値を入力できる。許容誤差は、一般補正において許容される座標間距離の上限値であり、表示領域上のポイント数で表される。後述するように、個別設定では、許容誤差について既定値とは異なる設定を行うことが可能である。また、設定画面61では、拡張補正の既定値についてONまたはOFFを選択できる。拡張補正は、前述のベクトル補正と対称性補正を指している。拡張補正がONである場合、座標照合時にベクトル補正と対称性補正が行われる。拡張補正がOFFである場合、座標照合時にベクトル補正も対称性補正も行われない。後述するように、個別設定では、ベクトル補正と対称性補正について既定値とは異なる設定を行うことが可能である。
また、設定画面61からは、新たな特殊操作の登録や既存の特殊操作の設定変更を開始することができる。タブレット端末100には、複数の特殊操作を登録することも可能である。図10の例では、設定画面61には、新たな特殊操作の座標集合を登録するためのボタンと、1つの特殊操作について個別設定を行うためのボタンとが配置されている。また、設定画面61には、全体設定を保存するためのボタンが配置されている。
図11は、第2の設定画面の例を示す図である。
設定画面62は、タブレット端末100を設定モードで動作させているときにディスプレイ104に表示される。設定画面62は、新たな特殊操作の座標集合を登録するための設定画面であり、前述の設定画面61の座標登録ボタンをタッチすることで表示される。
設定画面62では、特殊操作で同時にタッチすべき複数位置の座標を、ディスプレイ104上でそれら複数位置を実際にタッチすることで指定することができる。このとき、シート30を用いて複数位置を同時にタッチするようにしてもよいし、指やタッチペンなどを用いて複数位置を順番にタッチするようにしてもよい。ただし、後者の場合、タッチする位置はシート30の導電部の位置に対応させることが期待される。設定画面62で新たな特殊操作の座標集合が登録されると、設定画面61に戻る。
図12は、第3の設定画面の例を示す図である。
設定画面63は、タブレット端末100を設定モードで動作させているときにディスプレイ104に表示される。設定画面63は、1つの特殊操作の設定を変更するための設定画面であり、前述の設定画面61の個別設定ボタンをタッチすることで表示される。
設定画面63では、選択した特殊操作に関する画面オフ動作についてONまたはOFFを選択できる。設定画面63の画面オフ動作の初期値は、設定画面61で設定した既定値である。設定画面63では、選択した特殊操作について既定値とは異なる設定を行うことができる。また、設定画面63では、選択した特殊操作に関する接触時間を入力できる。接触時間は、検出されたタッチ操作が特殊操作であると認識するためのタッチ継続時間の閾値である。接触時間の既定値は、5秒など所定値になっている。設定画面63では、選択した特殊操作について既定値とは異なる時間を入力できる。設定画面63で接触時間の入力欄を空欄とした場合、予め設定された既定値が適用される。
また、設定画面63では、選択した特殊操作に関する許容誤差を入力できる。設定画面63の許容誤差の初期値は、設定画面61で設定した既定値である。設定画面63では、選択した特殊操作について既定値とは異なる許容誤差を入力できる。設定画面63で許容誤差の入力欄を空欄とした場合、設定画面61の既定値が適用される。
また、設定画面63では、選択した特殊操作に関する欠落許容点数を入力できる。欠落許容点数は、座標照合時に許容する欠落点の数の上限値である。欠落許容点数の既定値は、0または1など所定値になっている。設定画面63では、選択した特殊操作について既定値とは異なる数を入力することができる。設定画面63で欠落許容点数の入力欄を空欄とした場合、予め設定された既定値が適用される。
また、設定画面63では、選択した特殊操作に関するベクトル補正についてONまたはOFFを選択できる。設定画面63のベクトル補正の初期値は、設定画面61で設定した拡張補正の既定値である。設定画面63では、選択した特殊操作について既定値とは異なる設定を行うことができる。また、設定画面63では、選択した特殊操作に関する対称性補正についてONまたはOFFを選択できる。設定画面63の対称性補正の初期値は、設定画面61で設定した拡張補正の既定値である。設定画面63では、選択した特殊操作について既定値とは異なる設定を行うことができる。すなわち、設定画面63では、設定画面61と異なりベクトル補正と対称性補正を別個に設定できる。
また、設定画面63では、選択した特殊操作に対応付けるアクションを登録できる。アクション登録では、アクション名とコマンドとオプションが指定される。アクション名は、例えば、メモリダンプの保存を示す「ダンプ採取」、サポート担当者への電話連絡を示す「発呼」、管理者モードでの起動を示す「管理者モード」、アプリケーションプログラムの起動を示す「アプリ実行」などである。アプリ実行の場合、アプリケーションプログラムを起動するためのコマンドと、コマンドに付加するオプションが指定される。また、発呼の場合、発呼先電話番号を示すオプションが指定される。また、設定画面63では、ユーザが任意で記述するコメントを入力することができる。
次に、タブレット端末100の機能およびデータ構造について説明する。
図13は、タブレット端末の機能例を示すブロック図である。
タブレット端末100は、設定情報記憶部110、特殊動作設定部121、タッチ操作検出部122、ディスプレイ制御部123、特殊操作判定部124、ダンプ採取部125および発呼部126を有する。設定情報記憶部110は、例えば、RAM102または不揮発性メモリ103の記憶領域を用いて実装される。特殊動作設定部121、タッチ操作検出部122、ディスプレイ制御部123、特殊操作判定部124、ダンプ採取部125および発呼部126は、例えば、プログラムモジュールを用いて実装される。
設定情報記憶部110は、前述の設定画面61〜63によって入力された設定情報を記憶する。設定情報記憶部110は、OSによって管理されるレジストリでもよい。特殊動作設定部121は、タッチ操作に応じて設定モードに移行し、ディスプレイ104に設定画面61〜63を表示させる。特殊動作設定部121は、設定画面61〜63に従って特殊操作の設定情報を入力させ、設定情報を設定情報記憶部110に保存する(例えば、OSのレジストリに保存する)。特殊動作設定部121は、ユーザ空間で実行されるモジュールでもよいし、カーネル空間で実行されるモジュールでもよい。
タッチ操作検出部122は、タッチパネル105によって検出されたタッチ位置の座標を取得する。タッチ操作が検出されたことは、タッチパネル105からCPU101への割り込み信号として通知される。複数位置が同時にタッチされた場合、タッチ操作検出部122は、それら複数のタッチ位置に対応する複数の座標を取得する。タッチ操作検出部122は、例えば、OSのカーネル空間で実行されるドライバモジュールである。
ディスプレイ制御部123は、ディスプレイ104の画面表示を制御する。例えば、ディスプレイ制御部123は、ユーザ操作に応じてディスプレイ104を画面オフ状態から画面オン状態に移行させる。また、ディスプレイ制御部123は、ユーザ操作や時間経過に応じてディスプレイ104を画面オン状態から画面オフ状態に移行させる。ディスプレイ制御部123は、例えば、カーネル空間で実行されるドライバモジュールである。
特殊操作判定部124は、タブレット端末100が特殊動作モードであるとき、設定情報記憶部110を参照して、タッチ操作検出部122で検出されたタッチ操作が特殊操作であるか判定する。検出されたタッチ操作が、設定情報記憶部110に記憶された設定情報が示す何れかの特殊操作に該当する場合、特殊操作判定部124は、その特殊操作に対応付けられている特定のアクションを起動する。特殊操作判定部124は、例えば、カーネル空間で実行されるモジュールである。起動するアクションは、ユーザ空間で実行される処理でもよいしカーネル空間で実行される処理でもよい。
ダンプ採取部125は、RAM102上のデータの一部または全部であるメモリダンプを不揮発性メモリ103に保存する。ダンプ採取は、特殊操作判定部124によって起動され得るアクションの1つである。ダンプ採取部125は、例えば、カーネル空間で実行されるモジュールである。発呼部126は、指定された電話番号に対して電話回線などを用いて発呼する。発呼は、特殊操作判定部124によって起動され得るアクションの1つである。発呼部126は、例えば、カーネル空間で実行されるモジュールである。
図14は、全体設定テーブルと個別アクションテーブルの例を示す図である。
全体設定テーブル111は、設定情報記憶部110に記憶されている。全体設定テーブル111は、特殊動作モード、画面オフ動作、許容誤差および拡張補正の項目を有する。特殊動作モードの項目には、特殊動作モードについて設定画面61で選択されたONまたはOFFが登録される。画面オフ動作の項目には、画面オフ動作について設定画面61で選択されたONまたはOFFが登録される。許容誤差の項目には、許容誤差について設定画面61で入力されたポイント数が登録される。拡張補正の項目には、拡張補正について設定画面61で選択されたONまたはOFFが登録される。
個別アクションテーブル112は、設定情報記憶部110に記憶されている。個別アクションテーブル112は、アクション名、操作ID、動作モード、コマンドおよびオプションの項目を有する。アクション名の項目には、ダンプ採取、発呼、管理者モード、アプリ実行など、設定画面63で入力されたアクション名が登録される。操作IDの項目には、特殊操作の識別情報が登録される。アクション名に対応付けられる特殊操作は、設定画面61から設定画面63に切り替わるときに設定画面61で選択された特殊操作である。
動作モードの項目には、アクションがユーザ空間とカーネル空間の何れで実行されるかを示す情報が登録される。動作モードは、実行すべきアクションの種類から自動的に決定される。コマンドの項目には、設定画面63で入力されたコマンドが登録される。オプションの項目には、設定画面63で入力されたオプションが登録される。すなわち、個別アクションテーブル112は、特殊操作の識別情報とアクションとを対応付けている。個別アクションテーブル112には、複数の対応関係を登録することができる。
図15は、特殊操作テーブルの例を示す図である。
特殊操作テーブル113は、設定情報記憶部110に記憶されている。特殊操作テーブル113は、操作ID、座標数、座標データ、画面オフ動作、接触時間、許容誤差、欠落許容点数、ベクトル補正、対称性補正およびコメントの項目を有する。
操作IDの項目には、特殊操作の識別情報が登録される。操作IDは、設定画面62で新しい座標集合が登録されたときに自動的に付与される。座標数の項目には、設定画面62で指定された座標の数、すなわち、特殊操作で要求される同時タッチ数が登録される。座標データの項目には、設定画面62で指定された複数の座標が登録される。座標数が5である場合、座標データの項目には5個の座標が列挙される。
画面オフ動作の項目には、画面オフ動作について設定画面63で選択されたONまたはOFFが登録される。接触時間の項目には、接触時間について設定画面63で入力された秒数が登録される。特殊操作テーブル113の接触時間の項目は空欄になる場合もある。その場合、その特殊操作については所定の既定値(例えば、5秒)が適用される。許容誤差の項目には、許容誤差について設定画面63で入力されたポイント数が登録される。特殊操作テーブル113の許容誤差の項目は空欄になる場合もある。その場合、その特殊操作については全体設定テーブル111の許容誤差が適用される。
欠落許容点数の項目には、欠落許容点数について設定画面63で入力された座標数が登録される。特殊操作テーブル113の欠落許容点数の項目は空欄になる場合もある。その場合、その特殊操作については所定の既定値が適用される。所定の既定値は、好ましくは、0個または1個である。ベクトル補正の項目には、ベクトル補正について設定画面63で選択されたONまたはOFFが登録される。対称性補正の項目には、対称性補正について設定画面63で選択されたONまたはOFFが登録される。コメントの項目には、設定画面63で入力されたコメントが登録される。
次に、タブレット端末100の処理手順について説明する。
図16は、特殊動作設定の手順例を示すフローチャートである。
(S10)特殊動作設定部121は、設定画面61を表示させる。
(S11)特殊動作設定部121は、設定画面61において座標登録の指示を受け付けたか(例えば、座標登録ボタンがタッチされたか)判断する。座標登録の指示を受け付けた場合はステップS12に処理が進み、それ以外の場合はステップS15に処理が進む。
(S12)特殊動作設定部121は、設定画面62を表示させる。タッチ操作検出部122は、同時にまたは順番にタッチされた複数位置の座標を取得する。特殊動作設定部121は、設定情報記憶部110に記憶された特殊操作テーブル113を参照して、取得した新規の座標集合と既存の特殊操作の座標集合とを照合する。このとき、一般補正、欠落点許容、ベクトル補正および対称性補正のうちの1つ以上が行われる。
(S13)特殊動作設定部121は、新規座標集合が何れかの既存座標集合と類似しているか判定する。新規座標集合に類似する既存座標集合が存在する場合、特殊動作設定部121は、設定画面62で指定された座標集合が不適切である旨のメッセージを表示させ、設定画面62を設定画面61に切り替える。そして、ステップS15に処理が進む。新規座標集合に類似する既存座標集合が存在しない場合、ステップS14に処理が進む。
(S14)特殊動作設定部121は、新たな特殊操作の操作IDを生成し、生成した操作IDを特殊操作テーブル113に登録する。また、特殊動作設定部121は、設定画面62で指定された座標の数をカウントし、座標数および設定画面62で指定された複数の座標を特殊操作テーブル113に登録する。このとき、特殊動作設定部121は、画面オフ動作の項目に設定画面61の既定値を登録してもよく、ベクトル補正および対称性補正の項目に設定画面61の既定値(拡張補正の既定値)を登録してもよい。そして、特殊動作設定部121は、設定画面62を設定画面61に切り替える。
(S15)特殊動作設定部121は、設定画面61において個別設定の指示を受け付けたか(例えば、何れかの特殊操作が選択された上で個別設定ボタンがタッチされたか)判断する。個別設定の指示を受け付けた場合はステップS16に処理が進み、それ以外の場合はステップS17に処理が進む。
(S16)特殊動作設定部121は、設定画面63を表示させる。特殊動作設定部121は、設定画面63に対して入力された各種の設定値を取得し、個別アクションテーブル112および特殊操作テーブル113を更新する。このとき更新するテーブル行は、設定画面61で選択された特殊操作に関するテーブル行である。
(S17)特殊動作設定部121は、設定画面61において設定保存の指示を受け付けたか(例えば、保存ボタンがタッチされたか)判断する。設定保存の指示を受け付けた場合はステップS18に処理が進み、それ以外の場合はステップS11に処理が進む。
(S18)特殊動作設定部121は、設定画面61に対して入力された各種の設定値を取得し、全体設定テーブル111を更新する。
(S19)特殊動作設定部121は、全体設定テーブル111に登録された特殊動作モードがONであり、かつ、特殊操作テーブル113に登録された特殊操作が1つ以上存在するか判断する。特殊動作モードがONかつ1以上の特殊操作が存在する場合、ステップS20に処理が進む。特殊動作モードがOFFであるかまたは特殊操作が1つも存在しない場合、特殊動作モードを有効化せずに特殊動作設定が終了する。
(S20)特殊動作設定部121は、特殊動作モードを有効化する。これにより、設定した特殊操作が検出されたとき特定のアクションが自動的に実行されるようになる。
図17は、特殊操作判定の手順例を示すフローチャートである。
(S30)タッチ操作検出部122は、ディスプレイ104に対するタッチ操作を検出し、同時にタッチされた複数のタッチ位置の座標を取得する。
(S31)特殊操作判定部124は、特殊動作モードが有効であるか(全体設定テーブル111の特殊動作モードがONであるか)判断する。特殊動作モードが有効である場合はステップS32に処理が進み、有効でない場合はステップS38に処理が進む。
(S32)特殊操作判定部124は、検出されたタッチ操作の座標集合と設定情報記憶部110に記憶された特殊操作テーブル113の座標集合とを照合する。このとき、一般補正、欠落点許容、ベクトル補正および対称性補正のうちの1つ以上が行われる。
(S33)特殊操作判定部124は、検出されたタッチ操作の座標集合と類似する座標集合が特殊操作テーブル113に登録されているか、すなわち、検出されたタッチ操作の座標集合に該当する特殊操作が存在するか判定する。該当する特殊操作が存在する場合はステップS34に処理が進み、存在しない場合はステップS38に処理が進む。
(S34)特殊操作判定部124は、該当する特殊操作の接触時間を特殊操作テーブル113から取得する。ただし、特殊操作テーブル113の該当欄が空欄である場合、特殊操作判定部124は、接触時間の既定値を取得する。特殊操作判定部124は、ステップS30で検出されたタッチ操作が「接触時間」継続しているか、すなわち、「接触時間」同じ位置がタッチされ続けているか判断する。タッチ操作が「接触時間」継続している場合はステップS35に処理が進み、それ以外の場合はステップS38に処理が進む。
(S35)特殊操作判定部124は、ディスプレイ制御部123にディスプレイ104の状態を問い合わせる。そして、特殊操作判定部124は、ディスプレイ104が画面オン状態(点灯して画面が表示されている状態)であるか判断する。ディスプレイ104が画面オン状態である場合、ステップS37に処理が進む。画面オフ状態(消灯して画面が表示されていない状態)である場合、ステップS36に処理が進む。
(S36)特殊操作判定部124は、該当する特殊操作の画面オフ動作の設定値を特殊操作テーブル113から取得する。特殊操作判定部124は、画面オフ動作の設定が有効か(画面オフ動作がONであるか)判断する。画面オフ動作の設定が有効である場合はステップS37に処理が進み、有効でない場合はステップS38に処理が進む。
(S37)特殊操作判定部124は、該当する特殊操作に対応するアクション名、コマンドおよびオプションを個別アクションテーブル112から取得する。特殊操作判定部124は、取得した情報に応じたアクションを実行する。例えば、特殊操作判定部124は、ダンプ採取部125にダンプ採取を指示する。また、例えば、特殊操作判定部124は、設定された電話番号宛てに発呼するよう発呼部126に指示する。また、例えば、特殊操作判定部124は、コマンドを発行してアプリケーションプログラムを起動する。
(S38)特殊操作判定部124は、タッチ操作に応じた通常処理を実行する。例えば、特殊操作判定部124は、タッチ操作がソフトウェアキーボード上での文字入力を意味する場合、入力された文字を取得する。また、特殊操作判定部124は、タッチ操作が画面上のボタンの選択を意味する場合、ボタンに対応するプログラムを起動する。
図18は、座標照合の手順例を示すフローチャートである。
この座標照合の手順は、前述のステップS12,S32で実行される。ここでは、ステップS32で特殊操作判定部124が座標照合を行う場合を想定する。同様の処理が、ステップS12で特殊動作設定部121によって行われる。
(S40)特殊操作判定部124は、設定情報記憶部110に記憶された特殊操作テーブル113に登録されている特殊操作を1つ選択する。
(S41)特殊操作判定部124は、ステップS40で選択した特殊操作の許容誤差を特殊操作テーブル113から取得する。ただし、該当欄が空欄である場合、特殊操作判定部124は、全体設定テーブル111から許容誤差を取得する。特殊操作判定部124は、取得した許容誤差を用いて一般補正により、タッチ操作検出部122から取得した座標集合とステップS40で選択した特殊操作の座標集合とを比較する。検出された座標とそれに対応する特殊操作の座標との距離が許容誤差以下である場合、特殊操作判定部124は、2つの座標集合は類似すると判定する。
(S42)特殊操作判定部124は、ステップS40で選択した特殊操作の欠落許容点数を特殊操作テーブル113から取得する。ただし、該当欄が空欄である場合、特殊操作判定部124は、欠落許容点数の既定値を取得する。特殊操作判定部124は、取得した欠落許容点数が0より大きいか判断する。欠落許容点数が0より大きい場合はステップS43に処理が進み、それ以外の場合はステップS44に処理が進む。
(S43)特殊操作判定部124は、ステップS42で取得した欠落許容点数を用いて欠落点許容により、検出された座標集合と特殊操作の座標集合とを比較する。検出された座標が特殊操作の座標より少なくても、その差が欠落許容点数以下であり、かつ、検出された座標が特殊操作の何れかの座標と十分に近い(例えば、距離が許容誤差以下である)場合、特殊操作判定部124は、2つの座標集合は類似すると判定する。
(S44)特殊操作判定部124は、ステップS40で選択した特殊操作のベクトル補正の設定を特殊操作テーブル113から取得する。特殊操作判定部124は、ベクトル補正の設定が有効であるか判断する。ベクトル補正の設定が有効である場合はステップS45に処理が進み、有効でない場合はステップS46に処理が進む。
(S45)特殊操作判定部124は、ベクトル補正により、タッチ操作検出部122から取得した座標集合とステップS40で選択した特殊操作の座標集合とを比較する。2つの座標集合の一方に対して所定のシフト量以下のシフトおよび所定の回転量以下の回転などの小さなベクトル補正を行うことで、2つの座標集合が十分に近似する場合、特殊操作判定部124は、2つの座標集合は類似すると判定する。
(S46)特殊操作判定部124は、ステップS40で選択した特殊操作の対称性補正の設定を特殊操作テーブル113から取得する。特殊操作判定部124は、対称性補正の設定が有効であるか判断する。対称性補正の設定が有効である場合はステップS47に処理が進み、有効でない場合はステップS48に処理が進む。
(S47)特殊操作判定部124は、対称性補正により、タッチ操作検出部122から取得した座標集合とステップS40で選択した特殊操作の座標集合とを比較する。2つの座標集合の一方に対して点対称補正または線対称補正を行うことで2つの座標集合が十分に近似する場合、特殊操作判定部124は、2つの座標集合は類似すると判定する。
(S48)特殊操作判定部124は、ステップS41,S43,S45,S47の何れかの補正方法によって、2つの座標集合が類似すると判定されたか判断する。2つの座標集合が類似する場合、検出された座標集合に対して、ステップS40で選択した特殊操作が該当すると判定されて座標照合が終了する。一方、何れの補正方法によっても2つの座標集合が類似しない場合、ステップS49に処理が進む。
(S49)特殊操作判定部124は、登録されている全ての特殊操作がステップS40で選択されたか判断する。全ての特殊操作が選択された場合、検出された座標集合に該当する特殊操作が存在しないと判定されて座標照合が終了する。一方、未選択の特殊操作がある場合、ステップS40に処理が進む。
第2の実施の形態のタブレット端末100によれば、ディスプレイ104上の複数位置を同時にタッチする特殊操作と特定のシステム管理処理とが対応付けて登録される。そして、特殊動作モード中に行われたタッチ操作が特殊操作に該当する場合、その特殊操作に対応付けられたシステム管理処理が自動的に実行される。
これにより、タブレット端末100がキーボードを有していなくても、タッチパネル105を利用して円滑にシステム管理処理を起動させることが可能となる。また、ディスプレイ104が画面オフ状態であっても容易にシステム管理処理を起動させることができる。このため、ディスプレイ104を画面オン状態にする煩雑さが軽減され、また、障害によりディスプレイ104に所望の画面を表示させることができない場合でもシステム管理処理を起動できる。また、特殊操作として指で行うことが困難な複数位置の同時タッチを要求することで、通常使用時に誤ってシステム管理処理が起動されるリスクを低減できる。また、補助デバイスであるシート30,40を使用することで、指で行うことが困難な特殊操作をタブレット端末100上で容易に実行できる。