JP2010528396A - 多重入力コントロールの選択的有効化方法 - Google Patents

多重入力コントロールの選択的有効化方法 Download PDF

Info

Publication number
JP2010528396A
JP2010528396A JP2010510442A JP2010510442A JP2010528396A JP 2010528396 A JP2010528396 A JP 2010528396A JP 2010510442 A JP2010510442 A JP 2010510442A JP 2010510442 A JP2010510442 A JP 2010510442A JP 2010528396 A JP2010528396 A JP 2010528396A
Authority
JP
Japan
Prior art keywords
input
user interface
input mechanism
capture
control
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
JP2010510442A
Other languages
English (en)
Other versions
JP5491388B2 (ja
JP2010528396A5 (ja
Inventor
マズィーヴ,マキシム
アンダーソン,スコット・ダニエル
ウェイス,ジョン・グイード・アトキンス
レヴィー,ロバート
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010528396A publication Critical patent/JP2010528396A/ja
Publication of JP2010528396A5 publication Critical patent/JP2010528396A5/ja
Application granted granted Critical
Publication of JP5491388B2 publication Critical patent/JP5491388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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]
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • 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/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; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

多重ソースからの入力を多重コントロールにキャプチャさせ得るために、(例えばプログラマーによって)構成可能なコントロールシステムを開示する。同様に又は代替として本システムは、多重ソースからの入力を単一のコントロールにキャプチャさせ得るように構成可能である。本システムは、個別のコントロールに対し競合するイベントを分離するための一貫性があって拡張可能なスキームも提供する。一実施形態において、これは、追加の入力(複数)が所与のコントロールにキャプチャされ得るか否かに関して選択的に決定可能なように本システムを(例えば、プログラマーによって指定される選択に基づいて)構成可能なこと、を意味する。
【選択図】 図1

Description

本発明は、計算機への入力処理(manage)に関し、具体的には、1人又は複数のユーザーによる同時多重入力処理に関する。
コントロールは、グラフィカルユーザーインターフェース(複数)(GUI)を構築するために、計算機プログラマーによって利用されるインターフェースエレメントである。異なるコントロールが、計算機プログラムユーザーとの異なるタイプの対話(インタラクション)を支援する。ラジオボタン、チェックボックス、ドロップダウンリスト及びツールバーのようないくつかのコントロールは、選択型の機能性を支援する。タブ及びスクロールバーのような別のコントロールは、ナビゲーション型の機能性を支援する。テキストボックス及びコンボボックスのような別のコントロールは、テキスト入力の機能性を支援する。ツールチップ、プログレスバー、及びラベルのような別のコントロールは、出力の機能性を支援する。更に別のコントロールは、ウィンドウ指向の機能性を支援する。多くの場合、計算機プログラマーは、選択すべきコントロールの収集を包含しているコントロールツールキットへのアクセスを有する。
今日、1人又は複数のユーザーによる同時(又はほとんど同時)起動の多重入力を支援する装置が紹介されている。残念ながら、現在のコントロールシステムは、一般に、このタイプの多重入力スキームを効果的に処理するように構成されていない。現在のシステムの多くは、それらの多重入力(例えば多重接触)シナリオを支援する能力の観点からは特に有効でない、単一の入力コントロールに制限されている。単一の入力コントロールは、一般に、そのような状況において誤動作するか及び/又は故障したように見える。
例えば、読者は、ドラッグ及びスクロールをするための「UP」ボタン、「DOWN」ボタン、及び「親指」スライドのような別のコントロールを含む複合コントロールである従来のスクロールバーを組み込んでいるインターフェースを想像できよう。多くの多重入力システム内において、ユーザーが同時にUPとDOWNボタンを押下することを試みる場合、ボタンは、アップコマンドとダウンコマンドを同時に起動しようとする。アプリケーションは競合するイベントを効率的に処理するように構成されそうもない。
コントロールの競合を回避するための信頼できる解決策は、アプリケーション全体に対するユーザー入力を単一の入力だけに制限することである。しかしながら、これらの環境では、多重入力機能性の価値を高めない。従って1人又は複数のユーザーからの多重入力を効率的に処理するように構成されるコントロールスキームの必要がある。
前述したものは、一般的な背景情報を与えられているに過ぎず、請求項記載対象の範囲を決定する際の支援として使用することを意図されていない。
本発明の目的は、1人又は複数のユーザーからの多重入力を効率的に処理(manage)するように構成されるコントロールスキームを提供することである。
多重ソースからの入力を多重コントロールに同時にキャプチャさせ得るように(例えばプログラマーによって)構成可能なコントロールシステムを開示する。同様に又は代替として本システムは、多重ソースからの入力を単一のコントロールに同時にキャプチャさせ得るように構成可能である。本システムは、個別のコントロールに対し競合するイベントを分離するための一貫性があって拡張可能なスキームも提供する。一実施形態において、これは、追加の入力(複数)が所与のコントロールにキャプチャされ得るか否かに関して選択的に決定可能なように本システムを(例えば、プログラマーによって指定される選択に基づいて)構成可能なこと、を意味する。
この発明の概要は、以下、発明を実施するための形態に更に説明されている選択された概念を簡易化された形式で紹介するために、提供されている。この発明の概要は、請求項記対象の主要な特徴も実質的な機能も特定することを意図されておらず、請求項記載対象の範囲を決定する際の援助として使用することも意図されていない。請求項記載対象は、背景に言及されている不便性のいくつか又はすべてを解決する実装に限定されていない。
計算機プログラミング環境の概略図である。 ユーザーインターフェース例の図である。 ユーザーインターフェース例に関連するユーザーインターフェースエレメントのツリー表現である。 支援されていない入力を無視するキャプチャゲート機能を有する印を付けられたいくつかのユーザーインターフェースエレメントを含むツリー表現である。 多重キャプチャシナリオによる入力を処理するための方法を例示するブロックの流れ図である。 キャプチャゲートシナリオによる入力を処理するための方法を例示するブロックの流れ図である。 計算システム環境の概略図である。
図1は、計算機プログラミング環境(100)の概略図である。環境(100)において、プログラマーは、ユーザーインターフェース(110)を製造するために、ユーザーインターフェースフレームワーク(102)と対話(インタラクション)する。インターフェース(110)は、複数のコントロール(112)を含む。
図1において、ユーザー(120)が、1つ以上の入力機構(122)、(124)、及び(126)を介しユーザーインターフェース(110)とインタラクションするように示されている。入力機構(122)、(124)、及び(126)のいくつか又はすべてを操作することによって、ユーザー(120)は、フレームワーク(102)とのインタラクションを介し、プログラマー(101)によって生成され構成されるコントロール(112)とインタラクションし得る。一実施形態において、多重入力は、複数の入力(122)、(124)、及び(126)から同時(又はほとんど同時)に通信され得、必ずしも単一のユーザーだけから発する必要がない。機構(122)、(124)、及び(126)は、マウス入力機構、タッチ画面入力機構、音声入力機構、レーザーポインター入力機構、又はユーザー(120)に入力を通信させ得る別の任意の機構などに限定しないが、任意の入力機構であり得ることに留意されたい。理論上、3つを超える例示された入力機構が確実に存在し得る。更に、3つの入力(122)、(124)、及び(126)すべては、単一の入力機構(例えば、単一のタッチ画面機構への同時多重入力)から発する個々の入力であり得る。
本明細書において、用語「同時」の使用は、厳密な同時として理解する必要がないことに留意されたい。競合は、入力中の任意の期間、例えば、数秒、数ミリ秒、又は別の適切な及び/又は構成可能な期間が想定される。
フレームワーク(102)は、例示として、多重キャプチャコンポーネント(104)及びキャプチャゲートコンポーネント(106)を含む。対応するアプリケーションプログラムインターフェース(API)(105)及び(107)を含むコンポーネント(104)及び(106)は、多重入力コントロールに特化された支援を提供するために、フレームワーク(102)の機能性拡張を支援する。多重キャプチャコンポーネント(104)は、例示として、多重入力機構(例えば1つ以上の機構(122)、(124)及び/又は(126))からの入力をコントロール(112)にキャプチャさせ得、その装置(単数又は複数)からのイベントすべてをコントロールにリダイレクトさせ得る。代替又は追加として、多重キャプチャコンポーネント(104)は、多重入力機構からの入力(例えば、多重入力機構からの同時入力)を多重コントロール(112)にキャプチャさせ得、装置からのイベントを適切なコントロールに分配させ得る。キャプチャゲートコンポーネント(106)は、競合するイベントを無視するための統合化された方法をプログラマー(101)に与える。一実施形態において、コンポーネント(106)は、例示として、特定のコントロールに対し競合する状況を回避するために、ユーザー入力を制限する特定のロジックコントロールをプログラマー(101)に定義させ得る。
ユーザーフレームワーク(102)内のコンポーネント(104)及び(106)の機能性に関する更に詳細な説明に移る前に、最初に、単一の入力コントロールを実装するための最新の技術概要へそれることは少なくとも価値がある。一般的なシナリオにおいては、ユーザーインターフェースフレーム構造は、最初に入力装置をキャプチャし、その後、対応するユーザーインターフェースエレメント(すなわち対応するコントロール)にそれをバインドする方法を介する特定のコントロールへ入力をリダイレクトするための方法を提供する。かくして、入力装置がキャプチャされたとき、入力パイプラインは、キャプチャされた期間、その装置の実際の位置が存在している位置を無視し(例えば、一旦、マウスがキャプチャされると、カーソルが置かれている位置を無視し)、その装置からの入力をキャプチャしているコントロールにリダイレクトする。
従来の単一の入力シナリオの例は、マウス入力装置とのインタラクションを支援する一般的なペイントアプリケーションにおいて見出され得る。ユーザーが、描写キャンバスに「ペイント」しようとするとき、その人は、キャンバス上でカーソルを動かして、例えばマウスボタンを押下し保持することによって「マウスダウン」イベントを開始する。マウスダウンイベント時、本アプリケーションは、マウス装置をキャンバスコントロールにキャプチャさせる。このキャプチャは、例えば、マウスボタン押下の解除による「マウスアップ」イベント形式でユーザーが起動した解除時、終了する。キャプチャされた期間中、(カーソル移動のような)マウスイベントすべては、カーソルの位置がキャンバスエリア(例えば、ツールバーユーザーインターフェースエレメント上)の外側にあっても、キャンバスコントロールへ転送される。
コンポーネント(104)は、例示として、ポインターと同種の(「接触」を含む)装置すべてを単独の物理装置又は仮想装置として処理し、それらの装置のいくつかを単独でコントロールライブラリ(又はアプリケーション)にキャプチャさせることによって、従来の手段を拡張する。かくして、一実施形態において、コントロールは、多重接触を認識するように構成され、その上で発生する任意の接触をキャプチャし、対応するその後のイベントすべてをコントロールにルーティングする。
一実施形態においては、必ずしもではないが、フレームワーク(102)は、入力装置のキャプチャを単一のコントロールに制限する制約を課すように構成される。そのような制限は、潜在的な曖昧さを回避し得る。しかしながら、単一のコントロールが多重入力装置をキャプチャするように構成可能であることを、確かに想定している。一実施形態において、フレームワーク(102)は、キャプチャが成功又は解除されていることの確認として、「GotCapture」及び「LostCapture」イベントを起こすように構成される。一実施形態において、フレームワーク(102)は、(例えば、指が接触装置を離れたとき、マウスボタンが離されたときなど)装置が接続を切られたとき、自動的にキャプチャを解除するように構成される。
コンポーネント(106)は、例示として、競合するイベントを無視する支援をする。この機能性の説明に関する文脈を提供するために例を与える。図2は、ユーザーインターフェース例(200)の図である。インターフェース(200)は、例示として、ユーザーがパレットエリア(204)に図面を作成可能なペイントアプリケーションの一部である。ボタングループ(202)は、(例えば、ペイントブラシ、消しゴム、拡大鏡のような)異なる機能をユーザーに切り換えさせ得る(4つの例示的な異なるボタン(202)を図2に示す)。スクロールバー(206)は、ユーザーが所望に応じてパレットエリアの上方及び下方への移動を可能にする。スプリッター(208)は、インターフェースの左側を右側から分割する。当業者は、実質的にインターフェース(200)と同様のインターフェースを有するアプリケーションに精通しているだろう。
図3は、インターフェース(200)の例示的なエレメント(例えばコントロールなど)のツリー表現である。例示として、図3に示されているエレメントのいくつかが、多重装置(又は多重接触)によって同時に作動され得、あるものはそうできないことは真実である。例えば、例示目的として、インターフェース(200)エレメントの機能性は、以下の原理に基づいたインタラクションを支援するように構成される場合、最も望ましいと見なされる。
1.ボタン(202)それぞれが、単一の(例えば、単一の接触によって押下された)入力だけによって起動される。これは、ボタン動作を相対的に制限しない。
2.ボタン(202)は、実質的に「ツールセレクター」であって、ペイントアプリケーションが、一度に1つだけアクティブなツールを支援するための制限を有していると見なして、それらのボタンを含むグループボックス(GroupBox)(210)に対する入力を単一入力だけに制限するように理解する。
3.スプリッター(208)は、例示として、左及び右のパネルのサイズを変更するためにユーザーによってドラッグされ得るエレメントである。同様に単一の入力だけを介する操作にそれを制限するように理解する。
4.スクロールバー(206)は、親指スライドのアップ及びダウン押下、及び/又はドラッグのような競合する動作を回避するために単一の入力だけを受理する必要がある。
5.スクロールバー内部のUpボタン及びDownボタン、及び親指スライドは、単一の入力それぞれを用いて実行するように設定され得る。また、これらのエレメントは複合コントロール(スクロールバー)部品を与えられると、もっと幅広のスクロールバーが、例示として、親指スライダーを同時にUp及びDown押下、及びドラッグを回避するための別の制限を追加する。
6.インターフェース(200)に関連するその他のコントロールは、例示として、多重入力を受理し得る。例えば、ユーザーは、一方の手を用いてツールを選択し得ると同時に他方の手を用いて、キャンバスエリア(204)に複数の指で描き続け得る。
一実施形態において、キャプチャゲームコンポーネント(106)は、プログラマー(101)が、様々なコントロールの多重入力の処理方法を指定可能にする。コンポーネント(106)は、例示として、少なくとも2つの動作、すなわち
1)捕捉の試行
2)解除
を有する抽象クラス「キャプチャゲート(CaptureGate)」を提供する。プログラマー(101)は、フレームワーク(102)とのインタラクションを介し、所与のコントロールに対する適切な実装を可能にするために、キャプチャゲートの機能性を活用し得る。
一実施形態において、キャプチャゲートコンポーネント(106)は、特定のユーザーインターフェースエレメントに関連し、キャプチャゲートに設定させ得る支援を提供することによってフレームワーク(102)を拡張する。更に、一実施形態において、コンポーネント(106)は、特定のエレメントに対し(親鎖に沿って)最上位のキャプチャゲートを見出すように構成される。
当業者は、キャプチャゲート機能性が所与のユーザーインターフェースフレームワークへどのように統合化されるかに関する詳細が、所与のフレームワークに関連する実装の詳細に基づいて変化することを理解されよう。言い換えれば、キャプチャゲートの実装の詳細は、フレームワーク特有になる可能性が高い。例として、ワシントン州レッドモンドのマイクロソフト社によって提供される製品に関連するグラフィカルサブシステムであるウィンドウズ(登録商標)・プレゼンテーション・ファンデーション(WPF)は、視覚的ツリー中の任意のユーザーインターフェースエレメントに設定されリトリーブされ得る添付プロパティを定義するための機能に関する支援を提供する。この場合、キャプチャゲートは、添付プロパティの値として実装され得る。これは、特定のフレームワークにおけるほんの実装の一例にすぎない。
通常、ユーザーインターフェースフレームワークは、Capture()メソッド及びRelease()メソッドを介しキャプチャ操作機能に関する支援を公開する。一実施形態において、キャプチャゲートコンポーネント(106)は、最上位のキャプチャゲートを見出し、それを捕捉しようとする機能を用いて、それらのメソッドを拡張する。エラーは、例示として捕捉(例えばCapture())が失敗した場合、返される。更に、コンポーネント(106)は、最上位のキャプチャゲートを見出し、それを解除(例えばRelease())するように構成される。
更にまた、フレームワークのレベルにおける一実施形態において、キャプチャゲートコンポーネント(106)は、例示として、特化機能を有する専用化されたキャプチャゲートに関する実装を提供する。例えば、シングルキャプチャゲート(SingleCaptureGate)は、例示として、単一の装置だけに取得の制限をする。シングルキャプチャゲートは、実質的にキャプチャゲートの抽象クラスの特化である。キャプチャゲートコンポーネント(106)は、例示として、任意の動作を提供するための同一のインターフェース(捕捉及び解除)を有する別のキャプチャゲートを実装するための選択機能を用いた権限をコントロールの著作者に付与する。例えば、ボタンが、N個の同時接触による押下を要求する場合、コントロールの著作者は、同時にN個の入力を許可し、残りを無視するキャプチャゲートを提供し得る。当業者は、本明細書に提供されている特化の例が単に、本発明の範囲内にあるキャプチャゲートの多くの改造例のうちのいくつかであることを理解されよう。
したがって一実施形態においては、ユーザーインターフェース(UI)コントロールエレメントにキャプチャゲートを設定することによって、「単一の入力だけ」としてのクラスをコントロールクラスの作成者(例えばプログラマー(101))に指定させ得るための支援を提供する。上記の例に関しては、ラジオボタン、アップボタン、及びダウンボタンすべてが、ボタンコンストラクターにおいて、シングルキャプチャゲートがそれらに設定され得る。ボタン(又は任意のコントロール)が入力をキャプチャしようとするとき、キャプチャメソッドは、(ラジオボタン1に関して、グループボックスがキャプチャゲートのソースとして使用される)最上位のキャプチャゲートを自動的に見出し、それを捕捉しようとする。一実施形態において、Captureが偽の指標を返す場合、コントロールは、その装置からの入力及びそれが提供するその後のイベントを無視する。図2及び図3の例に続いて図4は、支援されていない入力を無視するために(黒丸によって示されている)印を付けられたキャプチャゲートを有するいくつかのユーザーインターフェースエレメントを示す。
一実施形態において、キャプチャゲートを公開するAPI(107)の本質は、
Public abstract class CaptureGate
{
protected virtual bool TryAcquire(InputDevice, UIElement);
protected virtual void Release(InputDevice);
public static void SetCaptureGate(UIElement, CaptureGate);
}
である。
一実施形態において、本明細書に説明された別のメソッドは、ユーザーインターフェースフレームワークに対し内在的であって、ユーザーインターフェースフレームワークの大部分が提供する例えば、Capture()及びRelease()を介し間接的に呼び出される。この言及されたすべてから当業者は、別の実装スキームもまた本発明の範囲内にあることを理解されよう。
図5は、本明細書に説明されているような多重キャプチャ機能性と一致する多重キャプチャシナリオによる入力を処理するための方法(500)の一実施形態を示すブロックの流れ図である。ブロック(502)により、入力が第1の入力機構から受信され、その入力は、ユーザーインターフェースコントロールを対象にしている。ブロック(504)により、第1の入力機構が、ユーザーインターフェースコントロールにキャプチャされる。ブロック(506)により、入力が第2の入力機構から受信され、その入力もユーザーインターフェースコントロールを対象にしている。ブロック(508)により、第2の入力機構が、第1の入力機構と同時にユーザーインターフェースコントロールにキャプチャされる。
図6は、本明細書に記載されているようなキャプチャゲートの機能性と一致する入力を処理するための方法(600)の一実施形態を示すブロックの流れ図である。ブロック(602)により、入力が入力機構から受信される。入力は、ユーザーインターフェースコントロールを対象にしている。ブロック(604)により、キャプチャゲートステータスがユーザーインターフェースコントロールに割り当てられるか否かに関する決定が実行される。最終的に、ブロック(606)によると、例えば、以前の決定に基づいて、入力機構が、ユーザーインターフェースコントロールにキャプチャされるか又はキャプチャされない。当然のこととして、この最終決定の一部は、1つ以上の異なる入力機構が既に、ユーザーインターフェースコントロールにキャプチャされているか否かに依存し得、適切なキャプチャゲートステータスに関連するパラメーターにも依存し得る。
図7は、本実施形態が実装され得る適切な計算システム環境(700)の例を示す。計算システム環境(700)は、適切な計算環境の一例に過ぎず、利用性又は機能性の範囲に関し、いかなる制限を提示することも意図されていない。計算環境(700)は、例示的な動作環境(700)において示されているコンポーネントの任意の1つ又はその組み合わせに関して、いかなる依存関係も要求も有するものとして解釈されるべきでない。
実施形態は、いくつもの別の汎用又は特定用途の計算システム環境又は構成を用いて作動する。本明細書において開示されている実施形態を用いて使用するために適切であるよく知られている計算システム、環境及び/又は構成の例は、パーソナルコンピューター、サーバーコンピューター、携帯用又はラップトップ装置、マルチプロセッサーシステム、マイクロプロセッサーベースシステム、セットトップボックス、プログラマブル家電、ネットワークPC、ミニコンピューター、メインフレームコンピューター、電話システム、前述のいくつかのシステム又は装置などを含む分散計算環境、を限定しないが含む。
本実施形態は、計算機によって実行されるプログラムモジュールのような計算機が実行可能な命令に関する一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。当業者は、任意の計算機可読媒体形式で書き込まれ得るプロセッサー実行可能命令として本明細書に提供されている説明及び図面を実装し得る。
本実施形態は、通信ネットワークを介し接続されているリモート処理装置によってタスクが実行される分散計算環境においても実施され得る。分散計算環境において、プログラムモジュールは、メモリー記憶装置を含むローカル及びリモート計算機記憶媒体双方に配置され得る。
図7を参照すると、本実施形態を実装するための例示的なシステムは、計算機(710)形式の汎用計算装置を含む。計算機(710)のコンポーネントは、処理ユニット(720)、システムメモリー(730)、及びシステムメモリーを含む様々なシステムコンポーネントを処理ユニット(720)と接続するシステムバス(721)を含むがこれらに限定しない。システムバス(721)は、メモリーバス又はメモリーコントローラーを含むいくつかの任意タイプのバス構造、周辺機器用バス、及び様々なバスアーキテクチャのいくつかを使用するローカルバスであり得る。制限ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ機器に関する標準化団体(VESA)ローカルバス、及びメザニンバスとしても知られている周辺機器相互接続(PCI)バスを含む。
計算機(710)は、一般に、様々な計算機可読媒体を含む。計算機可読媒体は、計算機(710)によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性双方の媒体、及び取り外し可能及び取り外し不可能な双方の媒体を含む。制限ではなく例として、計算機可読媒体は、計算機記憶媒体及び通信媒体を含み得る。計算機記憶媒体は、計算機可読命令、データ構造、プログラムモジュール、又は他のデータなど情報の記憶に関する任意の方法又は技術で実装される揮発性及び不揮発性双方、及び取り外し可能及び取り外し不可能な双方の媒体を含む。計算機記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリー、又は他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)、又は他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、又は他の磁気記憶装置、又は所望の情報をストアするために使用され得、計算機(710)によってアクセスされ得る他の任意の媒体を含むがこれらに限定しない。通信媒体は、一般に、計算機可読命令、データ構造、プログラムモジュール、又は搬送波又は別の移送機構のような変調データ信号で他のデータを具現するものであって、任意の情報伝達媒体を含む。用語「変調データ信号」は、それに関する1つ以上の特徴セットを有する信号又は信号中の情報を符号化するための方法によって変更された信号を意味する。制限ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、又は音響、無線(RF)、赤外線、及び別の無線媒体など無線媒体を含む。前述の任意の組み合わせも計算機可読媒体の範囲内に含まれよう。
システムメモリー(730)は、読み出し専用メモリー(ROM)(731)及びランダムアクセスメモリー(RAM)(732)のような揮発性及び/又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中のように、計算機(710)内部のエレメント間の情報送信を支援する基本ルーチンを含む基本入出力システム(BIOS)(733)は、通常、ROM(731)にストアされている。RAM(732)は、通常、処理ユニット(720)によって直接にアクセス可能な及び/又は現在作動されている、データ及び/又はプログラムモジュールを含む。制限ではなく例として、図7は、オペレーティングシステム(734)、アプリケーションプログラム(735)、他のプログラムモジュール(736)、及びプログラムデータ(737)を示す。プログラム(735)は、1つ以上のユーザーインターフェース開発環境(100)のコンポーネントを可能性として含むように示されていて、その実施形態を本明細書において詳細に説明する。これは、そのようなコンポーネントが実装され得る一例にすぎない。別の実装(例えば、プログラム(745)、オペレーティングシステム(734)、又はプログラム(785)の一部として)も本発明の範囲内で考慮されよう。
計算機(710)は、別の取り外し可能/取り外し不可能、揮発性/不揮発性の計算機記憶媒体も含み得る。例に過ぎないが図7は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ(741)、取り外し可能、不揮発性磁気ディスク(752)から読み出すか又はそれに書き込む磁気ディスクドライブ(751)、CD−ROM、又は他の光媒体のような取り外し可能、不揮発性光ディスク(756)から読み出すか又はそれに書き込む光ディスクドライブ(755)を示す。例示的な動作環境において使用され得る別の取り外し可能/取り外し不可能、揮発性/不揮発性の計算機記憶媒体は、磁気テープカセット、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含むがこれらに限定しない。ハードディスクドライブ(741)は、通常、インタフェース(740)のような取り外し不可能メモリーインタフェースを介しシステムバス(721)と接続され、磁気ディスクドライブ(751)及び光ディスクドライブ(755)は、通常、インターフェース(750)のような取り外し可能メモリーインタフェースによってシステムバス(721)と接続される。
前述された図7に例示されているドライブ及びそれらに関連する計算機記憶媒体が、計算機(710)に計算機可読命令、データ構造、プログラムモジュール、及び他のデータの記憶装置を提供する。図7においては、例えばハードディスクドライブ(741)は、オペレーティングシステム(744)、アプリケーションプログラム(745)、他のプログラムモジュール(746)、及びプログラムデータ(747)をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム(734)、アプリケーションプログラム(735)、他のプログラムモジュール(736)、及びプログラムデータ(737)と同一か又は異なるいずれかであり得ることに留意されたい。オペレーティングシステム(744)、アプリケーションプログラム(745)、他のプログラムモジュール(746)、及びプログラムデータ(747)には、異なる複製物であることを最小限に示すために、本明細書において、異なる番号を付与する。
ユーザーは、キーボード(762)、マイクロフォン(763)のような入力装置、及びマウス、トラックボール又はタッチパッドのようなポインティングデバイス(761)を介し、計算機(710)へコマンド及び情報を入力し得る。別の(示されていない)入力装置は、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含み得る。これら及び他の入力装置は、多くの場合、システムバスに接続されるユーザー入力インターフェース(760)を介し処理ユニット(720)と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)のような別のインターフェース及びバス構造によっても接続され得る。モニター(191)又は別のタイプの表示装置もビデオインターフェース(790)のようなインターフェースを介し、システムバス(721)と接続される。モニターに加えて計算機は、スピーカー(複数)(797)及び出力周辺インターフェース(790)を介し接続され得るプリンター(796)のような他の周辺出力装置も含み得る。
計算機(710)は、リモート計算機(780)のような1つ以上のリモート計算機との論理接続を使用し、ネットワーク接続環境において作動し得る。リモートコンピューター(780)は、パーソナルコンピューター、携帯用計算機、サーバー、ルーター、ネットワークPC、ピア装置、又は他の一般的なネットワークノードであり得、通常、前述された計算機(710)に関連するエレメントの大多数又はすべてを含む。図7に示されている論理的な接続は、ローカルエリアネットワーク(LAN)(771)及び広域ネットワーク(WAN)(773)を含むが、別のネットワーク(複数)も含み得る。そのようなネットワーク環境は、オフィス、企業規模の計算機ネットワーク、イントラネット、及びインターネットにおいて一般的である。計算機(710)は、LANネットワーク環境において使用されるとき、ネットワークインターフェース又はアダプター(770)を介しLAN(771)と接続される。計算機(710)は、通常、WANネットワーク環境において使用されるとき、インターネットのようなWAN(773)を介する通信を確立するためのモデム(772)又は別の手段を含む。内蔵又は外付けであり得るモデム(772)が、ユーザー入力インターフェース(760)又は別の適切な装置を介し、システムバス(721)と接続され得る。ネットワーク接続環境において、計算機(710)又はその一部に関連し示されているプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。制限ではなく例として、図7は、リモートコンピューター(780)に常駐するリモートアプリケーションプログラム(785)を示す。表示されているネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
主題が構造上の特徴及び/又は方法動作に特定の言語で説明されているが、添付の請求項において定義されている主題が、必ずしも前述の特定の機能又は動作に限定されるわけではないことを理解されよう。もっと正確に言えば、前述された特定の機能及び動作は、請求項を実装する例の形式として開示されている。
100 計算機プログラミング環境
101 プログラマー
102 ユーザーインターフェースフレームワーク
104 多重キャプチャコンポーネント
105 アプリケーションプログラムインターフェース
106 キャプチャゲートコンポーネント
107 アプリケーションプログラムインターフェース
110 ユーザーインターフェース
112 ユーザーインターフェースコントロール
120 ユーザー(単数又は複数)
122 入力機構
124 入力機構
126 入力機構
200 ユーザーインターフェース
202 ボタン(複数)
204 パレットエリア
206 スクロールバー
208 スプリッター
210 グループボックス
700 計算システム環境
710 計算機
720 処理ユニット
721 システムバス
730 システムメモリー
731 読み出し専用メモリー
732 ランダムアクセスメモリー
733 基本入出力システム
734 オペレーティングシステム
735 アプリケーションプログラム
736 他のプログラムモジュール
737 プログラムデータ
740 インターフェース
741 ハードディスクドライブ
744 オペレーティングシステム
745 アプリケーションプログラム
746 他のプログラムモジュール
747 プログラムデータ
750 インターフェース
751 磁気ディスクドライブ
752 取り外し可能な不揮発性磁気ディスク
755 光ディスクドライブ
756 取り外し可能な不揮発性光ディスク
760 ユーザー入力インターフェース
761 ポインティングデバイス
762 キーボード
763 マイクロフォン
770 アダプター
771 ローカルエリアネットワーク
772 モデム
773 広域ネットワーク
780 リモート計算機
785 プログラム
790 ビデオインターフェース
791 モニター
795 出力周辺インターフェース
796 プリンター
797 スピーカー

Claims (20)

  1. 入力(122,124,126)の処理に関する計算機に実装される方法(500)であって、
    第1の入力機構からの入力(122)を受信するステップ(502)であって、前記入力(122)が、ユーザーインターフェースコントロール(112)を指向しているものと、
    前記第1の入力機構を前記ユーザーインターフェースコントロール(112)にキャプチャさせるステップ(504)と、
    第2の入力機構からの入力(124)を受信するステップ(506)であって、前記入力(124)が、前記ユーザーインターフェースコントロール(112)を指向しているものと、
    前記第2の入力機構を前記ユーザーインターフェースコントロール(112)にキャプチャさせるステップ(508)であって、前記第1の入力機構及び第2の入力機構が、前記ユーザーインターフェースコントロール(112)によって同時にキャプチャされるステップと、を含む方法。
  2. 第1の入力機構からの入力(122)を受信するステップ(502)が、タッチ画面インターフェースを介し入力を受信するステップ(502)を含んでいて、第2の入力機構からの入力(124)を受信するステップ(506)が、同一のタッチ画面インターフェースを介し入力を受信するステップ(506)を含むことを特徴とする請求項1記載の方法。
  3. 前記第1の入力機構及び第2の入力機構をキャプチャさせ得るステップ(508)が、前記ユーザーインターフェースコントロール(112)を指向するように前記機構それぞれからのその後のイベントに指示するステップを含むことを特徴とする請求項1記載の方法。
  4. 前記第1の入力機構をキャプチャさせるステップ(504)が、前記第1の入力機構が解除されるまで前記ユーザーインターフェースコントロール(112)を指向するように前記第1の機構からのその後のイベントに指示するステップを含むことを特徴とする請求項1記載の方法。
  5. 前記第1の入力機構及び第2の入力機構が、前記同一の入力装置との個別のインタラクションであることを特徴とする請求項1記載の方法。
  6. 入力(122,124,126)の処理に関する計算機に実装される方法(600)であって、
    入力機構からの入力(122)を受信するステップ(602)であって、前記入力(122)が、ユーザーインターフェースコントロール(112)を指向しているものと、
    キャプチャゲートステータスが、前記ユーザーインターフェースコントロール(112)に割り当てられるか否かを識別するステップ(604)と、
    少なくとも前記識別ステップの一部に基づいて、前記入力機構を前記ユーザーインターフェースコントロール(112)にキャプチャさせるか否かを決定するステップ(606)と、を含む方法。
  7. 決定ステップ(606)が更に、異なる入力機構が、前記ユーザーインターフェースコントロール(112)に既にキャプチャされているか否か少なくともその一部に基づいて決定するステップを含んでいて、前記入力機構及び前記異なる入力機構が、前記同一の入力装置から生じ得ることを特徴とする請求項6記載の方法。
  8. 識別ステップ(604)が、キャプチャゲートステータスが、ユーザーインターフェースコントロール(112)と関連するが異なる、前記ユーザーインターフェースエレメント(112)に割り当てられるか否かを識別するステップを含むことを特徴とする請求項6記載の方法。
  9. 識別ステップ(604)が、キャプチャゲートステータスが前記ユーザーインターフェースコントロール(112)を含むユーザーインターフェースエレメント(112)の階層構造の最上位に割り当てられるか否かを識別するステップを含むことを特徴とする請求項6記載の方法。
  10. 決定ステップが更に、前記ユーザーインターフェースコントロールに割り当てられたキャプチャゲートステータスによって定義されるパラメーターに基づいて、決定するステップを含むことを特徴とする請求項6記載の方法。
  11. キャプチャゲートステータスによって定義されるパラメーターに基づいて決定するステップ(606)が、いくつのユーザー入力機構が前記ユーザーインターフェースコントロール(112)にキャプチャされ得るかを設定した制限に基づいて、決定するステップを含むことを特徴とする請求項10記載の方法。
  12. 前記制限が、単一のユーザー入力機構より大きいことを特徴とする請求項11記載の方法。
  13. コントロール(110)を含むユーザーインターフェース(110)と、
    第1の入力機構(122)及び第2の入力機構(124)と、
    前記第1の入力機構(122)及び/又は第2の入力機構(124)を前記コントロール(110)にキャプチャさせ得るように構成されるユーザーインターフェースフレームワークと、
    前記第1の入力機構(122)及び第2の入力機構(124)の1つ又は双方が前記コントロール(110)にキャプチャされ得る状況を指示するために、前記ユーザーインターフェースの開発者(101)によって行使されるように構成されるアプリケーションプログラムインターフェース(105,107)と、を含む入力システム(100)。
  14. 前記アプリケーションプログラムインターフェースが、前記第1の入力機構(122)及び第2の入力機構(124)双方を前記コントロール(110)に同時にキャプチャさせ得る多重キャプチャインターフェース(105)を含むことを特徴とする請求項13記載の入力システム(100)。
  15. 前記アプリケーションプログラムインターフェース(105,107)が、前記ユーザーインターフェースフレームワーク(102)の拡張であることを特徴とする請求項13記載の入力システム(100)。
  16. 前記アプリケーションプログラムインターフェースが、前記開発者(101)に一度に複数の入力機構をキャプチャすることを、前記コントロール(112)に制限させ得るキャプチャゲートインターフェース(107)を含むことを特徴とする請求項13記載の入力システム(100)。
  17. 前記アプリケーションプログラムインターフェースが、前記開発者(101)に一度に複数の入力機構をキャプチャすることを、前記コントロール(112)を含むコントロールグループに制限させ得るキャプチャゲートインターフェース(107)を含むことを特徴とする請求項13記載の入力システム(100)。
  18. 前記アプリケーションプログラムインターフェースが、捕捉ルーチン及び解除ルーチンに関連するキャプチャゲートクラスを含むことを特徴とする請求項13記載の入力システム(100)。
  19. 前記第1の入力機構(122)及び第2の入力機構(124)が、単一のタッチ画面入力装置への個別の入力であることを特徴とする請求項1記載の入力システム(100)。
  20. 前記第1の入力機構(122)及び第2の入力機構(124)が、別々の入力装置からの個別の入力であることを特徴とする請求項1記載の入力システム(100)。
JP2010510442A 2007-05-25 2008-05-23 多重入力コントロールの選択的有効化方法 Active JP5491388B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US93171007P 2007-05-25 2007-05-25
US60/931,710 2007-05-25
US11/904,189 US8436815B2 (en) 2007-05-25 2007-09-26 Selective enabling of multi-input controls
US11/904,189 2007-09-26
PCT/US2008/064740 WO2008148021A2 (en) 2007-05-25 2008-05-23 Selective enabling of multi-input controls

Publications (3)

Publication Number Publication Date
JP2010528396A true JP2010528396A (ja) 2010-08-19
JP2010528396A5 JP2010528396A5 (ja) 2011-06-16
JP5491388B2 JP5491388B2 (ja) 2014-05-14

Family

ID=40071954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010510442A Active JP5491388B2 (ja) 2007-05-25 2008-05-23 多重入力コントロールの選択的有効化方法

Country Status (8)

Country Link
US (2) US8436815B2 (ja)
EP (2) EP2150877B1 (ja)
JP (1) JP5491388B2 (ja)
KR (2) KR101475970B1 (ja)
CN (1) CN101681199B (ja)
CA (2) CA2942033C (ja)
ES (1) ES2627303T3 (ja)
WO (1) WO2008148021A2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8436815B2 (en) 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
EP2243072A2 (en) * 2008-01-23 2010-10-27 N-Trig Ltd. Graphical object manipulation with a touch sensitive screen
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
GB2481607A (en) * 2010-06-29 2012-01-04 Promethean Ltd A shared control panel
US20120210261A1 (en) * 2011-02-11 2012-08-16 Apple Inc. Systems, methods, and computer-readable media for changing graphical object input tools
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9250713B2 (en) * 2011-12-05 2016-02-02 Microsoft Technology Licensing, Llc Control exposure
US9256314B2 (en) * 2012-03-15 2016-02-09 Microsoft Technology Licensing, Llc Input data type profiles
US8954638B2 (en) 2012-10-17 2015-02-10 Perceptive Pixel, Inc. Selective reporting of touch data
US9946431B2 (en) * 2013-01-31 2018-04-17 Disney Enterprises, Inc. Resizable and lockable user interfaces
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9665186B2 (en) * 2014-03-19 2017-05-30 Toshiba Tec Kabushiki Kaisha Desktop information processing apparatus and control method for input device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020304A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02278415A (ja) 1989-04-20 1990-11-14 Ricoh Co Ltd 情報処理装置の入力装置
US6597347B1 (en) * 1991-11-26 2003-07-22 Itu Research Inc. Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
US6061062A (en) * 1991-12-20 2000-05-09 Apple Computer, Inc. Zooming controller
US5339388A (en) 1991-12-31 1994-08-16 International Business Machines Corporation Cursor lock region
US5627959A (en) * 1993-09-20 1997-05-06 Oracle Corporation Method for manipulating graphic objects
US5848429A (en) * 1994-08-23 1998-12-08 Object Technology Licensing Corporation Object-oriented global cursor tool which operates in an incompatible document by embedding a compatible frame in the document
US5798760A (en) 1995-06-07 1998-08-25 Vayda; Mark Radial graphical menuing system with concentric region menuing
US5933134A (en) * 1996-06-25 1999-08-03 International Business Machines Corporation Touch screen virtual pointing device which goes into a translucent hibernation state when not in use
JP4035867B2 (ja) 1997-09-11 2008-01-23 株式会社セガ 画像処理装置及び画像処理方法並びに媒体
US6003041A (en) * 1998-01-05 1999-12-14 Gateway 2000, Inc. Method and managing multiple channel maps from multiple input devices in a multimedia system
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6204837B1 (en) * 1998-07-13 2001-03-20 Hewlett-Packard Company Computing apparatus having multiple pointing devices
US6570555B1 (en) * 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6639584B1 (en) 1999-07-06 2003-10-28 Chuang Li Methods and apparatus for controlling a portable electronic device using a touchpad
US6199195B1 (en) * 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
CN1329861C (zh) 1999-10-28 2007-08-01 佳能株式会社 模式匹配方法和装置
JP2001134382A (ja) 1999-11-04 2001-05-18 Sony Corp 図形処理装置
US6954196B1 (en) * 1999-11-22 2005-10-11 International Business Machines Corporation System and method for reconciling multiple inputs
US6728708B1 (en) * 2000-06-26 2004-04-27 Datria Systems, Inc. Relational and spatial database management system and method for applications having speech controlled data input displayable in a form and a map having spatial and non-spatial data
US6708228B1 (en) * 2000-11-09 2004-03-16 Microsoft Corporation Automatic computer input device association
DE60113787T2 (de) 2000-11-22 2006-08-10 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zur Texteingabe durch Spracherkennung
US6930730B2 (en) * 2001-05-03 2005-08-16 Mitsubishi Digital Electronics America, Inc. Control system and user interface for network of input devices
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7111248B2 (en) 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US20050132408A1 (en) * 2003-05-30 2005-06-16 Andrew Dahley System for controlling a video display
US7789756B2 (en) 2002-09-13 2010-09-07 Igt Wagering gaming device having simulated control of movement of game functional elements
US6989818B2 (en) 2002-11-07 2006-01-24 Electro Source, Inc. Input controller for a game system having a combination move feature
US7337634B2 (en) 2003-01-09 2008-03-04 General Electric Company Washer/dryer touch sensitive graphical user interface
US7164410B2 (en) * 2003-07-28 2007-01-16 Sig G. Kupka Manipulating an on-screen object using zones surrounding the object
US9024884B2 (en) * 2003-09-02 2015-05-05 Apple Inc. Touch-sensitive electronic apparatus for media applications, and methods therefor
US20050060653A1 (en) * 2003-09-12 2005-03-17 Dainippon Screen Mfg. Co., Ltd. Object operation apparatus, object operation method and object operation program
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
JP2005115801A (ja) 2003-10-10 2005-04-28 Matsushita Electric Ind Co Ltd 入力装置
US7673245B2 (en) * 2003-10-15 2010-03-02 Sap Aktiengesellschaft Converting user interface panels
US7284205B2 (en) * 2003-11-18 2007-10-16 Microsoft Corporation Providing multiple input bindings across device categories
US7093034B2 (en) * 2003-11-18 2006-08-15 Microsoft Corporation Method and apparatus for input management having a plurality of input provider types wherein staging area holds and allows access by external components
US20050183035A1 (en) * 2003-11-20 2005-08-18 Ringel Meredith J. Conflict resolution for graphic multi-user interface
US7802265B2 (en) * 2004-03-15 2010-09-21 Imi Innovations, Inc. Computer interface system using multiple independent graphical data input devices
US7274977B2 (en) 2004-05-19 2007-09-25 Bendix Commercial Vehicle Systems Llc Feature enabling unit
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
KR101128572B1 (ko) 2004-07-30 2012-04-23 애플 인크. 터치 감지 입력 장치용 제스처
US7728821B2 (en) * 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7235012B2 (en) 2004-08-23 2007-06-26 Brain Box Concepts, Inc. Video game controller with side or quick look feature
US20060250351A1 (en) 2004-09-21 2006-11-09 Fu Peng C Gamepad controller mapping
US7925996B2 (en) * 2004-11-18 2011-04-12 Microsoft Corporation Method and system for providing multiple input connecting user interface
JP4839615B2 (ja) 2004-12-29 2011-12-21 株式会社セガ ゲーム装置、ゲームプログラム、ゲームシステム
US20060174202A1 (en) * 2005-01-31 2006-08-03 Bonner Matthew R Input to interface element
WO2006100540A1 (en) * 2005-03-23 2006-09-28 Nokia Corporation Method and mobile terminal device for mapping a virtual user input interface to a physical user input interface
US8799802B2 (en) * 2005-06-30 2014-08-05 Nokia Corporation Apparatus, method and computer program product enabling zoom function with multi-function key input that inhibits focus on a textually-responsive element
US7568035B2 (en) * 2005-08-30 2009-07-28 Microsoft Corporation Command binding determination and implementation
US9389702B2 (en) * 2005-10-06 2016-07-12 Hewlett-Packard Development Company, L.P. Input association
JP3934660B1 (ja) 2006-01-19 2007-06-20 株式会社コナミデジタルエンタテインメント ビデオゲームプログラム、ビデオゲーム装置及びビデオゲーム制御方法
US7620901B2 (en) * 2006-03-21 2009-11-17 Microsoft Corporation Simultaneous input across multiple applications
US7971155B1 (en) * 2006-10-22 2011-06-28 Hyoungsoo Yoon Dropdown widget
US20080136775A1 (en) * 2006-12-08 2008-06-12 Conant Carson V Virtual input device for computing
WO2008095132A2 (en) * 2007-01-31 2008-08-07 Perceptive Pixel, Inc. Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques
US8436815B2 (en) 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006020304A2 (en) * 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices

Also Published As

Publication number Publication date
JP5491388B2 (ja) 2014-05-14
CA2685087A1 (en) 2008-12-04
US20080291174A1 (en) 2008-11-27
US20130227451A1 (en) 2013-08-29
WO2008148021A3 (en) 2009-03-05
EP3203354A3 (en) 2017-09-13
CN101681199B (zh) 2012-07-18
EP2150877A4 (en) 2012-04-18
EP2150877A2 (en) 2010-02-10
CA2942033A1 (en) 2008-12-04
KR101522150B1 (ko) 2015-05-20
CA2942033C (en) 2018-07-31
CA2685087C (en) 2016-11-29
CN101681199A (zh) 2010-03-24
EP2150877B1 (en) 2017-03-01
ES2627303T3 (es) 2017-07-27
US9552126B2 (en) 2017-01-24
WO2008148021A2 (en) 2008-12-04
KR20100017302A (ko) 2010-02-16
KR101475970B1 (ko) 2014-12-23
KR20140081892A (ko) 2014-07-01
EP3203354A2 (en) 2017-08-09
US8436815B2 (en) 2013-05-07
EP3203354B1 (en) 2022-02-23

Similar Documents

Publication Publication Date Title
JP5491388B2 (ja) 多重入力コントロールの選択的有効化方法
US20210365181A1 (en) Dynamic Command Presentation and Key Configuration for Keyboards
KR101149993B1 (ko) 통합 개발 환경에서 디자이너로서 호스트된 애플리케이션
US10078413B2 (en) Graphical association of task bar entries with corresponding desktop locations
US9152529B2 (en) Systems and methods for dynamically altering a user interface based on user interface actions
US9292156B2 (en) Enabling a user to invoke a function via a shortcut key in a multi-window computing environment
US20140145945A1 (en) Touch-based input control method
JP2008535083A (ja) アプリケーションウィンドウのグループ化および管理のための方法および装置
CN108762870A (zh) 一种页面展示方法及装置
US10754452B2 (en) Unified input and invoke handling
US20180217849A1 (en) Windows Content Transfer Methods and Systems
US20190302952A1 (en) Mobile device, computer input system and computer readable storage medium
Feuerstack et al. Comparing the multimodal interaction technique design of MINT with NiMMiT
JP2010086154A (ja) 情報処理装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140227

R150 Certificate of patent or registration of utility model

Ref document number: 5491388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250