【課題】タッチスクリーン装置と接続可能な情報処理装置において、タッチスクリーン装置に対してユーザの意図しない操作が行われることを防止することが可能な情報処理装置を提供することを目的とする。
【解決手段】タッチスクリーン装置と接続可能な情報処理装置であって、前記タッチスクリーン装置に対するタッチイベントを検出するタッチイベント検出手段と、前記タッチイベント検出手段で検出されたタッチイベントに対して所定のタッチイベントを無効にするフィルタリング処理を行うフィルタリング手段と、前記フィルタリング手段でフィルタリング処理されたタッチイベントに応じた処理を行う処理手段と、を備えている。
前記フィルタリング手段は、前記タッチスクリーン装置で操作対象となっているアプリケーション毎に、無効にするタッチイベントを決定することを特徴とする請求項1に記載の情報処理装置。
前記フィルタリング手段は、前記アプリケーションがリンク情報を含む表示を行うアプリケーションの場合には、フリックイベント以外のタッチイベントを無効とすることを特徴とする請求項2に記載の情報処理装置。
前記フィルタリング手段は、前記アプリケーションがファイル管理を行うアプリケーションである場合には、ホールドイベントを無効とすることを特徴とする請求項2に記載の情報処理装置。
【発明を実施するための形態】
【0015】
以下に、本実施の形態にかかる情報処理装置、そのタッチイベント処理方法、及びコンピュータが実行可能なプログラムを適用したコンピュータシステムの実施の形態について、図面を参照しつつ詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるもの又は実質的に同一のものが含まれる。本発明の構成要素は、本明細書の図面に一般に示してあるが、様々な構成で広く多様に配置し設計してもよいことは容易に理解できる。したがって、本発明の装置、方法、及びプログラムの実施の形態についての以下のより詳細な説明は、特許請求の範囲に示す本発明の範囲を限定するものではなく、単に本発明の選択した実施の形態の一例を示すものであって、本明細書の特許請求の範囲に示す本発明と矛盾無く装置、システム及び方法についての選択した実施の形態を単に示すものである。当業者は、特定の細目の1つ以上が無くても、又は他の方法、部品、モジュール、材料でも本発明を実現できることが理解できる。
【0016】
(実施の形態)
図1は、本実施の形態に係る情報処理装置の概念図である。
図1に示すように、情報処理装置1は、タッチイベント検出手段2と、フィルタリング手段3と、処理手段4とを備えている。タッチスクリーン装置7は、表示部と当該表示部上に配置されたタッチセンサとを備え、タッチ操作が可能となっている。表示部は、例えば、LCDや有機ELディスプレイ等とすることができる。タッチセンサは、例えば、静電容量式、抵抗膜方式、光学方式等を使用することができる。情報処理装置1は、タッチスクリーン装置7と接続可能に構成されている。
【0017】
タッチスクリーン装置7は、1又は複数の装置とすることができ、例えば、ノート型PCに搭載されているタッチスクリーン、デスクトップPCに接続されているタッチスクリーン、マルチモニタとして機能するタッチスクリーン(拡張ディスプレイ)等とすることができる。
【0018】
タッチイベント検出手段2は、タッチスクリーン装置7のタッチセンサに対するユーザのタッチイベントを検出し、検出したタッチイベントをフィルタリング手段3に出力する。タッチイベントとしては、例えば、タップ(Tap)、ホールド(Hold)、スワイプ(Swipe)、ピンチ(Pinch)、ローテート(Rotate)、フリック(Flick)等がある。
【0019】
フィルタリング手段3は、タッチイベント検出手段2で検出されたタッチイベントに対して、所定のタッチイベントを無効にするフィルタリング処理を行って、処理手段4に出力する。すなわち、フィルタリング手段3は、タッチイベント検出手段2で検出された所定のタッチイベントを無効とし、当該所定のタッチイベント以外のタッチイベントを処理手段4に出力する。処理手段4は、フィルタリング手段でフィルタリング処理されたタッチイベントに応じた処理を行う。
【0020】
情報処理装置1の各手段は、ソフトウェア、ハードウェア、又はその組み合わせで実現することができ、OSやデバイス・ドライバがその機能の一部又は全部を担当してもよい。
【0021】
また、フィルタリング手段3は、タッチスクリーン装置7で操作対象となっているアプリケーション毎に、キャンセルするタッチイベントを決定することにしてもよい。例えば、アプリケーションがリンク情報を含む表示を行うアプリケーション(例えば、ブラウザ(ex.「Internet Explorer(IE)」、「Safari」、「GoogleChrome」、「Firefox」等)の場合には、フリック以外のタッチイベントを無効とすることにしてもよい。これにより、タッチスクリーン装置7上でスクロール操作だけが可能となり、リンク情報へのアクセス等ができなくなる。また、例えば、アプリケーションがファイル管理を行うアプリケーション(例えば、エクスプローラ)である場合には、ホールドイベントを無効とすることにしてもよい。これにより、ファイルの移動が不可能となり、ファイルを開く等の操作は可能となる。
【0022】
以上説明したように、本実施の形態によれば、タッチスクリーン装置7と接続可能な情報処理装置1において、タッチスクリーン装置7に対するタッチイベントを検出するタッチイベント検出手段2と、タッチイベント検出手段2で検出されたタッチイベントに対して所定のタッチイベントを無効とするフィルタリング処理を行うフィルタリング手段3と、フィルタリング処理手段3でフィルタリング処理されたタッチイベントに応じた処理を行う処理手段4と、を備えているので、タッチスクリーン装置に対してユーザの意図しない操作が行われることを防止することが可能となる。
【0023】
また、フィルタリング手段3は、タッチスクリーン装置7で操作対象となっているアプリケーション毎に、無効にするタッチイベントを決定することとしたので、アプリケーション毎に、ユーザの意図しない操作を決定することができる。
【0024】
また、フィルタリング手段3は、前記アプリケーションがリンク情報を含む表示を行うアプリケーションの場合には、フリックイベント以外のタッチイベントを無効とすることとしたので、リンク情報へのアクセスができなくなり、ユーザの意図しないリンク先へのアクセスを防止できる。
【0025】
また、フィルタリング手段3は、アプリケーションがファイル管理を行うアプリケーションである場合には、ホールドイベントを無効とすることとしたので、ファイル等の移動操作ができなくなり、ファイルがどこに移動してしまったかが分からなくなることを防止できる。
【0026】
また、タッチスクリーン装置7は拡張ディスプレイであることとしたので、マルチモニタ環境でタッチスクリーン装置に対してユーザの意図しない操作が行われることを防止することが可能となる。
【0027】
(実施例1)
図2は、本実施の形態に係る情報処理装置を適用したマルチモニタシステムの外観構成例を示す図である。
図2に示すように、マルチモニタシステム10は、第1のタッチスクリーン装置M1を備え、マルチモニタ機能(拡張デスクトップ機能)を有するノート型PC20と、ノート型PC20に接続されている第2のタッチスクリーン装置M2(拡張ディスプレイ)とで構成されている。マルチモニタシステム10は、例えば、プレゼンテーションで使用され、プレゼンテーションの提供者は、ノート型PC20を使用して、プレゼンテーションを提示する被提供者に対して、第2のタッチスクリーン装置M2に画像を提示してプレゼンテーションを行うことができる。
【0028】
ノート型PC20は、第2のタッチスクリーン装置M2でタッチイベントが発生した場合に、所定のタッチイベントを無効とすることにより、第2のタッチスクリーン装置M2に対して、プレゼンテーションの被提供者により、プレゼンテーションの提供者の意図しない操作が行われることを防止する。
【0029】
図3は、
図2のノート型PC20のブロック構成例を示す図である。
図2に示すように、ノート型PC20は、CPU(Central Processing Unit)22と、メモリ23と、HDD(Hard Disk Device)24と、CD−ROM(Compact Disk-Read Only Memory)ドライブ25と、グラフィクスチップ26と、通信デバイス37と、インターフェース36とを備える。インターフェース36には、マウス21と、キーボード27と、トラックポイント28と、第1のタッチスクリーン装置M1と、第2のタッチスクリーンス装置M2等が接続される。
【0030】
CPU22は、HDD24に格納されたOS31によりノート型PC20全体の制御を行うとともに、HDD24に格納された各種のプログラムに基づいて処理を実行する機能を司る。メモリ23は、ROM、キャッシュメモリ、RAM等で構成されており、BIOS(Basic Input/Output System:基本入出力システム)やデータ等を格納する領域と、CPU22の実行プログラムの読み込み領域として、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能領域とを備えている。
【0031】
HDD24は、例えば、Windows(登録商標)、Androide(登録商標)等のノート型PC20全体の制御を行うためのOS31、フィルタリングプログラム(サービス)32、ブラウザ33,エクスプローラ34,他のアプリケーション35等を記憶する機能を有する。OS31は、マルチモニタ機能(拡張デスクトップ機能)をサポートする。また、OS31は、デバイス・ドライバの機能も含んでおり、第1及び第2のタッチスクリーン装置M1,M2の表示部の表示制御、マウス21,キーボード27,トラックポイント28、第1及び第2のタッチスクリーン装置M1,M2のタッチセンサ等の入力デバイスの制御、カーソルの表示制御等を行う。フィルタリングプログラム(サービス)32は、所定のタッチイベントを無効にするフィルタリング処理を行う。ブラウザ33は、リンク情報を含む表示を行うためのアプリケーションであり、例えば、「Internet Explorer(IE)」、「Safari」、「GoogleChrome」、「Firefox」等である。エクスプローラ34は、ファイル管理を行うためのアプリケーションである。HDD24に記憶するプログラムは、例えば、CD−ROM29からCD−ROMドライブ25を介してインストールすることができる。
【0032】
トラックポイント28は内蔵のポインティングデバイスであり、マウス21は外付けのポインティングデバイスである。グラフィクスチップ26は、CPU22の制御に従って、表示データを第1のタッチスクリーン装置M1や第2のタッチスクリーン装置M2に出力する。通信デバイス37は、ネットワークを介してデータ通信を行うためのものである。
【0033】
第1のタッチスクリーン装置M1は、表示部42bと表示部42b上に配置されたタッチセンサ42aとで構成されるタッチスクリーン42と、ファームウェア41とを備えている。表示部42bは、例えば、LCDや有機ELディスプレイ等である。タッチセンサ42aは、例えば、静電容量方式のタッチセンサである。タッチセンサ42aは、表示部42bの画面に表示される各種メニュー、アイコン、ボタン、およびキーボード等の画面オブジェクトを選択して入力操作を行ったり、テキストの入力操作や、スクロールやスワイプ等の画面操作を行うためのものである。ファームウェア41は、表示部42b及びタッチセンサ42aの動作を制御する。ファームウェア41は、CPU22の制御に従って、グラフィックスチップ26から入力される表示データを表示部42bに表示する。また、ファームウェア41は、タッチセンサ42aに対するユーザのタッチ操作(座標入力)を検出してCPU22に出力する。
【0034】
第2のタッチスクリーン装置M2は、表示部52b及び表示部52b上に配置されたタッチセンサ52aで構成されるタッチスクリーン52と、ファームウェア51とを備えている。ファームウェア51は、表示部52b及びタッチセンサ52aの動作を制御する。ファームウェア51は、CPU22の制御に従って、グラフィックスチップ26から入力される表示データを表示部52bに表示する。また、ファームウェア51は、タッチセンサ52aに対するユーザのタッチ操作(座標入力)を検出してCPU22に出力する。
【0035】
図4は、上記マルチモニタシステム10のタッチイベントの処理に関する機能構成を示す模式図である。
図4において、HDD24にインストールされたOS31、フィルタリングプログラム32(サービスプログラム)、ブラウザ33,エクスプローラ34,及び他のアプリケーション35は、メモリ23に読み込まれ、CPU21によって実行される。
【0036】
OS31は、ノート型PC20の基本的な動作を制御しているものであり、各種資源を管理する。また、OS31は、マルチタスク機能及びマルチウィンドウ機能を有し、アプリケーションの実行コンテキスト(あるアプリケーションが利用しているレジスタセットやメインメモリイメージ、ファイルハンドルなど)やGUIの部品などのソフトウェア資源の管理も行うようになされている。
【0037】
OS31は、マルチモニタの環境設定を行い、拡張デスクトップを実現する。ユーザは、OS31の設定画面で、マルチモニタに使用するモニタの配置、解像度、及び使用態様等を設定可能となっている。
【0038】
OS31は、アプリケーションの指示等に従い、グラフィックチップ26を介して、第1及び第2のタッチスクリーン装置M1,M2に表示データを出力する。
【0039】
第1のタッチスクリーン装置M1のファームウェア41は、グラフィックチップ26から入力される表示データをタッチスクリーン42に表示する。同様に、第2のタッチスクリーン装置M2のファームウェア51は、グラフィックチップ26から入力される表示データをタッチスクリーン52に表示する。
【0040】
ファームウェア41は、グラフィックチップ26から入力される表示データをタッチスクリーン42に表示する。同様に、ファームウェア51は、グラフィックチップ26から入力される表示データをタッチスクリーン52に表示する。
【0041】
ファームウェア41は、タッチスクリーン42に対するユーザのタッチ操作(座標入力)を検出して、インターフェース36(例えば、USB/I2C)を介してOS31に出力する。同様に、ファームウェア51は、タッチスクリーン52に対するユーザのタッチ操作(座標入力)を検出して、インターフェース36を介してOS31に出力する。ユーザは、タッチスクリーン42、52に対して、タップ(Tap)、ホールド(Hold)、スワイプ(Swipe)、ピンチ(Pinch)、ローテート(Rotate)、フリック(Flick)等の操作を行うことが可能となっている。
【0042】
OS31は、ファームウェア41,51からインターフェース36を介して入力されるタッチ操作の内容を解析してタッチイベントを検出し、検出したタッチイベントをフィルタリングプログラム(サービス)32に出力する。また、OS31は、タッチ操作が行われたタッチスクリーン装置を識別するための識別情報についても併せてフィルタリングプログラム32に出力する。
【0043】
フィルタリングプログラム32は、タッチイベントが発生したタッチスクリーン装置が拡張ディスプレイでない場合には、タッチイベントをそのまま操作対象となっているアプリケーションに出力する。フィルタリングプログラム32は、タッチイベントが発生したタッチスクリーン装置が拡張ディスプレイである場合には、タッチイベントに対してフィルタリング処理を行った後、操作対象となっているアプリケーションに出力する。
【0044】
フィルタリングプログラム32は、アプリケーション毎に無効にするタッチイベントを登録している。例えば、ブラウザ33の場合には、フリック以外のタッチイベント(タップ、ホールド、スワイプ、ピンチ、ローテート)を無効とするタッチイベントとして登録している。また、エクスプローラ33である場合には、ホールドを無効とするタッチイベントとして登録している。他のアプリケーション34は無効とするタッチイベントを登録していない。ここでは無効とするタッチイベントを登録することとしたが、逆に、許可するタッチイベントを登録しておき、許可するタッチイベント以外のタッチイベントを無効とすることにしてもよい。また、アプリケーション毎に無効とするタッチイベントをユーザにより操作画面等で設定可能な構成としてもよい。
【0045】
フィルタリング処理では、フィルタリングプログラム32は、操作対象となっているアプリケーションについて、OS31から入力されるタッチイベントが無効にするタッチイベントとして登録されているか否かを判断する。フィルタリングプログラム32は、無効にするタッチイベントとして登録されている場合には、当該タッチイベントを無効として操作対象となっているアプリケーションに出力しない。フィルタリングプログラム32は、無効にするタッチイベントとして登録されていない場合には、当該タッチイベントを操作対象となっているアプリケーションに出力する。
【0046】
ブラウザ33,エクスプローラ34,及び他のアプリケーション35は、フィルタリングプログラム32から入力されるタッチイベントに応じた処理を、OS31を介して実行する。
【0047】
図5は、上記ノート型PC20によるタッチイベントに対するフィルタリング処理の一例を説明するためのフローチャートである。
図5において、まず、OS31は、タッチスクリーン装置に対してタッチ操作が行われると(ステップS1)、タッチ操作の内容を解析してタッチイベントを検出し、検出したタッチイベントをフィルタリングプログラム32に出力する(ステップS2)。
【0048】
フィルタリングプログラム32は、タッチイベントが発生したタッチスクリーン装置は、拡張ディスプレイか否かを判断する(ステップS3)。タッチイベントが発生したデバイスが拡張ディスプレイでない場合には(ステップS3の「No」)、タッチイベントを操作対象のアプリケーションに出力する(ステップS8)。操作対象のアプリケーションは、OS31を介して、タッチイベントに応じた処理を行う(ステップS9)。
【0049】
他方、ステップS3において、タッチイベントが発生したタッチスクリーン装置が拡張ディスプレイである場合には(ステップS3の「Yes」)、フィルタリングプログラム31は、操作対象のアプリケーションの種類を判断する(ステップS4)。
【0050】
操作対象のアプリケーションがブラウザ33である場合には、フィルタリングプログラム32は、タッチイベントがタップ、ホールド、スワイプ、ピンチ、ローテートのいずれであるかを判断し(ステップS5)、タッチイベントがタップ、ホールド、スワイプ、ピンチ、ローテートのいずれかである場合には(ステップS5の「Yes」)、当該タッチイベントを無効とする(ステップS7)。タッチイベントがタップ、ホールド、スワイプ、ピンチ、ローテートのいずれでもない場合(すなわち、フリックである場合)には(ステップS5の「No」)、フィルタリングプログラム32は、当該タッチイベントをブラウザ33に出力する(ステップS8)。ブラウザ33は、OS31を介して、タッチイベントに応じた処理を行う(ステップS9)。
【0051】
ステップS4において、操作対象のアプリケーションがエクスプローラ34である場合には、フィルタリングプログラム32は、タッチイベントがホールドであるかを判断する(ステップS6)。タッチイベントがホールドである場合には(ステップS6の「Yes」)、フィルタリングプログラム32は、当該タッチイベントを無効とする(ステップS7)。タッチイベントがホールドでない場合には(ステップS6の「No」)、フィルタリングプログラム32は、当該タッチイベントをエクスプローラ34に出力する(ステップS8)。エクスプローラ34は、OS31を介して、タッチイベントに応じた処理を行う(ステップS9)。
【0052】
ステップS4において、操作対象のアプリケーションが他のアプリケーション35である場合には、フィルタリングプログラム32は、当該タッチイベントを他のアプリケーション35に出力する(ステップS8)。他のアプリケーション35は、OS31を介して、タッチイベントに応じた処理を行う(ステップS9)。
【0053】
なお、上記ステップS3では、フィルタリングプログラム32は、タッチイベントが発生したタッチスクリーン装置が拡張ディスプレイか否かを判断し、拡張ディスプレイでない場合には、タッチイベントを操作対象のアプリケーションに出力し、拡張ディスプレイである場合には、フィルタリング処理を行うこととしたが、OS31は、タッチイベントが発生したタッチスクリーン装置が拡張ディスプレイでない場合にはタッチイベントを操作対象のアプリケーションにそのまま出力し、拡張ディスプレイである場合には、フィルタリングプログラム32に出力することにしてもよい。
【0054】
図6は、第2のタッチスクリーン装置(拡張ディスプレイ)M2の表示画面の表示例1を説明するための図である。例えば、第2のタッチスクリーン装置M2にブラウザ33の画面101が表示されている場合に、リンク情報のリンク先へのアクセス(画面102)を禁止し、画面のスクロール(フリック)を許可する(画面103)。
【0055】
図7は、第2のタッチスクリーン装置M2の表示画面の表示例2を説明するための図である。例えば、第2のタッチスクリーン装置M2にエクスプローラ34の画面201が表示されている場合に、ファイルの移動(画面203)を禁止し、ファイルを開くのを許可する(画面202)。
【0056】
(実施例2)
実施例1では、マルチモニタシステムの拡張ディスプレイに対するタッチイベントに対してフィルタリング処理を行うことにしたが、ノート型PC10を単体で使用する場合に、ノート型PC10の第1のタッチスクリーン装置M1に対するタッチイベントに対してフィルタリング処理を行うことにしてもよい。
【0057】
図8は、実施例2に係るノート型PC20のブロック構成例を示す図である。
図8に示すノート型PC20は、
図3と異なる点は、第2のタッチスクリーン装置M2が接続されていない点である。
図9は、実施例2に係るノート型PC20のタッチイベントの処理に関する機能構成例を示す模式図である。
図9において、
図4と異なる点は、第2のタッチスクリーン装置M2が接続されておらず、フィルタリングプログラム32が第1のタッチスクリーン装置M1で発生したタッチイベントに対してフィルタリング処理を行う点である。フィルタリング処理の内容は実施例1と同様である。
【0058】
ファームウェア41は、タッチスクリーン42に対するユーザのタッチ操作(座標入力)を検出して、インターフェース36を介してOS31に出力する。OS31は、ファームウェア41からインターフェース36を介して入力されるタッチ操作の内容を解析してタッチイベントを検出し、検出したタッチイベントをフィルタリングプログラム32に出力する。フィルタリングプログラム32は、OS31から入力されるタッチイベントに対してフィルタリング処理を行って、操作対象となっているアプリケーションに出力する。
【0059】
図10は、実施例2に係るノート型PC20によるタッチイベントに対するフィルタリング処理の一例を説明するためのフローチャートである。
図10において、
図5と異なる点は、
図5のステップS3(フィルタリングプログラム32が、タッチイベントの発生したタッチスクリーン装置が拡張ディスプレイか否かを判断する工程)を実行しない点である。それ以外の処理は、
図5と同様である。
【0060】
なお、上記実施例1,2では、フィルタリング処理を行うアプリケーションの一例として、ブラウザ33やエクスプローラ34について説明したが、本発明はこれに限られるものではなく、他の種類のアプリケーションに対してフィルタリグ処理を行うことにしてもよい。また、無効とするタッチイベントは上記実施例に限られるものではない。