(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、本発明の実施形態を図面に基づいて説明する。
【0023】
<1.第1実施形態>
<1−1.構成概要>
図1は、第1実施形態に係る画像形成装置10を示す図である。この実施形態では、画像形成装置10として、MFP(マルチ・ファンクション・ペリフェラル(Multi-Functional Peripheral))を例示する。
【0024】
図2は、MFP10の概略構成を示す機能ブロック図である。
【0025】
MFP10は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置(複合機とも称する)である。具体的には、MFP10は、
図2の機能ブロック図に示すように、画像読取部2、印刷出力部3、通信部4、格納部5、入出力部6およびコントローラ9等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【0026】
画像読取部2は、MFP10の所定の位置に載置された原稿を光学的に読み取って(すなわちスキャンして)、当該原稿の画像データ(原稿画像なしいスキャン画像とも称する)を生成する処理部である。この画像読取部2は、スキャン部であるとも称される。
【0027】
印刷出力部3は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【0028】
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、通信ネットワークを介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、MFP10は、所望の相手先との間で各種のデータを授受することが可能である。
【0029】
格納部5は、ハードディスクドライブ(HDD)等の記憶装置で構成される。
【0030】
入出力部6は、MFP10に対する入力を受け付ける操作入力部6aと、各種情報の表示出力を行う表示部6bとを備えている。このMFP10においては、液晶表示パネルに各種センサ等が埋め込まれて構成されたタッチパネル(タッチスクリーンとも称する)(
図1参照)を有する操作パネル部6cが設けられている。この操作パネル部6cは、操作入力部6aの一部としても機能するとともに、表示部6bの一部としても機能する。
【0031】
操作パネル部6c内のタッチパネルは、ユーザによる複数の種類に係るタッチ操作を受け付ける。具体的には、「タップ」操作および「スワイプ」操作等を含む複数の種類の操作が受け付けられる。
【0032】
コントローラ9は、MFP10に内蔵され、MFP10を統括的に制御する制御装置である。コントローラ9は、CPUおよび各種の半導体メモリ(RAMおよびROM)等を備えるコンピュータシステムとして構成される。コントローラ9は、CPUにおいて、ROM(例えば、EEPROM)内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)PG1を実行することによって、各種の処理部を実現する。プログラムPG1は、オブジェクト指向型のプログラムとして作成されている。
【0033】
なお、当該プログラムPG1は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体を介してMFP10にインストールされるようにしてもよい。あるいは当該プログラムPG1は、ネットワークNW等を介してダウンロードされてMFP10にインストールされるようにしてもよい。
【0034】
図2に示すように、コントローラ9は、プログラムPG1を実行することによって、検出部12と操作種類判定部14と描画動作処理部16とを含む各種の処理部を実現する。
【0035】
検出部12は、タッチパネル上でのタッチイベント(詳細には、タッチ状態(「オン」状態)およびタッチ解除状態(「オフ」状態)等)を検出する処理部である。
【0036】
操作種類判定部14は、複数のタッチ操作種類の中から、検出部12によって検出されたタッチイベントに対応するタッチ操作種類を特定(判定)する処理部である。
【0037】
描画動作処理部16は、操作種類判定部14で判定されたタッチ操作種類に応じた描画動作を行う処理部である。
【0038】
具体的には、タッチ操作種類が「タップ」(タッチパネルを指で叩く操作)であると判定されると、描画動作処理部16は、タップ操作種類に応じた描画動作を実行する。たとえば、複数の送信先アドレスが列挙された送信先リストにおいて「タップ」操作により所望のアドレスが選択されると、描画動作処理部16は、当該選択された送信アドレス欄を強調表示する(
図10および
図11参照)。
【0039】
あるいは、タッチ操作種類が「スワイプ」(指をタッチパネルに接触させたまま指を滑らせる操作)であると判定されると、描画動作処理部16は、スワイプ操作に応じた画面遷移処理を実行する。たとえば、複数の送信先アドレスが列挙された送信先リストにおいて上向きに「スワイプ」操作が行われると、描画動作処理部16は、表示中ページを画面内に上向きに移動させる画面更新動作を実行する(
図12および
図13参照)。
【0040】
以下では、操作種類判定部14について詳細に説明する。
【0041】
<1−2.制御用クラスライブラリLBによる携帯端末制御(比較例)>
<制御用クラスライブラリLB>
まず、操作種類判定部14の詳細説明に先立って、タッチ操作に関する制御用クラスライブラリLB等について説明する。
【0042】
図3は、オブジェクト指向型のプログラムに関する制御用クラスライブラリLBにおいて予め準備されている複数の「クラス」を示す図である。ここで、オブジェクト指向型のプログラム言語としては、Java(登録商標)、C++、C#等が存在する。オブジェクト指向型プログラムにおける「クラス」は、変数(データないしフィールドなどとも称する)と手続き(メソッドないし関数などとも称する)との双方を有する構造体として記述される。
【0043】
この制御用クラスライブラリLBには、携帯端末等におけるタッチ操作を管理する機能を有する各種クラスが準備されている。
【0044】
制御用クラスライブラリLBには、ベースソフト部クラスC31、基本(ないし標準)ジェスチャ判定部クラスC33、および基本個別操作判定部クラスC331,C332,...が設けられている。制御用クラスライブラリLBには、基本ジェスチャデータ管理部クラスC34、および基本個別データ管理部クラスC341,C342,...も設けられている。
【0045】
基本ジェスチャ判定部クラスC33は、携帯端末等でのタッチ操作に係る基本的な個別操作群(基本個別操作群とも称する)に関する判定処理を管理するクラスである。この基本ジェスチャ判定部クラスC33は、ベースソフト部クラスC31を継承して生成されたクラスである。また、基本ジェスチャ判定部クラスC33は、その内部クラスとして、基本個別操作判定部クラスC331,C332,...を有している。換言すれば、基本個別操作判定部クラスC331,C332,...は、基本ジェスチャ判定部クラスC33の内部クラス(クラス内クラス)である。
【0046】
また、基本ジェスチャデータ管理部クラスC34は、基本個別操作群に関する判定用の特徴データを管理するクラスである。基本ジェスチャデータ管理部クラスC34は、ベースソフト部クラスC31を継承して生成されたクラスである。また、基本ジェスチャデータ管理部クラスC34は、その内部クラスとして、基本個別データ管理部クラスC341,C342,...を有している。換言すれば、基本個別データ管理部クラスC341,C342,...は、基本ジェスチャデータ管理部クラスC34の内部クラス(クラス内クラス)である。
【0047】
<携帯端末等におけるタッチ操作判定部(比較例)>
たとえば、一般的な携帯端末においてタッチ操作の種類を判定する際に上記の各クラスC33,C34をそれぞれインスタンス化して生成されるオブジェクトによって、後述する基本ジェスチャ判定部33および基本ジェスチャデータ管理部34等が実現され得る。より具体的には、一般的な携帯端末においてタッチ操作の種類を判定する処理部において、上記の各クラスC33,C34を用いて各処理部33,34が実現され得る。以下では、まず、このような比較例について説明する。
【0048】
まず、基本ジェスチャ判定部クラスC33をインスタンス化することによってオブジェクト(ジェスチャ判定オブジェクト)が生成される。当該ジェスチャ判定オブジェクトは、基本ジェスチャ判定部クラスC33に規定されたメソッドで表現される機能を有する処理部である。当該ジェスチャ判定オブジェクトは、継承元のベースソフト部クラスC31に規定されたメソッドで表現される機能をも有している。また、当該ジェスチャ判定オブジェクトは、基本ジェスチャ判定部クラスC33の内部クラス(クラス内クラス)(基本個別操作判定部クラスC331,C332,...)にそれぞれ規定されたメソッドで表現される機能をも有している。当該ジェスチャ判定オブジェクトは、ベースソフト部31、基本ジェスチャ判定部33、および複数の基本個別操作判定部331,332,...(後述)の各機能を有する(
図4参照)。
【0049】
また、基本ジェスチャデータ管理部クラスC34をインスタンス化することによって別のオブジェクト(データ管理オブジェクト)が生成される。当該データ管理オブジェクトは、基本ジェスチャデータ管理部クラスC34に規定されたメソッドで表現される機能を有する処理部である。当該データ管理オブジェクトは、継承元のベースソフト部クラスC31に規定されたメソッドで表現される機能をも有している。また、当該データ管理オブジェクトは、基本ジェスチャデータ管理部クラスC34の内部クラス(クラス内クラス)(基本個別データ管理部クラスC341,C342,...)にそれぞれ規定されたメソッドで表現される機能をも有している。当該データ管理オブジェクトは、ベースソフト部31、基本ジェスチャデータ管理部34、および複数の基本個別操作判定用データ管理部341,342,...(後述)の各機能を有する(
図4参照)。
【0050】
図4は、比較例に係る一般的な携帯端末向けのタッチ操作種類を判定する処理部の構成を示す機能ブロック図である。
図4においては、基本ジェスチャ判定部33およびその周辺の機能処理部が示されている。
【0051】
図4に示すように、基本ジェスチャ判定部33は、複数の基本個別操作判定部331,332,...を有している。基本ジェスチャ判定部33は、複数の基本個別操作判定部331,332,...を統括する処理部である。一方、複数の基本個別操作判定部331,332,...は、「ユーザによるタッチ操作が、基本的な複数の個別操作(基本個別操作群)のそれぞれに該当するか否か」を判定する処理部である。基本個別操作判定部331は、ユーザによるタッチ操作が「タップ」であるか否かを判定する処理部であり、(基本)タップ判定部とも称される。また、基本個別操作判定部332は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定する処理部であり、(基本)スワイプ判定部とも称される。
【0052】
また、基本ジェスチャデータ管理部34は、複数の基本個別操作判定用データ管理部341,342,...を有している。基本ジェスチャデータ管理部34は、複数の基本個別操作判定用データ管理部341,342,...を統括する処理部である。一方、複数の基本個別操作判定用データ管理部341,342,...は、「ユーザによるタッチ操作が、基本個別操作群のそれぞれに該当するか否か」を判定するためのデータを管理する処理部である。基本個別操作判定用データ管理部341は、ユーザによるタッチ操作が「タップ」であるか否かを判定するためのデータ(タッチ継続時間の上限値T1(たとえば、0.2秒)等)を管理する処理部であり、(基本)タップデータ管理部とも称される。また、基本個別操作判定用データ管理部342は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定するためのデータ(タッチ時にスワイプであると判断する指ずれ量の最小値d2(たとえば1ミリメートル)等)を管理する処理部であり、(基本)スワイプデータ管理部とも称される。
【0053】
<比較例に係る動作>
図5は、比較例に係る動作を示すタイミングチャートである。
図5においては、上記の各処理部33,34等の動作が示されている。
【0054】
図5を参照しながら、基本ジェスチャ判定部33および基本ジェスチャデータ管理部34の動作について説明する。
【0055】
基本ジェスチャ判定部33は、複数の基本個別操作判定部331,332,...に対して個別具体的な判定処理の実行を指示する。
【0056】
具体的には、基本ジェスチャ判定部33は、最初の個別操作判定処理、詳細にはタッチ操作がタップ操作であるか否かをタッチイベントデータに基づき判定する処理(タップ判定処理)を、基本タップ判定部331に実行させる。
【0057】
基本タップ判定部331は、まず、検出部12で検出されたタッチイベントデータを受け取る(取得する)(
図5のステップS1,S2参照)。詳細には、当該タッチイベントデータは、検出部12から基本ジェスチャ判定部33へと受け渡され(ステップS1)、さらに基本ジェスチャ判定部33から基本タップ判定部331へと受け渡される(ステップS2)。当該イベントデータには、タッチ操作に関するタッチ状態(「オン」(接触状態)および「オフ」(非接触状態))の経時変化を示すデータ(接触検出信号の時系列データ等)、ならびにタッチパネル内でのタッチ位置(接触位置)の経時変化を示すデータ(タッチ位置の時系列データ等)が含まれる。
【0058】
また、基本タップ判定部331は、基本ジェスチャデータ管理部34および基本タップデータ管理部341を経由して、タップ操作に関する該当性(判定対象のタッチ操作がタップ操作に該当するか否か)を判定するための特徴データ(タップ判定用特徴データ)を取得する(ステップS3,S4,S5,S6)。詳細には、基本タップ判定部331が基本ジェスチャデータ管理部34を経由して基本タップデータ管理部341に対して当該特徴データの取得要求を付与する(ステップS3,S4)。当該基本タップデータ管理部341は、当該取得要求に応答して、基本ジェスチャデータ管理部34を経由して基本タップ判定部331に対して当該特徴データを受け渡す(ステップS5,S6)。具体的には、基本タップ判定部331は、タップであると判断するためのタッチ継続時間の上限値T1(たとえば0.2秒)とタッチ時に許容される指のずれ量の最大値d1(たとえば、0.5ミリメートル)とを、タップ判定用特徴データとして、基本タップデータ管理部341から取得する。
【0059】
そして、基本タップ判定部331は、タッチイベントデータと特徴データとに基づいて、タッチ操作がタップ操作であるか否かを判定する(ステップS7)。
【0060】
具体的には、基本タップ判定部331は、タッチイベントデータに基づいて、タッチ状態の「オン」および「オフ」の存在を確認し、「オン」時点(接触開始時点)と「オフ」時点(接触解除時点)との時間間隔をタッチ継続時間として算出する。また、基本タップ判定部331は、イベントデータに基づいて、「オン」時点でのタッチ位置と「オフ」時点でのタッチ位置との両タッチ位置を求め、当該両タッチ位置の差分に基づいてタッチ時の指のずれ量を算出する。
【0061】
基本タップ判定部331は、タッチ継続時間が上限値T1を超えず且つタッチ時の指のずれ量が最大値d1以下のタッチ操作(端的に言えば、指ずれがほぼ存在しない短期間のタッチ操作)を、「タップ」操作として判定する。このような判定結果は、基本ジェスチャ判定部33により取得され(ステップS8)、基本ジェスチャ判定部33から描画動作処理部16に受け渡される(ステップS9)。これにより、基本ジェスチャ判定部33(基本タップ判定部331)によるタッチ操作判定処理は終了する。
【0062】
逆に、タッチ継続時間が上限値以上あるいはタッチ時の指のずれ量が最大値d1以上のタッチ操作は、「タップ」操作ではないと判定される。なお、接触開始時点あるいは接触解除時点の少なくとも一方が存在しない場合には、「タップ」操作は少なくとも完遂されていないと判定される。したがって、この場合にも、当該タッチ操作は「タップ」操作ではないと判定される。
【0063】
次に、基本ジェスチャ判定部33は、基本タップ判定部331による当該判定結果(タッチ操作が「タップ」操作ではない旨の判定結果)を受けて、当該タッチ操作がスワイプ操作であるか否かをタッチイベントデータに基づき判定する処理を、基本スワイプ判定部332に実行させる。
【0064】
基本スワイプ判定部332は、検出部12で検出されたタッチイベントデータを取得する。また、基本スワイプ判定部332は、基本ジェスチャデータ管理部34および基本スワイプデータ管理部342を経由して、スワイプ操作に関する該当性を判定するための特徴データ(スワイプ判定用特徴データ)を取得する。そして、基本スワイプ判定部332は、タッチイベントデータと当該特徴データとに基づいて、タッチ操作がスワイプ操作であるか否かを判定する。
【0065】
具体的には、基本スワイプ判定部332は、タッチ時にスワイプであると判断する指ずれ量の最小値d2(たとえば1ミリメートル)を取得する。そして、タッチ時の指のずれ量が最小値d2以上のタッチ操作は、「スワイプ」操作であると判定される。
【0066】
図14は、操作パネル部6cのタッチパネルに接触させた指が当該タッチパネル上を有意な距離d(>d2)滑ってしまう状況を示している。このような状況においては、当該タッチ操作は、「タップ」ではなく「スワイプ」であると判定される。その後、
図15に示すような描画処理(スワイプ操作によってアドレス表示領域RE(詳細には、ユーザ「BBB」〜「GGG」の表示領域)が上側にスライド移動される処理等)が行われる。
【0067】
なお、ここでは、複数の個別のタッチ操作判定処理(個別操作判定処理とも称する)のうち、タップ操作判定処理およびスワイプ操作判定処理について詳細に説明したが、その他の個別のタッチ操作判定処理(フリック操作判定処理等)も同様にして実行される。
【0068】
<1−3.MFP操作パネルへの適用>
<概略>
ところで、上述のように、MFP10の操作パネル部6cに対するタッチ操作に関しては、携帯端末等でのタッチ操作とは若干異なる事情が存在する。
【0069】
たとえば、上述のように、画像形成装置に固定された操作パネルをユーザが立った状態で操作する状況において、ユーザの力加減がうまく行かず(力の入り過ぎで)、ユーザがタップ操作を行おうとしてタッチパネルに接触させた指が当該ユーザの意に反して当該タッチパネル上を若干量滑ってしまうことがある。
【0070】
このような場合において、上記比較例の判定手法により「タップ」であるか否かを判定すると、「タップ」であるとは正確に判断されず、「スワイプ」であると判定されることもある。その場合、ユーザは「タップ」操作のやり直しを求められる。
【0071】
そこで、この実施形態では、「タップ」操作と判断する際の基準を調整してタップ操作を判断する。具体的には、微小時間以内の接触期間を有するタッチ操作において指がずれた場合でも当該指のずれ量が基準距離d1以下であるときには、当該タッチ操作は「タップ」であると判定される。これにより、当該タッチ操作が「スワイプ」であると判定されることが回避される。
【0072】
このように、MFP10の操作パネル部6cに対するタッチ操作判定に関しては、携帯端末等でのタッチ操作判定とは異なる判定が行われる。換言すれば、MFP10の操作パネル部6cのタッチパネルに関する個別操作群(拡張個別操作群)は、携帯端末のタッチパネルに関する個別操作群(基本個別操作群)と比較して、少なくとも1つの異なる内容の操作を含み、基本個別操作群の判定処理とは異なる内容の処理が当該拡張個別操作群の判定処理において実行される。すなわち、拡張個別操作群(タップ操作およびスワイプ操作等)に関する判定処理群(拡張個別判定処理群)は、基本個別操作群(タップ操作およびスワイプ操作等)に関する判定処理群(基本個別判定処理群)のいずれとも異なる判定処理(独自の判定処理)を含む。この実施形態においては、「タップ」操作に関する該当性を判断する際の基準のみならず「スワイプ」操作に関する該当性を判断する際の基準も変更されるため、拡張個別操作群に関する判定処理群は、基本個別操作群に関する判定処理群のいずれとも異なる2つの判定処理を含む。
【0073】
なお、このような判定処理は、ジェスチャ判定部35およびジェスチャデータ管理部36(次述)によって実行される。
【0074】
<拡張クラスライブラリLE>
つぎに、この実施形態に係るMFP10の操作種類判定部14について詳細に説明する。この操作種類判定部14は、上記の制御用クラスライブラリLBを利用して実現される。
【0075】
操作種類判定部14は、ジェスチャ判定部35とジェスチャデータ管理部36とを有する。ジェスチャ判定部35は、MFP10の操作パネル部6cに対する個別操作群(「タップ操作」および「スワイプ操作」等)に関する判定処理を管理する処理部である。ジェスチャデータ管理部36は、当該操作パネル部6cに対する個別操作群(拡張個別操作群)に関する判定用の特徴データを管理する処理部である。
【0076】
ジェスチャ判定部35およびジェスチャデータ管理部36は、制御用クラスライブラリLBを拡張した拡張(制御用)クラスライブラリLE(
図6参照)を利用して実現される。
【0077】
図6は、拡張クラスライブラリLEにおける複数の「クラス」を示す図である。
【0078】
拡張クラスライブラリLEには、基本クラスライブラリLB内の各種のクラスに加えて、拡張ジェスチャ判定部クラスC35および拡張ジェスチャデータ管理部クラスC36も設けられている。
【0079】
拡張ジェスチャ判定部クラスC35は、MFP10の操作パネル部6cでのタッチ操作に係る個別操作群(拡張個別操作群とも称する)に関する判定処理を管理するクラスである。拡張ジェスチャ判定部クラスC35は、制御用クラスライブラリLB内において予め準備されている基本ジェスチャ判定部クラスC33を継承して生成されたクラスである。また、拡張ジェスチャ判定部クラスC35は、その内部クラスとして、拡張個別操作判定部クラスC351,C352,...を有している。換言すれば、拡張個別操作判定部クラスC351,C352,...は、拡張ジェスチャ判定部クラスC35の内部クラス(クラス内クラス)である。
【0080】
また、拡張ジェスチャデータ管理部クラスC36は、拡張個別操作群に関する判定用の特徴データを管理するクラスである。拡張ジェスチャデータ管理部クラスC36は、制御用クラスライブラリLB内において予め準備されている基本ジェスチャデータ管理部クラスC34を継承して生成されたクラスである。拡張ジェスチャデータ管理部クラスC36は、その内部クラスとして、拡張個別データ管理部クラスC361,C362,...を有している。換言すれば、拡張個別データ管理部クラスC361,C362,...は、拡張ジェスチャデータ管理部クラスC36の内部クラス(クラス内クラス)である。
【0081】
上述のように、拡張ジェスチャ判定部クラスC35は、基本ジェスチャ判定部クラスC33を継承して生成されたクラスである。
図9は、このような継承を伴った拡張ジェスチャ判定部クラスC35を示す図である。
【0082】
図9に示すように、拡張ジェスチャ判定部クラスC35は、基本ジェスチャ判定部クラスC33からそのまま継承した継承メソッドと、基本ジェスチャ判定部クラスC33に追加した追加メソッドとを有している。追加メソッドには、新規に追加した新規追加メソッド、および/または、基本ジェスチャ判定部クラスC33と同一名称のメソッドに上書きした上書きメソッドが存在する。
【0083】
拡張ジェスチャ判定部クラスC35にてこのような継承を行うことによれば、拡張個別操作群(比較例に係る基本操作とは異なる操作を含む操作群)に関する判定を行う「タッチ操作種類判定」に関して、既存の基本ジェスチャ判定部クラスC33を有効に利用して拡張ジェスチャ判定部クラスC35を容易に生成することが可能である。より詳細には、基本ジェスチャ判定部クラスC33とは異なる部分を追加メソッドとして拡張ジェスチャ判定部クラスC35において規定することによって、MFP10の操作パネル部6c用のタッチ操作種類判定処理ルーチンを容易に構築することが可能である。
【0084】
また、拡張ジェスチャデータ管理部クラスC36についても同様である。拡張ジェスチャデータ管理部クラスC36は、基本ジェスチャデータ管理部クラスC34を継承して生成されたクラスである。
【0085】
拡張ジェスチャデータ管理部クラスC36は、基本ジェスチャデータ管理部クラスC34からそのまま継承した継承メソッドと、基本ジェスチャデータ管理部クラスC34に追加した追加メソッドとを有している。追加メソッドには、新規に追加した新規追加メソッド、および/または、基本ジェスチャデータ管理部クラスC34のメソッドと同一名称のメソッドに上書きした上書きメソッドが存在する。
【0086】
拡張ジェスチャデータ管理部クラスC36にてこのような継承を行うことによれば、拡張個別操作群(比較例に係る基本操作とは異なる操作を含む操作群)に関する判定を行う「タッチ操作種類判定」に関して、既存の基本ジェスチャデータ管理部クラスC34を有効に利用して拡張ジェスチャデータ管理部クラスC36を容易に生成することが可能である。より詳細には、基本ジェスチャデータ管理部クラスC34とは異なる部分を追加メソッドとして拡張ジェスチャデータ管理部クラスC36において規定することによって、MFP10の操作パネル部6c用のタッチ操作種類判定処理に関するデータ管理ルーチンを容易に構築することが可能である。
【0087】
<操作種類判定部14における各処理部>
この実施形態においては、MFP10の操作パネル部6cにおけるタッチ操作の種類を判定する処理に関し、上記の各クラスC35,C36をそれぞれインスタンス化して生成されるオブジェクトによって、後述の(拡張)ジェスチャ判定部35および(拡張)ジェスチャデータ管理部36等が実現される(
図7も参照)。
【0088】
まず、ジェスチャ判定部35は、(制御用クラスライブラリLB内において予め準備されている基本ジェスチャ判定部クラスC33を継承して生成された)拡張ジェスチャ判定部クラスC35をインスタンス化して実現される(
図6および
図7参照)。ジェスチャ判定部35は、拡張ジェスチャ判定部とも称される。
【0089】
具体的には、拡張ジェスチャ判定部クラスC35をインスタンス化することによってオブジェクト(拡張ジェスチャ判定オブジェクト)が生成される。当該拡張ジェスチャ判定オブジェクトは、拡張ジェスチャ判定部クラスC35に規定されたメソッドで表現される機能を有する処理部である。当該拡張ジェスチャ判定オブジェクトは、継承元の基本ジェスチャ判定部クラスC33に規定されたメソッドで表現される機能をも有している。また、当該拡張ジェスチャ判定オブジェクトは、拡張ジェスチャ判定部クラスC35の内部クラス(クラス内クラス)(拡張個別操作判定部クラスC351,C352,...)にそれぞれ規定されたメソッドで表現される機能をも有している。換言すれば、当該拡張ジェスチャ判定オブジェクトは、ベースソフト部31、基本ジェスチャ判定部33、拡張ジェスチャ判定部35、および複数の拡張個別操作判定部351,352,...の各機能を有する。
【0090】
また、ジェスチャデータ管理部36は、(制御用クラスライブラリLB内において予め準備されている基本ジェスチャデータ管理部クラスC34を継承して生成された)拡張ジェスチャデータ管理部クラスC36をインスタンス化して実現される(
図6および
図7参照)。ジェスチャデータ管理部36は、拡張ジェスチャデータ管理部とも称される。
【0091】
具体的には、拡張ジェスチャデータ管理部クラスC36をインスタンス化することによって、拡張ジェスチャ判定オブジェクトとは別のオブジェクト(拡張データ管理オブジェクト)が生成される。当該拡張データ管理オブジェクトは、拡張ジェスチャデータ管理部クラスC36に規定されたメソッドで表現される機能を有する処理部である。当該拡張データ管理オブジェクトは、継承元の基本ジェスチャデータ管理部クラスC34に規定されたメソッドで表現される機能をも有している。また、当該拡張データ管理オブジェクトは、拡張ジェスチャデータ管理部クラスC36の内部クラス(クラス内クラス)(拡張個別データ管理部クラスC361,C362,...)にそれぞれ規定されたメソッドで表現される機能をも有している。換言すれば、当該データ管理オブジェクトは、ベースソフト部31および拡張ジェスチャデータ管理部36、および複数の拡張個別操作判定用データ管理部361,362,...を実現する処理部である(
図7参照)。
【0092】
なお、この実施形態においては、拡張ジェスチャ判定部35が基本ジェスチャ判定部33に代えて設けられ、拡張ジェスチャデータ管理部36が基本ジェスチャデータ管理部34に代えて設けられる。この実施形態に係る操作種類判定部14には、継承元の基本ジェスチャ判定部クラスC33に対応する基本ジェスチャ判定部33は存在せず、且つ、継承元の基本ジェスチャデータ管理部クラスC34に対応する基本ジェスチャデータ管理部34も存在しない。
【0093】
図7は、この実施形態に係る操作パネル部6c向けのタッチ操作種類を判定する処理部の構成を示す機能ブロック図である。
図7においては、拡張ジェスチャ判定部35およびその周辺の機能処理部が示されている。
【0094】
図7に示すように、拡張ジェスチャ判定部35は、複数の拡張個別操作判定部351,352,...を有している。拡張ジェスチャ判定部35は、複数の拡張個別操作判定部351,352,...を統括する処理部である。一方、複数の拡張個別操作判定部351,352,...は、「ユーザによるタッチ操作が、操作パネル部6cに対する複数の個別操作(複数の個別タッチ操作)に係る個別操作群(拡張個別操作群)のそれぞれに該当するか否か」を判定する処理部である。拡張個別操作判定部351は、ユーザによるタッチ操作が「タップ」であるか否かを判定する処理部であり、(拡張)タップ判定部とも称される。また、拡張個別操作判定部352は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定する処理部であり、(拡張)スワイプ判定部とも称される。
【0095】
また、拡張ジェスチャデータ管理部36は、複数の拡張個別操作判定用データ管理部361,362,...を有している。拡張ジェスチャデータ管理部36は、複数の拡張個別操作判定用データ管理部361,362,...を統括する処理部である。一方、複数の拡張個別操作判定用データ管理部361,362,...は、「ユーザによるタッチ操作が、複数の個別操作群(拡張個別操作群)のそれぞれに該当するか否か」を判定するためのデータを管理する処理部である。
【0096】
拡張個別操作判定用データ管理部361は、ユーザによるタッチ操作が「タップ」であるか否かを判定するためのデータを管理する処理部であり、(拡張)タップデータ管理部とも称される。拡張タップデータ管理部361は、タップであると判断するためのタッチ継続時間の上限値T11(たとえば0.2秒)を有するとともに、タッチ時に許容される指のずれ量の最大値d11(たとえば4ミリメートル)をも有する。
【0097】
また、拡張個別操作判定用データ管理部362は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定するためのデータを管理する処理部であり、(拡張)スワイプデータ管理部とも称される。拡張スワイプデータ管理部362は、スワイプであると判断するためのタッチ継続時間の下限値T12(たとえば0.2秒)を有するとともに、タッチ時にスワイプであると判断するための指ずれ量の最小値d12(たとえば4ミリメートル)をも有する。
【0098】
<操作種類判定部14の動作>
図8は、この実施形態に係るタッチ操作種類判定動作を示すタイミングチャートである。
図8においては、上記の各処理部35,36等の動作が示されている。
【0099】
図8を参照しながら、このような拡張ジェスチャ判定部35および拡張ジェスチャデータ管理部36の動作について説明する。なお、拡張ジェスチャ判定部35による各処理は拡張ジェスチャ判定オブジェクトを用いて実行され、拡張ジェスチャデータ管理部36による各処理は拡張データ管理オブジェクトを用いて実行される。
【0100】
拡張ジェスチャ判定部35は、複数の拡張個別操作判定部351,352,...に対して個別具体的な判定処理の実行を指示し、当該複数の拡張個別操作判定部351,352,...と協働して、ユーザによるタッチ操作の種類(タッチ操作種類)を判定する。
【0101】
具体的には、拡張ジェスチャ判定部35は、最初の個別操作判定処理、詳細にはタッチ操作がタップ操作であるか否かをタッチイベントデータに基づき判定する処理(タップ判定処理)を、拡張タップ判定部351に実行させる。
【0102】
拡張タップ判定部351は、まず、検出部12で検出されたタッチイベントデータを受け取る(取得する)(
図8のステップS11,S12参照)。詳細には、当該タッチイベントデータは、検出部12から拡張ジェスチャ判定部35へと受け渡され(ステップS11)、さらに拡張ジェスチャ判定部35から拡張タップ判定部351へと受け渡される(ステップS12)。当該イベントデータには、タッチ操作に関するタッチ状態(「オン」(接触状態)および「オフ」(非接触状態))の経時変化を示すデータ(接触検出信号の時系列データ等)、ならびにタッチパネル内でのタッチ位置(接触位置)の経時変化を示すデータ(タッチ位置の時系列データ等)が含まれる。
【0103】
また、拡張タップ判定部351は、拡張ジェスチャデータ管理部36および拡張タップデータ管理部361を経由して、タップ操作に関する該当性(判定対象のタッチ操作がタップ操作に該当するか否か)を判定するための特徴データ(タップ判定用特徴データ)を取得する(ステップS13,S14,S15,S16)。詳細には、拡張タップ判定部351が拡張ジェスチャデータ管理部36を経由して拡張タップデータ管理部361に対して当該特徴データの取得要求を付与する(ステップS13,S14)。当該拡張タップデータ管理部361は、当該取得要求に応答して、拡張ジェスチャデータ管理部36を経由して拡張タップ判定部351に対して当該特徴データを受け渡す(ステップS15,S16)。具体的には、拡張タップ判定部351は、タッチ継続時間の上限値T11(たとえば0.2秒)とタッチ時に許容される指のずれ量の最大値d11(たとえば4ミリメートル)とを拡張タップデータ管理部361からタップ判定用特徴データとして取得する。なお、値d11は、値d1よりも大きな値である。
【0104】
そして、拡張タップ判定部351は、タッチイベントデータと特徴データとに基づいて、タッチ操作がタップ操作であるか否かを判定する(ステップS17)。
【0105】
具体的には、拡張タップ判定部351は、タッチイベントデータに基づいて、タッチ状態の「オン」および「オフ」の存在を確認し、「オン」時点(接触開始時点)と「オフ」時点(接触解除時点)との時間間隔をタッチ継続時間として算出する。また、拡張タップ判定部351は、イベントデータに基づいて、「オン」時点でのタッチ位置と「オフ」時点でのタッチ位置との両タッチ位置を求め、当該両タッチ位置の差分に基づいてタッチ時の指のずれ量を算出する。
【0106】
拡張タップ判定部351は、タッチ継続時間が上限値T11を超過せず且つタッチ時の指のずれ量が最大値d11以下のタッチ操作を、「タップ」操作として判定する。これによれば、ユーザがタップ操作を行おうとしてタッチパネルに接触させた指が当該ユーザの意に反して当該タッチパネル上を若干量滑ってしまう場合においても、当該指のずれ量dが基準距離d11以下であるときには、当該タッチ操作は「タップ」であると判定される。これにより、当該タッチ操作が「スワイプ」であると判定されることが回避される。
【0107】
図10は、操作パネル部6cのタッチパネルに接触させた指がユーザの意に反して当該タッチパネル上を若干量d(d<基準距離d11)滑ってしまう状況を示している。このような状況においても、上記のような本実施形態に係る判定処理によれば、当該タッチ操作は「タップ」であると判定される。また、この判定結果は、拡張ジェスチャ判定部35により取得され(ステップS18)、拡張ジェスチャ判定部35から描画動作処理部16に受け渡される(ステップS19)。これにより、拡張ジェスチャ判定部35(拡張タップ判定部351)によるタッチ操作判定処理は終了する。
【0108】
その後、
図11に示すような描画処理(タッチ操作によって選択された領域「CCC」が強調表示(ここでは着色表示)される処理)が行われる。
【0109】
以上のようにして、当該タッチ操作が「タップ」操作であることが適切に判定され、当該判定に応じた処理が適切に実行される。
【0110】
逆に、タッチ継続時間が上限値T11を超過するかあるいはタッチ時の指のずれ量が最大値d11より大きい場合には、拡張タップ判定部351は、当該タッチ操作はタップ操作ではない旨を判定する。なお、接触開始時点あるいは接触解除時点の少なくとも一方が存在しない場合には、「タップ」操作は少なくとも完遂されていないと判定される。この場合にも、当該タッチ操作は「タップ」操作ではないと判定される。
【0111】
次に、拡張ジェスチャ判定部35は、拡張タップ判定部351による当該判定結果(タッチ操作が「タップ」操作ではない旨の判定結果)を受けて、スワイプ判定処理(タッチ操作がスワイプ操作であるか否かをタッチイベントデータに基づき判定する処理)を拡張スワイプ判定部352に実行させる。
【0112】
拡張スワイプ判定部352は、検出部12で検出されたタッチイベントデータを取得する。また、拡張スワイプ判定部352は、拡張ジェスチャデータ管理部36および拡張スワイプデータ管理部362を経由して、スワイプ操作に関する該当性を判定するための特徴データ(スワイプ判定用特徴データ)を取得する。そして、拡張スワイプ判定部352は、タッチイベントデータと当該特徴データとに基づいて、タッチ操作がスワイプ操作であるか否かを判定する。
【0113】
具体的には、拡張スワイプ判定部352は、スワイプであると判断するためのタッチ継続時間の下限値T12(たとえば0.2秒)とタッチ時にスワイプであると判断する指ずれ量の最小値d12(たとえば4ミリメートル)とを取得する。なお、値d12は、値d2よりも大きな値である。
【0114】
そして、タッチ継続時間が下限値T12以上且つタッチ時の指のずれ量が最小値d12以上のタッチ操作は、「スワイプ」操作であると判定される。これによれば、上記のような微小な指ずれを許容してタップ操作の有無を適切に判定しつつ、さらに長い距離にわたる指の移動操作を適切に「スワイプ」操作として判定することが可能である。
【0115】
図12は、ユーザが自らの意思でその指を操作パネル部6cのタッチパネルに接触させるとともに当該指をタッチパネル上において若干量d(d>基準距離d12)滑らせている状況を示している。このような状況においては、上記のような本実施形態に係る判定処理によれば、当該タッチ操作は「スワイプ」であると判定される。その後、
図13に示すような描画処理(スワイプ操作によってアドレス表示領域RG(詳細には、ユーザ「BBB」〜「GGG」の表示領域)が上側にスライド移動される処理)が行われる。これによれば、タッチ操作が「スライド」操作であることが適切に判定され、当該判定に応じた処理が適切に実行される。
【0116】
なお、上記においては、複数の個別のタッチ操作判定処理のうち、タップ操作およびスワイプ操作について詳細に説明したが、その他の個別のタッチ操作判定処理(フリック判定処理等)も同様にして実行される。また、上記においては、拡張タップ判定部351による当該判定結果(タッチ操作が「タップ」操作ではない旨の判定結果)を受けて、拡張スワイプ判定部352のスワイプ判定処理が実行される態様が例示されているが、これに限定されない。たとえば、拡張タップ判定部351の判定結果にかかわらず、全ての個別のタッチ操作判定処理が順次に実行されるようにしてもよい。
【0117】
ここにおいて、上述の本実施形態に係る個別操作に関する判定処理群は、上述の比較例に係る個別操作に関する判定処理群とは相違する。具体的には、拡張タップ判定部351によるタップ判定処理は、基本タップ判定部331によるタップ判定処理とは異なっており、拡張スワイプ判定部352によるスワイプ判定処理は、基本スワイプ判定部332によるスワイプ判定処理とは異なっている。このように、本実施形態において拡張ジェスチャ判定部35で実行される複数の判定処理(判定処理群)(拡張タップ判定部351の「タップ」判定処理、拡張スワイプ判定部352の「スワイプ判定処理」、...)は、上記比較例において基本ジェスチャ判定部33で実行される複数の判定処理(基本タップ判定部331の「タップ」判定処理、基本スワイプ判定部332の「スワイプ判定処理」、...)のいずれとも異なる判定処理を含む。そして、このような判定処理によって、比較例に係る判定結果(
図14および
図15参照)とは異なる判定結果が得られる(特に、
図10および
図11参照)。
【0118】
以上のような実施形態によれば、MFP10の操作パネル部6cにおける複数の種類のタッチ操作を判定する操作種類判定部14(特に、独自の判定内容を有する拡張ジェスチャ判定部35等)が、既存の制御用ソフトウエアライブラリをそのままではなくカスタマイズして利用されることによって実現される。詳細には、操作種類判定部14(特に、拡張ジェスチャ判定部35および拡張ジェスチャデータ管理部36)は、制御用クラスライブラリLBにおける基本クラスC33,C34をそれぞれ継承して生成された拡張クラスC35,C36をインスタンス化して実現される。端的に言えば、オブジェクト指向プログラミング等における「クラス」の継承等が行われて、拡張ジェスチャ判定部35および拡張ジェスチャデータ管理部36等が実現される。したがって、既存の資産を引き継ぎつつ、新たな機能を容易に追加することあるいは既存の機能を容易に改変することが可能である。すなわち、ソフトウエアの開発工数を削減しつつ、カスタマイズされたタッチ操作判定処理を容易に実現することが可能である。
【0119】
<2.第2実施形態>
第2実施形態は、第1実施形態の変形例である。以下、第2実施形態との相違点を中心に説明する。
【0120】
上記第1実施形態においては、拡張タップ判定部351等において、タッチイベントデータに含まれる時系列データが随時参照されて、個別操作判定処理が実行されている。
【0121】
一方、第2実施形態においては、個別操作の進捗状況を示す各ステータスデータSDもが利用されて、個別操作判定処理が行われる。各ステータスデータSDは拡張ジェスチャデータ管理部36(より詳細には拡張個別操作判定用データ管理部361,362,...)にて管理され、拡張ジェスチャ判定部35(より詳細には拡張個別操作判定部351,352,...)が当該各ステータスデータSDを利用してタッチ操作種類を判定する。
【0122】
図16は、拡張ジェスチャ判定部35と拡張ジェスチャデータ管理部36との間でステータスデータSDの授受等がなされる様子を示す図である。
図16に示すように、拡張ジェスチャ判定部35は、拡張ジェスチャデータ管理部36から各ステータスデータSDを取得し、当該各ステータスデータSDに基づいて、タッチ操作種類を判定する。より詳細には、各拡張個別操作判定部351,352,...は、それぞれ、対応する拡張個別操作判定用データ管理部361,362,...から各ステータスデータSDを取得し(ステップS81(
図18も参照))、当該各ステータスデータSDに基づいて、タッチ操作種類を判定する(ステップS82〜S86)。たとえば、拡張タップ判定部351は、対応する拡張タップデータ管理部361から、タップ操作に関するステータスデータSDを取得し、当該ステータスデータSDに基づいて、タッチ操作が「タップ」であるか否かを判定する。なお、ステータスデータSDは、タッチイベントデータの内容に応じて随時更新される(ステップS87)。
【0123】
以下では、複数の個別操作のうちタップ操作に関する判定処理について詳細に説明する。なお、その他の種類の個別操作に関する判定処理についても、適宜の種類および適宜の数のステータスが考慮されればよい。
【0124】
図17は、タッチ操作に関するタッチ状態(「オン」(接触状態)および「オフ」(非接触状態))の経時変化を示す図である。
図17においては、当該タップ操作に関するステータスの変遷が示されている。
図17に示すように、タップ操作に関しては、4つのステータスSTa,STb,STc,STdが存在する。
【0125】
ステータスSTaは、アイドリング状態(待機状態)を示すステータスである。ステータスSTbは、タッチパネルの押下操作開始直後から押下解除までの状態を示すステータスである。ステータスSTcは、押下解除直後から所定期間経過までの状態を示すステータスである。ステータスSTdは、タップ操作が完遂された状態を示すステータスである。
【0126】
図18は、拡張タップ判定部351における判定処理を示すフローチャートである。
【0127】
まず、ステップS81において、拡張タップ判定部351は、拡張タップデータ管理部361からステータスデータSDを取得する。
【0128】
次のステップS82においては、現在のステータスに応じた分岐処理が行われる。現在のステータスを示すステータスデータSDがステータスSTaであるときには、ステップS83に進む。ステータスデータSDがステータスSTbであるときには、ステップS84に進む。同様に、ステータスデータSDがステータスSTcであるときには、ステップS85に進み、ステータスデータSDがステータスSTdであるときには、ステップS86に進む。
【0129】
ステップS83においては、押下操作の検出の有無に応じた処理が実行される。
【0130】
具体的には、押下操作が検出されない場合には、ステータスSTaが維持される(ステップS87)。
【0131】
一方、ステップS83において押下操作が検出される場合には、ステータスSTbへの変更処理が行われる。具体的には、押下開始時における指位置(X,Y)が記録され、押下開始時点からの経過時間(タッチ継続時間)tの計測が開始されるとともに、ステータスデータSDがステータスSTbに更新される(ステップS87)。
【0132】
ステップS84においては、押下操作の検出の有無に応じた次のような処理が実行される。
【0133】
具体的には、押下操作が継続される場合には、指のずれ量dに関するチェックと経過時間tに関するチェックとが行われる。指のずれ量が上述の許容値d11を超過すると、ステータスデータSDがリセットされる(ステータスSTaに戻される)(ステップS87)。タッチ継続時間tが上述の上限値T1を超過するときにも、ステータスデータSDがリセットされる(ステータスSTaに戻される)(ステップS87)。なお、指のずれ量dが上述の許容値d1を超過せず且つ経過時間tが上限値T1を超過しない(d<d1,且つ、t<T1)ときには、ステータスデータSDはステータスSTbに維持される(ステップS87)。
【0134】
一方、押下解除が検出される場合には、ステータスデータSDがステータスSTcに変更される。詳細には、拡張タップ判定部351は、拡張ジェスチャ判定部35および拡張ジェスチャデータ管理部36を経由して拡張タップデータ管理部361に対してステータスデータSDの更新要求を送出し、拡張タップデータ管理部361は当該更新要求に応じて、ステータスデータSDをステータスSTcに変更(更新)する(ステップS87)。
【0135】
また、押下解除検出からの経過時間tfの計測が開始される。
【0136】
ステップS85においては、押下操作の検出の有無に応じた次のような処理が実行される。
【0137】
具体的には、経過時間tfが所定値T5(たとえば0.5秒)に到達するまでに押下操作が検出される場合には、ステータスデータSDがリセットされる(ステータスSTaに戻される)(ステップS87)。
【0138】
一方、押下操作が検出されない場合には、経過時間tfが所定値T5(たとえば0.5秒)に到達したか否かが判定される。経過時間tfが値T5に到達するまでは、ステータスデータSDはステータスSTcに維持される。経過時間tfが値T5に到達すると、ステータスデータSDはステータスSTdに変更される(ステップS87)。
【0139】
ステップS86においては、タッチ操作は「タップ」である旨が判定される。そして、ステータスデータSDがリセットされる(ステータスSTaに戻される)(ステップS87)。
【0140】
このような処理(ステータスデータSDに応じた処理)を繰り返すことによって、ステータスデータSDが徐々に変更される。ステータスデータSDがステータスSTaからステータスSTb,STcを経てステータスSTdに到達すると、タップ操作が行われた旨が判定される。
【0141】
このように、第2実施形態においては、少なくとも1つの個別操作に関する判定処理およびデータ管理処理において、第1実施形態とは異なる処理がそれぞれ行われる。具体的には、タップ判定処理において、ステータスデータSDを利用して、上記比較例(および第1実施形態)とは異なる判定手法が用いられている。また、タップデータ管理部においては、上記比較例では存在しなかったステータスデータSDの管理等もが行われている。
【0142】
ステータスデータSDを用いることによれば、拡張タップ判定部351において全ての時系列データを判定しつつタップ操作の有無を判定する場合(第1実施形態)に比べて、タッチ操作におけるステータス変化の進捗状況を容易に把握しつつ拡張タップ判定部351での判定処理を行うことが可能である。
【0143】
<3.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【0144】
たとえば、上記各第1実施形態においては、拡張スワイプ判定部352が、タッチ継続時間の下限値T12(たとえば0.2秒)以上の期間に亘ってタッチ操作が継続し且つ当該タッチ操作における指ずれ量が最小値d12(たとえば4ミリメートル)以上であることを条件に、当該タッチ操作がスワイプ操作である旨を判定しているが、これに限定されない。
【0145】
たとえば、拡張スワイプ判定部352は、タッチ継続時間の下限値T12(たとえば0.2秒)以上の期間に亘ってタッチ操作が継続していることのみを条件に、当該タッチ操作がスワイプ操作である旨を判定するようにしてもよい。
【0146】
あるいは、拡張スワイプ判定部352は、タッチ操作における指ずれ量が所定値d12(たとえば4ミリメートル)以上であることのみを条件に、当該タッチ操作がスワイプ操作である旨を判定するようにしてもよい。
【0147】
また、上記実施形態においては、タッチ判定処理およびスワイプ判定処理のそれぞれに関して、基本個別操作とは異なる内容のカスタマイズされた判定動作が拡張ジェスチャ判定部35等において行われる態様が例示されているが、これに限定されない。たとえば、その他の種類の判定処理に関して、上記と同様の思想が適用され、基本個別操作とは異なる内容のカスタマイズされた判定動作が行われるようにしてもよい。
【0148】
また、上記実施形態においては、拡張個別操作群は、基本個別操作群に含まれる特定種類の操作(「タップ操作」)と同一名称の特定操作であって当該特定種類の操作とは異なる基準でその該当性が判定される特定操作(「タップ操作」)を含む態様が例示されている。端的に言えば、或る基本個別判定処理(「タップ操作」)に関してその判定内容が調整される態様が例示されている。しかしながら、本発明はこれに限定されない。
【0149】
たとえば、新たな種類の個別判定処理が追加的に拡張ジェスチャ判定部35にて判定されるようにしてもよい。換言すれば、拡張ジェスチャ判定部35にて判定される複数の個別操作には、基本ジェスチャ判定部33にて判定される複数の個別操作とは異なる種類の操作が含まれていてもよい。
【0150】
具体的には、拡張ジェスチャ判定部35内において、新たな種類の個別判定処理(たとえば、ロングタップ(上記の「タップ」よりも長い期間に亘る押下操作を伴うタップ操作))を行うロングタップ判定部が設けられるようにしてもよい。より詳細には、当該ロングタップ判定部に対応する「クラス」(ロングタップ判定部クラス)が、基本ジェスチャ判定部クラスC33を継承した拡張ジェスチャ判定部クラスC35内に規定されるようにすればよい。そして、当該ロングタップ判定部クラスを含む拡張ジェスチャ判定部クラスC35がインスタンス化されることによって拡張ジェスチャ判定部35および拡張ロングタップ判定部353(拡張個別判定部)が実現されるようにすればよい。
【0151】
上記実施形態においては、MFP10(詳細にはその本体部)に内蔵されたコンピュータにおいてプログラムPG1が実行されているが、これに限定されない。たとえば、MFP10の操作パネル部6cに内蔵されたコンピュータにおいて、上記プログラムPG1と同様の機能を実現するプログラムが実行されるようにしてもよい。