(57)【要約】【課題】ユーザーのジェスチャ操作を検知した場合に、ＣＰＵにかかる負荷を低減し、効率的にユーザーの入力操作に対応する操作イベントを特定できるようにする。【解決手段】画像処理装置は、各種表示画面を表示する表示部５と、表示部５の表示画面に対するユーザーの入力操作を検知するタッチセンサ６ａと、表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する設定部３１と、ユーザーの入力操作が検知されることに伴い、複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、表示画面に対して関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して操作イベントを特定する操作イベント判定部３３と、操作イベント判定部３３によって特定された操作イベントに基づく制御を行う制御実行部３４と、を備える。【選択図】図４
2014078097.tif 000002
【特許請求の範囲】
【請求項１】
各種表示画面を表示する表示手段と、
前記表示手段の表示画面に対するユーザーの入力操作を検知する入力検知手段と、
前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する設定手段と、
前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記表示手段に表示されている表示画面に対して前記設定手段によって関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して、ユーザーの入力操作に対応する操作イベントを特定する操作イベント判定手段と、
前記操作イベント判定手段によって特定された操作イベントに基づく制御を行う制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記設定手段は、電源投入時に、前記表示手段に表示可能な各種表示画面を解析することにより、各表示画面において検知対象となる操作イベントを特定し、各表示画面に対して特定した操作イベントを関連付けることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、フリック、ドラッグ、シングルタップ、ダブルタップ、ロングタップ及びピンチの中から、前記表示手段に表示される各表示画面において検知対象となる操作イベントを選択して関連付けることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記表示手段に表示される各種表示画面には、リスト形式で表示される複数の情報をスクロール移動させて表示可能なスクロール画面が含まれており、
前記設定手段は、前記スクロール画面において検知対象となる操作イベントとして、フリック、ドラッグ、シングルタップ及びダブルタップを関連付けることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記表示手段に表示される各種表示画面には、複数のサムネイル画像をスクロール移動させて表示可能なサムネイル画像表示画面が含まれており、
前記設定手段は、前記サムネイル画像表示画面において検知対象となる操作イベントとして、フリック、ドラッグ、シングルタップ、ダブルタップ及びロングタップを関連付けることを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記表示手段に表示される各種表示画面には、複数の操作キーをスクロール移動させて表示可能な操作キー表示画面が含まれており、
前記設定手段は、前記操作キー表示画面において検知対象となる操作イベントとして、フリック、ドラッグ及びシングルタップを関連付けることを特徴とする請求項３乃至５のいずれかに記載の画像処理装置。
【請求項７】
前記表示手段に表示される各種表示画面には、プレビュー画像を表示すると共に、当該プレビュー画像の拡大表示又は縮小表示が可能なプレビュー画像表示画面が含まれており、
前記設定手段は、前記プレビュー画像表示画面において検知対象となる操作イベントとして、ドラッグ、ダブルタップ及びピンチを関連付けることを特徴とする請求項３乃至６のいずれかに記載の画像処理装置。
【請求項８】
前記表示手段に表示される各種表示画面には、複数のグループに分類された複数の操作キーをグループ単位で切り替えて表示可能なグループ切替表示画面が含まれており、
前記設定手段は、前記グループ切替表示画面において検知対象となる操作イベントとして、フリック及びシングルタップを関連付けることを特徴とする請求項３乃至７のいずれかに記載の画像処理装置。
【請求項９】
前記設定手段は、前記表示手段に表示される一の表示画面に対して検知対象となる複数の操作イベントを関連付けるとき、当該一の表示画面に基づいて複数の操作イベントのそれぞれに対して優先順位を設定し、
前記操作イベント判定手段は、前記一の表示画面が表示されている状態で前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記優先順位の高い順に前記操作イベント判定ルーチンを起動していくことを特徴とする請求項１乃至８のいずれかに記載の画像処理装置。
【請求項１０】
前記設定手段は、前記一の表示画面が、表示情報の数に応じてスクロール移動させることが可能となる画面である場合、スクロール移動のための操作イベントに関する優先順位を他の操作イベントよりも低く設定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記設定手段は、前記一の表示画面が、デフォルトでスクロール移動させることが可能な画面である場合、スクロール移動のための操作イベントに関する優先順位を他の操作イベントよりも高く設定することを特徴とする請求項９又は１０に記載の画像処理装置。
【請求項１２】
前記設定手段は、前記一の表示画面が、プレビュー画像の拡大表示を行っているときにプレビュー画像の表示位置を移動させることが可能となる画面である場合、プレビュー画像の表示位置を移動させるための操作イベントに関する優先順位を他の操作イベントよりも低く設定することを特徴とする請求項９乃至１１のいずれかに記載の画像処理装置。
【請求項１３】
前記操作イベント判定手段は、ダブルタップに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によって最初のタップ操作が検知されてから第１ダブルタップ判定時間が経過しても最初のタップ操作のリリースが検知されないとき、又は、最初のタップ操作のリリースが検知されてから第２ダブルタップ判定時間内に２回目のタップ操作が検知されないときに、ダブルタップに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする請求項１乃至１２のいずれかに記載の画像処理装置。
【請求項１４】
前記操作イベント判定手段は、ロングタップに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によってタップ操作が検知されてからロングタップ判定時間内にタップ操作のリリースが検知されたとき、又は、前記入力検知手段によってタップ操作が検知されてからタップ位置が所定距離以上移動したことが検知されたときに、ロングタップに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする請求項１乃至１３のいずれかに記載の画像処理装置。
【請求項１５】
前記操作イベント判定手段は、フリックに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によってタップ操作が検知されてからフリック判定速度以下でタップ位置の移動が検知されたとき、又は、前記入力検知手段によってタップ操作が検知されてからタップ位置の移動距離が所定距離以下であることが検知されたときに、フリックに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする請求項１乃至１４のいずれかに記載の画像処理装置。
【請求項１６】
各種表示画面を表示する表示手段と、前記表示手段の表示画面に対するユーザーの入力操作を検知する入力検知手段とを有するコンピュータにおいて実行されるプログラムであって、前記コンピュータを、
前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する設定手段、
前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記表示手段に表示されている表示画面に対して前記設定手段によって関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して、ユーザーの入力操作に対応する操作イベントを特定する操作イベント判定手段、および、
前記操作イベント判定手段によって特定された操作イベントに基づく制御を行う制御手段、
として機能させることを特徴とするプログラム。
【請求項１７】
各種表示画面を表示する表示手段に対して行われるユーザーの入力操作に基づき、該入力操作に対応する操作イベントを判別する操作イベント判別方法であって、
前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定するステップと、
前記表示手段に一の表示画面が表示されている状態でユーザーによって行われる入力操作を検知するステップと、
前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記一の表示画面に対して関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動することにより、ユーザーの入力操作に対応する操作イベントを判別するステップと、
を有することを特徴とする操作イベント判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラム及び操作イベント判別方法に関する。
【背景技術】
【０００２】
従来、スマートフォンやタブレット端末などの表示デバイスは、シングルタッチ操作やマルチタッチ操作など、ユーザーによって行われる複雑なジェスチャ操作を検知することができるようになっている（特許文献１，２参照）。例えば、特許文献１には、表示デバイスのマルチタッチ感知エリアに対してジェスチャセットを定義しておき、マルチタッチ感知エリアにおいて操作が検知されると、そのジェスチャセットに含まれる１又はそれ以上のジェスチャイベントを特定するデバイスが開示されている。また特許文献２には、表示デバイスの領域に対してマルチタッチフラグを設定しておくことにより、その領域に対してユーザーがマルチタッチ操作を行えるようにした技術が開示されている。
【０００３】
近年では、ネットワークプリンタやＭＦＰ（Multifunction Peripheral）などの画像処理装置においても、ユーザーによって行われる複雑なジェスチャ操作を検知してジョブの設定操作などを行えるようにしたものが普及しつつある。そのため、ユーザーは、画像処理装置の操作パネルに対し、シングルタップやダブルタップ、ロングタップ、フリック、ドラッグ、ピンチイン、ピンチアウトといった様々なジェスチャ操作を行うことにより、ジョブの設定操作や画像データの確認操作などを効率的に行うことができるようになってきている。
【０００４】
上記のような画像処理装置は、ユーザーによって行われるジェスチャ操作を正確に検知する必要があるため、シングルタップ、ダブルタップ、ロングタップ、フリック、ドラッグ、ピンチイン、ピンチアウトといった検知対象となる操作イベントごとに、複数の操作イベント判定ルーチンを予め搭載している。そして操作パネルに対するユーザーの入力操作が検知されると、それら複数の操作イベント判定ルーチンを順に全て起動していくことにより、ユーザーによって行われた入力操作に対応する操作イベントを特定し、その操作イベントに対応する処理を行うように構成されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００９−５２５５３８号公報
【特許文献２】特開２００９−２１１７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、画像処理装置の操作パネルに表示される表示画面には様々な画面があり、表示画面ごとにユーザーが行うことができるジェスチャ操作が異なる。つまり、操作パネルに表示される表示画面によって、フリック操作に対応する処理やピンチ操作に対応する処理など、特定の操作イベントに対応する処理が定義されていないこともある。
【０００７】
しかしながら、上述した従来の画像処理装置は、ユーザーの入力操作が検知されると、複数の操作イベント判定ルーチンを順に全て起動していくため、フリック操作に対応する処理が定義されていない表示画面に対する操作であっても、フリック操作を検知するための操作イベント判定ルーチンが起動されることになる。それ故、従来の画像処理装置は、操作パネルに表示される表示画面によっては、無駄な操作イベント判定ルーチンが実行されることとなり、ＣＰＵのリソースが占有されてしまうという問題がある。
【０００８】
特にこの種の画像処理装置は、スキャンジョブやコピージョブ、プリントジョブ、データ送受信ジョブの実行中においても、ユーザーによる入力操作を受け付け可能な状態であり、ジョブの実行中にユーザーによる入力操作が検知されると、その入力操作に対応する操作イベントを特定するために、ジョブの実行と並行して全ての操作イベント判定ルーチンが順次起動される。そのため、仮にジョブの実行中に表示されている表示画面がフリック操作に対応する処理の定義されていない画面であったとしても、ユーザーが誤操作としてフリック操作を行ってしまうと、ＣＰＵは、ジョブの実行のバックグランドで全ての操作イベント判定ルーチンを順次起動し、ユーザーによって入力された操作イベントがフリックであることを特定する。しかし、表示画面にはフリック操作に対応する処理が何ら定義されていないため、操作イベントがフリックであることを特定できたとしても、ＣＰＵはその後特別な処理は何も行わない。
【０００９】
またジョブの実行中にユーザーによって行われる操作が誤操作でない場合であっても、ユーザーによる入力操作が検知されることによって全ての操作イベント判定ルーチンを順次起動していくと、ユーザーの入力操作に対応した操作イベントを効率的に特定することができず、ＣＰＵの占有率が必要以上に上昇する。
【００１０】
上記のようにユーザーによる入力操作が検知されることに伴って全ての操作イベント判定ルーチンを順に起動する構成では、特にジョブの実行中において多数ページの画像データを処理することが必要な場合、或いは高解像度の画像データを処理することが必要な場合に、ＣＰＵにおいて無駄な操作イベント判定ルーチンが実行されることによって画像処理が遅延し、画像処理装置の生産性が低下するという問題を生じさせていた。
【００１１】
そこで本発明は、上記のような従来の問題点を解決すべく、ユーザーの入力操作を検知した場合に、全ての操作イベント判定ルーチンを順に起動するのではなく、表示画面に応じて必要な操作イベント判定ルーチンだけを起動するようにして効率的にユーザーの入力操作に対応する操作イベントを特定できるようにした画像処理装置、プログラム及び操作イベント判別方法を提供することを、その目的とするものである。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１に係る発明は、画像処理装置であって、各種表示画面を表示する表示手段と、前記表示手段の表示画面に対するユーザーの入力操作を検知する入力検知手段と、前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する設定手段と、前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記表示手段に表示されている表示画面に対して前記設定手段によって関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して、ユーザーの入力操作に対応する操作イベントを特定する操作イベント判定手段と、前記操作イベント判定手段によって特定された操作イベントに基づく制御を行う制御手段と、を備えることを特徴とする構成である。
【００１３】
請求項２に係る発明は、請求項１に記載の画像処理装置において、前記設定手段は、電源投入時に、前記表示手段に表示可能な各種表示画面を解析することにより、各表示画面において検知対象となる操作イベントを特定し、各表示画面に対して特定した操作イベントを関連付けることを特徴とする構成である。
【００１４】
請求項３に係る発明は、請求項１又は２に記載の画像処理装置において、前記設定手段は、フリック、ドラッグ、シングルタップ、ダブルタップ、ロングタップ及びピンチの中から、前記表示手段に表示される各表示画面において検知対象となる操作イベントを選択して関連付けることを特徴とする構成である。
【００１５】
請求項４に係る発明は、請求項３に記載の画像処理装置において、前記表示手段に表示される各種表示画面には、リスト形式で表示される複数の情報をスクロール移動させて表示可能なスクロール画面が含まれており、前記設定手段は、前記スクロール画面において検知対象となる操作イベントとして、フリック、ドラッグ、シングルタップ及びダブルタップを関連付けることを特徴とする構成である。
【００１６】
請求項５に係る発明は、請求項３又は４に記載の画像処理装置において、前記表示手段に表示される各種表示画面には、複数のサムネイル画像をスクロール移動させて表示可能なサムネイル画像表示画面が含まれており、前記設定手段は、前記サムネイル画像表示画面において検知対象となる操作イベントとして、フリック、ドラッグ、シングルタップ、ダブルタップ及びロングタップを関連付けることを特徴とする構成である。
【００１７】
請求項６に係る発明は、請求項３乃至５のいずれかに記載の画像処理装置において、前記表示手段に表示される各種表示画面には、複数の操作キーをスクロール移動させて表示可能な操作キー表示画面が含まれており、前記設定手段は、前記操作キー表示画面において検知対象となる操作イベントとして、フリック、ドラッグ及びシングルタップを関連付けることを特徴とする構成である。
【００１８】
請求項７に係る発明は、請求項３乃至６のいずれかに記載の画像処理装置において、前記表示手段に表示される各種表示画面には、プレビュー画像を表示すると共に、当該プレビュー画像の拡大表示又は縮小表示が可能なプレビュー画像表示画面が含まれており、前記設定手段は、前記プレビュー画像表示画面において検知対象となる操作イベントとして、ドラッグ、ダブルタップ及びピンチを関連付けることを特徴とする構成である。
【００１９】
請求項８に係る発明は、請求項３乃至７のいずれかに記載の画像処理装置において、前記表示手段に表示される各種表示画面には、複数のグループに分類された複数の操作キーをグループ単位で切り替えて表示可能なグループ切替表示画面が含まれており、前記設定手段は、前記グループ切替表示画面において検知対象となる操作イベントとして、フリック及びシングルタップを関連付けることを特徴とする構成である。
【００２０】
請求項９に係る発明は、請求項１乃至８のいずれかに記載の画像処理装置において、前記設定手段は、前記表示手段に表示される一の表示画面に対して検知対象となる複数の操作イベントを関連付けるとき、当該一の表示画面に基づいて複数の操作イベントのそれぞれに対して優先順位を設定し、前記操作イベント判定手段は、前記一の表示画面が表示されている状態で前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記優先順位の高い順に前記操作イベント判定ルーチンを起動していくことを特徴とする構成である。
【００２１】
請求項１０に係る発明は、請求項９に記載の画像処理装置において、前記設定手段は、前記一の表示画面が、表示情報の数に応じてスクロール移動させることが可能となる画面である場合、スクロール移動のための操作イベントに関する優先順位を他の操作イベントよりも低く設定することを特徴とする構成である。
【００２２】
請求項１１に係る発明は、請求項９又は１０に記載の画像処理装置において、前記設定手段は、前記一の表示画面が、デフォルトでスクロール移動させることが可能な画面である場合、スクロール移動のための操作イベントに関する優先順位を他の操作イベントよりも高く設定することを特徴とする構成である。
【００２３】
請求項１２に係る発明は、請求項９乃至１１のいずれかに記載の画像処理装置において、前記設定手段は、前記一の表示画面が、プレビュー画像の拡大表示を行っているときにプレビュー画像の表示位置を移動させることが可能となる画面である場合、プレビュー画像の表示位置を移動させるための操作イベントに関する優先順位を他の操作イベントよりも低く設定することを特徴とする構成である。
【００２４】
請求項１３に係る発明は、請求項１乃至１２のいずれかに記載の画像処理装置において、前記操作イベント判定手段は、ダブルタップに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によって最初のタップ操作が検知されてから第１ダブルタップ判定時間が経過しても最初のタップ操作のリリースが検知されないとき、又は、最初のタップ操作のリリースが検知されてから第２ダブルタップ判定時間内に２回目のタップ操作が検知されないときに、ダブルタップに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする構成である。
【００２５】
請求項１４に係る発明は、請求項１乃至１３のいずれかに記載の画像処理装置において、前記操作イベント判定手段は、ロングタップに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によってタップ操作が検知されてからロングタップ判定時間内にタップ操作のリリースが検知されたとき、又は、前記入力検知手段によってタップ操作が検知されてからタップ位置が所定距離以上移動したことが検知されたときに、ロングタップに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする構成である。
【００２６】
請求項１５に係る発明は、請求項１乃至１４のいずれかに記載の画像処理装置において、前記操作イベント判定手段は、フリックに対応する操作イベント判定ルーチンを起動した場合には、前記入力検知手段によってタップ操作が検知されてからフリック判定速度以下でタップ位置の移動が検知されたとき、又は、前記入力検知手段によってタップ操作が検知されてからタップ位置の移動距離が所定距離以下であることが検知されたときに、フリックに対応する操作イベント判定ルーチンの実行を終了し、次の操作イベント判定ルーチンを起動することを特徴とする構成である。
【００２７】
請求項１６に係る発明は、各種表示画面を表示する表示手段と、前記表示手段の表示画面に対するユーザーの入力操作を検知する入力検知手段とを有するコンピュータにおいて実行されるプログラムであって、前記コンピュータを、前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する設定手段、前記入力検知手段によってユーザーの入力操作が検知されることに伴い、前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記表示手段に表示されている表示画面に対して前記設定手段によって関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して、ユーザーの入力操作に対応する操作イベントを特定する操作イベント判定手段、および、前記操作イベント判定手段によって特定された操作イベントに基づく制御を行う制御手段、として機能させることを特徴とする構成である。
【００２８】
請求項１７に係る発明は、各種表示画面を表示する表示手段に対して行われるユーザーの入力操作に基づき、該入力操作に対応する操作イベントを判別する操作イベント判別方法であって、前記表示手段に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定するステップと、前記表示手段に一の表示画面が表示されている状態でユーザーによって行われる入力操作を検知するステップと、前記複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチンの中から、前記一の表示画面に対して関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動することにより、ユーザーの入力操作に対応する操作イベントを判別するステップと、を有することを特徴とする構成である。
【発明の効果】
【００２９】
本発明によれば、ユーザーの入力操作を検知した場合に、複数の操作イベント判定ルーチンの全てを順に起動することなく、表示中の表示画面に応じて必要な操作イベント判定ルーチンだけを起動するため、ユーザーの入力操作に対応する操作イベントを効率的に特定することができるようになる。
【図面の簡単な説明】
【００３０】
【図１】画像処理装置の外観構成の一例を示す図である。
【図２】画像処理装置のハードウェア構成の一例を示すブロック図である。
【図３】ＣＰＵによって実行されるプログラムの概念的構成を示す図である。
【図４】ＣＰＵがメインプログラムを起動することによって実現される機能ブロックの一例を示す図である。
【図５】画像処理装置のＣＰＵによって行われる処理手順の一例を示すフローチャートである。
【図６】機能選択画面の一例を示す図である。
【図７】複数の情報をリスト形式で表示可能なリスト表示画面の一例を示す図である。
【図８】サムネイル画像を表示するサムネイル画像表示画面の一例を示す図である。
【図９】画像のプレビュー表示を行うプレビュー画像表示画面の一例を示す図である。
【図１０】コピー機能に関する応用設定画面の一例を示す図である。
【図１１】コピー機能に関する基本設定画面の一例を示す図である。
【図１２】各表示画面と、各表示画面において受付可能な操作イベントとの関係を示す図である。
【図１３】リスト表示領域をスクロール移動させる必要がない場合のリスト表示画面の一例を示す図である。
【図１４】ダブルタップ判定ルーチンを起動する場合の処理手順の一例を示すフローチャートである。
【図１５】ロングタップ判定ルーチンを起動する場合の処理手順の一例を示すフローチャートである。
【図１６】フリック判定ルーチンを起動する場合の処理手順の一例を示すフローチャートである。
【図１７】ループ処理において複数の操作イベント判定ルーチンが順に起動される場合の処理シーケンスの一例を示す図である。
【発明を実施するための形態】
【００３１】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００３２】
図１は、本実施形態における画像処理装置１の外観構成の一例を示す図である。この画像処理装置１は、ＭＦＰ（Multifunction Peripheral）によって構成され、スキャン機能やプリント機能、コピー機能、ＦＡＸ機能、ネットワーク機能、電子メール送受信機能などの様々な機能を備えており、ユーザーによって指定されたジョブを実行する。この画像処理装置１は、装置本体の上部に、スキャンジョブを実行するときに動作するスキャナ部２を備えている。スキャナ部２は、原稿の画像を光学的に読み取る画像読取部２ａと、画像読取部２ａに対して原稿を１枚ずつ自動搬送する原稿搬送部２ｂとを備えて構成され、ユーザーによってセットされた原稿を読み取って画像データを生成する。また画像処理装置１は、装置本体の中央下部に、プリントジョブを実行するときに動作するプリンタ部３を備えている。プリンタ部３は、入力する画像データに基づいて電子写真方式などによる画像形成を行って出力する画像形成部３ａと、その画像形成部３ａに対して印刷用紙などのシート材を１枚ずつ給紙搬送する給紙搬送部３ｂとを備えて構成され、ユーザーによって指定された画像データに基づいて印刷出力を行う。
【００３３】
また画像処理装置１の正面側には、ユーザーが画像処理装置１を使用する際にユーザーインタフェースとして機能する操作パネル４が設けられている。この操作パネル４は、ユーザーに対して各種情報を表示する表示部５と、ユーザーが操作入力を行うための操作部６とを備えている。表示部５は、例えば所定の画面サイズを有するカラー液晶ディスプレイなどで構成され、様々な画像を表示することができる。操作部６は、表示部５の画面上に配置されるタッチセンサ６ａと、表示部５の画面周囲に配置される複数の押しボタン式の操作キー６ｂとを備えて構成される。したがって、ユーザーは、表示部５に表示される表示画面を参照しながら、操作部６に対して様々な入力操作を行うことにより、画像処理装置１に対してジョブの実行のための設定操作を行ったり、或いはジョブの実行を指示したりすることができる。
【００３４】
表示部５の画面上に配置されるタッチセンサ６ａは、ユーザーによるシングルタッチ操作だけでなく、マルチタッチ操作も検知することができるものである。シングルタッチ操作とは、表示部５の表示画面上の１点をタッチする操作であり、例えばシングルタップやダブルタップ、ロングタップ、フリック、ドラッグなどの操作が含まれる。マルチタッチ操作は、表示部５の表示画面上の複数点を同時にタッチする操作であり、例えばピンチインやピントアウト、回転などのピンチ操作が含まれる。このタッチセンサ６ａは、表示部５の表示画面上における少なくとも１点がタップされると、そのタップ位置を特定することができると共に、その後、そのタップ状態のリリースや、タップ位置の移動を検知することができるようになっている。そのため、ユーザーは、表示部５の表示画面に対して様々なジェスチャ操作を行いながらジョブの設定などを行うことが可能である。
【００３５】
尚、表示部５の画面周囲に配置される操作キー６ｂは、０から９の数字が付されたテンキーなどで構成される。それらの操作キー６ｂは、単にユーザーによる押し込み操作だけを検知するものである。
【００３６】
図２は、画像処理装置１のハードウェア構成の一例を示すブロック図である。画像処理装置１は、上述したスキャナ部２、プリンタ部３、操作パネル４の他、図２に示すように、制御部１０と、ＦＡＸ部２０と、ネットワークインタフェース２１と、無線インタフェース２２と、記憶装置２３とを備えており、それら各部がデータバス１９を介して相互にデータの入出力を行うことができる構成である。
【００３７】
制御部１０は、図２に示す操作パネル４、スキャナ部２、プリンタ部３、ＦＡＸ部２０、ネットワークインタフェース２１、無線インタフェース２２および記憶装置２３のそれぞれを統括的に制御するものである。ＦＡＸ部２０は、図示を省略する公衆電話回線を介してＦＡＸデータの送受信を行うものである。ネットワークインタフェース２１は、画像処理装置１をＬＡＮ（Local Area Network）などのネットワークに接続するためのインタフェースである。無線インタフェース２２は、外部の装置とＮＦＣ（Near Field Communication）などによる無線通信を行うためのインタフェースである。記憶装置２３は、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などで構成される不揮発性の記憶手段であり、ネットワークを介して受信する画像データや、スキャナ部２によって生成された画像データなどを一時的に保存しておくことができる。
【００３８】
また図２に示すように、制御部１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＳＲＡＭ１４と、ＮＶＲＡＭ１５と、ＲＴＣ１７とを備えて構成される。ＣＰＵ１１は、画像処理装置１に電源が投入されることに伴い、ＲＯＭ１２に格納されているプログラム１３を読み出して実行する。これにより、制御部１０は、上述したように各部の制御動作を開始する。特に、ＣＰＵ１１は、画像処理装置１における動作を制御する主要部であり、ジョブの実行動作だけでなく、ユーザーインタフェースとして機能する操作パネル４の動作も制御する。すなわち、ＣＰＵ１１は、操作パネル４の表示部５に表示する表示画面を切り替える制御を行うと共に、タッチセンサ６ａ及び操作キー６ｂによってユーザーの入力操作が検知された場合に、その入力操作がどのような操作イベントであるかを特定し、その特定した操作イベントに対応する制御を実行する。操作イベントとは、ユーザーの入力操作によって発生するイベントであり、例えばタッチセンサ６ａに対する入力操作ではシングルタップ、ダブルタップ、ロングタップ、フリック、ドラッグ、ピンチといった複数の操作イベントが存在する。また操作イベントに対応する制御には、例えば表示画面を切り替える制御や、ジョブの実行を開始する制御、ジョブの実行を停止する制御などが含まれる。尚、このようなＣＰＵ１１の動作については後に詳しく説明する。
【００３９】
ＳＲＡＭ１４は、ＣＰＵ１１による作業用の記憶領域を提供するメモリであり、例えばＣＰＵ１１がプログラム１３を実行することによって発生する一時的なデータなどを記憶する。
【００４０】
ＮＶＲＡＭ１５は、バッテリバックアップされた不揮発性メモリであり、画像処理装置１における各種設定値や情報などを記憶しておくものである。このＮＶＲＡＭ１５には、図２に示すように画面情報１６が予め記憶されている。画面情報１６は、操作パネル４の表示部５に表示する複数の表示画面に関する情報から成る。各表示画面の画面情報１６には、ユーザーがタップ操作可能なアイコン画像やボタン画像など、様々な画像が含まれており、ユーザーがジェスチャ操作を行うことができる画面構成が定義されている。表示部５に表示される複数の表示画面はそれぞれ画面構成が異なるため、ユーザーがタッチセンサ６ａに対してジェスチャ操作を行った場合でも受付可能な操作イベントはそれぞれ異なったものとなっている。
【００４１】
ＲＴＣ１７は、リアルタイムクロックであり、時刻をカウントし続ける時計回路である。
【００４２】
次に図３は、ＣＰＵ１１によって実行されるプログラム１３の概念的構成を示す図である。プログラム１３は、画像処理装置１への電源時にＣＰＵ１１によって自動的に読み出されて起動されるメインプログラム１３ａと、そのメインプログラム１３ａのサブルーチンとして予め用意されている複数の操作イベント判定ルーチン１３ｂ，１３ｃ，１３ｄ，１３ｅ，１３ｆ，１３ｇとを備えて構成される。複数の操作イベント判定ルーチン１３ｂ〜１３ｇは、タッチセンサ６ａがユーザーによる入力操作（ジェスチャ操作）を検知した場合に、その入力操作がシングルタップ、ダブルタップ、ロングタップ、フリック、ドラッグ及びピンチのいずれの操作イベントに該当するかを特定するためのサブルーチンであり、特定対象となる操作イベントごとに具体的な判定処理の中身又は手順が異なるため、個別のサブルーチンとして予め用意されている。そして本実施形態では、タッチセンサ６ａがユーザーによる入力操作を検知すると、ＣＰＵ１１が複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中から必要な操作イベント判定ルーチンだけを起動することにより、入力操作に対応する操作イベントを効率的に特定するように構成される。以下、このようなＣＰＵ１１の具体的な処理内容について説明する。
【００４３】
図４は、ＣＰＵ１１がメインプログラム１３ａを起動することによって実現される機能ブロックの一例を示す図である。図４に示すように、ＣＰＵ１１は、メインプログラム１３ａを実行することにより、設定部３１、表示制御部３２、操作イベント判定部３３、制御実行部３４及びジョブ実行部３５として機能する。
【００４４】
設定部３１は、表示部５に表示する表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する処理部である。すなわち、設定部３１は、ＮＶＲＡＭ１５に格納されている画面情報１６を読み出して解析することにより、各表示画面において受付可能な操作イベントを特定し、その特定した操作イベントを各表示画面に予め関連付ける。例えば設定部３１は、各表示画面の画面情報１６に対して特定した操作イベントに関する情報を付加することにより、各表示画面に対して操作イベントを関連付けて設定する。尚、設定部３１は、１つの表示画面に対し、シングルタップ、ダブルタップ、ロングタップ、フリック、ドラッグ及びピンチといった複数の操作イベントのうちの少なくとも１つを関連付けるようになっており、例えば全ての操作イベントを受付可能な表示画面の場合には複数の操作イベントの全てを関連付ける。
【００４５】
操作イベントを関連付けた情報は、画像処理装置１の出荷時においてＮＶＲＡＭ１５に画面情報１６が格納されるタイミングで予め付加されるようにしても良い。しかし、ＮＶＲＡＭ１５に格納された画面情報１６は、画像処理装置１の出荷後においてもオプション機能の追加や、新たなアプリケーションプログラムのインストール、表示画面のカスタマイズなどによって更新されることもある。画面情報１６が更新されると、各表示画面の画面構成が変化するため、それ以前においては受付可能でなかった操作イベントが、画面情報１６の更新後に受付可能となることもある。そのため、設定部３１は、ＣＰＵ１１がメインプログラム１３ａを起動することに伴ってはじめに機能し、画像処理装置１の起動処理が行われている間に、各表示画面に対し、複数の操作イベントの中からユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する。
【００４６】
表示制御部３２は、ＮＶＲＡＭ１５に格納されている画面情報１６を読み出し、複数の表示画面の中から一の表示画面を選択して表示部５へ出力することにより、その選択した表示画面を表示部５に表示するものである。この表示制御部３２は、画像処理装置１の起動処理が完了すると、複数の表示画面の中から初期画面を選択して表示部５に表示する。その後、表示制御部３２は、制御実行部３４からの画面更新指示に基づいて表示部５の表示画面を逐次更新していく。
【００４７】
操作イベント判定部３３は、操作パネル４のタッチセンサ６ａが表示画面に対するユーザーの入力操作を検知した場合に、その入力操作に対応する操作イベントを特定する処理部である。この操作イベント判定部３３は、メインプログラム１３ａによって実現される機能の１つであり、タッチセンサ６ａによってユーザーの入力操作が検知されると、そのタイミングで表示部５に表示中である表示画面に対して予め関連付けられている操作イベントを特定し、その特定した操作イベントに対応する操作イベント判定ルーチンだけを起動することにより、ユーザーの入力操作に対応する操作イベントを特定する。すなわち、表示画面に対するユーザーの入力操作が検知されると、その表示画面で受付可能な操作イベントだけを判定するために、複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中から、設定部３１によってその表示画面に関連付けられている操作イベントに対応した操作イベント判定ルーチンだけを起動するのである。このとき、表示画面に対して複数の操作イベントが関連付けられていることもある。例えば、表示部５に表示されている表示画面がシングルタップ、ダブルタップ、フリックの３つの操作イベントを受付可能な場合である。そのような場合、操作イベント判定部３３は、各操作イベントに対応する操作イベント判定ルーチンを順次起動していくことにより、ユーザーの入力操作に対応する操作イベントを特定する。このように操作イベント判定部３３は、ユーザーによってタッチセンサ６ａに対する何らかの入力操作が行われた場合、毎回全ての操作イベント判定ルーチン１３ｂ〜１３ｇを起動するのではなく、そのタイミングで表示部５に表示されている表示画面が受付可能な操作イベントに対応する操作イベント判定ルーチンだけを起動することにより、無駄な判定ルーチンを起動することなく、効率的にユーザーの入力操作に対応する操作イベントを特定できるように構成されている。
【００４８】
そして操作イベント判定部３３は、必要な操作イベント判定ルーチンだけを起動することにより、ユーザーの入力操作に対応する操作イベントを特定することができると、その特定した操作イベントを制御実行部３４へ出力する。一方、上記のように必要な操作イベント判定ルーチンだけを起動しても、ユーザーの入力操作に対応する操作イベントを特定することができないこともある。例えば、シングルタップ、ダブルタップ、フリックの３つの操作イベントを受付可能な表示画面に対してユーザーがロングタップやドラッグ、ピンチなどの操作を行った場合には、シングルタップ、ダブルタップ、フリックの３つの操作イベントのそれぞれに対応する操作イベント判定ルーチン１３ｂ，１３ｃ，１３ｅを起動してもユーザーの入力操作に対応する操作イベントを特定することができない。そのような場合、操作イベント判定部３３は、制御実行部３４に対する出力処理は行わない。
【００４９】
制御実行部３４は、ユーザーが操作パネル４に対する操作を行った場合に、その操作に基づく制御を実行する処理部である。この制御実行部３４は、ユーザーによってタッチセンサ６ａに対するジェスチャ操作が行われた場合には、上述した操作イベント判定部３３によって特定された操作イベントを入力し、その操作イベントに基づく制御を実行する。これに対し、ユーザーによって操作キー６ｂに対する操作が行われた場合には、制御実行部３４がその操作キー６ｂから直接操作信号を受信し、その操作信号に基づいてユーザーによって行われた操作（操作イベント）を特定し、その操作に基づく制御を実行する。制御実行部３４がユーザーによる入力操作に基づいて実行する制御には、例えば表示部５に表示している表示画面を更新する制御や、ジョブの実行開始や停止の制御などがある。そのため、制御実行部３４は、図４に示すように、表示制御部３２とジョブ実行部３５とを制御するようになっている。すなわち、制御実行部３４は、ユーザーによる入力操作に基づいて表示画面を更新するときには表示制御部３２に画面更新を指示し、ジョブの実行開始や停止を行うときにはジョブ実行部３５にジョブの実行開始又は停止を指示する。これにより、表示制御部３２は、表示部５に表示している表示画面を制御実行部３４からの指示に基づいて更新するようになる。またジョブ実行部３５は、制御実行部３４からの指示に基づいてジョブの実行を開始したり、或いは既に実行中のジョブを停止したりする。ただし、制御実行部３４が実行する制御には、上記以外の制御が含まれていても構わない。
【００５０】
ジョブ実行部３５は、画像処理装置１に設けられた各部の動作を制御することにより、ユーザーによって指定されたジョブの実行を制御する。このジョブ実行部３５は、画像処理装置１においてジョブの実行が行われている間、ＣＰＵ１１に常駐して各部の動作を統括的に制御するようになっている。
【００５１】
次に上記のような機能構成を有するＣＰＵ１１において行われる具体的な処理手順について説明する。図５は、画像処理装置１のＣＰＵ１１によって行われる処理手順の一例を示すフローチャートである。この処理は、画像処理装置１に電源が投入され、ＣＰＵ１１がプログラム１３に含まれるメインプログラム１３ａを起動することによって開始される処理である。
【００５２】
まずＣＰＵ１１は、メインプログラム１３ａを起動すると、画面情報１６を読み出し（ステップＳ１）、その画面情報１６に基づいて各表示画面に対する操作イベントの関連付けを行う（ステップＳ２）。そして各表示画面に対する操作イベントの関連付けが全て完了すると、ＣＰＵ１１は、操作パネル４の表示部５に、初期画面を表示する（ステップＳ３）。このようにして表示部５に表示画面が表示されると、ＣＰＵ１１は、その表示画面に関連付けられている操作イベントに対応する操作イベント判定ルーチンをセットする（ステップＳ４）。これにより、表示部５において表示中の表示画面が受付可能な操作イベントに対応する操作イベント判定ルーチンが予め用意された状態となる。
【００５３】
そしてＣＰＵ１１は、タッチセンサ６ａ及び操作キー６ｂのいずれかによって入力操作が検知されるまで待機する状態となる（ステップＳ５）。そしてユーザーによる入力操作が検知されると（ステップＳ５でＹＥＳ）、ＣＰＵ１１は、その入力操作がタッチセンサ６ａによって検知されたものであるか否かを判断し（ステップＳ６）、タッチセンサ６ａで検知されたものであれば（ステップＳ６でＹＥＳ）、ステップＳ４で予めセットされている操作イベント判定ルーチンを順次起動してユーザーの入力操作に対応する操作イベントを特定するためのループ処理を実行する（ステップＳ７，Ｓ８，Ｓ９）。このループ処理（ステップＳ７，Ｓ８，Ｓ９）では、プログラム１３に含まれる全ての操作イベント判定ルーチン１３ｂ〜１３ｇが順に起動されるのではなく、ステップＳ４でセットされた操作イベント判定ルーチンであって、現在表示中の表示画面において受付可能な操作イベントに対応する操作イベント判定ルーチンだけが起動されるようになる。また複数の操作イベント判定ルーチンをループ処理で順次起動する場合は、いずれか１つの操作イベント判定ルーチンによってユーザーの入力操作に対応する操作イベントが特定されると、そのタイミングでループ処理を終了する。つまり、このループ処理（ステップＳ７，Ｓ８，Ｓ９）では、ステップＳ４でセットされた複数の操作イベント判定ルーチンの全てを常に起動させるのではなく、全てを起動するまでに途中でユーザーの入力操作に対応した操作イベントを特定することができれば、それ以降に起動が予定されている操作イベント判定ルーチンを起動することなく、ループ処理を終了する。
【００５４】
そしてループ処理（ステップＳ７，Ｓ８，Ｓ９）が終了すると、ＣＰＵ１１は、ループ処理（ステップＳ７，Ｓ８，Ｓ９）によって操作イベントが特定できたか否かを判断する（ステップＳ１０）。ユーザーによって表示中の表示画面で受付可能でないジェスチャ操作が行われてしまうこともあるため、ステップＳ１０の判断が必要となる。そしてユーザーの入力操作に対応する操作イベントを特定することができなかった場合（ステップＳ１０でＮＯ）、ＣＰＵ１１は、その後の処理（ステップＳ１１）へと進むことなく、再びユーザーによる入力操作が検知されるまで待機する状態へと戻る（ステップＳ５）。これに対し、ループ処理（ステップＳ７，Ｓ８，Ｓ９）においてユーザーの入力操作に対応する操作イベントを特定することができた場合（ステップＳ１０でＹＥＳ）、ＣＰＵ１１による処理は次のステップＳ１１へと進む。
【００５５】
また、ユーザーによる入力操作が検知され（ステップＳ５でＹＥＳ）、その入力操作が操作キー６ｂによって検知されたものであった場合（ステップＳ６でＮＯ）も、ＣＰＵ１１による処理はステップＳ１１へと進む。すなわち、ユーザーが操作キー６ｂを操作した場合には、その操作信号によって操作イベントを特定することができるため、操作イベントを特定できた場合の処理（ステップＳ１１）へと進む。
【００５６】
ＣＰＵ１１は、ユーザーの入力操作に対応する操作イベントが特定されると、その入力操作に対応した制御を実行する（ステップＳ１１）。すなわち、上述したように、表示部５の表示画面を更新する制御、ジョブの実行制御、その他の制御などが行われる。そしてＣＰＵ１１は、ステップＳ１１の制御実行により、表示部５に表示される表示画面が更新されたか否かを判断する（ステップＳ１２）。その結果、表示画面が更新された場合（ステップＳ１２でＹＥＳ）、ＣＰＵ１１による処理は、ステップＳ４へと戻り、その更新後の表示画面に関連付けられている操作イベントに対応した操作イベント判定ルーチンをセットする（ステップＳ４）。これに対し、表示画面が更新されていない場合（ステップＳ１２でＮＯ）、ＣＰＵ１１による処理は、ステップＳ５に戻り、再びユーザーによる入力操作が検知されるまで待機する状態となる（ステップＳ５）。そしてＣＰＵ１１は、その後、上述した処理を繰り返す。
【００５７】
ＣＰＵ１１は上記のような処理を行うことにより、ユーザーが操作パネル４に対する操作を行った場合にはその操作に対応した処理を行うことができる。特に上記のような処理はジョブの実行中に並行して行われることもあるが、ユーザーによって表示画面に対するジェスチャ操作が行われたときには、その表示画面において受付可能な操作イベントだけを特定するために、必要最小限の操作イベント判定ルーチンだけを起動するようにしているため、ジョブの実行においても無駄な操作イベント判定ルーチンを起動することがなく、効率的にユーザーのジェスチャ操作に対応する操作イベントを特定することが可能である。
【００５８】
次に本実施形態において表示部５に表示される幾つかの表示画面を例示しつつ、それら各表示画面に関連付けられる操作イベントについて説明する。図６は、機能選択画面Ｇ１０の一例を示す図である。この機能選択画面Ｇ１０は、ユーザーが選択可能な機能に対応するアイコン画像Ｂ１が操作キーとして画面内に配置された操作キー表示画面としての画面構成を有している。この機能選択画面Ｇ１０内に表示されるアイコン画像Ｂ１は、オプション機能の追加や、新たなアプリケーションプログラムのインストール、表示画面のカスタマイズなどによって追加されることもある。例えば表示画面のカスタマイズには、本来別の表示画面において表示されるアイコン画像を機能選択画面Ｇ１０においてショートカットキーとして追加登録するカスタマイズなどがある。図６の画面例では、機能選択画面Ｇ１０のアイコン画像表示領域において１度に表示可能なアイコン画像の数が１２個であるのに対し、表示登録されているアイコン画像Ｂ１の数が２２個あるため、アイコン画像表示領域をスクロール移動させることによってそれら２２個のアイコン画像Ｂ１を表示するようになっている。
【００５９】
このような機能選択画面Ｇ１０に対してユーザーが行うことができる操作としては、例えば、アイコン画像表示領域をスクロール移動させるためのフリック操作と、機能選択操作であるアイコン画像Ｂ１のシングルタップ操作と、アイコン画像Ｂ１の表示位置を変更するためのドラッグ操作との３つの操作である。フリック操作は、図６に示すように、例えば指先で画面上の一点Ｐ１をタップした状態のままそのタップ位置をスクロール移動方向Ｆ１に素早く移動させながら画面上からリリースする操作である。機能選択画面Ｇ１０に対してユーザーによるフリック操作が行われることにより、図６に示すように、アイコン画像表示領域が横方向にスクロール移動し、全てのアイコン画像Ｂ１が表示されるようになる。またシングルタップ操作は、指先で画面上の一点をタップした直後に素早く指先を画面上からリリースする操作である。シングルタップ操作をアイコン画像Ｂ１の表示位置に対して行うことにより、複数のアイコン画像Ｂ１の中から一のアイコン画像Ｂ１を選択することができる。またドラッグ操作は、フリック操作と同様に、指先で画面上の一点Ｐ１をタップした状態のままそのタップ位置を移動させて別の位置でリリースする操作であるが、移動方向は直線方向でなくても良く、また移動速度も比較的遅い速度であっても良い操作である。ドラッグ操作をアイコン画像Ｂ１に対して行うことにより、そのアイコン画像Ｂ１の表示位置を任意の位置に移動させることができる。このように、図６に示す機能選択画面Ｇ１０では、シングルタップ、ドラッグ及びフリックの３つの操作イベントが受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図６に示す機能選択画面Ｇ１０に対し、シングルタップ、ドラッグ及びフリックの３つの操作イベントを関連付けて設定する。
【００６０】
図７は、複数の情報をリスト形式で表示可能なリスト表示画面Ｇ１３の一例を示す図である。このリスト表示画面Ｇ１３は、図７（ａ）に示すように、ユーザーが選択可能な複数の宛先に関する情報をリスト形式で表示するリスト表示領域Ｒ１を含む画面構成となっている。このリスト表示画面Ｇ１３は、リスト表示領域Ｒ１に表示すべき情報量が多いとき、リスト表示領域Ｒ１をスクロール移動させて全ての情報を表示するようになる。
【００６１】
このようなリスト表示画面Ｇ１３に対してユーザーが行うことができる操作としては、例えば図７（ｂ）に示すように、リスト形式で表示された複数の情報の中から一の情報を選択するシングルタップ操作がある。また情報量が多いときにはリスト表示領域Ｒ１をスクロール移動させるためのフリック操作を行うことも可能である。例えば図７（ｃ）に示すように、ユーザーはリスト表示領域Ｒ１の一点をタップした状態でスクロール移動方向Ｆ２又はＦ３にフリック操作を行うことにより、リスト表示領域Ｒ１に表示される情報をスクロールさせることができる。またこの他にも、リスト形式で表示された宛先情報の表示位置を移動させるためのドラッグ操作や、一の宛先情報を選択してその宛先の詳細設定画面へ遷移させるためのダブルタップ操作なども行うことができる。ダブルタップ操作とは、シングルタップ操作と同様の操作を所定時間内に２回行う操作である。このように、図７に示すリスト表示画面Ｇ１３では、シングルタップ、ドラッグ、フリック及びダブルタップの４つの操作イベントが受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図７に示すリスト表示画面Ｇ１３に対し、シングルタップ、ドラッグ、フリック及びダブルタップの４つの操作イベントを関連付けて設定する。
【００６２】
図８は、スキャナ部２が読み取った画像又は記憶装置２３に保存されている画像のサムネイル画像を表示するサムネイル画像表示画面Ｇ１４の一例を示す図である。このサムネイル画像表示画面Ｇ１４は、複数のサムネイル画像を表示可能なサムネイル画像表示領域Ｒ２を有すると共に、そのサムネイル画像表示領域Ｒ２の右側にサムネイル画像をドラッグして移動させることによって様々なジョブの実行を開始するためのアイコン画像Ｂ２が表示される画面構成となっている。このサムネイル画像表示画面Ｇ１４は、図８（ａ）に示すように、サムネイル画像表示領域Ｒ２に表示するサムネイル画像の数が所定数よりも多いとき、サムネイル画像表示領域Ｒ２をスクロール移動させることにより全てのサムネイル画像を表示することができるようになっている。
【００６３】
このようなサムネイル画像表示画面Ｇ１４に対してユーザーが行うことができる操作としては、例えばサムネイル画像を選択するためのシングルタップ操作やダブルタップ操作がある。またサムネイル画像表示領域Ｒ２をスクロール移動させることが可能なときには、フリック操作を行ってスクロール移動させることができる。また図８（ｂ）に示すように、一のサムネイル画像に対してロングタップ操作を行うこともできる。ロングタップ操作は、画面上の一点をタップした状態のまま、そのタップ位置を移動させることなく一定時間以上タップ状態を保持し続ける操作である。一のサムネイル画像に対してロングタップ操作が行われると、図８（ｂ）に示すようにそのサムネイル画像の周囲にメニューアイコンＭ１が表示されるようになる。さらに、ユーザーが行うことができる操作としては、図８（ｃ）において矢印Ｆ４で示すように、一のサムネイル画像をアイコン画像Ｂ２の表示位置まで移動させるドラッグ操作がある。このように、図８に示すサムネイル画像表示画面Ｇ１４は、シングルタップ、ドラッグ、フリック、ダブルタップ、ロングタップの５つの操作イベントを受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図８に示すサムネイル画像表示画面Ｇ１４に対し、シングルタップ、ドラッグ、フリック、ダブルタップ及びロングタップの５つの操作イベントを関連付けて設定する。
【００６４】
図９は、画像のプレビュー表示を行うプレビュー画像表示画面Ｇ１５の一例を示す図である。このプレビュー画像表示画面Ｇ１５は、ユーザーによって選択された画像をプレビュー表示するためのプレビュー領域Ｒ３が含まれる画面構成となっている。このプレビュー画像表示画面Ｇ１５に対してユーザーが行うことができる操作としては、プレビュー画像を縮小、拡大又は回転するためのピンチ操作がある。ピンチ操作には、プレビュー画像を縮小するためのピンチイン操作と、拡大するためのピンチアウト操作と、回転するための回転操作とが含まれる。ピンチイン操作は、図９（ａ）において矢印Ｆ５で示すように、プレビュー領域Ｒ３に表示されるプレビュー画像の２点を２本の指先でタップした状態でそれら２点間の距離を縮めるように移動させる操作である。このようなピンチイン操作により、プレビュー領域Ｒ３に表示されるプレビュー画像が縮小表示されるようになる。またピンチアウト操作は、図９（ｂ）において矢印Ｆ６で示すように、プレビュー領域Ｒ３に表示されるプレビュー画像の２点を２本の指先でタップした状態でそれら２点間の距離を拡大していくように移動させる操作である。このようなピンチアウト操作により、プレビュー領域Ｒ３に表示されるプレビュー画像が拡大表示されるようになる。さらに回転操作は、図９（ｃ）において矢印Ｆ７で示すように、プレビュー領域Ｒ３に表示されるプレビュー画像の２点を２本の指先でタップした状態でそれら２点間の位置を回転させていくように移動させる操作である。このような回転操作により、プレビュー領域Ｒ３に表示されるプレビュー画像が回転表示されるようになる。
【００６５】
またプレビュー画像表示画面Ｇ１５では、ピンチアウト操作に限らず、プレビュー領域Ｒ３に表示されているプレビュー画像の１点に対してダブルタップ操作が行われた場合にも、その１点を中心にプレビュー画像を拡大して表示する処理が行われる。さらにプレビュー画像表示画面Ｇ１５では、プレビュー画像が拡大表示されており、その画像全体をプレビュー領域Ｒ３に表示できていないときにドラッグ操作を受け付け可能となっており、ドラッグ操作が行われると、拡大表示部分を移動させて表示する。
【００６６】
このように、図９に示すプレビュー画像表示画面Ｇ１５は、ドラッグ、ダブルタップ、ピンチの３つの操作イベントを受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図９に示すプレビュー画像表示画面Ｇ１５に対し、ドラッグ、ダブルタップ及びピンチの３つの操作イベントを関連付けて設定する。
【００６７】
図１０は、コピー機能に関する応用設定画面Ｇ１６の一例を示す図である。この応用設定画面Ｇ１６は、コピー機能に関する様々な応用設定を行うために予め登録されている複数のアイコン画像Ｂ３を横方向に配列して表示するアイコン画像表示領域Ｒ４を有すると共に、そのアイコン画像表示領域Ｒ４を横方向にスクロール移動させるためのスクロールバーＢ４が表示される画面構成となっている。すなわち、この応用設定画面Ｇ１６では、予め登録されているアイコン画像Ｂ３の数が一画面内で表示可能なアイコン画像の数を越えているため、デフォルト状態でアイコン画像表示領域Ｒ４が横方向にスクロール移動可能となっている。尚、図例では、コピー機能に関する応用設定画面Ｇ１６を示しているが、他の機能についてもこれと同様である。
【００６８】
このような応用設定画面Ｇ１６に対してユーザーが行うことができる操作としては、例えばアイコン画像Ｂ３を選択するためのシングルタップ操作と、アイコン画像表示領域Ｒ４をスクロール移動させるためにアイコン画像表示領域Ｒ４に対して行われるフリック操作と、同様にアイコン画像表示領域Ｒ４をスクロール移動させるためにスクロールバーＢ４に対して行われるドラッグ操作との３つの操作がある。つまり、図１０に示す応用設定画面Ｇ１６は、シングルタップ、フリック及びドラッグの３つの操作イベントを受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図１０に示す応用設定画面Ｇ１６に対し、シングルタップ、フリック及びドラッグの３つの操作イベントを関連付けて設定する。
【００６９】
図１１は、コピー機能に関する基本設定画面Ｇ１７の一例を示す図である。この基本設定画面Ｇ１７は、コピー機能に関する様々な基本的な設定を行うために予め登録されている複数のアイコン画像Ｂ５をグループ単位で表示するアイコン画像表示領域Ｒ５を有すると共に、そのアイコン画像表示領域Ｒ５に表示されるアイコン画像Ｂ５のグループを別のグループに切り替えるための表示切替ボタンＢ６が表示される画面構成となっている。すなわち、この基本設定画面Ｇ１７は、複数のグループに分類された複数の操作キーをグループ単位で切り替えて表示可能なグループ切替表示画面となっている。つまり、この基本設定画面Ｇ１７は、デフォルト状態でアイコン画像表示領域Ｒ５を別の表示状態に切り替え可能となっている。尚、図例では、コピー機能に関する基本設定画面Ｇ１７を示しているが、他の機能についてもこれと同様である。
【００７０】
このような基本設定画面Ｇ１７に対してユーザーが行うことができる操作としては、例えばアイコン画像Ｂ５及び表示切替ボタンＢ６に対するシングルタップ操作と、表示切替ボタンＢ６を操作することなくアイコン画像表示領域Ｒ５を別のグループの表示状態に切り替えるためのフリック操作との２つの操作がある。つまり、図１１に示す基本設定画面Ｇ１６は、シングルタップ及びフリックの２つの操作イベントを受付可能となっており、それ以外の操作イベントを受け付けない画面構成となっている。それ故、設定部３１は、図１１に示す基本設定画面Ｇ１７に対し、シングルタップ及びフリックの２つの操作イベントを関連付けて設定する。
【００７１】
図１２は、上述した各表示画面と、各表示画面において受付可能な操作イベントとの関係を示す図である。尚、図１２では、各表示画面において受付可能な操作イベントには「ＹＥＳ」と表記され、受付可能でない操作イベントには斜線が施されている。図１２に示すように、操作パネル４の表示部５に表示される表示画面には、様々な種類の表示画面があり、それぞれの表示画面ごとに受付可能な操作イベントが異なっている。そして上述したように設定部３１は、これらの表示画面ごとに、受付可能な操作イベントを特定してユーザーの入力操作に基づいて検知対象となる操作イベントを関連付けて設定する。つまり、設定部３１によって各表示画面に関連付けられる操作イベントは、図１２に示すものと同様である。
【００７２】
したがって、例えば、機能選択画面Ｇ１０が表示されている状態のときにユーザーによってジェスチャ操作が行われると、それに対応する操作イベントを特定するためのループ処理（ステップＳ７，Ｓ８，Ｓ９）において、フリック判定用と、ドラッグ用と、シングルタップ用の３つの操作イベント判定ルーチン１３ｅ，１３ｆ，１３ｂだけが順次起動されるようになる。また、他の表示画面が表示部５に表示されている状態であっても同様である。このように本実施形態では、操作パネル４の表示部５に図１２に示す複数の表示画面のうちのいずれが表示されている場合であっても、複数の操作イベント判定ルーチン１３ｂ〜１３ｇの全てが順に実行されることはなく、表示画面に関連付けられた操作イベントに対応するものだけが実行されるようになっている。
【００７３】
また図１２においては、機能選択画面、リスト表示画面及びサムネイル画像表示画面のそれぞれにおいてフリック操作が条件付きで受付可能となっている。すなわち、これらの表示画面では、フリック操作は常に受付可能な操作イベントではなく、特定の条件が満たされたときに受付可能な操作イベントとなっている。例えば図７のように、リスト表示画面Ｇ１３のリスト表示領域Ｒ１に表示される情報量が所定量よりも多いときには、一度に全ての情報を表示することができないため、リスト表示領域Ｒ１をスクロール移動させて情報を表示することが必要となる。しかし、リスト表示領域Ｒ１に表示される情報量が所定量よりも少なく、全ての情報を一画面内で表示可能な場合には、リスト表示領域Ｒ１をスクロール移動させる必要がない。図１３は、リスト表示領域Ｒ１をスクロール移動させる必要がない場合のリスト表示画面Ｇ１３の一例を示す図である。図１３に示すように、リスト表示領域Ｒ１に表示される宛先の数が所定数よりも少ない場合にはリスト表示領域Ｒ１をスクロール移動させる必要がないため、このようなケースではリスト表示画面Ｇ１３においてスクロール移動させるためのフリック操作を受け付けない状態となる。同様に、図６に示した機能選択画面Ｇ１０においても、例えばアイコン画像Ｂ１の数が所定数（１２個）以下である場合にはアイコン画像表示領域をスクロール移動させる必要がなくなるため、そのような状態ではスクロール移動させるためのフリック操作を受け付けない状態となる。さらに、図８に示したサムネイル画像表示画面Ｇ１４においても、例えばサムネイル画像表示領域Ｒ２に表示するサムネイル画像の数が所定数以下であるときには、サムネイル画像表示領域Ｒ２をスクロール移動させる必要がなくなるため、そのような状態ではスクロール移動させるためのフリック操作を受け付けない状態となる。
【００７４】
これに対し、図１２に示すように、応用設定画面及び基本設定画面は、デフォルトでスクロール移動させることが可能な画面構成であるため、スクロール移動のためのフリック操作は常に受付可能な操作イベントとなっている。
【００７５】
また図１２においては、プレビュー画像においてドラッグ操作が条件付きで受付可能となっている。すなわち、この表示画面では、ドラッグ操作は常に受付可能な操作イベントではなく、特定の条件が満たされたときに受付可能な操作イベントとなっている。例えば上述の図９（ｂ）に示したように、プレビュー画像表示画面Ｇ１５のプレビュー領域Ｒ３においてプレビュー画像が拡大表示されているとき、その拡大表示部分を移動させるためにドラッグ操作が受付可能となる。しかし、プレビュー画像が拡大表示されていないときには、拡大表示部分を移動させる必要がないため、そのような状態ではプレビュー画像表示画面Ｇ１５において拡大表示部分を移動させるためのドラッグ操作を受け付けない状態となる。
【００７６】
上記のように表示部５に表示される各表示画面において、特定の操作イベントが条件付きで受付可能となっているような場合、その特定の操作イベントに対応する操作イベント判定ルーチンを最初に起動してしまうと、最初に無駄な判定処理が実行されてしまうという可能性がある。そこで、本実施形態の設定部３１は、表示部５に表示される各表示画面に対して検知対象となる複数の操作イベントを関連付けるとき、それら複数の操作イベントの中に条件付きで受付可能となる操作イベントが含まれていれば、それら複数の操作イベントのそれぞれに対して優先順位を設定する。すなわち、条件付きで受付可能となる操作イベントの優先順位を低く設定すると共に、条件が付されておらず常に受付可能な操作イベントの優先順位を高く設定する。例えば、機能選択画面Ｇ１０、リスト表示画面Ｇ１３及びサムネイル画像表示画面Ｇ１４では、フリック操作に対応する操作イベントの優先順位を低く設定し、フリック操作以外の操作イベントの優先順位を高く設定する。また、プレビュー画像表示画面Ｇ１５では、拡大表示された表示位置を移動させるためのドラッグ操作に対応する操作イベントの優先順位を低く設定し、ドラッグ操作以外の操作イベントの優先順位を高く設定する。
【００７７】
また、図１０及び図１１に示した応用設定画面や基本設定画面では、ユーザーが設定操作を行う際に画面スクロールや画面切り替えなどが頻繁に行われる。そのような状況の下では、ユーザーによる入力操作に対応する操作イベントを判定する際、画面スクロールや画面切り替えを行うための操作イベントであるか否かを優先的に判定することが好ましい。そのため、設定部３１は、応用設定画面や基本設定画面のように、デフォルトでスクロール移動や画面切り替えを行うことが可能な画面である場合には、スクロール移動や画面切り替えのための操作イベントに関する優先順位を高く設定し、それ以外の操作イベントの優先順位を低く設定する。
【００７８】
そして操作イベント判定部３３は、ユーザーによる入力操作が行われ、その表示画面に関連付けられている複数の操作イベント判定ルーチンを、上述したループ処理（ステップＳ７，Ｓ８，Ｓ９）で順次起動するとき、優先順位の高い操作イベントに対応する操作イベント判定ルーチンから順に起動していく。そのため、例えば、機能選択画面Ｇ１０、リスト表示画面Ｇ１３及びサムネイル画像表示画面Ｇ１４に対してユーザーがジェスチャ操作を行ったときには、フリック判定用以外の他の操作イベント判定ルーチンが優先的に起動され、フリック判定ルーチン１３ｅは最後に起動される。また、プレビュー画像表示画面Ｇ１５に対してユーザーがジェスチャ操作を行ったときには、ドラッグ判定用以外の他の操作イベント判定ルーチンが優先的に起動され、ドラッグ判定ルーチン１３ｆは最後に起動される。さらに、応用設定画面Ｇ１６や基本設定画面Ｇ１７に対してユーザーがジェスチャ操作をおこなったときには、フリック判定ルーチン１３ｅが優先的に起動され、フリック判定用以外の他の操作イベント判定ルーチンがその後に順次起動されるようになる。これにより、ユーザーの入力操作に基づいて複数の操作イベント判定ルーチンを順次起動するときでも、無駄な判定処理が最初に実行されてしまうことを防止することができ、効率的にユーザーの入力操作に対応する操作イベントを特定することができるようになる。
【００７９】
また、操作イベント判定部３３は、上述したループ処理（ステップＳ７，Ｓ８，Ｓ９）において複数の操作イベント判定ルーチンを順次起動していく際、ユーザーによる入力操作が各判定ルーチンに定義されている様々な条件を満たしているか否かを逐次判定していく。そして一の判定ルーチンに定義されている全ての条件が満たされていれば、それによってユーザーの入力操作に対応する操作イベントを特定することができる。一方、一の判定ルーチンに定義されている一の条件が満たされてないことが判明した場合、その時点でユーザーの入力操作に対応する操作イベントが当該判定ルーチンによって特定可能な操作イベントでないことがわかる。そこで本実施形態の操作イベント判定部３３は、一の操作イベント判定ルーチンの起動中、その一の操作イベント判定ルーチンに定義されている複数の条件のうちの一の条件が満たされていないことを判定した時点で当該一の操作イベント判定ルーチンの起動処理を終了し、次の操作イベント判定ルーチンを起動する。以下、これについての具体例を幾つか説明する。
【００８０】
図１４は、ＣＰＵ１１（操作イベント判定部３３）が上述したループ処理（ステップＳ７，Ｓ８，Ｓ９）においてダブルタップ判定ルーチン１３ｃを起動する場合の処理手順の一例を示すフローチャートである。ＣＰＵ１１は、この処理を開始すると、複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中からダブルタップ判定ルーチン１３ｃを選択して起動する（ステップＳ２０）。
【００８１】
このダブルタップ判定ルーチン１３ｃには、タッチセンサ６ａから入力する情報に基づいてダブルタップを判定するための第１ダブルタップ判定時間と第２ダブルタップ判定時間との２つの条件に関する情報が定義されている。第１ダブルタップ判定時間は、最初のタップ操作が検知されてからその最初のタップ操作が画面上からリリースされるまでの時間であり、第２ダブルタップ判定時間は、最初のタップ操作のリリースが検知されてから２回目のタップ操作が検知されるまでの時間である。つまり、最初のタップ操作が検知されてから第１ダブルタップ判定時間内にリリースが検知され、且つ、最初のタップ操作のリリースが検知されてから第２ダブルタップ判定時間内に２回目のタップ操作が検知されると、ユーザーによる入力操作がダブルタップであると特定できるようになっている。
【００８２】
そのため、ＣＰＵ１１は、ステップＳ２０でダブルタップ判定ルーチン１３ｃを起動すると、まず第１の条件として、第１ダブルタップ判定時間内にリリースが検知されたか否かを判断する（ステップＳ２１）。その結果、第１ダブルタップ判定時間を経過しても最初のタップ操作のリリースが検知されていないとき（ステップＳ２１でＮＯ）、ＣＰＵ１１は、次の条件の判定を行うことなく、ダブルタップ判定ルーチン１３ｃの起動を終了し（ステップＳ２２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ２３）。
【００８３】
一方、第１ダブルタップ判定時間内にリリースが検知された場合（ステップＳ２１でＹＥＳ）、ＣＰＵ１１は、第２の条件として、最初のタップ操作のリリースが検知されてから第２ダブルタップ判定時間内に２回目のタップ操作が検知されたか否かを判断する（ステップＳ２４）。その結果、第２ダブルタップ判定時間を経過しても２回目のタップ操作が検知されていないとき（ステップＳ２４でＮＯ）、ＣＰＵ１１は、ダブルタップ判定ルーチン１３ｃの起動を終了し（ステップＳ２２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ２３）。また、第２ダブルタップ判定時間内に２回目のタップ操作が検知された場合（ステップＳ２４でＹＥＳ）、ＣＰＵ１１は、ユーザーによる入力操作に対応する操作イベントとしてダブルタップを特定する（ステップＳ２５）。このようにして操作イベントが特定されると、ステップＳ７，Ｓ８，Ｓ９のループ処理を抜ける。
【００８４】
次に図１５は、ＣＰＵ１１（操作イベント判定部３３）が上述したループ処理（ステップＳ７，Ｓ８，Ｓ９）においてロングタップ判定ルーチン１３ｄを起動する場合の処理手順の一例を示すフローチャートである。ＣＰＵ１１は、この処理を開始すると、複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中からロングタップ判定ルーチン１３ｄを選択して起動する（ステップＳ３０）。
【００８５】
このロングタップ判定ルーチン１３ｄには、タッチセンサ６ａから入力する情報に基づいてロングタップを判定するためのロングタップ判定時間とロングタップ判定距離との２つの条件に関する情報が定義されている。ロングタップ判定時間は、タップ操作が検知されてからそのタップ操作が画面上からリリースされるまでの時間であり、ロングタップ判定距離は、タップ操作が検知されてからそのタップ位置の移動距離である。つまり、タップ操作が検知されてからロングタップ判定時間内にリリースが検知されることなく、しかもタップ位置の移動距離がロングタップ判定距離の範囲内であれば、ユーザーによる入力操作がロングタップであると特定できるようになっている。
【００８６】
そのため、ＣＰＵ１１は、ステップＳ３０でロングタップ判定ルーチン１３ｄを起動すると、まず第１の条件として、ロングタップ判定時間内にリリースが検知されたか否かを判断する（ステップＳ３１）。その結果、ロングタップ判定時間内にタップ操作がリリースされているとき（ステップＳ３１でＹＥＳ）、ＣＰＵ１１は、次の条件の判定を行うことなく、ロングタップ判定ルーチン１３ｄの起動を終了し（ステップＳ３２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ３３）。
【００８７】
一方、ロングタップ判定時間内にリリースが検知されていない場合（ステップＳ３１でＮＯ）、ＣＰＵ１１は、第２の条件として、タップ位置の移動距離がロングタップ判定距離で定められた所定距離以上であるか否かを判断する（ステップＳ３４）。その結果、タップ位置が所定距離以上移動しているとき（ステップＳ３４でＹＥＳ）、ＣＰＵ１１は、ロングタップ判定ルーチン１３ｄの起動を終了し（ステップＳ３２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ３３）。また、タップ位置の移動距離が所定距離の範囲内であるとき（ステップＳ３４でＮＯ）、ＣＰＵ１１は、ユーザーによる入力操作に対応する操作イベントとしてロングタップを特定する（ステップＳ３５）。そしてこの場合も、ステップＳ７，Ｓ８，Ｓ９のループ処理を抜けることになる。
【００８８】
次に図１６は、ＣＰＵ１１（操作イベント判定部３３）が上述したループ処理（ステップＳ７，Ｓ８，Ｓ９）においてフリック判定ルーチン１３ｅを起動する場合の処理手順の一例を示すフローチャートである。ＣＰＵ１１は、この処理を開始すると、複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中からフリック判定ルーチン１３ｅを選択して起動する（ステップＳ４０）。
【００８９】
このフリック判定ルーチン１３ｅには、タッチセンサ６ａから入力する情報に基づいてフリックを判定するためのフリック判定速度とフリック判定距離との２つの条件に関する情報が定義されている。フリック判定速度は、タップ操作が検知されてからそのタップ位置の移動する速度であり、フリック判定距離は、タップ操作が検知されてからそのタップ位置が移動する距離である。つまり、タップ操作が検知されてからそのタップ位置がフリック判定速度以上で移動し、且つ、タップ位置の移動距離がフリック判定距離以上であれば、ユーザーによる入力操作がフリックであると特定できるようになっている。
【００９０】
そのため、ＣＰＵ１１は、ステップＳ４０でフリック判定ルーチン１３ｅを起動すると、まず第１の条件として、タップ位置の移動速度がフリック判定速度以下であるか否かを判断する（ステップＳ４１）。その結果、移動速度がフリック判定速度以下であれば（ステップＳ４１でＹＥＳ）、ＣＰＵ１１は、次の条件の判定を行うことなく、フリック判定ルーチン１３ｅの起動を終了し（ステップＳ４２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ４３）。
【００９１】
一方、タップ位置の移動速度がフリック判定速度を越えていれば（ステップＳ４１でＮＯ）、ＣＰＵ１１は、第２の条件として、タップ位置の移動距離がフリック判定距離で定められた所定距離以下であるか否かを判断する（ステップＳ４４）。その結果、タップ位置の移動距離が所定距離以下であるとき（ステップＳ４４でＹＥＳ）、ＣＰＵ１１は、フリック判定ルーチン１３ｅの起動を終了し（ステップＳ４２）、次の操作イベント判定ルーチンを起動する処理を行う（ステップＳ４３）。また、タップ位置の移動距離が所定距離を越えているとき（ステップＳ４４でＮＯ）、ＣＰＵ１１は、ユーザーによる入力操作に対応する操作イベントとしてフリックを特定する（ステップＳ４５）。そしてこの場合も、ステップＳ７，Ｓ８，Ｓ９のループ処理を抜けることになる。
【００９２】
上記のようにループ処理（ステップＳ７，Ｓ８，Ｓ９）では、一の操作イベント判定ルーチンに定義されている複数の条件のうちの一の条件が満たされていないことを判定した時点で当該一の操作イベント判定ルーチンの起動処理を終了して次の操作イベント判定ルーチンを起動することによって、処理効率を向上させることができる。
【００９３】
図１７は、一例として、ループ処理（ステップＳ７，Ｓ８，Ｓ９）において、ダブルタップ判定ルーチン１３ｃ、ロングタップ判定ルーチン１３ｄ、フリック判定ルーチン１３ｅ及びドラッグ判定ルーチン１３ｆが順に起動される場合の処理シーケンスを示す図である。例えばユーザーの入力操作がドラッグ操作である場合、最初に起動されるダブルタップ判定ルーチン１３ｃでは、第３ステップにおいてリリースが検知されないため、そのタイミングでダブルタップ判定ルーチン１３ｃによる判定が終了し、次のロングタップ判定ルーチン１３ｄが起動される。そしてダブルタップ判定ルーチン１３ｃでは、第４ステップにおいてタップ位置が所定距離以上移動していることが検知されるため、そのタイミングでロングタップ判定ルーチン１３ｄによる判定が終了し、次のフリック判定ルーチン１３ｅが起動される。そしてフリック判定ルーチン１３ｅでは、第３ステップにおいてタップ位置の移動速度が所定速度に満たないが検知されるため、そのタイミングでフリック判定ルーチン１３ｅによる判定が終了し、次のドラッグ判定ルーチン１３ｆが起動される。そしてドラッグ判定ルーチン１３ｆでは、第１ステップから第５ステップまでの処理が全て行われ、最終的にユーザーの入力操作に対応する操作イベントがドラッグに特定される。
【００９４】
このような場合、最初に起動されるダブルタップ判定ルーチン１３ｃでは、第４ステップと第５ステップとが行われない。また２番目に起動されるロングタップ判定ルーチン１３ｄでは、第５ステップが行われない。さらに３番目に起動されるフリック判定ルーチン１３ｅでは、第４ステップと第５ステップとが行われない。したがって、効率的に次の操作イベント判定ルーチンを起動していくことができるようになり、ユーザーの入力操作に対応する操作イベントを特定するまでの時間を短縮することができるという利点がある。
【００９５】
以上のように本実施形態の画像処理装置１は、表示部５に表示される表示画面ごとに、複数の操作イベントの中から、ユーザーの入力操作に基づいて検知対象となる操作イベントを予め関連付けて設定しておき、表示画面に対するユーザーの入力操作が検知されることに伴い、複数の操作イベントのそれぞれに対応する複数の操作イベント判定ルーチン１３ｂ〜１３ｇの中から、その表示画面に予め関連付けられている操作イベントに対応する操作イベント判定ルーチンだけを起動して、ユーザーの入力操作に対応する操作イベントを特定する構成である。つまり、このような構成により、表示画面に対するユーザーの入力操作を検知した場合でも、全ての操作イベント判定ルーチン１３ｂ〜１３ｇを順に起動する必要がなくなり、表示部５に表示されている表示画面に応じて必要な操作イベント判定ルーチンだけを起動することができるので、ＣＰＵ１１にかかる負荷を低減し、効率的にユーザーの入力操作に対応する操作イベントを特定することが可能になる。そして、その結果、画像処理装置１の生産性が低下するという問題を解消することができるようになる。
【００９６】
また本実施形態の画像処理装置１は、電源投入時に、表示部５に表示可能な各種表示画面を解析することにより、各表示画面において検知対象となる操作イベントを特定し、各表示画面に対して特定した操作イベントを関連付けることができる構成となっている。そのため、例えば表示部５に表示される表示画面がカスタマイズされた場合であっても、画像処理装置１を再起動することにより、そのカスタマイズされた表示画面に対応する操作イベントを再起動時に関連付けることができるという利点がある。
【００９７】
また本実施形態の画像処理装置１は、表示部５に表示される各表示画面に対して検知対象となる複数の操作イベントを関連付けるとき、各表示画面に関連付ける複数の操作イベントのそれぞれに対して優先順位を設定する。そして一の表示画面が表示されている状態でユーザーの入力操作が検知されることに伴い、その一の表示画面に関連付けられた複数の操作イベントの優先順位に基づき、優先順位の高い順に操作イベント判定ルーチンを起動していく構成である。このような構成によれば、ユーザーの入力操作に対応する操作イベントをより一層効率的に特定することができるようになる。
【００９８】
以上、本発明に関する一実施形態について説明したが、本発明は上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【００９９】
例えば上記実施形態では、画像処理装置１がＭＦＰによって構成される場合を例示した。しかし、画像処理装置１は、ＭＦＰに限られるものではなく、プリンタ専用機、ＦＡＸ専用機、コピー専用機、スキャナ専用機などであっても構わない。また画像処理装置１は、必ずしも上述したようなジョブを実行する装置に限られず、携帯端末装置などであっても構わない。
【０１００】
また上記実施形態では、主として、設定部３１が、電源投入時に、表示部５に表示可能な各種表示画面を解析することにより、各表示画面において検知対象となる操作イベントを特定し、各表示画面に対してそれらの特定した操作イベントを関連付けておくことを例示した。しかし、これに限らず、設定部３１は、表示制御部３２によって表示部５に表示画面が表示されるタイミングでその表示画面を解析し、その表示画面に対して操作イベントを関連付けるものであっても構わない。この場合、表示画面が実際に表示部５に表示されるタイミングで検知対象となる操作イベントを関連付けることができる。そのため、例えば図１３に示したようにリスト表示画面Ｇ１３においてリスト表示領域Ｒ１に表示される情報量が所定量よりも少ないときには、リスト表示領域Ｒ１をスクロール移動させるためのフリック操作に対応する操作イベントを予め関連付けないようにしておくも可能となり、より一層処理効率を向上させることが可能になる。
【符号の説明】
【０１０１】
１  画像処理装置
４  操作パネル
５  表示部（表示手段）
６ａ  タッチセンサ（入力検知手段）
１１  ＣＰＵ
１３  プログラム
３１  設定部（設定手段）
３２  表示制御部
３３  操作イベント判定部（操作イベント判定手段）
３４  制御実行部（制御手段）
【図１】
2014078097.tif 000003
【図２】
2014078097.tif 000004
【図３】
2014078097.tif 000005
【図４】
2014078097.tif 000006
【図５】
2014078097.tif 000007
【図６】
2014078097.tif 000008
【図７】
2014078097.tif 000009
【図８】
2014078097.tif 000010
【図９】
2014078097.tif 000011
【図１０】
2014078097.tif 000012
【図１１】
2014078097.tif 000013
【図１２】
2014078097.tif 000014
【図１３】
2014078097.tif 000015
【図１４】
2014078097.tif 000016
【図１５】
2014078097.tif 000017
【図１６】
2014078097.tif 000018
【図１７】
2014078097.tif 000019