JP2014059817A - 画像処理装置、操作標準化方法および操作標準化プログラム - Google Patents

画像処理装置、操作標準化方法および操作標準化プログラム Download PDF

Info

Publication number
JP2014059817A
JP2014059817A JP2012205622A JP2012205622A JP2014059817A JP 2014059817 A JP2014059817 A JP 2014059817A JP 2012205622 A JP2012205622 A JP 2012205622A JP 2012205622 A JP2012205622 A JP 2012205622A JP 2014059817 A JP2014059817 A JP 2014059817A
Authority
JP
Japan
Prior art keywords
touch
unit
event
gesture
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012205622A
Other languages
English (en)
Other versions
JP5772773B2 (ja
Inventor
Ayumi Ito
歩 伊藤
Masayuki Kawamoto
将之 河本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2012205622A priority Critical patent/JP5772773B2/ja
Priority to US14/018,806 priority patent/US9001368B2/en
Priority to EP13184529.9A priority patent/EP2712167B1/en
Priority to CN201310428846.0A priority patent/CN103677402B/zh
Publication of JP2014059817A publication Critical patent/JP2014059817A/ja
Application granted granted Critical
Publication of JP5772773B2 publication Critical patent/JP5772773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00392Other manual input means, e.g. digitisers or writing tablets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】 アプリケーションプログラムの開発を容易にすること。
【解決手段】 MFPは、タッチパネルにより検出される1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成部75と、複数のタッチイベントの組に基づいてジェスチャーイベントを決定するジェスチャーイベント決定部77と、アプリケーションプログラムにより定められる複数種類の処理を実行するアプリケーション部51と、アプリケーションプログラムがインストールされる段階で、複数種類の処理それぞれを複数のジェスチャーイベントのいずれかと関連付ける関連付部71と、ジェスチャーイベント決定部77により決定されたジェスチャーイベントと関連付けられた処理を特定する処理特定部79と、特定された処理の処理識別情報をアプリケーション部51に出力する操作通知部81と、を備える。
【選択図】 図5

Description

この発明は画像処理装置、操作標準化方法および操作標準化プログラムに関し、特に、アプリケーションプログラムがインストールされる画像処理装置、その画像処理装置で実行される操作標準化方法および操作標準化プログラムに関する。
近年、複合機(MFP)で代表される画像処理装置において、アプリケーションプログラムをインストールすることが可能になっているものがあり、ユーザーは、使用形態に応じたアプリケーションプログラムをインストールすることによって、MFPをカスタマイズすることができる。このアプリケーションプログラムは、サイズの大きな画面を表示する場合があり、MFPが有する表示パネルに、その画面の一部しか表示することができないため、画面をスクロールさせる必要がある。
一方、画面をスクロールさせる操作を受け付ける技術して、タッチパネルを用いる技術がある。例えば、特開2011−170603号公報には、データ情報を表示する表示部と、前記表示部へ接触することにより入力を行う接触入力部と、前記接触入力部での入力のうち、少なくとも1つ以上の同時入力の接触点を検知する接触検知部と、前記接触検知部で検知した同時入力の接触点の数を取得する取得部と、少なくとも接触点の数に応じて異なる処理を行う処理部と、を有し、前記処理部は、前記少なくとも1つ以上の同時入力の接触点が一方向に移動されたことを前記接触検知部が検知した場合、前記表示部に表示されているデータ情報を、前記取得部で取得した前記同時入力の接触点の数に応じた移動量で表示移動するよう構成される、携帯端末が記載されている。
しかしながら、1つの位置のみの検出可能な種類のタッチパネルと、同時に複数の位置を検出可能な種類のタッチパネルとが存在し、MFPが備えるタッチパネルの種類が異なる。このため、すべての種類のタッチパネルに対応したアプリケーションプログラムを開発することは困難であるといった問題がある。
特開2011−170603号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の1つは、アプリケーションプログラムの開発を容易にした画像処理装置を提供することである。
この発明の他の目的は、アプリケーションプログラムの開発を容易にした操作標準化方法を提供することである。
この発明の他の目的は、アプリケーションプログラムの開発を容易にした操作標準化プログラムを提供することである。
上述した目的を達成するためにこの発明のある局面によれば、画像処理装置は、画像を表示する表示手段と、表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、表示手段およびタッチパネルを制御する制御手段と、を備えた画像処理装置であって、制御手段は、タッチパネルにより1以上の位置が検出されることに応じて、1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成手段と、タッチイベント生成手段が連続して出力する複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定手段と、アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、複数種類の処理のうち入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムに対応して、アプリケーションプログラムが定める複数種類の処理それぞれを複数のジェスチャーイベントのいずれかと関連付ける関連付手段と、ジェスチャーイベント決定手段により決定されたジェスチャーイベントと、関連付手段によって複数種類の処理のうちからアプリケーションプログラムに対応して関連付けられた処理を特定する処理特定手段と、特定された処理の処理識別情報をアプリケーション手段に出力する操作通知手段と、を備える。
この局面に従えば、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムが定める複数種類の処理それぞれが複数のジェスチャーイベントのいずれかと関連付けられ、タッチパネルにより1以上の位置が検出されることに応じて、1以上の位置それぞれを示す位置情報を含むタッチイベントが出力され、複数のタッチイベントの組に基づいて、ジェスチャーイベントが決定され、決定されたジェスチャーイベントと関連付けられた処理の処理識別情報に対応する種類の処理が実行される。このため、タッチパネルに入力される操作を、アプリケーションプログラムで定められる処理に関連付けることができる。また、アプリケーションプログラムをタッチパネルで受け付け可能な操作と関係なく開発することができる。その結果、アプリケーションプログラムの開発を容易にした画像処理装置を提供することができる。
好ましくは、操作通知手段は、処理特定手段によってジェスチャーイベント決定手段により決定されたジェスチャーイベントに対応する処理が特定されない場合、ジェスチャーイベントの元になる1以上の位置情報を、アプリケーション手段に出力する。
この局面に従えば、タッチパネルで受け付けられる操作に対応しているアプリケーションプログラムをインストールすることができる。
好ましくは、タッチイベント生成手段は、タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、タッチイベントの状態を示す検出状態を決定する状態決定手段を含み、タッチイベントは、検出された位置と検出状態とを含む。
この局面に従えば、タッチパネルに触れる位置を移動させる操作を受け付けることができる。
好ましくは、ジェスチャーイベント決定手段は、タッチイベント生成手段により同時に出力されるタッチイベントの数、およびタッチイベント生成手段により連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、ジェスチャーイベントを決定する。
この局面に従えば、タッチパネルの複数の位置を指示する操作を受け付けることができる。
この発明の他の局面によれば、操作標準化方法は、画像処理装置を制御するコンピューターで実行される操作標準化方法であって、画像処理装置は、画像を表示する表示手段と、表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、アプリケーションプログラムを実行することによって、アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、複数種類の処理のうち入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、を備え、タッチパネルにより1以上の位置が検出されることに応じて、1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成ステップと、タッチイベント生成ステップにおいて複数のタッチイベントが連続して出力される場合、連続して出力される複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定ステップと、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムに対応して、アプリケーションプログラムが定める複数種類の処理それぞれを複数のジェスチャーイベントのいずれかと関連付ける関連付ステップと、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、関連付ステップにおいて複数種類の処理のうちからアプリケーションプログラムに対応して関連付けられた処理を特定する処理特定ステップと、特定された処理の処理識別情報をアプリケーション手段に出力する操作通知ステップと、を含む。
この局面に従えば、アプリケーションプログラムの開発を容易にした操作標準化方法を提供することができる。
好ましくは、操作通知ステップは、処理特定ステップにおいてジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントに対応する処理が特定されない場合、ジェスチャーイベントの元になる1以上の位置情報を、アプリケーション手段に出力するステップを含む。
好ましくは、タッチイベント生成ステップは、タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、タッチイベントの状態を示す検出状態を決定する状態決定ステップを含み、タッチイベントは、検出された位置と検出状態とを含む。
好ましくは、ジェスチャーイベント決定ステップは、タッチイベント生成ステップにおいて同時に出力されるタッチイベントの数、およびタッチイベント生成ステップにより連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、ジェスチャーイベントを決定するステップを含む。
この発明のさらに他の局面によれば、操作標準化プログラムは、画像処理装置を制御するコンピューターで実行される操作標準化プログラムであって、画像処理装置は、画像を表示する表示手段と、表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、アプリケーションプログラムを実行することによって、アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、複数種類の処理のうち入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、を備え、タッチパネルにより1以上の位置が検出されることに応じて、1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成ステップと、タッチイベント生成ステップにおいて複数のタッチイベントが連続して出力される場合、連続して出力される複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定ステップと、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムに対応して、アプリケーションプログラムが定める複数種類の処理それぞれを複数のジェスチャーイベントのいずれかと関連付ける関連付ステップと、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、関連付ステップにおいて複数種類の処理のうちからアプリケーションプログラムに対応して関連付けられた処理を特定する処理特定ステップと、特定された処理の処理識別情報をアプリケーション手段に出力する操作通知ステップと、をコンピューターに実行させる。
この局面に従えば、アプリケーションプログラムの開発を容易にした操作標準化プログラムを提供することができる。
好ましくは、操作通知ステップは、処理特定ステップにおいてジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントに対応する処理が特定されない場合、ジェスチャーイベントの元になる1以上の位置情報を、アプリケーション手段に出力するステップを含む。
好ましくは、タッチイベント生成ステップは、タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、タッチイベントの状態を示す検出状態を決定する状態決定ステップを含み、タッチイベントは、検出された位置と検出状態とを含む。
好ましくは、ジェスチャーイベント決定ステップは、タッチイベント生成ステップにおいて同時に出力されるタッチイベントの数、およびタッチイベント生成ステップにより連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、ジェスチャーイベントを決定するステップを含む。
本実施の形態の一つにおけるMFPの外観を示す斜視図である。 操作パネルの一例を示す平面図である。 MFPのハードウェア構成の概要の一例を示すブロック図である。 MFPが備えるCPUのソフトウェアアーキテクチャの一例を示す図である。 MFPが備えるCPUが有する機能の一例を、HDDに記憶される情報とともに示すブロック図である。 マスターテーブルの一例を示す図である。 第1変換テーブルの一例を示す図である。 第2変換テーブルの一例を示す図である。 ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。 操作通知処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1は、本実施の形態の一つにおけるMFPの外観を示す斜視図である。図2は、操作パネルの一例を示す平面図である。図1および図2を参照して、MFP100は、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
操作パネル160は、MFP100の上面に設けられる。操作パネル160は、表示部161と、タッチパネル165と、ハードキー部167とを含む。表示部161は、例えば、液晶表示装置(LCD)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。ハードキー部167は、「BOX」、「FAX」、「COPY」、「ECO」の文字がそれぞれ表された4つのハードキー167A〜167Dを含む。タッチパネル165は、表示部161の上面または下面に表示部161に重畳して設けられ、表示部161の表示面中の位置を検出する。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成する。
図3は、MFPのハードウェア構成の概要の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路110を含む。メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するか、または、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部116は、原稿読取部130によって読み取られたデータ、またはHDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、ネットワークにMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信I/F部112が接続されるネットワークは、例えば、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、MFP100は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
外部記憶装置117は、CPU111により制御され、CD−ROM(Compact Disk Read Only Memory)118、または半導体メモリが装着される。CPU111は、外部記憶装置117を介してCD−ROM118または半導体メモリにアクセス可能である。CPU111は、外部記憶装置117に装表されたCD−ROM118または半導体メモリに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、通信I/F部112に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
操作パネル160は、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、複数のキーからなるハードキー部167と、を含む。ハードキー部167が含む複数のキーそれぞれは、接点スイッチを含み、CPU111に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、CPU111に接続される回路を閉じる。ハードキーは、MFP100を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
操作部163は、ハードキー部167が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル165は、表示部161の上面または下面に設けられ、操作ユーザーにより指示された位置の座標をCPU111に出力する。タッチパネル165は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をCPU111に出力する。タッチパネル165は、マルチタッチスクリーンパネルであり、同時に複数の位置がユーザーにより指示される場合、ユーザーにより指示された複数の位置にそれぞれ対応する複数の座標をCPU111に出力する。
タッチパネル165は、表示部161の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル165は、表示部161に重畳して設けられるので、タッチパネル165は、操作ユーザーが表示部161の表示面を指示すれば、表示部161の表示面中で操作ユーザーが指示した位置の座標をCPU111に出力する。タッチパネル165は、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
操作部163が受け付け可能な操作は、ハードキー部167が有する複数のキーを押下する操作と、タッチパネル165を指示する操作とを含む。さらに、ハードキー部167は、「BOX」、「FAX」、「COPY」、「ECO」の文字がそれぞれ表された4つのハードキー167A〜167Dを含む。「BOX」、「FAX」、「COPY」の文字がそれぞれ表された3つのハードキー167A,167B,167Cは、MFP100に実行させる処理の切り換えを指示するための処理切換操作が割り当てられた処理切換キーである。「ECO」の文字が表されたハードキー167Dは、MFP100を、通常モードから通常モードよりも消費電力の低い省電力モードへの切換を指示するためのモード切換操作が割り当てられたモード切換キーである。操作部163は、ハードキー167A,167B,167Cのいずれかが押下される場合、処理切換操作を受け付け、ハードキー167Dが押下される場合、モード切換操作を受け付ける。
図4は、MFPが備えるCPUのソフトウェアアーキテクチャの一例を示す図である。図4を参照して、CPU111には、オペレーティングシステム(OS)層が形成され、その上の階層に、MFPプロセス層が形成される。MFPプロセス層の上層に、アプリケーションプラットフォーム(PF)層、アプリケーション層の順に形成される。
OS層は、CPU111がOSプログラムを実行するタスクが属する。OS層に属するタスクは、MFP100のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信I/F部112、ROM113、RAM114、HDD115、ファクシミリ部116、外部記憶装置117、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、操作パネル160を含む。OS層に属するタスクは、MFPプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。また、OS層は、MFPプロセス層との間で、操作部163が受け付け可能な複数種類の操作それぞれを識別するための操作識別情報を共有しており、OS層に属するタスクは、操作部163によって操作ユーザーによる操作が検出されることに応じて、検出された操作を識別するための操作識別情報をMFPプロセス層に出力する。
アプリケーション層は、CPU111がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがMFP100にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。アプリケーションプログラムは、MFP100に、インターネットに接続されたサーバーからWebページをダウンロードして表示するブラウジング処理を実行させるプログラムを含む。なお、アプリケーションプログラムは、これに限定されることなく、MFP100にコピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送受信処理等を実行させるために、ユーザーインターフェース等をカスタマイズするためのプログラムであってもよい。アプリケーションプログラムは、特に限定するものではないが、例えば、Python等のプログラミング言語で記述される。
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、MFPプロセス層において実行される処理をMFPプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、MFPプロセス層に属するタスクに処理を実行させる場合、アプリコマンドを出力する。アプリコマンドは、API(Application Program Interface)として、公開されたコマンドである。このため、MFP100に処理を実行させるアプリケーションプログラムを容易に作成することができる。公開とは、MFP100を製造するメーカー以外の第三者が使用可能な状態をいう。このため、第三者は、アプリコマンドを用いてMFP100にインストール可能なアプリケーションプログラムを開発することができる。
さらに、アプリケーションプログラムを実行するタスクは、MFP100を操作する操作ユーザーによる指示に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。MFP100を操作する操作ユーザーによる指示は、操作ユーザーが操作部163を操作して入力することにより、OS層において受け付けられる。本実施の形態においては、操作ユーザーによる指示に基づいて、複数種類の処理のうちからアプリケーションプログラムを実行するタスクが実行する処理を特定する処理を、アプリケーションPF層が担当する。このため、アプリケーションプログラムは、アプリケーションPF層との間で、アプリケーションプログラムにより定められる複数種類の処理それぞれを識別するための処理識別情報を共有しており、アプリケーションプログラムを実行するタスクは、アプリケーションPF層に属するタスクから処理識別情報が入力されることに応じて、複数種類の処理のうち処理識別情報に対応する処理を実行する。
アプリケーションPF層は、アプリケーション層とMFPプロセス層との間に配置され、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力するアプリコマンドを制御するタスクが属する。具体的には、アプリケーションPF層は、アプリケーション層に属する複数のタスクのいずれか1つをデータの入出力が可能なカレント状態に決定する。アプリケーションPF層は、アプリケーション層に属する複数のタスクのうちカレント状態に決定したタスクが出力するアプリコマンドを受け付け、また、MFPプロセス層に属するタスクから入力される処理識別情報を、カレント状態に決定したタスクに出力する。また、アプリケーションPF層に属するタスクは、アプリケーション層に属する複数のタスクそれぞれが出力するアプリコマンドを、予め定められた規則に従って内部コマンドに変換することにより標準化し、内部コマンドをMFPプロセス層に出力する。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。
アプリコマンドと内部コマンドとは予め対応付けられている。例えば、コマンド対応テーブルを記憶しておくようにすればよい。アプリコマンドと内部コマンドとは、1対1に対応してもよいし、1つのアプリコマンドに2以上の内部コマンドの組が対応していてもよい。さらに、バージョンの異なる複数のアプリコマンドに対して、1つの内部コマンド、または複数の内部コマンドからなる1組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、MFP100のハードウェア資源に依存するコマンドである。内部コマンドは、通常は、公開されていないが、公開されていてもよい。
MFPプロセス層は、アプリケーションPF層とOS層との間に配置され、CPU111がMFPプロセスプログラムを実行するタスクが属する。MFPプロセス層は、アプリケーションPF層に属するタスクが出力する内部コマンドを、OS層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ハードウェア資源を制御するためにオペレーティングコマンドをOS層に属するタスクに出力するタスクが属する。なお、実際には、内部コマンドを、OS層に属するタスクが実行可能な1以上のオペレーティングコマンドに変換する場合があるが、ここでは説明のために、内部コマンドとOS層に属するタスクが実行可能な1以上のオペレーティングコマンドとの関係は1対1として、説明する。また、MFPプロセス層は、OS層に属するタスクから操作識別情報が入力されると、その操作識別情報をアプリケーションPF層に出力する。
上述したように、アプリケーションプログラムは、MFP100に、ブラウジング処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理等を実行させるためのアプリケーションプログラムであるが、以下の説明では、アプリケーションプログラムがCPU111に実行させる処理のうちで、操作パネル160を制御する処理に関連する部分を主に説明する。
図5は、MFPが備えるCPUが有する機能の一例を、HDDに記憶される情報とともに示すブロック図である。図5に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶されたプログラムを実行することにより、CPU111により実現される機能である。具体的には、CPU111が、OSプログラム、操作標準化プログラム、およびアプリケーションプログラムを実行することにより、CPU111により実現される。ここでは、MFP100に、アプリケーションプログラムとして、第1アプリケーションプログラムおよび第2アプリケーションプログラムが、インストールされている場合におけるCPU111の機能を示している。
図5を参照して、CPU111は、アプリケーション部51と、調停部53と、操作変換部55と、オペレーティング部57と、を含む。アプリケーション部51は、図4に示したソフトウェアアーキテクチャにおいて、アプリケーション層に属する。アプリケーション部51は、第1アプリ実行部61と、第2アプリ実行部63と、を含む。第1アプリ実行部61は、CPU111が第1アプリケーションプログラムを実行するタスクによって実行される機能である。第2アプリ実行部63は、CPU111が第2アプリケーションプログラムを実行するタスクによって実行される機能である。第1アプリ実行部61および第2アプリ実行部63それぞれは、アプリコマンドを調停部53に出力する。
第1アプリ実行部61は、MFP100を操作する操作ユーザーによる指示に基づいて、第1アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。第2アプリ実行部63は、MFP100を操作する操作ユーザーによる指示に基づいて、第2アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。第1アプリケーションプログラムによって定められた複数種類の処理および第2アプリケーションプログラムによって定められた複数種類の処理は、表示部161に表示する画面を変化させる処理を含む。画面を変化させる処理は、例えば、表示部161に画面の一部が表示されている場合には、表示部161に表示する部分を変更するスクロール処理、ページ送り処理、画面を拡大して表示する拡大処理、画面を縮小して表示する縮小処理、画面の方向を変更する回転処理を含む。
調停部53および操作変換部55は、CPU111が操作標準化プログラムを実行するタスクによって実行される機能である。調停部53は、図4に示したソフトウェアアーキテクチャにおいて、アプリケーションPF層に属する。操作変換部55は、図4に示したソフトウェアアーキテクチャにおいて、アプリケーションPF層に属する。なお、操作変換部55が有する機能のすべてをアプリケーションPF層の機能としたが、操作変換部55が有する機能の少なくとも一部をアプリケーションPF層の機能とし、他の部分をMFPプロセス層の機能としてもよい。
調停部53は、第1アプリ実行部61および第2アプリ実行部63のうちいずれか1つを、データの入出力が可能なカレント状態に決定する。以下、調停部53が、第1および第2アプリ実行部61,63のうちカレント状態に決定しているものを、カレントタスクという。調停部53は、第1アプリ実行部61および第2アプリ実行部63のうちカレントタスクが出力するアプリコマンドが入力され、カレントタスクを識別するためのアプリ識別情報とアプリコマンドとを操作変換部55に出力する。調停部53は、第1アプリ実行部61がカレント状態の場合、第1アプリ実行部61がカレントタスクなので、第1アプリ実行部61を識別するためのアプリ識別情報と第1アプリ実行部61が出力するアプリコマンドを操作変換部55に出力する。調停部53は、第2アプリ実行部63がカレント状態の場合、第2アプリ実行部63がカレントタスクなので、第2アプリ実行部63を識別するためのアプリ識別情報と第2アプリ実行部63が出力するアプリコマンドとを操作変換部55に出力する。
調停部53は、第1および第2アプリ実行部61,63それぞれから複数のアプリコマンドが出力される場合、それらの順番を決定し、順に操作変換部55に出力する。例えば、複数のアプリコマンドを同時に実行できない場合に、一方のアプリコマンドの操作変換部55による実行が終了するのを待って他方のアプリコマンドを操作変換部55に出力する。また、一方のアプリコマンドを実行した後でなければ、他方のアプリコマンドを実行できない場合には、他方のアプリコマンドが一方のアプリコマンドより先に入力される場合であっても、一方のアプリコマンドを先に出力する。
操作変換部55は、調停部53からアプリコマンドが入力され、アプリコマンドをコマンド対応テーブルに従って内部コマンドに変換することにより標準化する。コマンド対応テーブルは、1つのアプリコマンドに1以上の内部コマンドを対応付ける。コマンド対応テーブルに含まれるアプリコマンドは、バージョンの異なる同種類のアプリコマンドを含む場合があり、この場合、異なるバージョンのアプリコマンドそれぞれを1以上の内部コマンドに対応付ける。このため、異なるバージョンのアプリコマンドを記述したアプリケーションプログラムをインストールすることを可能としている。コマンド対応テーブルは、新しいアプリコマンドが登場する場合に、新たに登場したアプリコマンドに1以上の内部コマンドを対応付けたコマンド対応テーブルで更新される。このため、新しいアプリコマンドを記述したアプリケーションプログラムをインストールすることができる。
さらに、操作変換部55は、標準化された内部コマンドを、オペレーティングコマンドに変換し、オペレーティングコマンドをオペレーティング部57に出力する。オペレーティングコマンドは、操作変換部55とオペレーティング部57との間で予め定められた、オペレーティング部57が解釈可能なコマンドである。
オペレーティング部57は、CPU111がOSプログラムを実行するタスクによって実行される機能である。オペレーティング部57は、図4に示したソフトウェアアーキテクチャにおいて、OS層に属する。
オペレーティング部57は、操作変換部55が出力するオペレーティングコマンドが入力され、オペレーティングコマンドに従って、ハードウェア資源を制御する。ハードウェア資源として、ここでは、表示部161および操作部163のタッチパネル165を例に説明する。オペレーティング部57は、表示部161を制御して、表示部161に画像を表示させる。
さらに、オペレーティング部57は、タッチパネル165が出力する、表示部161の表示面の位置を受け付ける。オペレーティング部57は、タッチパネル165から位置情報を受け付ける場合、操作識別情報としてマウスイベントを、操作変換部55に出力する。なお、オペレーティング部57は、ハードキー部167を制御する場合、ハードキー部167が出力するハードキーの識別情報を受け付け、受け付けられたハードキーの識別情報を含む操作識別情報を、操作変換部55に出力する。
オペレーティング部57は、タッチパネル165から同時に2以上の位置情報を受け付ける場合がある。例えば、操作ユーザーが、表示部161の表示面の異なる2つの部分を、2つの指で同時に指示する場合、指示された表示面の2つの位置それぞれを示す位置情報を受け付ける。オペレーティング部57は、タッチパネル165から同時に2以上の位置情報を受け付ける場合、2以上の位置情報を含むマウスイベントを操作識別情報として、操作変換部55に出力する。なお、操作ユーザーが、ハードキー部167が有する複数のハードキーのうち1つを押下しながら、表示部161の表示面を指で指示する場合、押下されたハードキーの識別情報と、指示された表示面の位置を示す位置情報とを受け付け、受け付けられたキーの識別情報と位置情報とを含む操作識別情報を、操作変換部55に出力する。
操作変換部55は、関連付部71と、表示制御部73と、タッチイベント生成部75と、ジェスチャーイベント決定部77と、処理特定部79と、操作通知部81と、を含む。
表示制御部73は、調停部53から、カレントタスクのアプリ識別情報と、操作画面を表示することを示すアプリコマンドとの組が入力される場合、操作画面の画像を表示することを示すアプリコマンドを変換したオペレーティングコマンドをオペレーティング部57に出力する。オペレーティング部57は、表示部161を制御し、操作画面の画像を表示部161に表示させる。
オペレーティング部57は、所定時間間隔でタッチパネル165にユーザーにより指示された位置を検出させ、タッチパネル165から所定時間間隔で位置情報を取得する。オペレーティング部57は、タッチパネル165がユーザーにより指示されている場合、ユーザーにより指示されている位置を示す位置情報と指示の状態とを示すマウスイベントを、タッチイベント生成部75に出力する。マウスイベントは、操作識別情報のひとつである。ユーザーがタッチパネル165を指示する操作は、ユーザーがタッチパネル165の任意の位置を指示する指示開始操作、ユーザーがタッチパネル165を指示しながら、換言すれば、タッチパネル165に触れながら指示する位置を移動させる移動操作、ユーザーがタッチパネル165の指示を終了する終了操作、を含む。ユーザーが指示開始操作を入力した時点でオペレーティング部57が出力するマウスイベントに含まれる指示の状態は「Press」であり、ユーザーが移動操作を入力した時点でオペレーティング部57が出力するマウスイベントに含まれる指示の状態は「Move」であり、ユーザーが終了操作を入力した時点でオペレーティング部57が出力するマウスイベントに含まれる指示の状態は「Release」である。
タッチイベント生成部75は、オペレーティング部57からマウスイベントが入力される場合、マウスイベントをタッチイベントに変換する。タッチイベントは、ユーザーにより指示された位置を示す位置情報と、タッチイベントの状態とを含む。タッチイベントの状態は、マウスイベントの指示の状態に対応する。マウスイベントに含まれる指示の状態「Press」に対応するタッチイベントの状態は「開始」であり、マウスイベントに含まれる指示の状態「Move」に対応するタッチイベントの状態は「更新」であり、マウスイベントに含まれる指示の状態「Release」に対応するタッチイベントの状態は「終了」である。タッチイベント生成部75は、マウスイベントに含まれる指示の状態を、対応するタッチイベントの状態に変更することにより、タッチイベントを生成し、生成したタッチイベントをジェスチャーイベント決定部77および操作通知部81に出力する。
タッチイベント生成部75は、オペレーティング部57から複数のマウスイベントが入力される場合、複数のマウスイベントそれぞれに対応する複数のタッチイベントを生成する。タッチイベント生成部75は、1以上のタッチイベントを生成する場合、生成された1以上のタッチイベントをジェスチャーイベント決定部77および操作通知部81に出力する。
ジェスチャーイベント決定部77は、タッチイベント生成部75から連続して入力される複数のタッチイベントに基づいてジェスチャーイベントを決定する。ジェスチャーイベント決定部77は、タッチイベント生成部75から第1のタッチイベントと第2のタッチイベントの2つが同時に入力される場合、第1のタッチイベントに対して連続して入力される複数のタッチイベントの第1の組と、第2のタッチイベントに対して連続して入力される複数のタッチイベントの第2の組と、に基づいてジェスチャーイベントを決定する。ジェスチャーイベント決定部77は、決定されたジェスチャーイベントを処理特定部79に出力する。第1の組に含まれる複数のタッチイベントは、位置情報が同じか、または位置情報が連続している。第2の組に含まれる複数のタッチイベントは、位置情報が同じか、または位置情報が連続している。このため、ジェスチャーイベント決定部77は、同時に入力される複数のタッチイベントが、第1の組と第2の組のいずれに属するかを、それらに含まれる位置情報で判断する。
ジェスチャーイベント決定部77は、タッチイベント生成部75から連続してタッチイベントが入力される場合、最初に入力されるタッチイベントの状態は「開始」である。そして、ジェスチャーイベント決定部77は、状態が「更新」のタッチイベントが入力されると、状態が「開始」のタッチイベントの位置情報と、状態が「更新」のタッチイベントの位置情報とから2点間の距離を算出し、距離が所定のしきい値T以上ならばユーザーによるフリック操作を検出し、距離が所定のしきい値Tより短ければユーザーによるスワイプ操作を検出する。また、複数のタッチイベントが入力される場合は、最初の複数のタッチイベントによってユーザーによるスワイプ操作が検出され、後の複数のタッチイベントによってユーザーによるフリック操作が検出される場合がある。ジェスチャーイベント決定部77は、スワイプ操作およびフリック操作を検出する場合、最初の位置情報で特定される位置から後の位置情報で特定される位置に向かう方向を算出し、表示部161の表示面を基準に上下左右の4方向のうち算出された方向に最も近い方向をパラメータとし、ジェスチャー識別情報とパラメータとを処理特定部79に出力する。スワイプ操作を検出する場合には、ジェスチャー識別情報「スワイプ」とパラメータとを処理特定部79に出力し、フリック操作を検出する場合には、ジェスチャー識別情報「フリック」とパラメータとを処理特定部79に出力する。
ジェスチャーイベント決定部77は、タッチイベント生成部75から同時に2つのタッチイベントが入力される場合、最初に入力される2つのタッチイベントそれぞれの状態は「開始」である。この場合に、2つのタッチイベントそれぞれに含まれる位置情報に基づいて、2点間の距離L1および2点間を結ぶ直線の角度R1を算出する。2点間を結ぶ直線の角度は、表示部161の横方向を基準線として、2点間を結ぶ直線が基準線となす角度とすればよい。2点間を結ぶ直線と基準線とのなす角度は、基準線から時計回りになす角度である。そして、ジェスチャーイベント決定部77は、その後に連続して入力される2つのタッチイベントの位置情報に基づいて、2点間の距離L2および2点間を結ぶ直線の角度R2を算出する。
ジェスチャーイベント決定部77は、角度R1と角度R2とが同じで、かつ、距離L2と距離L1と異なれば、ユーザーによるピンチアウト操作またはピンチイン操作を検出する。角度R1と角度R2とが同じとは、角度R1と角度R2との差が所定の範囲内の場合を含む。ユーザーの指の動きを検出するために、誤差を含む。距離L2が距離L1より大きければピンチアウト操作を検出し、距離L2が距離L1より小さければピンチイン操作を検出する。ジェスチャーイベント決定部77は、ピンチアウト操作またはピンチイン操作を検出する場合、距離L2を距離L1で除算することによって倍率を算出し、算出された倍率をパラメータとし、ジェスチャー識別情報とパラメータとを処理特定部79に出力する。ピンチアウト操作を検出する場合には、ジェスチャー識別情報「ピンチアウト」とパラメータとを処理特定部79に出力し、ピンチイン操作を検出する場合には、ジェスチャー識別情報「ピンチイン」とパラメータとを処理特定部79に出力する。
ジェスチャーイベント決定部77は、角度R1と角度R2とが異なる場合、ユーザーによるローテーション操作を検出する。角度R1と角度R2とが異なるとは、角度R1と角度R2との差が所定の範囲外の場合である。ユーザーの指の動きを検出するために、誤差を含む。ジェスチャーイベント決定部77は、ローテーション操作を検出する場合、角度R2から角度R1を減算することによって回転方向を決定し、決定された回転方向をパラメータとし、ジェスチャー識別情報「ローテーション」とパラメータとを処理特定部79に出力する。角度R2から角度R1を減算した値がプラスならば回転方向は時計回りであり、角度R2から角度R1を減算した値がマイナスならば回転方向は反時計回りである。
<タッチイベント生成部の変形例>
なお、オペレーティング部57が、マウスイベントを出力することなく、位置情報のみを出力する場合がある。タッチイベント生成部75は、オペレーティング部57からマウスイベントが出力されない場合、オペレーティング部57が出力する位置情報に基づいてタッチイベントを生成する。タッチイベント生成部75は、オペレーティング部57に所定時間間隔で位置情報の出力要求を出力し、オペレーティング部57から所定時間間隔で位置情報を取得する。オペレーティング部57は、タッチイベント生成部75から出力要求が入力されると、タッチパネル165がユーザーにより指示されている場合には、ユーザーにより指示されている位置を示す位置情報を出力するが、タッチパネル165がユーザーにより指示されていない場合には、位置情報を出力しない。
タッチイベント生成部75は、状態検出部76を含む。状態検出部76は、オペレーティング部57から所定時間間隔で入力される位置情報の状態を検出する。具体的には、状態検出部76は、オペレーティング部57から第1の時に入力される位置情報と、第1の時よりも所定時間後の第2の時に入力される位置情報とに基づいて、位置情報の状態を決定する。状態検出部76は、第1の時に入力される位置情報で特定される位置が、第2の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在しない場合には、第2の時に入力される位置情報の状態を「開始」に決定する。また、状態検出部76は、第1の時に入力される位置情報で特定される位置が、第2の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在する場合には、第2の時に入力される位置情報の状態を「更新」に決定する。さらに、状態検出部76は、第1の時に入力される位置情報で特定される位置から所定の距離の範囲内の位置情報が、第2の時に入力されない場合には、第2の時において第1の時に入力されていた位置情報の状態を「終了」に決定する。状態検出部76は、オペレーティング部57から複数の位置情報が入力される場合、複数の位置情報それぞれに対して状態を決定する。
タッチイベント生成部75は、オペレーティング部57から位置情報が入力される場合、その位置情報に対して状態検出部76によって検出された状態と位置情報との組からなるタッチイベントを生成する。具体的には、状態検出部76により第2の時に、第2の時に入力される位置情報の状態が「開始」に決定される場合、第2の時に入力される位置情報と状態「開始」とを含むタッチイベントを生成する。状態検出部76により第2の時に、第2の時に入力される位置情報の状態が「更新」に決定される場合、第2の時に入力される位置情報と状態「更新」とを含むタッチイベントを生成する。状態検出部76により第2の時に、第1の時に入力されていた位置情報の状態が「終了」に決定される場合、第1の時に入力されていた位置情報と状態「終了」とを含むタッチイベントを生成する。
タッチイベント生成部75は、オペレーティング部57から複数の位置情報が入力される場合、複数の位置情報それぞれに対応する複数のタッチイベントを生成する。タッチイベント生成部75は、1以上のタッチイベントを生成する場合、生成された1以上のタッチイベントをジェスチャーイベント決定部77に出力する。
ユーザーがタッチパネル165を指示する操作は、ユーザーがタッチパネル165の任意の位置を指示する指示開始操作、ユーザーがタッチパネル165を指示しながら、換言すれば、タッチパネルに触れながら位置を移動させる移動操作、ユーザーがタッチパネル165の指示を終了する終了操作、を含む。位置情報の状態「開始」を含むタッチイベントは、指示開始操作を示す。位置情報の状態「更新」を含むタッチイベントは、移動操作を示す。位置情報の状態「終了」を含むタッチイベントは、終了操作を示す。
関連付部71は、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムが定める複数種類の処理それぞれを、複数のジェスチャーイベントのいずれかと関連付ける。HDD115には、マスターテーブル95が予め記憶されている。マスターテーブル95は、複数の処理識別情報それぞれに、ジェスチャーイベントの複数を予め関連付ける。
図6は、マスターテーブルの一例を示す図である。図6を参照して、マスターテーブル95は、複数の処理識別情報ごとにマスターレコードを含む。マスターレコードは、処理の項目と、ジェスチャーの項目と、を含む。処理の項目には、処理識別情報が設定され、ジェスチャーの項目には、ジェスチャーイベントを識別するためのジェスチャー識別情報が設定される。このため、新しいアプリケーションプログラムが開発され、そのアプリケーションプログラムが、マスターテーブル95に含まれる複数の処理識別情報とは別の新たな処理識別情報を含む場合には、マスターテーブル95が新たな処理識別情報を含むマスターレコードを含むように更新される。
例えば、処理の項目に処理識別情報「スクロール」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「スワイプ」が設定される。処理識別情報「スクロール」で特定される処理は、画面を上下左右にスクロールさせる処理である。ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、タッチパネル165を指示しながら、上下左右のいずれかに指を所定の速さより遅い速さで移動させるユーザーの操作に対応する。指を所定の速さより遅い速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
処理の項目に処理識別情報「拡大」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチアウト」が設定される。処理識別情報「拡大」で特定される処理は、画面を拡大して表示させる処理である。ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、タッチパネル165の2箇所を指示しながら、指示した2個所の少なくとも一方を、2箇所の間隔が長くなるように移動させる操作に対応する。2箇所の間隔が長くなるように移動させる操作は、2箇所の間隔が変化するため、ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、2箇所の間隔が変化の割合を倍率としたパラメータに含む。
処理の項目に処理識別情報「縮小」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチイン」が設定される。処理識別情報「縮小」で特定される処理は、画面を縮小して表示させる処理である。ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、タッチパネル165の2箇所を指示しながら、指示した2個所の少なくとも一方を、2箇所の間隔が短くなるように移動させる操作に対応する。2箇所の間隔が短くなるように移動させる操作は、2箇所の間隔が変化するため、ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、2箇所の間隔が変化の割合を倍率としたパラメータに含む。
処理の項目に処理識別情報「回転」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ローテーション」が設定される。処理識別情報「回転」で特定される処理は、画面を回転して画面の方向を変更する処理である。ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、タッチパネル165の2箇所を指示しながら、指示した2個所の少なくとも一方を、2箇所を結ぶ直線の向きが変更されるように移動させる操作が入力される場合に検出される。例えば、2箇所の一方を中心に他方で円弧を描く操作である。円弧を描く方向が時計回りと反時計回りとがあるため、ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、時計回りと反時計回りのいずれかを方向としたパラメータに含む。
処理の項目に処理識別情報「ページ送り」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「フリック」が設定される。処理識別情報「ページ送り」で特定される処理は、画面を次のページの画面に変更して表示させる処理である。ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、タッチパネル165を指示しながら、上下左右のいずれかに指をスワイプのジェスチャーイベントの操作におけるしきい値以上の速さで移動させる操作に対応する。指をしきい値以上の速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
図5に戻って、関連付部71は、選択部83を含む。選択部83は、HDD115に記憶されているマスターテーブル95を読み出す。具体的には、マスターテーブル95を読み出すためのオペレーティングコマンドをオペレーティング部57に出力し、オペレーティング部57がHDD115を制御して読み出すマスターテーブル95を取得する。選択部83は、アプリケーションプログラムがインストールされる段階で、マスターテーブル95を参照して、アプリケーションプログラムが定める複数種類の処理のうちから標準化対象処理を特定し、特定された標準化対象処理それぞれの処理識別情報に対して、マスターテーブル95によって関連付けられたジェスチャーイベントを選択する。標準化対象処理は、アプリケーションプログラムが定める複数種類の処理のうちで、その処理を起動させるトリガーとなるイベントが、マスターテーブル95に定義されたジェスチャーイベントを定める複数のマウスイベントの組の発生とは異なるイベントとしてアプリケーションプログラムによって定められている処理である。例えば、アプリケーションプログラムが、マルチタッチのタッチパネル165に対応しておらず、シングルタッチのタッチパネルに対応している場合であって、拡大処理、縮小処理および回転処理を定めている場合を例に説明する。この場合は、拡大処理、縮小処理および回転処理を起動させるトリガーとなるイベントは、拡大処理、縮小処理および回転処理それぞれに対応する設定画面における操作または予め定められた操作ボタンを指示する操作を受け付けるイベントの場合がある。このため、拡大処理、縮小処理および回転処理それぞれを起動させるトリガーとなるイベントは、マスターテーブル95に定義されたジェスチャー識別情報「ピンチアウト」、「ピンチイン」および「ローテーション」のジェスチャーイベントを定める複数のマウスイベントの組の発生とは異なるイベントとしてアプリケーションプログラムによって定められる。
また、アプリケーションプログラムによってスクロール処理が定められているが、そのスクロール処理を起動させるトリガーとなるイベントは、スクロールバーを移動させるタッチイベントの場合がある。このため、スクロール処理を起動させるトリガーとなるイベントは、マスターテーブル95に定義されたジェスチャー識別情報「スワイプ」のジェスチャーイベントを定める複数のマウスイベントの組の発生とは異なるイベントとしてアプリケーションプログラムによって定められる。
関連付部71は、選択部83によって特定された標準化対象処理それぞれの処理識別情報と、その処理識別情報に対して選択部83によって選択されたジェスチャーイベントとを関連付けた変換レコードを生成し、変換テーブルに追加する。
関連付部71は、アプリケーションプログラムに対して生成された変換テーブルをアプリケーションプログラムと関連付けてHDD115に記憶する。具体的には、関連付部71は、第1アプリケーションプログラムがインストールされる段階で、第1アプリケーションプログラムに対応する第1変換テーブル91を生成し、HDD115に記憶する。また、関連付部71は、第2アプリケーションプログラムがインストールされる段階で、第2アプリケーションプログラムに対応する第2変換テーブル93を生成し、HDD115に記憶する。具体的には、第1変換テーブル91または第2変換テーブル93を記憶するためのオペレーティングコマンドをオペレーティング部57に出力し、オペレーティング部57がHDD115を制御して第1変換テーブル91または第2変換テーブル93を記憶する。
図7は、第1変換テーブルの一例を示す図である。図7を参照して、第1変換テーブル91は、MFP100に第1アプリケーションプログラムがインストールされる段階で生成され、第1アプリケーションプログラムにより定められる複数種類の標準化対象処理それぞれに対応する変換レコードを含む。変換レコードは、処理の項目と、ジェスチャーイベントの項目と、を含む。処理の項目には、第1アプリケーションプログラムにより定められる複数種類の標準化対象処理を識別するための処理識別情報が設定される。ジェスチャーイベントの項目は、ジェスチャーイベントを識別するためのジェスチャー識別情報が設定される。
ここでは、第1アプリケーションプログラムにより定められる複数種類の標準化対象処理の処理識別情報を、「スクロール」、「拡大」、「縮小」、「回転」、「ページ送り」としている。図6に示したマスターテーブル95は、1つの処理識別情報に対して1つのジェスチャー識別情報を関連付けているので、処理識別情報「スクロール」に対してジェスチャー識別情報「スワイプ」が関連付けられ、処理識別情報「拡大」に対してジェスチャー識別情報「ピンチアウト」が関連付けられ、処理識別情報「縮小」に対してジェスチャー識別情報「ピンチイン」が関連付けられ、処理識別情報「回転」に対してジェスチャー識別情報「ローテーション」が関連付けられ、処理識別情報「ページ送り」に対してジェスチャー識別情報「フリック」が関連付けられる。
図8は、第2変換テーブルの一例を示す図である。図8を参照して、第2変換テーブル93は、MFP100に第2アプリケーションプログラムがインストールされる段階で生成され、第2アプリケーションプログラムにより定められる複数種類の標準化対象処理それぞれに対応する変換レコードを含む。変換レコードは、処理の項目と、ジェスチャーイベントの項目と、を含む。処理の項目には、第1アプリケーションプログラムにより定められる複数種類の標準化対象処理を識別するための処理識別情報が設定される。ジェスチャーイベントの項目は、ジェスチャーイベントを識別するためのジェスチャー識別情報が設定される。
ここでは、第1アプリケーションプログラムにより定められる複数種類の標準化対象処理の処理識別情報を、「スクロール」、「ページ送り」としている。図5に示したマスターテーブル95は、1つの処理識別情報に対して1つのジェスチャー識別情報を関連付けているので、処理識別情報「スクロール」に対してジェスチャー識別情報「スワイプ」が関連付けられ、処理識別情報「ページ送り」に対してジェスチャー識別情報「フリック」が関連付けられる。
したがって、第1アプリケーションプログラムがマルチタッチのタッチパネルに対応していない場合、または、第1アプリケーションプログラムにより定まる複数種類の標準化対象処理、または第2アプリケーションプログラムによって定まる複数種類の標準化対象処理が、例えば、画面中のスクロールバーを指示する操作、または、ハードキー部167が備える複数のハードキーを押下する操作によって実行される場合であっても、第1アプリケーションプログラムにより定まる複数種類の標準化対象処理、または第2アプリケーションプログラムによって定まる複数種類の標準化対象処理に対して、タッチパネル165に入力する操作を関連付けることができる。
図5に戻って、処理特定部79は、タッチイベント生成部75からタッチイベントが入力され、ジェスチャーイベント決定部77からジェスチャーイベントが入力される場合がある。処理特定部79は、HDD115に記憶されている第1変換テーブル91および第2変換テーブル93のうち、調停部53によって設定されているカレントタスクのアプリ識別情報に対応するものを読み出す。処理特定部79は、調停部53によってカレントタスクが第1アプリ実行部61に設定されている場合は、第1変換テーブル91を読出し、カレントタスクが第2アプリ実行部63に設定されている場合は、第2変換テーブル93を読出す。具体的には、第1変換テーブル91または第2変換テーブル93を読み出すためのオペレーティングコマンドをオペレーティング部57に出力し、オペレーティング部57がHDD115を制御して読み出す第1変換テーブル91または第2変換テーブル93を取得する。以下、第1アプリ実行部61がカレントタスクの場合について説明する。
処理特定部79は、ジェスチャーイベント決定部77からジェスチャーイベントが入力されることに応じて、ジェスチャーイベントに基づいて、複数種類の処理のうちから調停部53によってカレント状態に設定されているアプリケーションプログラムに対応して関連付けられた処理を特定する。ここでは、調停部53によって第1アプリケーションプログラムを実行する第1アプリ実行部61がカレント状態に設定されているので、処理特定部79は、ジェスチャーイベント決定部77から入力されるジェスチャーイベントと、第1変換テーブル91によって関連付けられた処理を特定する。より具体的には、処理特定部79は、ジェスチャーイベント決定部77から入力されるジェスチャーイベントのジェスチャー識別情報がジェスチャーの項目に設定された変換レコードを、第1変換テーブル91から抽出し、抽出された変換レコードの処理の項目に設定されている処理識別情報を取得する。処理特定部79は、取得された処理識別情報を、操作通知部81に出力する。なお、ジェスチャーイベントは、位置情報とパラメータとを含むので、処理識別情報とともに、位置情報とパラメータとを出力する。
処理特定部79は、ジェスチャーイベント決定部77からジェスチャーイベントが入力されない場合、タッチイベント生成部75から入力される複数のタッチイベントを操作通知部81に出力する。
操作通知部81は、処理特定部79から処理識別情報または複数のタッチイベントが入力される。操作通知部81は、ジェスチャーイベント決定部77からジェスチャーイベントが入力される場合、カレントタスクに、処理特定部79から入力される処理識別情報を出力する。具体的には、処理識別情報で特定される処理を実行させるためのアプリコマンドを生成し、アプリコマンドをカレントタスク、ここでは、第1アプリ実行部61への出力を、調停部53に依頼する。これにより、第1アプリ実行部61は、処理識別情報で特定される処理を実行する。このため、タッチパネル165に入力される操作であって、複数のタッチイベントの組で特定される操作(ジェスチャーイベント)を、第1アプリケーションプログラムを実行する第1アプリ実行部61に実行させることができる。換言すれば、第1アプリケーションプログラムを開発する段階で、MFP100においてタッチパネル165で受け付け可能な操作(複数のタッチイベントの組で特定されるジェスチャーイベント)を意識することなく開発することができる。たとえば、タッチパネル165が、同時に複数の位置を検出可能か否かを考量することなく、第1アプリケーションプログラムを開発することができる。さらに、タッチパネル165は、同時に複数の位置を検出可能なマルチタッチ型であるが、マルチタッチ型のタッチパネル165に対応していない第1アプリケーションプログラムをインストールする場合であっても、タッチパネル165に同時に複数の位置を入力する操作、例えば、ピンチアウト、ピンチイン、ローテーションの操作が入力される場合に、その操作に対応する処理を、第1アプリ実行部61に実行させることができる。
操作通知部81は、ジェスチャーイベント決定部77からジェスチャーイベントが入力されない場合、カレントタスクに、処理特定部79から入力される複数のタッチイベントを操作識別情報として出力する。第1アプリケーションプログラムまたは第2アプリケーションプログラムが、複数のタッチイベントで定まる操作に対応しているからである。このため、第2アプリケーションプログラムが、マルチタッチ型のタッチパネル165で受け付けられる操作に対応している場合であっても、第2アプリケーションプログラムをインストールすることができる。
図9は、ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。ジェスチャーイベント決定処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された操作標準化プログラムを実行することにより、CPU111により実行される処理である。図9を参照して、CPU111は、タッチイベントが入力されたか否かを判断する(ステップS01)。ユーザーがタッチパネル165を指示すれば、タッチパネル165により検出された位置に基づいてタッチイベントが検出される。タッチイベントが検出されるまで待機状態となり(ステップS01でNO)、タッチイベントが検出されたたならば(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、検出されたタッチイベントが単数か否かを判断する。単数のタッチイベントが検出されたならば処理をステップS03に進めるが、複数のタッチイベントが検出されたならば処理をステップS13に進める。
ステップS03においてはタッチイベントの状態によって処理を分岐させる。タッチイベントの状態が開始ならば処理をステップS01に戻し、更新ならば処理をステップS04に進め、終了ならば処理をステップS09に進める。処理がステップS04に進む場合、タッチイベントの状態が更新の場合であり、そのタッチイベントの直前に別のタッチイベントが入力されている。別のタッチイベントの状態は、開始の場合と、更新の場合とがある。ステップS04においては、指示方向を決定する。直前に入力された別のタッチイベントに含まれる位置情報で特定される位置からステップS01において検出されたタッチイベントに含まれる位置情報で特定される位置に向かう方法を決定する。ここで決定する方向は、表示部161の表示面を基準にした上下左右の4方向のうち最も近い方向である。
次のステップS05においては、指示距離Lを算出する。直前に入力された別のタッチイベントに含まれる位置情報で特定される位置とステップS01において検出されたタッチイベントに含まれる位置情報で特定される位置との間の距離を指示距離Lとして算出する。そして、指示距離Lがしきい値TH以上か否かを判断する(ステップS06)。指示距離Lがしきい値TH以上ならば処理をステップS07に進めるが、そうでなければ処理をステップS08に進める。
ステップS07においては、ジェスチャーイベントをフリックの決定し、処理をステップS01に戻す。ステップS08においては、ジェスチャーイベントをスワイプに決定し、処理をステップS01に戻す。
処理がステップS09に進む場合、ステップS01において検出されたタッチイベントの状態が終了である。タッチイベントの状態が終了の場合、そのタッチイベントの直前に別のタッチイベントが入力されている。別のタッチイベントの状態は、開始の場合と、更新の場合とがある。ステップS09においては、直前に入力された別のタッチイベントの状態によって処理を分岐させる。直前に入力された別のタッチイベントの状態が開始ならば処理をステップS10に進めるが、そうでなければ処理をステップS01に戻す。
ステップS10においては、ステップS01において検出されたタッチイベントに含まれる位置情報と同じ位置情報がRAM114に記憶されているか否かを判断する。RAM114に記憶されているならば処理をステップS11に進めるが、そうでなければ処理をステップS12に進める。なお、ここでいう同じ位置情報とは、2つの位置情報でそれぞれ特定される2つの位置の間の距離が所定の長さ以内である場合を含む。ユーザーが同じ位置を指示する操作を検出するために、誤差を含む。
ステップS12においては、ステップS01において検出されたタッチイベントに含まれる位置情報をRAM114に一時記憶し、処理をステップS01に戻す。処理がステップS12に進む場合は、直前に入力されたタッチイベントの状態が開始で、次に入力されるタッチイベントの状態が終了の場合であり、かつ、RAM114に同じ位置情報が記憶されていない場合である。換言すれば、ユーザーが最初のタップ操作を入力する場合である。
ステップS11においては、ジェスチャーイベントをダブルタップに決定し、処理をステップS01に戻す。処理がステップS11に進む場合は、直前に入力されたタッチイベントの状態が開始で、ステップS01において入力されるタッチイベントの状態が終了の場合であり、かつ、RAM114に同じ位置情報が記憶されている場合である。換言すれば、ユーザーが最初のタップ操作を入力した後に、最初のタップ操作と同じ位置をタップ操作する場合である。
処理がステップS13に進む場合は、2つのタッチイベントが検出される場合である。ステップS13においては、2つのタッチイベントの少なくとも一方の状態が更新か否かを判断する。2つのタッチイベントの少なくとも一方の状態が更新ならば処理をステップS14に進めるが、そうでなければ処理をステップS01に戻す。
ステップS14においては、角度を算出する。表示部161の表示面の所定の基準辺を基準に、2つのタッチイベントそれぞれに含まれる位置情報で特定される2つの位置を結ぶ直線が基準辺となす角度を算出する。次のステップS15においては、ステップS14において算出された角度に変化があるか否かを判断する。ステップS14において算出された角度が、直前に入力された別の2つのタッチイベントに基づいて算出された角度との差が所定の角度以上であれば、角度が変化したと判断する。角度が変化したならば処理をステップS16に進めるが、そうでなければ処理をステップS17に進める。ステップS16においては、ジェスチャーイベントをローテーションに決定し、処理をステップS01に戻す。
ステップS17においては、距離を算出する。2つのタッチイベントそれぞれに含まれる位置情報で特定される2つの位置の間の距離を算出する。次のステップS18においては、ステップS14において算出された距離に変化があるか否かを判断する。ステップS18において算出された距離と、直前に入力された別の2つのタッチイベントに基づいて算出された距離との差が所定の長さ以上であれば、距離が変化したと判断する。距離が変化したならば処理をステップS19に進めるが、そうでなければ処理をステップS01に戻す。
ステップS19においては、倍率を決定する。ステップS18において算出された距離を、直前に入力された別の2つのタッチイベントに基づいて算出された距離で除算した値を倍率に決定する。そして、倍率が1より大きければ処理をステップS21に進めるが、そうでなければ処理をステップS22に進める。
ステップS21においては、ジェスチャーイベントをピンチアウトに決定し、処理をステップS01に戻す。ステップS22においては、ジェスチャーイベントをピンチインに決定し、処理をステップS01に戻す。
図10は、操作通知処理の流れの一例を示すフローチャートである。操作通知処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された操作標準化プログラムを実行することにより、CPU111により実行される処理である。図10を参照して、CPU111は、カレントタスクを特定する(ステップS31)。第1アプリケーションプログラムを実行するタクスと、第2アプリケーションプログラムを実行するタスクと、のうちいずれがカレントタスクかを特定する。以下の説明では、第1アプリケーションプログラムを実行するタスクが、カレントタスクに特定された場合について説明する。
ステップS32においては、変換テーブルを読み出す。ステップS31においてカレントタスクに特定されたタスクが実行するアプリケーションプログラムに関連付けられた変換テーブルを読み出す。ここでは、第1アプリケーションプログラムを実行するタスクをカレントタスクとしているので、HDD115から第1アプリケーションプログラムに関連付けられた第1変換テーブル91を読み出す。
次のステップS33においては、ジェスチェーイベントが検出されたか否かを判断する。CPU111が、図9に示したジェスチャーイベント決定処理を実行することにより、ジェスチャーイベントが検出される場合がある。ジェスチャーイベントが検出されたならば処理をステップS34に進めるが、そうでなければ処理をステップS36に進める。
ステップS34においては、ジェスチャーイベントに対応する標準化対象処理が存在するか否かを判断する。ステップS32において読み出された第1変換テーブル91に含まれる変換レコードのうちに、ステップS33において検出されたジェスチャーイベントのジェスチャー識別情報が、ジェスチャーの項目に設定されている変換レコードを抽出する。そのような変換レコードを抽出したならば、ジェスチャーイベントに対応する標準化対象処理が存在すると判断する。標準化対象処理が存在するならば処理をステップS35に進めるが、そうでなければ処理をステップS37に進める。
次のステップS35においては、標準化対象処理の処理識別情報をステップS31において特定されたカレントタスクに出力し、処理をステップS38に進める。具体的には、ステップS34において抽出された変換レコードの処理の項目に設定されている処理識別情報を標準化対象処理の処理識別情報とし、標準化対象処理の処理識別情報を含むアプリコマンドを生成し、生成したアプリコマンドを第1アプリケーションプログラムを実行するカレントタスクに出力する。
処理がステップS36に進む場合、ジェスチャーイベントが検出されない場合である。ステップS36においては、タッチイベントが検出されたか否かを判断する。ここで検出されるタッチイベントは、ジェスチャーイベントが検出されない場合に検出されるタッチイベントである。例えば、ユーザーがタップする操作を入力する場合には、タップする操作により検出される状態が開始のタッチイベントと、状態が終了のタッチイベントとが検出される。タッチイベントが検出されたならば処理をステップS37に進めるが、そうでなければ処理をステップS38に進める。
ステップS37においては、ステップS36において検出されたタッチイベント、またはステップS33において検出されたジェスチャーイベントを構成する複数のタッチイベントをステップS31において特定されたカレントタスク、ここでは、第1アプリケーションプログラムを実行するタスクに出力し、処理をステップS38に進める。
ステップS38においては、カレントタスクが終了したか否かを判断する。ステップS31において特定されたカレントタスクが終了したならば処理を終了するが、そうでなければ処理をステップS33に戻す。
以上説明したように、本実施の形態におけるMFP100は、第1アプリケーションプログラムがインストールされる段階で、第1アプリケーションプログラムが定める複数種類の処理それぞれが複数のジェスチャーイベントのいずれかと関連付けた第1変換テーブル91と、第2アプリケーションプログラムがインストールされる段階で、第2アプリケーションプログラムが定める複数種類の処理それぞれが複数のジェスチャーイベントのいずれかと関連付けた第2変換テーブル93と、を記憶する。タッチパネル165により1以上の位置が検出されることに応じて、1以上の位置それぞれを示す位置情報を含むタッチイベントを生成し、複数のタッチイベントの組に基づいて、ジェスチャーイベントを決定し、カレントタスクが第1アプリケーションプログラムを実行する第1アプリ実行部61の場合に第1変換テーブル91を参照して、決定されたジェスチャーイベントと関連付けられた処理の処理識別情報を実行させ、カレントタスクが第2アプリケーションプログラムを実行する第2アプリ実行部63の場合に第2変換テーブル93を参照して、決定されたジェスチャーイベントと関連付けられた処理の処理識別情報を実行させる。このため、タッチパネル165に入力される操作を、第1または第2アプリケーションプログラムで定められる処理に関連付けることができる。このため、第1および第2アプリケーションプログラムをタッチパネル165で受け付け可能な操作と関係なく開発することができるので、アプリケーションプログラムの開発を容易にすることができる。
また、複数のタッチイベントの組に基づいて決定されたジェスチャーイベントと、第1変換テーブル91によって関連付けられた処理が存在しない場合には、第1アプリ実行部61に複数のタッチイベントが出力され、複数のタッチイベントの組に基づいて決定されたジェスチャーイベントと、第2変換テーブル93によって関連付けられた処理が存在しない場合には、第2アプリ実行部63に複数のタッチイベントが出力される。このため、第1アプリケーションプログラムおよび第2アプリケーションプログラムが、タッチパネル165で受け付けられる操作に対応している場合であっても、第1アプリケーションプログラムおよび第2アプリケーションプログラムをインストールすることができる。
なお、上述した実施の形態においては、画像処理装置の一例としてMFP100について説明したが、図9および図10に示した処理を、MFP100を制御するCPU111に実行させる操作標準化方法、また、その操作標準化方法をCPU111に実行させるための操作標準化プログラムとして、発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 MFP、51 アプリケーション部、53 調停部、55 操作変換部、57 オペレーティング部、61 第1アプリ実行部、63 第2アプリ実行部、71 関連付部、73 表示制御部、75 タッチイベント生成部、76 状態検出部、77 ジェスチャーイベント決定部、79 処理特定部、81 操作通知部、91 変換テーブル、93 変換テーブル、95 マスターテーブル、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部。

Claims (12)

  1. 画像を表示する表示手段と、
    前記表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、
    前記表示手段および前記タッチパネルを制御する制御手段と、を備えた画像処理装置であって、
    前記制御手段は、
    前記タッチパネルにより1以上の位置が検出されることに応じて、前記1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成手段と、
    前記タッチイベント生成手段が連続して出力する複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定手段と、
    アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、前記複数種類の処理のうち前記入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、
    前記アプリケーションプログラムがインストールされる段階で、前記アプリケーションプログラムに対応して、前記アプリケーションプログラムが定める前記複数種類の処理それぞれを前記複数のジェスチャーイベントのいずれかと関連付ける関連付手段と、
    前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントと、前記関連付手段によって前記複数種類の処理のうちから前記アプリケーションプログラムに対応して関連付けられた処理を特定する処理特定手段と、
    前記特定された処理の処理識別情報を前記アプリケーション手段に出力する操作通知手段と、を備えた画像処理装置。
  2. 前記操作通知手段は、前記処理特定手段によって前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントに対応する処理が特定されない場合、前記ジェスチャーイベントの元になる1以上の位置情報を、前記アプリケーション手段に出力する、請求項1に記載の画像処理装置。
  3. 前記タッチイベント生成手段は、前記タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、前記タッチイベントの状態を示す検出状態を決定する状態決定手段を含み、前記タッチイベントは、前記検出された位置と前記検出状態とを含む、請求項1または2に記載の画像処理装置。
  4. 前記ジェスチャーイベント決定手段は、前記タッチイベント生成手段により同時に出力されるタッチイベントの数、および前記タッチイベント生成手段により連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、前記ジェスチャーイベントを決定する、請求項1〜3のいずれかに記載の画像処理装置。
  5. 画像処理装置を制御するコンピューターで実行される操作標準化方法であって、
    前記画像処理装置は、
    画像を表示する表示手段と、
    前記表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、
    アプリケーションプログラムを実行することによって、前記アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、前記複数種類の処理のうち前記入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、を備え、
    前記タッチパネルにより1以上の位置が検出されることに応じて、前記1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成ステップと、
    前記タッチイベント生成ステップにおいて複数のタッチイベントが連続して出力される場合、前記連続して出力される複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定ステップと、
    前記アプリケーションプログラムがインストールされる段階で、前記アプリケーションプログラムに対応して、前記アプリケーションプログラムが定める前記複数種類の処理それぞれを前記複数のジェスチャーイベントのいずれかと関連付ける関連付ステップと、
    前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、前記関連付ステップにおいて前記複数種類の処理のうちから前記アプリケーションプログラムに対応して関連付けられた処理を特定する処理特定ステップと、
    前記特定された処理の処理識別情報を前記アプリケーション手段に出力する操作通知ステップと、を含む操作標準化方法。
  6. 前記操作通知ステップは、前記処理特定ステップにおいて前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントに対応する処理が特定されない場合、前記ジェスチャーイベントの元になる1以上の位置情報を、前記アプリケーション手段に出力するステップを含む、請求項5に記載の操作標準化方法。
  7. 前記タッチイベント生成ステップは、前記タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、前記タッチイベントの状態を示す検出状態を決定する状態決定ステップを含み、前記タッチイベントは、前記検出された位置と前記検出状態とを含む、請求項5または6に記載の操作標準化方法。
  8. 前記ジェスチャーイベント決定ステップは、前記タッチイベント生成ステップにおいて同時に出力されるタッチイベントの数、および前記タッチイベント生成ステップにより連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、前記ジェスチャーイベントを決定するステップを含む、請求項5〜7のいずれかに記載の操作標準化方法。
  9. 画像処理装置を制御するコンピューターで実行される操作標準化プログラムであって、
    前記画像処理装置は、
    画像を表示する表示手段と、
    前記表示手段の表示面中で、ユーザーにより指示される1以上の位置を検出可能なタッチパネルと、
    アプリケーションプログラムを実行することによって、前記アプリケーションプログラムにより定められる複数種類の処理をそれぞれ識別するための複数の処理識別情報のいずれか1つが入力されることに応じて、前記複数種類の処理のうち前記入力された処理識別情報に対応する種類の処理を実行するアプリケーション手段と、を備え、
    前記タッチパネルにより1以上の位置が検出されることに応じて、前記1以上の位置それぞれを示す位置情報を含むタッチイベントを出力するタッチイベント生成ステップと、
    前記タッチイベント生成ステップにおいて複数のタッチイベントが連続して出力される場合、前記連続して出力される複数のタッチイベントの組に基づいて、複数のジェスチャーイベントのいずれか1つを決定するジェスチャーイベント決定ステップと、
    前記アプリケーションプログラムがインストールされる段階で、前記アプリケーションプログラムに対応して、前記アプリケーションプログラムが定める前記複数種類の処理それぞれを前記複数のジェスチャーイベントのいずれかと関連付ける関連付ステップと、
    前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、前記関連付ステップにおいて前記複数種類の処理のうちから前記アプリケーションプログラムに対応して関連付けられた処理を特定する処理特定ステップと、
    前記特定された処理の処理識別情報を前記アプリケーション手段に出力する操作通知ステップと、を前記コンピューターに実行させる操作標準化プログラム。
  10. 前記操作通知ステップは、前記処理特定ステップにおいて前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントに対応する処理が特定されない場合、前記ジェスチャーイベントの元になる1以上の位置情報を、前記アプリケーション手段に出力するステップを含む、請求項9に記載の操作標準化プログラム。
  11. 前記タッチイベント生成ステップは、前記タッチパネルにより検出される1以上の位置それぞれの時間的な変換に基づいて、前記タッチイベントの状態を示す検出状態を決定する状態決定ステップを含み、前記タッチイベントは、前記検出された位置と前記検出状態とを含む、請求項9または10に記載の操作標準化プログラム。
  12. 前記ジェスチャーイベント決定ステップは、前記タッチイベント生成ステップにおいて同時に出力されるタッチイベントの数、および前記タッチイベント生成ステップにより連続して出力される複数のタッチイベントそれぞれに含まれる検出状態の変化に基づいて、前記ジェスチャーイベントを決定するステップを含む、請求項9〜11のいずれかに記載の操作標準化プログラム。

JP2012205622A 2012-09-19 2012-09-19 画像処理装置、操作標準化方法および操作標準化プログラム Active JP5772773B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012205622A JP5772773B2 (ja) 2012-09-19 2012-09-19 画像処理装置、操作標準化方法および操作標準化プログラム
US14/018,806 US9001368B2 (en) 2012-09-19 2013-09-05 Image processing apparatus, operation standardization method, and non-transitory computer-readable recording medium encoded with operation standardization program with an application program that supports both a touch panel capable of detecting only one position and a touch panel capable of detecting a plurality of positions simultaneously
EP13184529.9A EP2712167B1 (en) 2012-09-19 2013-09-16 Image processing apparatus, operation standardization method, and computer-readable recording medium encoded with operation standardization program
CN201310428846.0A CN103677402B (zh) 2012-09-19 2013-09-18 图像处理装置和操作标准化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012205622A JP5772773B2 (ja) 2012-09-19 2012-09-19 画像処理装置、操作標準化方法および操作標準化プログラム

Publications (2)

Publication Number Publication Date
JP2014059817A true JP2014059817A (ja) 2014-04-03
JP5772773B2 JP5772773B2 (ja) 2015-09-02

Family

ID=49230512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012205622A Active JP5772773B2 (ja) 2012-09-19 2012-09-19 画像処理装置、操作標準化方法および操作標準化プログラム

Country Status (4)

Country Link
US (1) US9001368B2 (ja)
EP (1) EP2712167B1 (ja)
JP (1) JP5772773B2 (ja)
CN (1) CN103677402B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110343A (ja) * 2014-12-04 2016-06-20 キヤノン株式会社 情報処理装置、情報処理装置における情報処理方法、並びにプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203304B (zh) * 2016-03-17 2020-02-07 中兴通讯股份有限公司 利用压力实现应用的功能界面的方法及装置
CN107544694B (zh) * 2016-06-23 2022-06-07 中兴通讯股份有限公司 一种信息处理方法、装置及系统
CN108334259A (zh) * 2017-01-17 2018-07-27 中兴通讯股份有限公司 应用的压力功能实现系统及方法
KR102136526B1 (ko) * 2017-03-15 2020-07-22 미쓰비시덴키 가부시키가이샤 터치 제스처 판정 장치, 터치 제스처 판정 방법, 터치 제스처 판정 프로그램, 및 터치 패널 입력 장치
CN110431525A (zh) * 2017-03-23 2019-11-08 三菱电机株式会社 触摸输入判定装置、触摸输入判定方法和触摸输入判定程序
JP7124616B2 (ja) * 2018-10-03 2022-08-24 コニカミノルタ株式会社 誘導装置、制御システム、および制御プログラム
CN109635075B (zh) * 2018-12-11 2023-02-07 广州市西美信息科技有限公司 一种文本内容划词标识的方法及装置
CN114690976B (zh) * 2021-04-22 2024-06-18 广州创知科技有限公司 基于弹性波的系统首页界面交互操作方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108232A (ja) * 1991-04-30 1993-04-30 Internatl Business Mach Corp <Ibm> タツチ型作動キーボード限定方法及び装置
JPH10143324A (ja) * 1996-11-11 1998-05-29 Nec Telecom Syst Ltd 携帯端末
JP2009525538A (ja) * 2006-01-30 2009-07-09 アップル インコーポレイテッド マルチポイント感知装置を用いたジェスチャリング
JP2009205685A (ja) * 2008-02-26 2009-09-10 Apple Inc シングルポインティングデバイスによるマルチポイントジェスチャのシミュレーション
WO2010143673A1 (ja) * 2009-06-10 2010-12-16 日本電気株式会社 電子機器、ジェスチャー処理方法、及びジェスチャー処理プログラム
JP2011257992A (ja) * 2010-06-09 2011-12-22 Fujitsu Component Ltd 変換装置及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840912B2 (en) 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
JP5117121B2 (ja) 2007-06-18 2013-01-09 パイオニア株式会社 Av機器の操作制御システム
JP2010134755A (ja) 2008-12-05 2010-06-17 Toshiba Corp 通信機器
JP2011138237A (ja) * 2009-12-26 2011-07-14 Canon Inc 画像処理装置、画像処理装置の制御方法及びプログラム
JP5515835B2 (ja) 2010-02-18 2014-06-11 富士通モバイルコミュニケーションズ株式会社 携帯端末
JP2011197603A (ja) 2010-03-24 2011-10-06 Sharp Corp 操作設定装置及びそれを備えた画像形成装置
JP2012085126A (ja) 2010-10-12 2012-04-26 Canon Inc 画像処理装置及びその制御方法とプログラム
US20120131490A1 (en) 2010-11-22 2012-05-24 Shao-Chieh Lin Touch-controlled device and method for displaying a virtual keyboard on the touch-controlled device thereof
JP5353922B2 (ja) * 2011-02-10 2013-11-27 コニカミノルタ株式会社 画像形成装置、端末装置、画像形成システム、および制御プログラム
JP5619649B2 (ja) * 2011-02-17 2014-11-05 シャープ株式会社 情報処理装置、画像出力システム、プログラムおよび記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108232A (ja) * 1991-04-30 1993-04-30 Internatl Business Mach Corp <Ibm> タツチ型作動キーボード限定方法及び装置
JPH10143324A (ja) * 1996-11-11 1998-05-29 Nec Telecom Syst Ltd 携帯端末
JP2009525538A (ja) * 2006-01-30 2009-07-09 アップル インコーポレイテッド マルチポイント感知装置を用いたジェスチャリング
JP2009205685A (ja) * 2008-02-26 2009-09-10 Apple Inc シングルポインティングデバイスによるマルチポイントジェスチャのシミュレーション
WO2010143673A1 (ja) * 2009-06-10 2010-12-16 日本電気株式会社 電子機器、ジェスチャー処理方法、及びジェスチャー処理プログラム
JP2011257992A (ja) * 2010-06-09 2011-12-22 Fujitsu Component Ltd 変換装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Mac OS X Lion表裏 Mac OS X Lion "OMOTE" or "URA" 操作編「マルチタッチジェスチャーを極", MAC100% VOL.12, vol. 第12巻, JPN6014042365, 4 October 2011 (2011-10-04), JP, pages 58 - 61, ISSN: 0002912612 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110343A (ja) * 2014-12-04 2016-06-20 キヤノン株式会社 情報処理装置、情報処理装置における情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
EP2712167A2 (en) 2014-03-26
US9001368B2 (en) 2015-04-07
EP2712167B1 (en) 2019-11-06
CN103677402A (zh) 2014-03-26
CN103677402B (zh) 2017-04-12
EP2712167A3 (en) 2014-10-08
US20140078546A1 (en) 2014-03-20
JP5772773B2 (ja) 2015-09-02

Similar Documents

Publication Publication Date Title
JP5772773B2 (ja) 画像処理装置、操作標準化方法および操作標準化プログラム
JP5796562B2 (ja) データ処理装置、設定方法および設定プログラム
JP2023541818A (ja) アイコン表示制御方法、装置及び電子機器
JP5825277B2 (ja) データ処理装置、コンテンツ表示方法およびコンテンツ表示プログラム
US8982397B2 (en) Image processing device, non-transitory computer readable recording medium and operational event determining method
US9100519B2 (en) Data processing apparatus, content displaying method, and non-transitory computer-readable recording medium encoded with browsing program
KR20150139338A (ko) 화상형성장치의 애플리케이션 실행을 조작하는 화면을 제공하는 방법 및 이를 이용하는 화상형성장치
JP5862549B2 (ja) データ処理装置、操作受付方法およびブラウジングプログラム
JP2014106807A (ja) データ処理装置、操作受付方法およびブラウジングプログラム
JP6225625B2 (ja) 画像表示装置、画像表示方法および画像表示プログラム
JP2014021693A (ja) 画像形成装置、アプリケーション実行方法、およびアプリケーション実行プログラム
JP6552156B2 (ja) データ処理装置、操作受付方法およびコンテンツ表示プログラム
US8873077B2 (en) Image forming apparatus, application switching method, and non-transitory computer-readable recording medium encoded with application switching program
JP6102325B2 (ja) データ処理装置、コンテンツ表示方法およびコンテンツ表示プログラム
JP5585603B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5093608B2 (ja) 情報処理装置、情報表示処理システム、情報処理方法、および情報処理プログラム
JP2013162366A (ja) 画像形成装置、操作標準化方法および操作標準化プログラム
JP6102593B2 (ja) 画像形成装置、アプリケーションプログラム生成方法およびアプリケーションプログラム生成プログラム
JP6112160B2 (ja) データ処理装置、設定方法および設定プログラム
JP2016039519A (ja) 画像処理装置、操作拡張方法および操作拡張プログラム
JP2017091345A (ja) データ処理装置、設定方法および設定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5772773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150