JPH05508500A - 疑似装置を有するユーザインターフェース - Google Patents

疑似装置を有するユーザインターフェース

Info

Publication number
JPH05508500A
JPH05508500A JP3517489A JP51748991A JPH05508500A JP H05508500 A JPH05508500 A JP H05508500A JP 3517489 A JP3517489 A JP 3517489A JP 51748991 A JP51748991 A JP 51748991A JP H05508500 A JPH05508500 A JP H05508500A
Authority
JP
Japan
Prior art keywords
mouse
data
icon
user
display
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.)
Pending
Application number
JP3517489A
Other languages
English (en)
Inventor
ウォード,ジーン・レナード
バレット,デーヴィッド・エム
マーティン,パトリシア・エイ
モコスキー,クリストファー・ディー
Original Assignee
ウォング・ラボラトリーズ・インコーポレーテッド
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 ウォング・ラボラトリーズ・インコーポレーテッド filed Critical ウォング・ラボラトリーズ・インコーポレーテッド
Publication of JPH05508500A publication Critical patent/JPH05508500A/ja
Pending 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/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
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 疑似装置を有するユーザインターフェース関連出願の参照 本願は、次の出願に関連するものである。
本願と同日付で出願された、マーティンら(Martin et’ al)の「 標準プログラムへのタブレット入力を有するコンピュータ」、本願と同日付で出 願された、パレットら(Barrett et al)の「別個の表示面及びユ ーザインターフェースプロセッサを有するコンピュータ」、及び 1990年11月9日付けで出願された、デビット パレットら(DevidB arrett et al)の「システムクロック速度制御装置」。
これらの出願の最初の2つは、本願と同一開示を基にしたものである。
発明の分野 本発明は、コンピュータシステム用ユーザインターフェースのための動作及びサ ポート設備に関するものである。本発明は、特に、スタイラスがユーザの主要人 力装置であるシステムにおいて有用なものである。
背景 ユーザの要求と種々の実施技術装置の能力との双方に鑑みて、コンピュータ及び 人間がそれらのコンピュータと相互作用する方法は、何度も再設計されている。
このようにする際、現在の技術及び人間の現在の理解にしたがって、各システム の設計を最適化することが望ましい。しかしながら、多くの場合これとは反対に 、新しいシステムにハードウェア及びソフトウェアの双方において既存の構成物 を利用させることができるようにするために、コンピュータシステムの設計を形 作る別の力が必要である。この別のカは、既存の設計に大きな投資をし続けたい とする要望、及び既存のシステムで普及され続ける環境において新しいシステム を使用する要望を含む、種々のソースから生じるものである。
新システムが、アプリケーションプログラム(あるシステムを、多くの場合単に 「アプリケーション」と呼ばれている現実のタスクに適応させるプログラム)、 及びシステムプログラム(アプリケーションプログラムによって用いられるシス テム管理機能及びサービスを提供するプログラム)の双方の、既存のソフトウェ ア構成物を利用することができることは、特に有益である。ある既存のアプリケ ーションが、あるユーザ共同体内では、実際に標準となっているので、新しいシ ステムがこれら標準アプリケーションを実行できることは、特に重要なことであ る。
ユーザ相互作用を与える殆どのソフトウェアは、第一に、キーストロークデータ の形状のユーザ入力に対して設計されている。成長しつつあるソフトウェア本体 (bodyL特にデスクトップシステム用に設計されたソフトウェア本体は、キ ーストロークデータに加えて、マウスからの入力も受け付ける。一般的に、これ らのシステムは、ある機能に対してはキーストロークデータを未だに必要とする 。
コンピュータシステムを人間にとって使いやすくするために、種々のシステムは 、スタイラス型入力装置(典型的にデジタル化タブレット)を備えている。従来 の筆記形態入力と類似しているため、スタイラス型入力装置は、ポインティング 装置の中でも、ポインティング装置として機能することに加えて、文字入力に用 いるのに特に適している。使用時、スタイラス型入力装置は、一般的に、キーボ ードに加えて設けられる。ある場合には、システムは、スタイラス型装置を主ユ ーザ入力装!として用いるよう設計されている。
キーボードは、スタイラス及びデジタル化タブレットとは根本的に異なる特性を 有するものである。キーボードを用いれば、正確な文字識別が簡単にできる。
すなわちユーザが単に対応するキーを押すだけで、アルファベット文字を表すデ ータを発生する。キーボードが、単一動作(すなわちバイナリスイッチの押圧) で1つの文字を作成するために用いることができるので、ユーザへの必要とされ るフィードバックは、聴取可能なりリック音を伴ったその文字を表示することだ けである。対照的に、スタイラスを文字入力に用いることができるが、非常に難 しいユーザへのフィードバックが必要となる。手書き文字は、ユーザ及びコンピ ュータシステムの双方に対して、大幅に複雑なプロセス(ユーザには親しみやす いが)によって、発生されるものである。
キーボードで機能選択を行なうには、非常に広い範囲の代替方法が使われている 。それらの内で、キーボードはポインティング装置としては非常に劣るので、あ る機能即ち操作すべきオブジェクトの可視表現への指示はぎこちない。
マウスもしばしばシステム内で用いられ、ユーザがマウスを用いてスクリーン上 のオブジェクトをドラッグ(drag)できるようになっている。これは、特定 の形式のマウスカーソルまたはポインタの表示を備えることによって達成されて いる。このカーソルは、システムには知られている絶対位置を有しており、シス テムは、マウスの相対的移動に応じてカーソル位置を調整する。このカーソルは マウスの相対移動とオブジェクトのドラッグ動作との間の絶対的仲介物として機 能する。
マウスカーソルを用いるように設計されたプログラムを、表示スクリーン上で直 接動作するスタイラスと共に用いると、ユーザは、スタイラスでカーソルを、即 ち、スタイラスをカーソル上に位置付はカーソルをドラッグすることによって、 直接操作することができると考えるであろう。これは一般に、ユーザをいらいら させるような動作を行なう。即ち、マウスの移動量とカーソルによって移動され る距離との関係は固定されておらず、これはアプリケーションによって変動した り、単一アプリケーション内においても変動するものである(例えば、速度の関 数として変動する場合がある)。その結果、スタイラスがオブジェクト上でスタ ートシても、そのオブジェクトはスタイラスの位置を追跡しないであろう。
スタイラスが用いられるシステムでは、表示にスタイラスを直接用いることがで きることが、ユーザにとって特に有利である。例えば、表示スクリーン上に直接 書くことができ、そして適切な時に、「インク」の軌跡が、表示上のスタイラス の通った経路に現れるので、ユーザには紙の上で書いているのと全く同じように 思われる。
スクリーン上で直接用いられるポインティング型入力装置は、その絶対位置を与 えなければならない(インクが、スクリーン上のスタイラスの位置に現れるよう に)。これは、相対位置を与えるマウスによる入力とは、異なる点である。すな わちマウスを用いると、ユーザは一連の右方向の動作のみを指示するマウスデー タを発生し、しかもマウスの終端をそのスタート位置にあるようにすることがで きる(例えば、マウスを右に移動させ、マウスを持ち上げ、その元の位置の左に マウスを置き、そしてマウスを右に移動させて元の位置に戻す)。このように、 マウス及びスタイラスは「ポインタ型」装置(ロケータ)であるが、それらの特 性は異なっている。
文字コードの入力は、スタイラスを用いて既存の(スタイラスを用いない)プロ グラムを実行させるには、別の種類の障害となる。手書き文字の入力は、ユーザ へのフィードバックを必要とする場合には、複雑過ぎるのである。手書き入力を 考慮していないプログラムは、未だにそのようなフィードバックに対する機能( provision)を有するユーザインターフェースを定義していない。
これらの入力装置の特性における差は、スタイラスを基本としたコンピュータシ ステムで用いる多(の既存のソフトウェアを有効に利用するための大きな障害と なっている。その結果、スタイラスによる入力を用いる場合の殆どは、スタイラ スを備えたシステム用に特に書かれたアプリケーションプログラムに頼っている のが実際である。
本発明にしたがって構築されたシステムは、既存のソフトウェアを実行すること ができ、しかもシステムのユーザがそのようなソフトウェアと相互作用ができる ようにするものである。
発明の概要 本発明によるシステムは、既存のプログラムを対象とするように設計されていな いポインタ型装置(特にスタイラス/タブレット)を用いて、既存のプログラム をユーザが処理できるようにするものである。これは、既存のプログラムの処理 に対して論理的には上位に位置するがそれとは干渉しないユーザインターフェー スを提供することによって達成されるものである。このユーザインターフェース は、ボインティング装置の動作に関するフィードバックを、ユーザに提供する。
既存のプログラムの実行に干渉することなくこの上位(ove r 1 ay  i ng)インターフェースを実施するために、インターフェースプロセッサを 備えて、このインターフェースを実施するために用いられるソフトウェアを実行 する。更に、別個の表示面を備えて、既存のプログラムによって使用される表示 バッファを変更することなく、既存のプログラムからの表示と該別個の表示面が 仮想的に組み合わせられる。この表示面は、組み合わせられる画像を保持するイ ンク面(ink plane)バッファ、インク面データが既存のプログラムか らの表示データとどのように組み合わされるかを示すマスク面バッファ、及びデ ータの組み合せを行なうマルチプレクサを用いることによって、組み合わせられ る。
図面の簡単な説明 本発明は、添付の請求の範囲において、特徴が指摘されている。本発明の上述の 及びその他の利点は、以下の詳細な説明を図面と関連付けて参照することにより 、よりよく理解することができよう。ここで、図1は、本発明が有利に用いられ るコンピュータシステムの斜視図である。
図2は、本発明を具体化したコンピュータシステムの回路の、論理組織を強調し たブロック図である。
図3は、本発明を具体化したコンピュータシステムの回路の物理的実施態様を強 調したブロック図である。
図4は、主プロセツサとインターフェースプロセッサとの間の通信に使用される 回路のブロック図である。
図5は、表示すブシステムにおける回路のブロック図である。
図6は、表示すブシステムの表示データ多重化回路を示す。
図7.8及び9は、表示スクリーン上の画素位置とインク及びマスクデータの記 憶との対応を示す。図7は、表示スクリーン上の画素位置のいくつかを示す。
図8は、インク及びマスクデータが4つのVRAMチップにどのように記憶され るかを示すメモリマツプを有する。図9は、インク及びマスクデータが、インタ ーフェースプロセッサのアドレス空間において、どのように現れるかを示す。
図10は、3つのシミュレートされた装置アイコン、即ちキーボード、手書き及 びマウスを示すスクリーン表示である。
図11は、タブレット、表示、及びあるソフトウェア構成物間の関係を示す。
例示実施例の詳細な説明 1 プラットフォーム 1.1 コンピユーテイング環境 本発明は、ユーザが書き込み用スタイラスまたはその他のボインティング装置を 用いて相互作用するコンピュータシステムにおいて、有利に用いられるものであ る。ユーザが表示装置上で書き込みを行なえれば、キーボードを削除しくまたは 少なくとも選択的とされる)、コンピュータシステムを小型化できるので、結果 的に得られるシステムは「ノートブック」コンピュータとも呼ばれている。本発 明を、このようなノートブックコンピュータに沿って説明する。この説明を基に すれば、本発明の他の実施例も明白であろう。
図1は、ノートブックコンピュータ1oの斜視図である。これは、デジタル化タ ブレットと表示装置12の組み合せを備えている。スタイラス14は、デジタル 化タブレットと共に用いられ、システムにX−Y座標入力を与える。表示袋!は 、液晶技術を用いて構成され、バックライトを備えている。タブレット領域の一 方の縁に沿って、一連のラベルを付けた領域16a、16b、16c及び16d がある。システムは、これらの領域にスタイラスが接触すると、あるシステム機 能を開始する。ある動作モードにおいて、システムは、電子インクを供給するよ うに動作し、この場合タブレット上のスタイラスの移動が、ユーザが1枚の紙の 上に書いているかのように、表示装置上で見ることができる痕跡を残す。
この例示的ノートブックコンピュータの他の機構は、音声デジタル化及び再生( ヘッドセット/マイクロフォンを接続することができる)、データ通信(ファッ クスを含む)、内部ハードディスクドライブ、標準シリアル及びパラレルポート 、5C3Iポート(特に外部フロッピディスクドライブへの接続のため)を備え ている。5C3Iポートの代りにコネクタを備えて、IBMのPS/2コンピュ ータの多くのマイクロチャンネルと互換性のあるバスに接続することができる。
主プロセツサは、Inte l 80386SXである。このシステムの中核は 、一般的にIBMのPS/2モデル80、タイプ1と互換性がある。
インターフェースプロセッサ、表示制御のインク/マスク面部分及び種々のサポ ートロジックを提供するASIC(以下オプテイマイザ(op t imi z  e r)と称する)を含む、本発明に最も密接に関係のある回路のそれらの態 様を以下に述べる。
1.2 主要システム構成物(コンポーネント)本コンピュータシステムの主要 ハードウェア構成物が図2に示されている。
・主プロセツサ30 ・インターフェースプロセッサ32 ・ボインティング装置(タブレット/スタイラス34及びインターフェース3・ 主表示バッファ及び表示(VGA)制御器38・インク面バッファ42、マスク 面バッファ44及びビデオマルチプレクサ46を含む表示制御回路40 ・表示スクリーン48 ・インタープロセッサインターフェース50・インターフェース回路54によっ てインターフェースプロセッサ32に接続される、オプショナルキーボード52 図3は、回路の物理的な実施態様を強調したコンピュータシステムのブロック図 であり、その多くは超大規模集積回路チップにより実現されている。
1、2.1 主プロセツサ 主プロセツサ30は、Intel Corporationの80386SXマ イクロプロセツサを用いて実現されている。このプロセッサは、オペレーティン グシステム及びアプリケーションプログラムを実行する。このプロセッサには、 1または4メガバイトの基本主メモリ30aがあり、1メガバイトまたは4メガ バイトの2つのモデュールをオプションで加えることができる(したがって、1 2メガバイトまで備えることができる)。ノートブックコンピュータの形態の特 徴を保持するために、主メモリは、米国特許第4710903号に記載されてい るのと同様な方法で制御される、疑似スタティックメモリチップを用いている。
基本的入出カシステム(B I OS)として知られている、システムサービス ソフトウェア用に、128キロバイトのメモリ30b (ROM)を備えている 。
1、2.2 表示スクリーン 視覚出力は、表示スクリーン48によって提供される。好適実施例では、これは 、デジタル化タブレット34(以下に説明する)と物理的に一体化された平面パ ネル表示装置である。特に、これは640X480画素の液晶表示装置であり、 250ミリ秒より高速のスイッチング時間を有するものである。
1、2.3 主表示バッファ及び制御器主表示バッファ及び表示制御器38 ( Chips & Technologies 82C455VGA制御器)は、 主プロセツサ30によって制御される。
これは、主プロセツサ上で実行中のアプリケーションには、一般的にVGAとし て知られているような従来のビデオ表示装置のように思われる。これは、640 ×480画素の制御を可能とするもので、4つの128Kx3ビツトの疑似スタ ティックメモリ素子に記憶される。このメモリは、256色用に書かれたアプリ ケーションを実行させるのに十分な大きさである。表示スクリーンの画素はバイ ナリ的であるが、VGA制御器は、これらを時間多重化して16階調の灰色をシ ミュレートしている。
1、2.4 インターフェースプロセッサインターフェースプロセッサ32は、 日本電気株式会社から入手可能なV25マイクロプロセッサである。V25は、 Intelの80188と類似している。
このプロセッサは以下の機能を行なう。
・主プロセツサに接続し、PS/2型コンピュータにおけるタイプのキーポ−ド 制御器を(ハードウェアのレベルに下げて)シミュートする。このプロトコルは 、典型的にはマウスである補助装置からのデータを得るためのものである。キー ボードポートに加えて、主プロセツサへの他の通信チャンネルが、他の通信のた めに用いられる。
・オプショナルキーボードに接続し、このキーボードのデータを主プロセツサ( PS/2型コンピュータにおける8042制御器であるかのように)に供給する 。
・インク及びマスク面に接続し、データを供給する。
・タブレット入力を使用する、シミュレートされた装置(デバイス)ユーザイン ターフェースを実行し、キーボードポート出力をシミュレートし、そしてインク 及びマスク面に書き込む。
・手書き認識アルゴリズム(シミュレートされた装置インターフェースの一部) を実行する。
1、2.5 インターフェースプロセッサファームウェアV25には16キロバ イトのROMがある。このROMは、初期化、診断、主プロセツサからインター フェースプロセッサの主メモリ(インク及びマスク面用のバッファを備えている )へのデータ転送の支援、及びキーボード制御器のエミュレーション(ソフトウ ェアをインターフェースプロセッサの主メモリにダウンロードする前に、物理的 キーボードの使用を許可する)のためのプログラムコードを含む。
診断は、インターフェースプロセッサのメモリ、インターフェースプロセ・ソサ をオプテイマイザに接続するデータバス、及びシリアルポートを試験する(シリ アルポートに接続されているタブレットの状態を得ることを含む)を試験する。
1、2.5.1 キーボード制御器エミュレーション前記のファームウェアは、 典型的に8042キーボード制御器によって備えられる機能を与える。キースト ローク及びマウスデータを主プロセツサに引き渡すことに加えて、これらの機能 は、パスワードの設定及び検査、r 8042 RAMJの読み出し及び書き込 み、そして物理的キーボードインターフェースのイネーブル、ディスイネーブル 及び試験を含む。
キーボードボートを介してデータを主プロセツサに送る、このファームウェアの サービスは、3つの状態で送られているデータを扱うことができる。それらは、 変換済みデータ、未変換データ、補助データである。
変換済みデータは、物理的キーボードから来たものとして扱われる。このデータ は、インターフェースプロセッサによって認知されるシステムのシフト状態に影 響を及ぼす変化を発見するために、監視される。8042のコマンドバイトのP C互換性の状態にしたがって、このデータをあるスキャンコードから別のものに 変換することもできる。
未変換データは、変化せずにシステムに送られる。シフト状態の変化を監視する ために、未変換データを監視することはしない。即ちインターフェースプロセッ サは、未変換データによるシフト状態のいかなる変化も、未変換データストリー ムの最後で、元に戻される(undone)と仮定している。
補助データは、変換されずに主プロセツサに送られる。補助データを送る際、キ ーボード状態レジスタの1ビツトがセットされ、データがキーボードデータでは な(、補助データであることを主プロセツサに示す。補助データとは、典型的に マウスデータである。
1、2.5.2 疑似装置に対するサービスファームウェアは疑似(シミュレー トされた)装置によるキーボードボートの使用を支援する種々のサービスを備え ている。
物理的キーボードからのデータストリームをイネーブル及びディスイネーブルす るサービスがある。ディスイネーブルが要求されると、多ビツトキーコードを分 割せずにストリームを中断できるまでサービスは待機し、そして現在のシフト状 態の指示と共に戻る。
バッファサブミツト(submtt)サービスは、送るべき1ブロツクの「キー ボード」データのサブミツトを可能とするものである。データは、変換済み、未 変換または補助として識別され、それにしたがって取り扱われる。「終了時(w hen done)Jルーチンへのポインタが、前記データのブロックと共に設 けられている。即ちサービスは、バッファ内のデータが送られた時、このルーチ ンを実行する。別のバッファが現在送られている時、エラーが返送される。
物理的キーボードがイネーブル状態にされると、バッファサブミツトサービスは 、バッファ送出の前に物理的キーボードをディスイネーブル状態にし、データ送 出の後には物理的キーボードをイネーブル状態にする。
バッファ中止(abort)サービスが、進行中のバッファ送信を取り消すこと ができるようにするために設けられている。
バッファ送信速度設定サービスは、キーストロークデータのバッファが主プロセ ツサに送られる速度を制御するために設けられている。これは、主プロセツサに おけるキーボードバッファのオーバーフローに対する制御のために設けられたも のである。遅れは、8バイト以下のバッファには適用しない。これは、どの単一 キーストロークのバイト列でも、遅れなしに送ることができるようにするもので ある。
インターフェースプロセッサのクロック速度を制御するために、サービスが設け られている。このクロックは、2.4、または8メガバイトに設定することがで きる。この速度制御をサポートするハードウェアは、V25チップに集積化され ている。
インターフェースプロセッサのシリアルポート(タブレットに接続されている) からのイベント、データリンクからのイベント、またはある時間期間(呼び出し 側によってミリ秒で指定される)の間、待機するサービスが設けられている。こ のサービスは、これら3つのイベントのいかなる組み合せでも待機する。待機中 、このサービスはインターフェースプロセッサの速度をその最低速度に設定する 。
上述のイベントが起きた時、サービスはインターフェースプロセッサの速度をそ の元の速度に戻し、そしてサービスは呼び出し側に戻る。
割り込みベクトルを連鎖してシステムからキーボードまたは補助装置への通信に ついて学習することができるようにするサービスも、設けられている。
また、ファームウェアはフリーランニングの32ビツトのカウンタも備えている 。このカウンタは、各ミリ秒毎に1増分される。これらの1ミリ秒の割り込みを 連鎖することも可能である。
1、2.5.3 データリンク制御 上述のファームウェアは、また、データリンクを介した通信のための支援を提供 する。この通信について以下に説明する。
1、2.6 ポインティング装置 好ましくは、ポインティング装置は絶対位置を与える形式(例えば、デジタル化 タブレット、ライトベン)のものがよい。マウスは相対位置を与える(即ち、移 動量であって位置ではない)ので、マウスを用いることもできるが、利点が少な くなる。
好適実施例のポインティング装置は、5criptel Corporatio nから入手可能なもののような、透明なデジタル化タブレツトとそれに付随する スタイラス(タブレットとスタイラス共に、図2では34として示されている) である。
適切なタブレットは、以下のような特性を有していなければならない。
・下層の表示において単一の画素を指示することができる絶対精度がなければな らない。100画素/インチの下層表示では、全ての情報源からりタータルエラ ーは、±0.05インチ未満でなければならない。
・タブレットを表示装置にかぶせであるので、タブレットは透明でなければなら ず、光の分散は最少でなければならず、表示装置上の書き込み表面の高さは、視 覚バララックスを減少させるために、最低にしなければならない。
・タブレットは、スタイラスの使用並びに他の物体からの衝撃及び摩擦に耐える ように、耐摩擦型でなければならない。
・タブレットはノイズに対する十分な抵抗力を有し、コンピュータ内の表示装置 や他のRFI源から非常に近い所でも正確に動作しなければならない。
・ノートブック型の小型コンピュータは、それが携帯可能装置として特に有用で ある。したがって、低電力も、有用な特性である。
・タブレットは、1秒当り少なくとも120ポイントをデジタル化できなければ ならない。
・スタイラスのタブレットへの接近を感知する機能を設け、ユーザが書き込みま たはドラッグを行なっていないがスタイラスが表面近くまたは表面上にある時、 システムが追跡用カーソルを表示できるようにしなければならない。
タブレットへの「接触」を感知すべきであり、これはティップスイッチ(tip  5w1tch)で実施することができる。スイッチ力は、ユーザが最少のスキ ップ動作で快適に書くことができるようにすべきである。
[デジタイザ技術:性能特性及びユーザインターフェースに対する効果J (I EEE Computet and Applications 1987年4 月、pp31−44)という題の論文が、デジタイザ技術について記載している 。
タブレットインターフェース36は、タブレットからのX−Y座標データをイン ターフェースプロセッサに転送する。このインターフェースは、アナログフロン トエンド(front end)、D/A変換器、5gHCl1フイクロコント ローラ(Motorola Corporationから)1及び関連するロジ ック、並びにFROMを備えている。FROMは、マイクロコントローラが行方 向のタブレットデータを補正するために用いる情報を含んでいる。上記マイクロ コントローラは、インターフェースプロセッサ32へのシリアルリンクを有して いる。
タブレットインターフェース36とインターフェースプロセッサ32との間の接 続は、19.2キロビット/秒で動作する、双方向非同期シリアルリンクである 。以下にあげるのはインターフェースプロセッサがタブレット制御器に送ること ができる最も重要なコマンドである。
Re5et タブレットを再初期化し、試験する。成功または失敗コードがイン ターフェースプロセッサに戻される。
Quit タブレット制御器が、できるたけ多(のタブレット電子回路の電力を 低下させ、新しいコマンドを待つ。
5leep ユーザイベント(例えば、スタイラスが接近する、または、既に近 傍にあれば、スタイラスが移動する)が起こるまで、タブレット制御器はデータ 送出を停止し、イベント発生時にタブレット制御器はデータ送出を開始する。
他のコマンドを診断の目的に用いることができる。
デジタル化された各ポイントに対して、タブレット制御器は、5バイトのデータ を送る。その場合、ビット位置は次の意味を有する。
1 0 1 TIP 5IDE OOOPI?Or2 0 0 X5 X4 X 3 X2 Xi XO300Xll XIOX9 X8 X7 X64 0 0  Y5 Y4 Y3 Y2 YI YO500Yll Ylo Y9 Y8 Y 7 Y6RROXは、スタイラスがタブレットの感知範囲にあるか否かを示す。
TIPは、ティップスイッチが押圧されたか否かを示す。5IDEはスタイラス 側のスイッチが押圧されたか否かを示す。X及びYは、X−Y座標データを表す 。
タブレット制御器によってインターフェースプロセッサに送られるデータは、X 及びY軸に対して、0から4095までの値を有する。これらの値は、表示製製 造工程の一部として、各ユニットに対して3点更正を行ない(デジタイザと表示 装置との不整合を補正するため)、安定メモリ(例えば、ディスク、バッテリで バックアップされたCMO3RAM、EFROM)に記憶する。更正パラメータ は、インターフェースプロセッサが12ビツトのタブレットデータを表示座標に 変換するために、用いられる。
1、2.7 インク/マスク表示バッファ及び制御器マスク面は画素当り1ビツ トを有している。これを用いて、通常の表示バッファからのデータまたはインク 面からのデータのどちらが表示スクリーン上に示されているかを判断する。マス ク面を拡張して、画素当り1ビツト以上を含むこともできる。例えば、V G  Aとインクデータとの間での単純な選択に加えて、AND、OR,XOR,NO R,及びNANDのような、画像の組み合せ構成の中からの選択ができるように なる。
例示的なシステムでは、インク面は画素当り1ビツトを有する。しかしながら、 この面は、画素当りより多くのビットを有し、インク面に灰色階調またはカラー 表示ができるようにすることも可能である。
1、2.8 ビデオマルチプレクサ ビデオマルチプレクサは、リフレッシュデータの表示装置への流れを制御する。
これは、マスク面データストリームの画素値にしたがって、アプリケーション面 (VGA)のデータ流またはインク面のデータ流から、画素値を選択する。XO Rのような、2つの面からのデータを組み合せるためのより複雑な演算動作を用 いることもできる。このような動作は、全体として表示装置に対して、或は(マ スク面が画素当り1ビツト以上を含んでいれば)画素毎に選択することもできる 。
1、2.9 信号処理サブシステム 本システムは、信号処理サブシステムを備えている。このサブシステムは、音声 の記録及び再生を行なうことができ、ファクシミリのモデムとして動作し、そし てデータ通信のためにV22として、b i 52400ビット/秒で動作する 。
このサブシステムは、デジタル信号プロセッサ60 (Texas Insjr uments320c25)(それ自体のメモリ66を有する)、外部へのイン ターフェースのためのアナログ回路62、及び(マイクロチャンネル70を介し て)システムの残りの部分と連係するためのデジタル回路を有するASIC64 を備えている。
外部マイクロフォン及びヘッドセットのためにコネクタが設けられている。内部 マイクロフォンも備えられている。
1、2.10 種々の通信ポート 更に次の通信ポートが設けられている。
・2つのシリアルポート(1つは標準コネクタを有し、もう1つはモデムが必要 でない時に用いるための、モデムポートコネクタを介して使用可能なもの)・S C3Iポート74 ・工業標準パラレルポート パラレルポートと標準シリアルポートとは、VL16C451B (VLSIL ogicより)72を用いて実施されている。第2のシリアルポートは、デジタ ル信号処理サブシステムの一部であるASIC64によって実施されている。
1、2.11 大量記憶装置 ハードディスクドライブ76が、プログラム及びデータの大量記憶のために備え られている。外部フロッピディスクドライブをSC8Iインターフェースを介し て接続することができる。
1.3 VLslの実施 Western Digttalから入手可能な次のチップは、コアロジック8 0を実施するものである。
・WD6000周辺I10コントローラ・WD6010DMAコントローラ及び 中央アービタ・WD6036LPマイクロチャンネルバスコントローラ及びメモ リコントローラ ・WD 5020アドレス/データバツフアその他の構成物には、次のものが含 まれる。
、・システムROM30bは、128kx8ビツトであり、電源オン試験用ソフ トウェア及びBiO2,並びにシステムデータを含んでいる。2つの27×51 2メモリチツプが用いられている。このROMは、8ビツト幅のデータバスを有 する、ローカルチャンネルバスに接続されている。システムを起動した後、Bi O3をシステムメモリにコピーしてアクセスを高速化し、電力消費を提言するた めにシステムROMをスタンバイモードに設定できるようにする。
・リアルタイムクロック82は、MC146818Aを用いて実施されている。
この構成物は、一体化電池によって保持される64バイトのRAMも含んでいる 。
・不揮発性CMOS RAM84は、システム構成データの記憶のための、バッ テリでバックアップされた8キロバイトのメモリを備えている。
1、3.1 オプテイマイザ 「オプテイマイザ」88は、次のものを含む種々の機能を組み合せるVLS ド ブログラムで制御される速度のスイッチングを含むクロ・ツク発生(ツードブ、 ツクコンピュータでは、システムクロック速度を変化させて電力効率を向上させ ている) ・制御信号、及びSCS Iボート及びノλ−ドディスクドライブ用I10レジ スタアドレスのデコードは、マイクロチャンネル信号から発生される。
・プログラマブルなオプショナル選択レジスタを含む種々のI10レジスタ(オ プテイマイザによってサポートされるデバイスであり、主ブロセ・ソサには、全 て単一のマイクロチャンネルデバイスのように見える。このようなデノくイスノ 特性は、rIBM Personal System/2 Hardware  Interface Technical ReferenceJにおけるよう に、どこにでも記載されている)、及びシステム電源制御用並びに主プロセツサ のクロック速度を制御するためのレジスタ・オプショナルキーボードとインター フェースプロセッサとの間のインターフ工・主プロセツサとインターフェースプ ロセッサとの間のインターフェース最後にあげた2つの機能は、本発明に最も関 連のあるものである。
インター(相互)プロセッサインターフェース50及びキーボードインターフェ ース54を実現するオプテイマイザ内の回路が、図4に更に詳しく示されて4) る。
主プロセツサとインターフェースプロセッサとの間の、「データ1ルク」として 知られている通信リンクのために、オプテイマイザは、4つのレジスタ、即ち通 信の各方向に対して1つのデータレジスタ及び1つの状態レジスタ(図4の11 0.112.114及び116)を備えている。
生プロセッサが標準キーボードポートと看做すものを設けるために(IBMのP S/2シリーズのようなジンピユータによって代表される、事実上の標準)、オ プテイマイザは、さらに4つのレジスタ、即ち通信の各方向に対して1つのデー タレジスタと1つの状態レジスタ(図4の120.122.124及び126) を構成する。
オプテイマイザは、また、インターフェースプロセッサのためにも、割り込みI Dレジスタと割り込みマスクレジスタとを構成する。
インターフェースプロセッサは、主プロセツサへのキーストロークの通信を取り 扱うが、オプテイマイザは、(オプションの)物理的キーボードへの双方向シリ アルインターフェースを備えている。これは、インターフェースプロセッサを、 キーボードクロック及びデータ線の監視から開放し、インターフェースプロセッ サが全バイトに対処できるようにするものである。物理的キーボードの接続をサ ポートするために、オプテイマイザは、データレジスタ130(双方向)及びイ ンターフェースプロセッサによってアクセスされる状態レジスタ132を備えて いる。
インターフェースプロセッサは、インターフェースプロセッサが8042キーボ ードコントローラであるかのように主プロセツサと相互作用することによって、 (オプションの物理的キーボードと疑似キーボードからの両方の)キーストロー クを送出する。標準キーボードコントローラは、補助装置(典型的にマウス)及 びキーボードからのデータに備えているので、この機能も設けられている。
オプテイマイザは、ブート(boot)時のソフトウェアのローディング及びそ の他の必要時を含む、プロセッサ間の種々の通信のために用いられる、インター フェースプロセッサと主プロセツサとの間の「データリンク」接続も、与える。
1.3.2 BGA BGA86 (図5)は、殆どの回路に、現在のアプリケーションの表示データ と衝突することなく、疑似装置のユーザインターフェースを表示できるようにす るものである。特に、BGAは、殆どのインク/マスク回路を実現し、表示装置 にデータ及び制御信号を供給するVLSIチップである。図6は、マルチプレク サ46(図2のもの)を更に詳細に示しており、これは、図5において「ビデオ データの交換」と名付けられたブロックに含まれている。
BGAは、VGAコントローラからのデータを受け取り、インターフェースプロ セッサにインク/マスクメモリへの書き込み/読み取りアクセスを供給し、そし て表示装置にデータを送る。BGAは、VGA信号(水平同期、垂直同期、及び 画素クロックであり、これらは一度に8画素バイトずつ、4画素が表示装置の上 半分から、モして4画素が表示装置の下半分からのものである)を監視し、イン ク/マスクデータからのデータを、VGA制御器によって発生されたデータと調 和させることができるようにする。BGAは、VGA制御器からのドツトクロッ ク信号(画素クロックの8倍)も用いて、その動作を連続化させている。
VGA制御器は、多重化メモリアドレスバスを有するDRAMと共に用いるよう に設計されている。しかしながら、VGA表示バッファは、多重化アドレスバス を用いないPSR,AMで構成されており、したがってアドレスラッチが用いら れている。更に、BGAは、VGA制御器によって発生された信号から、PSR AM用制御信号を得る回路を含んでいる。
インターフェースプロセッサ用主メモリである512キロバイトのメモリアレイ がBGAに取り付けられている。このうち、76800バイトがインク/マスク 面表示バッファのために用いられている。この表示バッファは、(図9に示すよ うに)インターフェースプロセッサには、2つの38400バイトブロツクのよ うに見える。インク面は30000.にて開始し、マスク面は70000.にて 開始する。これらの位置は、(図8に示すように)個々のメモリデバイスへのア ドレスの割り当てと組み合わされて、各画素に対するインク面及びマスク面デー タが結果的に別個のメモリデバイスに記憶されるようになっている。したがって 、表示装置をリフレッシュするとき、両方を同時に引き出すことができる。この メモリの残りの部分(約400キロバイト)は、プログラム及びデータの記憶の ために、インターフェースプロセッサによって使用されるようになっている。
このアレイは、4つの256KX4ビットビデオRAM (VRAM)デノくイ ス(524256チツプ)によって実現されている。これらは、デュアルポート デバイスである。各チップは、4ビツトの読み取り/書き込みポートを有し、B GA内の回路を介してインターフェースプロセッサに接続されている。また、各 チップはシリアルアクセスの読み取りのみのポートも有しており、これは表示用 データを供給するために用いられる。各チップは、4つの512ビツトシフトレ ジスタを有し、これらはシリアルアクセスポートを駆動するために用いられる。
一旦シフトレジスタがロードされると、シリアルデータをシリアルポートからシ フトアウトしている状態で、他のポートを介したアクセスが生じてもよい。
1、3.2.1 メモリマツピング インターフェースプロセッサが、1メモリサイクル中に1バイトのインクデータ (8画素に対するインクデータ)を読み取ることができ、更に1メモリサイクル 中に1バイトのマスクデータ(8画素に対するマスクデータ)を読み取ることが できることが望ましい。また、8画素に対するインク及びマスクデータの両方が 一度に、表示のリフレッシュのために使用可能であることも望ましい。
図7は、表示装置の上半分の最初の16個の画素をT1−T16として表し、表 示装置の下半分の最初の16個の画素をB1−B16として表すものである。
LCD表示装置には、一度に8ビツトのデータが供給される。これらの8ビツト は、表示装置の上半分の4画素及び表示装置の下半分の4画素に対応する。図8 は、例えばインク及びマスクデータがどのように4個のVRAMチップに記憶さ れるかを示している。ITIは画素T1に対するインクビットであり、MTIは 画素T1に対するマスクビットである。IBIは、画素B1に対するインクビッ トであり、MBIは画素B1に対するマスクビットである。VRAM0及びVR AMIにおいて、インク及びマスクデータは、30000.から395FFHま でのアドレスに記憶される。VRAM2及びVRAM3では、インク及びマスク データは39600.から記憶される。アドレス3FFFF、以降では、インク 及びマスクデータが30000.から32BFFFMまでの位置で連続するよう に、アドレス指定が繰り返される(wrap)。
表示リフレッシュのために、図8に示すように、信号5DO−SD15の16個 の信号として、データがVRAMから読み出される。図6は、これらの信号が、 どのように2つのマルチプレクサ150及び152(各々、2組の8個の信号の 内の1組を選択する)によりて処理され、8個の1ビツトマルチプレクサ160 においてVGAからのデータを組み合わされるかを、示すものである。
表示リフレッシュのために、図8に示すようにVRAMからデータが連続的に読 み出される。例えば、シリアルデータビット0 (SDO)はインクビットであ り、次にマスクビット、その次にインクビット等となっている。SDOがインク ビットの場合は、SD4はマスクビットとなる。マルチプレクサ150及び15 2は、交互の16ビツトワードにおいて、各VRAMからの4ビツトのニブル( nibble)を交換するのに用いられる。
インターフェースプロセッサがメモリをアクセスした時、BGAはVRAMへの アドレッシングを制御して、1バイトのインクデータが、1つのVRAMからの 奇数番の位置と、他のVRAMからの偶数番の位置とで構成されるようにする。
更に、インクデータは連続したインターフェースプロセッサのアドレス位置(3 oooo、からスタート)においてアクセスされるが、各VRAMチップの1つ 置きのメモリ位置に記憶される(VRAMチップにおいては、マスクデータと交 互になっており、インターフェースプロセッサには、より高位のアドレス範囲の 70000、から始まるように見える)。したがって、インクデータは、インタ ーフェースプロセッサのアドレス空間において、1つの連続データブロックとし て現れ(30000,〜395FF、)、マスクデータはインターフェースプロ セッサのアドレス空間において、別の連続データブロックとして(70000゜ 〜795FFN)現れる。これは、図9に示されており、ビット識別が図8のも のと対応し、更に図7の画素と対応している。
1、3.2.2 表示タイミング VGA制御器38は、画素毎に1ビツトの表示データを発生する。このデータは 一度に8画素分発生される。即ち、表示装置の上半分の4画素と、表示装置の下 半分の4画素である。VGA制御器は、この表示データに付随する3つの制御信 号も発生する。それらは、各8画素(バイト)データに対する1度に1つの画素 クロック、水平同期信号、及び垂直同期信号である。VGA制御器は、画素クロ ックの速度の8倍の「ドツトクロック」も供給する。
1.3.2.3 VGAとインクデータとの多重化ビデオデータの交換と名付け られた図5のブロック(図6に詳細に示されている)は、8個の単一ビットマル チプレクサ160を含んでいる。各マルチプレクサは、マスクビットを用いてV GAデータビットまたはインクビットを選択する。
各画素クロックのタイミングで表示装置の上半分の4つの連続する画素と、表示 装置の下半分の4つの連続する画素が、同時に1組のマルチプレクサによって処 理される。VGA制御器からの制御信号(画素クロック、水平同期、及び垂直同 期)を遅延させて、BGAからのビデオデータと同期させる。
1、3.2.4 表示モード 通常、BGAは、VGA、インク及びマスク面がらのデータの組み合せである表 示データを供給する。各画素に対して、BGAは、マスク面データに応じて、V GAデータまたはインクデータを供給する。
BGAは、両方のデータ源(VGA及びインク/マスク)からのデータのブラン キングを準備する。これは、表示装置からのアプリケーションデータまたはイン ターフェースデータの除去を、対応する表示バッファをクリアすることなく、行 なえるようにする。
BGAを「スリーブ」モードにして電力消費を低減させることもできる。このモ ードでは、インターフェースプロセッサは、全てのVRAMメモリ位置へのアク セスを有する。VGAデータは、VGAタイミング信号を監視することな(、表 示装置に渡される。BGAスリーブは、BGA制御レジスタ内のあるビットを設 定することによつてアクティブ化され、モしてVGAスリーブ信号(オプテイマ イザから外部ビンにて受け取られる)によってアクティブ化される。VGAスリ ーブ信号によってアクティブ化されるとは、表示出力ドライバはディスイネーブ ルされるので、表示装置にダメージを与える事なく、電力を表示装置から遮断す ることができる。
1、3.2.5 インターフェースプロセッサとBGABGAは、VRAMが2 つの待ち状態で動作する1200秒のDRAMであるかのように、VRAMのア クセスをインターフェースプロセッサに与える。
BGAは、ビデオシフトレジスタがロード中にインターフェースプロセッサのR eady (レディ)線を制御して、インターフェースプロセッサには明白なよ うに、VRAMを用いて表示装置をリフレッシュできるようにする。
BGA制御レジスタは、次のビット、即ちBGAスリーブ、ブランクVGA。
ブランクインクを備えている。また現在走査中の線の番号を示すリードオンリレ ジスタもある。
1.3.2.6 BGAとオプテイマイザBGAは、インターフェースプロセッ サのアドレス線の全てと接続されており、一方オプティマイザはこれらのアドレ ス線のサブセットに接続されている。このように、BGAは、オプテイマイザの ためのチップ選択信号を発生するように構成されている。このチップ選択は、1 0H〜17.の範囲内のアドレス、即ちオプテイマイザの8つのI10マツブト レジスタに対応するアドレス内の任意のI10アドレスに対して、アクティブ状 態である。
1、3.2.7 コントラスト制御 表示のコントラストは、8ビツトのD/A変換器の出力によって制御される。
この変換器のデータレジスタは、メモリ位置にマツプされている。このメモリ位 置への書き込みは、VRAMへの書き込みと、外部D/A変換器への新しい値の ラッチとの、二重の機能を有する。したがうて、変換器の現在値は、そのVRA Mの位置を読取ることによって、判定することができる。
1.4 主プロセツサ及びインターフェースプロセッサ間の通信主プロセツサと インターフェースプロセッサとは、2つの別個の機構を通じて、互に通信する。
インターフェースプロセッサは、キーストローク及びマウスデータの通信は、I 10ポート及びキーボードコントローラと関連付けられているプロトコルとを通 じて行なっている。別個の、より一般的通信機構(「データリンク」と呼ばれて いる)も、備えられている。
1.4.1 データリンクレジスタ 主プロセツサとインターフェースプロセッサとの間のデータリンクは、各々のプ ロセッサに対して、受信データレジスタ(8ビツト)、送信データレジスタ(8 ビツト)、状態レジスタ(この内2ビットが用いられる)、及び1つの制御ビッ ト(あるレジスタ内に配置されており、該レジスタは複数の制御ビットが他の目 的に使われている)を、用いている。一方のプロセッサの送信レジスタは、他方 のプロセッサの受信レジスタである。
インターフェースプロセッサは、この情報に、固定アドレスを有するI10ポー トを介してアクセスする。
データリンクレジスタは、オプテイマイザによって維持されるものの中にある。
を用いて、データリンク、状態レジスタ、並びにオプテイマイザによってサポー トされる他のレジスタのアドレスマツピングを制御する。
一つの状態ビットは、そのプロセッサの受信レジスタにデータがあるかいなかを 示す。他の状態ビットは、そのプロセッサの送信レジスタが空であるかを示す。
制御ビットによって、他方のプロセッサがデータを送る時に、割込みが発生され るかを、対応するプロセッサが判断できるようにしている。
1、4.2 データリンクプロトコル 低レベル通信プロトコルは、主プロセツサが何によってインターフェースプロセ ッサから診断情報を得ることができたかによって定義され、データ(ソフトウェ アを含む)をインターフェースプロセッサの主メモリにダウンロードし、電力保 存機構を制御し、そして主プロセツサにて実行されるアプリケーションがインタ ーフェースプロセッサと通信できるようにする基本機構を設けている。
主プロセツサからインターフェースプロセッサへの一般的通信に対して、主プロ セツサ内のBIOSコールが、1ブロツクのデータをインターフェースプロセッ サに送°ることかできる。
インターフェースプロセッサから主プロセツサへの一般的通信のために、アプリ ケーションに備えられたデータリンクのデータハンドラ(handl er)が 用いられる。BIOSコールを設けて、データリンクハンドラを設置し、データ リンクトライバの現在の状態をセーブしくデータリンクトライバの現在の状態を セーブするのに必要とされるメモリ量を示す、別のBIOSコールが設けられて いる)、そして以前にセーブしたデータリンクトライバの状態を復元する。デー タリンクデータハンドラを用いることによって、複数のアプリケーションが、デ ータリンクへのアクセスを共有することができる。BIOSは、セーブからりス トアを減じた数のカウントを保持し、各データリンクトライバ状態セーブは、関 連のあるカウント(即ちネスティングレベル)を含んでいる。データ’+)ンク ドライバ状態が復元されると、このカウントがチェックされ、ネスティングレベ ルが一致しないと、エラーが戻される。
インターフェースプロセッサからのデータを受け取るには、アプリケージ3ンは あるルーティンを備えねばならず、データがインターフェースプロセッサから受 けとられる時、このルーティンがコールされる。アプリケーションは、上述の[ 設置(instrall)JBIOS:)−ルによって、このデータハンドラル ーチンをデータリンクトライバを用いて登録する。
現在のデータリンクデータハンドラへのポインタがドライバ状態セーブ領域に記 憶されているので、データハンドラは容易に連鎖することができる。1つのハン ドラが、データがそのハンドラのためのものでないと判断した場合、そのハンド ラは、そのハンドラが設置された時に作成された状態セーブ領域において示され たハンドラに従うことができる。
これらのBIOSコールは、以下のエラー状態を示すビットを有するデータリン ク状態のバイトを戻す。それらは、送信進行中、受信進行中、違法データリンク トライバ状態の復元、タイムアウト、ビジー、及び無効機能要求である。
更に、インターフェースプロセッサのリセット、エコーデータ(データリンクの 試験のため)、診断結果の獲得(インターフェースプロセッサのファームウェア 診断の結果を返す)、ダウンロード初期コード及びデータ(及び特定位置へのジ ャンプ)、F11キー生のイネーブル及びディスイネーブル、電池電圧レベルの 獲得、インターフェースプロセッサファームウェア改正(revision)レ ベルの獲得のような、ある特定のインターフェースプロセッサに関連した作用を 行なうために、BIOSコールが設けられている。
システムがブートしている時、ユーザがF1キーボタンを押圧するか、或はタブ レットを叩く(ユーザがエラーメツセージを見たことを示す)ことを要求される ような、ある状況(ユーザの注意を引くべき構成エラーのような)がある。主プ ロセツサが、F11キー生をイネーブルために、インターフェースプロセッサに コマンドを送った後、インターフェースプロセッサは、ユーザが最初にタブレッ トを叩いた時にF1キーストロークを送出する。主プロセツサがF11キー生を ディスイネーブルすることができるコマンドがある(例えば、オブシコンのキー ボード上でF1キーを押圧した後にユーザがタブレットを叩いた時には、第2の Flキーストロークを発生しないようにするため)。
主プロセツサは、表示装置のバックライトのオンオフ、ハードディスクのタイム アウトの設定、最高速システムクロックの設定、最低速システムクロック速度の 設定、システム遮断の開始、システム起動の開始等の、インターフェースプロセ ッサから発せられたあるコマンドも、サポートする。
データリンクを介したインターフェースプロセッサとの通信のため、ドライバは 、2つの方法のいずれかで通信を実施することができる。上述のように、データ リンクデータハンドラは、BIOSを用いて登録することができる。代替的に、 あるドライバがデータリンク割り込みを引き受けることができる。このドライバ は、恐ら(、適切な時に通常のBIOSデータリンクトライバに連鎖することに なろう。
1.4.3 データリンク上のタブレットデータ主プロセツサは、タブレットデ ータをそこに送るように要求することができる。
このような要求の後、インターフェースプロセッサは、5バイトのタブレットデ ータブロックを、それらが使用可能になった時、及び疑似装置インターフェース によって用いられていない時はいつでも、主プロセツサに送出する。加えて、主 プロセツサは、それにコマンドをタブレットに送るように指揮しているインター フェースプロセッサにコマンドを送ることによって、タブレットを制御すること ができる。主プロセツサは、インターフェースプロセッサが用いることになる更 正パラメータを指定するコマンドを、インターフェース装置セ・ソサに送ること ができる。主プロセツサは、インターフェースプロセッサが、主プロセツサに送 られるために待機しているいかなるタブレットデータをも破棄すべきことを指示 するコマンドを、送ることができる。
主プロセツサ用のBIOSは、タブレットデータを受け取る機構を備えており、 これによって主プロセツサ内で実行されているアプリケーションを登録すること ができる。一度に1つ以上のアプリケーションを登録することができ、この場合 、連鎖を形成して、1つのアプリケーションによって用いられていないタブレツ トデータを、その連鎖内の下位にある他のアプリケーションに使用可能にするこ とができる。
2 疑似装置 キーボード、マウス、手書き入力装置からなる1組の疑似装置が、ユーザに使用 可能となっている。
ある「疑似装置」は、アプリケーションプログラム及びユーザの双方に対して、 多くの既存のアプリケーションプログラムが動作するように設計された装置を、 実際にシミュレートする。他のものは、アプリケーションが動作するように設計 された装置のいずれとも異なり、ユーザを対象にしている。例えば、手書き入力 装置は、標準装置へそれほど関係するものではない。ある意味では、手書き入力 装置は、以前は手書き入力を用いるために特に開発されたアプリケーションとの み使用可能だった手書き入力を、(ユーザに対して)シミュレートするものであ る。アプリケーションの観点からは、この装置は、キーボードをシミュレートす る。キーを含む必要はないが(実物またはシミュレーション)、手書き入力装置 は、アプリケーションにキーコードデータを供給する。
これらの入力設備は、それらがユーザに対してどの特定のアプリケーションプロ グラムとも独立しており、かつ相互にも高い独立性を持って存在しているという 意味において、「装置」である。仮想的には、装置表示は、アプリケーション表 示と常に干渉しているのではない。これは、大きな表示装置上の別個のウィンド ウのように、各々に別個の表示領域を与えることによって、達成することができ る。しかしながら、好適実施例では、アプリケーション表示とインターフェース 装置の表示との両方に対して、1つのスクリーン領域を用いている。ユーザに対 して、装置はアプリケーション表示の上にあるように見える。 更に、実施にお いて、これらの装置は、それらが用いられ得る種々のアプリケーションプログラ ムとは独立している。好適実施例では、それらは、アプリケーションが実行され るプロセッサとは別個のプロセッサを用いても、部分的に実施される。
装置シミュレーションとアプリケーションとの間に最高の独立性をもたらすため に(そして共有される表示性能を向上させるために)、上述のようなハードウェ アサポートが、疑似装置表示のために備えられている。表示面が備えられており 、該表示面のタイプに対して多くの既存のアプリケーションが設計された。2つ の面、即ちインク面及びマスク面も追加されている。ある画素に対する表示され た値は、以下のように、3つの面の各々からのその画素の値から、決定される。
即ち、マスク面画素が一方の値を有する時、アプリケーション面画素値が表示さ れ、マスク面画素が他方の値を有する時、インク面画素値が表示される。
インク面がそう名付けられたのは、その機能の1つが「電子インク」の表示であ り、時として、ユーザがペンで紙の上に書いているかのように、スタイラス、タ ブレット及び表示装置が動作するからである。スタイラスがタブレットと接触し ている時、スタイラスをタブレットを横切って動かすにつれて「インク」の痕跡 が表示される。インクを用いない動作の多くに対して、例えば、スタイラスがあ るアイコンをドラッグする際、表示にインクを散乱させる必要はない。一方、電 子インクはインク面のみに限定される必要もない。シミュレートされた装置(疑 似装置)のみがインク面を用いるのに対して、特定のアプリケーションは、これ らのアプリケーションによって用いるために備えられた表示面にインクを塗る( put)ことができる。例えば、「ペイントコアプリケーションは、ロケータ装 置の動きに応答して、電子インクを表示する。
1列の機能ボタンも設けられている。図1に示されているものは、rDEVIC 3J、rcONTRAsTJ、rFREEsTYLEJ、rJNFOJ (16 a、16b、 15c及び16d)である。これらは、通常のスクリーン表示の 上に延在するタブレットの一部分に配置されている。これらのボタンの各々とし て機能するタブレットの部分を示すために印刷された永久ラベルがある。代替的 に、表示装置が機能ボタンに対するラベルを提供することもでき、そして該機能 ボタンは、タブレットとは別個の機構で実施することもできる。いずれの場合で も、コントラストの調整が悪く表示が空白に見える時に、コントラストボタンを 識別するなんらかの手段(表示装置から離れた)を備えるべきである。
機能ボタンは、疑似装置の制御において(特に)用いられる。
「装置トレイ(tray)Jをアクティブ化及び非アクテイブ化するために用い られるDEVICEボタン16aがある。ユーザが最初にDEVICESボタン を押圧した時(当該装置ボタンに対応するタブレットのその部分に接触すること によって)、使用可能な疑似装置のトレイが表示される。すると、ユーザはトレ イから、ユーザがアクティブにしたい装置を引き出すことができ、そして既にア クティブ化されているがユーザが現在必要としていないものをトレイに引き戻す ことができる。次に、ユーザがDEVICESボタンを再度押圧すると、トレイ とその上のいかなる装置も(表示から)除去される結果となる。便宜上、装置は 、トレイ上で小さなアイコン(スタンプと呼ばれる)として現れる。また、トレ イが表示される時、既にトレイから除去されたためにスクリーン上にある装置も 、スタンプの形状で表示される。トレイが除去されると、残りの装置のどの視覚 表現も(即ちトレイ上に配置されていないもの)、それより大きく、より複雑な アイコンによって、置き換えられる。このアイコンは、ユーザが「動作させる」 疑似装置の視覚形状である。
情報装置をアクティブ化及び非アクテイブ化するために用いられるINFOボタ ン16dがある。ユーザが最初にINFOボタンに触れると、INFOアイコン が現れる。最初に、INFOアイコンは、それをどのように用いるかについての 情報を表示する。次に、ユーザは、ユーザが何についての情報が欲しいかについ ての機能ボタン、即ちアイコンに触れる。これによって、触れられたオブジェク トに関する情報が、IFOアイコンのテキスト領域に現れる。
CoNTRAST機能ボタン16bは、表示の外観の1つの面である、コントラ ストを制御するものである。このボタンは2つの部分を有している。1つはコン トラストを増加させるため、1つはコントラストを低下させるのものである。
これらのボタンは、1/2秒間隔で自動的に繰り返し、最初のコントラストの増 分は小さく、後に増分は大きくなる(比較的長い時間、スタイラスを押し続けた 時)。
機能ボタンは、特定のアプリケーションをアクティブ化するために、設けること ができる。例えば、rFREEsTYLEJ (Wang Laborator ies、!ncの商標)ボタン16cが設けられており、これは注釈及びデスク トップ管理アプリケーションをアクティブ化する。特に、このボタンによって、 データがインターフェースプロセッサから、主プロセツサ内の常駐Freest yle (フリースタイル)ドライバにデータを送ることになり、それが追加の Fre、estyle構成物をロードする。インターフェースプロセッサは、イ ンターフェースプロセッサによって与えられたユーザインターフェースが使用し ないタブレットデータを、主プロセツサに使用可能にする。Freestyle アプリケーションは、このタブレットデータを読み込む。
これらの機能ボタンは、異なる方法で組織することもできる。例えば、Free style及びInfoは、Devicesl−レイから得ることができる。い くつかまたは全ての装置に対して別個の機能ボタンがあることもあり、極端な場 合、Devicesトレイは必要でな(なる。表示装置のバックライト照明の量 を制御するためのLIGHTボタンのような、付加的な機能を行なうために、さ らにボタンを設けることも可能である。
2.1 ユーザインターフェースアイコンに共通な特性アイコンは長方形(また は長方形の組み合せ)である。また、アイコンは別の形状でもよいが、アイコン の描画及びスタイラスがアイコン内にあるかの判断は、長方形の場合が最も効率 的に行なわれる。
アイコンの殆どが「サブアイコン」を含んでいる。これらのサブアイコンは、典 型的に特定の機能と対応し、ユーザがスタイラスを用いて叩く、ボタン領域とし て機能する場合も多い。
図10は、3つの疑似装置に対するアイコンを示すスクリーン表示である。これ らのアイコンの背後には、キーボードストロークの形状の入力及びマウス入力を 受け取り、そしてタブレットデータを受け取らないように構成された、テキスト 編集アプリケーションの表示がある。
キーボード装置は、4つのキーグループ(機能キーグループ、主QWERTYキ ーボード、カーソル制御キーバッド、数字キーバッド)並びにドラッグ及び構成 ボタンと共に示されている。
手書き装置は、上部にサイズ変更、ボックス幅調整、挿入、削除、及びドラッグ 動作用のボタンと共に示されている。また、表示された文字ボックスの左及び右 にスクロールするためのボタン、1列の文字を送るためのボタン、及び3組の文 字をオン及びオフするためのボタンも示されている(適切に文字認識アルゴリズ ムを指揮するため)。アイコンの主体は、一連のボックスを表示しており、この 中にユーザは文字を書くことができる。この図に示されている例に関して、認識 結果が、文字を書き込むボックスの上に示されている。
マウス装置は、サイズ変更、拡縮率(拡大縮小率)、及びドラッグ動作用ボタン 、並びに3つの「マウスボタン」制御ボタン(1つはマウスの左ボタンに対応し 、1つはマウスの右ボタンに対応し、更に1つはマウスの左ボタン及び右ボタン を同時に、効果的に押圧するためのものである)と共に示されている。ボタン領 域の下に示されているのは、マウス移動領域であり、これは物理的なマウスと共 に用いることができるマウスバッドに対応する。
図10では、DEVICES、C0NTRAST、FREESTYELE、及び INFOボタンは、表示装置の右側に沿って示されている。これは、上部に沿っ て示されている図1に示す例の代替案である。
2、1.1 スタイラス位置のユーザへのフィードバックスタイラスが、タブレ ットに対して感知できる程度の近さにある時(タブレットが適切にスタイラスを 感知してX−Y位置データを供給することを意味する)、スタイラス位置をユー ザに示すことができる。これは、タブレットが表示装置上に配置されていない時 は、特に助けとなる。いずれの場合でも、これは、小さな的に当てるというユー ザのタスクを簡単にし、そしてユーザにとってスタイラスがあると思われる表示 装置上の場所と、表示装置上でシステムがスタイラスを配置した場所との間の小 さな不一致を、ユーザが克服する助けとなる。一般的に、スタイラスが隣接して いる時、カーソルはその位置を示す。ある状況では、このカーソルの出現は位置 に依存し、したがって更にフィードバックを与える。他の状況では、位置のフィ ードバックは、スタイラスの位置に応答して、表示装置の特定の領域を強調する 形をとる(たとえば、疑似キーボード上のキー)。
2、1.2 スタイラスの押し下げ 多(の状況においてスタイラスが押し下げられる時間は、特に重要なことではな い。他の状況においては、スタイラスを押し下げることが、自動的にある機能を 繰り返す結果となる。例えば、疑似キーボードキー上でスタイラスを押し下げる と、物理的キーボード上であるキーを押し下げているのと同様な自動繰り返し動 作が、結果的に得られる。更に別の状況においては、スタイラスを押し下げるこ とが、ある機能ボタンを「ロック」することになる。例えば、疑似マウスボタン は、スタイラスが短い時間下げられる時は、押圧及び開放を模倣する。一方、ス タイラスが十分長(押し下げられると、スタイラスが除去された後でも、疑似マ ウスボタンは、「押圧」されたままとなる。
2、1.3 ユーザ目標エラーに対処するユーザインターフェース規則種々の規 則を用いてユーザインターフェースの動作を支配(govern)L/、スタイ ラス動作がどのように解釈されるかについてのユーザの理解を容易にする。
2、1.3.1 r点接触」規則 殆どの状況では、「点接触」規則は、以下にのべるアイコンの放ff1F(Is ave)規則及びアイコンへのドラッグ規則の組み合せよりも、有用である。
点接触規則とは、行なわれる機能が、スタイラスが接触した最初の点によって、 決定される′ことである。「アイコンへのドラッグ」規則と同様、あるアイコン への境界を横切ることによっては、ある機能はアクティブ化されない。しかしな がら、この規則は、スタイラスがアイコンを離れても、ある機能の実行を継続さ せるものである。
点接触規則はユーザに対して、疑似マウス装置に特に有用である。この規則は、 ストロークがマウス−移動領域において開始するのであれば、用いられるスタイ ラスが広く移動できるようにして、マウスデータを発生しつつ、スクリーン上に 小さなマウスアイコンを保持することを、可能とするものである。
2、1.3. rアイコンへのドラッグ」規則「アイコンへのドラッグ」規則に よれば、あるアイコンの機能は、スタイラスをそのアイコン内にドラッグするこ とによっては、開始されない。あ乞機蝿が、点接触規則にしたがって実行されて いる場合、スタイラスが他のアイコンに侵入しても、その機能は続けられる。あ るアイコンの機能をアクティブ化するには、そのアイコン(またはサブアイコン )の内側で、押し下げる必要がある。
2、1.3.3 rアイコン放置」規則ドラッグ及びサイズ変更動作のために、 点接触規則に代るものが用いられる。
スタイラスがあるドラッグ、またはサイズ変更サブアイコン内にあり、そのサブ アイコンを離れた時、 ・そのアイコン機能が停止し、 ・ユーザインターフェースは、スタイラスがタブレットから持ち上げられるまで 、全てのタブレットデータを無視する。
スタイラスが他のアイコン、或は空領域から当該アイコンに移動しても、変わり はない。
この規則は、ドラッグ及びサイズ変更の間維持されるが、これらの動作中、一般 的にスタイラスがアイコンを離れないようにアイコンが動くからである。しかし ながら、最大サイズに達した場合、またはユーザが境界を越えてアイコンをドラ ッグしようとした場合、スタイラスはそのサイズ、或はサブアイコンのドラッグ を放!して、動作を終える。
この規則を、点接触規則の代りに基本規則として適用することもできる。
21.4 ドラッグ動作 全ての装置は、「ドラッグ」サブアイコンを有する。これは、例えば、アプリケ ーション表示の特に重要な部分が隠れてしまうのを避けるために、ユーザに装置 を表示上で移動させるようにするものである。この「サブアイコン」は、特定の 方法で視覚的に示す必要はない。むしろ、他のサブアイコンによフて占められな いアイコン領域全てをサブアイコンが包含することもできる。
サブアイコンのドラッグは、装置アイコンの右上角に配置されている。
スタイラスがあるドラッグサブアイコンに触れると、装置アイコンが、XOR「 アウトライン」によって置き換えられる。これは、ユーザに、ドラッグ機能がア クティブ化されたことを、示すものである。
スタイラスが持ち上げられるまで(または、以下に説明するように、スタイラス がドラッグサブアイコンの外に移動するまで)、このアウトラインは、スタイラ スの動きを追跡するように、スクリーン上を移動する。言い替えれば、ユーザは アイコンを「ドラッグ」することができるのである。
インク面表示の縁部を越えて移動するアイコンの部分はない。しhがって、アイ コンを縁部に抗して押しやると、アイコンはもはやスタイラスを追跡せず、そし てスタイラスはドラッグサブアイコンからでてしまう。このようにした場合、ド ラッグ動作が終了し、スタイラスを持ち上げるまで他の動作は行なわれない。
2、1.5 サイズ決め 全てのサイズ指定可能装置は、「サイズ」アイコンを有している。
サイズサブアイコンは、装置アイコンの左上角部に配置されている。サイズアイ コンの他の可能な配置場所は、アイコンの周囲全体または、アイコンの全ての角 を含む。
スタイラスがサイズサブアイコンに触れると、装置アイコンが白黒の輪郭線によ って置き換えられる(処理負衛を減らすために、XORを取った輪郭線を用いる ことができる)。これは、ユーザに、サイズ決め機能がアクティブ化されたこと を示す。
スタイラスが持ち上げられる(または、以下に説明するように、スタイラスがサ イズサブアイコンからでる)まで、この輪郭線のサイズが変化し、スタイラスの 動きに追従する。アイコンの右下角の位置は、固定されたままである。言い替え れば、ユーザは、アイコンの左上角をドラッグするのである。
アイコンの部分で、インク面表示の縁部を越えて移動する部分はない。あるアイ コンはサイズの制限を有することもある(水平及び垂直の一方又は両方の寸法、 及びアイコン領域の制限があり得る)。これらの要素は、サイズの変更がスタイ ラスに追従するのを停止する結果となり、結果として、スタイラスは、サイズア イコンからでることもある。
機能ボックス(サブアイコン)は、アイコン全体のサイズにわたって拡大縮小す る。手書きア・イコンでは、文字ボックスのサイズは変化しない。ボックスの数 は視覚的に変化する。
ユーザは、キーボード装置アイコンのサイズ変更ではなく、アクティブとなるキ ーボードの部分を選択することができる(以下に論じる、キーボード装置構成ボ タンの議論を見られたい)。
各角部のサブアイコンのサイズを変更する、または境界線をドラッグすることに よってサイズ変更を行なう等、サイズ変更のための他の構成を用いることもでき る(例えば、Microsoft Corporationのウィンドウ製品に 用いられているように)。
2、1.6 スタッキング 表示装置上のアイコンは、各々新しくアクセスされた順(INFOアイコン等を 用いて機能ボタンによって接触またはアクティブ化される順)に、整列されてい る。アイコンは、表示装置上の重複領域を覆うこともある。アイコンが重複する 時は、それらのアイコンの最も新しくアクセスされたものを、重複領域に表示す る。
このように、アイコンが集められた時、ユーザはそれらをアイコンの重複スタッ クとして見ることができる。1つのアイコンのどこか一部に触れると、それが最 上部のアイコンとなる。他のアイコンに完全に覆われているアイコン(よ、その 上のアイコンが十分に移動されてその覆われているアイコンの一部が露出するま で、触れることはできない。
2、1.7 文字の送出 アプリケーションへの文字の送出は、そのアプリケーションにとっては、文字が キーボードから来るかのように行なわれる(好ましくは、ハードウェアによって )。このように、文字の送出は、キーボードが行なう低レベルのI10100実 行を伴う。これの1つの結果は、アスキー文字コードではなく、キーコードデー タ(キーの押圧及び開放についての情報)が送出されることである。
ユーザインターフェースサブシステムのファームウェアは、シフト及びシフトロ ックの状態に耐えず注意しているので(選択的な物理的キーボードからのキー操 作による変化も含む)、例えば、シフトされた状態でユーザが小文字を書いた時 、疑似装置は、無シフト/文字/シフト情報を含む連続情報を、ファームウェア に送出することができる。次に、ファームウェアはこれらのコードを必要に応じ て変換し、キーボードボートを介して主プロセツサに送出する。
疑似キーボードのデータを主プロセツサに送出する、インターフェースプロセッ サの主プロセツサとの低レベル通信は、物理的キーボードが取り付けられている 時に実際のキーストロークデータを送出するのに用いられるのと同一である。
主プロセツサとの通信を制御する低レベルソフトウェアは、インターフェースプ ロセッサのファームウェアの一部である。これは、疑似装置ユーザインターフェ ースからデータを受け取り、どのようにデータが識別されるかにしたがって、キ ーストロークデータ、マウスデータ、またはタブレットデータとして、送出する 。 この低レベルソフトウェアは、1つの装置(例えば疑似キーボード)の代り に送られる多コードシーケンスが、他の装置(例えば物理的キーボード)の代り のデータ送出によって、不適切に割り込まれないことを保証することができる。
この低レベルソフトウェアは、シフト状態を追跡している。シフト状態情報を適 切に用いることは、(上述のように)疑似ユーザインターフェースいかんである 。
2.2 手書き認識装置 手書き認識入力装置は、手書き文字がキーボードから発したものであるかのよう に、アプリケーションに得られるようにする機構を備えるものである。手書き認 識入力装置用アイコンの主体は、ユーザが文字を書き込むことができるボックス を含んでいる。(文字位置の輪郭を定める他の方法、ティックマーク、l\ツシ ュマーク、影領域等を用いることもできる。更に、このような明示的な文字分離 に頼らない文字認識技術を用いることもできる。)文字が書き込まれた後、ボッ クスが文字の列を編集する手助けをする。また、ストロークを文字に導く(p  a r s e)ための他のアルゴリズム(ストロークのセグメント化)を用い 、ボックスを表示する必要性をなくすことも可能である。
ストロークデータは、認識アルゴリズムによって処理され、別個の文字として読 み取り可能に書かれた、印刷可能な文字の全てを認識アルゴリズムが認識する。
認識アルゴリズムに供給されるデータは、ストロークの記述、それらの文字ボッ クス内での位置、及び文字集合の指示(英数字、アルファベットのみ)を吹くん でいる。続き文字用のより複雑なアルゴリズムを用いることもできる。
事前訓練アルゴリズムは、ユーザがアルゴリズムを訓練する必要が全くな(なる ので、有用である。更に、ユーザは、ある特定の奇異な文字を扱うためのアルゴ リズムを訓練する選択ができる。訓練を必要とするアルゴリズム、及び訓練する ことができないアルゴリズムも使用可能である。
文字が認識された後、ユーザは、認識された文字の列を編集することができ、そ してそのストリングをアプリケーションに送出することかできる。
2、2.1 文字の書き込み 各文字は、別個のボックスに書き込まれる。文字は、ボックスにどのような順序 で書き込んでもよい。左から右に文字を書く必要はない。ボックスに書き込むと き、電子インクが表示され、従来のペンを用いた書き込みを模擬する。
2゜2.1.1 ストロークの案内及び文字認識手書き文字は、1つ以上の手書 きストロークで構成されている。手書きストロークと考慮されるために、スタイ ラスは、アイコンの書き込み領域内で開始する。
この領域は、文字ボックスよりわずかに(たとえば、約1/8インチ)広くなっ ている。ユーザがスタイラスを持ち上げるか、あるいはスタイラスが文字書き込 み領域から離れた時、ストロークは終了する。電子インクが手書きストロークに 関して表示される。これは、システムが文字ストロークが何であるかを正確に、 ユーザに示す(そして、ユーザの書き込みを助ける)。
ストロークバッファは、2つの部分を有する。その一方はタブレットの解像度を (より高い解像度が文字認識にはより必要である)を含み、他方は、表示装置( 画素)の解像度(電子インクの表示を制御するために用いる)のデータを含んで いる。
あるストロークの「平均」位置が、どのボックスに「入っているか」を判定する 。単一列の文字ボックスに対して、ストローク内のデジタル化された点のX座標 の平均を用いて、ストロークが関連付けられるボックスを判定する。
ストロークの案内−アルゴリズムA 以下のことは、ストローク毎の処理に対する1つの手法を要約したものである。
・以前のストロークがない場合 一認識アルゴリズムをこのストロークに適用する。
−二のストロークが「入っている」ボックスに、結果を表示する。
−このストロークをセーブする。
・1つ以上の以前のストロークがあり、それらが同一ボックスにある場合−この ストロークを以前のストロークのグループに加える。
−認識アルゴリズムを、そのストロークのグループに適用する。
一対応するボックスに、新しい結果を表示する。
−グループ内のストロークをセーブする。
・1つ以上の以前のストロークがあり、それらが別のボックスにある場合−他の ボックス中のインクを消す(そのボックスに対する認識結果は表示し続ける)。
一以前のストロークを破棄する。
−このストロークが「入っている」ボックス内に結果を表示する。
−このストロークをセーブする。
・スタイラスが、書き込み領域の外側に触れたり、或いはある時間期間(約1秒 のような)新しいストロークがない場合−残りのインクを消去する(認識結果は 表示し続ける)。
−以前のストロークを破棄する。
ストローク案内−アルゴリズムB 以下に、ストローク処理の多少異なる手法を説明する。
・次のストークを得て(あるストロークがリターンされたなら、それは手書き領 域にある)、それを(たぶん空の)ストロークバッファに加える。
・(複数ボックスの1本の線に対する)ストロークの「平均」X位置を計算する ことによって、(どの文字ボックスと当該ストロークが関連付けられているかを 、判断する。その平均X位置が(ボックスの内の1つの中ではなく)手書き領域 の左または右端にある場合は、そのストロークを無視する。
・ストロークが、ユーザが4つ以上の文字を消そうとしたことを示す場合、消さ れた文字(及びそれらのボックス)を削除する(それらのボックスは半分以上線 が引かれたものである)。
・ストロークが現ボックスにはない場合−それを現ボックスとする。
一以前のストロークに対応するインクを消去する。
−以前のボックスに対する認識結果を表示する。
−新しいストロークを、ストロークバッファの先頭に移動する(他のストローク を除去する)。
一ボックスに存在し得るいずれの認識結果も消去する。
−新しいストロークを描く。
・ストロークバッファ内のストロークに対する、認識結果を得る。
・次のスタイラスの接触を待つ。余りに長くかかるか、或いは次のスタイラスの 接触が手書き領域の外側である場合、−現ボックスの認識結果を表示する。
−以前のストロークに対するインクを消去する。
−ストロークバッファをクリアする。
2、2.1.2 インクの消去及び認識結果の表示従来のシステムでは、インク の消去及び認識結果の表示時刻を調整するための種々のアルゴリズムが用いられ ている。これを行なうのに、書き込みプロセスへの混乱(distractio n)を最少にし、かつユーザに認識プロセスについての助けになるフィードバッ クを与えるように、それを行なうのが好ましい。
認識結果は、ユーザが書き込む領域から離れた所に表示することが出来る。これ は図10に示されており、ここで認識結実用空間は、文字が手書きされる空間の 上に示されている。この場合、インクの表示を残しながら認識結果を表示するこ とができる。
代替的に、認識結果を、ユーザが文字を書き込む領域に表示することもできる。
しかしながら、この場合、対応するインクを消去せずに認識結果が表示されると 、その結果とユーザの手書きが重複して、判読不能な混乱となり、ユーザを悩ま す結果となる場合が多い。
ある従来のシステムにおいて用いられた手法は、ユーザが十分長い期間中断し、 そしてそれまでに書かれた文字全てのインクを一度に消去するまで、待つという ものである。この突然の消去それ自体は、混乱を招き、そして多(の文字を一度 に消去することにより、誤認識ではなくセグメント化エラーによる認識エラーを 、ユーザが理解することが困難になる。
最適の方法は以下のものである。
1、書かれた各ストロークをインクで書くために用いられた座標の全てのバッフ ァを、ストロークを基準に、保持する。
2、区分は器(segmenter)によってストロークを文字にグループ化す るので(好ましくは、リアルタイムでであるが、必ずしも必要ではない)、シス テムはそれらのストロークの座標のバッフアキオフされた記録を用いて、セグメ ント化された文字のインクのみを消去する。消去されたインクに対応するバッフ ァ記憶された座標のためのメモリ空間は、したがって、再使用することができる 。
3、システムは、そして、直ちにまたはある遅れの後に、それらのストロークに 対する認識結果の文字を、いかなる残されたインクもなく、表示することができ る。
この方法を用いれば、不明瞭にするインクを残さずに、結果を文字毎に表示する ことができる。セグメント化したストロークの認識文字への変換は明白に起こる ので、ユーザは、セグメント化エラーが誤認識の原因である場合を、容易に知る ことができる。少数の保留中のストロークの座標のみをバッファ記憶すればよい ので、インク座標用の記憶空間を減少させることができる。
完全にセグメント化された文字の代りに、各ストロークの終端で、その時の認識 結果を表示するように、この方法を変更することもできよう。加えて、本方法は 、編集過程の一部として、認識結果の代りに、インクを呼び出しそして再表示す るようにすることもできる。
ユーザの手書き文字を、極度にことなる外観で置き換えることは、ユーザを混乱 させる原因となる。例えば、手書き文字は、典型的に比較的細い線の集合として 現われ、文字のデザインは簡素である。対称的に、より判読可能な文字は、重量 がより重く、そして髭飾り(serif)を含むこともある。
このように、本例示的システムは、手書き装置によって用いられるための、「手 書き」フォントを備えている。このフォントの文字は、細線で構成されている。
更に、細線は、完全に直線または均等に湾曲したセグメントから成るよりはむし ろ、手書き文字を象徴するように、多少うねりがある。
文字認識結果を、ユーザが書き込んだ領域内に表示しようとする時、文字は、手 書きフォントで表示される。
2、2.2 編集 2、2.3 機能ボタン 手書き認識入力装置アイコンは、いくつかのサブアイコンを有する。
−ドラッグ ーサイズ変更 一挿入 一削除 一送出 2、2.3.1 挿入 ユーザは、空白のボックスを挿入することができ、これはある空間のために空白 のままにしておくことができ、またユーザがそこに文字を書き込むこともできる 。挿入機能ボタンに触れることによって、ボックスが挿入され、暗く変化するこ とにより、それがアクティブ化されたことを示す。そして、ユーザはテキスト線 内の一点に触れて、どこに空白ボックスが挿入されるべきかを示し、ボックスの 線を横切ってスタイラスをドラッグする。空ボックスが挿入され、該ボックスは ユーザが最初に触れた所にもっとも近いボックスの境界で始まり(即ち、1つの ボックスの中間と、次のボックスの中間との間のどこかに触れると、それら2つ のボックスの間に空白ボックスが挿入される)、ユーザがストロークを終了させ た所に最も近いボックスの境界で終る。
2、2.3.2 削除 ユーザは、挿入機能ボタンを用いてボックスを挿入したのと類似の方法で、削除 機能ボタンを用いることによって、ボックスを削除することができる。ユーザが 削除機能ボタンに触れると、それは暗く変化して、それがアクティブ化されたこ とを示す。次にユーザは削除すべきボックスに触れ、スタイラスをボックスの線 を横切ってドラッグする。ユーザがスタイラスを持上げると、ストロークが始ま ったボックスからストロークが終ったボックスまでが削除される。
2.2.3.3 消去 ユーザは、ボックスから文字を消去することができる(ボックスそのものを削除 するのではなく、空白ボックスは残す)。ユーザが消去機能ボタンに触れると、 暗(なり、それがアクティブ化されたことを示す。次に、ユーザは消去すべきボ ックスに触れ、スタイラスをボックスの線を横切ってドラッグする。ユーザがス タイラスを持ち上げると、ストロークを開始したボックスからストロークを終え たボックスまでの文字が消去される。これは、「消去」ではボックスが残ること で、「削除」動作とは相違している。
2、2.3.4 スクロール動作 アプリケーション表示の過度な不明瞭を避けるために、ユーザは手書きアイコン を小さく保持したいことがある。
左スクロール機能ボタンに触れると、テキストボックス内の全ての文字が、−文 字左に移動する。スタイラスを押し下げると、機能は自動的に繰返す。右スクロ ール機能ボタンも、同様に作用する。
スタイラスがボックスの外側に触れた時(例えば、スクロールボタンの1つに触 れる)ボックス内のいずれのインクも消去されるので、スクロールするインクは な(、認識された文字だけである。
2.2.3.5文字をアプリケージ道ンに送出好適実施例では、手書き認識入力 装置は、バッファモードで動作し、ここではユーザが送出機能ボタンに触れるま で、文字は送出されない。代替的に、付加的モードを備えることができ(手書き 認識入力装置の機能ボタンによって選択可能)、それが完了した後各文字を送出 する。非バッファモードは、2つの選択可能なサブモードを含む。それはバック スペース処理を伴うか、及び伴わないかである。
バックスペース処理が動作中に、ユーザが現在の線に既に送出された文字に対応 するボックスの1つに文字を書き込むと、一連のバックスペースが送出され(そ の線内の後ろの文字を下げるため)、その後に新しく書き込まれた文字が続き、 その後にその線の右に現われる文字が続く。バックスペース処理は、現在の線に おいて修正するために、ユーザに後戻りや打ち直しを許す(キーボードを用いる 時)ようなアプリケーションには、有用である。
バッファモードでは、ユーザが「送出」機能ボタンを押すと、最後に手書き装置 がクリアされてから書き込まれた全ての文字がアプリケーションに送出され、そ して手書き装置がクリアされる(例えば、認識された文字の指示が表示から除去 される)。送るべき文字がなければ、キャリッジリターン文字が送出される。
非バッファモードでは、書き込みが空ボックスの右のボックスで開始した時、ス ペース記号が冬空ボックスに対して送られる。バッファモードで文字が送出され る時は、スペース記号がいずれの空白ボックスに対しても送出される(連続して (t ra i I ing)空白が送られない場合は除く)。
2、2.3.6 移動及びサイズ変更 ドラッグ及びサイズ変更サブアイコンは、上述した一般的なアイコンと同様に動 作するが、書き込みボックスの扱いには、特別の注意を要する。アイコンの高さ を変える時、書き込みボックスの高さも比例して変化する。しかしながら、アイ コンの幅を変える時は、文字を書き込むボックスの幅は変化されない。むしろ、 表示されるボックスの数が変わる。
ボックスの高さを変えるには、ユーザはボックスサイズサブアイコンに触れ、ボ ックスサイズを変化すべき量だけスタイラスをドラッグし、そしてスタイラスを 持ち上げる。スタイラスがボックスサイズサブアイコンに触れると、そのサブア イコンの色が変わり(例えば、補色になる)、その機能がアクティブ化されたこ とを示す。スタイラスが持ち上げられるまで、右下ボックスの右下角(1ライン 以上のボックスがある場合)が、スタイラスが移動するのと同じ方向に移動され る。左上ボックスの左上角は固定されたままである。サイズ変更は、表示された ボックスのライン全体に対するものなので、ボックスサイズの大きな変更は、ボ ックスサイズサブアイコンにおいて数回のストロークを要することがある。
アイコン全体のサイズを太き(する時、またはボックスのサイズを縮小する時、 1つ以上の追加ボックス(またはボックスの1ライン以上の追加ボックス)が表 示される程度に変化を大きくしてもよい。好ましくは、ユーザは現在の書き込み の右及び下に、追加の空間が現れることを期待する可能性が高いので、それらは ラインの右端に追加すべきである(または、ラインの追加の場合は下に)。
2、2.4 多数ラインの扱い 手書き認識入力装置は、多数ラインを取り扱うように拡張することができる。
多数ラインが用いられる場合、現ボックスの有効な境界を、上または下のボック ス内に拡張し、先に描いたストロークを閉じなければならない。これによって、 文字rTJの上部のようなストロークを、それが実際のボックス境界の完全に外 側に達しても、他のストロークと共に適切に含ませることが可能となる。
手書きアイコンが1ライン以上のボックスを扱うように構成されている場合、以 下の手法のいずれかを用いて、いつ文字をバッファモードで送出するかを決定す ることができる。
1.単線での場合のように、ユーザが送出ボタンに触れるまで、何も送出しない 。そして、各ラインの後にキャリッジリターンを送出する。
2、ユーザが新しいライン内に書き込む時、ユーザが先に書き込んだラインを送 出し、それにキャリッジリターンを続ける。
3、ユーザが新しいライン内に書き込む時、キャリッジリターン及びまたはカー ソル移動コードを送出し、ユーザが先に書き込んだラインに対する、新しいライ ンの位置を(文字を送出しているアプリケーションに)示そうとする。
2番目及び3番目の代替案は、ユーザが上から連続して一度に1ライン下がるよ うに書き込む場合には、同一である。
2、2.5 ポインティング及び書き込みモードの自動選択スタイラスを用い、 このスタイラスをポインティング装置(マウスの機能と同様)または書き込み( 例えば手書き認識または注釈のために)のいずれかとして用いることができるよ うにする、多くのシステムが開発されている。ユーザがポインティング及び書き 込みモード間で明示的に切り替えを開始する機構は、従来から備えられている。
その例には、次のものが含まれる。ユーザは書き込みの前にスタイラスでメニュ ー項目を取り上げ、ユーザはそのフィールドに書き込む前に「書き込み」フィー ルドをスタイラスで取り上げ(ユーザが書き込もうとする領域を、システムが表 示することに応答して)、ユーザは書き込みの前にスタイラスで二重クリックを 行ない、ユーザは書き込みの前にスタイラス側のバレルスイッチを押圧して保持 する(同様の機構は、書き込みからポインティングへの切り替えにも、設けられ る)。明示的動作の要求は、書き込みの前後で、ユーザの動作を中断する。
スタイラスが動作するモードを決定するために手書き認識装置によって用いられ る技術の変容も、手書き認識装置のコンテキスト以外で有用である。例えば、こ れは、表示された様式内のある領域内に情報を手書きすることをユーザにめる、 「様式書き込み」アプリケーションに用いることができる。
この技術は、ユーザにとって書き込み領域として自明の表示領域に書き込みが行 われることを想定している。即ち、ユーザが濃き混むスペースを備えた汎用のペ ーパ形態の表示画像である。
この技術は以下の通りである。
1、スタイラスは通常指示モードで動作する。
2、ユーザが書き込みフィールドの領域内(長方形輪郭内のような)にスタイラ スを押し付けた場合、システムは指示久方とじてのスタイラスデータを無視し、 書き込みモードに切り変える。
3、書き込みモードは、スタイラスが持ち上げられるまで、スタイラスの位置に 関係なく、維持される。
第2の規則の代替案として、システムは、最初の接触点をポインタの動作として 受け入れることができ、または書き込みモード終了時の持ち上げ点を、ポインタ の動作として受け入れることができる。これによって、書き込みの開始が、入力 フィールドを「選択する」ために用いることもできるようになる。
第3の規則の代替案として、ユーザが(1つ以上の書き込みストロークの後)持 ち上げ、他の書き込み領域を含む書き込みフィールド外の点で下ろすまで、シス テムは書き込みモードに留まることができる(別の書き込みフィールドの場合、 システムは直ちに書き込みモードに再度切り変えることになろう)。
基本技術は、書き込みフィールドがどこに位置するかについてユーザに見える指 示を与え、更に、スタイラスが触れた場所を基に、書き込み及びポインティング モード間で直接切り替えができるようにする。
2.3 キーボード装置 疑似キーボード装置は、アイコン状キーボード上でスタイラスを用いて「タイプ 」することによって、ユーザにキーボードデータを太刀させるものである。
詳細なキー配置に関する、疑似キーボード装置のそれらの態様は、システム設定 (filえば、文字セットの国別、QWERTYまたはドヴオラック(Dvor ak)、機能キーの数)中に、変更することができる。
キーボードのその他の態様は、キーボードアイコン上の構成機能ボタンを用いる ことによって、いつでも変更することができる。キーボードは、個々に選択可能 で、かつ種々の方法で互いに対して物理的に配置可能な部分に構成されている。
キーボードの必要ではない部分を除去することによって、下層のアプリケーショ ン表示の可視性を最大化することができる。
2.3.1 タイプ入力 キーのコードは、ユーザが対応するキーの表示にスタイラスで触れた時に、送出 される。接触すると、キーの表示に影陰が付いてユーザにフィードバックする。
スタイラスが「キー」と約1/2秒以上接触し続けた場合、スタイラスがキー内 に留まっている限り、キーは1秒当り約5回の比率で自動的に繰り返すことにな る(キーボード機能をシミュレートすることを、タイプマチイック(typem atic)動作と呼ぶこともある)。アプリケーションは、BiO2を呼び出す ことによって、繰り返しの遅れ及び比率を調整することができる。
別な手法は、キーボード装置を、「アイコンの放置」及び[アイコンへのドラッ グ]規則の例外とすることであり、接触時ではなく持ち上げ時にキーコードを送 出ことである。こうすれば、ユーザがスタイラスでキーに正確に触れる必要が減 少する。ユーザは、任意のキーに接触し、その周りをドラッグしくスタイラスが 現在どのキーに配置されているかを示す強調を付けて)、そしてそのキーからス タイラスを持ち上げる。しかしながら、この手法では、スタイラスを押し下げる ことを基にしたタイプマチイック動作が、用いられなくなる。
2、3.1.1 シフトキーの動作 従来のキーボード上では、シフト型キー(例えば、制御キー、シフトキー、アル ドシフト(a l t−sh i f t)キー)は、別のキーを押しつつシフ ト型キーを押し下げることによって、用いられる。この動作は、1つのスタイラ スでは不可能である。
したがって、疑似キーボード装置では、シフト型キーは、従来のキーボード上の 対応物とは異なった動作を行なう。シフト型キーに接触すると、それが強調され て、押圧されたことが示され、そしてそのキーが押圧されたことを示すキーコー ドデータが送出される。この強調は、シフト型キーが「押圧」されている限り続 く。(これは、非シフトキーの扱いと異なるもので、このため、キーが触れられ る毎に「押圧」及び「開放」コードが送出される。)次の接触が非シフトキーに 対するものの場合、シフト型キーは、スタイラスがそのキーから持ち上げられる まで、「押圧」され続け、その時シフト型キーの強調が除去され、シフト型キー が開放されたことを示すキーコードデータが送出される。次のキー接触が異なる 種類のシフトキーに対するものであれば、最初のものがアクティブであり続ける 。もしシフト型がアクティブ状態の時、スタイラスは通常のキー以外に接触し、 シフト型キーは非アクテイブ化される(強調を除去し、適切なキー開放データを 送出する)。このように、シフトされた文字を送出する典型的な方法は、シフト キーに触れ、そして送出すべき文字のキーに触れることである。ユーザが、スタ イラスを、送出すべき文字のキー上に、それが連続して送出されるよう長く保持 すると、その文字が繰り返えしてシフトされる。通常キーに触れている時に、2 つのシフトキーがアクティブ状態である場合、スタイラスが通常キーから持ち上 げられた時に両方が開放データを送出する。
また、大文字ロック、数字ロックのようなロックキーもある。このようなキーに 触れると、それが押圧されそして開放されたことを示すキーコードが送出される 。これらのキーの「ロック」動作は、多(のコンピュータキーボードを用いる場 合のように、疑似キーボード装置内ではなく、キーの解釈(tnterpret ation)内のものである。これらのキーは、再び触れられるまで強調された ままであり、これによってそれらのロック状態を示す。
2.3.2 機能ボタン キーボードアイコンは、 一ドラッグ 一構成 のためのサブアイコンを備えている。
また、「サイズ」サブアイコンを備えているものもある。他の装置アイコンと同 様、キーボードアイコンは、ドラッグサブアイコンを備えており、これによって ユーザはキーボードアイコンを表示装置上に配置することができる。キーボード を構成することができる。
2、3.2.1 キーボードの構成 構成ボタンに触れると、構成編集用サブアイコンが現れる。このアイコンは、記 憶空間、構築空間及び制御空間の3つの部分を有する。
4つのキーボード部分には65の可能な構成がある。ユーザは、キーボード部分 を移動し、可能な構成の1つを近似した構成内の部分を組み立てるようにするこ とによって、それらの構成の1つを効果的に選択する。
使用可能なキーボード部分を表すアイコンが、記憶空間に表示される。ユーザは 、所望部分を構築空間にドラッグし、そしてそれらを所望の相対構成内に配置す る。キーボードの一部を必要としないとき、それを構築空間から記憶空間にドラ ッグして戻す。
スタイラスを持ち上げると、構築領域にあり可能性な構成の1つを近似するよう に位置付けされたキーボード部分が、自動的に再配置され、その構成のキーボー ドを示す。残りのキーボード部分は、自動的に記憶領域内の元の位置に戻される 。
ユーザが再び構成ボタンに触れると、構成編集用サブアイコンが、構築空間内に 構成された全てのキーボード部分と共に除去される。こうして構成されたキーボ ード部分は、1つのキーボードとして結合され、1つのユニットとしてドラック することができる。
2.4 マウス装置 疑似マウス装置は、マウスデータをユーザがアプリケーションに送出できるよう にする。本例示的システムは、典型的にInternational Busi ness Machines CorporationのPS/2)ンビュータ と共に用いられる2−ボタンマウスを模擬したものである。
疑似マウス装置は、次の部分を有する。
−ドラッグサブアイコン 一サイズ変更サブアイコン 一移動拡大縮小サブアイコン −3つのサブアイコン(左、右、及び両方)を含む「マウスボタン」領域−移動 領域サブアイコン 2、4.1 マウスの動き タブレットをマウスアイコンの移動領域内に接触させつつスタイラスを移動させ ると、マウス移動データが発生する。デジタル化タブレットは、絶対XSY座標 データを与える。しかしながら、移動のみを用いてマウスデータを発生する。
スタイラスをタブレットに接触させて持ち上げても(タブレット表面上での移動 はせずに)、マウス移動データを発生しない。特に、マウス移動データは、(最 も最近)接触されたスタイラス、または最後のマウスデータが送出されてからの 、スタイラスが移動したX及びYの距離(「マウスティック」で測定した)であ る。
例えば、タブレット上のマウスの1インチの水平方向移動は、どこからその1イ ンチの移動が開始したかに係わらず、同数のマウスティックに変換される。更に 、1/4インチの移動を4回繰返すと(即ち、水平方向移動の4回の繰返し、持 ち上げ、そして 同一開始位置への戻り)は、1回の1インチの移動と同じ累積 水平方向マウス移動となる。
他の疑似マウスは、まったく移動領域を含まない。代りに、全タブレット領域( 他の機能によって使われない)がマウス移動領域として作用する。
更に他の疑似マウスを、特別なマウスドライバを許すアプリケーションと共に用 いることができる。この場合、マウスカーソルをスタイラスが差し示す位置まで 移動させるマウスデータを送出し、このようにして、タブレットによって与えら れる絶対位置情報を利用する。
2、4.2 機能ボタン 2、4.2.1 移動のスケーリング 疑似マウス装置内の移動スケーリングボタンを用いることにより、ユーザは、所 与のスタイラスの移動量に対して発生されるマウスの移動量を調整することがで きる。移動スケーリングサブアイコンは、図10のマウス装置アイコンに示され るように、バーによって現スケーリング係数を示す。スケーリング係数を変える には、ユーザは、スケーリングバーのどこかに触れ、そしてスタイラスを右また は左にドラッグして、スケーリング係数の増加または減少させる。
2.4゜2.2 マウスボタンの動作 疑似マウス上には、従来のマウス上にあるボタンをシミュレートしたボタンがあ る。しかしながら、疑似ボタンの動作が、複数の指よりはむしろ1つのポインテ ィング装置でアクティブ化されるよう、特別に改造する多くの方法がある。
マウスボタン領域は3つの部分に分れている。左側及び右側の部分は、左側及び 右側のマウスボタンをシミュレートするために用いられる。中央部分は、両方の ボタンを一緒に押圧するのを趣味レートするのに用いられる。この能力が設けら れるのは、物理的マウスのユーザが両方のマウスボタンを一緒に押圧できるのに 対し、疑似マウスのユーザは、ボタンを押圧するのに1つのスタイラスしか有し ていないからである。
ボタン領域の1つに触れると、対応する1つ又は複数のボタンが押圧されたこと を示すデータが、アプリケーションに送られる。スタイラスを約1/2秒以内で 持ち上げると、1つ又は複数のボタンが解除されたことを示すデータが送出され る。
多くのアプリケーションでは、ユーザはマウスを動かしながら、同時にマウスボ タンを押し下げていなければならない。疑似マウスのユーザがこのような同時動 作を行なえるようにするために、ボタン領域の各々は、ボタンをアクティブ化す る時に、スタイラスを1/2秒より長く押し下げていると、ボタンが「押された まま」ロックしく即ち、スタイラスが持ち上げられた後も、押圧された位置をシ ミュレートし続ける)、ユーザが続いてロックされたボタン領域に触れると、そ のロックが解除されて、「上がった」状態の疑似ボタンを表す信号を返す(即ち 、ボタンが戻ったことを示すデータを送出する)。
疑似ボタンが「下がりて」いる時はいつでも、疑似マウス装置アイコン上の対応 する領域は強調(ハイライト付け)されている。BOTH領域にそれが触れると 、それにしたがって、BOTH領域が強調されるのではなく、LEFT及びRI GHTボタン領域の強調が調整される。スタイラスがBOTH領域内で十分長( 押し下げられると、LEFT及びRIGHTボタンは口、ツタされる。これら( ま別個に、或いはBOTH領域に再び触れることによって、解除される。
2、4.2.3 移動及びサイズ変更 ドラッグ及びサイズ変更サブアイコンは、一般的なアイコンについて上述したよ うに動作する。
疑似マウス装置アイコンのサイズを変更しても、タブレットデータをマウス移動 データに変更するのに用いられるスケーリング係数を変化させることはない。
上述のように、このスケーリング係数は、ユーザによって別個に調整可能なもの である。ユーザは、疑似マウス装置を、移動の必要性に合せて改造することがで きる。例えば、ユーザはアイコンを非常に小さくシ(下層のアプリケージ3ンを 殆ど覆わないように)、そしてスケーリング係数を大きクシ、小さな移動領域で も、スクリーン上のどこでも容易にカーソルを移動させるようにできる。反対に 、細かい制御が重要な時は、スケーリング係数を小さくし、大きなスタイラスの 移動が小さなマウス動作量となるようにすることもできる。
代替実施例では、疑似マウス装置は、そのサイズが変更された時、スケーリング 係数が自動的に調整され、移動領域を横切るストロークが、マウス装置アイコン の大きさに係わらず、マウスの移動量が同一となるように、構成することも可能 である。
2.5 Info(インフォ)装置 インフォ装置は、表示装置の側部に沿ったインフォボタンに触れること(こよっ て、アクティブ化される。こうすると、インフォ装置アイコンが表示装置上に結 果として表われる。インフォボタンは、「交互動作」ボタンである。2度めにこ れに触れると、再びインフォアイコンはな(なる。
インフォ装置は、次の6つのサブアイコンを含み、そのうち5つはアクティブで ある。
一情報テキストの表示用テキスト領域 −前のスクリーン 一次のスクリーン −ホームスクリーン 既に実行されたサブアイコンに触れると、インフォアイコンは、表示装置から除 去され、インフォボタンから強調が除去される。
インフォアイコンは、他のアイコンに対するのと同じように、ドラッグサブアイ コンを用いることによって、表示装置上を移動させることができる。
インフォ装置がアクティブ化されると、そのインフォ装置をどのように使用する かを説明するテキストが、テキスト領域に表示される。テキストのある部分が強 調されて、ヘルプテキスト内の別の場所へのポインタと関連付けられていること を示す。スタイラスを用いてこれら強調された部分の1つを選択すると、関連す るポインタによって識別されたテキストにジャンプする。テキスト内の一連のジ ャンプは記録されて、ユーザが「バックアップ」できるようになりでいる。
次のスクリーンボタン及び前のスクリーンボタンは、ユーザが、現テキスト本体 内で移動できるようにし、そして先に表示されたテキストを通じてバックアップ できるようにするものである。ホームスクリーンボタンは、ユーザに、直接最初 のスクリーンに戻すことができるようにする。
テキスト用のディスクファイルは、主プロセツサへのデータリンクを用いて、イ ンターフェースプロセッサによってアクセスされる。
2.6 他の疑似装置 上述の例から、当業者は、疑似装置の統一性を理解することができるであろう。
上述と同様に、例えば、疑似トラックポール、疑似三次元ポインタ、または疑似 ジョイスティックのような、他の疑似装置を実現することもできる。
疑似タブレット装置には、他にも利点がある。本発明を、表示スクリーン上に被 せるタブレットと共に用いると、タブレットデータとスクリーンデータとの1つ の特定の対応性によって、スクリーン位置においてスタイラスの配置位置(即ち 1組のX及びYスケーリング係数とX及びYオフセット)を追跡する結果となる 。この対応性は、一般的に、どの特定のアプリケーションによっても用いられ追 跡できず、タブレットが表示スクリーン上に被せられていない時には表われない 混乱をユーザに与えることになる。このように、ポインティングが実際のタブレ ットによりて発生される時でも、物理的タブレットを直接用いるよりは、疑似タ ブレット装置を用いたアプリケーションを実行することにより、利点が得られる ことがある。
このような疑似タブレット装置は、相対的な移動の代りにテーブル領域内の絶対 位!が送出されることを除いて、疑似マウス装置と同様である。疑似マウスとタ ブレット装置との間の他の相違は、タブレットについては、スケーリングに加え て、X及びYオフセットの調整(即ち、完全なタブレットのどの部分をタブレッ ト領域がシミュレートしているのがを判断する)を備えるのが有用であることで ある。
2.7 アプリケーションへの直接タブレット久方タブレットデータをアプリケ ーションに直接使用可能にするための設備がある(疑似タブレット装置からでは なく、実際のタブレットから)。スクリーン領域にはあるが疑似装置にはないタ ブレットデータは、主プロセツサで実行さるアプリケーションに、上述のデータ リンクプロトコルを介して送ることができる。
アプリケーションへ送られるタブレットデータは、アプリケーションが容易にタ ブレット座標をスクリーン位置に関係付けられるように、調整される。ボタン領 域内のタブレット点は、データが当該アプリケーションに送られる前に検出され る。したがって、機能ボタンはアクティブ状態にし続けることができる。
2.8 アプリケーションによってコールされるユーザインタフェースユーザイ ンターフェースサブシステムは、アプリケーションには見えないように設計され ているが、ユーザインターフェースサブシステムについて分るようにアプリケー ションを設計すると、いくつかの付加的な恩恵を得ることができる。
アプリケーションが、ユーザインターフェースサブシステムによって設けられる ユーザサービスをコールするように、準備することができる。主プロセツサ内で 実行されるアプリケーションは、特定のコールを行なうことができ、これによっ て生プロセッサが、あるコードをインターフェースプロセッサに渡して、実行さ れるサービスを識別する。例えば、あるアプリケーションにとっては、適切な時 刻にある疑似装置を強制的に表示させたり消したりすることができることが望ま しいことがある。
更に、生プロセッサが疑似装置の現状態を判断することができ、かつ生プロセッ サが疑似装置の状態を設定することができるデータリンクプロトコルによって、 主プロセツサ用のプログラムは、ユーザが特に有用であると看做す疑似装置の構 成をセーブし、そして復元することができる。この状態情報は、コントラストの 設定、各装置アイコンの位置及びサイズ、各装置アイコンのオン/オフ状態、及 び種々のアイコンの状態値(例えば、数字−ロック、マウス拡大縮小値、手書き アイコンボックスサイズ、キーボード構成))を含んでいる。
ユーザインターフェースの状態をセーブする能力により、ユーザは、システムが 起動された時に、ユーザの好みに応じて特定の装置のサイズを変更して表示装置 上に配置することが可能となる。これはまた、ユーザが頻繁に使われる構成を素 速く設定できるようにするものである。
2.9 インターフェースプロセッサと主プロセツサのアプリケーションの相互 作用例 Freestyleがタブレットデータを用いる唯一のアプリケーションである システムでは、preestyieは、ユーザがタブレットをスタイラスで触れ ることによって、呼び出すことができる。しかしながら、上述のように、疑似装 置インターフェースと共に用いられる時、Freestyleアプリケーション は、タブレット上の特定のボタン領域に触れることによって、起動することがで きる。これは、次の機構によって達成することができる。システムが最初にブー トされる時、Freestyleの常駐(レジデント)部分が生プロセッサにロ ードされる。この時、Freestyleは、BIOSコールによって、インタ ーフェースプロセッサからタブレットデータを受け取ることを所望するものとし て、主プロセツサのB IOSを用いてそれ自体を登録する。更に、Frees t y leは、疑似装置インターフェースと通信して(インターフェースプロ セッサへのデータリンクを利用するBIOSコールによって)、F、reest yleアイコンに触れた後にタブレットデータを送出すべきことを示す。このよ うにして、Freestyleボタンが触れられたことを疑似装置が判断した時 、タブレットデータを送出し、これによってFreestyleの常駐部分にF reestyleを呼び出させる。疑似装置インターフェースも、両方のシフト キーの同時押圧をシミュレートして(Freestyleを呼び出すために共通 に用いられるキーの組合せ)、適切なキーコードを主プロセツサに送ることによ って、Freestyleを呼び出すことができる。Freestyleの処理 が完了した時、疑似装置インターフェースと通信して、ボタンが再び触れられる まで、これ以上タブレットデータをFreestyleに送るべきではないこと を指示する。
2.10 疑似装置の実現 図11は、タブレット12b1表示装置12a、及びあるソフトウェア構成物の 間の関係を示す。
ユーザは、タブレット12b及び表示装置12aのスクリーン(これらは好適実 施例では図1の12に示されるように、上に被せられている)を用いることによ って、主プロセツサ30(図2)で実行中のアプリケーションプログラム200 と相互作用する。ブロック200は「アプリケーションプログラム」として示さ れているが、これは、ユーザがタブレット及び表示装置によって相互作用するこ とを望むいかなるプログラム(システムプログラムを含む)をも現わすものであ る。
上述の疑似装置は、インターフェースプロセッサにて実行され、図11において 「疑似装置プログラム」として示されているソフトウェア本体220によって、 実行される。疑似装置プログラムは、構成物222.224.226及び228 を備えており、これらは種々の疑似装置と対応するものである。このソフトウェ ア本体220は、表示装置12aを用いて、インク及びマスク面42及び44( 図2)にデータを書くことによって、ユーザに視覚的フィードバックを与える。
タブレット12bからのデータは、疑似装置プログラム220によって処理され 、それに応答して、キーストロークまたはマウスデータの形状のデータを発生す る。このデータは、主プロセツサのBIOS212によって提供されるサービス 及びインターフェースプロセッサのファームウェア214によって提供されるサ ービスを含む通信サービス210によって、アプリケージジンプログラム200 に供給される。図11には示されていないが、タブレットとの低レベルの相互作 用は、インターフェースプロセッサのファームウェア内のルーチンによって取扱 われる。しかしながら、主要なタブレット制御は、疑似装置プログラムによって 行なわれる。
次のアウトラインは、疑似装置の例示的実施例におけるC機能間の関係を示すも のである。アウトラインの1つのレベルに掲載されている機能は、そのアウトラ インの次の外側レベルにおいてそれらに先立つ機能を実施するために、用いられ る。フロー制御情報のいくつかは概要に含まれている。当業者は、ここに記載す るようなシステムのソフトウェア構成物を実施する場合に関連のある、更なる詳 細が明らかであり、それに対処できるであろう。アウトラインに記載されたソフ トウェアの組織は、例示であり、当業者には、特定のシステムの特性及びソフト ウェア開発者間の形式の相違が与えられれば、多くの変更が可能であることが明 らかであろう。
「ペン」という用語は、以下のアウトラインの場合のように、「スタイラス」と 相互交換可能によく用いられている。
各項目の前の数字は、その項目のアウトラインレベルを示す。
1 user 1nterfaceOこれは、疑似装置ユーザインターフェース である。次のことを永遠に行なう。
・タブレットからの次の点を待つ。
・それがペンを下ろした点でなければ、何もしない。
・機能ボタン内であれば、機能ボタン処理を行ない、次にペンが上げられるのを 待つ。
・疑似装置アイコン内であれば、そのアイコン機能を行なう(例えば、5tar t mouse tcon)。アイコンは上から下にチェックされ、ポイントが アイコンの境界内にあるかを見る。
・下ろされているがアイコン内ではない場合、ペンが上げられるまで待つ(アイ コンへの動きを避けるため)。
・上げられているか、或いは下げられているが疑似装置アイコン内ではない場合 、任意にその点を主プロセツサに送る。
2ttrpointoは、タブレットからのある点を得る。タブレット位置は2 つの形式で返送される。1つは、画素で、もう1つはタブレットの解像度で(こ のほうが高い)ある。タブレットデータの時間も返送される。手書き認識のよう な処理には、解像度が高ければ高いほど相応しいが、画素座標は、多くのスクリ ーンに関連した処理に都合がよい。タブレットからの点を待つのではな(、この 機能は、データが得られないという指示を返す。
2 check button boxesOは、機能ボタンを実行する(例え ば、装置トレイを引き出す)。
・カーソルが機能ストリップ(s t r t p)内にあるか調べる。なけれ ばリターンする。
・「装置」ボタン領域内であれば、次に5elect device □を実行 する。
・「コントラスト」ボタンであれば、スクリーンコントラストを調整する。
・「フリースタイル」ボタンであれば、フリースタイルアプリケーションを開始 する。
・ 「インフオ」ボタンであれば、そしてインフオアイコンがまだアクティブで なければ、それをアクティブ化させ、そうでなければ、それを非アクテイブ化さ せる(即ち、スクリーンから消去し、アイコンスタックから除去する)。
3 Lf in″device tray botton” :45elect  devicesOは、「装置」ボタンのための処理である。これは2つの状態 間で交互に切換わる。即ち最初にこのボタンに触れると装置トレイがアクティブ 化し、2回目にこのボタンに触れると装置トレイが不活性化する。
5 when changing from stamps toicons  (装置トレイを取り去る)。
65elect doneOこれは、ユーザがトレイからの装置の選択を完了し た時に行なわれる。これは、表示装置から装置トレイを除去する。
7 erase 1conO表示装置から全てのスタンプといかなるアイコンを もクリアする。
7 erase device trayOスタンプ用視覚コンテナヲ除去スル 。
7 remove 1con() 装置ボックス内に配置されているアイコンス タックからいかなるスタンプも除去する。
7 swap 1cons and stampsQ スタック上に残っている スタンプが、アイコン(アイコンスタック上の)と交換される。
7 draw 1consOアイコンスタック上に(即ち、アクティブなもの) 全てのアイコン及びスタンプを描く。実行には、論理的に移動されたアイコンの 下にある全てのアイコンではなく、実際に重なり合っているアイコンのみを再度 描けばよい。
5 when changing from 1con tostamps ( 装置トレイを引き出す)。
5 erase 1consOフルサイズのアイコンを避ける。
6 swap 1cons and stamps□は、アイコン位置りにスタ ンプを有するよつ(コ、アイコンスタックを調整する。
5 draw device trayO使用可能な装置のためのトレイを描( (スタンプ形状で)。
6 display current stamps() スタンプ(MOUS ESTAMP、 KBDSTAMP、HANDWSTAMP)を描く。
7 compute stamp positionOスタンプ位置は、インア クティブなアイコン用装置トレイ内であり、アイコンがアクティブであったら、 そのアイコン位置である。
35uck touch pointOペンがタブレ・ントと接触してしする場 合、ペンがもちあげられるまでタブレットデータを破棄する(任意に点を主プロ セツサに送る)。
3 if in″cor+trast” button スタイラスがコントラ ストボタンのどの部分(こ触れているかに応じて、LCD表示装置のコントラス トを、高くまたは低く調整する。
3 if in″Freestyle″button 主プロセツサ内で、Fr eestyleアプリケーションを立ち上げる。
3 if fn″1nfo” button:4 if 1nfo not a ctive それを開始する。
5 add 1con0 5 draw 1nfo 1con0 4 if 1nfo already active それを取り去る。
5 move 1con to topO5erase 1nfo 1con0 5 remove 1con0 2 is in handy 1con()3 point in recta ngle。
25tart handy 1con□ 手書きアイコンを実行する。
3 above 1con to topOアイコンを既に最上部に描いたか6 二つ0ての指示を戻す。これらの処理は、フルサイズのアイコンの代りにサイズ または位置を変えたシャドウを表示するので、これを用いて、あるドラッグまた はサイズ変更処理(または、キーボードの場合には、サイズ変更処理よりはむし ろ、再構成処理)のための再描画を回避する。
3 is in vritehandw03 write handy() 文 字を手書きし、認識する。手書き領域内のストロークの最初の点でコールされる 。
4 capture one 5trokeOスタイラスが持ち上げられるまで 、タブレット上の点を読み取る。これら全ての点をバッファストロークに加える 。
4 compute 5troke boxOストロークバ、ソファ内で最も最 近加えられたストロークに対する「ボックス」を判定する。
4 flush handy 5trokesO新しいストロークが実際には書 き込み領域内善こ属していないと、判断された場合(例えば、書き手が書き込み 領域に押し付けたが書き込み領域から外に移動させた場合)、バッファ内のいず れかの以前のストロークについて認識を行ない、この新しいストロークは放棄し 、そしてリターンする。
4 compute−stroke box e*tentsO新しいストロー クが非常に広い場合(例えば、3文字ボックスの広さ以上)、それを消去マーク として考える。そのインクを消去する。それが包含するアスキー文字を、空白に 変換する。そのストロークを放棄する。そしてリターンする。
4 dump previous 5trokes□ このストロークが、スト ロークバッフ7内の以前のストロークとは異なる「ボックス」内にある場合、そ れら以前のストロークについて認識を行ない、それらを放棄し、この新しいスト ロークを、唯一のバッファされたストロークとする。ストロークの区分は実際の ボックスに頼る必要がないことに注意する。「ボックスなし」区分方法が使用で きる。
4 check timeout() 次の状態の1つが起コルまで待つ。
・ユーザがタイムアウト期間の間押し下げなかった。
・ユーザが再び押し下げたが、書き込み領域内ではない。
先の2つの場合、全てのバッファ記憶されているストロークについて識別を行な い、それらを排除し、そしてリターンする。
・ユーザが書き込み領域内で押し下げた。この場合、単にリターンする(より高 いレベルのループを通る次の繰り返しで、再びwrite handvoヲ:I  −3drag handvo 4 drag 1conOペンが持ち上げられるまで、アイコンをドラッグする 。
5 draw handy 1con03 is in sizehandw□  ペンはサイズ領域にあるか?3 resize handyo 4 resize 1con0 5 draw hand 1con0 3 is in 1nserthandv□ ペンは挿入領域にあるか?31n sert handy() 一連の手書き文字に空白(ブランク)を挿入する。
4 flush handy□ 未解決のバッファ記憶されているストロークの いずれかについて認識を行ない、それらを放棄する。
4 set the cursor to a ”tool modal” c ursor ユーザに、挿入モードがアクティブ状態であることを示すためのも のである。
45uck touch pointsOユーザがスタイラスを持ち上げるのを 待つ。
45uck prox points() 、:L−ザが再び押し下げるのを待 つ。
4 is in vritehandwOユーザの接触が書き込み領域の外側の 場合、カーソルを後退させて、リターンする。
4 thile the 5tylus is touching5 Rthe  user moves right from the 1nitial p osition 文字/ボックスを、スタイラス点から、書き込み領域の右端ま で右方向に動かし、空いた空間(オーブンスペース)を空白で埋める。
5 if the user ll1aves 1eft from the  1nitial position 文字/ボックスを、スタイラス点から、書 き込み領域の左端まで左方向に動かし、空いた空間を空白で埋める。
4 after the user 1ffts the 5tylus 戻る (ユーザは、書き込むべき開放空間を作成した)。
3 is in deletehandwOペンが削除領域にあるか?3 de lete handy() 手書き文字から削除する。
4 flush handy□ 未処理のバッファ記憶されているストロークの いずれかについて認識を行ない、それらを放棄する。
4 set the cursor to a ”tool modal” c ursor ユーザに、削除モードがアクティブ状態であることを示すためのも のである。
45uck touch pointsOユーザがスタイラスを持ち上げるのを 待つ。
45uck prox pointsOユーザが再び押し下げるのを待つ。
4 is in vritehandwOユーザの接触が書き込み領域の外側の 場合、カーソルを後退させて、リターンする。
4 while the 5tylus is touching ユーザがス タイラスを動力1した全てのポ・ソクス/文字を強調する。
4 after user 1tfts the 5tylus −L−ザが強 調した全てのポ・ソクス/文字を除去する。必要に応じて、文字/ボックスを書 き込み領域の右端力)らスクロースして、削除されたボックスを置き換える。
3 is in 5crollleftOペンはスクロール領域内にある力)。
3 is in scrollrightOペンはスクロール領域内にある力) 。
35croll bandy() 手書き領域内の文字をスクロールする。
4 erase handy 1nk() インクを消去し、ノ<・ソファ記憶 されてpzるストローク点を除去する。
4 display handy prompt() スクロールプロンプトを 表示する。
41riitialize repeat()4 erase writing  area04 draw writing area04 clear ha ndy prompt。
4 wait for repeat() 自動繰り返しの前に、適切な時間待 つ。
4 is proxOペンがもち上がっている場合、我々は全てを終えた。
4 Use higher 5peed repeat どれくらい頻繁に繰り 返した力)を追跡する。4回の試みの後、スクロール動作をより速く繰り返す。
51nitialize repeat03 is in adjusthan dwOペンは調整領域1こあるか?3 adjust handvO文字が書き 込まれるボックスの幅を調整する。
4 erase handy 1nk() インクを消去し、ノくソファ記憶さ れたストローク点を除去る。
411ighlight BoxOi11整ポ・ソクスを強調する。
4 display handy proa+ptOプロンプトを掲げる。
40utline RectangleO最も右側のボックスを基準マーカとし て強調する。
4 Read points as long at the pen is  down:55kip to current tablet data□ タ ブレ’7ト番二追0つく。
5 ttrpointo 5 is prox() ペンが上がっているなら、我々は全てを終えた。
5 compute new box width x ペンの移動は、表示さ れたボツクスの全幅における変化である。1つのボックスの幅は、全/ボツクス  カウントである。
最少サイズより下、または最大より上には進んでは(Xけな(X050utli ne Rectangle() 強調されていない最も右側のポ・ノクス。
5 erase writing area()5 compute hand y 1ocation05 draw witing boxes() ボック スを再び描く。
50utline RectangleO新しい最も右側のボックスを強調する 。
4 clear handy prompt04 Highlight Box O 40utline RectangleO4erase handy 1con 04 draw handy 1con03 is in 5endhandv Oペンは送出領域にあるか?35end bandyo 4 display handy prompt()4 erase hand y ink□ インクを消去し、ノ(ソファされたストローク点を肖1j除する 。
45end all characters: 先頭及び後尾の空ボックスの間 の文字のみを送出する。線が空であったなら、キャlルソジリターンを送出する 。
5 ascii to 5can0 55end keycodeo 6 dtsplay phystcal keyboard。
65end keycode data。
6 enable physical keyboard。
4 Redisplay: スクロールウィンドウのオフセットをリセットし、 θ番目のボックスが最初のボックスとして表示されるようにする。
5 draw vritjng area03 is fn upperhan dw□ ペンは大文字領域ニアルか?3 upper handwQ 認識器が 選択する(大文字アルファベ ットの)文字集合を判定する。
4 set recognition 5ubset03 is in lov erhandw() ペンは小文字領域にあルカ?3 lower handw O認識器が選択する(小文字アルファベ ットの)文字集合を判定する。
4 set recognition 5ubset03 is in nt+ merhandwo ペンは、数字キー領域にあるか?3 numer han dy□ 認識器が選択する(数字及び句読点) 文字集合を判定する。
4 set recognition 5ubset035uck touch  pointsOペンが持ち上げられるまでこれ以上何もしない。
2 is in mouse 1con03 point in rectan gle025tart mouse 1con() マウスアイコンを実行する 。
・ドラッグまたはサイズ領域でなければ、最上部に再描画する。
・領域に応じた機能を実行する(例えばドラッグ、サイズ、ボタン、移動)。・ ペンが上げられるまで待つ。
3 move 1con to topOアイコンをスタックの最上部に移動さ せることに加えて(しかしアイコンの再描画は行なわない)、アイコンを既に最 上部に描いたかについての指示を返送する。これらの処理は、フルサイズのアイ コンの代りにサイズまたは位置を変えたシャドウを表示するので、これを用いて 、あるドラッグまたはサイズ変更処理(または、キーボードの場合には、サイズ 変更処理よりはむしろ、再構成処理)のための再描画を回避する。
3 is in dragmouse。
3 drag mouse。
4 drag 1conOペンが持ち上げられるまでアイコンをドラッグする。
5 draw mouse 1con03 is in sizemouse0 3 resize mouseo 4 resize 1con0 5 draw ll0use 1conQ3 is in 5calebar0 35cale mouse() X方向のペンの移動が、タブレット対マウスス ケール係数を変化させる。スケール長は、X方向のペンの移動量だけ変化する( そして、最小及び最大限度間に限定される)。ティック当りの画素は、ティック 当りの最大画素として計算される(最大長−現在の長さ)/最大長(そしてこれ も、最小及び最大の範囲内に限定される)。
4 dtsplay mouse scaling prompt4 do f or all pen down points:55kip to curr ent tablet data05 ttrpointo 5 is proxOペンが持ち上げられた時にこのループから出る。
5 compute new values スケール長及びティック当りの画 素が、各々X移動を基に計算される。
5 complement 5cale bar□ 現在の倍率バーを消去する 。
5 C0Ilptlte 1ous61ocatton□ ティック当りの画素 からスケール長を逆算することを含み、マウス位置パラメータを更新する。
5 complement 5cale barO新しいスケールバーを描く。
スケールバーは、右に向かって成長する(即ち、それに割り当てられた空間内で は、左に揃えられる)。
4 clear mouse prompt03 is in 1eftbut ton03 is in rightbutton03 is in both button03 button mouseo 3つのボタン領域のいずれか へのペンの接触を処理する。
・ONであるボタン上での動作で、そのボタンをOFFにして、リターンする。
・OFFであるボタン上での動作で、そのボタンをONにし、またcall t imed button cock□をコールすることによって、クリックをチ ェックする。
ペンが十分長く下ろされてそれがクリックではないと判断されるまで、それは阻 止する。
・ペン動作と、対比されるボタン動作との違いに注意されたい。
−短いボタンの押圧はクリックである。長いボタンの押圧は長いボタンの押圧で あり、これはボタンが解除される時に終る。
−短いペンの接触はクリックである。長いペンの接触は、疑似ボタンを押し下げ たままロックする。いかなる長さのものでも、後続の接触で疑似ボタンが解除さ れる。
4 coa+plement 1eftbutton()4 cornplem ent rightbutton04 timed button cLtck Oボタンがオンでなければ、ペンの持ち上げまでの時間が、クリックの要求と考 えられる程短いかを、見るために待つ。
3 is in mouse mouse()3 mouse mouseOマ ウスアイコンのマウス動作部分を処理する。距離がタブレット点にて(マウスの ティックより正確である)計算される(毎回)。
・マウスプロンプトを表示する。
・随意に、マウスアイコンのコピーをセーブする。
・送られた古いX及びYティックをOに設定する。
・ペンが上げられるまで実行する。
−古いタブレットデータをとばし、次の点を得る。
−元の接触からマウスティックにおける現在の位置までを測定する。
−押し下げ以来、または最後の移動が送出されて以来(古いX及びYを減算する )の、移動したティックを計算する。
−マウスの移動データを、マウスからであるかのように、送出する。
−古いX及びYを現在の位置に設定する。
4 display mouse movement prompt4 Bit Bit Pix to Mem□ マウスアイコンのコピーをセーブする。この 機能は、ハードウェアのインク面を用いない実施においてのみ、必要なもので、 この場合、この機能は性能の向上をもたらす。
4 do for all pen down points+55kip t o current tablet data05 ttrpointo 5 is proxOペンが持ち上げられた時このループから出る。
5 pen−to−mouse−tick algorithm タブレット距 離からマウスティックに変換する。1つのスタイラス位置から開始しそしてそこ に戻る経路を保証することは、ゼロの全マウス動作に加えることであり、絶対( タブレット)から相対(マウス)動作に変換する前に、タブレットの座標を調整 する。
S 5end arouse data 主プロセツサへ。
4 clear mouse prompt035uck touch poi ntsO2is in kbd 1con0 3 point in rectangle025tart kbd 1con Oキーボードアイコンを実行する。
3 move 1con to topOアイコンが既に最上部に描かれている かについての識別を返送する。これを用いて、ドラッグまたはサイズ再変更処理 (または、キーボードの場合は、サイズ再変更処理ではなく、再構成処理)のた めの再描画を回避する。なぜなら、これらの処理は、全アイコンの変わりに、サ イズまたは位置を変えたシャドウを表示するからである。
3 erase kbd 1con0 3 draw kbd 1con。
3 is in drag 5ection。
3 drg kbdo 3 is in config 5ection03 config kbd  1conOキーボードを構成スル。
45ave keyboard 1con 1ocation ユーザが構成を 変更することができ、そして変更後キーボードの再配置の必要をなくすためのも のである。
45ave oldxysO個々のキーボード部分の位置をセーブする。
4 remove 1con0 41nit kfig editor04 configure kbd0 4 restore keyboard X & Y 1ocation va lues。
4 kbd config done() キーボード輪郭のサイズを再変更す る。
3 is in vpfsection03 is in hpfsectio n03 is in kbdsectionO点が、キーボードアイコンの主キ ーボード部内にあるか否かを判断する。
4 point in rectangle03 is in aksecti on03 is in numsection()3 is in edtse ction03 find keyOキーボードアイコンの関連する部分におけ るペン位置を基1こ、キーコードを判定する。ある点が与えられると、キ一番号 を返す。
・キーボードのどの主要部分に、点が位置しているか(例えば、機能キー、アル ファベットキー、数字キーバッド、カーソル制御)。
・識別されたキーボード部分内で、バイナリ検索を用いて、その点力(どの行に 位置するかを判定する。
・識別された行内で、バイナリ検索を用いて、当該特定のキーを識別する。
次に、キ一番号を、キーコード及びキー輪郭を備えたテーブルへのインデックス として用いる。
3 type keyo 4 Fill RectangleOそれがヒツトしたことを示すXORキー4 5w1tch to 5canOキースイッチ番号を得て、それをスキャンコー ド集合#2からのメイク/ブレークコード対に変換する。
55can2 to 5can10 6 convert 2210 4 for 1ndivfdual 5hift keys 関連するシフト状 態にしたがッテメイクコードまたはブレークコードを送出する。
55end a codeo 4 typematicOタイプマチイック動作の加速を実施して、非シフトキ ーコードを処理する。
55end a codeo 4 Fill RectangleOキーがロック用キーでないなら、キーの表 示を再び反対にする。
35uck touch points02 is in 1nfo 1con 。
3 point in rectangle025tart 1nfo 1co nOインフオアイコンを実行する。
3 Redraw 1con (ドラッグ及びサイズ再変更を除く)。
4 move 1con to top04 erase 1nfo 1con 04 draw 1nfor 1con03 is in draginfo□  それはドラッグ領域内か?3 drag 1nf0 3 is in 5izeinfoOそれはサイズ領域内か?3 resize  1nfo0 3 is in previous 1nfoOそれは以前のヘルプ領域内か? 3 previous 1nfoOファイルスタックにて、ルベル下げ、そのイ ンフオファイルを持ち上げる。
4 draw 1nfo textO 3is in 5croll up□ それはスフロールア・ツブ領域か?35 croll up 1nfoOインフオテキストを1ラインスクロールする。
4 wait far repeatO時間調整した自動繰り返しを実施する。
3 is in 5croll down () それはスクロールダウン領域 か?35croll down 1nfoOインフオテキストを1ライン下にス クロールする。
4 wait for repeatO時間調整した自動繰り返しを実施する。
3 is in home 1nfoOそれはホームインフオ領域か?3 ho use 1nfoOインフオファイルスタックの基に行く。
4 draw 1nfo textOそのインフオファイルを表示する。
3 is in fnfo 1nfoOそれはインフオメニュー領域内か。
31nfo 1nfoO基準インフオテキストへリンクする。ペンが現在の基準 項目内に位置していなければ、何もしない。
4 for each current reference ite+a:5  point in rectangleo ペンは基準項目内にあるか?4  If reference is to the hose file 全てを スタックから開放する。
35uck touch point02 is in mouse stam p03 point in rectangleo2 is in kbd s tamp03 point in rectangle()2 is in h andy stamp03 pofnt in rectangle02 de v drag partOスタンプをドラッグする。
l 5uck touch points。
これまで、本発明の具体的な実施例を記載してきた。当業者には、更に他の変容 も明白であろう。例えば、詳細に記載した特定の実施例は、タブレットをかぶせ た表示装置と、「電子インク」の機能を有する携帯可能コンピュータである。
しかしながら、表示装置上にタブレット(または他の指示装置)を用いず、タブ レット以外のある種のロケータ装置が用いられているシステム、及び携帯可能で あることを意図していないシステムにも、本発明は有用であることを、当業者は 認めよう。このように、本発明は、本明細書に示され記載された具体的な詳細及 び例示的例には限定されないものである。むしろ、本発明の真の精神及び範囲内 の範噂に入るそのような変容及び変更全てを包含することが、添付の請求の範囲 の目的である。
1 +−+ + ++ FiG、5a FIG、5b VRAMO VRAM2 RAMI RAM3 FIG、9 要約書 表示スクリーン上に被せられたデジタル化タブレットを有するコンピュータシス テム。タブレットは、ユーザの主入力装置としての役を果す。このシステムの種 々の特徴により、キーストローク及びマウス入力用に設計されているがタブレッ トと共に用いるようには設計されていない標準プログラムの実行及びそれとの相 互作用を、ユーザに可能とする。ユーザのプログラムを実行する主プロセツサに 加えて、インターフェースプロセッサがある。標準表示バッファに加えて、イン ターフェース表示データ用にインク面バッファがあり、これが、マスク面バッフ ァからのデータにしたがって画素毎に、標準表示バッファからのデータを組み合 わせる。インターフェースプロセッサは、タブレットからの入力を管理し、イン ク面及びマスク面によってユーザにフィードバックを与え、そして、キーストロ ーク及びマウスデータを、標準キーボード制御器からであるかのように、主プロ セツサに供給する。インターフェースプロセッサは、ユーザに、キーボードやマ ウスのような標準装置を含む1組の疑似装置を与える。非標準疑似装置は、文字 認識を行ない、手書き文字がプログラム入力に用いられるようにする。ユーザプ ログラムの1つとの相互作用の間、ユーザは、(装置トレイから除去したり、そ こに戻すことによって)疑似装置をアクティブ化及び非アクテイブ化することが でき、それらの動作及びスクリーン上の位置について調整を行なうことができる 。
国際調査報告 国際調査報告 LIS 9104454 S^ 52933

Claims (24)

    【特許請求の範囲】
  1. 1.移動がシステムのユーザによって制御される非マウスポインティング装置か ら入力を受信し、該受信入力をマウスから入力を受信する手段を有するプログラ ムに提供するシステムにおいて、 (A)表示スクリーンと、 (B)少なくとも1部分が疑似マウス面を表すマウスアイコンを、前記表示スク リーンに表示するための手段と、 (C)ユーザがポインティング装置の位置と前記表示スクリーン上の位置とを視 覚的に相関させる手段、 (D)前記マウスアイコンの疑似マウス面の部分内で開始するポインティング装 置の動きのみを、マウス移動データに変換するための手段と、(E)前記プログ ラムの前記マウスから入力を受信する前記手段に、変換されたマウス移動データ を提供するための手段とを備えているシステム。
  2. 2.請求項1記載のシステムにおいて、前記ポインティング装置は、スタイラス 及び透明のタブレットで構成され、前記相関させる手段は、前記タブレットを前 記表示スクリーンにかぶせて配置することによって構成されているシステム。
  3. 3.請求項1記載のシステムにおいて、前記ポインティング装置はポインタを含 み、ユーザが前記表示スクリーンの表面上を前記ポインタを移動させるよう構成 され、前記ポインタの位置は表示位置に対応するよう構成されているシステム。
  4. 4.請求項1記載のシステムにおいて、前記相関させる手段は、現在のポインテ ィング装置の位置を示すカーソルを表示する手段を含んでいるシステム。
  5. 5.請求項1記載のシステムにおいて、前記マウスアイコンはボタン部分を更に 含み、前記システムは、前記マウスアイコンの前記ボタン部分におけるタッチ動 作をマウスボタンデータに変換し、前記マウスボタンデータを前記プログラムの マウスデータを受信する前記手段に提供する手段を更に含んでいるシステム。
  6. 6.請求項5記載のシステムにおいて、タッチ動作によってマウスボタン状態が トグルするよう構成されているシステム。
  7. 7.請求項5記載のシステムにおいて、短いタッチ動作はマウスボタンをクリッ クさせ、比較的長いタッチ動作はマウスボタン状態をトグルさせるよう構成され たシステム。
  8. 8.請求項5記載のシステムにおいて、前記マウスアイコンは、第2のボタン部 分を更に含み、各ボタン部分におけるタッチ動作は、異なるボタンに対するマウ スボタンデータを疑似するよう構成されたシステム。
  9. 9.請求項8記載のシステムにおいて、前記マウスアイコンは第3のボタン部分 を更に含み、前記第3ボタン部分のタッチ動作は、2つのマウスボタンの押し下 げを疑似するマウスボタンデータとなるうおう構成されたシステム。
  10. 10.請求項1記載のシステムにおいて、前記マウスアイコンは移動可能であり 、そして該マウスアイコンは、前記表示スクリーンの前記プログラムによって用 いられる位置にオーバーレイする各種の位置に、ユーザによって位置付けされる よう構成されているシステム。
  11. 11.請求項10記載のシステムにおいて、前記マウスアイコンはユーザによっ てサイズ変更可能に構成されているシステム。
  12. 12.請求項11記載のシステムにおいて、前記マウスには更なる部分があり、 前記更なる部分で開始するポインタの移動は、ポインタデータからマウス移動デ ータヘの変換のスケーリングを制御するよう構成されているシステム。
  13. 13.表示スクリーンと、スタイラスを有している絶対位置装置であって該スタ イラスが前記表示スクリーン上に位置されるときに該スタイラスが位置する前記 表示スクリーン上の位置に対応するX−Y座標を提供するように構成された絶対 位置デバイスとを有するコンピュータシステムを用いた方法であって、相対的位 置データを受信するように設計されたマウス基準プログラムを実行するための方 法において、 (A)前記表示スクリーン上でデータをユーザに提供するマウス基準プログラム を実行するステップと、 (B)マウスアイコンであって、少なくともその一部が疑似マウス面を画定し、 前記表示スクリーンよりも小さく、且つユーザが前記絶対位置装置を操作するこ とによって、前記マウス基準プログラムからのデータが表示される位置を含み、 前記表示スクリーンの種々の位置に移動可能であるマウスアイコンを、前記表示 スクリーンに表示するステップと、 (C)前記マウスアイコンの前記疑似マウス面の部分内で開始される前記絶対位 置装置の移動を、マウス移動データに変換するステップと、(D)前記マウス移 動データを、前記マウス基準プログラムに提供するステップと を備えている方法。
  14. 14.表示スクリーンと、スタイラスを有している絶対位置装置であって該スタ イラスが前記表示スクリーン上に位置されるときに該スタイラスが位置する前記 表示スクリーン上の位置に対応するX−Y座標を提供するように構成された絶対 位置デバイスとを有するコンピュータシステムを用いた方法であって、ポインテ ィング装置からのデータを用いるように設計されたポインティング装置基準プロ グラムを実行するための方法において、(A)前記表示スクリーン上でデータを ユーザに提供するポインティング基準プログラムを実行するステップと、 (B)アイコンであって、少なくともその一部が疑似ポインティング装置領域を 画定し、前記表示スクリーンよりも小さく、且つユーザが前記絶対位置装置を操 作することによって、前記ポインティング装置基準プログラムからのデータが表 示される位置を含んでいる前記表示スクリーンの種々の位置に移動可能であるア イコンを、前記表示スクリーンに表示するステップと、(C)前記ポインティン グ装置のアイコンの前記疑似ポインティング装置領域の表面部分内で開始される 前記絶対位置装置の移動を、ポインティング装置データに変換するステップと、 (D)前記ポインティング装置データを、前記ポインティング装置基準プログラ ムに提供するステップと を備えている方法。
  15. 15.請求項14記載の方法において、前記ポインティング装置はジョイスティ ックで構成されている方法。
  16. 16.請求項14記載の方法において、前記ポインティング装置はトラックボー ルで構成されている方法。
  17. 17.請求項14記載の方法において、前記ポインティング装置ははデジタル化 タブレットで構成されている方法。
  18. 18.ポインティング装置を有するコンピュータシステムにおいて、(A)疑似 装置を表す複数のアイコンを表示し、かつポインティング装置の入力に応答して 個々のアイコンの表示を移動するための手段と、(B)装置トレイを表示し、か つポインティング装置の入力に応答して前記表示トレイを移動させるための手段 と、 (C)前記システムのユーザが前記装置トレイの表示をアクティブ化及び非アク ティブ化できるようにするための手段と、(D)前記表示トレイの非アクティブ 化に応答して前記表示トレイ上に配置された疑似装置を非アクティブ化し、かつ 前記装置トレイから排除された疑似装置をアクティブ化するための手段と を備えているコンピュータシステム。
  19. 19.請求項18記載のコンピュータシステムにおいて、前記疑似装置のアイコ ンのうちの少なくとも1つは2つの表示フォームを有し、前記アイコンのフォー ムのうちの一方は前記装置トレイがアクティブ化されたときに表示され、他方は 前記装置トレイがアクティブ化されていないときに表示されるようこうせいされ たコンピュータシステム。
  20. 20.表示スクリーン及びポインティング装置とを含み、疑似キーボード装置を 有しているシステムであって、前記疑似キーボード装置と独立して実行されるが 該疑似キーボード装置からのキーストローク入力を受信するアプリケーションプ ログラムを実行するシステムにおいて実行される方法であって、前記疑似キーボ ード装置を再構成する方法において、 (A)各々が少なくとも1つのキーに対応する領域を含む複数のキーグループア イコンを、前記表示スクリーンに提供するステップと、(B)前記ポインティン グ装置からデータを受信し、前記表示スクリーンに1つのキーグループアイコン の表示を対応様式で移動することにより、前記システムのユーザが前記表示スク リーンの個々のキーグループアイコンを移動することができるようにするステッ プと、 (C)キーストローク入力をプログラムに提供するために用いられる単一ユニッ トとして、複数のキーグループアイコンがユーザにより移動されるように、該複 数のキーグループアイコンを結合するステップとを備えている方法。
  21. 21.請求項20記載の方法において、前記再構成は、キーストローク入力が与 えられる前記アプリケーションプログラムが実行されている間に行うことができ るよう構成されている方法。
  22. 22.請求項20記載の方法において、前記表示スクリーンに提供するステップ は、構築スペース及び記憶スペースを表示することを含んでいる方法。
  23. 23.タブレット基準のコンピュータシステムを動作させ方法において、(A) 第1のシフトロックキーを表す領域及び第2のシフトロックキーを表す領域を含 むキーボードアイコンを表示するステップと、(B)キーに対応する前記キーボ ードアイコンの位置でのタブレット動作に応答して、キーストロークデータを発 生するステップであって、(1)前記第1のシフトロックキーにおけるタブレッ ト動作はそのキーをシフトされた状態にセットし、そのキーは、そのキーにおけ る後続のタブレット動作がそれをシフトされていない状態に戻すようセットする までその状態で保持し、(2)前記第2のシフトロックキーにおけるタブレット 動作はそのキーをシフトされた状態にセットし、そのキーは、非シフトキーにお ける後続のタブレット動作がそれをシフトされていない状態に戻すようセットす るまでその状態で保持する ステップと (C)物理的キーボードによってキーストロークデータが発生されたかのように 、この発生されたキーストロークデータを入力としてプログラムに提供するステ ップと を備え、前記第1のシフトロックキーはトグルモードで作動し、前記第2のシフ トロックキーはワンショットモードで作動するよう構成されていることを特徴と する方法。
  24. 24.請求項23記載の方法において、前記プログラムに提供される前記出力は ASCIIコードデータに対応しないキーコードデータで構成されていることを 特徴とする方法。
JP3517489A 1990-11-13 1991-06-20 疑似装置を有するユーザインターフェース Pending JPH05508500A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/613,416 US5491495A (en) 1990-11-13 1990-11-13 User interface having simulated devices

Publications (1)

Publication Number Publication Date
JPH05508500A true JPH05508500A (ja) 1993-11-25

Family

ID=24457231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3517489A Pending JPH05508500A (ja) 1990-11-13 1991-06-20 疑似装置を有するユーザインターフェース

Country Status (7)

Country Link
US (1) US5491495A (ja)
EP (2) EP0693724A1 (ja)
JP (1) JPH05508500A (ja)
AU (1) AU657499B2 (ja)
CA (1) CA2095724A1 (ja)
DE (1) DE69119432T2 (ja)
WO (1) WO1992009944A2 (ja)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ055999A0 (en) * 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (npage01)
US5748981A (en) * 1992-10-20 1998-05-05 National Semiconductor Corporation Microcontroller with in-circuit user programmable microcode
US5453762A (en) * 1993-01-20 1995-09-26 Hitachi, Ltd. Systems for processing information and identifying individual
AU6667994A (en) * 1993-04-28 1994-11-21 R. Douglas Mcpheters Holographic operator interface
US5638501A (en) 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
RU2032212C1 (ru) * 1993-05-12 1995-03-27 Владимир Александрович Рыжов Способ ввода символьной информации в эвм
US5586317A (en) * 1993-07-30 1996-12-17 Apple Computer, Inc. Method and apparatus for implementing I/O in a frame-based computer system
US5717880A (en) * 1993-09-06 1998-02-10 Kabushiki Kaisha Toshiba Method and apparatus for relaying events and requests in a windows systems
US6366697B1 (en) 1993-10-06 2002-04-02 Xerox Corporation Rotationally desensitized unistroke handwriting recognition
EP0655674B1 (en) * 1993-11-30 2000-03-08 Hewlett-Packard Company Data input apparatus
JP3546337B2 (ja) * 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
JPH07200150A (ja) * 1993-12-28 1995-08-04 Casio Comput Co Ltd ペン入力装置
US6008799A (en) * 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
DE4423005C1 (de) * 1994-06-30 1995-11-30 Siemens Ag Eingabevorrichtung für einen Computer
JPH10510639A (ja) 1994-07-01 1998-10-13 パーム コンピューティング,インコーポレーテッド マルチペンストローク文字セット及び手書文書認識システム
US6262719B1 (en) * 1994-09-02 2001-07-17 Packard Bell Nec, Inc. Mouse emulation with a passive pen
US5867106A (en) * 1994-09-02 1999-02-02 Packard Bell Nec Password switch to override remote control
US6092117A (en) * 1994-09-02 2000-07-18 Packard Bell Nec System and method for automatically reconnecting a wireless interface device to a host computer
US5974558A (en) * 1994-09-02 1999-10-26 Packard Bell Nec Resume on pen contact
US6292181B1 (en) 1994-09-02 2001-09-18 Nec Corporation Structure and method for controlling a host computer using a remote hand-held interface device
JPH08231013A (ja) * 1994-12-27 1996-09-10 Honda Motor Co Ltd タッチパネル式モニタによる異常処理方法及び異常処理装置
US5606674A (en) * 1995-01-03 1997-02-25 Intel Corporation Graphical user interface for transferring data between applications that support different metaphors
US5694562A (en) * 1995-01-17 1997-12-02 Fisher; Thomas A. Closely integrated key icons in a graphical interface
EP0725331A1 (en) * 1995-02-04 1996-08-07 L G Electronics Inc. Information imput/output device using touch panel
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
US5757368A (en) * 1995-03-27 1998-05-26 Cirque Corporation System and method for extending the drag function of a computer pointing device
US5666502A (en) * 1995-08-07 1997-09-09 Apple Computer, Inc. Graphical user interface using historical lists with field classes
US5634100A (en) * 1995-08-07 1997-05-27 Apple Computer, Inc. System and method for event parameter interdependence and adjustment with pen input
US5990875A (en) * 1995-10-16 1999-11-23 Packard Bell Nec Double pen up event
US6279153B1 (en) 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US6148344A (en) * 1995-10-16 2000-11-14 Nec Corporation System and method for enabling an IPX driver to accommodate multiple LAN adapters
US6724372B1 (en) 1995-10-16 2004-04-20 Nec Corporation Ink trails on a wireless remote interface tablet and wireless remote ink field object
US6005533A (en) * 1995-10-16 1999-12-21 Packard Bell Nec Remote occlusion region
US6664982B1 (en) 1995-10-16 2003-12-16 Nec Corporation Multi-user on-screen keyboard
US6126327A (en) * 1995-10-16 2000-10-03 Packard Bell Nec Radio flash update
US7512671B1 (en) * 1995-10-16 2009-03-31 Nec Corporation Computer system for enabling a wireless interface device to selectively establish a communication link with a user selectable remote computer
US5996082A (en) * 1995-10-16 1999-11-30 Packard Bell Nec System and method for delaying a wake-up signal
US6108727A (en) * 1995-10-16 2000-08-22 Packard Bell Nec System having wireless interface device for storing compressed predetermined program files received from a remote host and communicating with the remote host via wireless link
US6029214A (en) * 1995-11-03 2000-02-22 Apple Computer, Inc. Input tablet system with user programmable absolute coordinate mode and relative coordinate mode segments
US5760764A (en) * 1995-12-13 1998-06-02 Altra Computer display cursor controller with serial interface
US6259043B1 (en) 1996-01-23 2001-07-10 International Business Machines Corporation Methods, systems and products pertaining to a digitizer for use in paper based record systems
US5764222A (en) * 1996-05-28 1998-06-09 International Business Machines Corporation Virtual pointing device for touchscreens
US6067079A (en) * 1996-06-13 2000-05-23 International Business Machines Corporation Virtual pointing device for touchscreens
US5856824A (en) * 1996-06-25 1999-01-05 International Business Machines Corp. Reshapable pointing device for touchscreens
EP0922275A4 (en) * 1996-08-28 2002-08-21 Via Inc SYSTEMS AND METHODS RELATING TO A TOUCH SCREEN
US6337702B1 (en) * 1996-10-23 2002-01-08 International Business Machines Corporation Method and system for graphically indicating a valid input within a graphical user interface
US5818361A (en) * 1996-11-07 1998-10-06 Acevedo; Elkin Display keyboard
US6324592B1 (en) * 1997-02-25 2001-11-27 Keystone Aerospace Apparatus and method for a mobile computer architecture and input/output management system
US6222528B1 (en) 1997-03-07 2001-04-24 Cirque Corporation Method and apparatus for data input
US5825362A (en) * 1997-05-07 1998-10-20 Datahand Corporation Graphical user interface with keyboard display graphical
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6037928A (en) 1997-11-13 2000-03-14 Imageworks Manufacturing, Inc. System and method for providing restrained, streamlined access to a computerized information source
EP1040406B1 (en) 1997-12-16 2003-05-02 Microsoft Corporation Soft input panel system and method
US6211856B1 (en) * 1998-04-17 2001-04-03 Sung M. Choi Graphical user interface touch screen with an auto zoom feature
US7768501B1 (en) * 1998-05-01 2010-08-03 International Business Machines Corporation Method and system for touch screen keyboard and display space sharing
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6590588B2 (en) * 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6359572B1 (en) 1998-09-03 2002-03-19 Microsoft Corporation Dynamic keyboard
US7284066B1 (en) * 1998-09-11 2007-10-16 Lv Partners, Lp Method and apparatus for matching a user's use profile in commerce with a broadcast
US7440993B1 (en) 1998-09-11 2008-10-21 Lv Partners, L.P. Method and apparatus for launching a web browser in response to scanning of product information
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US7370114B1 (en) * 1998-09-11 2008-05-06 Lv Partners, L.P. Software downloading using a television broadcast channel
US7117240B1 (en) * 1998-09-11 2006-10-03 Lv Partners, Lp Method and apparatus for launching a web site with non-standard control input device
US6823388B1 (en) 1998-09-11 2004-11-23 L.V. Parners, L.P. Method and apparatus for accessing a remote location with an optical reader having a programmable memory system
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method for connecting a wireless device to a remote location on a network
US7159037B1 (en) * 1998-09-11 2007-01-02 Lv Partners, Lp Method and apparatus for utilizing an existing product code to issue a match to a predetermined location on a global network
US6745234B1 (en) 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US6704864B1 (en) 1999-08-19 2004-03-09 L.V. Partners, L.P. Automatic configuration of equipment software
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
US7379901B1 (en) 1998-09-11 2008-05-27 Lv Partners, L.P. Accessing a vendor web site using personal account information retrieved from a credit card company web site
US6636896B1 (en) * 1998-09-11 2003-10-21 Lv Partners, L.P. Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet
US6924781B1 (en) * 1998-09-11 2005-08-02 Visible Tech-Knowledgy, Inc. Smart electronic label employing electronic ink
GB2347240A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal having a predictive editor application
US6256009B1 (en) 1999-02-24 2001-07-03 Microsoft Corporation Method for automatically and intelligently scrolling handwritten input
US6822639B1 (en) * 1999-05-25 2004-11-23 Silverbrook Research Pty Ltd System for data transfer
US7243835B2 (en) * 1999-05-25 2007-07-17 Silverbrook Research Pty Ltd Competition entry via label
US7106888B1 (en) * 1999-05-25 2006-09-12 Silverbrook Research Pty Ltd Signature capture via interface surface
US6657645B2 (en) * 1999-06-11 2003-12-02 Microsoft Corporation System, method, and computer-readable medium for displaying keyboard cues in a window
US6857106B1 (en) * 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US6850228B1 (en) * 1999-10-29 2005-02-01 Microsoft Corporation Universal file format for digital rich ink data
US7644039B1 (en) * 2000-02-10 2010-01-05 Diebold, Incorporated Automated financial transaction apparatus with interface that adjusts to the user
US6401053B1 (en) * 2000-09-28 2002-06-04 Honda Of America Mfg., Inc. Motion automatic datalink interface
US6980201B1 (en) * 2000-09-29 2005-12-27 Rockwell Automation Technologies, Inc. Minimum move touch plane scanning method and device
US7577618B2 (en) * 2000-10-10 2009-08-18 Stamps.Com Inc. Generic value bearing item labels
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
US7478338B2 (en) * 2001-07-12 2009-01-13 Autodesk, Inc. Palette-based graphical user interface
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US9189467B1 (en) 2001-11-07 2015-11-17 Apple Inc. Method and apparatus for annotating an electronic document
US6938221B2 (en) * 2001-11-30 2005-08-30 Microsoft Corporation User interface for stylus-based user input
US20040070616A1 (en) * 2002-06-02 2004-04-15 Hildebrandt Peter W. Electronic whiteboard
US7259752B1 (en) 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
US7185278B1 (en) 2002-06-28 2007-02-27 Microsoft Corporation Separating and moving document objects using the movement of a wiper bar
US7079713B2 (en) * 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7751623B1 (en) 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US7188309B2 (en) 2002-06-28 2007-03-06 Microsoft Corporation Resolving document object collisions
US7174042B1 (en) 2002-06-28 2007-02-06 Microsoft Corporation System and method for automatically recognizing electronic handwriting in an electronic document and converting to text
US7386796B1 (en) * 2002-08-12 2008-06-10 Newisys Inc. Method and equipment adapted for monitoring system components of a data processing system
US7554530B2 (en) * 2002-12-23 2009-06-30 Nokia Corporation Touch screen user interface featuring stroke-based object selection and functional object activation
US20050071761A1 (en) * 2003-09-25 2005-03-31 Nokia Corporation User interface on a portable electronic device
US7003758B2 (en) * 2003-10-07 2006-02-21 Brion Technologies, Inc. System and method for lithography simulation
US7721226B2 (en) 2004-02-18 2010-05-18 Microsoft Corporation Glom widget
US7358965B2 (en) * 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
US7659890B2 (en) * 2004-03-19 2010-02-09 Microsoft Corporation Automatic height adjustment for electronic highlighter pens and mousing devices
US20070067726A1 (en) * 2005-09-16 2007-03-22 Microsoft Corporation Content sharing user interface for mobile devices
US7873356B2 (en) * 2005-09-16 2011-01-18 Microsoft Corporation Search interface for mobile devices
US7933632B2 (en) 2005-09-16 2011-04-26 Microsoft Corporation Tile space user interface for mobile devices
US7526737B2 (en) * 2005-11-14 2009-04-28 Microsoft Corporation Free form wiper
US20080154573A1 (en) * 2006-10-02 2008-06-26 Microsoft Corporation Simulating new input devices using old input devices
US9779556B1 (en) 2006-12-27 2017-10-03 Stamps.Com Inc. System and method for identifying and preventing on-line fraud
US8130203B2 (en) 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
US7855718B2 (en) * 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US7876310B2 (en) 2007-01-03 2011-01-25 Apple Inc. Far-field input identification
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US7884806B2 (en) * 2007-05-14 2011-02-08 Synaptics Incorporated Proximity sensor device and method with keyboard emulation
US8063890B2 (en) * 2007-05-15 2011-11-22 Wacom Co., Ltd. Device, method, and computer readable medium for mapping a graphics tablet to an associated display
US20090027334A1 (en) * 2007-06-01 2009-01-29 Cybernet Systems Corporation Method for controlling a graphical user interface for touchscreen-enabled computer systems
US8059101B2 (en) * 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
JP4372188B2 (ja) * 2007-12-21 2009-11-25 株式会社東芝 情報処理装置および表示制御方法
US8825462B2 (en) * 2008-09-17 2014-09-02 Accenture Global Services Limited Method and system for simulating a plurality of devices
GB2473000B (en) * 2009-08-25 2014-02-19 Promethean Ltd Dynamic switching of interactive whiteboard data
US9092128B2 (en) 2010-05-21 2015-07-28 Apple Inc. Method and apparatus for managing visual information
US8151279B1 (en) * 2011-03-28 2012-04-03 Google Inc. Uniform event handling across multiple computing devices
US8392935B2 (en) 2011-03-28 2013-03-05 Google Inc. Uniform event handling across multiple computing devices
JP6110122B2 (ja) * 2012-12-07 2017-04-05 シナプティクス・ジャパン合同会社 集積回路装置、パネル表示装置及び表示パネルドライバ
US9600053B2 (en) * 2013-03-11 2017-03-21 Barnes & Noble College Booksellers, Llc Stylus control feature for locking/unlocking touch sensitive devices
US9867295B2 (en) * 2014-01-07 2018-01-09 Dell Products L.P. Ball grid array system
US9613263B2 (en) * 2015-02-27 2017-04-04 Lenovo (Singapore) Pte. Ltd. Ink stroke grouping based on stroke attributes

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1479584A (en) * 1973-07-14 1977-07-13 Solartron Electronic Group Data terminals and data processing apparatus incorporating such terminals
US4202041A (en) * 1977-07-11 1980-05-06 Massachusetts Institute Of Technology Dynamically variable keyboard terminal
US4602286A (en) * 1982-01-15 1986-07-22 Quantel Limited Video processing for composite images
JPS5968037A (ja) * 1982-09-21 1984-04-17 Canon Inc 入力装置
US4587633A (en) * 1982-11-10 1986-05-06 Wang Laboratories, Inc. Management communication terminal system
JPS60205686A (ja) * 1984-03-30 1985-10-17 Hitachi Ltd 手書き文字・図形認識システム
US4562304A (en) * 1984-05-23 1985-12-31 Pencept, Inc. Apparatus and method for emulating computer keyboard input with a handprint terminal
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4899136A (en) * 1986-04-28 1990-02-06 Xerox Corporation Data processor having a user interface display with metaphoric objects
US4725694A (en) * 1986-05-13 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Computer interface device
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4839634A (en) * 1986-12-01 1989-06-13 More Edward S Electro-optic slate for input/output of hand-entered textual and graphic information
US4763356A (en) * 1986-12-11 1988-08-09 AT&T Information Systems, Inc. American Telephone and Telegraph Company Touch screen form entry system
US4859995A (en) * 1987-06-30 1989-08-22 Xerox Corporation Mouse pointer with switchable emulation mode
AU623149B2 (en) * 1988-05-27 1992-05-07 Global 360, Inc. Document manipulation in a data processing system
JPH02127720A (ja) * 1988-11-08 1990-05-16 Mitsubishi Electric Corp 情報処理装置の入力用デバイス・シミュレート方式
FR2645990A1 (fr) * 1989-04-14 1990-10-19 Telematique Videotex Francaise Micro-ordinateur p ortatif a ecran-clavier tactile
JPH0362216A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ポータブル端末装置
JPH03142657A (ja) * 1989-10-30 1991-06-18 Canon Inc 文書処理装置

Also Published As

Publication number Publication date
WO1992009944A2 (en) 1992-06-11
AU8842991A (en) 1992-06-25
DE69119432T2 (de) 1997-01-09
DE69119432D1 (de) 1996-06-13
US5491495A (en) 1996-02-13
CA2095724A1 (en) 1992-05-14
AU657499B2 (en) 1995-03-16
EP0557320B1 (en) 1996-05-08
EP0693724A1 (en) 1996-01-24
EP0557320A1 (en) 1993-09-01
WO1992009944A3 (en) 1992-11-12

Similar Documents

Publication Publication Date Title
JPH05508500A (ja) 疑似装置を有するユーザインターフェース
JPH06501798A (ja) 標準プログラムへのタブレット入力を有するコンピュータ
JPH06501799A (ja) 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ
US5917486A (en) System and method for client program control of a computer display cursor
US8599147B2 (en) Computer interface for navigating graphical user interface by touch
US7091954B2 (en) Computer keyboard and cursor control system and method with keyboard map switching
US5250929A (en) Interactive overlay-driven computer display system
US20160246451A9 (en) Zeroclick
EP0660218A1 (en) An improved graphical keyboard
JP2009527041A (ja) コンピューティングシステムにデータを入力するシステム及び方法
JPH04503726A (ja) 統合キーボード、及び、ポインティング装置システム
US7170502B2 (en) Method for implementing a partial ink layer for a pen-based computing device
US20050270274A1 (en) Rapid input device
US10915242B1 (en) Interface to computer and other display information
US11435867B2 (en) Display method and electronic device using the same
WO2022162356A1 (en) Apparatus and method for entering logograms into an electronic device
JPH03265024A (ja) ダイレクト・マンマシン・インタフェース方式のcaeシステム
JPH0883276A (ja) 文書処理装置及び処理方法
JPH06161648A (ja) タッチパネル用インタフェース装置