(57)【要約】  本発明は、インテリジェント端末によって受信される入力操作を処理するための入力操作処理方法、処理装置およびコンピュータ読み取り可能な記憶媒体に関し、前記入力操作処理方法は、入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされるステップ、前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出するステップ、前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムによって、写像関係により前記入力イベントに対応する入力操作を識別するステップ、識別された入力イベントが他種の入力イベントと共存する入力イベントに転換されるステップ、他種の入力イベントと共存する前記入力イベントが報告されるステップを含む。
2021504823.tif 000002
【特許請求の範囲】
【請求項１】
入力操作と入力イベントとの少なくとも二種の写像関係をアプリケーションプログラム内でプリセットするステップS101、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出するステップS102、
前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムによって、写像関係により前記入力イベントに対応する入力操作を識別するステップS103、
識別された入力イベントを他種の入力イベントと共存する入力イベントに転換するステップS104、
他種の入力イベントと共存する前記入力イベントを報告するステップS105を含む、入力操作処理方法。
【請求項２】
ステップS101において、前記入力操作は、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作とを含み、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する、請求項1に記載の入力操作処理方法。
【請求項３】
ステップS104は、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントを前記外部入力イベントと共存する第一入力イベントに転換するステップS104-1、および
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントを前記タッチ入力イベントと共存する第二入力イベントに転換するステップS104-2を含む、請求項2に記載の入力操作処理方法。
【請求項４】
ステップS102において、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する、請求項1〜３のいずれか一項に記載の入力操作処理方法。
【請求項５】
ステップS101において、前記写像関係が各入力イベントの識別ビットを含み、
ステップS103において、前記アプリケーションプログラムが前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作を識別する、請求項1〜３のいずれか一項に記載の入力操作処理方法。
【請求項６】
入力操作と入力イベントとの少なくとも二種の写像関係をアプリケーションプログラム内でプリセットするプリセットモジュール、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出する検出モジュール、
前記プリセットモジュール及び前記検出モジュールと接続し、入力イベントが前記入力イベントインターフェイスにより受信されたことが前記検出モジュールに検出されるときに、前記識別モジュールは写像関係により前記入力イベントに対応する入力操作を識別する識別モジュール、
前記識別モジュールと接続し、識別された入力イベントを他種の入力イベントと共存する入力イベントに転換する転換モジュール、
前記転換モジュールと接続し、他種の入力イベントと共存する前記入力イベントを報告する報告モジュールを含む、入力操作処理装置。
【請求項７】
前記プリセットモジュールに入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記入力操作は、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作とを含み、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する、請求項6に記載の入力操作処理装置。
【請求項８】
前記転換モジュールは、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントを前記外部入力イベントと共存する第一入力イベントに転換する第一転換ユニット、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントを前記タッチ入力イベントと共存する第二入力イベントに転換する第二転換ユニットを含む、請求項7に記載の入力操作処理装置。
【請求項９】
前記検出モジュールは、前記入力イベントインターフェースに前記インテリジェント端末OSのフレームワーク層から前記入力イベントが受信されるかどうかを検出する、請求項6〜8のいずれか一項に記載の入力操作処理装置。
【請求項１０】
前記プリセットモジュールに入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記写像関係は各入力イベントの識別ビットを含み、
前記識別モジュールは、前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作を識別する、請求項6〜8のいずれか一項に記載の入力操作処理装置。
【請求項１１】
コンピュータプログラムがメモリーされて、インテリジェント端末に受信された入力操作を処理するように構成される、コンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサーにより実行されている時に、
入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットするステップS106、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出するステップS107、
前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムによって、写像関係により前記入力イベントに対応する入力操作を識別するステップS108、
識別された入力イベントを他種の入力イベントと共存する入力イベントに転換するステップS109、
他種の入力イベントと共存する前記入力イベントを報告するステップS110を作動させる、前記コンピュータ読み取り可能な記憶媒体。
【請求項１２】
ステップS106において、前記入力操作は、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作とを含み、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する、請求項11に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１３】
ステップS109は、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントを前記外部入力イベントと共存する第一入力イベントに転換するステップS109-1、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントを前記タッチ入力イベントと共存する第二入力イベントに転換するステップS109-2を含む、請求項12に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１４】
ステップS107において、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する、請求項11〜13のいずれか一項に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１５】
ステップS106において、前記写像関係は各入力イベントの識別ビットを含み、
ステップS108において、前記アプリケーションプログラムは、前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作を識別する、請求項11〜13のいずれか一項に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インテリジェント端末の入力操作処理という技術分野に属し、特に入力操作処理方法、処理装置およびコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００２】
現在、スマートフォンやタブレットPCなどのインテリジェント端末、特にアンドロイドOS（Android  System）に基づくインテリジェント端末のアプリケーションはますます普及して応用され、サードパーティがそのOSのアーキテクチャに基づいてさまざまなアプリケーション要件を満たすアプリケーションプログラムを開発していて、これはAPPというものである。これらのアプリケーションプログラムは、とかくユーザーに人とコンピューターの相互作用を行う必要があり、つまり、ユーザーの入力操作を受信し、前記インテリジェント端末のタッチスクリーンは、主にタッチ操作を受信するために用いられるが、外部入力デバイスと接続する必要のあるゲームなどのようなアプリケーションプログラムには、操作対象に応じて、外部入力イベントやタッチ入力イベントなどのさまざまな入力イベントが生成される。
【０００３】
図1に示すように、アンドロイドOSの入力イベントを処理するフロー図があり、これからアンドロイドOSの各層が見える。その中に、アプリケーション層（Application）には、ルートビューオブジェクト（ViewRootimpl）が含まれ、ルートビューオブジェクト内にもウィンドウ入力イベントレシーバー（WindowinputEventReceiver）が含まれ、フレームワーク層（Framework）には入力イベントフリンガァ（Input Flinger）が含まれ、入力イベントフリンガァにも入力ディスパッチャー（Input Dispatcher）と入力リーダー（Input Reader）が含まれ、入力デバイス層（Input Device）には、電子ゲームパッド（Joystick）とタッチスクリーン（Touch Screen）が含まれている。入力操作が発生すると、入力デバイス層から入力イベントが形成されてアプリケーション層中のウィンドウ入力イベントレシーバーに層毎に報告される。現在のアンドロイドOSには、電子ゲームパッド（Joystick）などのような外部入力デバイスへのアクセスが支持され、接続後の外部入力デバイスは外部入力イベントがアプリケーションプログラムに送信されることとなる。アプリケーションプログラムが外部入力イベントを特に処理しない場合、デフォルトの規則に従って外部入力イベントが処理され、つまり、図1のウィンドウ入力イベントレシーバーはこれらのイベントが処理されずに捨てられることとなる。つまり、アプリケーションプログラムは、タッチスクリーン（Touch Screen）に受信された入力操作しか識別できず、外部入力デバイスに受信された入力操作が識別できない。
【０００４】
図2に示すように、従来技術に外部入力イベント及びタッチ入力イベントを処理するフロー図があり、アプリケーションプログラムに外部入力デバイスにより受信された入力操作を識別させるために、外部入力イベントとタッチ入力イベントの間の写像関係（mapping relationship）を確立する必要がある。具体的に、従来技術にはインテリジェント端末OSのフレームワーク層に配置された入力イベント転換装置（Event Translator）が設置され、その入力イベント転換装置は、入力デバイス層から外部入力デバイス（電子ゲームパッドなど）の外部入力イベントを受信した後、タッチ入力イベントがその外部入力イベントを転換させられ、入力イベントフリンガァに纏められた後、アプリケーション層のウィンドウ入力イベントレシーバーへ一括報告される。ただし、アプリケーション層にとっては、外部入力デバイスの受信した操作か、タッチスクリーンの受信した操作かを問わず、アプリケーションプログラムが受信したのは全てタッチ入力イベントであるため、タッチスクリーンと外部入力デバイスのどちらで発生したのが区別されることがないとともに、外部入力デバイスとタッチスクリーンが同時に使われないことに導かれて、ユーザーの体験に影響する。
したがって、タッチスクリーン操作と外部入力デバイス操作を同時に行うというユーザーの要求を満たすために、アプリケーションプログラムがさまざまな入力イベントを識別することが成される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、外部入力デバイスとタッチスクリーンにより同時入力操作を支える入力操作処理方法を提供するものである。
【課題を解決するための手段】
【０００６】
本発明は、インテリジェント端末の入力操作に用いられた入力操作処理方法を公開し、
入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされるステップS101、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出するステップS102、
前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムは、写像関係により前記入力イベントに対応する入力操作を識別するステップS103、
識別された入力イベントが他種の入力イベントと共存する入力イベントに転換されるステップS104、
他種の入力イベントと共存する前記入力イベントが報告されるステップS105を含む。
【０００７】
好ましくは、ステップS101において、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれ、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
好ましくは、ステップS104は、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換されるステップS104-1、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換されるステップS104-2を含む。
【０００８】
好ましくは、ステップS102において、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する。
好ましくは、ステップS101において、前記写像関係に各入力イベントの識別ビットが含まれ、ステップS103に前記アプリケーションプログラムに前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。
なお、本発明はインテリジェント端末の入力操作に用いられた入力操作処理装置を公開し、前記入力操作処理装置は、
入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされるプリセットモジュール、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出する検出モジュール、
前記プリセットモジュール及び前記検出モジュールと接続し、入力イベントが前記入力イベントインターフェイスにより受信されたことは前記検出モジュールに検出されるときに、前記識別モジュールは写像関係により前記入力イベントに対応する入力操作を識別する識別モジュール、
前記識別モジュールと接続し、識別された入力イベントが他種の入力イベントと共存する入力イベントに転換される転換モジュール、
前記転換モジュールと接続し、他種の入力イベントと共存する前記入力イベントが報告される報告モジュールを含む。
【０００９】
好ましくは、前記プリセットモジュールに入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれ、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
好ましくは、前記転換モジュールは、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換される第一転換ユニット、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換される第二転換ユニットを含む。
【００１０】
好ましくは、前記検出モジュールは、前記入力イベントインターフェースに前記インテリジェント端末OSのフレームワーク層から前記入力イベントが受信されるかどうかを検出する。
好ましくは、前記プリセットモジュールに入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記写像関係に各入力イベントの識別ビットが含まれ、前記識別モジュールに前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。
本発明は、更にコンピュータ読み取り可能な記憶媒体を公開し、それでコンピュータプログラムがメモリーされてインテリジェント端末に受信された入力操作を処理するために用いられ、前記コンピュータプログラムがプロセッサーにより実行されている時に、
入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされるステップS106、
前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出するステップS107、
前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムは、写像関係により前記入力イベントに対応する入力操作を識別するステップS108、
識別された入力イベントが他種の入力イベントと共存する入力イベントに転換されるステップS109、
他種の入力イベントと共存する前記入力イベントが報告されるステップS110を作動させる。
【００１１】
好ましくは、ステップS106において、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれ、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
好ましくは、ステップS109は、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換されるステップS109-1、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換されるステップS109-2を含む。
【００１２】
好ましくは、ステップS107において、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する。
好ましくは、ステップS106において、前記写像関係に各入力イベントの識別ビットが含まれ、ステップS108において、前記アプリケーションプログラムに前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。
【００１３】
上記の技術手段を採用した後、従来の技術手段と比べて、次に掲げた有益な効果がある。
１、外部入力デバイスまたは外部入力デバイスとタッチスクリーンとの組み合わせ方式でインテリジェント端末が操作されることにより、入力操作の柔軟性とユーザーの体験が向上している。
2、アプリケーション層でのみコードが修正されることにより、異なるOSバージョンとの良好な互換性がある。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術に入力イベントに対するアンドロイドOSのプロセスフロー図である。
【図２】図2は、従来技術に外部入力イベントとタッチ入力イベントに対するプロセスフロー図である。
【図３】図3は、本発明において一つの好ましい実施例に入力操作処理方法に適うフロー図である。
【図４】図4は、図３においてステップS104のフロー図である。
【図５】図5は、本発明において一つの好ましい実施例に入力操作処理装置に適うブロック図である。
【図６】図6は、図5における転換モジュールのブロック図である。
【図７】図7は、本発明において一つの好ましい実施例にコンピュータ読み取り可能な記憶媒体のコンピュータプログラムに適うフロー図である。
【図８】図8は、図7におけるステップS109のフロー図である。
【図９】図9は、本発明において一つの好ましい実施例にアンドロイドOSによるアプリケーションプログラムに適うブロック図である。
【符号の説明】
【００１５】
10-入力操作処理装置、11-プリセットモジュール、12-検出モジュール、13-識別モジュール、14-転換モジュール、15-報告モジュール、141-第一転換ユニット、142-第二転換ユニット。
【発明を実施するための形態】
【００１６】
添付の図面を参照して以下でさらに本発明の利点を詳細に説明する。
此処には、実施例を詳細に説明し、その実施例を図面に示す。以下の説明は図面に関わる時、他の説明ならでは、異なる図面中の同じ数字は同じ或は相似の要因を示す。以下の実施例中の説明される実施状態は、本発明と一致する全ての実施状態を意味しない。これとは逆に、それらは、添付請求項に記載し、本発明の幾つかの方面と一致する装置と方法の例だけである。
本発明に使用する専門用語は、特定実施例を説明する目的だけから生じ、本発明に限定するのを目指しない。本発明と添付請求項に使用される単数形の「一つ」や「前記」や「その」は、多数形を含むのを目指し、ただし文脈が他の含意をはっきり示す場合を除く。更に、本発明に使用される「及び/又は」が一つ或は複数の相関の列に並べる項目の任意或は全ての可能な組合を含むのを目指すと理解されるべきである。
【００１７】
本発明に第一や第二や第三等の様な専門用語を採用して様々な情報を説明するが、これらの情報がそれらの用語に限らないと理解されるべきである。これらの用語は同じ類型の情報を互いに区別するように使われる。例えば、本発明の範囲を逸脱しない場合に、第一情報が第二情報と呼ばれ、相似として、第二情報も第一情報と呼ばれる。これは、文脈により決まり、例えば、ここに使用される言葉「例えば」は、「…時」や「…際」や「に応じて」と解釈される。
本発明の説明には、専門用語「縦」、「横」、「上」、「下」、「前」、「後」、「左」、「右」、「垂直」、「水平」、「上部」、「下部」、「内側」、「外側」等の指示方位または位置関係は図面に基づく方位或は位置関係であり、本発明を説明し簡略化するのに便利であるが、言及された装置または要素を必ず特定の方位にし、特定の方位で構成し、操作することを示し或は暗示するのではないと理解されるのを必要とする。そのため、本発明に限るのが理解されない。
【００１８】
本発明の説明には、別の規定と限定ならでは、専門用語「インストール」、「連接」、「接続」を広義に解説するべきである。例えば、機械の接続或は電気の接続となり、又は二つの構成要素の内部の接続となる。直接接続であり、又は仲介者を介する間接接続である。当業者にとって、上記の用語の特定の意味は、特定の状況に従って理解することができる。
後続の説明には、構成要素を示すのを用いる「モジュール」、「部品」または「ユニット」様な接尾辞を使って本発明の説明に有利であり、そて自身に特定の意味はない。そのため、「モジュール」と「部品」を混合して使用することができる。
図3に示すように、本発明において一つの好ましい実施例に入力操作処理方法に適うフロー図があり、インテリジェント端末の入力操作に用いられた前記入力操作処理方法、次に掲げたステップを含む。
【００１９】
S101:入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされる。
入力装置が異なるに従って、前記インテリジェント端末のタッチスクリーンでタッチ操作が受信されることとなり、前記インテリジェント端末のキーで押し操作が受信されることとなるような異なる入力操作は、様々な入力装置に受信される。前記インテリジェント端末が電子ゲームパッドや外部キーボードなどの外部入力デバイスに接続される場合に、外部入力操作を受け入れることができる。入力イベントは、前記インテリジェント端末で形成されたソフトウェアタスクであり、アプリケーションプログラムは、OS フレームワーク層から入力イベントを受信し、且つ入力イベントが処理できる。たとえば、入力イベントの関連付けた計算タスクをトリガーしたり、表示インターフェイスで入力イベントの結果を表示する。入力イベントが様々な入力操作によって異なる、各入力イベントはその区別がソフトウェアで識別される。
【００２０】
本ステップには、入力操作と入力イベントとの少なくとも二種の写像関係が前記アプリケーションプログラム内でプリセットされ、すなわち、異なる入力イベントに対応する識別マークおよびそれに対応する入力操作種類が事前に格納されている。前記アプリケーションプログラムは、インテリジェント端末OSのアプリケーション層に設けられ、ゲームや遠隔操作ソフトウェアなどのような人間とコンピューターの相互作用の要るアプリケーションソフトウェアであり得る。前記アプリケーションプログラムが起動すると、Hookという技術で外部入力イベントとタッチ入力イベントとの写像関係がアプリケーションプログラムにロードされる。Hookの本来の意味はフックであるが、コンピュータソフトウェアの場合に、Hookという技術は某プログラムのインターフェースを傍受し、インターフェースのデータをキャプチャーして処理することを指す。たとえば、ゲームプラグインはHookという技術の典型的なアプリケーションである。本実施形態において、入力操作と入力イベントとの写像関係は、Hookという技術でアプリケーションプログラムにプリセットされており、具体的な実現手段は、元のアプリケーションプログラムにおいて入力イベントを処理するクラスまたはメソッドを置き換え、入力イベントが入力イベントインターフェイスにより報告されるときに、自己定義されたクラスまたはメソッドで入力イベントを処理するために、自己定義された同名クラスまたはメソッドにおいて前記写像関係がプリセットされることであり得る。
【００２１】
S102：前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出する。
このステップでは、前記アプリケーションプログラムの入力イベントインターフェースが傍受され、ステップＳ１０１でプリセットされた入力イベントが前記入力イベントインターフェースに受信されるかどうかを検出する。前記入力イベントインターフェースは、前記OSのフレームワーク層から報告された入力イベントが受信されるウィンドウ入力イベントレシーバーであり得る。前記入力イベントインターフェイスが入力イベントを受け取ると、必然的にデータストリームまたは関連識別ビットに変化が生じることにより、入力イベントを受信する動作が知られることとなる。アンドロイドOSを例にとると、このステップにおいてアプリケーションプログラムを傍受して、入力イベントインターフェイスのWindowInputEventReceiverクラスのonInputEventを取得し、フレームワーク層から報告された入力イベントをキャプチャーする。
【００２２】
S103：前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムは、写像関係により前記入力イベントに対応する入力操作を識別する。
ステップS102において前記入力イベントインターフェースが任意の入力イベントを受信したことが検出されると、このステップが実行される。このステップでは、前記アプリケーションプログラムは写像関係により前記入力イベントに対応する入力操作を識別している。入力イベントは、識別ビットやメンバー変数や属性などのような種類であるのが異なって、ソフトウェアデータに必然的に差異があるため、ステップS101において写像関係としてアプリケーションプログラムで上記の差異がプリセットされていることにより、前記入力イベントに対応する入力操作が識別されることとなる。
【００２３】
S104:識別された入力イベントが他種の入力イベントと共存する入力イベントに転換される。
種類の異なる入力イベントがステップS103でのみ識別されると、異なる入力イベントが前記アプリケーションプログラムで成されずに、このステップは実行される必要がある。このステップにおいて転換操作が実行され、ステップS103で識別された入力イベントが他種の入力イベントと共存する入力イベントに転換される。このステップが実行されると、前記入力イベントが修正され、修正された内容は、入力イベントの特性に影響を与えるメンバー変数や属性などのデータであり得り、修正済の入力イベントが他種の入力イベントと共存できる。たとえば、外部入力デバイスにより報告された外部入力イベントが転換された後、そのイベントがタッチスクリーンに対応するタッチ入力イベントと共存できる。つまり、両者がアプリケーションプログラムに対し区別され、それに応じて処理されることとなる。
【００２４】
S105:他種の入力イベントと共存する前記入力イベントが報告される。
このステップでは、ステップS104において転換された入力イベントがアプリケーションプログラム内の他のモジュールに報告される。たとえば、入力イベントに対して関連データの計算が実行されたり、前記入力イベントの結果が表示される。たとえば、ゲームでは、ユーザーはゲームパッドを使って操作オブジェクトの移動について入力操作を行い、その操作により入力イベントが形成された後、ゲームプログラムは入力イベントを分析し、操作オブジェクトの移動距離を算出し、且つ表示インターフェイスに操作オブジェクトの移動効果が表示される。上記のプロセスで、転換された入力イベントをアプリケーションプログラム中の分析及び表示に関するモジュールへ報告する必要がある。この実施形態では、Javaというリフレクション技術で転換後の入力イベントがonInputEventというインターフェースにより送出される。Javaというリフレクション技術は、Javaリフレクション作用により実現され、前記Javaリフレクション作用は、実行状態であらゆるクラスにとってこのクラスの全ての属性及びメソッドが知られることである。任意のオブジェクトについて、そのあらゆる属性及びメソッドが呼びだされる。動的に情報を取得し、オブジェクトメソッドを動的に呼び出すこの機能は、Java言語のリフレクション作用と呼ばれることにより、Java言語は動的言語とも呼ばれる。Javaリフレクション技術で転換済の入力イベントのクラスの属性とメソッドが取得されることとなり、その属性とメソッドは、onInputEventインターフェイスを介して前記アプリケーションプログラム内の他のモジュールへ送信される。
【００２５】
前記入力操作処理方法の更なる改善としては、前記ステップS101において、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれる。前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。改善されたこの実施形態では、前記入力操作の種類が更に分けられ、前記タッチスクリーンに受信されたタッチ操作と、外部入力装置に受信された外部入力操作の２つに分類している。したがって、上記の二種の入力操作は異なる入力イベントに対応し、プリケーションプログラムで識別されて処理されることとなるように、前記タッチ操作がタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
【００２６】
図4に示すように、図３においてステップS104のフロー図があり、ステップS104は、
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換されるステップS104-1、
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換されるステップS104-2を含む。
改善されたこの実施例では、前記入力操作がタッチ操作と外部入力操作に分けられることに基づいて、前記ステップS104がさらに限定され、入力イベントは、前記入力イベントインターフェースに受信された入力イベントの種類により入力イベントがそれぞれ第一入力イベントまたは第二イベントに転換される。前記アプリケーションプログラムの他のモジュールが後続に処理するために、前記第一入力イベントは、タッチ操作に関連する属性または相関パラメーターが体現され、前記第二入力イベントは、外部入力操作に関連する属性または相関パラメーターが体現されることとなる。
【００２７】
前記入力操作処理方法の更なる改善としては、ステップS102に、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する。入力イベントは、アンドロイドOSのドライバー層により形成された後に層ずつ報告されるため、ドライバー層（Android Driver）、ローカルランタイムライブラリ層（Android Native）、フレームワーク層（Framework）、アプリケーション層（Application）のいずれかで理論的に遮断される。OSをアップグレードするときのコード移行の作業量を軽減するために、この実施状態において入力イベントの受信、検出、および処理がすべてアプリケーション層で成される。そのため、前記入力イベントがフレームワーク層から受信されることとなり、OSのアップグレードであっても、様々なOSバージョンに付くコード移植であっても、フレームワーク層とそれに従う各層のコードが修正される必要がなく、コード移行の作業量が低減される。
前記入力操作処理方法の更なる改善としては、ステップS101において、前記写像関係に各入力イベントの識別ビットが含まれ、ステップS103に前記アプリケーションプログラムに前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。この改善された実施形態において前記入力イベントの識別方法が更に限定されており、すなわち前記入力イベントの識別ビットに従って識別されることにより、前記写像関係で識別ビットがプリセットされ、且つ識別モジュールでプリセットされた識別ビットに従って 入力イベントが識別されている。
【００２８】
図9に示すように、本発明において一つの好ましい実施例にアンドロイドOSによるアプリケーションプログラムに適うブロック図がある。図1と比較して、本発明にはメソッドキャッチャー（Method Hooker）が元のアンドロイドOSのフレームワークに追加され、前記メソッドキャッチャーに入力イベントメソッド（OnInputEvent）も含まれ、前記入力イベントメソッドにイベントコンバーター（Exchanger）も含まれる。ステップS101では、前記メソッドキャッチャーがプリセットされ、その内部の入力イベントメソッドで入力操作と入力イベントとの写像関係が定義される。ステップS102では、フレームワーク層にアプリケーション層のウィンドウ入力イベントレシーバーへ入力イベントが報告されるかどうかが検出され、前記フレームワーク層に前記入力イベントインターフェースを介して前記入力イベントが報告される。ステップS103およびS104では、前記ウィンドウ入力イベントレシーバーの入力イベントメソッドがメソッドキャッチャーで置き換えられ、前記メソッドキャッチャーの入力イベントメソッドが使われて前記入力イベントが識別され転換される。ステップS105では、前記メソッドキャッチャーにより変換された入力イベントが入力イベントキュー（EnqueueInputEvent）へ報告される。
図5に示すように、本発明において一つの好ましい実施例に入力操作処理装置10に適うブロック図があり、インテリジェント端末の入力操作に用いられた前記入力操作処理装置10は、次に掲げたモジュールを含む。
【００２９】
-プリセットモジュール11
前記プリセットモジュール11に入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされる。前記プリセットモジュール11には、異なる入力イベントに対応する識別マークおよびそれに対応する入力操作種類が事前に格納され、Hookという技術でアプリケーションプログラムへ入力イベントと入力操作との間において異なる種類の写像関係がロードされる。
-検出モジュール12
前記検出モジュール12は、前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出する。前記検出モジュール12は実際には傍受プログラムであり、前記入力イベントインターフェースを傍受し、データストリームまたは相関識別ビットの変化に従って入力イベントが報告されるかどうかを識別する。
【００３０】
-識別モジュール13
前記識別モジュール13は、前記プリセットモジュール11及び前記検出モジュール12と接続し、入力イベントが前記入力イベントインターフェイスにより受信されたことは前記検出モジュール12に検出されるときに、前記識別モジュール13は写像関係により前記入力イベントに対応する入力操作を識別する。前記認別モジュール13は、前記プリセットモジュール11を介して写像関係を取得し、前記入力イベントを識別する。
-転換モジュール14
転換モジュール14は前記識別モジュール13と接続し、識別された入力イベントが他種の入力イベントと共存する入力イベントに転換される。前記転換モジュール14は、前記識別モジュール13識別結果に従って前記入力イベントが転換され、転換結果は入力イベントによって異なり、最終的に他種の入力イベントと共存する入力イベントとなり、つまり、変換後のさまざまな入力イベントが処理時に区別できる。
【００３１】
-報告モジュール15
前記報告モジュール15は、前記転換モジュール14と接続し、他種の入力イベントと共存する前記入力イベントが報告される。前記報告モジュール15には、前記転換モジュール14から変換された入力イベントが取得され、その後の処理のためにアプリケーションプログラム内の他のモジュールへ報告される。
前記入力操作処理装置10の更なる改善としては、前記プリセットモジュール11に入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれ、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
図6に示すように、図5における転換モジュール14のブロック図があり、前記転換モジュール14は次に掲げたモジュールを含む。
【００３２】
-第一転換ユニット141
前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記第一転換ユニット141は前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換される。
-第二転換ユニット142
前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記第二転換ユニット142は前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換される。
入力イベントのクラスとメソッドは種類が異なって属性が全て異なるため、第1変換ユニット141と第2変換ユニット142は、それぞれタッチ入力イベントと外部入力イベントを転換し、それに対して第1入力イベント及び第二入力イベントが形成される
前記入力操作処理装置10の更なる改善としては、前記検出モジュール12は、前記入力イベントインターフェースに前記インテリジェント端末OSのフレームワーク層から前記入力イベントが受信されるかどうかを検出する。改良されたこの実施形態では、検出モジュール１２に、前記フレームワーク層により報告された入力イベントが傍受されている。
【００３３】
前記入力操作処理装置10の更なる改善としては、前記プリセットモジュール11に入力操作と入力イベントとの少なくとも二種の写像関係がプリセットされる時に、前記写像関係に各入力イベントの識別ビットが含まれ、前記識別モジュール13に前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。
図7に示すように、本発明において一つの好ましい実施例にコンピュータ読み取り可能な記憶媒体のコンピュータプログラムに適うフロー図がある。前記コンピュータ読み取り可能な記憶媒体は、コンピュータプログラムがメモリーされてインテリジェント端末に受信された入力操作を処理するために用いられ、前記コンピュータプログラムがプロセッサーにより実行されている時に、次に掲げたステップを作動させる。
【００３４】
S106:入力操作と入力イベントとの少なくとも二種の写像関係がアプリケーションプログラム内でプリセットされる。
S107:前記アプリケーションプログラムの入力イベントインターフェイスが入力イベントを受信したかどうかを検出する。
S108:前記入力イベントインターフェイスが任意の入力イベントを受信する時に、アプリケーションプログラムは、写像関係により前記入力イベントに対応する入力操作を識別する。
S109:識別された入力イベントが他種の入力イベントと共存する入力イベントに転換される。
S110:他種の入力イベントと共存する前記入力イベントが報告される。
【００３５】
前記コンピュータプログラムの更なる改善としては、ステップS106において、前記インテリジェント端末のタッチスクリーンに受信されたタッチ操作と、前記インテリジェント端末と接続している外部入力デバイスに受信された外部入力操作が前記入力操作に含まれ、前記タッチ操作はタッチ入力イベントに対応し、前記外部入力操作は外部入力イベントに対応する。
図8に示すように、図7におけるステップS1109のフロー図があり、前記ステップS109が次に掲げたステップを含む。
S109-1:前記入力イベントインターフェイスが前記タッチ入力イベントを受信する時、前記タッチ入力イベントが前記外部入力イベントと共存する第一入力イベントに転換される。
S109-2:前記入力イベントインターフェイスが前記外部入力イベントを受信する時に、前記外部入力イベントが前記タッチ入力イベントと共存する第二入力イベントに転換される。
【００３６】
前記コンピュータプログラムの更なる改善としては、ステップS107に、前記入力イベントインターフェースは、前記インテリジェント端末OSのフレームワーク層から前記入力イベントを受信する。
前記コンピュータプログラムの更なる改善としては、ステップS106において、前記写像関係に各入力イベントの識別ビットが含まれ、ステップS108において、前記アプリケーションプログラムに前記入力イベントの識別ビットに従って前記入力イベントに対応する入力操作が識別される。
【００３７】
上記のコンピュータプログラムの方法ステップは、本発明における入力操作処理方法と実現法で一致しており、詳細には説明されない。
注意すべきことは、本発明の実施形態はいかなる形でも本発明を限定させずより優れた実施性が具わり、あらゆる当業者は、上記に開示された技術的内容が使われて同等の効果的な実施形態に変更されまたは修正すされるが、本発明の技術的手段から逸脱することなく、本発明の技術的本質により上記の実施形態に対する任意の修正または同等の変更及び修正は、依然として本発明の保護範囲内にある。
【図１】
2021504823.tif 000003
【図２】
2021504823.tif 000004
【図３】
2021504823.tif 000005
【図４】
2021504823.tif 000006
【図５】
2021504823.tif 000007
【図６】
2021504823.tif 000008
【図７】
2021504823.tif 000009
【図８】
2021504823.tif 000010
【図９】
2021504823.tif 000011
【国際調査報告】
2021504823.tif 000012
2021504823.tif 000013
2021504823.tif 000014
2021504823.tif 000015