JP2016110343A - 情報処理装置、情報処理装置における情報処理方法、並びにプログラム - Google Patents

情報処理装置、情報処理装置における情報処理方法、並びにプログラム Download PDF

Info

Publication number
JP2016110343A
JP2016110343A JP2014246336A JP2014246336A JP2016110343A JP 2016110343 A JP2016110343 A JP 2016110343A JP 2014246336 A JP2014246336 A JP 2014246336A JP 2014246336 A JP2014246336 A JP 2014246336A JP 2016110343 A JP2016110343 A JP 2016110343A
Authority
JP
Japan
Prior art keywords
event
touch
touch event
unit
application
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
JP2014246336A
Other languages
English (en)
Other versions
JP6436752B2 (ja
JP2016110343A5 (ja
Inventor
史朗 九里
Shiro Kuri
史朗 九里
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2014246336A priority Critical patent/JP6436752B2/ja
Priority to US14/956,208 priority patent/US10101698B2/en
Publication of JP2016110343A publication Critical patent/JP2016110343A/ja
Publication of JP2016110343A5 publication Critical patent/JP2016110343A5/ja
Application granted granted Critical
Publication of JP6436752B2 publication Critical patent/JP6436752B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03GELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
    • G03G15/00Apparatus for electrographic processes using a charge pattern
    • G03G15/50Machine control of apparatus for electrographic processes using a charge pattern, e.g. regulating differents parts of the machine, multimode copiers, microprocessor control
    • G03G15/5016User-machine interface; Display panels; Control console
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置上で、マルチタッチ非対応のアプリケーションを動作させた場合であっても、従来の操作性を維持できるようにする。
【解決手段】 情報処理装置は、タッチパネルへのユーザによる操作に基づくタッチイベントを検出し、検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成する。そして、マルチタッチイベントに対応していないアプリケーションに対して、生成されたシングルタッチイベントを送信する。
【選択図】 図3

Description

マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置、情報処理装置における情報処理方法、並びにプログラムに関する。
近年、ユーザによる直感的な操作を可能にするために、マルチタッチ操作を検出可能なタッチパネルを備えた情報処理装置が一般的になりつつある。このタッチパネル上で行うマルチタッチ操作としては、ピンチインやピンチアウトなどがある。
マルチタッチ操作を検出可能なタッチパネルとしては、静電タッチパネルが広く知られている。従来の抵抗膜(感圧)方式のタッチパネルではユーザが同時に何点タッチしても1点(シングルタッチ)しか検出できなかったのに対し、静電タッチパネルでは、ユーザが同時にタッチした複数の点を検出することができる。
一方、マルチタッチ操作を実現するためには、マルチタッチ操作を検出可能なタッチパネル(以下、新規タッチパネル)を採用するだけではなく、情報処理装置上で動作するアプリケーション(以下、アプリ)もマルチタッチイベントに対応した実装にする必要がある。つまり、シングルタッチのみ検出可能なタッチパネル(以下、従来タッチパネル)用に開発されたアプリ(以下、従来アプリ)を、新規タッチパネルを備える情報処理装置にインストールしても、アプリの実装を変更しない限りマルチタッチ操作に対応できない。新規タッチパネルにて検出したマルチタッチイベントをマルチタッチ非対応の従来アプリに送信したとしても、従来アプリが当該イベントを認識できないためである。また、マルチタッチ非対応の従来アプリへのマルチタッチイベントの送信は、無駄なイベントの送信となるため、情報処理装置全体のパフォーマンスに影響しうる。
特許文献1には、マルチタッチイベントを送信するか否かのフラグを持ち、このフラグがオフの場合は、タッチパネルでマルチタッチイベントを検出しても、当該イベントをアプリに送信しないことが開示されている。
特開2014−63515号公報
上記特許文献1では、マルチタッチを検出可能な新規タッチパネル上でユーザがマルチタッチ操作を行ったとしても、マルチタッチに対応していない従来アプリにはイベントが送信されない。よって、従来アプリが認識できないイベントが送信されることによる情報処理装置のパフォーマンス低下を防ぐことはできる。その一方で、従来アプリを新規タッチパネル上で動作させることにより以下のような問題が生じる可能性がある。
具体例について説明する。通常、タッチパネル上に表示された仮想的なボタン(以下、ボタン)を選択する操作を行う場合、ユーザは1本指で当該ボタンをタッチする。タッチパネルではこれをシングルタッチイベントとして検出し、従来アプリに通知する。従来アプリでは当該シングルタッチイベントに基づいて所定の動作を行う。
一方、年配者などの中には、1本指でタッチせずに、2本指でボタンをタッチする人も存在する。例えば、人差し指と中指をくっつけて2本指でボタンをタッチする場合等である。上述したとおり抵抗膜方式のタッチパネルでは、ユーザが同時に複数の指でタッチした場合であっても、1点のみがシングルタッチイベントとして検出される。抵抗膜方式のタッチパネルでは、その2点の中点を座標とするシングルタッチイベントが検出される。その結果、当該シングルタッチイベントが従来アプリに通知され、従来アプリは当該シングルタッチイベントに基づいて所定の動作を行うことができる。
これに対し、新規タッチパネル上で同じ操作(二本指でボタンを選択する操作)が行われた場合、新規タッチパネルではマルチタッチイベントとして検出し、シングルタッチイベントとしては検出しない。よって、従来アプリは当該ユーザ操作に基づく動作を行わないことになる。
つまり、新規タッチパネルを備える情報処理装置に従来アプリをインストールすると、ユーザが従来と同じ操作を行っても従来アプリが動作しないという状況が発生する。これは、従来タッチパネルを備える情報処理装置から新規タッチパネルを備える情報処理装置に買い替えた場合等に起こりうる。スキャナ機能、プリント機能等を有する画像形成装置においては、どのようなハードウェアでもアプリを変更することなく動作可能にすることが重要視されているため、これは大きな問題となりうる。
本発明は、マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置上で、マルチタッチ非対応のアプリケーションを動作させた場合であっても、従来の操作性を維持できるようにすることを目的とする。
上記課題を解決するため、本発明は、マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置であって、
前記タッチパネルへのユーザによる操作に基づくタッチイベントを検出する検出手段と、
前記検出手段により検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成する生成手段と、
マルチタッチイベントに対応していないアプリケーションに対して、前記生成手段により生成されたシングルタッチイベントを送信する送信手段と、
を有することを特徴とする。
本発明によれば、マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置上で、マルチタッチ非対応のアプリケーションを動作させた場合であっても、従来の操作性を維持することができる。
本発明の各実施形態に係る画像形成装置100のコントローラユニット120の構成を示すブロック図である。 本発明の各実施形態に係る画像形成装置100の操作部106およびその付近の構成を示すブロック図である。 本発明の各実施形態に係るソフトウェアのモジュール構成を表す図である。 画像形成装置100の操作部106でユーザがシングルタッチ操作を行ったときに発生するシングルタッチイベントの一例である。 画像形成装置100の操作部106でユーザがマルチタッチ操作を行ったときに発生するマルチタッチイベントの一具体例である。 本発明の第1の実施形態におけるソフトウエアモジュールの処理を示すフローチャート図である。 画像形成装置100の操作部106に表示される一画面例である。 画像形成装置100の操作部106に表示される一画面例である。 本発明の各実施形態に係るHDD104に記憶されたマルチタッチ管理テーブルを表すイメージ図である。 画像形成装置100の操作部106に表示される一画面例である。 本発明の第2の実施形態におけるソフトウエアモジュールの処理を示すフローチャート図である。 本発明の第3の実施形態におけるソフトウエアモジュールの処理を示フローチャート図である。
以下、本発明を実施するための形態について、図面を用いて説明する。
(第1の実施形態)
図1は、本発明の各実施形態に係る画像形成装置100のコントローラユニットの構成を示すブロック図である。
コントローラユニット120は、各種制御プログラムを実行するCPU101を有する。
CPU101は、ROM103に格納されているブートプログラムに基づきシステムを起動し、このシステム上でHDD(ハードディスク装置)104に格納されている制御プログラムを読み出してRAM102をワークエリアとして所定の処理を実行する。この制御プログラムにより、Java(登録商標)プログラムなどの所定の制御を実行することが可能である。HDD104には、上記各種制御プログラムが格納されるとともに、画像データや後述するネットワーク部107が有するすべての通信手段に関する情報を格納する。
CPU101には、RAM102、ROM103、HDD104がシステムバス111を介して接続されている。さらに操作部I/F105、ネットワーク部107、イメージバスI/F109、電源管理部110がシステムバス111を介して接続されている。
操作部I/F105は、操作部106との間のインターフェイス部であり、操作部106に表示する画像データをRAM102から取得して転送する処理や、操作部106で発生した信号をCPU101へ転送する処理などを行う。
操作部106は、ユーザが操作可能な画像などの対象物を表示するための表示処理と、ユーザの操作に基づく信号(入力信号)を検知する入力処理を行う。
電源管理部110は、画像形成装置100の電源OFFと電源ONの管理を行う。なお電源ONを検知した場合、上述のように、CPU101は、ROM103のブートプログラムに基づきシステムを起動し、このシステム上でHDD104に格納されている制御プログラムを実行する。
ネットワーク部107は、LAN108に接続され、LAN108を介した情報の入出力を行う。LAN回線にWEBサーバや外部装置400が接続されている場合は、そのサーバからLAN108を介して情報を取得することが可能である。また、LAN回線内のプロキシサーバなどを介して、インターネットに接続し、インターネット上のWEBサーバからWEBコンテンツを取得することも可能である。
イメージバスI/F109は、システムバス111と、画像バス112とを接続し、データ構造を変換するバスブリッジである。画像バス112は、画像データを高速で転送可能なPCIバスまたはIEEE1394規定に従うバスから構成される。画像バス112には、RIP(ラスタイメージプロセッサ)113、デバイスI/F114および画像処理部119が接続されている。
RIP113は、PDLコードをビットマップイメージに展開する。
デバイスI/F114は、画像入出力デバイスであるスキャナ116やプリンタ118とコントローラユニット120とを接続し、画像データの同期系/非同期系の変換を行う。ここでは、デバイスI/F114とスキャナ116とがケーブル115を介して接続され、デバイスI/F114とプリンタ118とがケーブル117を介して接続されている。
画像処理部119は、多値画像データに対してJPEG、二値画像データに対して、JPEG、MMR、MHなどの圧縮伸張処理を行う。また、入力画像データや出力画面に対して、プリンタの補正や解像度変換などの補正、加工、編集を行う。
このように、コントローラユニット120のCPU101は、各制御プログラムに基づき、システムバス111に接続される各種デバイスとのアクセスを総括的に制御するととともに、デバイスI/F114を介してスキャナ116から画像情報を読み込む。また、読み込んだ画像情報に対して所定の処理を施した後に該画像情報をデバイスI/F114を介してプリンタ118に出力するなどの制御を行う。さらに、ネットワーク部107を通じて取得した文字データや画像データの解析・変換処理を行い、HDD104へ保存あるいは操作部106での表示制御を行う。
図2は、図1の操作部106およびその付近の構成を示すブロック図である。
操作部106のタッチパネル203および各ハードキーのキー群202は、操作部I/F105の入力ポート201を介してCPU101に接続される。また、このタッチパネル203の押下位置を示す位置情報(座標)、およびキー群202の押下に対応するキー情報は、入力ポート201を介してCPU101に入力される。
操作部106のLED205およびLCD206は、操作部I/F105の出力ポート204を介してCPU101に接続され、LED205の点灯およびLCD206の表示はCPU101により制御される。このタッチパネル203には微量な電気が流れており、ユーザがタッチすることで発生する電気量の変化からタッチ位置を検出する静電方式が用いられており、マルチタッチ操作を検出可能である。タッチパネル203は、LCD206の上に重なるように配置されている。ユーザがLCD206上に表示された仮想的なボタン(以下、ボタン)などの操作対象物を触れることで、タッチパネル203がその位置情報(座標)を検知する。CPU101は、位置情報を検知すると、現在LCD206上に表示している対象物とその座標に基づいて、ユーザが選択した操作対象が何であるかを検知する。そしてCPU101は、ROM103もしくはHDD104にあらかじめ記憶されている命令の中から、検知した操作対象物が選択されときに実行すべき命令を検出し、この命令を実行する。これにより、LCD206に表示する画面データが生成される。CPU101は出力ポート204を経由してこの画面データをLCD206に送信することで、操作部106の表示を変更できる。なお、このようなLCD206でのユーザ操作時の内部処理は、これ以降の全ての説明で共通であり、以降では記載を省略する。
次に、画像形成装置100のCPU101やHDD104などの各ハードウェア上で動作するソフトウェアのモジュール構成について、図3を用いて説明する。なお、これらの各モジュールにおける処理は、CPU101の命令により、ROM103やHDD104に格納されているプログラムを読み出し、RAM102をワークエリアとして所定の処理を実行することで実現している。また、所定の処理を実行することで生成される全ての情報は、RAM102もしくはHDD104に格納される。このような各モジュールにおける処理は、特に明記しない限り同様であるため、以降ではこのようなハードウェアの記載は省略する。
ドライバ部301は、タッチパネル203へのユーザによるタッチ操作に基づいて発生するタッチイベント(プレスやリリース、ムーブ等)の検知を行うモジュールである。ここで、プレスとは、タッチパネル203へ指がタッチされた際に発生するイベントである。リリースとは、タッチパネル203へ接触していた指が離された際に発生するイベントである。ムーブとは、タッチパネル203へ指がタッチされたまま移動している際に発生するイベントである。
ドライバ部301は、検知したタッチイベントをイベント管理部302へ送信する。このときに送信されるタッチイベントには、タッチ数、イベント種別、タッチ座標が含まれる。例えば、ユーザがタッチパネル203の座標(200、200)の地点を指一本でタッチし、座標(200、300)の地点まで指を移動した後に、タッチパネル203から指を離したとする(指を下に座標100の距離分移動したとする)。このときにドライバ部301により検出され、イベント管理部302へ送信されるイベントを、図4に示す。図4では、ユーザが指をタッチパネル203にタッチしてから離すまでに、イベントID1からイベントID5までの5つのイベントが発生したことを示している。ドライバ部301は、これらのイベントを順次、イベント管理部302へ送信する。
また別の例として、ユーザがタッチパネル203の座標(200、200)と座標(210、200)の地点を異なる指でタッチし、それぞれの指を座標(200、300)と座標(210、300)の地点まで移動した後にタッチパネル203を離したとする。このときにドライバ部301により検出され、イベント管理部302へ送信されるイベントを図5に示す。なお、図4と図5のイベントIDは、イベントを一意に識別するためのものであり、実際には送信されないものとする。また、イベント種別がシングルプレス、シングルムーブ、シングルリリースであるイベントを総称してシングルタッチイベントと呼ぶこととする。また、イベント種別がマルチプレス、マルチムーブ、マルチリリースのイベントを総称してマルチタッチイベントと呼ぶこととする。
イベント管理部302は、ドライバ部301もしくは後述のイベント生成部303から送信されるイベントを受信し、イベント種別に応じて異なる処理を行うモジュールである。イベント管理部302は、ドライバ部301もしくイベント生成部303から受信したイベントのイベント種別がシングルタッチイベントの場合、受信したシングルタッチイベントをシングルイベント通知部304に送信する。一方、イベント管理部302は、受信したイベントのイベント種別がマルチタッチイベントの場合、受信したマルチタッチイベントをマルチイベント通知部305に送信する。さらにイベント管理部302は、ドライバ部301から送信されたイベントの種別がマルチタッチイベントの場合、当該イベントをイベント生成部303へ送信する。
イベント生成部303は、イベント管理部302から送信されたイベントを受信し、受信したイベント種別とは異なるイベント種別のダミーイベントを生成するモジュールである。例えば、図5のイベントID1のマルチタッチイベントを受信した場合、イベント生成部303は1点目の座標のみからなるシングルタッチイベントを生成する。具体的には、図4のイベントID1と同じイベント(タッチ数:1、イベント種別:シングルプレス、座標:(200、200))が生成される。なお、以降では、ドライバ部301からイベント管理部302へ送信されたイベントをオリジナルイベントと呼び、イベント生成部303が生成したイベントをダミーイベントと呼ぶこととする。そしてイベント生成部303は、生成したダミーイベントをイベント管理部302に送信する。なお、ダミーイベントを受信したイベント管理部302は、当該ダミーイベントをシングルイベント通知部304に送信する。
シングルイベント通知部304は、シングルタッチイベントのみを扱うことができるモジュールであり、イベント管理部302からのシングルタッチイベントを受信し、この受信したシングルタッチイベントをイベント配信部306に送信するモジュールである。
マルチイベント通知部305は、マルチタッチイベントのみを扱うことができるモジュールであり、イベント管理部302からのマルチタッチイベントを受信し、この受信したマルチタッチイベントをイベント配信部306に送信するモジュールである。なお、本発明の各実施形態では、シングルイベント通知部304とマルチイベント通知部305で別々のモジュールがイベント配信部306にイベントを送信する構成になっている。これは、従来はシングルイベント通知部304しか存在していなかったモジュール構成において、シングルイベント通知部304を変更せずに新たにマルチイベント通知部305が追加されたためである。
イベント配信部306は、シングルイベント通知部304もしくはマルチイベント通知部305から送信されるイベントを受信する。そしてイベント配信部306は、受信したイベントのイベント種別とLCD206に表示されているアプリケーション(以下、アプリ)に応じて、受信したイベントをアプリに送信するモジュールである。なお本実施形態において、LCD206には1つのアプリのみ表示されることとする。すなわち、複数のアプリが起動していたとしても、ユーザによる操作対象のアプリは1つのみであり、イベント配信部306は当該アプリに対してイベントを送信するものとする。イベント配信部306は、受信したイベントのイベント種別がシングルタッチイベントの場合、受信したイベントをLCD206に表示されているアプリ(従来アプリ307もしくは新規アプリ308)に送信する。一方、イベント配信部306は、受信したイベントのイベント種別がマルチタッチイベントの場合、LCD206に表示されているアプリを確認する。そしてイベント配信部306は、LCD206に表示されているアプリが従来アプリ307の場合は、受信したマルチタッチイベントを送信しない。一方、LCD206に表示されているアプリが新規アプリ308の場合は、イベント配信部306は受信したマルチタッチイベントを新規アプリ308に送信する。
従来アプリ307は、シングルタッチイベントのみを扱うことができるアプリであり、イベント配信部306からのイベントを受信し、このイベントに応じた処理を行う。
新規アプリ308は、シングルタッチイベントとマルチタッチイベントの両方のイベントを扱うことができるアプリであり、イベント配信部306からのイベントを受信し、イベントに応じた処理を行う。
続いて、各ソフトウエアモジュールの処理について、図6のフローチャートを用いて説明する。
ユーザがタッチパネル203に対するタッチ操作を行うと、ドライバ部301は、タッチイベントとして、タッチ数、イベント種別、タッチ座標を検出する(S601)。このタッチイベントの検出方法は、一般的な静電方式のタッチパネルでの検出方法と同じであるため、詳細は省略する。そしてドライバ部301は、検出したタッチイベントをイベント管理部302へ送信する。このイベントを受信したイベント管理部302は、タッチイベントに含まれるタッチ数が1であるか否かにより、受信したイベントがシングルタッチイベントであるか否かを判定する(S602)。
まず、イベント管理部302が受信したイベントがシングルタッチイベントの場合の処理を説明する。イベント管理部302は、受信したイベントがシングルタッチイベントであると判定すると(S602でYes)、受信したイベントをシングルイベント通知部304へ送信する。シングルイベント通知部304は、イベント管理部302から受信したイベントをイベント配信部306へ送信する。そして、イベント配信部306は、LCD206で表示しているアプリにこのイベントを送信する(S603)。これにより、イベントを受信したアプリは、受信したイベントに対応する所定の動作を行う。以上の通り、イベント管理部302が受信したイベントがシングルタッチイベントの場合、現在操作対象となっているアプリが従来アプリ307、新規アプリ308のいずれであってもシングルタッチイベントが送信される。
続いて、イベント管理部302が受信したイベントがマルチタッチイベントの場合の処理を説明する。イベント管理部302は、受信したイベントがマルチタッチイベントであると判定すると(S602でNo)、受信したイベントをイベント生成部303へ送信する。イベント生成部303は、受信したイベントを基に、1点からなるシングルタッチイベントを生成する(S604)。この生成したシングルタッチイベントはダミーイベントである。そしてイベント生成部303は、生成したダミーイベントをイベント管理部302へ送信する。
イベント管理部302は、イベント生成部303から送信されたダミーイベントをシングルイベント通知部304へ送信し、ドライバ部301から送信されたマルチタッチイベント(オリジナルイベント)をマルチイベント通知部305へ送信する。
イベント管理部302からダミーイベントを受信したシングルイベント通知部304は、受信したイベントをイベント配信部306へ通知する。イベント管理部302からオリジナルイベントを受信したマルチイベント通知部305は、受信したイベントをイベント配信部306へ通知する。
シングルイベント通知部304もしくはマルチイベント通知部305からのイベントを受信したイベント配信部306は、LCD206に表示されているアプリがマルチタッチ操作に対応している新規アプリ308か否かを判定する(S605)。
ここで、LCD206に表示されているアプリがマルチタッチ対応のアプリか否かをイベント配信部306が判定する方法について説明する。イベント配信部306は、アプリ毎にマルチタッチ可能か否かの情報をマルチタッチ管理テーブル(図9、詳細は後述する)で管理している。なお、このマルチタッチ可能か否かの情報は、各アプリがイベント配信部306にマルチタッチ要求を行うことで変更できることとする。変更の具体例としては、各アプリがユーザによる操作を受け付ける前の初期化処理として、マルチタッチ要求をイベント配信部306に行うことで変更できる。イベント配信部306は、LCD206に表示されているアプリを特定し、マルチタッチ管理テーブルで管理している情報を用いることで、この特定したアプリがマルチタッチ対応のアプリか否かを判定することができる。
イベント配信部306は、マルチタッチ対応の新規アプリ308がLCD206に表示されていると判定した場合、受信したダミーイベントとオリジナルイベントを新規アプリ308へ送信する(S606)。一方、マルチタッチに対応していない従来アプリ307が表示されていると判定した場合、イベント配信部306は、受信したダミーイベントのみを従来アプリ307へ送信する(S607)。
以上の通り、イベント管理部302が受信したイベントがマルチタッチイベントの場合、現在操作対象となっているアプリが従来アプリ307であれば、マルチタッチイベントに基づいて生成されたシングルタッチイベント(ダミーイベント)が送信される。これにより、従来アプリ307は、受信したシングルタッチイベントに基づいて動作を行うことが可能となるため、従来アプリ307に変更を加えずとも従来と同様の操作性を維持することができる。よって、アプリの互換性(どのようなタッチパネルでも、アプリの変更なしに動作する互換性)を保つことができる。
続いて、図6の処理の詳細について、具体例を用いて説明する。
図7は、画像形成装置100の操作部106(LCD206)の一表示例であり、画像形成装置100の電源をONにすることで最初に表示される画面である。なお以降の説明では、画像形成装置100の電源をONしてから、操作部106に最初に表示される画面を、初期画面と呼ぶこととする。この初期画面は、画像形成装置100で実行可能なアプリの中からユーザが所望のアプリを選択するためのメニュー画面である。
図7の初期画面には、コピーアプリにアクセスするためのコピーボタン701、センドアプリにアクセスするためのセンドボタン702、ボックスアプリにアクセスするためのボックスボタン703が表示されている。なお、これらとは別のアプリも画像形成装置100に追加でインストールすることが可能であり、インストールすると初期画面にこのアプリを呼び出して実行するためのボタンが表示される。初期画面に表示されているボタンをタッチ(押下)すると、各ボタンに対応づけられているアプリの処理が実行される。なお本実施形態では、初期画面にはコピーボタン701、センドボタン702、ボックスボタン703のみが表示されているものとする。また、コピーボタン701に対応づけられているコピーアプリ、及びセンドボタン702に対応づけられているセンドアプリは、シングルタッチイベントのみ処理可能な従来アプリ307であるものとする。また、ボックスボタン703に対応づけられているボックスアプリは、シングルタッチイベントとマルチタッチイベントの両方が処理可能な新規アプリであるものとする。
このような初期画面において、最初にボックスアプリ(新規アプリ308)でシングルタッチとマルチタッチを行った場合の具体例を説明し、続いて、コピーアプリ(従来アプリ307)でシングルタッチとマルチタッチを行った場合の具体例も説明する。
初期画面において、ユーザがボックスボタン703をタッチ(押下)すると、このボタンに対応するボックスアプリが呼び出され、ボックスアプリの初期化処理が行われる。そして、初期化処理の完了後にボックスアプリの画面(図8)が表示される。まずこの初期化処理の具体例を説明し、その後に図8の画面の説明を行う。
ボックスアプリはマルチタッチイベントに対応可能な新規アプリ308であり、初期化処理において、ボックスアプリはマルチタッチ要求をイベント配信部306に送信する。イベント配信部306は、マルチタッチ要求を受信すると、ボックスアプリはマルチタッチ対応のアプリであると記憶する。具体的には、イベント配信部306は、初期画面に表示されている各アプリとマルチタッチ要求有無を紐付けて管理するために、図9のようなマルチタッチ管理テーブルをアプリからのマルチタッチ要求に応じて更新する。
ここで図9のマルチタッチ管理テーブルの説明を行う。このテーブル内のマルチタッチフラグは、アプリがマルチタッチに対応しているか否かを示すフラグであり、アプリからマルチタッチ要求を受信すると値が1に更新される。つまり、マルチタッチフラグが1のアプリは、マルチタッチ対応の新規アプリ308であることを示す。なお、アプリからイベント配信部306にマルチタッチ解除要求を行うことで、マルチタッチフラグを0に変更することも可能である。マルチタッチフラグのデフォルトは0であり、イベント配信部306にマルチタッチ要求を行っていないアプリは、マルチタッチフラグは0になっている。図9では、ボックスアプリの初期化処理においてマルチタッチ要求がイベント配信部306に送信されたため、ボックスアプリのマルチタッチフラグのみ1になっている。
初期化処理が完了すると、ボックスアプリは操作部106に図8で示す画面を表示する。図8には、ボックスに関する設定やボックスに保存されている画像を確認するための画像ボタンが表示されている。ここで図8の説明を行う。タイトル領域801は、アプリのタイトル名を表示する領域である。画像ボタン802〜画像ボタン804は、ボックスに保存されているそれぞれの画像を選択するためのボタンであり、このボタンをタッチすると選択したボタンに対応する画像のプレビュー画面がプレビュー表示領域805に表示される。なお、選択された画像ボタンは色が変わり、選択中であることが識別可能になっている。図8では画像ボタン802が選択された状態であり、画像Aがプレビュー表示領域805に表示されている。
図8のボックス画面において、ユーザが画像ボタン803を一本の指でタッチ(シングルタッチ)した場合の処理について説明する。ユーザがシングルタッチを行うと、ドライバ部301は、タッチ数:1、イベント種別:シングルプレス、タッチ座標:(300、100)のタッチイベントを検出する(S601)。そしてドライバ部301は、このタッチイベントをイベント管理部302へ送信する。イベント管理部302は、受信したタッチイベントのタッチ数が1であるため、シングルタッチイベントであると判定し(S602でYes)、受信したタッチイベントをシングルイベント通知部304へ送信する。そしてシングルイベント通知部304は、イベント管理部302から受信したイベントをイベント配信部306へ送信する。イベント配信部306は、操作部106に表示されているボックスアプリにこのイベントを送信する(S603)。これにより、ボックスアプリは受信したタッチイベントに対応する動作、すなわち、画像ボタン803に対応する画像Bのプレビュー画像をプレビュー表示領域805に表示する動作を行う。
続いて、図8のボックス画面において、ユーザがプレビュー表示領域805に表示されている画像を拡大するために二本の指でピンチアウト操作を行った場合の処理について説明する。なお、ピンチアウトとは、タッチパネル上に表示した対象物を二本の指で広げるようにする操作であり、この操作により対象物の拡大を直感的に実行することができる。
ユーザがマルチタッチを行うと、ドライバ部301は、タッチ数:2、イベント種別:マルチプレス、タッチ座標:(100、300)、(200、100)のタッチイベントを検出する(S601)。そしてドライバ部301は、このタッチイベントをイベント管理部302へ送信する。イベント管理部302は、受信したタッチイベントのタッチ数が2であるため、マルチタッチイベントであると判定する(S602でNo)。
そして、イベント管理部302は、受信したイベントをイベント生成部303に送信し、イベント生成部303はシングルタッチイベントであるダミーイベントを生成する(S604)。この場合、タッチ数:1、イベント種別:シングルプレス、タッチ座標:(100、300)のダミーイベントが生成される。そしてイベント管理部302は、イベント生成部303からダミーイベントを受信し、ダミーイベントをシングルイベント通知部304に送信すると共に、イベント管理部302から受信したオリジナルイベントをマルチイベント通知部305に送信する。
シングルイベント通知部304とマルチイベント通知部305は、それぞれ受信したイベントをイベント配信部306へ送信する。これらのイベントを受信したイベント配信部306は、操作部106に表示されているアプリがマルチタッチ対応のアプリか否かを判定する(S605)。この判定には、図9のマルチタッチ管理テーブルが用いられる。ここでは、操作部106ではボックスアプリが動作しており、マルチタッチ管理テーブルにおけるボックスアプリのマルチタッチフラグが1になっているため、マルチタッチ対応の新規アプリ308が表示されていると判断される。そのため、イベント配信部306は、受信したダミーイベントとオリジナルイベントをボックスアプリへ送信する(S606)。ボックスアプリは、オリジナルイベントとダミーイベントの両方を受信した場合、ダミーイベントは利用せずにオリジナルイベントに対応する動作を行うものとする。すなわち、オリジナルイベントを解釈し、プレビュー領域の画像の拡大を行う。
以上が、マルチタッチ対応の新規アプリでユーザがシングルタッチとマルチタッチを行ったときの具体例である。
次に、コピーアプリ(従来アプリ307)が操作部106に表示された状態で、シングルタッチとマルチタッチを行った場合の具体例を説明する。
初期画面において、ユーザがコピーボタン701をタッチすると、このボタンに対応するコピーアプリが呼び出され、コピーアプリの初期化処理が行われる。そして、初期化処理の完了後に図10のコピー画面が表示される。上述した通り、初期化処理において、マルチタッチ対応のアプリはマルチタッチ要求をイベント配信部306に送信する。しかしながら、コピーアプリはマルチタッチに対応していない従来アプリ307であるため、初期化処理においてマルチタッチ要求をイベント配信部306に送信しない。このため、図9のマルチタッチ管理テーブルにおけるコピーアプリのマルチタッチフラグは0のままとなる。
図10の説明を行う。図10には、コピーに関する設定を行うためのボタン、現在の設定内容を表示する領域等が表示されている。タイトル領域1001は、アプリのタイトル名を表示する領域であり、メッセージ領域1002はユーザに対するメッセージを表示する領域である。設定確認領域1003は現在設定されている印刷倍率と用紙サイズを表す領域であり、部数領域1004は現在設定されているコピー部数を表す領域である。倍率設定ボタン1005は印刷倍率を設定するためのボタンであり、タッチすると印刷倍率を設定する画面が操作部106に表示される。用紙選択ボタン1006はコピーする用紙サイズを設定するためのボタンであり、タッチすると用紙サイズを選択するための画面が操作部106に表示される。応用モードボタン1007は倍率や用紙サイズ以外のコピー設定を行うためのボタンであり、タッチすると各種設定を行うための画面が操作部106に表示される。
図10のコピー画面において、ユーザが用紙選択ボタン1006を一本の指でタッチした場合の処理について説明する。ユーザがシングルタッチを行うと、ドライバ部301は、タッチ数:1、イベント種別:シングルプレス、タッチ座標:(200、200)のタッチイベントを検出する(S601)。そしてドライバ部301は、検出したタッチイベントをイベント管理部302へ送信する。イベント管理部302は、受信したタッチイベントのタッチ数が1であるため、シングルタッチイベントであると判定する(S602でYes)。そのため、イベント管理部302は当該タッチイベントをシングルイベント通知部304へ送信し、シングルイベント通知部304はこのイベントをイベント配信部306へ送信する。イベント配信部306は、操作部106に表示されているコピーアプリにこのイベントを送信する(S603)。これにより、コピーアプリは受信したタッチイベントに対応する動作、すなわち、用紙選択ボタン1006に対応づけられている用紙選択を行う画面の表示を行う。
次に、コピー画面において、ユーザが用紙選択ボタン1006を二本の指でタッチした場合の処理について説明する。ユーザがマルチタッチを行うと、ドライバ部301は、タッチ数:2、イベント種別:マルチプレス、タッチ座標:(200、200)、(210、200)のタッチイベントを検出する(S601)。そしてドライバ部301は、このタッチイベントをイベント管理部302へ送信する。イベント管理部302は、受信したタッチイベントのタッチ数が2であるため、マルチタッチイベントであると判定する(S602でNo)。そして、イベント管理部302は、受信したイベントをイベント生成部303に送信し、イベント生成部303は当該イベントに基づいてダミーイベントを生成する(S604)。この場合、タッチ数:1、イベント種別:シングルプレス、タッチ座標:(200、200)のシングルイベントが生成される。
そしてイベント管理部302は、生成されたダミーイベントをシングルイベント通知部304に送信すると共に、イベント管理部302から受信したオリジナルイベントをマルチイベント通知部305に送信する。シングルイベント通知部304とマルチイベント通知部305は、それぞれ受信したイベントをイベント配信部306へ送信する。
これらのイベントを受信したイベント配信部306は、操作部106に表示されているアプリがマルチタッチ対応のアプリか否かを判定する(S605)。この判定には、図9のマルチタッチ管理テーブルが用いられる。ここでは、操作部106ではコピーアプリが動作しており、マルチタッチ管理テーブルにおけるコピーアプリのマルチタッチフラグが0になっているため、マルチタッチに対応していない従来アプリ307が表示されていると判断される。そのため、イベント配信部306は、受信したダミーイベントのみをコピーアプリへ送信する(S606)。これを受信したコピーアプリは、受信したイベントに対応する動作、すなわち、用紙選択ボタン1006に対応づけられている用紙選択を行う画面の表示を行う。
以上が、マルチタッチに対応していない従来アプリ307でユーザがシングルタッチとマルチタッチを行ったときの具体例である。
以上の通り、タッチパネル203へのユーザのタッチ操作に基づいて発生したイベントがマルチタッチイベントの場合、当該マルチタッチイベントに基づいて生成されたシングルタッチイベントがマルチタッチ非対応の従来アプリ307に送信される。これにより、従来アプリ307を変更することなく、マルチタッチ操作を検出不可能な従来のタッチパネルでの操作性を維持することが可能となる。
なお、図6のS604で生成するシングルタッチイベントのタッチ座標は、マルチタッチイベントの1点目のタッチ座標をそのまま用いるものとして説明した。しかし、マルチタッチイベントの2点の中点の座標をタッチ座標としてもよい。例えば、図5のイベントID1のマルチタッチイベントに基づいてシングルタッチイベントを生成する場合、生成されるシングルタッチイベントのタッチ座標を(205、200)としてもよい。これにより、従来の抵抗膜方式(感圧式)のタッチパネルで検出される座標と同じ座標をもつシングルタッチイベントをアプリに送信することが可能となり、より互換性の高い環境を提供できる。
また、図6のS606において、イベント配信部306は新規アプリ308に対してマルチタッチイベントとシングルタッチイベントの両方を送信するものとして説明した。つまり、イベント配信部306は、シングルイベント通知部304から受信したシングルタッチイベントがオリジナルイベントであってもダミーイベントであっても新規アプリ308に対して送信していた。これは、受信したシングルタッチイベントがオリジナルイベントであるかダミーイベントであるかをイベント配信部306が識別できないためであり、識別できるのであればダミーイベントを新規アプリ308に送信する必要はない。そこでイベント管理部302は、ダミーイベントをシングルイベント通知部304に送信する際に、イベント配信部306がダミーイベントであることを識別可能にするための情報を含めて送信するようにしてもよい。イベント配信部306は当該情報に基づいて、受信したシングルタッチイベントがダミーイベントであるか否かを判定し、ダミーイベントであると判定された場合には新規アプリ308には送信せず、従来アプリ307にのみ送信するよう制御する。これにより、アプリの容易な実装が可能になるだけではなく、イベントの通信量を削減することでシステム全体の負荷を削減できる。
(第2の実施形態)
第1の実施形態では、ドライバ部301にてマルチタッチイベントが検出された場合には、操作部106に従来アプリ307と新規アプリ308のどちらが表示されているかに拘わらずダミーイベントを生成するものとして説明した。これは、操作部106に表示されているアプリがマルチタッチ対応か否かの情報をイベント配信部306が管理しており、イベント管理部302では判断できないためである。しかしながら、どちらのアプリが表示されているかの情報をイベント配信部306からイベント管理部302に通知することで、操作部106に表示されているアプリがマルチタッチ対応か否かをイベント管理部302が判断するようにしてもよい。これにより、新規アプリ308が表示されている場合には、マルチタッチイベントが検出されてもダミーイベントの生成、及び送信を行わないようにすることも可能である。このときの処理について図11のフローチャートを用いて説明する。なお、図6と同じ処理については同一の参照番号を付すことにより詳細な説明は省略するものとする。
S602において、受信したイベントがマルチタッチイベントであると判定された場合、イベント管理部302は現在LCD206に表示されているアプリがマルチタッチ対応のアプリか否かを判定する(S605)。具体的には、イベント管理部302からシングルイベント通知部304経由でイベント配信部306に対して問い合わせることにより操作対象のアプリがマルチタッチ対応のアプリか否かを判定する。また、イベント配信部306がアプリの情報を定期的にイベント管理部302に通知するようにし、イベント管理部302では当該通知される情報に基づいて判定するようにしても良い。
LCD206に表示されているアプリがマルチタッチ対応の新規アプリ308であると判定された場合(S605でYes)、イベント管理部302はドライバ部301から受信したマルチタッチイベントをマルチイベント通知部305へ送信する。そして、マルチイベント通知部305は当該マルチタッチイベントをイベント配信部306に送信し、イベント配信部306が当該マルチタッチイベントを新規アプリ308に送信する(S1101)。
一方、LCD206に表示されているアプリがマルチタッチ非対応の従来アプリ307であると判定された場合(S605でNo)、イベント管理部302は受信したマルチタッチイベントをイベント生成部303へ送信する。イベント生成部303は、受信したマルチタッチイベントを基に、ダミーイベントとしてのシングルタッチイベントを生成する(S604)。そしてイベント生成部303は、生成したシングルタッチイベントをイベント管理部302へ送信し、イベント管理部302は、当該シングルタッチイベントをシングルイベント通知部304へ送信する。シングルイベント通知部304は当該シングルタッチイベントをイベント配信部306に送信し、イベント配信部306は受信したシングルタッチイベントを従来アプリ307に送信する(S607)。
以上のように、本実施形態によれば、現在操作対象のアプリがマルチタッチ対応のアプリか否かをイベント管理部302が判断し、マルチタッチ非対応のアプリである場合にのみダミーイベントの生成を行う。これにより、不要なダミーイベントの生成処理を行わなくてよく、シングルイベント通知部304経由でイベント配信部306に送信されるイベントが減少するため、システム全体の負荷も削減される。
(第3の実施形態)
第1、第2の実施形態では、ユーザがタッチパネル203上でシングルタッチ操作を行った場合、新規アプリ308にシングルタッチイベントのみを送信していた(図6、図11のS603)。ここで、シングルタッチイベントとマルチタッチイベントとでは、イベントの送信経路が異なる(シングルイベント通知部304経由とマルチイベント通知部305経由)。そのため、ユーザがマルチタッチ操作とシングルタッチ操作を順番に行ったとしても、その順番通りにアプリにイベントが到達しない可能性がある。
例えば、図8で示すボックス画面において、ユーザが画像ボタン803を選択するタッチ操作(シングルタッチ)を行い、この後に画像Bのプレビュー画像を拡大するためのピンチアウト操作(マルチタッチ)を行ったとする。このとき、シングルイベント通知部304が他の処理によりすぐに動作できない場合、マルチイベント通知部305経由で送信されるマルチタッチイベントが先に新規アプリ308に到達する場合がある。その結果、ボックスアプリは、マルチタッチイベントに対応する処理を先に行ってからシングルタッチイベントに対応する処理を行うことになる。具体的には、表示されている画像Aのプレビュー画像を拡大した後、画像Bのプレビュー表示を行うこととなり、ユーザの意図した操作結果とならない。
そこで、本実施形態では、ユーザが行ったタッチ操作の順番通りに新規アプリ308にイベントを送信するための方法について、図12のフローチャートを用いて説明する。なお、基本的な処理や制御は第1、第2の実施形態と同じであるため、異なる点を中心に説明する。図12において、S601〜S607の各処理は、図6と同じ処理である。図6と比較すると、S602において、ドライバ部301から受信したイベントがシングルタッチイベントであると判定された場合(S602でYes)の処理が異なる。
イベント管理部302は、ドライバ部301から受信したイベントがシングルタッチイベントであると判断した場合、LCD206に表示されているアプリがマルチタッチに対応している新規アプリ308であるか否かの判定を行う(S1201)。この判定方法について説明する。まず、ドライバ部301からのイベントを受信したイベント管理部302は、シングルイベント通知部304経由でイベント配信部306に対し、操作部106で表示しているアプリの情報を問い合わせる。そしてイベント管理部302は、イベント配信部306から返信された情報に基づいて、LCD206に表示されているアプリがマルチタッチに対応しているアプリか否かを判定する。
判定の結果、LCD206に表示されているアプリが従来アプリ307である場合(S1201でNo)、第1の実施形態と同じく、イベント管理部302は受信したイベントをシングルイベント通知部304に送信する。そしてこのイベントは、シングルイベント通知部304からイベント配信部306経由で従来アプリ307に送信される(S603)。
一方、LCD206に表示されているアプリが新規アプリ308であると判定された場合(S1201でYes)、イベント管理部302は、ドライバ部301から受信したシングルタッチイベントをイベント生成部303に送信する。そして、イベント生成部303は、受信したシングルタッチイベントを基にしてマルチタッチイベントを生成する(S1202)。ここで生成するマルチタッチイベントの1点目のタッチ座標は、シングルタッチイベントに含まれる座標と同じものとし、2点目のタッチ座標は、座標(0、0)に固定するものとする。例えば、図4のイベントID1のシングルタッチイベントを受信した場合、イベント生成部303は、タッチ数:2、イベント種別:マルチプレス、タッチ座標:(200、200)、(0、0)のマルチタッチイベントを生成する。なお以降では、このイベント生成部303で生成したマルチタッチイベントをダミーイベントと呼び、ドライバ部301から受信したシングルタッチイベントをオリジナルイベントと呼ぶ。そしてイベント生成部303は、生成したダミーイベントをイベント管理部302へ送信する。
イベント管理部302は、イベント生成部303から送信されたダミーイベント(マルチタッチイベント)をマルチイベント通知部305へ送信する。また、イベント管理部302は、ドライバ部301から受信したオリジナルイベント(シングルタッチイベント)をシングルイベント通知部304へ送信する。
シングルイベント通知部304とマルチイベント通知部305は、それぞれ受信したイベントをイベント配信部306へ送信する。イベント配信部は受信したダミーイベントとオリジナルイベントを新規アプリ308へ送信する(S1203)。
以上の通り、LCD206に新規アプリ308が表示されているときにユーザがシングルタッチ操作を行った場合、ダミーイベントとして生成されたマルチタッチイベントがシングルタッチイベントと共に新規アプリ308に送信される。これにより新規アプリ308には、ユーザがタッチパネル203上でシングルタッチとマルチタッチのどちらの操作を行った場合でも、常にマルチタッチイベントが送信されることとなる。そして、新規アプリ308は、受信したマルチタッチイベントの2点目の座標を確認し、座標(0、0)の場合はシングルタッチイベントと解釈し、座標(0、0)でなければマルチタッチイベントと解釈する。新規アプリ308は、シングルイベントであると解釈した場合には、1点目の座標に基づいて、当該シングルイベントに対応する動作を行う。
このように、本実施形態によれば、現在操作対象となっているアプリが新規アプリ308の場合、ユーザによりシングルタッチとマルチタッチのいずれが行われても、マルチタッチイベントが送信される。そして、新規アプリ308は、シングルタッチイベントを無視し、受信したマルチタッチイベントに基づいて動作を行うことにより、ユーザ操作の順番どおりの正しい動作を行うことが可能となる。
なお、S602でNoの場合、LCD206に表示されているアプリがマルチタッチに対応している新規アプリ308であるか否かをイベント管理部302が判定し、新規アプリ308であると判定された場合にダミーイベントを生成するものとして説明した。これに対し、S602でNoと判定された場合、イベント生成部303が必ずダミーイベントを生成するようにしても良い。その場合、イベント生成部303により生成されたダミーイベントはマルチイベント通知部305経由でイベント配信部306に送信される。そして、イベント配信部306は、LCD206に表示されているアプリがマルチイベントに対応しているか否かを判定し、対応している場合はダミーイベント、及びオリジナルイベントをアプリに送信し、非対応の場合はオリジナルイベントのみ送信する。このようにすることにより、現在操作対象となっているイベントがマルチイベントに対応しているか否かの判定をイベント管理部302が行わなくても同様の効果を得ることができる。
(その他の実施形態)
なお上記各実施形態では、ドライバ部301で検出するタッチイベントとして、タッチ数、イベント種別、タッチ座標が含まれるものとして説明した。しかし、タッチイベントはこれに限定されるわけではない。例えば、タッチイベントに含まれる情報としてタッチ省略するようにしてもよい。また、タッチ数に基づいてシングルタッチイベントであるかマルチタッチイベントであるかは判定可能であるため、イベント種別にはシングルやマルチの情報を含まず、「プレス」、「ムーブ」、「リリース」のみのイベント種別としてもよい。また、1つのタッチイベントに複数のタッチ座標を含むのではなく、1つのイベントに1つのタッチ座標しか含まないようにして、複数のタッチイベントを送信してもよい。このように、タッチイベントをシステム構成に合った形に変更することで、アプリの容易な実装が可能になるだけではなく、イベントの通信量を削減することでシステム全体の負荷を削減することも可能となる。
また、上記実施形態ではコピー機能、スキャナ機能、プリント機能等の複数の機能を有する画像形成装置100を例として説明したが、このうち一部の機能のみを有する画像処理装置にも本発明は適用可能である。また、パーソナルコンピュータやPDA、携帯電話、FAX、カメラ、ビデオカメラ、その他の画像ビューワ等、他の情報処理装置に適用しても構わない。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (14)

  1. マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置であって、
    前記タッチパネルへのユーザによる操作に基づくタッチイベントを検出する検出手段と、
    前記検出手段により検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成する生成手段と、
    マルチタッチイベントに対応していないアプリケーションに対して、前記生成手段により生成されたシングルタッチイベントを送信する送信手段と、
    を有することを特徴とする情報処理装置。
  2. 前記送信手段は、マルチタッチイベントに対応していないアプリケーションに対して、前記検出手段により検出されたマルチタッチイベントを送信せずに、前記生成手段により生成されたシングルタッチイベントを送信することを特徴とする請求項1記載の情報処理装置。
  3. 前記送信手段は、マルチタッチイベントに対応しているアプリケーションに対して、前記検出手段により検出されたマルチタッチイベントと、前記生成手段により生成されたシングルタッチイベントと、を送信することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記生成手段は、前記検出手段により検出されたタッチイベントがマルチタッチイベントの場合、操作対象のアプリケーションがマルチタッチイベントに対応しているか否かに拘わらず、当該検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成することを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記生成手段は、前記検出手段により検出されたタッチイベントがマルチタッチイベントであって、操作対象のアプリケーションがマルチタッチイベントに対応している場合に、当該検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成し、前記検出手段により検出されたタッチイベントがマルチタッチイベントであっても操作対象のアプリケーションがマルチタッチイベントに対応していない場合には、シングルタッチイベントを生成しないことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  6. 前記生成手段は、前記検出手段により検出されたシングルタッチイベントに基づいてマルチタッチイベントを生成し、
    前記送信手段は、マルチタッチイベントに対応しているアプリケーションに対して、前記検出手段により検出されたシングルタッチイベントと、前記生成手段により生成されたマルチタッチイベントと、を送信することを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
  7. 複数のアプリケーションそれぞれについて、マルチタッチイベントに対応しているか否かの情報を管理する管理手段と、
    前記管理手段により管理する情報に基づいて、操作対象のアプリケーションがマルチタッチイベントに対応しているか否かを判定する判定手段と、
    を有することを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。
  8. 前記管理手段は、前記複数のアプリケーションそれぞれの初期化処理において各アプリケーションから通知される情報に基づいて、管理する情報を更新することを特徴とする請求項7記載の情報処理装置。
  9. 前記検出手段により検出されるタッチイベントには、タッチ数、イベント種別、座標が含まれることを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
  10. 前記生成手段は、前記検出手段により検出されたマルチタッチイベントに含まれる複数の座標のうち、少なくとも一つに基づく座標を含むシングルタッチイベントを生成することを特徴とする請求項9記載の情報処理装置。
  11. 画像を読み取る読み取り手段を有することを特徴とする請求項1から10のいずれか1項に記載の情報処理装置。
  12. 画像を印刷する印刷手段を有することを特徴とする請求項1から11のいずれか1項に記載の情報処理装置。
  13. マルチタッチ操作を検出可能なタッチパネルを備える情報処理装置における情報処理方法であって、
    前記タッチパネルへのユーザによる操作に基づくタッチイベントを検出する検出工程と、
    前記検出工程において検出されたマルチタッチイベントに基づいてシングルタッチイベントを生成する生成工程と、
    マルチタッチイベントに対応していないアプリケーションに対して、前記生成工程において生成されたシングルタッチイベントを送信する送信工程と、
    を有することを特徴とする情報処理方法。
  14. 請求項13記載の情報処理方法をコンピュータに実行させるためのプログラム。
JP2014246336A 2014-12-04 2014-12-04 情報処理装置、情報処理装置における情報処理方法、並びにプログラム Active JP6436752B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014246336A JP6436752B2 (ja) 2014-12-04 2014-12-04 情報処理装置、情報処理装置における情報処理方法、並びにプログラム
US14/956,208 US10101698B2 (en) 2014-12-04 2015-12-01 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014246336A JP6436752B2 (ja) 2014-12-04 2014-12-04 情報処理装置、情報処理装置における情報処理方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2016110343A true JP2016110343A (ja) 2016-06-20
JP2016110343A5 JP2016110343A5 (ja) 2018-01-18
JP6436752B2 JP6436752B2 (ja) 2018-12-12

Family

ID=56094322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014246336A Active JP6436752B2 (ja) 2014-12-04 2014-12-04 情報処理装置、情報処理装置における情報処理方法、並びにプログラム

Country Status (2)

Country Link
US (1) US10101698B2 (ja)
JP (1) JP6436752B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016219017A (ja) * 2015-05-25 2016-12-22 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107390923B (zh) * 2017-06-30 2020-05-12 Oppo广东移动通信有限公司 一种屏幕防误触方法、装置、存储介质和终端
JP2024016354A (ja) * 2022-07-26 2024-02-07 キヤノン株式会社 Webブラウジングシステム、通信端末、画像生成サーバ

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006026167A (ja) * 2004-07-16 2006-02-02 Aruze Corp ゲーム機及びプログラム
US20100146458A1 (en) * 2008-12-04 2010-06-10 Nvidia Corporation Operating System Providing Multi-Touch Support For Applications In A Mobile Device
JP2011034511A (ja) * 2009-08-05 2011-02-17 Nec Corp メッセージ送受信システム、メッセージ送受信方法、メッセージ中継サーバ及びメッセージ送受信用プログラム
JP2012027957A (ja) * 2011-11-08 2012-02-09 Toshiba Corp 情報処理装置、プログラムおよびポインティング方法
JP2012181806A (ja) * 2011-03-03 2012-09-20 Nec Casio Mobile Communications Ltd 入力装置、入力方法、及び、プログラム
JP2013510370A (ja) * 2009-11-03 2013-03-21 クアルコム,インコーポレイテッド シングルタッチタッチ面上でマルチタッチジェスチャを実施する方法
JP2014059817A (ja) * 2012-09-19 2014-04-03 Konica Minolta Inc 画像処理装置、操作標準化方法および操作標準化プログラム
JP2014063515A (ja) * 2008-03-04 2014-04-10 Apple Inc タッチイベントモデル
JP2014106808A (ja) * 2012-11-28 2014-06-09 Konica Minolta Inc データ処理装置、操作受付方法およびブラウジングプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130038552A1 (en) * 2011-08-08 2013-02-14 Xtreme Labs Inc. Method and system for enhancing use of touch screen enabled devices
US20140160054A1 (en) * 2012-12-06 2014-06-12 Qualcomm Incorporated Anchor-drag touch symbol recognition

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006026167A (ja) * 2004-07-16 2006-02-02 Aruze Corp ゲーム機及びプログラム
JP2014063515A (ja) * 2008-03-04 2014-04-10 Apple Inc タッチイベントモデル
US20100146458A1 (en) * 2008-12-04 2010-06-10 Nvidia Corporation Operating System Providing Multi-Touch Support For Applications In A Mobile Device
JP2011034511A (ja) * 2009-08-05 2011-02-17 Nec Corp メッセージ送受信システム、メッセージ送受信方法、メッセージ中継サーバ及びメッセージ送受信用プログラム
JP2013510370A (ja) * 2009-11-03 2013-03-21 クアルコム,インコーポレイテッド シングルタッチタッチ面上でマルチタッチジェスチャを実施する方法
JP2012181806A (ja) * 2011-03-03 2012-09-20 Nec Casio Mobile Communications Ltd 入力装置、入力方法、及び、プログラム
JP2012027957A (ja) * 2011-11-08 2012-02-09 Toshiba Corp 情報処理装置、プログラムおよびポインティング方法
JP2014059817A (ja) * 2012-09-19 2014-04-03 Konica Minolta Inc 画像処理装置、操作標準化方法および操作標準化プログラム
JP2014106808A (ja) * 2012-11-28 2014-06-09 Konica Minolta Inc データ処理装置、操作受付方法およびブラウジングプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016219017A (ja) * 2015-05-25 2016-12-22 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム

Also Published As

Publication number Publication date
US20160162107A1 (en) 2016-06-09
JP6436752B2 (ja) 2018-12-12
US10101698B2 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
JP5936381B2 (ja) 画像処理装置及びその制御方法とプログラム
US8400647B2 (en) Image forming apparatus, operation-screen updating method, and computer program product
JP6410584B2 (ja) 画像処理装置、画像処理装置の制御方法、並びにプログラム
US10545703B2 (en) Printing system in which print setting profile is transmitted to printing apparatus, portable terminal device, and print control program
JP6115293B2 (ja) 機器、情報処理端末、情報処理システム、表示制御方法、及びプログラム
US9875433B2 (en) Linkage system and linkage method for image processing, portable terminal device, and image processing linkage program
US10044884B2 (en) Information processing apparatus and non-transitory computer readable medium
JP2020088412A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US8982397B2 (en) Image processing device, non-transitory computer readable recording medium and operational event determining method
JP6436752B2 (ja) 情報処理装置、情報処理装置における情報処理方法、並びにプログラム
JP7638666B2 (ja) 情報処理装置、情報処理の制御方法、並びにコンピュータプログラム
CN104202637A (zh) 按键遥控器、目标拖动方法
JP6398153B2 (ja) 機器、情報処理端末、情報処理システム、表示制御方法、及びプログラム
JP2016042390A (ja) 画像形成装置
KR102105492B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법 및 저장 매체
US10388257B2 (en) Information processing apparatus, method of controlling the same and non-transitory computer-readable storage medium
US20230053390A1 (en) Information processing system, information processing apparatus, and method therefor
US10319061B2 (en) Information processing apparatus and event management method
JP6618593B2 (ja) 画像処理装置、画像処理装置の制御方法、並びにプログラム
JP6648813B2 (ja) 画像形成装置、端末装置、エラー画面提供方法、およびコンピュータプログラム
JP2017146978A (ja) 機器、情報処理端末、情報処理システム、表示制御方法、及びプログラム
JP7523946B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2024050955A (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JP5696437B2 (ja) 画像形成装置、プログラム、及び情報処理方法
JP2016046553A (ja) レイアウト設定プログラムおよび画像形成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

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: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181113

R151 Written notification of patent or utility model registration

Ref document number: 6436752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151