JP2002508559A - ソフト入力パネルシステムおよび方法 - Google Patents

ソフト入力パネルシステムおよび方法

Info

Publication number
JP2002508559A
JP2002508559A JP2000539403A JP2000539403A JP2002508559A JP 2002508559 A JP2002508559 A JP 2002508559A JP 2000539403 A JP2000539403 A JP 2000539403A JP 2000539403 A JP2000539403 A JP 2000539403A JP 2002508559 A JP2002508559 A JP 2002508559A
Authority
JP
Japan
Prior art keywords
input
input method
window
user
interface
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
JP2000539403A
Other languages
English (en)
Other versions
JP2002508559A5 (ja
JP4074431B2 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25537054&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2002508559(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002508559A publication Critical patent/JP2002508559A/ja
Publication of JP2002508559A5 publication Critical patent/JP2002508559A5/ja
Application granted granted Critical
Publication of JP4074431B2 publication Critical patent/JP4074431B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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
    • G06F3/0238Programmable keyboards
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/905Display device with housing structure

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Position Input By Displaying (AREA)

Abstract

(57)【要約】 グラフィカルウィンドウ機能環境を有するコンピュータシステムにユーザ入力データを受け入れるための方法およびシステム。画像を表示し、ユーザ動作を検出するためのタッチセンシティブ表示画面(32)が提供される。管理コンポーネント(58)は、グラフィカルウィンドウ機能環境(60)に接続して、画面(32)上に表示するための入力パネルウィンドウを作り出す。COMオブジェクトでもよい入力方式(64)は、使用可能な複数の入力方式から選択され、その入力方式(64)が管理コンポーネント(58)の関数を呼び出すことができるようにインストールされる。各入力方式(64)は、対応する入力パネル、例えばキーボード(50)などを含み、それを入力パネルウィンドウに描く。ユーザが入力パネルの位置で画面(32)を軽く叩くとき、入力方式(64)は、管理コンポーネント(58)の関数を呼び出して、対応する入力情報に適した情報、例えばキーストロークや文字などを管理コンポーネント(58)に渡す。それに応答して、管理コンポーネント(58)は、ユーザデータをグラフィカルウィンドウ機能環境(60)にメッセージとして通信し、それにより、アプリケーションプログラム(29)はメッセージを、それがあたかもハードウェア入力装置上で生成されたかのように受け取る。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は一般にコンピュータシステムに関し、より詳細には、コンピュータシ
ステムへのデータ入力に関する。
【0002】 (発明の背景) 小型のモバイルコンピューティング装置、例えばハンドヘルドコンピュータや
パームトップコンピュータなどを含めたパーソナルデスクトップアシスタントは
、重要かつ一般的なユーザツールとなってきている。一般にこれらは、十分に小
型になって非常に便利になってきている一方、電池電力の消費はますます少なく
なっており、同時に、ますます強力なアプリケーションを稼動させることができ
るようになってきている。
【0003】 このような装置のサイズが小さくなり続けていても、人間的な限界の結果とし
て、サイズはその限界に達しつつある。例えば、ユーザデータを入力できるよう
な全文字キーボードは、人間の指がその上の個々のキーを押すことができないほ
ど小さくすることはできない。その結果、このような装置(例えばパームトップ
コンピュータ)のサイズは、標準的なユーザ用の全文字キーボードに適応するこ
とのできる大きさに制限されている。
【0004】 ユーザ入力を受け取る装置の一部のサイズを縮小するための解決法の1つは、
タッチセンシティブ(touch−sensitive)表示装置を提供し、そ
れにより物理的なキーボードの必要性をほぼ排除することである。このために、
アプリケーションプログラム、例えばワードプロセッサなどはキーボードを表示
し、それによりユーザは、表示されたキーに対応する位置で画面に触れることに
よって文字を入力する。当然、タッチスクリーン装置は物理的なキーボードを備
える装置と同時に使用することもでき、それにより、物理的なキーボードのキー
を手で押すことによって文字を入力することもできる。
【0005】 タッチスクリーン装置は適切なユーザデータ入力の手段を提供するが、データ
入力パネルは通常、アプリケーションプログラムの一部である。すなわち、各ア
プリケーションはそれ自体のタッチセンシティブインタフェースを開発する必要
がある。その結果、かなりの量の重複が起こる。例えば、ワードプロセッサプロ
グラムと表計算プログラムは両方とも英数字キーボードユニットを必要とし、そ
のために、それぞれがそれ自体のタッチスクリーンキーボードインタフェースを
備える。他のタイプのプログラム、例えば計算機プログラムなどは、数学演算を
表す追加キーを有する数字キーパッドを必要とする。このことは、各プログラム
をより大きく複雑にし、コンピュータシステムのリソースを消費する。
【0006】 別法として、オペレーティングシステムが全ての仮想キーボードを供給し、そ
れにより冗長性を排除することもできるが、これは、アプリケーションを、オペ
レーティングシステムから供給される仮想キーボードしか使用しないものに制限
する。より新しいアプリケーション(例えばプラグインモジュールで追加される
もの)は、その特定のニーズにより適合する入力機構を提供することができない
。例えば、新しいペイントブラシプログラムは、それ自体の図形入力画面を必要
とすることがある。要約すると、既存のユーザデータ入力機構には、フレキシビ
リティと効率性との間のトレードオフが内在する。
【0007】 (発明の目的および概要) したがって、本発明の目的は、ユーザデータをコンピュータシステムに入力す
るための改良型の方法システムを提供することである。
【0008】 本発明の他の目的は、効率性とフレキシビリティの両方を備えた、ユーザデー
タ入力のための方法およびシステムを提供することである。
【0009】 これらの目的の達成において、関係する目的は、タッチセンシティブ入力機構
で機能する上記のような方法およびシステムを提供することである。
【0010】 他の目的は、複数のアプリケーションが共通の入力方式からユーザ入力を受け
取ることのできる、上記のように特徴づけられた方法およびシステムを提供する
ことである。
【0011】 関係する目的は、各アプリケーションに対して交換可能な入力方式のセットの
中から1つまたは複数の入力方式を選択できる方法およびシステムを提供するこ
とである。
【0012】 他の目的は、費用効果が高く、信頼性および拡張性があり、実施の容易なこの
ような方法およびシステムを提供することである。
【0013】 簡潔に言うと、本発明は、コンピュータシステム、例えばグラフィカルウィン
ドウ機能環境を有するコンピュータシステムにユーザデータ入力を受け入れるた
めの方法およびシステムを提供する。本発明は、画像を表示するため、およびそ
れとのユーザ接触(またはそれに近いこと)を検出するために、タッチセンシテ
ィブ表示画面を使用することができる。グラフィカルウィンドウ機能環境に動作
可能に接続される管理コンポーネントは、画面表示用の入力パネルウィンドウを
作り出す。入力方式は、そのような複数の入力方式の中から選択されてインスト
ールされ、それにより入力方式は管理コンポーネントの関数を呼び出すことがで
きる。各入力方式は対応する入力パネル、例えばキーボードなどを含み、各入力
方式がそれを入力パネルウィンドウに描く。ユーザデータが入力パネルを介して
受け取られると、入力方式は管理コンポーネントの関数を呼び出してそれにユー
ザデータを渡し、管理コンポーネントは、それに応答して、ユーザデータをウィ
ンドウズメッセージなどでグラフィカルウィンドウ機能環境に通信する。アプリ
ケーションプログラムは、キーストロークなどに対応するそのメッセージを、あ
たかもハードウェアキーボード上で生成されたかのように受け取る。
【0014】 他の目的および利点は、図面と共に後続の詳細な記述を読めば明らかになろう
【0015】 (好適実施形態の詳細な説明) 例示的な動作環境 図1および後続の考察は、本発明を実施するのに適したコンピューティング環
境の簡潔で一般的な記述を提供するためのものである。本発明は、それが必要な
のではないが、ハンドヘルドコンピューティング装置、例えばパーソナルデスク
トップアシスタントなどによって実行されるコンピュータ実行可能命令、例えば
プログラムモジュールなどの一般的なコンテキストで述べる。一般にプログラム
モジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装する
ルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含
む。
【0016】 さらに本発明は、パームトップ、デスクトップまたはラップトップパーソナル
コンピュータ、ポケットベル(pager)や電話などのモバイル装置、マルチ
プロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な大衆
消費電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュ
ータなどを含めた他のコンピュータシステム構成でも実施できることを、当業者
は理解されたい。本発明はまた、通信ネットワークでリンクされた遠隔処理装置
によってタスクが実行される分散コンピューティング環境でも実施できる。分散
コンピューティング環境では、プログラムモジュールはローカル記憶装置とリモ
ート記憶装置の両方に位置することができる。
【0017】 図1を参照すると、本発明を実施するための例示的なシステムは、ハンドヘル
ドパーソナルコンピューティング装置20などの形をとる汎用コンピューティン
グ装置を含み、これは、処理装置21、システムメモリ22、ならびにシステム
メモリを含めた様々なシステムコンポーネントを処理装置21に結合させるシス
テムバス23を含む。システムバス23は、メモリバスまたはメモリ制御器、周
辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを
含めた、いくつかのタイプのバス構造のどれでもよい。システムメモリは、リー
ドオンリーメモリ(ROM)24およびランダムアクセスメモリ(RAM)25
を含む。ROM24には、起動中などにハンドヘルドコンピュータ20内の要素
間で情報を転送するのを助ける基本ルーチンを含むベーシックインプット/アウ
トプットシステム26(BIOS)が記憶されている。
【0018】 ROM24および/またはRAM25には、オペレーティングシステム28(
好ましくはウィンドウズCE)、1つまたは複数のアプリケーションプログラム
29、他のプログラムモジュール30、およびプログラムデータ31を含めた、
いくつかのプログラムモジュールが記憶されている。ユーザは、入力装置、例え
ば適した入力検出回路33を備えるタッチセンシティブ表示画面32などを通し
て、ハンドヘルドコンピュータ20にコマンドおよび情報を入力することができ
る。他の入力装置には、適したオーディオインタフェース35に接続されたマイ
クロフォン34、および物理的(ハードウェア)キーボード36(図2)が含ま
れることがある。タッチセンシティブ表示装置32の出力回路もまた、ビデオド
ライビング回路37を介してシステムバス23に接続される。表示装置32に加
えて、この装置は、他の周辺出力装置、例えば少なくとも1つのスピーカ38や
プリンタ(図示せず)も含むことがある。
【0019】 他の外部入力装置または外部出力装置39、例えばジョイスティック、ゲーム
パッド、衛星放送用パラボラアンテナ、スキャナなどを、システムバス23に結
合されたRS−232などのシリアルポート40およびシリアルポートインタフ
ェース41を通して処理装置21に接続することもできるが、これらは他のイン
タフェース、例えばパラレルポート、ゲームポート、ユニバーサルシリアルバス
(USB)などによって接続することもできる。ハンドヘルド装置20はさらに
、フラッシュカードメモリ(図示せず)を含むことがある、あるいは適切な接続
ポート(例えばスロット)42およびインタフェース43によってそれに接続す
ることができる。装置20のユーザ操作を補助するために、(例えばアプリケー
ション切替用の)いくつかのハードウェアボタン44、例えばスイッチ、ボタン
などがさらに提供でき、これらもまた、適したインタフェース45を介してシス
テムに接続される。他のコンピュータ、プリンタなど(図示せず)を含めた他の
周辺装置との通信を補助するために、赤外線ポート46および対応するインタフ
ェース/ドライバ47が提供される。図示した様々なコンポーネントおよび接続
は例示的なものであり、他のコンポーネント、および通信リンクを確立する手段
も使用できることを理解されたい。
【0020】 ソフト入力パネル ソフト入力パネル(soft input panel)アーキテクチャは、
物理的なキーボード36ではなく装置20のタッチスクリーン32を介して、文
字、キーベースおよび他のユーザデータを入力できるように主に設計されている
。しかし、理解できるように、所与のコンピュータシステム20は、図2の破線
で囲んだ部分36で表した物理的なキーボードを任意選択および追加で含むこと
もできる。さらに、明らかになるであろうが、「ソフト入力パネル」は直接的に
入力を受け取るように構成された実際のタッチセンシティブパネルである必要は
なく、その代わりに別の入力装置、例えばマイクロフォン34などを介して操作
することもできる。例えば、話された言葉をマイクロフォン34で受け取り、認
識し、オンスクリーン(on−screen)ウィンドウすなわちソフト入力パ
ネルでテキストとして表示することもできる。
【0021】 図2に、本発明の一実施態様によるSIPアーキテクチャを実装するブロック
図を示す。コンピュータシステム20は、オペレーティングシステム(OS)2
8、例えばグラフィカルウィンドウ機能環境60などを含む。このようなグラフ
ィカルウィンドウ機能環境60は一般に、キーボード36、マウス(図示せず)
、ディジタイザ(図示せず)などを含めた様々な装置を介してユーザ入力を受け
取るように動作する。グラフィカルウィンドウ機能環境60は、このようなユー
ザ入力を「入力フォーカス」を有するアプリケーションに、通常、キーボード文
字イベントの形で提供することができる。いくつかのアプリケーション29がコ
ンピュータシステムによって実行できるが、現在稼動中の1つのアプリケーショ
ンが「入力フォーカス」を有し、入力を受け取るものとすることに留意されたい
【0022】 本発明の一態様によれば、本アーキテクチャは、SIPマネージャ58を採用
して、フレキシブルな単一のインタフェースを複数の異なる入力方式64に提供
する。SIPマネージャ58は一般に、選択された入力方式64からグラフィカ
ルウィンドウ機能環境60(例えばウィンドウズCEオペレーティングシステム
28)にキーストロークを提供する。グラフィカルウィンドウ機能環境60はユ
ーザ入力データを受け取ると、アプリケーション29(すなわち現在そのウィン
ドウが入力フォーカスを有するアプリケーション)に、そのユーザ入力データに
対応する情報を、そのアプリケーションのウィンドウのメッセージ待ち行列に配
置されるそのキーストローク、マウス、または他のメッセージの形で送る。この
ようなメッセージの受渡しはウィンドウズのプログラミングで周知であり、「P
rogramming Windows 95」、Charles Petzo
ld、マイクロソフトプレス(1996)に述べられており、これを参照により
本明細書に組み込む。したがって、キーボード入力を扱うことのできるアプリケ
ーションはどれでも、適切に構成されたどんな入力方式64によっても使用する
ことができる。もっとも、オプションのキーボード36がある場合、キーストロ
ークはキーボードドライバ62からグラフィカルウィンドウ機能環境60に直接
提供され、それにより、ソースに関する情報がそのアプリケーションに提供され
ることなく、適切なキーストロークが、アクティブなアプリケーションのウィン
ドウのメッセージ待ち行列内に同様に配置される。
【0023】 入力方式64には、例えば、異なる様々な表示可能キーボード(ソフトキーボ
ード)、計算機、公式および/または方程式エディタ、化学記号テンプレート、
音声認識、手書き認識、略記記号認識(「グラフィティ(Graffiti)」
など)、またはアプリケーション用に最適化された他の入力方式(例えばバーコ
ードリーダ)などを含めることができる。SIPマネージャ58は、以下により
詳細に述べるように、ユーザがSIPウィンドウ(パネル)50(図7)の開い
た状態と閉じた状態を切り替えることを可能にするユーザインタフェースを提供
する。SIPマネージャ58はまた、使用可能な入力方式の表示可能なリストか
らユーザ選択ができるようにするユーザインタフェースも提供する。ユーザイン
タフェースと対話するユーザは入力方式64を選択することができ、それに応答
して、SIPマネージャ58は、選択された入力方式64をロードして呼び出す
。好適一実施形態では、各入力方式は、IIMコールバック61およびIインプ
ットメソッド63として示すCOM(Component Object Mo
del)インタフェースを通してSIPマネージャ58と通信する。COMオブ
ジェクトは、具体的に定義されるインタフェースを通してアクセスすることので
きるカプセル化されたメソッドおよびデータを有するデータ構造体を含む。CO
Mオブジェクトの詳細な記述は、Kraig Brockschmidt(マイ
クロソフトプレス)「Inside OLE」第2版という名称の参照文献に提
供されており、これを参照により本明細書に組み込む。
【0024】 一般に、SIPウィンドウ50がユーザによってオン/オフ間で切り替えられ
るとき、以下により詳細に述べるように、SIPマネージャ58は、それに対応
してSIPウィンドウ50を開く/閉じるように、Iインプットメソッド機構6
3を通して、選択された入力方式64に通知する。新しい入力方式が選択される
と、SIPマネージャ58は、以前に選択された入力方式のいずれかに終了(e
xit)するように機構63を通して知らせ、新しく選択された入力方式をロー
ドする。インタフェース63はまた、SIPマネージャ58によって使用されて
、これも以下に詳細に述べるように、選択された入力方式特有の情報を得る。
【0025】 選択された入力方式64もまた、IIMコールバック機構61を介してSIP
マネージャ58に情報、例えばどの1文字または複数文字がユーザによって入力
されたかを、その1文字または複数文字がキーボード選択、手書き認識、音声認
識、公式エディタ、計算などのどれによって生成されたかにかかわらず通信する
ことができる。このような文字入力は一般に、SIPマネージャ58に渡され、
好ましくは(ウィンドウズCEの場合)ユニコード文字として(あるいはそれに
変換されて)SIPマネージャによって受け取られ、グラフィカルウィンドウ機
能環境60に出力される。コマンドキー情報、例えばキーボード上の「Ctrl
」などもまた、入力方式64によってインタフェース61を介してSIPマネー
ジャ58に提供することができる。
【0026】 SIPおよび入力方式に特有の情報もまたSIPマネージャ58を通して通信
することができ、以下により詳細に述べるように、アプリケーションがSIPと
共に動作するように最適化されているとき(すなわち「SIPアウェア(SIP
−aware)」)、最終的にそのフォーカスされたアプリケーション29に通
信することができる。
【0027】 システムは、図3のステップに概略的に表すように動作する。アプリケーショ
ンが選択されてフォーカスを有すると(ステップ300〜302)、ステップ3
04で、それに対する入力方式64が選択される。入力方式64はユーザが選択
することもでき、あるいはデフォルトの入力方式を特定のアプリケーションで使
用するために選択することもできることに留意されたい。さらに、入力方式64
は、前のアプリケーション用に選択した後で留まるものとすることもできる、す
なわち、ユーザが様々なアプリケーション間で切り替えるときに特定の入力方式
が常に存在する。いずれの場合でも、入力方式64が選択されると、それはSI
Pウィンドウ50を表示する。
【0028】 ステップ306でユーザがデータを入力すると、以下に述べるIIMコールバ
ック機構61を介して適切なデータがSIPマネージャ58に渡される。入力方
式64は、ステップ306で受信したデータを最初に処理することもできること
に留意されたい。一例として、ある特定の入力方式64は、バーコード記号を、
ディジットを表すユニコード文字に変換し、別の入力方式は、数学的な入力をユ
ニコードの結果に変換し(例えば入力「3+6=」はSIPマネージャ58に「
9」を送る)、別の入力方式は方程式エディタである(例えば、文字「Sqrt
」は平方根記号を表す単一のユニコードの値に変換される)場合もある。いずれ
かのこのような処理の後、入力方式64はこれらのディジットをSIPマネージ
ャ58に渡し、SIPマネージャ58は、これらのディジットをグラフィカルウ
ィンドウ機能環境60に渡す。アプリケーションは、使用された入力方式にかか
わらず、ユーザがあたかも物理的なキーボード上でこれらのディジットを入力し
たかのようにグラフィカルウィンドウ機能環境60から文字データを受け取る。
【0029】 図5〜7に示すように、システムのソフト入力パネル(SIP)機能は、可視
ウィンドウ50(図7)、可視SIPボタン52、および様々なメソッドおよび
関数(以下に述べる)を一括して含む。図7に示すように、SIPウィンドウ5
0は、ユーザの(またはアプリケーションプログラムの)要求時に隠すかまたは
示すことのできる入力方式64によって提供される方形の領域である。可視SI
Pボタン52は、タスクバー56などの上に位置し、ユーザがSIPウィンドウ
50を表示するかまたは隠すためのタッチセンシティブインタフェースを提供す
る。したがって図4の状態図に表すように、ユーザがSIPボタン52を軽く叩
くと、ウィンドウ50は、開いた可視状態(図7)と閉じて隠れた状態(図5)
の間で切り替わる。現在の設計は、表示装置32のタスクバー56のすぐ上の位
置に固定された(ドッキングされた)横240ピクセル、縦80ピクセルのSI
Pウィンドウ50を実装している。以下で明らかとなるが、ソフト入力パネル設
計は、SIPウィンドウ50の他のサイズまたは位置もサポートする。
【0030】 このために、オペレーティングシステム28は専用スレッド(SIPマネージ
ャ58)を生み出し、専用スレッドは、それ自身をSIPスレッドとしてウィン
ドウズCEシステムに登録する。スレッドは、SIPウィンドウ50を生成し、
他のSIPの初期設定を行い、次いで、メッセージループに入って、SIPウィ
ンドウ50内のメッセージおよびユーザインタフェース動作に応答する。スレッ
ドはまた、入力方式64のウィンドウにメッセージをディスパッチする役目も果
たし、入力方式64内に立ち寄って、特別なSIPウィンドウとして応答するこ
とになるウィンドウを入力方式64が作り出すことを可能にする。
【0031】 SIPマネージャスレッド58は、システムから特別な状況を与えられる。例
えば、SIPマネージャ58スレッドによって生み出されたウィンドウは一番上
のウィンドウであり、SIPウィンドウ50が表示されている間にタスクバー5
6が自動的に隠すモードでアクティブになっているときなどを除いて、普通は他
のウィンドウで隠されない。この場合、SIPウィンドウ50はその現在位置に
表示され続け、タスクバー56はSIPウィンドウ50の一番上に表示される。
より一般的には、SIP制御用のどんなユーザインタフェース要素も、その制御
するユーザインタフェース要素とSIPウィンドウがオーバラップするときには
、SIPウィンドウ50の上(下ではなく)に配置することができる(かつ、そ
うなるべきである)。
【0032】 さらに、SIPウィンドウ50(およびあれば子ウィンドウ、例えば押しボタ
ン、テキスト入力フィールド、スクロールバーなど)は、軽く叩かれるとき、従
来のプログラムウィンドウがそうなるようには入力フォーカスを受けないことに
なる。このようにしてユーザは、システムフォーカスを変えずにSIPウィンド
ウ50と対話することができる。理解できるように、ユーザがSIPウィンドウ
50にデータを入力する度にシステムのフォーカスが変わることは望ましくない
。同じ理由で、すなわちSIPウィンドウ50を出すためにSIPボタン52を
軽く叩くことによってフォーカスのあるウィンドウがフォーカスを失うことは望
ましくないため、SIPボタン52もまたフォーカスの変更を生じない。
【0033】 本発明の一態様によれば、SIPシステムは、指定の入力方式64の選択的な
インストールを可能にする。上に概して述べたように、各入力方式64は、それ
によってユーザがタッチスクリーン表示装置(または他の何らかの入力装置)を
介して文字、テキストまたは他のユーザデータを提供する交換可能なコンポーネ
ントである。より具体的には、SIPマネージャ58は、入力方式64の選択的
なインストールを可能にするCOMインタフェースを露出することが好ましい。
入力方式64は、システムによって作り出されるSIPウィンドウ50内部の空
間を占める。
【0034】 入力方式64は、Iインプットメソッドインタフェースを実装するコンポーネ
ントオブジェクトモデル(COM、Component object mod
el)オブジェクトを含むことが好ましい。しかし、入力方式64およびSIP
マネージャ58は、何らかの機構を通して、例えば関数呼出しを受け取り、それ
に応答し、それを生成することなどによって他の1つと通信が可能な、ほぼどん
なコンポーネントも含むことができる。
【0035】 入力方式64は、SIPウィンドウ50内に描き、SIPウィンドウ50内の
ユーザ入力に応答することを担当する。通常、入力方式64はユーザ入力に応答
して、その入力を文字に変換し、次いでそれらの文字は、与えられるSIP関数
を介してSIPマネージャ58に送られる。一例として、ある入力方式64は、
図7に示すデフォルトのクワーティ(QWERTY)(英字)キーボード66を
含む。より具体的には、この入力方式64は、画面32にキーボード66の画像
を表示し、そのキーボード66上で軽く叩くのを(画面座標として検出して)文
字に変換し、それらはSIPマネージャ58に、したがってシステムに送られる
。入力方式はアプリケーション供給業者が書くことができ、COMコンポーネン
トインストレーションプロシージャを使用してシステムに加えられる。
【0036】 ユーザは、可視SIPウィンドウ50内に表される入力方式64と対話して、
システム入力を作り出す。図4の状態図によって最もよく表されるように、かつ
、図6に示すように、ユーザは、ポップアップ式の入力方式リスト72をSIP
ウィンドウ50内に提供する、タスクバー56上のSIPメニューボタン70を
軽く叩くことにより、異なる入力方式を選択することができる。ユーザはまた、
コントロールパネルアプレット(図示せず)などを介して、使用可能な入力方式
から選択することもできる。SIPコントロールパネルアプレットは、レジスト
リおよび以下に述べる、与えられるSIPアウェアの機能を使用してオペレーテ
ィングシステム28と通信する。
【0037】 以下に詳細に述べるように、様々なコンポーネントは、システムアプリケーシ
ョン29がSIPの状態の変化に応答することを可能にする関数、構造体、およ
びウィンドウメッセージを共同して与える。この機能を使用してそれ自身をSI
Pの変化に応じて適切に調節するアプリケーション29を、「SIPアウェア」
と見なす。適切であるとき、その他のアプリケーションがSIPアウェアである
こともあるが、なお、それらの元のサイズを維持することを選択する(したがっ
て、SIPウィンドウ50に部分的に隠される)。さらに、以下にも述べるよう
に、アプリケーションがプログラム的にSIPの状態を改変することを可能にす
る関数も与えられる。
【0038】 しかし、アプリケーション29は、本発明から利益を得るために、SIPシス
テムを自覚している必要はない。本発明の一態様では、それによって受け取られ
たデータが、ハードウェア入力装置、例えばキーボード36などから発したもの
か、あるいはソフト入力パネルウィンドウ50内のユーザ動作(例えば画面32
および検出回路33によって検出された接触またはそれに近いこと)によるもの
かをアプリケーションが通常は認識しないものである。これは、アプリケーショ
ンがSIPアウェアであるかどうかにかかわらず、適切であるほぼどんな入力方
式でもアプリケーションが動作することを可能にする。
【0039】 SIPマネージャ58によってインストールされる入力方式64の動作を助け
る機構の説明に移るが、SIPアウェアのアプリケーション29は、いつSIP
ウィンドウ50が状態を変更し、新しい現在のSIPウィンドウ50がどんな状
態であるかを通知される。状態には、SIPウィンドウ50の状況が可視か隠さ
れているかについてと、SIPウィンドウ50がドッキング状態か浮動状態かに
ついてと、SIPウィンドウ50のサイズおよび位置が含まれる。下の表に示す
ように、データ構造体(SIPINFO)はこのSIP情報を含む。
【0040】
【数1】
【0041】 cbSizeフィールドはアプリケーションプログラム29によって埋められ
、SIPINFO構造体のサイズを示す。このフィールドは将来の拡張を可能に
するが、過去の側への互換性もなお維持し、SIPINFO構造体のサイズはま
さに、システムのコンポーネントにバージョンを示すのに使用することができる
。fdwFlagsフィールドはSIPウィンドウ50の状態情報を表し、3つ
のフラグの組合せとすることができる。設定されるSIPF_ONフラグは、S
IPウィンドウ50が可視である(すなわち隠されていない)ことを示し、設定
されるSIPF_DOCフラグは、SIPウィンドウ50がドッキングされてい
る(すなわち浮動でない)ことを示す。設定されるSIPF_LOCKEDフラ
グは、SIPウィンドウ50がロックされている、すなわちユーザがその可視状
態または隠された状態を変更できないことを示す。所与の実施形態は浮動のまた
はロックされたSIPウィンドウを許容しないこともあるが、システム内にその
能力があることに留意されたい。
【0042】 rcVisibleDesktopフィールドは画面座標中の方形を含み、S
IPウィンドウ50で隠されていない画面デスクトップ68の領域を表す。SI
Pウィンドウ50が浮動する(ドッキングされていない)場合、この方形はユー
ザ作業領域に相当する。SIPウィンドウ50のサイズ変更に応じようとする全
画面(full−screen)アプリケーションは一般に、それらのウィンド
ウ方形データ構造体(「rect」)の値をRECTデータ構造体の値に設定す
ることができる。SIPウィンドウ50がドッキングされており、縁部(上、下
、左、または右)の全体を占めない場合、この方形は、SIPウィンドウ50で
隠されない最大の方形を表す。しかし、システムは、RECTデータ構造体に含
まれない、使用可能なデスクトップ空間68を提供することもできる。
【0043】 次に、rcSipRectフィールドは画面座標中の方形を含み、SIPウィ
ンドウ50のサイズおよび位置を表す。アプリケーション29は、それが浮動す
るSIPウィンドウ50または縁部全体を占めないドッキングされたSIPウィ
ンドウ50にラップアラウンドすることを必要としない限り、通常はこの情報を
使用しない。
【0044】 dwImDataSizeフィールドは、次のフィールドであるPvImDa
taメンバ、すなわち入力方式特有のデータへのポインタによって示されるデー
タのサイズを含む。データは入力方式64によって定義される。
【0045】 SIPウィンドウ50の状態が変化するとき、すなわち新しい入力方式が選択
されたとき、かつ/あるいは可視性、ドッキング、またはサイズの変化が起こっ
たときは、図8のステップ800に概略的に表すように、全ての上部レベルにあ
るウィンドウにメッセージWM_SETTINGCHANGEが送られる。この
ようにして、アプリケーション29は、メッセージに応答してそのサイズを調節
するなどにより、それ自身を新しい状態のSIPウィンドウ50に対して調節す
ることができる。このために、このメッセージと共に、いつSIP情報が変更し
たかを示すためのフラグSPI_SETSIPINFOが送信され、いつ現在の
入力方式が変更したかを示すために別のフラグSPI_SETCURRENTI
Mが送信される。図8のステップ802で示すように、メッセージがSIPに関
係するものか、それとも別のタイプの設定変更メッセージか(その場合はステッ
プ804で扱われる)を判定するためにフラグが検査される。SIPに関係する
場合は、パフォーマンスの理由から、前景にある現在アクティブでないアプリケ
ーションは、これらのSIPの変更をキャッシュする(ステップ806〜808
)。アプリケーションのウィンドウがアクティブである場合、アプリケーション
はそのサイズおよび/またはウィンドウを調節することができる(ステップ81
0〜812)。例えば図5および6に示すように、図7のSIPウィンドウ50
が隠れており、アクティブなアプリケーション29が通知を受けると、アプリケ
ーション29は、追加デスクトップ空間68を使用してアナログ時計の文字盤な
どの情報をさらに表示することができる。アクティブでないときにSIPの変更
をキャッシュされたアプリケーション29は、アクティブにされたときに現在の
SIPの状態を照会し、続いて、返された情報に従って適切な仕方でそれ自身を
調節することができることに留意されたい。
【0046】 SIPマネージャ58に照会するために、もう1つの関数、SHSipInf
oが提供され、それによって、アプリケーション29はSIPウィンドウ50お
よび入力方式64に関する情報を決定することができる。一般に、この関数が成
功すれば返り値はゼロ以外の数値となり、この関数が失敗すれば返り値はゼロに
等しくなって、GetLastError()呼出しを介してさらに詳しいエラ
ー情報が入手できることになる。
【0047】 次の表にこの呼出しの構造体を述べる。
【0048】
【数2】
【0049】 uiActionパラメータには、SIP_SETSIPINFO、SPI_
GETSIPINFO、SPI_SETCURRENTIM、およびSPI_G
ETCURRENTIMが含まれる。SIP_SETSIPINFOは、pvP
aramがSIPINFO構造体を指すことを示す(以下に述べる)。cbSi
ze、dwImDataSize、およびpvImDataSizeは、SHS
ipInfo関数の呼出し前に埋められる。この呼出しに応答して、SIPIN
FO構造体は、現在のSIPのサイズ、状態、および可視デスクトップ方形で埋
められる。dWImDataSizeとpvImDataが両方ともゼロ以外で
ある場合、データサイズおよびポインタは入力方式64に送られる。入力方式6
4が呼び出されても入力方式特有のデータを提供しない場合、あるいは渡された
データの形式またはサイズが入力方式64によって認識される形式でない場合、
SHSipInfo関数の呼出しは失敗する(ゼロを返す)。サイズまたは形式
が入力方式64にサポートされる場合、入力方式64は、pvImDataによ
って指されたバッファを入力方式特有のデータで埋める。通常、アプリケーショ
ン29はpvImDataSizeをゼロに、pvImDataをNULLに設
定する。
【0050】 SPI_SETSIPINFOのuiActionは、pvParamがSI
PINFO構造体を指すことを示す。SIPウィンドウ50のサイズおよび状態
は、SIPINFO構造体に指定された値に設定される。SIPの値を変更する
前に、アプリケーション29は、まずSPI_GETSIPINFOでSHSi
pInfoを呼び出すことによって現在のSIPの状態を得なければならず、次
いで、SPI_SETSIPINFOの呼出しをする前に変更することを所望す
る具体的なSIPの状態の値をいずれでも変更することになる。構造体中でcb
SizeフィールドはSIPのサイズに設定され、pvImDataSizeと
pvImDataが両方ともゼロでない場合、データサイズおよびポインタは入
力方式64に送られる。SHSipInfoの呼出しは、入力方式64が呼び出
されても入力方式特有のデータの設定を許容しない場合、あるいは、渡されたデ
ータの形式またはサイズがそれによって認識されない形式である場合には、失敗
する。サイズおよび形式が入力方式64にサポートされる場合、入力方式64は
データを使用して、入力方式特有の情報を設定する。通常、アプリケーションは
、pvImDataSizeをゼロに、pvImDataをNULLに設定する
【0051】 SPI_SETCURRENTIMは、pvParamが、SIPがそれに切
り替わる入力方式64のCLSIDを指定するCLSID構造体を指すことを示
す。CLSIDが有効でない場合、または指定された入力方式64がロードでき
ない場合、呼出しは失敗し(ゼロに等しい値を返し)、デフォルトの入力方式6
4(例えばクワーティのようなキーボード66)がロードされる。
【0052】 最後に、SPI_GETCURRENTIMのuiActionは、pvPa
ramが、現在選択されている入力方式64のCLSIDを受け取るCLSID
構造体を指すことを示す。
【0053】 Iインプットメソッドインタフェース Iインプットメソッドは、入力方式64コンポーネントによって実装されるイ
ンタフェースである。SIPマネージャ58はこのインタフェースのメソッドを
呼び出して、入力方式64に状態変更を通知し、入力方式64に動作および情報
を要求する。一般に、呼び出された方法が成功すれば成功が返され、逆に、方法
が失敗すれば失敗の結果が返される。次の表に、このIインプットメソッドイン
タフェースで使用できるメソッド呼出しを述べる。
【0054】
【数3】
【0055】 入力方式64は通常、SIPウィンドウ50の空間をレンダリングするかまた
はユーザ動作に応答する前に、Select()、GetInfo()、Rec
eiveSipInfo()、およびRegister Callback()
メソッド呼出しを順々に受け取ることになる。SIPウィンドウ50が表示され
ると(すなわち開かれると)Showing()がSIPマネージャ58によっ
て呼び出され、その後、入力方式64は、WM_PAINTメッセージを発行し
てSIPウィンドウ50をレンダリングすることになる。
【0056】 Select()メソッドは、入力方式64がSIPの中に選択されたときに
呼び出される。入力方式64は一般に、この呼出しに応答して、いずれかの所望
の初期設定を行う。入力方式は、この呼出しに応答して、SIPウィンドウ50
のクライアント領域全体を描くのを担当し、したがって通常、そのウィンドウお
よび画像リスト(表示可能なビットマップ、例えばアイコンなどを集めたもの)
を生成する。例えば、SIPウィンドウ50のウィンドウハンドルが、このSe
lect()メソッド呼出しに付随するパラメータとして入力方式64に提供さ
れ、入力方式は通常、SIPウィンドウ50の子ウィンドウを作り出す。入力方
式64にはまた、メソッド呼出しが成功である場合にゼロ以外に設定され、成功
でない場合にゼロに設定される値へのポインタも入力方式64から提供される。
【0057】 Deselect()メソッドは、入力方式64がSIPの外に選択されたと
きに呼び出される。入力方式のウィンドウは、この呼出しに応答して抹消されな
ければならず、入力方式64は通常、この時に他のクリーンアップがあればそれ
も行う。
【0058】 Showing()メソッドは、呼出しから返されるとSIPウィンドウ50
が示されるようにする。SIPウィンドウ50はこの呼出しの前には見えず、S
IPウィンドウ50が示されると、このウィンドウおよびその子ウィンドウはペ
イントメッセージを受け取ることに留意されたい。反対に、Hiding()メ
ソッドは、呼出しから返されるとSIPウィンドウ50を隠す。したがって、S
howing()メソッドおよびHiding()メソッドは、SIPウィンド
ウ50をその開いた状態と閉じた状態の間で切り替えるのに使用される。
【0059】 GetInfo()メソッドは、システムが入力方式64に関する情報を要求
しているときに呼び出される。要求される情報には、入力方式64のいずれかの
特別な属性を示すフラグ、入力方式64がアクティブのときにSIPボタン52
上に表示される、マスキングされたビットマップを含む2つの画像リストのハン
ドル、指定された画像リストに対するインデックス、および入力方式64の好ま
しいサイズおよび配置を示す方形が含まれる。呼出しは、入力方式64が適切な
データで埋めるべきデータ構造体(IMINFO)に対するポインタであるパラ
メータpimiを含む。呼出しはまた、入力方式がゼロ以外を設定して成功を、
ゼロを設定して失敗を示すべき値にポインタを与える。より具体的に、IMIN
FOデータ構造体を次の表に表す。
【0060】
【数4】
【0061】 cbSizeフィールドはIMINFO構造体のサイズを含み、GetInf
o()呼出しを呼び出す前にSIPマネージャ58によって埋められる。hIm
ageNarrowフィールドは、入力方式64に対する狭い(16×16)マ
スキングされたビットマップを含む画像リストへのハンドルである。同様に、h
ImageWideは広い(32×16)マスキングされたビットマップを含む
画像リストへのハンドルである。SIPマネージャ58は、現在選択されている
入力方式64を示すために、ビットマップのうちの1つを(例えばタスクバー5
6上に)表示する。SIPマネージャ58は、16×16または32×16のビ
ットマップを、そのビットマップをどのような表示が所望であるかに応じて何回
も使用することができることに留意されたい。
【0062】 iNarrowフィールドはhImageNarrow画像リストへのインデ
ックスであり、いくつかの可能なビットマップのどのビットマップがその(狭い
)画像リストから現在表示されるべきかを示す。同様に、iWideフィールド
はhImageWide画像リストへのインデックスであり、どのビットマップ
がその(広い)画像リストから現在表示されるべきかを示す。入力方式64は、
IIMコールバック::Setimagesを呼び出すことによって、SIPタ
スクバーボタン52中に表示されるビットマップの変更を開始することができる
ことに留意されたい(以下に述べる)。
【0063】 fdwFlagsフィールドは、入力方式64の、可視、ドッキング、および
ロック状態(SIPF_ON、SIPF_DOCKED、SIPF_LOCKE
D)、ならびに未来に定義される可能性のあるいずれかの特別な入力方式フラグ
を示す。SIP状態フラグはGetInfo()メソッドの場合には無視される
が、SetImInfoコールバックメソッド中では、以下に述べるように使用
されることに留意されたい。
【0064】 最後に、rcSipRectフィールドは、SIP方形のサイズおよび配置を
記述する。GetInfo()から返されたサイジングおよび配置の情報は、最
初のデフォルトのサイズおよび配置を決定するときにSIPが使用できる。使用
されるときは、SetImInfoコールバックメソッド(以下に述べる)が、
SIPウィンドウ50の新しいサイズおよび配置を指定する。
【0065】 ReceiveSipInfo()メソッドは、SIPウィンドウの現在のサ
イズ、配置、およびドッキング状態を含めた、SIPウィンドウに関する情報を
入力方式64に提供する。この呼出しは、ユーザ、アプリケーション29、また
は入力方式64がSIPの状態を変更するときにはいつでも行われる。SIPマ
ネージャ58が入力方式の初期設定中にこの情報を送るとき、SIPマネージャ
58は、入力方式64にデフォルトのSIP設定を通知する。入力方式64はこ
れらのデフォルトを無視することを選択することもできるが、所与の値は、ユー
ザが選択した値か、あるいはそのプラットフォームに対して予想されたかまたは
受諾されたSIP値として推奨された値のいずれかである。この情報を含むSI
PINFO構造体へのポインタが、この呼出しと共に渡される。
【0066】 RegisterCallbackメソッドは、入力方式64にコールバック
インタフェースポインタを渡すためにSIPマネージャ58によって提供される
。言い換えれば、RegisterCallbackメソッド呼出しは、IIM
コールバックインタフェースポインタをパラメータとして入力方式64に渡し、
それにより、入力方式64は、このインタフェース上のメソッドを呼び出して、
以下に述べるようにSIPマネージャ58に情報を送り返すことができる。入力
方式64はコールバックインタフェースポインタを使用して、SIPマネージャ
58を介してキーストロークをアプリケーション29に送り、そのSIPタスク
バーボタンのアイコン52を変更する。
【0067】 GetImData()メソッドは、アプリケーションプログラム29がSI
PにSIPINFOデータ構造体を要求し、SIPINFO構造体のpvImD
ataのメンバにNULL以外のポインタを提供したときに呼び出される。アプ
リケーション29は通常、何らかの特別な情報を入力方式64に要求するときに
この呼出しが行われるようにする。2つのパラメータがこの呼出しと共に渡され
るが、これらは、dwsizeすなわちpvImDataによって指されるバッ
ファのサイズ、およびpvImDataすなわちアプリケーション29中のデー
タのブロックへのボイド(void)ポインタである。
【0068】 この呼出しに伴い、アプリケーション29は、入力方式64がブロックを情報
で埋めることを本質的に要求し、この場合、データのサイズおよび形式は入力方
式64によって定義される。この呼出しは、拡張機能または情報をアプリケーシ
ョンに提供することを所望する入力方式64を対象とする。一例として、SIP
アウェアのアプリケーションは、文字がSIPによって入力されたか、それとも
他の何らかの手段によって入力されたかを知ることを所望する。そのため、入力
方式64は、ブロックを埋めることによってアプリケーションの要求に応じるこ
とができる。
【0069】 SetImData()メソッドは、アプリケーション29がSIPINFO
構造体を設定し、SIPINFO構造体のpvImDataのメンバにNULL
以外のポインタを提供したときに呼び出される。アプリケーション29は通常、
何らかのデータをその中に設定するように入力方式64に要求するときにこの呼
出しが行われるようにする。この呼出しと共に渡されるパラメータは、dwsi
zeすなわちpvImDataによって指されるバッファのサイズ、およびpv
ImDataすなわちアプリケーション64中のデータのブロックへのボイドポ
インタを含む。
【0070】 IIMコールバックインタフェース 入力方式64は、IIMコールバックインタフェースを使用して、SIPマネ
ージャ58中のメソッドを呼び出すか、現在のアプリケーションにキーストロー
クを主として送るか、またはタスクバー56がSIPボタン52中に表示しよう
とするアイコンを変更する。入力方式64は通常、Iインプットメソッドのメソ
ッド呼出しを通して受け取られたそれへの呼出しに応答してのみ、IIMコール
バックメソッドを呼び出す。概して言えば、関数が成功すれば、返り値は成功の
HRESULTとなり、逆に、関数が失敗すれば、返り値は失敗のHRESUL
Tとなる。
【0071】 次の表は、IIMコールバックインタフェースを表す。
【0072】
【数5】
【0073】 第1のコールバック、SetImInfo()は、SIPタスクバーボタン5
2上に示された、現在のSIPを表すビットマップを変更するため、あるいはS
IPウィンドウ50の、可視の/隠された状態を変更するために、入力方式64
によって呼び出される。これはまた、入力方式64がSIPウィンドウ50のサ
イズ、配置、およびドッキング状態を変更したときに、通知として入力方式64
からSIPマネージャ58に送られる。この機構により、様々な入力方式64は
SIPマネージャ58にこれらのタイプの変更を知らせることができ、それによ
ってこの2つは同期を維持することができる。一例として、入力方式64は、ユ
ーザがドッキング状態と浮動状態の間、あるいは1つまたは複数のサブパネル(
例えば、数字に切り替えるためのボタン付きのキーボード、および/あるいは記
号パネルまたは国際記号パネル)間で切り替えることを可能にするユーザインタ
フェース要素を備えたい場合がある。入力方式64はこの呼出しを使用して、S
IPマネージャ58に状態の各変更を知らせる。
【0074】 本発明に必要なのではないが、IMINFO構造体中で渡されるすべての値は
、SIPマネージャ58によって使用される。したがって、入力方式64は最初
に、前述の先行するReceiveSipInfo()メソッド呼出しを介して
受け取られるSIPINFO構造体中でSIPマネージャ58から提供されたS
IPウィンドウ50の現在の状態を決定しなければならない。次いで、入力方式
64は、変更を望まれている設定だけを変更し、値の完全なセットをIMINF
O構造体中で返さなければならない。SIPウィンドウ50ならびに所望の入力
方式64の画像のサイズ、配置、および状態を含めた新しい入力方式64の設定
を表すIMINFO構造体へのポインタとして、pimiパラメータが送られる
【0075】 SetImInfo()呼出しに応答して、SIPマネージャ58は、IMI
NFO構造体のfdwFlagsで指定されたようにSIPウィンドウ50を表
示する、あるいは隠すことになる。しかし、SIPマネージャ58は、SIPウ
ィンドウ50のサイズ変更または移動は要求されても行わないが、その代わりに
、照会されたときに、アプリケーション29に返されるサイズおよび配置の情報
を更新することになる。指定された値が現在のSIPの状態からの変更を表す場
合、SIPマネージャ58は、SIPの状態が変わったことを、前述のWM_S
ETTINGSHANGEを介してアプリケーション29に通知することになる
【0076】 SendVirtualKey()コールバックは、仮想キー、例えばタッチ
スクリーン表示装置32または他の入力方式64を介して入力される文字などに
対するキーストロークをシミュレートするために、入力方式64によって使用さ
れる。キーイベントは、現在フォーカスを有するウィンドウ(すなわち、外部キ
ーボード上でキーが押されればキーボード入力を受け取ったであろうウィンドウ
)に送られることになる。SendVirtualKeyコールバックは、送ら
れる仮想キーに対する大域的キー状態を修正し、それにより、例えば入力方式6
4は、この関数を使用してSHIFT、CONTROL、ALTキーアップおよ
びキーダウンのイベントを送ることができ、これらはアプリケーション29がG
etKeyState()APIを呼び出すときに正しく取り出されることにな
る。SendVirtualKeyコールバックは、文字に関連のない仮想キー
イベント(すなわち、TranslateMessageの結果としてWM_C
HARが送られないキー)を送るのに使用されるべきである。WM_CHAR、
TranslateMessage、およびキーに関係する他のメッセージは、
参照文献「Programming Windows 95」、Charles Petzold、supraに述べられていることに留意されたい。文字を生
成する仮想キーがこの関数を介して送られる場合、これらは大域的キー状態によ
って修正されることになる。例えば、シフト状態がダウンのときに送られた仮想
キーVK_5は、ある種のキーボード配列の場合に‘%‘WM_CHARメッセ
ージとなる。
【0077】 このコールバックと共に送られるパラメータには、シミュレートするキーの仮
想キーコードであるbVk、およびdwFlagsが含まれる。dwFlags
は、SIPKEY_KEYUPフラグ(WM_KEYUPかWM_KEYDOW
Nのいずれかを生成するのに使用される)、SIPKEY_SILENTフラグ
(装置でクリックが可能とされている場合でもキープレスがキーボードクリック
とならない)、またはゼロの組合せとすることができる。
【0078】 SendCharEventコールバックは、入力方式64がフォーカスのあ
るウィンドウにユニコード文字を送ることを可能にし、また、アプリケーション
29がどんなWM_KEYDOWNおよびWM_KEYUPメッセージを受け取
るべきかを決定する。これは、入力方式64がどんな仮想キーをもいずれかの文
字およびキー状態に関連付けることができるため、入力方式64がそれ自体のキ
ーボード配列を決定することを可能にする。したがって、本発明の一態様によれ
ば、アプリケーション29には、キーがあたかもキーボードから送られたように
見える(すなわち、それらはWM_KEYDOWN、WM_CHAR、およびW
M_KEYUPメッセージを得る)。したがって、SendVirtualKe
y()関数とは異なり、この関数は大域的キー状態に影響しない。一例として、
入力方式64は、SendCharEventコールバックによって、シフトさ
れた(仮想キー)VK_Cが実際にはユニコード文字0×5564を送ったと決
定することができる。送られる第1の文字に関連付けられるシフト状態フラグ(
以下に述べるpuShiftパラメータで指定される)は、WM_KEYDOW
NかWM_KEYUPのいずれが生成されるかを判定する。
【0079】 パラメータには、この関数の結果として生成されるWM_KEYUPまたはW
M_KEYDOWNのメッセージ中で送られる仮想キーコードであるuVkと、
この呼出しの結果としてアプリケーション29によって受け取られるWM_CH
AR、WM_KEYUP、またはWM_KEYDOWNのメッセージ中で受け取
られるlKEYDataパラメータに変換されるKEY状態フラグのセットであ
るuKeyFlagsとが含まれる。KeyStateDownFlag、Ke
yStatePrevDownFlag、およびKeyStateAnyAlt
Flagキー状態フラグだけが、結果として得られるlKeyDataパラメー
タに変換される。uCharsパラメータは、このキーイベントに対応する文字
数を表し、puShiftパラメータは、送られる各文字に対応するKEY_S
TATE_FLAGSを含むバッファへのポインタである。KeyStateD
ownFlagビットが送られると、この関数は、WM_KEYDOWNメッセ
ージを生成し、そうでない場合は、WM_KEYUPメッセージを生成する。最
後に、puCharsパラメータは、送られる文字を含むバッファへのポインタ
である。
【0080】 入力方式64は、SendStringコールバックを使用して、現在フォー
カスのあるウィンドウにストリング全体を送信することができ、それにより、一
連のWM_CHARメッセージはアプリケーション29に記入される。入力方式
64は通常、単語または文の全体が入力されたと決定した後でこのコールバック
を使用する。例えば、手書きレコグナイザ(recognizer)または音声
レコグナイザ入力方式64は、単語または文の全体が入力されたことを認識した
後でSendStringコールバックを使用することになる。
【0081】 SendStringコールバックのパラメータには、送るストリングを含む
ストリングバッファへのポインタであるptszStrと、送る文字の数である
dwSizeとが含まれる。この数には、送られないヌルターミネータ(nul
l−terminator)は含まれない。
【0082】 前述の詳細な記述から分かるように、ユーザデータをコンピュータシステムに
入力するための改良型の方法システムが提供される。この方法およびシステムは
両方とも、効率的かつフレキシブルであり、タッチセンシティブ入力機構で機能
する。このシステムおよび方法によって、複数のアプリケーションが共通の入力
方式からユーザ入力を受け取ることができるが、交換可能な入力方式を、それら
のセットの中から各アプリケーション用に選択することもできる。この方法およ
びシステムは費用効果が高く、信頼性および拡張性があり、実施が容易である。
【0083】 本発明は様々な修正および代替構成が可能だが、その例示的なある実施形態を
、図面中で示し、以上に詳細に述べた。しかし本発明は、開示した特有の形式に
限定されるものではなく、逆に、本発明の趣旨および範囲を逸脱しない限りすべ
ての修正、代替構成、および等価物をカバーするものである。
【図面の簡単な説明】
【図1】 本発明を組み込むことのできるコンピュータシステムを表すブロック図である
【図2】 本発明の一態様による、交換可能な入力パネルを実装するための様々なコンポ
ーネントおよびその間の接続を表すブロック図である。
【図3】 本発明の一態様による、ユーザ入力を選択された入力方式から選択されたアプ
リケーションへ至らせる過程を概略的に表す流れ図である。
【図4】 SIP選択状態を概略的に表す状態図である。
【図5】 例示的なコンピューティング装置上にあるタッチセンシティブ表示画面上の表
示を表す図である。
【図6】 本発明による、交換可能な入力パネルの中から選択する能力を備える例示的な
コンピューティング装置上にあるタッチセンシティブ表示画面上の表示を表す図
である。
【図7】 本発明による、入力パネルとしてキーボードが選択されたタッチセンシティブ
表示画面上の表示を表す図である。
【図8】 SIP状況における変更に応答して実行される一般的なステップを表す流れ図
である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブラム ジェフリー アール. アメリカ合衆国 98102 ワシントン州 シアトル イースト ナンバー203 ベル モント アベニュー 231 (72)発明者 パーカー キャサリン エル. アメリカ合衆国 98024 ワシントン州 フォール シティー サウスイースト 41 ストリート 35539 Fターム(参考) 5B020 CC12 FF17 5B087 AA09 AB02 DD02 5E501 AA04 BA05 CB02 CB05 CB15 EA10 EA14 EA21 FA02 FA05 FA06 【要約の続き】 境(60)にメッセージとして通信し、それにより、ア プリケーションプログラム(29)はメッセージを、そ れがあたかもハードウェア入力装置上で生成されたかの ように受け取る。

Claims (46)

    【特許請求の範囲】
  1. 【請求項1】 ユーザデータ入力をコンピュータシステムに受け入れるため
    のシステムであって、 オペレーティングシステムと、 ユーザ入力データを前記オペレーティングシステムに渡すためのインタフェー
    スと、 複数の入力方式と、 前記入力方式のうちの1つを選択された入力方式として選択するための手段と
    、 前記選択された入力方式を介してユーザデータ入力を受け取るための手段と、 前記受け取ったユーザデータに関する情報を前記インタフェースに渡すための
    通信機構とを具え、前記インタフェースは前記情報を前記オペレーティングシス
    テムに渡すことを特徴とするシステム。
  2. 【請求項2】 請求項1に記載のシステムにおいて、前記オペレーティング
    システムはグラフィカルウィンドウ機能環境を具え、さらに、タッチセンシティ
    ブ表示画面上の入力パネルウィンドウを具え、前記入力方式は、入力パネルと、
    前記入力パネルを前記入力パネルウィンドウ内に描くための手段とを含むことを
    特徴とするシステム。
  3. 【請求項3】 請求項2に記載のシステムにおいて、前記入力パネルは、複
    数のキーをその上に有するキーボードを表す画像を含み、前記選択された入力パ
    ネルを介してユーザデータ入力を受け取るための前記手段は、前記キーボードの
    前記キーに対応する画面位置でのユーザ動作を検出するための手段を含むことを
    特徴とするシステム。
  4. 【請求項4】 請求項2に記載のシステムにおいて、前記入力パネルウィン
    ドウの表示を選択的に表示したり隠したりするための手段をさらに具えたことを
    特徴とするシステム。
  5. 【請求項5】 請求項2に記載のシステムにおいて、前記入力パネルとの対
    話は前記入力パネルウィンドウにフォーカスを受けさせないことを特徴とするシ
    ステム。
  6. 【請求項6】 請求項1に記載のシステムにおいて、タッチセンシティブ表
    示画面をさらに具え、前記選択された入力方式を選択するための前記手段は、前
    記タッチセンシティブ表示画面とのユーザ対話を検出するための手段を含むこと
    を特徴とするシステム。
  7. 【請求項7】 請求項1に記載のシステムにおいて、前記オペレーションシ
    ステムのもとで稼動するアプリケーションプログラムをさらに具え、前記入力方
    式を選択するための前記手段は、前記アプリケーションプログラムから前記イン
    タフェースに情報を転送するための手段を含むことを特徴とするシステム。
  8. 【請求項8】 請求項1に記載のシステムにおいて、前記通信機構は、前記
    インタフェースによって実行される関数を呼び出すための前記入力方式中の手段
    と、前記入力方式によって実行される関数を呼び出すための前記インタフェース
    中の手段とを含むことを特徴とするシステム。
  9. 【請求項9】 請求項1に記載のシステムにおいて、前記入力方式はCOM
    オブジェクトを具え、前記通信機構は、前記インタフェース中のメソッドを呼び
    出すための手段を含むことを特徴とするシステム。
  10. 【請求項10】 請求項1に記載のシステムにおいて、前記オペレーティン
    グシステムはグラフィカルウィンドウ機能環境を具え、さらに、タッチセンシテ
    ィブ表示画面上の入力パネルウィンドウを具え、前記入力方式は、入力パネルと
    、前記入力パネルを前記入力パネルウィンドウ内に描くための手段とを含み、前
    記インタフェースは、前記入力パネルウィンドウの状態に対応する状態情報を、
    前記通信機構を介して前記入力方式に渡すための手段を含むことを特徴とするシ
    ステム。
  11. 【請求項11】 請求項10に記載のシステムにおいて、前記入力パネルウ
    ィンドウの表示を選択的に表示したり隠したりするための手段をさらに含み、前
    記状態情報は、前記ウィンドウの表示された状況または隠された状況を示すフラ
    グを含むことを特徴とするシステム。
  12. 【請求項12】 請求項10に記載のシステムにおいて、前記状態情報は、
    前記ウィンドウのドッキング状況または浮動状況を示すフラグを含むことを特徴
    とするシステム。
  13. 【請求項13】 請求項10に記載のシステムにおいて、前記状態情報は、
    前記ウィンドウのサイズまたは配置を含むことを特徴とするシステム。
  14. 【請求項14】 請求項10に記載のシステムにおいて、前記入力方式は複
    数のビットマップを含み、前記入力方式は、前記通信機構を介して前記インタフ
    ェースに、前記ビットマップのうちの選択された1つに対応する情報を渡すため
    の手段を含むことを特徴とするシステム。
  15. 【請求項15】 請求項14に記載のシステムにおいて、前記インタフェー
    スは、前記ビットマップをアイコンとして前記表示画面上に表示するための手段
    を含むことを特徴とするシステム。
  16. 【請求項16】 ウィンドウズベースのアプリケーションを稼動させるため
    のグラフィカルウィンドウ機能環境を有するコンピュータシステムにおいて、ユ
    ーザ入力を前記システムに受け入れる方法であって、 ユーザ入力を前記グラフィカルウィンドウ機能環境に渡すためのインタフェー
    スを提供するステップと、 複数の使用可能な入力方式から入力方式を選択するステップと、 通信するための前記インタフェースに接続することによって前記選択された入
    力方式をインストールするステップと、 前記入力方式を介してユーザ入力データを受け取るステップと、 前記ユーザ入力データを表す情報を前記インタフェースに通信するステップと
    、 前記情報を前記インタフェースから前記グラフィカルウィンドウ機能環境に渡
    すステップと を具えたことを特徴とする方法。
  17. 【請求項17】 請求項16に記載のシステムにおいて、表示画面上に入力
    パネルウィンドウを提供するステップと、前記入力パネルウィンドウ内に入力パ
    ネルを描くステップとをさらに具えたことを特徴とするシステム。
  18. 【請求項18】 請求項17に記載の方法において、前記表示画面がタッチ
    センシティブ入力装置であり、前記選択された入力方式を選択する前記ステップ
    は、画面位置にアイコンを表示するステップと、前記アイコン位置でのユーザイ
    ベントを検出するステップとを含むことを特徴とする方法。
  19. 【請求項19】 請求項17に記載の方法において、前記入力パネルウィン
    ドウの表示状態と隠された状態との間で切り替えるステップをさらに具えたこと
    を特徴とする方法。
  20. 【請求項20】 請求項19に記載の方法において、前記入力パネルウィン
    ドウの表示状態または隠された状態に対応する状態情報を前記入力方式に渡すス
    テップをさらに具えたことを特徴とする方法。
  21. 【請求項21】 請求項17に記載の方法において、前記入力パネルウィン
    ドウのサイズまたは配置を調節するステップと、前記入力パネルウィンドウのサ
    イズまたは配置に対応する状態情報を前記入力方式に渡すステップとをさらに具
    えたことを特徴とする方法。
  22. 【請求項22】 請求項17に記載の方法において、前記入力パネルウィン
    ドウのドッキング状態と浮動状態との間で切り替えるステップをさらに具え、前
    記入力パネルウィンドウのドッキング状態または浮動状態に対応する状態情報を
    前記入力方式に渡すステップをさらに具えたことを特徴とする方法。
  23. 【請求項23】 請求項16に記載の方法において、前記入力方式に入力さ
    れたデータを処理して、前記データをキーストローク情報に変換するステップを
    さらに具えたことを特徴とする方法。
  24. 【請求項24】 請求項16に記載の方法において、前記ユーザ入力データ
    を表す情報を前記インタフェースに通信する前記ステップは、インタフェースの
    少なくとも1つのメソッドを呼び出すステップを含むことを特徴とする方法。
  25. 【請求項25】 請求項16に記載の方法において、前記入力方式が複数の
    ビットマップを含み、前記ビットマップのうちの選択された1つに対応する情報
    を前記入力方式から前記インタフェースに渡すステップをさらに具えたことを特
    徴とする方法。
  26. 【請求項26】 請求項25に記載の方法において、前記選択されたビット
    マップをアイコンとして表示画面上に表示するステップをさらに具えたことを特
    徴とする方法。
  27. 【請求項27】 グラフィカルウィンドウ機能環境を有するコンピュータシ
    ステムにユーザデータ入力を受け入れるためのシステムであって、 画像を表示するため、および該画像へのユーザ接触または接触に近いことを検
    出するためのタッチセンシティブ表示画面と、 前記グラフィカルウィンドウ機能環境に動作可能に接続され、前記画面上に前
    記グラフィカルウィンドウ機能環境によって表示するための入力パネルウィンド
    ウを作り出すための手段を含む管理コンポーネントと、 複数の入力方式と を具え、 各入力方式は、前記管理コンポーネントの関数を呼び出すための通信手段を含
    み、前記入力方式に対応する入力パネルをさらに含み、 前記システムはさらに、前記入力方式のうちの1つを選択された入力方式とし
    て選択するための手段を含み、 前記選択された入力方式は、対応する前記入力パネルを前記入力パネルウィン
    ドウ内に描き、さらに、前記入力パネルを介してユーザデータ入力を受け取るた
    めの手段を含み、 前記通信手段は、前記ユーザデータを前記管理コンポーネントに渡すために前
    記管理コンポーネントの関数を呼び出し、 前記管理コンポーネントが、前記ユーザデータを前記グラフィカルウィンドウ
    機能環境に通信する ことを特徴とするシステム。
  28. 【請求項28】 コンピュータシステムの複数のアプリケーションのうちの
    少なくとも1つにユーザデータ入力を受け入れるためのシステムであって、 管理コンポーネントと、 それぞれがアクティブであるときにユーザデータを受け取るための複数の入力
    方式と を含み、 前記複数の入力方式のうちの1つは、アクティブであり、かつ、ユーザデータ
    を前記管理コンポーネントに渡すために前記管理コンポーネントに動作可能に接
    続され、前記管理コンポーネントは、使用される前記入力方式に依存せず少なく
    とも1つの前記アプリケーションに前記データを渡すことを特徴とするシステム
  29. 【請求項29】 請求項28に記載のシステムにおいて、オペレーティング
    システムをさらに具え、前記管理コンポーネントは前記オペレーティングシステ
    ムを介して前記アプリケーションプログラムに前記データを渡すことを特徴とす
    るシステム。
  30. 【請求項30】 請求項28に記載のシステムにおいて、前記オペレーティ
    ングシステムはグラフィカルウィンドウ機能環境を具え、タッチセンシティブ表
    示画面上の入力パネルウィンドウをさらに具えたことを特徴とするシステム。
  31. 【請求項31】 請求項28に記載のシステムにおいて、前記入力方式は、
    ユーザ入力を、前記アプリケーションに渡すためのユニコード文字に変換するこ
    とを特徴とするシステム。
  32. 【請求項32】 請求項28に記載のシステムにおいて、前記管理コンポー
    ネントは、ユーザ入力を、前記アプリケーションに渡すためのユニコード文字に
    変換することを特徴とするシステム。
  33. 【請求項33】 請求項28に記載のシステムにおいて、前記アプリケーシ
    ョンプログラムから前記管理コンポーネントに情報を渡すための機構を含むこと
    を特徴とするシステム。
  34. 【請求項34】 請求項28に記載のシステムにおいて、前記入力方式がC
    OMオブジェクトを具えたことを特徴とするシステム。
  35. 【請求項35】 請求項30に記載のシステムにおいて、前記入力方式が複
    数のビットマップを含み、前記入力方式は前記管理コンポーネントにビットマッ
    プ情報を通信することを特徴とするシステム。
  36. 【請求項36】 請求項35に記載のシステムにおいて、前記管理コンポー
    ネントが、オペレーティングシステムと通信して、前記ビットマップをアイコン
    として前記表示画面上に表示することを特徴とするシステム。
  37. 【請求項37】 ユーザデータをアプリケーションで使用するためにモバイ
    ルコンピューティング装置に入力する方法であって、 前記モバイルコンピューティング装置上にインストールされた複数の入力方式
    から1つの入力方式を選択するステップと、 前記選択された入力方式を、前記モバイルコンピューティング装置によって表
    示される入力パネルウィンドウ内に呼び出すステップと、 前記選択された入力方式に従って、前記入力パネルウィンドウに入力されたユ
    ーザデータを受諾するステップと を具え、 前記入力されたユーザデータは、前記選択された入力方式にかかわらず前記ア
    プリケーションに供給されることを特徴とする方法。
  38. 【請求項38】 請求項37に記載の方法において、前記モバイルコンピュ
    ーティング装置はタッチセンシティブ表示装置を含み、ユーザデータを受諾する
    前記ステップは前記タッチセンシティブ表示装置とのユーザ対話を検出するステ
    ップを含むことを特徴とする方法。
  39. 【請求項39】 請求項37に記載の方法において、前記入力方式はCOM
    オブジェクトを具え、前記選択された入力方式を呼び出すステップは前記入力方
    式をインスタンス生成するステップを含むことを特徴とする方法。
  40. 【請求項40】 請求項37に記載の方法において、前記入力データをユニ
    コード文字値に変換するステップをさらに具えたことを特徴とする方法。
  41. 【請求項41】 ユーザ入力を、コンピュータシステムの少なくとも1つの
    実行可能アプリケーションで使用するために前記コンピュータシステムに受け入
    れるためのシステムであって、 それぞれが前記コンピュータシステムのユーザからの入力を受諾するためのp
    複数の入力方式と、 前記コンピュータシステム上で現在フォーカスを有する少なくとも1つのアプ
    リケーションと、 少なくとも1つの標準的な入力装置からのユーザ入力を受諾するように設計さ
    れ、フォーカスを有する前記少なくとも1つのアプリケーションに前記ユーザ入
    力を供給するためのコンピュータオペレーティングシステムと、 前記複数の入力方式のうちの少なくとも1つを介して前記入力を前記ユーザか
    ら転送するために前記少なくとも1つの入力方式に動作可能にインタフェースさ
    れて、前記少なくとも1つの標準的な入力装置からの入力に対応し、前記コンピ
    ュータオペレーティングシステムに動作可能にインタフェースされて、前記少な
    くとも1つの入力方式はフォーカスを有する前記少なくとも1つのアプリケーシ
    ョンによって制約されないインタフェースマネージャと を具えたことを特徴とするシステム。
  42. 【請求項42】 請求項41に記載のシステムにおいて、前記アプリケーシ
    ョンのうちのいずれか1つにフォーカスがあるとき、前記アプリケーションに対
    する修正なしに、フォーカスのある前記アプリケーションは、前記オペレーティ
    ングシステムを通して、ユーザからの入力を前記複数の入力方式のうちのいずれ
    かから受け取るように動作可能であるように、前記コンピュータシステム上で実
    行可能な複数のアプリケーションをさらに具えたことを特徴とするシステム。
  43. 【請求項43】 請求項41に記載のシステムにおいて、前記標準的な入力
    装置がハードウェアキーボードを具えたことを特徴とするシステム。
  44. 【請求項44】 コンピュータシステム上で稼動するアプリケーションで使
    用するためのユーザ入力を受け取るためにユーザインタフェースを前記コンピュ
    ータシステム内に提供する方法であって、 前記コンピュータシステムの表示装置上で入力パネルウィンドウを開くステッ
    プと、 前記コンピュータシステムにユーザ入力を供給するために複数の入力方式のう
    ちの1つを選択するステップと、 前記選択された入力方式に対応する入力方式ウィンドウを前記入力パネルウィ
    ンドウ内で開くステップと を含み、 ユーザが、前記選択された入力方式に従って前記入力方式ウィンドウ内で入力
    を提供することを特徴とする方法。
  45. 【請求項45】 請求項44に記載の方法において、前記コンピュータシス
    テムの前記表示装置上に入力パネルボタンを提供するステップをさらに具え、前
    記入力パネルボタンは、前記入力パネルウィンドウの開閉に対応することを特徴
    とする方法。
  46. 【請求項46】 請求項44に記載の方法において、前記コンピュータシス
    テムの前記表示装置上に入力方式ボタンを提供するステップであって、前記入力
    方式ボタンは複数の入力方式の選択可能なリストを表示するように応答するステ
    ップと、 前記複数の入力方式のうちの1つの選択を受け取るステップと、 応答して、選択された入力方式以外の入力方式に対応する入力方式ウィンドウ
    を閉じるステップと、 前記選択された入力方式に対応する入力方式ウィンドウを開くステップと をさらに具えたことを特徴とする方法。
JP2000539403A 1997-12-16 1998-12-16 ソフト入力パネルシステムおよび方法 Expired - Lifetime JP4074431B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99127797A 1997-12-16 1997-12-16
US08/991,277 1997-12-16
PCT/US1998/026683 WO1999031571A1 (en) 1997-12-16 1998-12-16 Soft input panel system and method

Publications (3)

Publication Number Publication Date
JP2002508559A true JP2002508559A (ja) 2002-03-19
JP2002508559A5 JP2002508559A5 (ja) 2006-02-16
JP4074431B2 JP4074431B2 (ja) 2008-04-09

Family

ID=25537054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000539403A Expired - Lifetime JP4074431B2 (ja) 1997-12-16 1998-12-16 ソフト入力パネルシステムおよび方法

Country Status (6)

Country Link
US (2) US6819315B2 (ja)
EP (1) EP1040406B1 (ja)
JP (1) JP4074431B2 (ja)
CA (1) CA2311767C (ja)
DE (1) DE69814155T2 (ja)
WO (1) WO1999031571A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007538295A (ja) * 2003-03-13 2007-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション レガシ・オペレーティグ・システムでユニコード入力を可能にする装置および方法
JP2008090860A (ja) * 2007-11-27 2008-04-17 Kyocera Corp 情報端末装置及び情報端末装置における表示方法
US7715630B2 (en) 2002-05-14 2010-05-11 Mircosoft Corporation Interfacing with ink
JP2012524322A (ja) * 2009-04-17 2012-10-11 インカ インターネット カンパニー リミテッド キーボード入力データの保安システムおよび方法
JP2013516689A (ja) * 2010-01-06 2013-05-13 アップル インコーポレイテッド ソフトボタンを条件付きで使用可能または使用不可にするための装置および方法
US9092132B2 (en) 2011-01-24 2015-07-28 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US9128614B2 (en) 2010-11-05 2015-09-08 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9141285B2 (en) 2010-11-05 2015-09-22 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9436381B2 (en) 2011-01-24 2016-09-06 Apple Inc. Device, method, and graphical user interface for navigating and annotating an electronic document
US9442654B2 (en) 2010-01-06 2016-09-13 Apple Inc. Apparatus and method for conditionally enabling or disabling soft buttons

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999031571A1 (en) * 1997-12-16 1999-06-24 Microsoft Corporation Soft input panel system and method
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7610194B2 (en) 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
WO2000074240A1 (en) * 1999-05-27 2000-12-07 America Online Keyboard system with automatic correction
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7434177B1 (en) * 1999-12-20 2008-10-07 Apple Inc. User interface for providing consolidation and access
CN1197002C (zh) * 2000-02-22 2005-04-13 美商·惠普公司 对热键编程的方法
AU2001269891A1 (en) * 2000-07-07 2002-01-21 Openwave Systems Inc. Graphical user interface features of a browser in a hand-held wireless communication device
US7100121B2 (en) * 2001-02-23 2006-08-29 Ascom Hasler Mailing Systems, Inc. Franking system user interface
US20030193481A1 (en) * 2002-04-12 2003-10-16 Alexander Sokolsky Touch-sensitive input overlay for graphical user interface
US20030210272A1 (en) * 2002-05-09 2003-11-13 Gateway, Inc. System and method for providing a user interface
CA2388150A1 (en) * 2002-05-29 2003-11-29 Ibm Canada Limited-Ibm Canada Limitee Toggleable widget for a user interface
DE10321663A1 (de) * 2003-05-14 2004-12-09 Siemens Ag Bedientafel zur Bedienung von Werkzeug-oder Produktionsmaschinen
US7634720B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
US7406696B2 (en) * 2004-02-24 2008-07-29 Dialogic Corporation System and method for providing user input information to multiple independent, concurrent applications
US7885272B2 (en) * 2004-02-24 2011-02-08 Dialogic Corporation Remote control of device by telephone or other communication devices
US20060070009A1 (en) * 2004-09-27 2006-03-30 Chaucer Chiu Key-controlled multi-level window activating method and interface
US7665031B2 (en) 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US7892096B2 (en) * 2005-02-22 2011-02-22 Wms Gaming Inc. Gaming machine with configurable button panel
US7692635B2 (en) * 2005-02-28 2010-04-06 Sony Corporation User interface with thin display device
JP2006325016A (ja) * 2005-05-19 2006-11-30 Olympus Medical Systems Corp コントローラ
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US7941760B2 (en) * 2006-09-06 2011-05-10 Apple Inc. Soft keyboard display for a portable multifunction device
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US10133317B2 (en) * 2007-04-27 2018-11-20 Hewlett-Packard Development Company, L.P. Computing device with multiple displays
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8237686B2 (en) * 2007-08-07 2012-08-07 Autonetworks Technologies, Ltd. Manipulator
TWI389015B (zh) * 2007-12-31 2013-03-11 Htc Corp 軟體鍵盤之操作方法
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US20090225040A1 (en) * 2008-03-04 2009-09-10 Microsoft Corporation Central resource for variable orientation user interface
TWI484401B (zh) 2008-04-24 2015-05-11 宏達國際電子股份有限公司 電子裝置與自動隱藏鍵盤方法及數位資料儲存媒體
FR2933211B1 (fr) * 2008-06-26 2010-11-26 Airbus France Dispositif d'interaction avec un systeme d'affichage, notamment pour un systeme d'affichage avionique
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
CN101893983A (zh) * 2009-05-22 2010-11-24 深圳富泰宏精密工业有限公司 电子装置及其手写输入的快速删除方法
GB2472999B (en) * 2009-08-25 2013-02-13 Promethean Ltd Interactive whiteboard for private use
US20110260977A1 (en) * 2010-04-23 2011-10-27 Psion Teklogix Inc. Keyboard and computing device for providing a software input panel
CA2797426C (en) * 2010-04-26 2017-03-07 Research In Motion Limited Portable electronic device and method of controlling same
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
CN102314374A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 一种防止目标进程崩溃的输入方法和设备
CA2792243C (en) 2010-09-24 2013-11-12 Qnx Software Systems Limited Alert display on a portable electronic device
EP2434389B1 (en) 2010-09-24 2019-01-23 BlackBerry Limited Portable electronic device and method of controlling same
WO2012037688A1 (en) 2010-09-24 2012-03-29 Research In Motion Limited Transitional view on a portable electronic device
DE102010048809A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg Leistungsversorgungssystem für eine Plasmaanwendung und/oder eine Induktionserwärmungsanwendung
DE102010048810A1 (de) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg System zur Bedienung mehrerer Plasma- und/oder Induktionserwärmungsprozesse
US20120120000A1 (en) * 2010-11-12 2012-05-17 Research In Motion Limited Method of interacting with a portable electronic device
US9594735B2 (en) * 2011-09-12 2017-03-14 Microsoft Technology Licensing, Llc Automatic highlighting of formula parameters for limited display devices
US8333657B1 (en) 2011-09-26 2012-12-18 Igt Gaming system, gaming device and method for displaying multiple concurrent games using dynamic focal points
US20130111391A1 (en) * 2011-11-01 2013-05-02 Microsoft Corporation Adjusting content to avoid occlusion by a virtual input panel
US9002699B2 (en) 2011-11-14 2015-04-07 Microsoft Technology Licensing, Llc Adaptive input language switching
TWI478005B (zh) * 2012-12-19 2015-03-21 Inventec Corp 用於手持式裝置中應用程式的保護系統及其方法
USD735215S1 (en) * 2012-12-31 2015-07-28 Lookout, Inc. Display screen or portion thereof with graphical user interface with interleaved rows of text and reduced error key layout short reach
USD738886S1 (en) * 2012-12-31 2015-09-15 Lookout, Inc. Display screen or portion thereof with graphical user interface with interleaved rows of text and reduced error key layout short reach
USD735238S1 (en) * 2012-12-26 2015-07-28 Lookout, Inc. Display screen with graphical user interface with interleaved rows of text and reduced error key layout short reach
US20140267051A1 (en) * 2013-03-14 2014-09-18 Garmin International, Inc. Hybrid aviation user interface
JP6466351B2 (ja) * 2013-03-15 2019-02-06 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Ecgレビュー及び治療のためのタッチスクリーン・ユーザインタフェースを備えるモニタ除細動器
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9229612B2 (en) 2013-08-27 2016-01-05 Industrial Technology Research Institute Electronic device, controlling method for screen, and program storage medium thereof
CN104063071A (zh) * 2014-07-18 2014-09-24 百度在线网络技术(北京)有限公司 内容输入方法及装置
CN104281385B (zh) * 2014-09-17 2017-03-15 北京搜狗科技发展有限公司 输入法虚拟键盘的调整方法和输入法装置
USD781890S1 (en) * 2014-10-31 2017-03-21 Auto Meter Products, Inc. Display screen or portion thereof with graphical user interface
USD830374S1 (en) * 2016-10-07 2018-10-09 Bred Ventures Inc. Display screen or portion thereof with a graphical user interface
USD846591S1 (en) 2016-10-07 2019-04-23 Bred Ventures Inc. Display screen or portion thereof with a score leaderboard graphical user interface
USD831033S1 (en) * 2016-10-07 2018-10-16 Bred Ventures Inc. Display screen or portion thereof with a graphical user interface
USD857740S1 (en) * 2017-08-22 2019-08-27 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058046A (en) * 1983-01-21 1991-10-15 The Laitram Corporation Cursor selected keyboard keys displayed on the computer screen for entering alphanumeric characters and instructions, particularly for creating computer aided design and drafting patterns
GB8621061D0 (en) * 1986-09-01 1986-10-08 Hewlett Packard Ltd User interface simulation
JPH01191226A (ja) 1988-01-26 1989-08-01 Nec Corp 発話データ表示装置
JPH0322259A (ja) * 1989-03-22 1991-01-30 Seiko Epson Corp 小型データ表示・再生装置
US5252951A (en) 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
USRE34476E (en) 1990-05-14 1993-12-14 Norwood Donald D Hybrid information management system for handwriting and text
EP0464712A3 (en) * 1990-06-28 1993-01-13 Kabushiki Kaisha Toshiba Display/input control system for software keyboard in information processing apparatus having integral display/input device
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5276794A (en) 1990-09-25 1994-01-04 Grid Systems Corporation Pop-up keyboard system for entering handwritten data into computer generated forms
US5128672A (en) 1990-10-30 1992-07-07 Apple Computer, Inc. Dynamic predictive keyboard
US5491495A (en) * 1990-11-13 1996-02-13 Wang Laboratories, Inc. User interface having simulated devices
JPH07117868B2 (ja) 1991-04-30 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション タツチ型作動キーボード定義方法及び装置
US5946406A (en) * 1991-06-17 1999-08-31 Microsoft Corporation Method and system for data entry of handwritten symbols
JPH0520274A (ja) * 1991-07-10 1993-01-29 Canon Inc 電子情報機器
US5345550A (en) * 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5721850A (en) * 1993-01-15 1998-02-24 Quotron Systems, Inc. Method and means for navigating user interfaces which support a plurality of executing applications
US5596702A (en) * 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
JPH06324806A (ja) 1993-05-13 1994-11-25 Fuji Facom Corp 処理装置
US5517578A (en) 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US5528743A (en) 1993-05-27 1996-06-18 Apple Computer, Inc. Method and apparatus for inserting text on a pen-based computer system
JP3546337B2 (ja) 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
JPH0822385A (ja) 1994-02-22 1996-01-23 Nippon Hoso Kyokai <Nhk> 視線対応表示方法及び装置
US5574482A (en) 1994-05-17 1996-11-12 Niemeier; Charles J. Method for data input on a touch-sensitive screen
US6008799A (en) 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
US5760773A (en) * 1995-01-06 1998-06-02 Microsoft Corporation Methods and apparatus for interacting with data objects using action handles
US5838302A (en) 1995-02-24 1998-11-17 Casio Computer Co., Ltd. Data inputting devices for inputting typed and handwritten data in a mixed manner
US5748512A (en) 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
JPH08307954A (ja) 1995-05-12 1996-11-22 Sony Corp 座標入力装置および方法、並びに情報処理装置
JP4245194B2 (ja) 1995-05-30 2009-03-25 株式会社リコー 操作表示装置の制御方法および複合機の操作表示装置
JP3390292B2 (ja) 1995-07-25 2003-03-24 アルプス電気株式会社 座標検出装置
JP3727399B2 (ja) 1996-02-19 2005-12-14 ミサワホーム株式会社 画面表示式キー入力装置
US5818425A (en) 1996-04-03 1998-10-06 Xerox Corporation Mapping drawings generated on small mobile pen based electronic devices onto large displays
US6292857B1 (en) * 1997-06-05 2001-09-18 Microsoft Corporation Method and mechanism for coordinating input of asynchronous data
US6018335A (en) 1997-08-19 2000-01-25 Kdi Precision Products, Inc. Programmable keyboard and method therefor
WO1999031571A1 (en) * 1997-12-16 1999-06-24 Microsoft Corporation Soft input panel system and method
US6031525A (en) 1998-04-01 2000-02-29 New York University Method and apparatus for writing

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715630B2 (en) 2002-05-14 2010-05-11 Mircosoft Corporation Interfacing with ink
JP2007538295A (ja) * 2003-03-13 2007-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション レガシ・オペレーティグ・システムでユニコード入力を可能にする装置および方法
US8181109B2 (en) 2003-03-13 2012-05-15 International Business Machines Corporation Enabling unicode input in legacy operating systems
JP2008090860A (ja) * 2007-11-27 2008-04-17 Kyocera Corp 情報端末装置及び情報端末装置における表示方法
JP2012524322A (ja) * 2009-04-17 2012-10-11 インカ インターネット カンパニー リミテッド キーボード入力データの保安システムおよび方法
JP2013516689A (ja) * 2010-01-06 2013-05-13 アップル インコーポレイテッド ソフトボタンを条件付きで使用可能または使用不可にするための装置および方法
US9442654B2 (en) 2010-01-06 2016-09-13 Apple Inc. Apparatus and method for conditionally enabling or disabling soft buttons
US9146673B2 (en) 2010-11-05 2015-09-29 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9141285B2 (en) 2010-11-05 2015-09-22 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9128614B2 (en) 2010-11-05 2015-09-08 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards
US9436381B2 (en) 2011-01-24 2016-09-06 Apple Inc. Device, method, and graphical user interface for navigating and annotating an electronic document
US9092132B2 (en) 2011-01-24 2015-07-28 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US10042549B2 (en) 2011-01-24 2018-08-07 Apple Inc. Device, method, and graphical user interface with a dynamic gesture disambiguation threshold
US10365819B2 (en) 2011-01-24 2019-07-30 Apple Inc. Device, method, and graphical user interface for displaying a character input user interface

Also Published As

Publication number Publication date
US20020105504A1 (en) 2002-08-08
EP1040406A1 (en) 2000-10-04
WO1999031571A1 (en) 1999-06-24
EP1040406B1 (en) 2003-05-02
US7411582B2 (en) 2008-08-12
CA2311767A1 (en) 1999-06-24
JP4074431B2 (ja) 2008-04-09
CA2311767C (en) 2008-01-29
DE69814155D1 (de) 2003-06-05
US20050088421A1 (en) 2005-04-28
US6819315B2 (en) 2004-11-16
DE69814155T2 (de) 2003-10-23

Similar Documents

Publication Publication Date Title
JP4074431B2 (ja) ソフト入力パネルシステムおよび方法
US6552719B2 (en) System and method for automatically switching between writing and text input modes
US6359572B1 (en) Dynamic keyboard
US20030074647A1 (en) Automatic software input panel selection based on application program state
JP2792597B2 (ja) ソフトキーボードを利用した携帯用情報端末機及び情報入力方法
US5999950A (en) Japanese text input method using a keyboard with only base kana characters
US5694562A (en) Closely integrated key icons in a graphical interface
US7600197B2 (en) Graphical user interface having contextual menus
JP2002055807A (ja) 表示画面を有するデータ処理システム内のアイコンを表示する方法、アイコン・スケーリング・システムおよびコンピュータ可読記憶媒体
US7689924B1 (en) Link annotation for keyboard navigation
US6473006B1 (en) Method and apparatus for zoomed display of characters entered from a telephone keypad
JP2001014079A (ja) アイコンを複数の動作に関連付けることによってコンピュータ・ディスプレイ画面上のスペースを保存できるユーザ・インタフェース、方法、およびコンピュータ・プログラム製品
JPH0580009B2 (ja)
JP2009527041A (ja) コンピューティングシステムにデータを入力するシステム及び方法
WO2005069112A2 (en) Method and apparatus for interfacing with a graphical user interface using a control interface
CA2252302C (en) Keyboard for an electronic writeboard and method
JPH06342416A (ja) 表示画面情報の分散処理のための方法および装置
US6018336A (en) Computer system having digitizing tablet
JP2002538520A (ja) 補助タッチスクリーンlcdパネル
JP3504464B2 (ja) データ入力装置およびその方法
KR100393403B1 (ko) 계산장치용인간/기계인터페이스
KR20000049575A (ko) 마우스를 이용한 키입력 방법 및 장치
US20030184516A1 (en) Information processing unit and method of controlling orientation
JPH10198505A (ja) パーソナルコンピュータ装置
JPH04349526A (ja) 情報端末機

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140201

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

EXPY Cancellation because of completion of term