[go: up one dir, main page]

JPH06501799A - 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ - Google Patents

別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ

Info

Publication number
JPH06501799A
JPH06501799A JP3513045A JP51304591A JPH06501799A JP H06501799 A JPH06501799 A JP H06501799A JP 3513045 A JP3513045 A JP 3513045A JP 51304591 A JP51304591 A JP 51304591A JP H06501799 A JPH06501799 A JP H06501799A
Authority
JP
Japan
Prior art keywords
data
display
processor
interface
computer system
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
JP3513045A
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 JPH06501799A publication Critical patent/JPH06501799A/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
    • 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

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)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Abstract

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

Description

【発明の詳細な説明】 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ関連 出願の参照 本願は、次の出願に関連するものである。
本願と同日付で出願された、マーティンら(Martin et al)の「標 準プログラムへのタブレット入力を有するコンピュータ」、本願と同日付で出願 された、ワードら(Ward et al)の「疑似装置を有するユーザインタ ーフェース」、及び1990年11月9日付けで出願された、デビット パレッ トら(DevidBarrett et al)の「システムクロック速度制御 装置」。
これらの出願の最初の2つは、本願と同一開示を基にしたものである。
発明の分野 本発明は、コンピュータシステム用ユーザインターフェースのための動作及びサ ポート設備に関するものである。本発明は、特に、スタイラスがユーザの主要人 力装置であるシステムにおいて有用なものである。
背景 ユーザの要求と種々の実施技術装置の能力との双方に鑑みて、コンピュータ及び 人間がそれらのコンピュータと相互作用する方法は、何度も再設計されている。
このようにする際、現在の技術及び人間の現在の理解にしたがって、各システム の設計を最適化することが望ましい。しかしながら、多くの場合これとは反対に 、新しいシステムにハードウェア及びソフトウェアの双方において既存の構成物 を利用させることができるようにするために、コンピュータシステムの設計を形 作る別の力が必要である。この別の力は、既存の設計に大きな投資をし続けたい とする要望、及び既存のシステムで普及され続ける環境において新しいシステム を使用する要望を含む、種々のソースから生じるものである。
新システムが、アプリケーションプログラム(あるシステムを、多くの場合単に 「アプリケーション」と呼ばれている現実のタスクに適応させるプログラム)、 及びシステムプログラム(アプリケーションプログラムによって用いられるシス テム管理機能及びサービスを提供するプログラム)の双方の、既存のソフトウェ ア構成物を利用することができることは、特に有益である。ある既存のアプリケ ーションが、あるユーザ共同体内では、実際に標準となっているので、新しいシ ステムがこれら標準アプリケーションを実行できることは、特に重要なことであ る。
ユーザ相互作用を与える殆どのソフトウェアは、第一に、キーストロークデータ の形状のユーザ入力に対して設計されている。成長しつつあるソフトウェア本体 (body)、特にデスクトップシステム用に設計されたソフトウェア本体は、 キーストロークデータに加えて、マウスからの入力も受け付ける。一般的に、こ れらのシステムは、ある機能に対してはキーストロークデータを未だに必要とす る。
コンピュータンステムを人間にとって使いやすくするために、種々のシステムは 、スタイラス型入力装置(典型的にデジタル化タブレット)を備えている。従来 の筆記形態入力と類似しているため、スタイラス型入力装置は、ポインティング 装置の中でも、ポインティング装置として機能することに加えて、文字入力に用 いるのに特に適している。使用時、スタイラス型入力装置は、一般的に、キーボ ードに加えて設けられる。ある場合には、システムは、スタイラス型装置を主ユ ーザ入力装置として用いるよう設計されている。
キーボードは、スタイラス及びデジタル化タブレットとは根本的に異なる特性を 有するものである。キーボードを用いれば、正確な文字識別が聞単にできる。
すなわちユーザが単に対応するキーを押すだけで、アルファベット文字を表すデ ータを発生する。キーボードが、単一動作(すなわちバイナリスイッチの押圧) で1つの文字を作成するために用いることができるので、ユーザへの必要とされ るフィードバックは、聴取可能なりリック音を伴ったその文字を表示することだ けである。対照的に、スタイラスを文字入力に用いることができるが、非常に難 しいユーザへのフィードバックが必要となる。手書き文字は、ユーザ及びコンピ ュータシステムの双方に対して、大幅に複雑なプロセス(ユーザには親しみやす いが)によって、発生されるものである。
キーボードで機能選択を行なうには、非常に広い範囲の代替方法が使われている 。それらの内で、キーボードはポインティング装置としては非常に劣るので、あ る機能即ち操作すべきオブジェクトの可視表現への指示はぎこちない。
マウスもしばしばシステム内で用いられ、ユーザがマウスを用いてスクリーン上 のオブジェクトをドラッグ(drag)できるようになっている。これは、特定 の形式のマウスカーソルまたはポインタの表示を備えることによって達成されて いる。このカーソルは、システムには知られている絶対位置を有しており、シス テムは、マウスの相対的移動に応じてカーソル位置を調整する。このカーソルは マウスの相対移動とオブジェクトのドラッグ動作との間の絶対的仲介物として機 能する。
マウスカーソルを用いるように設計されたプログラムを、表示スクリーン上で直 接動作するスタイラスと共に用いると、ユーザは、スタイラスでカーソルを、即 ち、スタイラスをカーソル上に位置付はカーソルをドラッグすることによって、 直接操作することができると考えるであろう。これは一般に、ユーザをいらいら させるような動作を行なう。即ち、マウスの移動量とカーソルによって移動され る距離との関係は固定されておらず、これはアプリケーションによって変動した り、単一アプリケーション内においても変動するものである(例えば、速度の関 数として変動する′場合がある)。その結果、スタイラスがオブジェクト上でス タートしても、そのオブジェクトはスタイラスの位置を追跡しないであろう。
スタイラスが用いられるシステムでは、表示にスタイラスを直接用いることがで きることが、ユーザにとって特に有利である。例えば、表示スクリーン上に直接 書くことができ、そして適切な時に、「インク」の軌跡が、表示上のスタイラス の通った経路に現れるので、ユーザには紙の上で書いているのと全く同じように 思われる。
スクリーン上で直接用いられるポインティング型入力装置は、その絶対位置を与 えなければならない(インクが、スクリーン上のスタイラスの位置に現れるよう に)。これは、相対位置を与えるマウスによる入力とは、異なる点である。すな わちマウスを用いると、ユーザは一連の右方向の動作のみを指示するマウスデー タを発生し、しかもマウスの終端をそのスタート位置にあるようにすることがで きる(例えば、マウスを右に移動させ、マウスを持ち上げ、その元の位置の左に マウスを置き、そしてマウスを右に移動させて元の位置に戻す)。このように、 マウス及びスタイラスは「ポインタ型」装置(ロケータ)であるが、それらの特 性は異なっている。
文字コードの入力は、スタイラスを用いて既存の(スタイラスを用いない)プロ グラムを実行させるには、別の種類の障害となる。手書き文字の入力は、ユーザ へのフィードバックを必要とする場合には、複雑過ぎるのである。手書き入力を 考慮していないプログラムは、未だにそのようなフィードバンクに対する機能( provision)を有するユーザインターフェースを定義していない。
これらの人力装置の特性における差は、スタイラスを基本としたコンピュータシ ステムで用いる多くの既存のソフトウェアを有効に利用するための大きな障害と なっている。その結果、スタイラスによる入力を用いる場合の殆どは、スタイラ スを備えたシステム用に特に書かれたアプリケーションプログラムに頼っている のが実際である。
本発明にしたがって構築されたシステムは、既存のソフトウェアを実行すること ができ、しかもシステムのユーザがそのようなソフトウェアと相互作用ができる ようにするものである。
発明の概要 本発明によるシステムは、既存のプログラムを対象とするように設計されていな いポインタ型装置(特にスタイラス/タブレット)を用いて、既存のプログラム をユーザが処理できるようにするものである。これは、既存のプログラムの処理 に対して論理的には上位に位!するがそれとは干渉しないユーザインターフェー スを提供することによって達成されるものである。このユーザインターフェース は、ポインティング装置の動作に関するフィードバックを、ユーザに提供する。
既存のプログラムの実行に干渉することなくこの上位(overlaying) インターフェースを実施するために、インターフェースプロセッサを備えて、こ のインターフェースを実施するために用いられるソフトウェアを実行する。更に 、別個の表示面を備えて、既存のプログラムによって使用される表示バッファを 変更することなく、既存のプログラムからの表示と該別個の表示面が仮想的に組 み合わせられる。この表示面は、組み合わせられる画像を保持するインク面(i nk plane)バッファ、インク面データが既存のプログラムからの表示デ ータとどのように組み合わされるかを示すマスク面バッファ、及びデータの組み 合せを行なうマルチプレクサを用いることによって、組み合わせられる。
図面の簡単な説明 本発明は、添付の請求の範囲において、特徴が指摘されている。本発明の上述の 及びその他の利点は、以下の詳細な説明を図面と関連付けて参照することにより 、よりよく理解することができよう。ここで、図1は、本発明が有利に用いられ るコンピュータシステムの斜視図である。
図2は、本発明を具体化したコンピュータンステムの回路の、論理組織を強調し たブロック図である。
図3は、本発明を具体化したコンピュータシステムの回路の物理的実施態様を強 調したブロック図である。
図4は、主プロセツサとインターフェースプロセッサとの間の通信に使用される 回路のブロック図である。
図5は、表示すプログラムにおける回路のブロック図である。
図6は、表示すプログラムの表示データ多重化回路を示す。
図7.8及び9は、表示スクリーン上の画素位置とインク及びマスクデータの記 憶との対応を示す。図7は、表示スクリーン上の画素位置のいくつかを示す。
図8は、インク及びマスクデータが4つのV RA Mチップにどのように記憶 されるかを示すメモリマツプを有する。図9は、インク及びマスクデータが、イ ンターフェースプロセッサのアドレス空間において、どのように現れるかを示す 。
図10は、3つのノミュレートされた装置アイコン、即ちキーボード、手書き及 びマウスを示すスクリーン表示である。
図11は、タブレット表示、及びあるソフトウェア構成物間の関係を示す。
例示実施例の詳細な説明 1 プラットフォーム 1.1 コンピユーテイング環境 本発明は、ユーザが書き込み用スタイラスまたはその他のボインティング装置を 用いて相互作用するコンピュータシステムにおいて、有利に用いられるものであ る。ユーザが表示装置上で書き込みを行なえれば、キーボードを削除しくまたは 少なくとも選択的とされる)、コンピュータシステムを小型化できるので、結果 的に得られるシステムは「ノートブック」コンビ二一夕とも呼ばれている。本発 明を、このようなノートブックコンピュータに沿って説明する。この説明を基に すれば、本発明の他の実施例も明白であろう。
図1は、ノートブックコンピュータ10の斜視図である。これは、デジタル化タ ブレットと表示装置12の組み合せを備えている。スタイラス14は、デジタル 化タブレットと共に用いられ、システムにX−Y座標入力を与える。表示装置は 、液晶技術を用いて構成され、バックライトを備えている。タブレット領域の一 方の縁に沿って、一連のラベルを付けた領域16a、16b、16c及び16d がある。システムは、これらの領域にスタイラスが接触すると、あるシステム機 能を開始する。ある動作モードにおいて、システムは、電子インクを供給するよ うに動作し、この場合タブレット上のスタイラスの移動が、ユーザが1枚の紙の 上に書いているかのように、表示装置上で見ることができる痕跡を残す。
この例示的ノートブックコンピュータの他の機構は、音声デジタル化及び再生( ヘッドセット/マイクロフォンを接続することができる)、データ通信(ファッ クスを含む)、内部ハードディスクドライブ、標準シリアル及びパラレルポート 、scs rポート(特に外部フロッピディスクドライブへの接続のため)を備 えている。scs rポートの代りにコネクタを備えて、IBMのPS/2コン ピュータの多くのマイクロチャンネルと互換性のあるバスに接続することができ る。
主プロセツサは、Inte180386SXである。このシステムの中核は、一 般的に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の803863Xマ イクロプロセツサを用いて実現されている。このプロセッサは、オペレーティン グシステム及びアプリケーションプログラムを実行する。このプロセッサには、 1または4メガバイトの基本主メモリ30aがあり、1メガノくイトまたは4メ ガバイトの2つのモデュールをオプションで加えることができる(したがって、 12メガバイトまで備えることができる)。ツードブ・ツクコンピュータの形管 の特徴を保持するために、主メモリは、米国特許第4710903号に記載され ているのと同様な方法で制御される、疑似スタティックメモリチ・ツブを用いて いる。
基本的入出カシステム(BIO3)として知られている、システムサービスソフ トウェア用に、128キロバイトのメモリ30b (ROM)を備えている。
1、2.2 表示スクリーン 視覚出力は、表示スクリーン48によって提供される。好適実施例では、これは 、デジタル化タブレット34(以下に説明する)と物理的に一体化された平面パ ネル表示装置である。特に、これは640X480画素の液晶表示装置であり、 250ミリ秒より高速のスイッチング時間を有するものである。
1、2.3 主表示バッファ及び制御器主表示バッファ及び表示制御器38 ( Chips & Technologies 82C4,55VGA制御器)は 、主プロセツサ30によって制御される。
これは、主プロセツサ上で実行中のアブリケーンヨンには、一般的にVGAとし て知られているような従来のビデオ表示装置のように思われる。これは、640 ×480画素の制御を可能とするもので、4つの128KX8ビ・ントの疑似ス タティックメモリ素子に記憶される。このメモリは、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キーボード制御器によって備えられる機能を与える。キースト ローク及びマウスデータを主プロセツサに引き渡すことに加えて、これらの機能 は、パスワードの設定及び検査、r8042RAMJの読み出し及び書き込み、 そして物理的キーボードインターフェースのイネーブル、ディスイネーブル及び 試験を含む。
キーボードポートを介してデータを主プロセツサに送る、このファームウェアの サービスは、3つの状態で送られているデータを扱うことができる。それらは、 変換済みデータ、未変換データ、補助データである。
変換済みデータは、物理的キーボードから来たものとして扱われる。このデータ は、インターフェースプロセッサによって認知されるシステムのシフト状態に影 響を及ぼす変化を発見するために、監視される。8o42のコマンドバイトのP C互換性の状態にしたがって、このデータをあるスキャンコードがら別のものに 変換することもできる。
未変換データは、変化せずにシステムに送られる。シフト状態の変化を監視する ために、未変換データを監視することはしない。即ちインターフェースプロセッ サは、未変換データによるシフト状態のいがなる変化も、未変換データストリー ムの最後で、元に戻される(undone)と仮定している。
補助データは、変換されずに主プロセツサに送られる。補助データを送る際、キ ーボード状態レジスタの1ピントがセットされ、データがキーボードデータでは な(、補助データであることを王プロセッサに示す。補助データとは、典型的に マウスデータである。
1、2.5.2 疑似装置に対するサービスファームウェアは疑似(シミュレー トされた)装置によるキーボードポートの使用を支援する種々のサービスを備え ている。
物理的キーボードからのデータストリームをイネーブル及びディスイネーブルす るサービスがある。ディスイネーブルが要求されると、多ビツトキーコードを分 割せずにストリームを中断できるまでサービスは待機し、そして現在のソフト状 態の指示と共に戻る。
バッファサブミツト(submit)サービスは、送るべき1ブロツクの「キー ボード」データのサブミツトを可能とするものである。データは、変換済み、未 変換または補助として識別され、それにしたがって取り扱われる。「終了時(w hen done)Jルーチンへのポインタが、前記データのブロックと共に設 けられている。即ちサービスは、バッファ内のデータが送られた時、このルーチ ンを実行する。別のバッファが現在送られている時、エラーが返送される。
物理的キーボードがイネーブル状態にされると、バッファサブミツトサービスは 、バッファ送出の前に物理的キーボードをディスイネーブル状態にし、データ送 出の後には物理的キーボードをイネーブル状態にする。
バッファ中止(abort)サービスが、進行中のバッファ送信を取り消すこと ができるようにするために設けられている。
バッファ送信速度設定サービスは、キーストロークデータのバッファが主プロセ ツサに送られる速度を制御するために設けられている。これは、主ブロセ、すに おけるキーボードバッファのオーバーフローに対する制御のために設けられたも のである。遅れは、8バイト以下のバッファには適用しない。これは、どの単一 キーストロークのバイト列でも、遅れなしに送ることができるようにするもので ある。
インターフェースプロセッサのクロック速度を制御するために、サービスが設け られている。このクロックは、2.4、または8メガバイトに設定することがで きる。この速度制御をサポートするハードウェアは、V25チップに集積化され ている。
インターフェースプロセッサのシリアルポート(タブレットに接続されている) からのイベント、データリンクがらのイベント、またはある時間期間(呼び出し 側によってミリ秒で指定される)の間、待機するサービスが設けられている。こ のサービスは、これら3つのイベントのいかなる組み合せでも待機する。待機中 、このサービスはインターフェースプロセッサの速度をその最低速度に設定する 。
上述のイベントが起きた時、サービスはインターフェースプロセッサの速度をそ の元の速度に戻し、そしてサービスは呼び出し側に戻る。
割り込みベクトルを連鎖してシステムがらキーボードまたは補助袋!への通信に ついて学習することができるようにするサービスも、設けられている。
また、ファームウェアはフリーランニングの32ビツトのカウンタも備えている 。このカウンタは、各ミリ秒毎に1増分される。これらの1ミリ秒の割り込みを 連鎖することも可能である。
1、2.5.3 データリンク制御 上述のファームウェアは、また、データリンクを介した通信のための支援を提供 する。この通信について以下に説明する。
1.26 ポインティング装置 好ましくは、ポインティング装置は絶対位置を与える形式(例えば、デジタル化 タブレット、ライトベン)のものがよい。マウスは相対位!を与える(即ち、移 動量であって位!ではない)ので、マウスを用いることもできるが、利点が少な くなる。
好適実施例のポインティング装!は、5criptel Corporatio nから入手可能なもののような、透明なデジタル化タブレットとそれに付随する スタイラス(タブレットとスタイラス共に、図2では34として示されている) である。
適切なタブレットは、以下のような特性を有していなければならない。
・下層の表示において単一の画素を指示することができる絶対精度がなければな らない。100画素/インチの下層表示では、全ての情報源からのタータルエラ ーは、±0.05インチ未満でなければならない。
・タブレットを表示装置にかぶせであるので、タブレットは透明でなければなら ず、光の分散は最少でなければならず、表示装置上の書き込み表面の高さは、視 覚パララックスを減少させるために、最低にしなければならない。
・タブレットは、スタイラスの使用並びに他の物体からの衝撃及び摩擦に耐える ように、耐摩擦型でなければならない。
・タブレットはノイズに対する十分な抵抗力を有し、コンピュータ内の表示装置 や他のRFI源から非常に近い所でも正確に動作しなければならない。
・ノートブック型の小型コンピュータは、それが携帯可能装置として特に有用で ある。したがって、低電力も、有用な特性である。
・タブレットは、1秒当り少なくとも120ポイントをデジタル化できなければ ならない。
・スタイラスのタブレットへの接近を感知する機能を設け、ユーザが書き込みま たはドラッグを行なっていないがスタイラスが表面近くまたは表面上にある時、 システムが追跡用カーソルを表示できるようにしなければならない。
タブレットへの「接触」を感知すべきであり、これはティラプスイッチ(tip  5w1tch)で実施することができる。スイッチ力は、ユーザが最少のスキ ップ動作で快適に書くことができるようにすべきである。
[デジタイザ技術、性能特性及びユーザインターフェースに対する効果J (I EEEComputetandApplications 1987年4月、p p31−44)という題の論文が、デジタイザ技術について記載している。
タブレットインターフェース36は、タブレットからのX−Y座標データをイン ターフェースプロセッサに転送する。このインターフェースは、アナログフロン トエンドけront end) 、D/A変換器、68HC1lフイクロコント ローラ(Motorola Corporationから)、及び関連するロジ ック、並びにPROMを備えている。FROMは、マイクロコントローラが行方 向のタブレットデータを補正するために用いる情報を含んでいる。上記マイクロ コントローラは、インターフェースプロセッサ32へのシリアルリンクを有して いる。
タブレットインターフェース36とインターフェースプロセッサ32との間の接 続は、19.2キロビット/秒で動作する、双方向非同期シリアルリンクである 。以下にあげるのはインターフェースプロセッサがタブレット制御器に送ること ができる最も重要なコマンドである。
Re5et タブレットを再初期化し、試験する。成功または失敗コードがイン ターフェースプロセッサに戻される。
Quit タブレット制御器が、できるたけ多くのタブレット電子回路の電力を 低下させ、新しいコマンドを待つ。
5leep ユーザイベント(例えば、スタイラスが接近する、または、既に近 傍にあれば、スタイラスが移動する)が起こるまで、タブレット制御器はデータ 送出を停止し、イベント発生時にタブレット制部器はデータ送出を開始する。
他のコマンドを診断の目的に用いることができる。
デジタル化された各ポイントに対して、タブレット制御器は、5バイトのデータ を送る。その場合、ビット位置は次の意味を有する。
1 0 1 TIP 5IDE 0 0 0 PROX2 0 0 X5 X4  X3 X2 XI XO300XI、I XIOX9 X8X7 X64 0  0 Y5 Y4 Y3 Y2 YI YO500Yll YIOY9 Y8  Y7 Y6RROXは、スタイラスがタブレットの感知範囲にあるか否かを示す 。TIPは、ティップスイッチが押圧されたか否かを示す。5IDEはスタイラ ス側のスイッチが押圧されたか否かを示す。X及びYは、X−Y座標データを表 す。
タブレット制御器によってインターフェースプロセンサに送られるデータは、X 及びY軸に対して、0から4095までの値を有する。これらの値は、表示装置 よりわずかに大きな領域に対応する(表示装置の縁に沿って「ボタン」を設ける ため)。
製造工程の一部として、各ユニットに対して3点更正を行ない(デジタイザと表 示装置との不整合を補正するため)、安定メモリ(例えば、ディスク、バッテリ でバックアップされたCMO3RAM、EEROM)に記憶する。更正パラメー タは、インターフェースプロセッサが12ビツトのタブレットデータを表示座標 に変換するために、用いられる。
127 インク/マスク表示バlファ及び制御器マスク面は画素当り1ビツトを 有している。これを用いて、通常の表示ノくソファからのデータまたはインク面 からのデータのどちらが表示スクリーン上に示されているかを判断する。マスク 面を拡張して、画素当り1ビツト以上を含むこともできる。例えば、VGAとイ ンクデータとの間での単純な選択に加えて、AND。
OR,X0RSNOR,及びNANDのような、画像の組み合せ構成の中からの 選択ができるようになる。
例示的なシステムでは、インク面は画素当り1ビツトを有する。しかしながら、 この面は、画素当りより多くのビットを有し、インク面に灰色階調またはカラー 表示ができるようにすることも可能である。
1、2.8 ビデオマルチプレクサ ビデオマルチプレクサは、リフレッシュデータの表示装置への流れを制御する。
これは、マスク面データストリームの画素値にしたがって、アプリケーション面 (VGA)のデータ流またはインク面のデータ流から、画素値を選択する。XO Rのような、2つの面からのデータを組み合せるためのより複雑な演算動作を用 いることもできる。このような動作は、全体として表示装置に対して、或は(マ スク面が画素当り1ビツト以上を含んでいれば)画素毎に選択することもできる 。
1、2.9 信号処理サブシステム 本システムは、信号処理サブシステムを備えている。このサブシステムは、音声 の記録及び再生を行なうことができ、ファクシミリのモデムとして動作し、そし てデータ通信のためにV22として、bis2400ビット/秒で動作する。
このサブシステムは、デジタル信号プロセッサ60 (Texas Instr uments320c25)(それ自体のメモリ66を有する)、外部へのイン ターフェースのためのアナログ回路62、及び(マイクロチャンネル70を介し て)システムの残りの部分と連係するためのデジタル回路を有するASIC64 を備えている。
外部マイクロフォン及びヘッドセットのためにコネクタが設けられている。内部 マイクロフォンも備えられている。
1、2.10 種々の通信ポート 更に次の通信ポートが設けられている。
・2つのシリアルポート(1つは標準コネクタを有し、もう1つはモデムが必要 でない時に用いるための、モデムポートコネクタを介して使用可能なもの)・5 csrポート74 ・工業標準パラレルポート パラレルポートと標準シリアルポートとは、VL16C451B (VLSIL ogicより)72を用いて実施されている。第2のシリアルポートは、デジタ ル信号処理サブシステムの一部であるASIC64によって実施されている。
1.2゜11 犬量記憶装! ハードディスクドライブ76が、プログラム及びデータの大量記憶のために備え られている。外部フロッピディスクドライブを5C3Iインターフエースを介し て接続することができる。
1゜3 VLSIの実施 Western Digitalから入手可能な次のチップは、コアロジック8 0を実施するものである。
・WD 6000周辺I10コントローラ・WD6010DMAコントローラ及 び中央アービタ・WD6036LPマイクロチャンネルバスコントローラ及びメ モリコントローラ ・WD5020アドレス/データバッファその他の構成物には、次のものが含ま れる。
・システムROM30bは、128kx8ビツトであり、電源オン試験用ソフト ウェア及びBIOS、並びにシステムデータを含んでいる。2つの27X512 メモリチツプが用いられている。このROMは、8ビツト幅のデータバスを有す る、ローカルチャンネルバスに接続されている。システムを起動した後、BIO Sをシステムメモリにコピーしてアクセスを高速化し、電力消費を提言するため にシステムROMをスタンバイモードに設定できるようにする。
・リアルタイムクロック82は、MC146818Aを用いて実施されている。
この構成物は、一体化電池によって保持される64バイトのR、A Mも含んで いる。
・不揮発性CMO5RAM84は、システム構成データの記憶のための、バッテ リでバックアップされた8キロバイトのメモリを備えている。
1、3.1 オプテイマイザ 「オプテイマイザ」88は、次のものを含む種々の機能を組み合せるVLSIチ ップである。
・プログラムで制御される速度のスイッチングを含むクロック発生(ノートブッ クコンピュータでは、システムクロック速度を変化させて電力効率を向上させて いる) ・制御信号、及びscs rポート及びハードディスクドライブ用I10レジス タアドレスのデコードは、マイクロチャンネル信号から発生される。
・プログラマブルなオプショナル選択レジスタを含む種々のI10レジスタ(オ プテイマイザによってサポートされるデバイスであり、主プロセツサには、全て 単一のマイクロチャンネルデバイスのように見える。このようなデバイスの特性 は、rIBM Personal System/2 Hardware In terface Technical Reference」におけるように、 どこにでも記載されている)、及びシステム電源制御用並びに主プロセツサのク ロック速度を制御するためのレジスタ・オプショナルキーボードとインターフェ ースプロセッサとの間のインターフェース ・主プロセツサとインターフェースプロセッサとの間のインターフェース最後に あげた2つの機能は、本発明に最も関連のあるものである。
インター(相互)プロセッサインターフェース50及びキーボードインターフェ ース54を実現するオプテイマイザ内の回路が、図4に更に詳しく示されている 。 主プロセツサとインターフェースプロセッサとの間の、「データリンク」と して知られている通信リンクのために、オプテイマイザは、4つのレジスタ、即 ち通信の各方向に対して1つのデータレジスタ及び1つの状態レジスタ(図4の 110.112.114及び116)を備えている。
主プロセツサが標準キーボードポートと1做すものを設けるために(IBMのP S/2シリーズのようなコンピュータによって代表される、事実上の標準)、オ プテイマイザは、さらに4つのレジスタ、即ち通信の各方向番二対して1つのデ ータレジスタと1つの状態レジスタ(図4の120.122.124及び126 )を構成する。
オプテイマイザは、また、インターフェースプロセ・ソサのためにも、割り込み IDレジスタと割り込みマスクレジスタとを構成する。
インターフェースプロセンサは、主プロセツサへのキーストロークの通信を取り 扱うが、オプテイマイザは、(オプションの)物理的キーボードへの双方向ノリ アルインターフェースを備えている。これは、インターフェースプロセッサを、 キーボードクロック及びデータ線の監視から開放し、インターフェースプロセッ サが全バイトに対処できるようにするものである。物理的キーボードの接続をサ ポートするために、オプテイマイザは、データレジスタ130(双方向)及びイ ンターフェースプロセッサによってアクセスされる状態レジスタ132を備えて いる。
インターフェースプロセッサは、インターフェースブロセ・ソサカ(8042キ ーボードコントローラであるかのように主プロセツサと相互作用することによっ て(オプションの物理的キーボードと疑似キーボードからの両方の)キーストロ ークを送出する。標準キーボードコントローラは、補助装置(典型的にマウス) 及びキーボードからのデータに備えているので、この機能も設けられてL)る。
オプテイマイザは、ブート(boot)時のソフトウェアのローディング及びそ の池の必要時を含む、プロセッサ間の種々の通信のために用いられる、インター フェースプロセッサと王プロセッサとの間の「データリンク」接続も、与える。
1.3.2 BGA BGA86 (図5)は、殆どの回路に、現在のアブリケーンヨンの表示データ と衝突することなく、疑似装置のユーザインターフェースを表示できるよう1こ するものである。特に、BGAは、殆どのインク/マスク回路を実現し、表示装 置にデータ及び制御信号を供給するVLS Iチ・ンプである。図6は、マルチ プレクサ46(図2のもの)を更に詳細に示しており、これは、図5において「 ビデオデータの交換」と名付けられたブロックに含まれている。
BGAは、VGAコントローラからのデータを受け取り、インターフェースプロ セッサにインク/マスクメモリへの書き込み/読み取りアクセスを供給し、そし て表示装置にデータを送る。BGAは、VGA信号(水平同期、垂直同期、及び 画素クロックであり、これらは一度に8画素バイトずつ、4画素が表示装置の上 半分から、そして4画素が表示装置の下半分からのものである)を監視し、イン ク/マスクデータからのデータを、VGA制御器によって発生されたデータと調 和させることができるようにする。BGAは、VGA制御器からのドツトクロッ ク信号(画素クロックの8倍)も用いて、その動作を連続化させている。
VGA制御器は、多重化メモリアドレスバスを有するDRAMと共に用いるよう に設計されている。しかしながら、VGA表示バッファは、多重化アドレスバス を用いないPSRAMで構成されており、したがうてアドレスラッチが用いられ ている。更に、BGAは、VGA制御器によって発生された信号から、PSRA M用制御信号を得る回路を含んでいる。
インターフェースプロセッサ用主メモリである512キロバイトのメモリアレイ がBGAに取り付けられている。このうち、76800バイトがインク/マスク 面表示バッファのために用いられている。この表示バッファは、(図9に示すよ うに)インターフェースプロセッサには、2つの38400バイトブロツクのよ うに見える。インク面は30000.にて開始し、マスク面は70000.にて 開始する。これらの位置は、(図8に示すように)個々のメモリデバイスへのア ドレスの割り当てと組み合わされて、各画素に対するインク面及びマスク面デー タが結果的に別個のメモリデバイスに記憶されるようになっている。したがって 、表示装置をリフレッシュするとき、両方を同時に引き出すことができる。この メモリの残りの部分(約400キロバイト)は、プログラム及びデータの記憶の ために、インターフェースプロセッサによって使用されるようになっている。
このアレイは、4つの256KX4ビットビデオRAM (VRAM)デバイス (524256チツプ)によって実現されている。これらは、デュアルポートデ バイスである。各チップは、4ビツトの読み取り/書き込みポートを有し、BG A内の回路を介してインターフェースプロセッサに接続されている。また、各チ ップはノリアルアクセスの読み取りのみのポートも有しており、これは表示用デ ータを供給するために用いられる。各チップは、4つの512ビツトソフトレジ スタを有し、これらはノリアルアクセスポートを駆動するために用いられる。一 旦ソフトレンスタがロードされると、ノリアルデータをノリアルポートからソフ トアウトしている状態で、他のポートを介したアクセスが生じてもよい。
1、3.2.1 メモリマノビング インターフェースブロセソサが、1メモリサイクル中に1バイトのインクデータ (8画素に対するインクデータ)を読み取ることができ、更に1メモリサイクル 中に1バイトのマスクデータ(8画素に対するマスクデータ)を読み取ることが できることが望ましい。また、8画素に対するインク及びマスクデータの両方が 一度に、表示のりフレッノユのために使用可能であることも望ましい。
図7は、表示装置の上半分の最初の16mの画素をT1−T16として表し、表 示装置の下半分の最初の16個の画素をB1−B16として表すものである。
LCD表示装置には、一度に8ビツトのデータが供給される。これらの8ビツト は、表示装置の上半分の4画素及び表示装置の下半分の4画素に対応する。図8 は、例えばインク及びマスクデータがどのように4個のVRAMチップに記憶さ れるかを示している。TTIは画素T1に対するインクビットであり、MTIは 画素T1に対するマスクビットである。IBIは、画素B1に対するインクビッ トドであり、MBlは画素B1に対するマスクビットである。VRAM0及びV RAMIにおいて、インク及びマスクデータは、30000.から395FF、 まてのアドレスに記憶される。’v’ RA M 2及びV RA M 3では 、インク及びマスクデータは39600.から記憶される。アドレス3FFFF 、以降では、インク及びマスクデータが30000.から32BFFF、までの 位!で連続するように、アドレス指定が繰り返される(wrap)。
表示リフレッシュのために、図8に示すように、信号SDO〜5D15の16個 の信号として、データがV RA Mから読み出される。図6は、これらの信号 力く、どのように2つのマルチプレクサ150及び152(各々、2組の8個の 信号の内の1組を選択する)によって処理され、8個の1ビツトマルチプレクサ 160においてVGAからのデータを組み合わされるかを、示すものである。
表示リフレッシュのために、図8に示すようにVRAMからデータが連続的に読 み出される。例えば、シリアルデータビットO(SDO)はインクビットであり 、次にマスクビット、その次にインクビット等となっている。SDOがインクビ ットの場合は、SD4はマスクビットとなる。マルチプレクサ150及び152 は、交互の16ビツトワードにおいて、各VRAMからの4ビツトのニブル(n ibble)を交換するのに用いられる。
インターフェースプロセッサがメモリをアクセスした時、BGAはVRAMへの アドレッシングを制御して、1バイトのインクデータが、1つのVRAMからの 奇数番の位置と、他のVRAMからの偶数番の位!とで構成されるようにする。
更に、インクデータは連続したインターフェースプロセッサのアドレス位置(3 oooo、からスタート)においてアクセスされるが、各VRAMチップの1つ 置きのメモリ位置に記憶される(VRAMチップにおいては、マスクデータと交 互になっており、インターフェースプロセッサには、より高位のアドレス範囲の 70000、から始まるように見える)。したがって、インクデータは、インタ ーフェースプロセッサのアドレス空間において、1つの連続データプロ・ツクと して現れ(30000s〜395FF、)、マスクデータはインターフェースプ ロセッサのアドレス空間において、別の連続データブロックとして(70000 ゜〜795FFH)現れる。これは、図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データは、VG、Aタイミング信号を監視することなく、 表示装置に渡される。BGAスリーブは、BGA制御レジスタ内のあるビットを 設定することによってアクティブ化され、モしてVGAスリーブ信号(オプテイ マイザから外部ビンにて受け取られる)によってアクティブ化される。VGAス リーブ信号によってアクティブ化されるとは、表示出力ドライバはディスイネー ブルされるので、表示装置にダメージを与える事なく、電力を表示装置から遮断 することができる。
1.3.2..5 インターフェースプロセッサとBGABGAは、VR,AM が2つの持ち状態で動作する1000秒のDRAMであるかのように、VRAM のアクセスをインターフェースプロセッサに与える。
BGAは、ビデオンフトレジスタがロード中にインターフェースプロセッサのR eady (レディ)線を制御して、インターフェースプロセッサには明白なよ うに、VRAMを用いて表示装置をリフレッシュできるようにする。
BGA制御レジスタは、次のビット、即ちBGAスリーブ、ブランクVGA。
ブランクインクを備えている。また現在走査中の線の番号を示すリードオンリレ ジスタもある。
1.3.2.6 BGAとオプテイマイザBGAは、インターフェースプロセッ サのアドレス線の全てと接続されており、一方オプティマイザはこれらのアドレ ス線のサブセットに接続されている。このように、BGAは、オプテイマイザの ためのチップ選択信号を発生するように構成されている。このチップ選択は、1 0.4〜17.の範囲内のアドレス、即ちオプテイマイザの8つのI10マツブ トレジスタに対応するアドレス内の任意のr10アドレスに対して、アクティブ 状態である。
1、3.2.7 コントラスト制御 表示のコントラストは、8ビツトのD/A変換器の出力によって制御される。
この変換器のデータレジスタは、メモリ位置にマツプされている。このメモリ位 置への書き込みは、VRAMへの書き込みと、外部D/A変換器への新しい値の ラッチとの、二重の機能を有する。したがって、変換器の現在値は、そのVRA Mの位置を読取ることによって、判定することができる。
1.4 主プロセツサ及びインターフェースプロセッサ間の通信 ・主プロセツ サとインターフェースプロセッサとは、2つの別個の機構を通じて、互に通信す る。インターフェースプロセッサは、キーストローク及びマウスデータの通信は 、I10ポート及びキーボードコントローラと関連付けられているプロトコルと を通じて行なっている。別個の、より一般的通信機構(「データリンク」と呼ば れている)も、備えられている。
14.1 データリンクレジスタ 主プロセツサとインターフェースプロセッサとの間のデータリンクは、各々のプ ロセッサに対して、受信データレジスタ(8ビツト)、送信データレジスタ(8 ビツト)、状態レジスタ(この内2ビットが用いられる)、及び1つの制御ビッ ト(あるレジスタ内に配置されており、該レジスタは複数の制御ビットが他の目 的に使われている)を、用いている。一方のプロセッサの送信レジスタは、他方 のプロセッサの受信レジスタである。
インターフェースプロセッサは、この情報に、固定アドレスを有するI10ポー トを介してアクセスする。
データリンクレジスタは、オプテイマイザによって維持されるものの中にある。
オプテイマイザのPOSレジスタ103は、4つのビットを備えており、これら を用いて、データリンク、状態レジスタ、並びにオプテイマイザによってサポー トされる他のレジスタのアドレスマツピングを制御する。
一つの状態ビットは、そのプロセッサの受信レジスタにデータがあるかいなかを 示す。他の状態ビットは、そのプロセッサの送信レジスタが空であるかを示す。
制御ビットによって、他方のプロセッサがデータを送る時に、割込みが発生され るかを、対応するプロセッサが判断できるようにしている。
1、4.2 データリンクプロトコル 低レベル通信プロトコルは、主プロセツサが何によってインターフェースプロセ ッサから診断情報を得ることができたかによって定義され、データ(ソフトウェ アを含む)をインターフェースプロセッサの主メモリにダウンロードし、電力保 存機構を制御し、そして主プロセツサにて実行されるアプリケーションがインタ ーフェースプロセッサと通信できるようにする基本機構を設けている。
生プロセンサからインターフェースプロセッサへの一般的通信に対して、主プロ セツサ内のBIOSコールが、1ブロツクのデータをインターフェースプロセッ サに送ることができる。
インターフェースプロセッサから主プロセツサへの一般的通信のために、アプリ ケーションに備えられたデータリンクのデータハンドラ(hand l e r )が用いられる。BIOSコールを設けて、データリンクハンドラを設置し、デ ータリンクトライバの現在の状態をセーブしくデータリンクトライバの現在の状 態をセーブするのに必要とされるメモリ量を示す、別のBIOSコールが設けら れている)、そして以前にセーブしたデータリンクトライバの状態を復元する。
データリンクデータハンドラを用いることによって、複数のアプリケーションが 、データリンクへのアクセスを共有することができる。BrO3は、セーブから りストアを減じた数のカウントを保持し、各データリンクトライバ状態セーブは 、関連のあるカウント(即ちネスティングレベル)を含んでいる。データリンク トライバ状態が復元されると、このカウントがチェックされ、ネスティングレベ ルが一致しないと、エラーが戻される。
インターフェースプロセッサからのデータを受け取るには、アプリケーションは あるルーティンを備えねばならず、データがインターフェースプロセッサから受 けとられる時、このルーティンがコールされる。アプリケーションは、上述の「 設置(instrall)JBIOSコールによって、このデータハンドラルー チンをデータリンクトライバを用いて登録する。
現在のデータリンクデータハンドラへのポインタがドライバ状態セーブ領域に記 憶されているので、データハンドラは容易に連鎖することができる。1つのハン ドラが、データがそのハンドラのためのものでないと判断した場合、そのハンド ラは、そのハンドラが設置された時に作成された状態セーブ領域において示され たハンドラに従うことができる。
これらのBIOSコールは、以下のエラー状態を示すビットを有するデータリン ク状態のバイトを戻す。それらは、送信進行中、受信進行中、違法データリンク トライバ状態の復元、タイムアウト、ビジー、及び無効機能要求である。
更に、インターフェースプロセッサのリセット、エコーデータ(データリンクの 試験のため)、診断結果の獲得(インターフェースプロセッサのファームウェア 診断の結果を返す)、ダウンロード初期コード及びデータ(及び特定位置へのジ ャンプ)、F1キー発生のイネーブル及びディスイネーブル、電池電圧レベルの 獲得、インターフェースプロセッサファームウェア改正(revision)レ ベルの獲得のような、ある特定のインターフェースプロセッサに関連した作用を 行なうために、BIOSコールが設けられている。
システムがブートしている時、ユーザがF1キーボタンを押圧するか、或はタブ レットを叩く(ユーザがエラーメツセージを見たことを示す)ことを要求される ような、ある状況(ユーザの注意を引くべき構成エラーのような)がある。王プ ロセッサが、F11キー生をイネーブルために、インターフェースプロセッサに コマンドを送った後、インターフェースプロセッサは、ユーザが最初にタブレッ トを叩いた時にF1キーストロークを送出する。主プロセツサがF11キー生を ディスイネーブルすることができるコマンドがある(例えば、オプションのキー ボード上でF1キーを押圧した後にユーザがタブレットを叩いた時には、第2の F1キーストロークを発生しないようにするため)。
主プロセンサは、表示装置のバックライトのオンオフ、/\−ドディスクのタイ ムアウトの設定、最高速システムクロックの設定、最低速システムクロック速度 の設定、システム遮断の開始、システム起動の開始等の、インターフェースプロ セッサから発せられたあるコマンドも、サポートする。
データリンクを介したインターフェースプロセッサとの通信のため、ドライバは 、2つの方法のいずれかで通信を実施することができる。上述のように、データ リンクデータハンドラは、BiO2を用いて登録することができる。代替的に、 あるドライバがデータリンク割り込みを引き受けることができる。このドライバ は、恐らく、適切な時に通常のBIOSデータリンクトライバに連鎖することに なろう。
1.4.3 データリンク上のタブレットデータ主プロセツサは、タブレットデ ータをそこに送るように要求することができる。
このような要求の後、インターフェースプロセッサは、5バイトのタブレソトデ ータブロソクを、それらが使用可能になった時、及び疑似装置インターフェース によって用いられていない時はいつでも、主プロセツサに送出する。加えて、主 プロセツサは、それにコマンドをタブレットに送るように指揮しているインター フェースプロセッサにコマンドを送ることによって、タブレットを制御すること ができる。主プロセンサは、インターフェースプロセッサが用いることになる更 正パラメータを指定するコマンドを、インターフェースプロセッサに送ることが できる。主プロセツサは、インターフェースプロセッサが、主プロセツサに送ら れるために待機しているいがなるタブレットデータをも破棄すべきことを指示す るコマンドを、送ることができる。
主プロセツサ用のBiO2は、タブレットデータを受け取る機構を備えており、 これによって主プロセツサ内で実行されているアプリケーションを登録すること ができる。一度に1つ以上のアプリケーションを登録することができ、この場合 、連鎖を形成して、1つのアプリケーションによって用いられていないタブレッ トデータを、その連鎖内の下位にある他のアプリケーションに使用可能にするこ とができる。
2 疑似装置 キーボード、マウス、手書き入力装置からなる1組の疑似装置が、ユーザに使用 可能となっている。
ある「疑似装置」は、アプリケーションプログラム及びユーザの双方に対して、 多(の既存のアプリケーションプログラムが動作するように設計された装置を、 実際にシミュレートする。他のものは、アプリケーションが動作するように設計 された装置のいずれとも異なり、ユーザを対象にしている。例えば、手書き入力 袋!は、標準装置へそれほど関係するものではない。ある意味では、手書き入力 装置は、以前は手書き入力を用いるために特に開発されたアプリケーションとの み使用可能だった手書き入力を、(ユーザに対して)シミュレートするものであ る。アプリケーションの観点からは、この装置は、キーボードをシミュレートす る。キーを含む必要はないが(実物またはシミュレーション)、手書き入力装置 は、アプリケーションにキーコードデータを供給する。
これらの入力設備は、それらがユーザに対してどの特定のアプリケージ3ンプロ グラムとも独立しており、かつ相互にも高い独立性を持って存在しているという 意味において、「装置」である。仮想的には、装置表示は、アプリケーション表 示と常に干渉しているのではない。これは、大きな表示装置上の別個のウィンド ウのように、各々に別個の表示領域を与えることによって、達成することができ る。しかしながら、好適実施例では、アプリケーション表示とインターフェース 装置の表示との両方に対して、1つのスクリーン領域を用いている。ユーザに対 して、装置はアプリケーション表示の上にあるように見える。 更に、実施にお いて、これらの装置は、それらが用いられ得る種々のアプリケーションプログラ ムとは独立している。好適実施例では、それらは、アプリケーションが実行され るプロセッサとは別個のプロセッサを用いても、部分的に実施される。
装置シミュレーションとアプリケーションとの間に最高の独立性をもたらすため に(そして共有される表示性能を向上させるために)、上述のようなノ\−ドウ エアサポートが、疑似袋1衷示のために備えられている。表示面が備えられてお り、該表示面のタイプに対して多くの既存のアブリケーンヨンが設計された。2 つの面、即ちインク面及びマスク面も追加されている。ある画素に対する表示さ れた値は、以下のように、3つの面の各々からのその画素の値から、決定される 。
即ち、マスク面画素が一方の値を有する時、アプリケーション面画素値が表示さ れ、マスク面画素が他方の値を有する時、インク面画素直が表示される。
インク面がそう名付けられたのは、その機能の1つが「電子インク」の表示であ り、時として、ユーザがペンで紙の上に書いているかのように、スタイラス、タ ブレット及び表示装置が動作するからである。スタイラスがタブレットと接触し ている時、スタイラスをタブレットを横切って動かすにつれて「インク」の痕跡 が表示される。インクを用いない動作の多くに対して、例えば、スタイラスがあ るアイコンをドラッグする際、表示にインクを散乱させる必要はない。一方、電 子インクはインク面のみに限定される必要もない。シミュレートされた装置(疑 似装置)のみがインク面を用いるのに対して、特定のアプリケーションは、これ らのアプリケーションによって用いるために備えられた表示面にインクを塗る( put)ことができる。例えば、「ペイント」アブリケーンヨンは、ロケータ装 置の動きに応答して、電子インクを表示する。
1列の機能ボタンも設けられている。図1に示されているものは、rDEVIC SJ、r CON T RA S T J、rFREEsTYLEj、rINF OJ (16a、16b、16c及び16d)である。これらは、通常のスクリ ーン表示の上に延在するタブレットの一部分に配置されている。これらのボタン の各々とじて機能するタブレットの部分を示すために印刷された永久ラベルがあ る。代替的に、表示装置が機能ボタンに対するラベルを提供することもでき、そ して該機能ボタンは、タブレットとは別個の機構で実施することもできる。いず れの場合でも、コントラストの調整が悪く表示が空白に見える時に、コントラス トボタンを識別するなんらかの手段(表示装置から離れた)を備えるべきである 。
機能ボタンは、疑似装置の制御において(特に)用いられる。
「装置トレイ(tray)Jをアクティブ化及び非アクテイブ化するために用い られるDEVICEボタン16aがある。ユーザが最初にDEVICESボタン を押圧した時(当該装置ボタンに対応するタブレットのその部分に接触すること によって)、使用可能な疑似装置のトレイが表示される。すると、ユーザはトレ イから、ユーザがアクティブにしたい装置を引き出すことができ、そして既にア クティブ化されているがユーザが現在必要としていないものをトレイに引き戻す ことができる。次に、ユーザがDEVICESボタンを再度押圧すると、トレイ とその上のいかなる装置も(表示から)除去される結果となる。便宜上、装置は 、トレイ上で小さなアイコン(スタンプと呼ばれる)として現れる。また、トレ イが表示される時、既にトレイから除去されたためにスクリーン上にある装置も 、スタンプの形状で表示される。トレイが除去されると、残りの装置のどの視覚 表現も(即ちトレイ上に配置されていないもの)、それより大きく、より複雑な アイコンによって、置き換えられる。このアイコンは、ユーザが「動作させる」 疑似装置の視覚形状である。
情報装置をアクティブ化及び非アクテイブ化するために用いられるINFOボタ ン16dがある。ユーザが最初にINFOボタンに触れると、INFOアイコン が現れる。最初に、INFOアイコンは、それをどのように用いるかについての 情報を表示する。次に、ユーザは、ユーザが何についての情報が欲しいかについ ての機能ボタン、即ちアイコンに触れる。これによって、触れられたオブジェク トに関する情報が、IF○アイコンのテキスト領域に現れる。
C0NTR,AST機能ボタン16bは、表示の外観の1つの面である、コント ラストを制御するものである。このボタンは2つの部分を有している。1つはコ ントラストを増加させるため、1つはコントラストを低下させるのものである。
これらのボタンは、1/2秒間隔で自動的に繰り返し、最初のコントラストの増 分は小さく、後に増分は太き(なる(比較的長い時間、スタイラスを押し続けた 時)。
機能ボタンは、特定のアプリケーションをアクティブ化するために、設けること ができる。例えば、rFREEsTYLEJ (Wang Laborator ies、Incの商標)ボタン16cが設けられており、これは注釈及びデスク トップ管理アプリケーションをアクティブ化する。特に、このボタンによって、 データがインターフェースプロセッサから、主プロセツサ内の常駐Frees  tyle (フリースタイノリ ドライバにデータを送ることになり、それが追 加のFreestyle構成物をロードする。インターフェースプロセッサは、 インターフェースプロセッサによって与えられたユーザインターフェースが使用 しないタブレットデータを、主プロセツサに使用可能にする。Freestyl eアプリケーションは、このタブレットデータを読み込む。
これらの機能ボタンは、異なる方法で組織することもできる。例えば、Free style及びInfoは、Devices)レイから得ることができる。いく つかまたは全ての装置に対して別個の機能ボタンがあることもあり、極端な場合 、Devices)レイは必要でなくなる。表示装置のバックライト照明の量を 制御するためのLIGHTボタンのような、付加的な機能を行なうために、さら にボタンを設けることも可能である。
2.1 ユーザインターフェースアイコンに共通な特性アイコンは長方形(また は長方形の組み合せ)である。また、アイコンは別の形状でもよいが、アイコン の描画及びスタイラスがアイコン内にあるかの判断は、長方形の場合が最も効率 的に行なわれる。
アイコンの殆どが「サブアイコン」を含んでいる。これらのサブアイコンは、典 型的に特定の機能と対応し、ユーザがスタイラスを用いて叩く、ボタン領域とし て機能する場合も多い。
図10は、3つの疑似装置に対するアイコンを示すスクリーン表示である。これ らのアイコンの背後には、キーボードストロークの形状の入力及びマウス入力を 受け取り、そしてタブレットデータを受け取らないように構成された、テキスト 編集アプリケーションの表示がある。
キーボード装置は、4つのキーグループ(機能キーグループ、主QWERTYキ ーボード、カーソル制御キーバンド、数字キーバッド)並びにドラッグ及び構成 ボタンと共に示されている。
手書き装置は、上部にサイズ変更、ボックス幅調整、挿入、削除、及びドラッグ 動作用のボタンと共に示されている。また、表示された文字ボックスの左及び右 にスクロールするためのボタン、1列の文字を送るためのボタン、及び3組の文 字をオン及びオフするためのボタンも示されている(適切に文字認識アルゴリズ ムを指揮するため)。アイコンの主体は、一連のボックスを表示しており、この 中にユーザは文字を書くことができる。この図に示されている例に関して、認識 結果が、文字を書き込むボックスの上に示されている。
マウス装置は、サイズ変更、拡縮率(拡大縮小率)、及びドラッグ動作用ボタン 、並びに3つの「マウスボタン」制御ボタン(1つはマウスの左ボタンに対応し 、1つはマウスの右ボタンに対応し、更に1つはマウスの左ボタン及び右ボタン を同時に、効果的に押圧するためのものである)と共に示されている。ボタン領 域の下に示されているのは、マウス移動領域であり、これは物理的なマウスと共 に用いることができるマウスパッドに対応する。
図10では、DEVICESSCONTRASTSFREESTYELE、 及 びINFOボタンは、表示装置の右側に沿って示されている。これは、上部に沿 って示されている図1に示す例の代替案である。
2、1.1 スタイラス位置のユーザへのフィードバックスタイラスが、タブレ ットに対して感知できる程度の近さにある時(タブレットが適切にスタイラスを 感知してX−Y位置データを供給することを意味する)、スタイラス位置をユー ザに示すことができる。これは、タブレットが表示装置上に配!されていない時 は、特に助けとなる。いずれの場合でも、これは、小さな的に当てるというユー ザのタスクを簡単にし、そしてユーザにとってスタイラスがあると思われる表示 装置上の場所と、表示装置上でシステムがスタイラスを配置した場所との間の小 さな不一致を、ユーザが克服する助けとなる。一般的に、スタイラスが隣接して いる時、カーソルはその位置を示す。ある状況では、このカーソルの出現は位置 に依存し、したがって更にフィードバックを与える。他の状況では、位1のフィ ードバンクは、スタイラスの位置に応答して、表示装置の特定の領域を強調する 形をとる(たとえば、疑似キーボード上のキー)。
2、1.2 スタイラスの押し下げ 多くの状況においてスタイラスが押し下げられる時間は、特に重要なことではな い。他の状況においては、スタイラスを押し下げることが、自動的にある機能を 繰り返す結果となる。例えば、疑似キーボードキー上でスタイラスを押し下げる と、物理的キーボード上であるキーを押し下げているのと同様な自動繰り返し動 作が、結果的に得られる。更に別の状況においては、スタイラスを押し下げるこ とが、ある機能ボタンを「ロックコすることになる。例えば、疑似マウスボタン は、スタイラスが短い時間下げられる時は、押圧及び開放を模倣する。一方、ス タイラスが十分長く押し下げられると、スタイラスが除去された後でも、疑似マ ウスボタンは、「押圧」されたままとなる。
2、1.3 ユーザ目標エラーに対処するユーザインターフェース規則種々の規 則を用いてユーザインターフェースの動作を支配(govern)L/、スタイ ラス動作がどのように解釈されるかについてのユーザの理解を容易にする。
2.1.3.1 r点接触」規則 殆どの状況では、「点接触」規則は、以下にのべるアイコンの放置(leave )規則及びアイコンへのドラッグ規則の組み合せよりも、有用である。
点接触規則とは、行なわれる機能が、スタイラスが接触した最初の点によって、 決定されることである。「アイコンへのドラッグ」規則と同様、あるアイコンへ の境界を横切ることによっては、ある機能はアクティブ化されない。しかしなが ら、この規則は、スタイラスがアイコンを離れても、ある機能の実行を継続させ るものである。
点接触規則はユーザに対して、疑似マウス装置に特に有用である。この規則は、 ストロークがマウス移動領域において開始するのであれば、用いられるスタイラ スが広く移動できるようにして、マウスデータを発生しつつ、スクリーン上に小 さなマウスアイコンを保持することを、可能とするものである。
2.1..3. rアイコンへのドラッグ」規則「アイコンへのドラッグ」規則 によれば、あるアイコンの機能は、スタイラスをそのアイコン内にドラッグする ことによっては、開始されない。ある機能が、点接触規則にしたがって実行され ている場合、スタイラスが他のアイコンに侵入しても、その機能は続けられる。
あるアイコンの機能をアクティブ化するには、そのアイコン(またはサブアイコ ン)の内側で、押し下げる必要がある。
2.1.3゜3 「アイコン放置」規則ドラッグ及びサイズ変更動作のために、 点接触規則に代るものが用いられる。
スタイラスがあるドラッグ、またはサイズ変更サブアイコン内にあり、そのサブ アイコンを離れた時、 ・そのアイコン機能が停止し、 ・ユーザインターフェースは、スタイラスがタブレットから持ち上げられるまで 、全てのタブレットデータを無視する。
スタイラスが他のアイコン、或は空領域から当該アイコンに移動しても、変わり はない。
この規則は、ドラッグ及びサイズ変更の間維持されるが、これらの動作中、一般 的にスタイラスがアイコンを離れないようにアイコンが動くからである。しかし ながら、最大サイズに達した場合、またはユーザが境界を越えてアイコンをドラ ッグしようとした場合、スタイラスはそのサイズ、或はサブアイコンのドラッグ を放置して、動作を終える。
この規則を、点接触規則の代りに基本規則として適用することもできる。
2.1.4 ドラッグ動作 全ての装置は、「ドラッグ」サブアイコンを有する。これは、例えば、アプリケ ーション表示の特に重要な部分が隠れてしまうのを避けるために、ユーザに装置 を表示上で移動させるようにするものである。この「サブアイコン」1よ、特定 の方法で視覚的に示す必要はない。むしろ、池のサブアイコンによって占められ ないアイコン領域全てをサブアイコンが包含することもできる。
サブアイコンのドラッグは、装置アイコンの右上角に配置されている。
スタイラスがあるドラッグサブアイコンに触れると、装置アイコンが、XOR「 アウトライン」によって置き換えられる。これは、ユーザに、ドラッグ機能がア クティブ化されたことを、示すものである。
スタイラスが持ち上げられるまで(または、以下に説明するように、スタイラス がドラッグサブアイコンの外に移動するまで)、このアウトラインは、スタイラ スの動きを追跡するように、スクリーン上を移動する。言い替えれば、ユーザは アイコンを「ドラッグ」することができるのである。
インク面表示の縁部を越えて移動するアイコンの部分はない。したがって、アイ コンを縁部に抗して押しやると、アイコンはもはやスタイラスを追跡せず、そし てスタイラスはドラッグサブアイコンからでてしまう。このようにした場合、ド ラッグ動作が終了し、スタイラスを持ち上げるまで池の動作は行なわれない。
2、1.5 サイズ決め 全てのサイズ指定可能装置は、「サイズ」アイコンを有している。
サイズサブアイコンは、装置アイコンの左上角部に配置されている。サイズアイ コンの他の可能な配置場所は、アイコンの周囲全体または、アイコンの全ての角 を含む。
スタイラスがサイズサブアイコンに触れると、装置アイコンが白黒の輪郭線によ って置き換えられる(処理負荷を減らすために、XORを取った輪郭線を用いる ことができる)。これは、ユーザに、サイズ決め機能がアクティブ化されたこと を示す。
スタイラスが持ち上げられる(または、以下に説明するように、スタイラスがサ イズサブアイコンからでる)まで、この輪郭線のサイズが変化し、スタイラスの 動きに追従する。アイコンの右下角の位1は、固定されたままである。言い替え れば、ユーザは、アイコンの左上角をドラッグするのである。
アイコンの部分で、インク面表示の縁部を越えて移動する部分はない。あるアイ コンはサイズの制限を有することもある(水平及び垂直の一方又は両方の寸法、 及びアイコン領域の制限があり得る)。これらの要素は、サイズの変更がスタイ ラスに追従するのを停止する結果となり、結果として、スタイラスは、サイズア イコンからでることもある。
機能ボツクス(サブアイコン)は、アイコン全体のサイズにわたって拡大縮小す る。手書きアイコンでは、文字ボックスのサイズは変化しない。ボックスの数は 視覚的に変化する。
ユーザは、キーボード装置アイコンのサイズ変更ではなく、アクティブとなるキ ーボードの部分を選択することができる(以下に論じる、キーボード装置構成ボ タンの議論を見られたい)。
各角部のサブアイコンのサイズを変更する、または境界線をドラッグすることに よってサイズ変更を行なう等、サイズ変更のための他の構成を用いることもでき る(例えば、Microsoft Corporationのウィンドウ製品に 用いられているように)。
2、1.6 スタッキング 表示装置上のアイコンは、各々新しくアクセスされた順(INFOアイコン等を 用いて機能ボタンによって接触またはアクティブ化される順)に、整列されてい る。アイコンは、表示装置上の重複領域を覆うこともある。アイコンが重複する 時は、それらのアイコンの最も新しくアクセスされたものを、重複領域に表示す る。
このように、アイコンが集められた時、ユーザはそれらをアイコンの重複スタッ クとして見ることができる。1つのアイコンのどこが一部に触れると、それが最 上部のアイコンとなる。他のアイコンに完全に覆われているアイコンは、その上 のアイコン力部分に移動されてその覆われているアイコンの一部が露出するまで 、触れることはできない。
2、1.7 文字の送出 アプリケーションへの文字の送出は、そのアプリケーションにとっては、文字が キーボードから来るかのように行なわれる(好ましくは、ハードウェアにょって )。このように、文字の送出は、キーボードが行なう低レベルのI10100実 行を伴う。これの1つの結果は、アスキー文字コードではなく、キーコードデー タ(キーの押圧及び開放についての情報)が送出されることである。
ユーザインターフェースサブンステムのファームウェアは、シフト及びシフトロ ックの状態に耐えず注意しているので(選択的な物理的キーボードからのキー操 作による変化も含む)、例えば、ソフトされた状態でユーザが小文字を書いた時 、疑似装置は、無シフト/文字/ンフト情報を含む連続情報を、ツアームラ1ア に送出することができる。次に、ファームウェアはこれらのコードを必要に応じ て変換し、キーボードポートを介して主プロセツサに送出する。
疑似キーボードのデータを主プロセツサに送出する、インターフェースプロセッ サの主プロセツサとの低レベル通信は、物理的キーボードが取り付けられている 時に実際のキーストロークデータを送出するのに用いられるのと同一である。
主プロセツサとの通信を制御する低レベルソフトウェアは、インターフェースプ ロセッサのファームウェアの一部である。これは、疑似装置ユーザインターフェ ースからデータを受け取り、どのようにデータが識別されるかにしたがって、キ ーストロークデータ、マウスデータ、またはタブレットデータとして、送出する 。 この低レベルソフトウェアは、1つの装置(例えば疑似キーボード)の代り に送られる多コードシーケンスが、他の装置(例えば物理的キーボード)の代り のデータ送出によって、不適切に割り込まれないことを保証することができる。
この低レベルソフトウェアは、シフト状態を追跡している。シフト状態情報を適 切に用いることは、(上述のように)疑似ユーザインターフェースいかんである 。
2.2 手書き認識装置 手書き認識入力装置は、手書き文字がキーボードから発したものであるかのよう に、アプリケーションに得られるようにする機構を備えるものである。手書き認 識入力装置用アイコンの主体は、ユーザが文字を書き込むことができるボックス を含んでいる。(文字位置の輪郭を定める他の方法、ティックマーク、ハソンユ マーク、影領域等を用いることもてきる。更に、このような明示的な文字分離に 頼らない文字認識技術を用いることもできる。)文字が書き込まれた後、ボック スが文字の列を編集する手助けをする。また、ストロークを文字に導く(p a  r s e)ための他のアルゴリズム(ストロークのセグメント化)を用い、 ボックスを表示する必要性をなくすことも可能である。
ストロークデータは、認識アルゴリズムによって処理され、別個の文字として読 み取り可能に書かれた、印刷可能な文字の全てを認識アルゴリズムが認識する。
認識アルゴリズムに供給されるデータは、ストロークの記述、それらの文字ボ。
クス内での位置、及び文字集合の指示(英数字、アルファベントのみ)を吹くん でいる。続き文字用のより複雑なアルゴリズムを用いることもできる。
事前訓練アルゴリズムは、ユーザがアルゴリズムを訓練する必要が全くなくなる ので、有用である。更に、ユーザは、ある特定の奇異な文字を扱うためのアルゴ リズムを訓練する選択ができる。訓練を必要とするアルゴリズム、及び訓練する ことができないアルゴリズムも使用可能である。
文字が認識された後、ユーザは、認識された文字の列を編集することができ、そ してそのストリングをアプリケーションに送出することができる。
22.1 文字の書き込み 各文字は、別個のボックスに書き込まれる。文字は、ボックスにどのような順序 で書き込んでもよい。左から右に文字を書く必要はない。ボックスに書き込むと き、電子インクが表示され、従来のペンを用いた書き込みを模擬する。
2、2.1.1 ストロークの案内及び文字認識手書き文字は、1つ以上の手書 きストロークで構成されている。手書きストロークと考慮されるために、スタイ ラスは、アイコンの書き込み領域内で開始する。
この領域は、文字ボックスよりわずかに(たとえば、約1/8インチ)広くなっ ている。ユーザがスタイラスを持ち上げるか、あるいはスタイラスが文字書き込 み領域から離れた時、ストロークは終了する。電子インクが手書きストロークに 関して表示される。これは、システムが文字ストロークが何であるかを正確に、 ユーザに示す(そして、ユーザの書き込みを助ける)。
ストロークバッファは、2つの部分を有する。その一方はタブレットの解像度を (より高い解像度が文字認識にはより必要である)を含み、他方は、表示装置( 画素)の解像度(iK子インクの表示を制御するために用いる)のデータを含ん でいる。
あるストロークの「平均」位置が、どのボックスに「入っているか」を判定する 。単一列の文字ボックスに対して、ストローク内のデジタル化された点のX座標 の平均を用いて、ストロークが関連付けられるボックスを判定する。
ストロークの案内−アルゴリズムA 以下のことは、ストローク毎の処理に対する1つの手法を要約したものである。
・以前のストロークがない場合 一認識アルゴリズムをこのストロークに適用する。
−このストロークが「入っている」ボックスに、結果を表示する。
−このストロークをセーブする。
・1つ以上の以前のストロークがあり、それらが同一ボックスにある場合−この ストロークを以前のストロークのグループに加える。
−認識アルゴリズムを、そのストロークのグループに適用する。
一対応するボックスに、新しい結果を表示する。
−グループ内のストロークをセーブする。
・1つ以上の以前のストロークがあり、それらが別のボックスにある場合−他の ボックス中のインクを消す(そのボックスに対する認識結果は表示し続(プる) 。
一1Jijのストロークを破棄する。
−二のストロークが「入っている」ボックス内に結果を表示する。
−二のストロークをセーブする。
・スタイラスが、書き込み領域の外側に触れたり、或いはある時間期間(約1秒 のような)新しいストローク内ない場合−残りのインクを消去する(認識結果は 表示し続ける)。
−以前のストロークを破棄する。
ストローク案内−アルゴリズムB 以下に、ストローク処理の多少異なる手法を説明する。
・次のストークを得て(あるストロークがリターンされたなら、それは手書き領 域にある)、それを(たぶん空の)ストロークバッファに加える。
・ (複数ボックスの1本の線に対する)ストロークの「平均」X位置を計算す ることによって、(どの文字ボックスと当該ストロークが関連付けられているか を、判断する。その平均X位置が(ボックスの内の1つの中ではなく)手書き領 域の左または右端にある場合は、そのストロークを無視する。
・ストロークが、ユーザが4つ以上の文字を消そうとしたことを示す場合、消さ れた文字(及びそれらのボックス)を削除する(それらのボックスは半分以上線 が引かれたものである)。
・ストロークが現ボックスにはない場合−それを現ボックスとする。
一以前のストロークに対応するインクを消去する。
−以前のボックスに対する認識結果を表示する。
−新しいストロークを、ストロークバッファの先頭に移動する(他のストローク を除去する)。
一ボックスに存在し得るいずれの認識結果も消去する。
−新しいストロークを描く。
・ストロークバッファ内のストロークに対する、認識結果を得る。
・次のスタイラスの接触を待つ。余りに長くかかるか、或いは次のスタイラスの 接触が手書き領域の外側である場合、−現ボックスの認識結果を表示する。
−以前のストロークに対するインクを消去する。
−ストロークバッファをクリアする。
2.2.1.2 インクの消去及び認識結果の表示従来のシステムでは、インク の消去及び認識結果の表示時刻を調整するための種々のアルゴリズムが用いられ ている。これを行なうのに、書き込みプロセスヘノ混乱(d i s t ra c t 1on)を最少にし、かつユーザに認識プロセスについでの助けになる フィードバックを与えるように、それを行なうのが好ましい。
認識結果は、ユーザが書き込む領域から離れた所に表示することが出来る。これ は図1、Ol:氷されており、ここで認識結実用空間は、文字が手書きされる空 間の−にに示さtlでいる。この場合、インクの表示を残しながら認識結果を表 示することができる。
代替的に、認識結果を、ユーザが文字を書き込む領域に表示することもできる。
しかしながら、この場合、対応するインクを消去せずに認識結果が表示されると 、その結果とユーザの手書きが重複して、判読不能な混乱となり、ユーザを悩ま す結果となる場合が多い。
ある従来のシステムにおいて用いられた手法は、ユーザが十分長い期間中断し、 そしてそれまでに書かれた文字全てのインクを一度に消去するまで、待つという ものである。この突然の消去それ自体は、混乱を招き、そして多くの文字を一度 に消去することにより、誤認識ではなくセグメント化エラーによる認識エラーを 、ユーザが理解することが困難になる。
最適の方法は以下のものである。
1書かれた各ストロークをインクで書(ために用いられた座標の全てのバンブ7 を、ストロークを基準に、保持する。
2区分は器(segmenter)によってストロークを文字にグループ化する ので(好ましくは、リアルタイムでであるが、必ずしも必要ではない)、システ ムはそれらのストロークの座標のバッフアキオフされた記録を用いて、セグメン ト化された文字のインクのみを消去する。消去されたインクに対応するバッファ 記憶された座標のためのメモリ空間は、したがって、再使用することができる。
3、システムは、そして、直ちにまたはある遅れの後に、それらのストロークに 対する認識結果の文字を、いかなる残されたインクもなく、表示することができ る。
この方法を用いれば、不明瞭にするインクを残さずに、結果を文字毎に表示する ことかできる。セグメント化したストロークの認識文字への変換は明白に起こる ので、ユーザは、セグメント化エラーが誤認識の原因である場合を、容易に知る ことができる。少数の保留中のストロークの座標のみをバッファ記憶すればよい ので、インク座標用の記憶空間を減少させることができる。
完全にセグメント化された文字の代りに、各ストロークの終端で、その時の認識 結果を表示するように、この方法を変更することもできよう。加えて、本方法は 、編集過程の一部として、認識結果の代りに、インクを呼び出しそして再表示す るようにすることもできる。
ユーザの手書き文字を、極度にことなる外観で置き換えることは、ユーザを混乱 させる原因となる。例えば、手書き文字は、典型的に比較的細い線の集合として 現われ、文字のデザインは簡素である。対称的に、より判読可能な文字は、重量 がより重(、そして髭飾り(serif)を含むこともある。
このように、本例示的システムは、手書き装置によって用いられるための、「手 書き」フォントを備えている。このフォントの文字は、細線で構成されている。
更に、細線は、完全に直線または均等に湾曲したセグメントから成るよりはむし ろ、手書き文字を象徴するように、多少うねりがある。
文字認識結果を、ユーザが書き込んだ領域内に表示しようとする時、文字は、手 書きフォントで表示される。
2.2.2 if集 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 iI 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 キーボード装置 疑似キーボード装置は、アイコン状キーボード上でスタイラスを用いて「タイプ 」することによって、ユーザにキーボードデータを入力させるものである。
詳細なキー配置に関する、疑似キーボード装置のそれらの態様は、システム設定 (例えば、文字セットの国別、QWERTYまたはドヴオラック(Dvorak L機能キーの数)中に、変更することができる。
キーボードのその他の態様は、キーボードアイコン上の構成機能ボタンを用いる ことによって、いつでも変更することができる。キーボードは、個々に選択可能 で、かつ種々の方法で互いに対して物理的に配置可能な部分に構成されている。
キーボードの必要ではない部分を除去することによって、下層のアプリケーショ ン表示の可視性を最大化することができる。
2、3.1 タイプ入力 キーのコードは、ユーザが対応するキーの表示にスタイラスで触れた時に、送出 される。接触すると、キーの表示に影陰が付いてユーザにフィードバックする。
スタイラスが「キー」と約1/2秒以上接触し続けた場合、スタイラスがキー内 に留まっている限り、キーは1秒当り約5回の比率で自動的に繰り返すことにな る(キーボード機能をシミュレートすることを、タイプマチイック(typem atic)動作と呼ぶこともある)。アプリケーションは、BrO3を呼び出す ことによって、繰り返しの遅れ及び比率を調整することができる。
別な手法は、キーボード装置を、「アイコンの放置」及び[アイコンへのドラッ グ]規則の例外とすることであり、接触時ではなく持ち上げ時にキーコードを送 出ことである。こうすれば、ユーザがスタイラスでキーに正確に触れる必要が減 少する。ユーザは、任意のキーに接触し、その周りをドラッグしくスタイラスが 現在どのキーに配置されているかを示す強調を付けて)、そしてそのキーからス タイラスを持ち上げる。しかしながら、この手法では、スタイラスを押し下げる ことを基にしたタイプマチイック動作が、用いられなくなる。
2、3.1.1 シフトキーの動作 従来のキーボード上では、シフト型キー(例えば、制御キー、シフトキー、アル ドシフト(a l t−sh i f t)キー)は、別のキーを押しつつシフ ト型キーを押し下げることによって、用いられる。この動作は、1つのスタイラ スでは不可能である。
したがって、疑似キーボード装!では、シフト型キーは、従来のキーボード上の 対応物とは異なった動作を行なう。シフト型キーに接触すると、それが強調され て、押圧されたことが示され、そしてそのキーが押圧されたことを示すキーコー ドデータが送出される。この強調は、シフト型キーが「押圧」されている限り続 (。(これは、非シフトキーの扱いと異なるもので、このため、キーが触れられ る毎に「抑圧」及び「開放」コードが送出される。)次の接触が非シフトキーに 対するものの場合、シフト型キーは、スタイラスがそのキーから持ち上げられる まで、「押圧」され続け、その時シフト型キーの強調が除去され、ソフト型キー が開放されたことを示すキーコードデータが送出される。次のキー接触が異なる 種類のシフトキーに対するものであれば、最初のものがアクティブであり続ける 。もしシフト型がアクティブ状態の時、スタイラスは通常のキー以外に接触し、 シフト型キーは非アクテイブ化される(強調を除去し、適切なキー開放データを 送出する)。このように、ソフトされた文字を送出する典型的な方法は、シフト キーに触れ、そして送出すべき文字のキーに触れることである。ユーザが、スタ イラスを、送出すべき文字のキー上に、それが連続して送出されるよう長く保持 すると、その文字が繰り返えしてシフトされる。通常キーに触れている時に、2 つのシフトキーがアクティブ状態である場合、スタイラスが通常キーから持ち上 げられた時に両方が開放データを送出する。
また、大文字ロック、数字ロックのようなロックキーもある。このようなキーに 触れると、それが押圧されそして開放されたことを示すキーコードが送出される 。これらのキーの「ロック」動作は、多くのコンピュータキーボードを用いる場 合のように、疑似キーボード装置内ではなく、キーの解釈(interpret ation)内のものである。これらのキーは、再び触れられるまで強調された ままであり、これによってそれらのロック状態を示す。
23.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 マウスの動き タブレットをマウスアイコンの移動領域内に接触させつつスタイラスを移動させ ると、マウス移動データが発生する。デジタル化タブレットは、絶対X、Y座標 データを与える。しかしながら、移動のみを用いてマウスデータを発生する。
スタイラスをタブレットに接触させて持ち上げても(タブレット表面上での移動 はせずに)、マウス移動データを発生しない。特に、マウス移動データは、(最 も最近)接触されたスタイラス、または最後のマウスデータが送出されてからの 、スタイラスが移動したX及びYの距離(「マウスティック」で測定した)であ る。
例えば、タブレット上のマウスの1インチの水平方向移動は、どこからその1イ ンチの移動が開始したかに係わらず、同数のマウスティックに変換される。更に 、1/4インチの移動を4回繰返すと(即ち、水平方向移動の4回の繰返し、持 ち上げ、そして 同一開始位置への戻り)は、1回の1インチの移動と同じ累積 水平方向マウス移動となる。
他の疑似マウスは、まったく移動領域を含まない。代りに、全タブレット領域( fl!!の機能によって使われない)がマウス移動領域として作用する。
更に他の疑似マウスを、特別なマウスドライバを許すアプリケーションと共に用 いることができる。この場合、マウスカーソルをスタイラスが差し示す位置まで 移動させるマウスデータを送出し、このようにして、タブレットによって与えら れる絶対位置情報を利用する。
242 機能ボタン 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 移動及びサイズ変更 ドラッグ及びサイズ変更サブアイコンは、一般的なアイコンについて上述したよ うに動作する。
疑似マウス装置アイコンのサイズを変更しても、タブレツトデータをマウス移動 データに変更するのに用いられるスケーリング係数を変化させることはない。
上述のように、このスケーリング係数は、ユーザによって別個に調整可能なもの である。ユーザは、疑似マウス装置を、移動の必要性に合せて改造することがで きる。例えば、ユーザはアイコンを非常に小さくシ(下層のアプリケーションを 殆ど覆わないように)、そしてスケーリング係数を大きくし、小さな移動領域で も、スクリーン上のどこでも容易にカーソルを移動させるようにできる。反対に 、細かい制御が重要な時は、スケーリング係数を小さくし、大きなスタイラスの 移動が小さなマウス動作量となるようにすることもできる。
代替実施例では、疑似マウス装置は、そのサイズが変更された時、スケーリング 係数が自動的に調整され、移動領域を横切るストロークが、マウス装置アイコン の大きさに係わらず、マウスの移動量が同一となるように、構成することも可能 である。
2.5 Info(インフオ)装置 インフォ装置は、表示装置の側部に沿ったインフオボタンに触れることによって 、アクティブ化される。こうすると、インフオ装置アイコンが表示装置上に結果 として表われる。インフオボタンは、「交互動作」ボタンである。2度めにこれ に触れると、再びインフォアイコンはなくなる。
インフオ装買は、次の6つのサブアイコンを含み、そのうち5つはアクティブで ある。
一情報テキストの表示用テキスト領域 −前のスクリーン 一次のスクリーン 一ホームスクリーン 既に実行されたサブアイコンに触れると、インフオアイコンは、表示装置から除 去され、インフォボタンから強調が除去される。
インフォアイコンは、他のアイコンに対するのと同じように、ドラッグサブアイ コンを用いることによって、表示装置上を移動させることができる。
インフォ装置がアクティブ化されると、そのインフォ装置をどのように使用する かを説明するテキストが、テキスト領域に表示される。テキストのある部分が強 調されて、ヘルプテキスト内の別の場所へのポインタと関連付けられていること を示す。スタイラスを用いてこれら強調された部分の1つを選択すると、関連す るポインタによって識別されたテキストにジャンプする。テキスト内の一連のジ ャンプは記録されて、ユーザが「バックアップ」できるようになっている。
次のスクリーンボタン及び前のスクリーンボタンは、ユーザが、現テキスト本体 内で移動できるようにし、そして先に表示されたテキストを通じてバックアップ できるようにするものである。ホームスクリーンボタンは、ユーザに、直接最初 のスクリーンに戻すことができるようにする。
テキスト用のディスクファイルは、主プロセツサへのデータリンクを用いて、イ ンターフェースプロセッサによってアクセスされる。
2.6 他の疑似装置 上述の例から、当業者は、疑似装置の統一性を理解することができるであろう。
上述と同様に、例えば、疑似トラックボール、疑似三次元ポインタ、または疑似 ジョイスティックのような、他の疑似装置を実現することもできる。
疑似タブレット装置には、他にも利点がある。本発明を、表示スクリーン上に被 せるタブレットと共に用いると、タブレットデータとスクリーンデータとの1つ の特定の対応性によって、スクリーン位!においてスタイラスの配置位置(即ち 1組のX及びYスケーリング係数とX及びYオフセント)を追跡する結果となる 。この対応性は、一般的に、どの特定のアプリケーションによっても用いられて いないものであり、その場合、スタイラス位置とスクリーン位置とが、互いに追 跡できず、タブレットが表示スクリーン上に被せられていない時には表われない 混乱をユーザに与えることになる。このように、ポインティングが実際のタブレ ットによって発生される時でも、物理的タブレットを直接用いるよりは、疑似タ ブレット装置を用いたアプリケージ3ンを実行することにより、利点が得られる ことがある。
このような疑似タブレット装置は、相対的な移動の代りにテーブル領域内の絶対 位置が送出されることを除いて、疑似マウス装!と同様である。疑似マウスとタ ブレット装置との間の他の相違は、タブレットについては、スケーリングに加え て、X及びYオフセットの調整(即ち、完全なタブレットのどの部分をタブレッ ト領域がシミュレートしているのかを判断する)を備えるのが有用であることで ある。
2.7 アプリケーションへの直接タテレット入力タブレットデータをアプリケ ーションに直接使用可能にするための設備がある(疑似タブレット装置からでは なく、実際のタブレットから)。スクリーン領域にはあるが疑似装置にはないタ ブレットデータは、主プロセツサで実行さるアプリケーションに、上述のデータ リンクプロトコルを介して送ることができる。
アプリケーションへ送られるタブレットデータは、アプリケーションが容易にタ ブレット座標をスクリーン位置に関係付けられるように、調整される。ボタン領 域内のタブレット点は、データが当該アプリケーションに送られる前に検出され る。したがって、機能ボタンはアクティブ状態にし続けることができる。
2.8 アプリケーションによってコールされるユーザインタフェースユーザイ ンターフエースサブシステムは、アプリケーションには見えないように設計され ているが、ユーザインターフェースサブシステムについて分るようにアプリケー ションを設計すると、いくつかの付加的な恩恵を得ることができる。
アプリケーションが、ユーザインターフェースサブシステムによって設けられる ユーザサ・−ビスをコールするように、準備することができる。主プロセツサ内 で実行されるアプリケーションは、特定のコールを行なうことができ、これによ って主プロセツサが、あるコードをインターフェースプロセッサに渡して、実行 されるサービスを識別する。例えば、あるアプリケーションにとっては、適切な 時刻にある疑似装置を強制的に表示させたり消したりすることができることが望 ましいことがある。
更に、主プロセツサが疑似装置の現状態を判断することができ、かつ主プロセツ サが疑似装置の状態を設定することができるデータリンクプロトコルによって、 主プロセツサ用のプログラムは、ユーザが特に有用であると看做す疑似装置の構 成をセーブし、そして復元することができる。この状態情報は、コントラストの 設定、各装置アイコンの位置及びサイズ、各装置アイコンのオン/オフ状態、及 び種々のアイコンの状態値(例えば、数字−ロック、マウス拡大縮小値、手書き アイコンボックスサイズ、キーボード構成))を含んでいる。
ユーザインターフェースの状態をセーブする能力により、ユーザは、システムが 起動された時に、ユーザの好みに応じて特定の装置のサイズを変更して表示装置 上に配置することが可能となる。これはまた、ユーザが頻繁に使われる構成を素 速く設定できるようにするものである。
2.9 インターフェースプロセッサと主プロセツサのアプリケーションの相互 作用例 Freestyleがタブレットデータを用いる唯一のアプリケーションである システムでは、Freestyleは、ユーザがタブレットをスタイラスで触れ ることによって、呼び出すことができる。しかしながら、上述のように、疑似装 置インターフェースと共に用いられる時、Freestyleアプリケーション は、タブレット上の特定のボタン領域に触れることによって、起動することがで きる。これは、次の機構によって達成することができる。システムが最初にブー トされる時、Freestyleの常駐(レジデント)部分が主プロセツサにロ ードされる。この時、Freestyleは、BIOSコールによって、インタ ーフェースプロセッサからタブレットデータを受け取ることを所望するものとし て、主プロセツサのBIO3を用いてそれ自体を登録する。更に、Freest yleは、疑似装置インターフェースと通信して(インターフェースプロセッサ へのデータリンクを利用するBIOSコールによってL Freestyleア イコンに触れた後にタブレットデータを送出すべきことを示す。このようにして 、Freestyleボタンが触れられたことを疑似装置が判断した時、タブレ ットデータを送出し、これによってFreestyleの常駐部分にFrees tyleを呼び出させる。疑似装置インターフェースも、両方のシフトキーの同 時押圧をシミュレートして(Freestyleを呼び出すために共通に用いら れるキーの組合せ)、適切なキーコードを主プロセツサに送ることによって、F reestyleを呼び出すことができる。Freestyleの処理が完了し た時、疑似装置インターフェースと通信して、ボタンが再び触れられるまで、こ れ以上タブレットデータをFreestyleに送るべきではないことを指示す る。
2.10 疑似装!の実現 図11は、タブレット12b、表示装置12a、及びあるソフトウェア構成物の 間の関係を示す。
ユーザは、タブレット12b及び表示装置12aのスクリーン(これらは好適実 施例では図1の12に示されるように、上に被せられている)を用いることによ って、主プロセツサ30(図2)で実行中のアプリケーションプログラム200 と相互作用する。ブロック200は「アプリケーションプログラム」として示さ れているが、これは、ユーザがタブレット及び表示装置によって相互作用するこ とを望むいかなるプログラム(/ステムプログラムを含む)をも現わすものであ る。
上述の疑似装置は、インターフェースプロセッサにて実行され、図11において 「疑似装置プログラム」として示されているソフトウェア本体220によって、 実行される。疑似装置プログラムは、構成物222.224.226及び228 を備えており、これらは種々の疑似装置と対応するものである。このソフトウェ ア本体220は、表示装置12 aを用いて、インク及びマスク面42及び44 (図2)にデータを書くことによって、ユーザに視覚的フィードバックを与える 。
タブレット12bからのデータは、疑似装置プログラム220によって処理され 、それに応答して、キーストロークまたはマウスデータの形状のデータを発生す る。このデータは、主プロセツサのBIO8212によって提供されるサービス 及びインターフェースプロセッサのファームウェア214によって提供されるサ ービスを含む通信サービス210によって、アプリケーションプログラム200 に供給される。図11には示されていないが、タブレットとの低レベルの相互作 用は、インターフェースプロセッサのファームウェア内のルーチンによって取扱 われる。しかしながら、主要なタブレット制御は、疑似装置プログラムによって 行なわれる。
次のアウトラインは、疑似装置の例示的実施例におけるC機能間の関係を示すも のである。アウトラインの1つのレベルに掲載されている機能は、そのアウトラ インの次の外側レベルにおいてそれらに先立つ機能を実施するために、用いられ る。フロー制御情報のいくつかは概要に含まれている。当業者は、ここに記載す るようなシステムのソフトウェア構成物を実施する場合に関連のある、更なる詳 細が明らかであり、それに対処できるであろう。アウトラインに記載されたソフ トウェアの組織は、例示であり、当業者には、特定のシステムの特性及びソフト ウェア開発者間の形式の相違が与えられれば、多くの変更が可能であることが明 らかであろう。
「ペン」という用語は、以下のアウトラインの場合のように、「スタイラス」と 相互交換可能によく用いられている。
各項目の前の数字は、その項目のアウトラインレベルを示す。
1 user 1nterfaceOこれは、疑似装置ユーザインターフェース である。次のことを永遠に行なう。
・タブレットからの次の点を待つ。
・それがペンを下ろした点でなければ、何もしない。
・機能ボタン内であれば、機能ボタン処理を行ない、次にペンが上げられるのを 待つ。
・疑似装置アイコン内であれば、そのアイコン機能を行なう(例えば、5tar t mouse 1con)。アイコンは上から下にチェ、りされ、ポイントが アイコンの境界内にあるかを見る。
・下ろされているがアイコン内ではない場合、ペンが上げられるまで待つ(アイ コンへの動きを避けるため)。
・上げられているか、或いは下げられているが疑似装置アイコン内ではない場合 、任意にその点を主プロセツサに送る。
2 ttrpointOは、タブレットからのある点を得る。タブレット位置は 2つの形式で返送される。1つは、画素で、もう1つはタブレットの解像度で( このほうが高い)ある。タブレットデータの時間も返送される。手書き認識のよ うな処理には、解像度が高ければ高いほど相応しいが、画素座標は、多くのスク リーンに関連した処理に都合がよい。タブレットからの点を待つのではなく、こ の機能は、データが得られないという指示を返す。
2 check button boxes()は、機能ボタンを実行する(例 えば、装置トレイを引き出す)。
・カーソルが機能ストリップ(strip)内にあるか調べる。なければリター ンする。
・「装置」ボタン領域内であれば、次に5elect device □を実行 する。
・「コントラスト」ボタンであれば、スクリーンコントラストを調整する。
・ 「フリースタイル」ボタンであれば、フリースタイルアプリケーションを開 始する。
・ 「インフオ」ボタンであれば、そしてインフォアイコンがまだアクティブで なければ、それをアクティブ化させ、そうでなければ、それを非アクテイブ化さ せる(即ち、スクリーンから消去し、アイコンスタックから除去する)。
3 if in ”device tray botton−:45elect  devices()は、「装!」ボタンのための処理である。これは2つの状 態間で交互に切換わる。即ち最初にこのボタンに触れると装置トレイがアクティ ブ化し、2回目にこのボタンに触れると装置トレイが不活性化する。
5 when changing from 5taIIlps toicon s (装置トレイを取り去る)。
65elect doneOこれは、ユーザがトレイからの装置の選択を完了し た時に行なわれる。これは、表示装置から装置トレイを除去する。
7 erase 1conO表示袋!から全てのスタンプといかなるアイコンを もクリアする。
7 erase device tray□ スタンプ用視覚コンテナを除去す る。
7 remove 1conO装置ボックス内に配置されているアイコンスタッ クからいかなるスタンプも除去する。
75vap 1cons and 5taa+psOスタック上に残っているス タンプが、アイコン(アイコンスタック上の)と交換される。
7 draw 1consOアイコンスタック上に(即ち、アクティブなもの) 全てのアイコン及びスタンプを描く。実行には、論理的に移動されたアイコンの 下にある全てのアイコンではな(、実際に重なり合っているアイコンのみを再度 描けばよい。
5 when changing fro@1con tostamps (装 置トレイを引き出す)。
6 erase 1consOフルサイズのアイコンを避ける。
65vap 1cons and stamps()は、アイコンの代りにスタ ンプを有するように、アイコンスタックを調整する。
6 draw device trayO使用可能な装置のためのトレイを描く (スタンプ形状で)。
6 display current stampsOスタンプ(MOUSES TAMP、 KBDSTAMP、HANDWSTAMP)を描く。
7 compute stamp position() スタンプ位置は、イ ンアクティブなアイコン用装置トレイ内であり、アイコンがアクティブであった ら、そのアイコン位!である。
35uck touch pointOペンがタブレットと接触している場合、 ペンがもちあげられるまでタブレットデータを破棄する(任意に点を主プロセツ サに送る)。
3 if in”contrast”button スタイラスがコントラスト ボタンのどの部分に触れているかに応じて、LCD表示装置のコントラストを、 高くまたは低く調整する。
3 if in″Freestyle″button 主プロセツサ内で、Fr eestyleアブリケーンヨンを立ち上げる。
3 if in″1nfo″button4 if 1nfo not act ive それを開始する。
5 add 1con0 5 draw 1nfo 1con0 4 if 1nfo already active それを取り去る。
5 above 1con to topO5erase 1nfo 1con 0 5 remove 1con0 2 is in handy 1con03 point in rectan gle025tart handy 1conO手書きアイコンを実行する。
3 move tcon to topOアイコンを既に最上部に描いたかにつ いての指示を戻す。これらの処理は、フルサイズのアイコンの代りにサイズまた は位置を変えたシャドウを表示するので、これを用いて、あるドラッグまたはサ イズ変更処理(または、キーボードの場合には、サイズ変更処理よりはむしろ、 再構成処理)のための再描画を回避する。
3 is in writehandwQ3 write handy() 文 字を手書きし、認識する。手書き領域内のストロークの最初の点でコールされる 。
4 capture one 5trokeOスタイラスが持ち上げられるまで 、タブレット上の点を読み取る。これら全ての点をバッファストロークに加える 。
4 compute 5troke box□ ストロークバッファ内で最も最 近加えられたストロークに対する「ボックス」を判定する。
4 flush handy 5trokesO新しいストロークが実際には書 き込み領域内に属していないと、判断された場合(例えば、書き手が書き込み領 域に押し付けたが書き込み領域から外に移動させた場合)、バッファ内のいずれ かの以前のストロークについて認識を行ない、この新しいストロークは放棄し、 そしてリターンする。
4 compute−stroke box extents□ 新しいストロ ークが非常に広い場合(例えば、3文字ボックスの広さ以上)、それを消去マー クとして考える。そのインクを消去する。それが包含するアスキー文字を、空白 に変換する。そのストロークを放棄する。そしてリターンする。
4 duIIlp previous 5trokes□ このストロークが、 ストロークバッファ内の以前のストロークとは異なる「ボックス」内にある場合 、それら以前のストロークについて認識を行ない、それらを放棄し、この新しい ストロークを、唯一のバッファされたストロークとする。ストロークの区分は実 際のボックスに頼る必要がないことに注意する。「ボックスなし」区分方法が使 用できる。
4 check timeoutO次の状態の1つが起こるまで待つ。
・ユーザがタイムアウト期間の間押し下げなかった。
・ユーザが再び押し下げたが、書き込み領域内ではない。
先の2つの場合、全てのバッファ記憶されているストロークについて識別を行な い、それらを排除し、そしてリターンする。
・ユーザが書き込み領域内で押し下げた。この場合、単にリターンする(より高 いレベルのループを通る次の繰り返しで、再びwrite handwOをコー ルする)。
3 is in draghandw03 drag handwo 4 drag 1conOペンが持ち上げられるまで、アイコンをドラッグする 。
5 draw handy 1con03 is in 5izehand曹0  ペンはサイズ領域にあるか?3 resize handvo 4 resize 1con0 5 draw hand 1con0 3 is in inserthandwOペンは挿入領域にあるか?31ns ert handy() 一連の手書き文字に空白(ブランク)を挿入する。
4 flush handy□ 未解決のバッファ記憶されているストロークの いずれかについて認識を行ない、それらを放棄する。
4 set the cursor to a″tool modal” cu rsor ユーザに、挿入モードがアクティブ状態であることを示すためのもの である。
45uck touch pointsOユーザがスタイラスを持ち上げるのを 待つ。
45uck prox points() ユーザが再び押し下げるのを待つ。
4 is in vritehandv() ユーザの接触が書き込み領域の外 側の場合、カーソルを後退させて、リターンする。
4 while the 5tylus is touching5 if t he user moves right from the 1nitial  position 文字/ボックスを、スタイラス点から、書き込み領域の右 端まで右方向に動かし、空いた空間(オーブンスペース)を空白で埋める。
5 if the user moves 1eft fron+ the 1 nitial position 文字/ボックスを、スタイラス点から、書き 込み領域の左端まで左方向に動かし、空いた空間を空白で埋める。
4 after the user 1ifts the 5tylus 戻る (ユーザは、書き込むべき開放空間を作成した)。
3 is in deletehandw() 々ンが削除領域にあるか?3  delete handvO手書き文字から削除する。
4 flush handwO未処理のバッファ記憶されているストロークのい ずれかについて認識を行ない、それらを放棄する。
4 set the cursor to a″tool modal” cu rsor ユーザに、削除モードがアクティブ状態であることを示すためのもの である。
45uck touch points□ ユーザがスタイラスを持ち上げるの を待つ。
45uck prox points() ユーザが再び押し下げるのを待つ。
4 is in vritehandv() ユーザの接触が書き込み領域の外 側の場合、カーソルを後退させて、リターンするっ 4 while the 5tylus is touching ユーザがス タイラスを動力Aした全てのポ’yクス/文字を強調する。
4 after user 1ifts the 5tylus ユーザ力く強 調した全てのポ’yクス/文字を除去する。必要に応じて、文字/ポ・ノクスを 書き込み領域の右端からスクロースして、削除されたボックスを置き換える。
3 is in 5crollleftOペンはスクロール領域内にある力1゜ 3 is in scroLlrightOペンはスクロール領域内幕こあるか 。
35croll handvO手書き領域内の文字をスクロールする。
4 erase handy ink□ インクを消去し、ノく・ソファ記憶さ れて(Xるストローク点を除去する。
4 display handy promptOスクロールプロンプトを表示 する。
41nitialize repeatO4erase writing ar ea04 draw writing area04 clear handy  promptO4wait for repeatO自動繰り返しの前に、適 切な時間待つ。
4 is proxOペンがもち上がっている場合、我々は全てを終えた。
4 Use higher 5peed repeat どれくらい頻繁に繰り 返したかを追跡する。4回の試みの後、スクロール動作をより速(繰り返す。
51nitialize repeatO3is in adjusthand vOペンは調整領域(こある力A?3 adjust handwO文字が書き 込まれるボツクスの幅を調整する。
4 erase handy ink□ インクを消去し、]く・ソファ記憶さ れたストローク、屯を除去る。
4 Highlight BoxO調整ポ・ンクスを強調する。
4 display handy promptOプロンプトを掲げる。
40utline RectangleO最も右側のボツクスを基準マーカとし て強調する。
4 Read points as long at the pen is  down:55kip to current tablet data()  タブレットに追いつく。
5 ttrpointo 5 is proxOペンが上がっているなら、我々は全てを終えた。
5 compute new box width x ペンの移動は、表示さ れたボックスノ全幅ニおける変化である。1つのボックスの幅は、全/ボックス  カウントである。
最少サイズより下、または最大より上には進んではいけない。
50utline Rectangle□ 強調されティない最も右側のボック ス。
5 erase writing area05 compute handy  1ocation()5 draw writing boxes□ ボック スを再び描く。
50utline l?ectangleO新しい最も右側のボックスを強調す る。
4 clear handy promptO4Highlight BoxO 40utline RectangleO4erase handy 1con 04 draw handy 1con03 is in 5endhandv () ペンは送出領域にあるか?35end handwo 4 display handy promptO4erase handy  1nkOインクを消去し、バッファされたストローク点を削除する。
45end all characters: 先頭及び後尾の空ポンクスの間 の文字のみを送出する。線が空であったなら、キャリッジリターンを送出する。
5 ascii to 5can0 55end keycodeo 6 display physical keyboard65end key code data。
6 enable physical keyboard。
4 RedispLay: スクロールウィンドウのオフセットをリセットし、 O番目のボックスが最初のボックスとして表示されるようにする。
5 draw writing area03 is in upperhan dwOペンは大文字領域にあるか?3 upper handwO認識器が選択 する(大文字アルファベ ントの)文字集合を判定する。
4 set recognition 5ubset03 is in 1ov erhandwOペンは小文字領域にあるか?31over handy()  認識器が選択する(小文字アルファベ ットの)文字集合を判定する。
4 set recognition 5ubset03 is in num erhandvOペンは、数字キー領域にあるか?3 numer handw O認識器が選択する(数字及び句読点) 文字集合を判定する。
4 set recognition 5ubset()35uck touc h pointsOペンが持ち上げられるまでこれ以上何もしない。
2 is in mouse 1con03 point in rectan gle025tart !Aouse 1conOマウスアイコンを実行する。
・ドラッグまたはサイズ領域でなければ、最上部に再描画する。
・領域に応じた機能を実行する(例えばドラッグ、サイズ、ボタン、移動)。・ ペンが上げられるまで待つ。
3 move 1con to topOアイコンをスタックの最上部に移動さ せることに加えて(しかしアイコンの再描画は行なわない)、アイコンを既に最 上部に描いたかについての指示を返送する。これらの処理は、フルサイズのアイ コンの代りにサイズまたは位置を変えたシャドウを表示するので、これを用いて 、あるドラッグまたはサイズ変更処理(または、キーボードの場合には、サイズ 変更処理よりはむしろ、再構成処理)のための再描画を回避する。
3 is in dragmouse03 drag mouseo 4 drag 1conOペンが持ち上げられるまでアイコンをドラッグする。
5 draw mouse 1con()3 is in sizemouse 03 resize mouseo 4 resize 1con0 5 draw mouse 1con03 is in 5calebar0 35cale mouse() X方向のペンの移動が、タブレット対マウスス ケール係数を変化させる。スケール長は、X方向のペンの移動量だけ変化する( そして、最小及び最大限度間に限定される)。ティック当りの画素は、ティック 当りの最大画素として計算される(最大長−現在の長さ)/最大長(そしてこれ も、最小及び最大の範囲内に限定される)。
4 display 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 compleIIlent 5cale bar□ 現在の倍率バーを消去 する。
5 compute mouse 1ocationOティ1り当りの画素から スケール長を逆算することを含み、マウス位置パラメータを更新する。
5 calIlplement 5cale bar□ 新しいスケールバーを 描く。スケールバーは、右に向かって成長する(即ち、それに割り当てられた空 間内では、左に揃えられる)。
4 clear ll1ouse prompt03 is in 1eftb utton03 is in rightbutton()3 is in b othbutton()3 button mouseo 3つのボタン領域の いずれかへのペンの接触を処理する。
・ONであるボタン上での動作で、そのボタンをOFFにして、リターンする。
・OFFであるボタン上での動作で、そのボタンをONにし、またcall t imed button clickOをコールすることによって、クリックを チェックする。
ペンが十分長く下ろされてそれがクリックではないと判断されるまで、それは阻 止する。
・ペン動作と、対比されるボタン動作との違いに注意されたい。
−短いボタンの押圧はクリックである。長いボタンの押圧は長いボタンの押圧で あり、これはボタンが解除される時に終る。
−短いペンの接触はクリックである。長いペンの接触は、疑似ボタンを押し下げ たままロックする。いかなる長さのものでも、後続の接触で疑似ボタンが解除さ れる。
4 compleIIlent 1eftbutton04 compleme nt rightbutton04 timed button clickO ボタンがオンでなければ、ペンの持ち上げまでの時間が、クリックの要求と考え られる程短いかを、見るために待つ。
3 is in mouse arouse03 mouse mouseOマ ウスアイコンのマウス動作部分を処理する。距離がタブレット点にて(マウスの ティックより正確である)計算される(毎回)。
・マウスプロンプトを表示する。
・随意に、マウスアイコンのコピーをセーブする。
・送られた古いX及びYティックを0に設定する。
・ペンが上げられるまで実行する。
−古いタブレットデータをとばし、次の点を得る。
−元の接触からマウスティックにおける現在の位置までを測定する。
−押し下げ以来、または最後の移動が送出されて以来(古いX及びYを減算する )の、移動したティックを計算する。
−マウスの移動データを、マウスからであるかのように、送出する。
−古いX及びYを現在の位!に設定する。
4 display mouse movement prompt4 Bit Bit Pix to Meat() マウスアイコンのコピーをセーブする。
この機能は、ハードウェアのインク面を用いない実施においてのみ、必要なもの で、この場合、この機能は性能の向上をもたらす。
4 do for all pen down points:55kip t o current tablet data()5 ttrpointo 5 is proxOペンが持ち上げられた時このループから出る。
5 pen−to−a+ouse−tick algorithm タブレット 距離からマウスティックに変換する。1つのスタイラス位置から開始しそしてそ こに戻る経路を保証することは、ゼロの全マウス動作に加えることであり、絶対 (タブレット)から相対(マウス)動作に変換する前に、タブレットの座標を調 整する。
5send ff1ouse data 主プロセツサへ。
4 clear mouse prompt035uck touch poi nts02 is in kbd 1con0 3 point in rectangle025tart kbd 1con Oキーボードアイコンを実行する。
3 move 1con to topo アイコンが既に最上部に描がれてい るかについての識別を返送する。これを用いて、ドラッグまたはサイズ再変更処 理(または、キーボードの場合は、サイズ再変更処理ではな(、再構成処理)の ための再描画を回避する。なぜなら、これらの処理は、全アイコンの変わりに、 サイズまたは位!を変えたシャドウを表示するからである。
3 erase kbd 1con0 3 draw kbd 1con0 3 is in drag 5ection03 drg kbdo 3 is in config 5ection03 config kbd  1conOキーボードを構成する。
45ave keyboard 1con 1ocation ユーザが構成を 変更することができ、そして変更後キーボードの再記!の必要をなくすためのも のである。
45ave oldxysO個々のキーボード部分の位置をセーブする。
4 remOve 1con0 41nit kfig editor04 configure kbd() 4 restore keyboard X & Y 1ocation va lues。
4 kbd config doneOキーボード輪郭のサイズを再変更する。
3 is in vpfsection03 is in hpfsectio n03 is in kbdsectionO点が、キーボードアイコンの主キ ーボード部内にあるか否かを判断する。
4 point in rectangle03 is in aksecti on()3 is in numsection03 is in edtse ction03 find keyOキーボードアイコンの関連する部分におけ るペン位置を基に、キーコードを判定する。ある点が与えられると、キ一番号を 返す。
・キーボードのどの主要部分に、点が位置しているか(例えば、機能キー、アル ファベットキー、数字キーバッド、カーソル制御)。
・識別されたキーボード部分内で、バイナリ検索を用いて、その点がどの行に位 置するかを判定する。
・識別された行内で、バイナリ検索を用いて、当該特定のキーを識別する。
次に、キ一番号を、キーコード及びキー輪郭を備えたテーブルへのインデックス として用いる。
3 type keyo 4 Fill RectangleOそれがヒツトしたことを示すXORキー4 5vitchto 5can□ キースイッチ番号を得て、それをスキャンコー ド集合#2からのメイク/ブレークコード対に変換する。
55can2 to 5canL0 6 convert 2210 4 for 1ndividual 5hift keys 関連するシフト状 態にしたがってメイクコードまたはブレークコードを送出する。
55end a codeo 4 typematicOタイプマチイック動作の加速を実施して、非シフトキ ーコードを処理する。
55end a codeo 4 Fill Rectangle() キーがロック用キーでないなら、キー の表示を再び反対にする。
35uck touch pointsO2is in 1nfo 1con0 3 point in rectangleO25tart 1nfo 1co n0 インフォアイコンを実行する。
3 Redraw 1con (ドラッグ及びサイズ再変更を除く)。
4 move 1con to top04 erase 1nfo 1con 04 draw 1nfor 1con03 is in draginfoO それはドラッグ領域内か?3 drag 1nf0 3 is in 5izeinfoOそれはサイズ領域内か93 resize  1nfo0 3 is in previous 1nfoOそれは以前のヘルプ領域内か? 3 previous 1nfoOファイルスタンクにて、ルベル下げ、そのイ ンクオファイルを持ち上げる。
4 draw 1nfo textO 3is in 5croll upOそれはスクロールアップ領域か?35cr oll up 1nfoOインフォテキストを1ラインスクロールする。
4 wait for repeatO時間調整した自動繰り返しを実施する。
3 is in 5croll down Oそれはスクロールダウン領域か? 35croll down 1nfoOインフォテキストを1ライン下にスクロ ールする。
4 wait for repeatO時間調整した自動繰り返しを実施する。
3 is in home 1nfoOそれはホームインフオ領域か?3 ha IIse 1nfoOインクォファイルスタックの基に行く。
4 draw 1nfo textOそのインクオファイルを表示する。
3 is in 1nfo 1nfoOそれはインフオメニュー領域内か。
31nfo 1nfoO基準インフォテキストへリンクする。ペンが現在の基準 項目内に位置していなければ、何もしない。
4 for each current reference 1teo+:5  point in rectangleOペンは基準項目内にあるか?4 I f reference is to the home file 全てをス タックから開放する。
35uck touch point02 is in mouse stam p03 point in rectangleO2is in kbd 5t aIIlp03 point in rectangleO2is in ha ndy stamp()3 point in rectangle02dev  drag partOスタンプをドラッグする。
15uck touch pointsOこれまで、本発明の具体的な実施例を 記載してきた。当業者には、更に池の変容も明白であろう。例えば、詳細に記載 した特定の実施例は、タブレットをかぶせた表示装置と、「電子インク」の機能 を有する携帯可能コンピュータである。
しかしながら、表示製買上にタブレット(または他の指示装置)を用いず、タブ レット以外のある種のロケータ装置が用いられているシステム、及び携帯可tr tt’あることを意図していないシステムにも、本発明は有用であることを、当 業者は認めよう。このように、本発明は、本明細書に示され記載された具体的な 詳細及び例示的例には限定されないものである。むしろ、本発明の真の精神及び 範囲内の範鴫に入るそのような変容及び変更全てを包含することが、添付の請求 の範囲の目的である。
FIG、 1 「 1− +++ FIG、5a FIG、5b VRAMO RAM2 FIG、8a VRAMl VRAM3 FIG、8b FIG、9 国際調査報告 フロントページの続き (51) Int、 C1,S 識別記号 庁内整理番号GO9G 5100  A 8121−5GM 8121−5G Z 8121−5G (72)発明者 マクナリー、ジェイ・マイケルアメリカ合衆国ニューハンプシ ャー州 03038 、プリー、ナツト・メドウ・レーン(72)発明者 マーティン、 パトリシア・エイアメリカ合衆国マサチューセッツ州01450゜グロートン、 ハイデン・ロード 120I (72)発明者 ハンチイントン、ジョナサン・ティー。
ザ・セカンド アメリカ合衆国マサチューセッツ州01970゜セイレム、ウィンター・ストリ ート 11(72)発明者 ドウサート、ロバート・エムアメリカ合衆国ニュー ハンプシャー州 03032 、オーパーン、ラットルズネイク・ヒル・ロード 116

Claims (1)

  1. 【特許請求の範囲】 1.スタイラスを用いる既存のプログラムを実行するためのコンピュータシステ ムにおいて、 (A)既存のプログラムを実行するための王プロセッサと、(B)ポインタ型入 力装置と、 (C)前記主プロセッサに接続されているキーボードポートエミュレータと、( D)表示装置と、 (E)前記主プロセッサに接続されており、前記主プロセッサから受け取る、主 画像を表すデータを記憶するための、主表示バッファと、(F)前記表示装置に データを供給し、前記主画像と第2の画像との組み合せである画像を前記表示装 置上に表示させるようにした、オーバレイ制御器と、(G)インターフェースプ ロセッサであって、前記主プロセッサが標準キーボード制御器からの入力と区別 できないように、該インターフェースプロセッサが前記主プロセッサに入力を供 給することができるようにする手段を介して、前記キーボードポートエミュレー タに接続され、更に、前記ポインタ型入力装置からのポインタデータを受け取る ように接続されており、更に前記第2の画像を表すデータを供給するために、前 記オーバレイ制御器に接続されているインタフェースプロセッサと から成るコンピュータシステム。 2.請求項1記載のコンピュータシステムにおいて、前記インターフェースプロ セッサは、前記主プロセッサがマウスデータを、標準キーボード制御器から受け 取られるマウスデータから区別できないように、前記主プロセッサにこのマウス データを供給するように構成されているコンピュータシステム。 3.請求項1記載のコンピュータシステムにおいて、該システムは更に、前記イ ンターフェースプロセッサが前記ポインタ型入力装置からの入力を受け入れ、ユ ーザに視覚フィードバックを供給し、前記ポインタ型装置からの入力をキースト ロークデータに変換し、及び前記キーストロークデータを前記主プロセッサ上で 実行されるプログラムに使用可能とするように、前期インターフェースプロセッ サに指揮するインターフェースプログラムを備えているコンピュータシステム。 4.物理的キーボードの代わりにタブレット入力から、既存のキーボードを基に したプログラムを実行することができるコンピュータシステムであって、(A) 前記既存のプログラムを実行するための主プロセッサと、(B)デジタル化タブ レット及びスタイラスと、(C)表示スクリーンと、 (D)前記主プロセッサ上で実行中のプログラムから表示データを受け取るよう に接続されている、第1の表示バッファと、(E)インターフェースプロセッサ であって、該インターフェースプロセッサが(前記主プロセッサに対して)標準 キーボート制御器をエミュレートすることができるようにする手段と、前記イン ターフェースプロセッサからの表示データを受け取るように接続されている、第 2の表示バッファとを備えた前記インターフェースプロセッサと、 (F)前記第1及び第2表示バッファからのデータの組み合せであるデータを、 前記表示スクリーンに供給するための表示マルチプレクサとから成るシステム。 5.請求項4記載のコンピュータシステムにおいて、該システムは更に、オプシ ョンの物理的キーボードを接続するための手段を備えており、前記インターフェ ースプロセッサは、標準キーボード制御器を(オプションで接続される物理的キ ーボードに対して)エミュレートするよう構成されているコンピュータシステム 。 6.請求項4記載のコンピュータシステムにおいて、該システムは、前記第2の 表示バッファは、インク面を含み、更にマスク面を含み、前記表示マルチプレク サは、各画素について、前記第1の表示バッファからのデータを、前記マスク面 内のデータにしたがって前記インク面からのデータと組み合せるよう構成されて いるコンピュータシステム。 7.請求項6記載ののコンピュータシステムにおいて、第2の表示バッファは、 複数のメモリチップから成り、更に、前記インターフェースプロセッサ、前記メ モリチップ、及び前記表示マルチプレクサに接続されており、前記メモリチップ ヘのアクセスを制御して、前記インターフェースプロセッサが、前記インク面デ ータに1つの連続データブロックとして、そして前記マスク面データに第2の連 続データブロックとして、アクセスできるようにしたメモリアクセス制御回路を 備えているコンピュータシステム。 8.請求項7記載のコンピュータシステムにおいて、前記メモリチップは、各々 複数の多ビットメモリ位置を含んでおり、前記メモリアクセス制御回路は、交互 の位置にインク及びマスクデータを記憶するように構成されていることを特徴と するコンピュータシステム。 9.コンピュータシステムにおいて、 (A)既存のプログラムを実行するための主プロセッサと、(B)インターフェ ースプロセッサと、(C)入力信号を前記インターフェースプロセッサに供給す る、ポインタ型入力装置と、 (D)前記インターフェースプロセッサと前記主プロセッサとに接続されており 、前記主プロセッサが標準キーボード制御器からの入力と区別できないように、 前記インターフェースプロセッサが入力を前記主プロセッサに供給できるように する、キーボードボートエミュレータと、(E)表示装置と、 (F)前記主プロセッサに接続されており、主画像を表すデータを記憶するため の主表示バッファと、 (G)データを前記表示装置に提供し、前記主画像と前記インターフェースプロ セッサによって供給される第2の画像との組み合せである画像を、前記表示装置 上に表示するようにした、オーバレイ制御器とから成るコンピュータシステム。 10.請求項9記載のコンピュータシステムにおいて、該システムは更に、前記 主表示バッファを読み出し、第1の表示データストリームを生成する、第1の表 示制御器を備えており、前記オーバレイ制御器は、ユーザインターフェース表示 バッファを備え、前記ユーザインターフェース表示バッファを読む出すための第 2の表示制御器を備え、第2の表示データストリームを供給し、更に前記第1ま たは第2の表示データストリームのいずれかから各画素毎にデータを選択し、得 られた多重表示データストリームを前記表示装置に送出するマルチプレクサを構 えているコンピュータシステム。 11.請求項10記載のコンピュータシステムにおいて、前記ユーザインターフ ェース表示バッファは、マスク面データ用記憶部を含んでおり、更に、マスク面 データを前記マルチプレクサに供給して該マルチプレクサの選択を制御する手段 を備えているコンピュータシステム。 12.スタイラスを用いて既存のプログラムを実行するためのコンピュータシス テムにおいて、 (A)既存のプログラムを実行するための主プロセッサと、(B)表示スクリー ンと、 (C)ポインタデータを生成するためのポインタ型入力装置と、(D)前記既存 のプログラムによって発生された主画像を表すデータを記憶するための主表示バ ッファと、 (E)前記主画像上に重ねられる第2の画像を表すデータを記憶するための、イ ンク面バッファと、 (F)前記インク面バッファ内のデータを、どのように前記主表示バッファ内の データと組み合せるかを示すデータを記憶する、マスク面バッファと、(G)前 記主表示バッファ、前記インク面バッファ、及び前記マスク面バッファからデー タを受け取り、そしてデータを前記表示スクリーンに供給して、前記主画像と前 記第2の画像との複合である表示を発生する表示マルチプレクサと、(H)前記 ポインタ型装置からポインタデータを受け取り、前記コンピュータシステムのユ ーザに前記インク及びマスク面バッファを用いて、ユーザのスタイラス操作に関 するフィードバックを与える手段とから成るコンピュータシステム。 13.請求項12記載のコンピュータシステムにおいて、ポインタ入力のキース トローク入力への適合を容易にするユーザインターフェースが、前記インク面バ ッファ及び前記マスク面バッファによって、前記表示スクリーン上に表されてい るコンピュータシステム。 14.キーボードからの入力を受け取り、そして表示スクリーン上に出力を供給 するが、デジタル化タブレットからの入力は受け取らないように構成されている 、既存のプログラムを実行して、これらのプログラムにデジタル化タブレットか らの入力を供給するためのシステムにおいて、(A)前記プログラムを実行する 主プロセッサと、(B)表示スクリーンと、 (C)X−Y座標データを発生するためのデジタル化タブレットと、(D)イン ターフェースプロセッサであって、(1)前記タブレットからのX−Y座標デー タを受け取る手段と、(2)X−Y座標データをキーストロークデータに変換す る手段と、(3)前記キーストロークデータが標準キーボード制御器によって与 えられたかのように、前記キーストロークデータを主プロセッサに与える手段と 、 (4)ユーザインターフェース表示データを発生する手段とを含むインターフェ ースプロセッサと、(E)前記インターフェースプロセッサによって発生された ユーザインターフェース表示データを、前記既存のプログラムによって発生され た表示データと組み合せ、該組み合わされた結果を表示スクリーン上に表わすた めのオーバレイ手段と から成るシステム。 15.請求項14記載のシステムにおいて、前記既存のプログラムによって発生 される表示データは、王ビデオメモリ内に記憶され、前記オーバレイ手段は、( A)インク面ビデオメモリと、 (B)マスク面ビデオメモリと、 (C)ビット毎に、前記マスク面ビデオメモリからのデータを基に、前記表示ス クリーンを、前記インク面ビデオメモリからのデータ或は前記主ビデオメモリか らのデータのどちらを用いて、リフレッシュするかを選択するためのビデオマル チプレクサと を含んでいるシステム。
JP3513045A 1990-11-13 1991-06-20 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ Pending JPH06501799A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US613,325 1990-11-13
US07/613,325 US5260697A (en) 1990-11-13 1990-11-13 Computer with separate display plane and user interface processor
PCT/US1991/004462 WO1992009038A1 (en) 1990-11-13 1991-06-20 Computer with separate display plane and user interface processor

Publications (1)

Publication Number Publication Date
JPH06501799A true JPH06501799A (ja) 1994-02-24

Family

ID=24456853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3513045A Pending JPH06501799A (ja) 1990-11-13 1991-06-20 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ

Country Status (7)

Country Link
US (1) US5260697A (ja)
EP (1) EP0557284B1 (ja)
JP (1) JPH06501799A (ja)
AU (1) AU658574B2 (ja)
CA (1) CA2092903A1 (ja)
DE (1) DE69113478T2 (ja)
WO (1) WO1992009038A1 (ja)

Families Citing this family (234)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442742A (en) * 1990-12-21 1995-08-15 Apple Computer, Inc. Method and apparatus for the manipulation of text on a computer display screen
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US7532205B2 (en) * 1992-06-08 2009-05-12 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
US5708840A (en) * 1992-06-29 1998-01-13 Elonex I.P. Holdings, Ltd. Micro personal digital assistant
US5583543A (en) * 1992-11-05 1996-12-10 Sharp Kabushiki Kaisha Pen input processing apparatus
JP2601987B2 (ja) * 1992-11-13 1997-04-23 インターナショナル・ビジネス・マシーンズ・コーポレイション パーソナル通信装置
US5612719A (en) * 1992-12-03 1997-03-18 Apple Computer, Inc. Gesture sensitive buttons for graphical user interfaces
JP3025121B2 (ja) * 1992-12-24 2000-03-27 キヤノン株式会社 情報処理方法及び装置
US5572655A (en) * 1993-01-12 1996-11-05 Lsi Logic Corporation High-performance integrated bit-mapped graphics controller
US5453762A (en) * 1993-01-20 1995-09-26 Hitachi, Ltd. Systems for processing information and identifying individual
US5594848A (en) * 1993-02-16 1997-01-14 Compaq Computer Corporation Method and apparatus for efficiently determining line segments within a window using iterative halving
US5621878A (en) * 1993-03-03 1997-04-15 Apple Computer, Inc. Method and apparatus or manipulating data from a suspended application program on a computer-controlled display system
US5754178A (en) * 1993-03-03 1998-05-19 Apple Computer, Inc. Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US6212577B1 (en) 1993-03-03 2001-04-03 Apple Computer, Inc. Method and apparatus for improved interaction with an application program according to data types and actions performed by the application program
US5530865A (en) * 1993-03-03 1996-06-25 Apple Computer, Inc. Method and apparatus for improved application program switching on a computer-controlled display system
US5696915A (en) * 1993-03-03 1997-12-09 Apple Computer, Inc. Method and apparatus for linking routines for different contexts
US5598524A (en) * 1993-03-03 1997-01-28 Apple Computer, Inc. Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5638501A (en) 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US7203903B1 (en) 1993-05-20 2007-04-10 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
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
US5969705A (en) * 1993-06-28 1999-10-19 Apple Computer, Inc. Message protocol for controlling a user interface from an inactive application program
WO1995008813A1 (en) * 1993-09-22 1995-03-30 Philips Electronics N.V. Multi-functionality user-interface downwards compatible with single-functionality application software
GB2282906B (en) 1993-10-13 1996-11-06 Dataquill Ltd Data enty systems
US5422656A (en) * 1993-11-01 1995-06-06 International Business Machines Corp. Personal communicator having improved contrast control for a liquid crystal, touch sensitive display
JP2813728B2 (ja) * 1993-11-01 1998-10-22 インターナショナル・ビジネス・マシーンズ・コーポレイション ズーム/パン機能付パーソナル通信機
US5752063A (en) * 1993-12-08 1998-05-12 Packard Bell Nec Write inhibited registers
US5534893A (en) * 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5764995A (en) * 1994-03-25 1998-06-09 Packard Bell Nec Write once read only registers
US5983236A (en) * 1994-07-20 1999-11-09 Nams International, Inc. Method and system for providing a multimedia presentation
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
US5867106A (en) * 1994-09-02 1999-02-02 Packard Bell Nec Password switch to override remote control
US5974558A (en) * 1994-09-02 1999-10-26 Packard Bell Nec Resume on pen contact
US6262719B1 (en) * 1994-09-02 2001-07-17 Packard Bell Nec, Inc. Mouse emulation with a passive pen
US6137473A (en) * 1994-09-02 2000-10-24 Nec Corporation System and method for switching control between a host computer and a remote interface device
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
US6209034B1 (en) 1994-09-02 2001-03-27 Nec Corporation Remote keyboard macros activated by hot icons
US5606674A (en) * 1995-01-03 1997-02-25 Intel Corporation Graphical user interface for transferring data between applications that support different metaphors
US5873108A (en) * 1995-02-27 1999-02-16 Fuga Corporation Personal information manager information entry allowing for intermingling of items belonging to different categories within a single unified view
US20090322499A1 (en) * 1995-06-29 2009-12-31 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US6148344A (en) * 1995-10-16 2000-11-14 Nec Corporation System and method for enabling an IPX driver to accommodate multiple LAN adapters
US6126327A (en) * 1995-10-16 2000-10-03 Packard Bell Nec Radio flash update
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
US5996082A (en) * 1995-10-16 1999-11-30 Packard Bell Nec System and method for delaying a wake-up signal
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
US6279153B1 (en) 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US6018806A (en) * 1995-10-16 2000-01-25 Packard Bell Nec Method and system for rebooting a computer having corrupted memory using an external jumper
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
US5990875A (en) * 1995-10-16 1999-11-23 Packard Bell Nec Double pen up event
US6724372B1 (en) 1995-10-16 2004-04-20 Nec Corporation Ink trails on a wireless remote interface tablet and wireless remote ink field object
US5760764A (en) * 1995-12-13 1998-06-02 Altra Computer display cursor controller with serial interface
US5818426A (en) * 1996-02-01 1998-10-06 Aztech New Media Corporation Peripheral-computer interfacing system and method
US5930808A (en) * 1996-05-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus for data communication system
US6380929B1 (en) * 1996-09-20 2002-04-30 Synaptics, Incorporated Pen drawing computer input device
IL119498A (en) 1996-10-27 2003-02-12 Advanced Recognition Tech Application launching system
US6654955B1 (en) * 1996-12-19 2003-11-25 International Business Machines Corporation Adding speech recognition libraries to an existing program at runtime
TW313647B (en) * 1996-12-20 1997-08-21 Inventec Corp Input aided device of computer system
IL119955A0 (en) 1997-01-01 1997-04-15 Advanced Recognition Tech An instruction and/or identification input unit
US5995084A (en) * 1997-01-17 1999-11-30 Tritech Microelectronics, Ltd. Touchpad pen-input and mouse controller
US6353927B1 (en) * 1997-10-14 2002-03-05 Lucent Technologies Inc. Data download technique into installed memory
US6886055B2 (en) * 1997-12-15 2005-04-26 Clearcube Technology, Inc. Computer on a card with a remote human interface
US6038616A (en) * 1997-12-15 2000-03-14 Int Labs, Inc. Computer system with remotely located interface where signals are encoded at the computer system, transferred through a 4-wire cable, and decoded at the interface
JP2882404B1 (ja) * 1997-12-17 1999-04-12 日本電気株式会社 手書き符号処理装置
US6012101A (en) * 1998-01-16 2000-01-04 Int Labs, Inc. Computer network having commonly located computing systems
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US7760187B2 (en) 2004-07-30 2010-07-20 Apple Inc. Visual expander
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US6119146A (en) * 1998-05-04 2000-09-12 Int Labs, Inc. Computer network having multiple remotely located human interfaces sharing a common computing system
CN1591646A (zh) * 1998-12-14 2005-03-09 皇家菲利浦电子有限公司 用用户反馈回放有视频和图形项的记录载体的设备和方法
US6714220B2 (en) * 2000-01-19 2004-03-30 Siemens Aktiengesellschaft Interactive input with limit-value monitoring and on-line help for a palmtop device
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6741235B1 (en) 2000-06-13 2004-05-25 Michael Goren Rapid entry of data and information on a reduced size input area
US6728719B1 (en) * 2001-01-31 2004-04-27 Oracle International Corporation Method and mechanism for dependency tracking for unique constraints
WO2002098049A2 (en) * 2001-05-31 2002-12-05 Empower Technologies, Inc. System and method of pen-based data input into a computing device
US7916124B1 (en) 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
GB2380583A (en) * 2001-10-04 2003-04-09 Ilam Samson Touch pad/screen for electronic equipment
US9189467B1 (en) 2001-11-07 2015-11-17 Apple Inc. Method and apparatus for annotating an electronic document
US7296243B2 (en) 2002-03-19 2007-11-13 Aol Llc Animating display motion
US7190351B1 (en) 2002-05-10 2007-03-13 Michael Goren System and method for data input
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
US20040229195A1 (en) * 2003-03-18 2004-11-18 Leapfrog Enterprises, Inc. Scanning apparatus
US7079117B2 (en) * 2003-05-15 2006-07-18 Analog Devices, Inc. Analog to digital converter controller
US20050177557A1 (en) * 2003-09-06 2005-08-11 Oracle International Corporation Automatic prevention of run-away query execution
WO2005067522A2 (en) * 2004-01-13 2005-07-28 University Of Toledo Noninvasive birefringence compensated sensing polarimeter
CA2554766A1 (en) * 2004-02-09 2005-08-25 Regis Development, L.L.C. Computer presentation and command integration apparatus and method
US7496846B2 (en) * 2004-02-09 2009-02-24 Portalis, Lc Computer presentation and command integration apparatus
US7353458B2 (en) * 2004-02-09 2008-04-01 Portalis, Lc Computer presentation and command integration method
US7779361B2 (en) * 2004-02-09 2010-08-17 Malmstrom R Dean Change-alarmed, integrated console apparatus and method
JP2005227897A (ja) * 2004-02-10 2005-08-25 Fuji Photo Film Co Ltd 画像表示方法、画像表示装置及び画像表示プログラム
US20060125805A1 (en) * 2004-03-17 2006-06-15 James Marggraff Method and system for conducting a transaction using recognized text
US20060066591A1 (en) * 2004-03-17 2006-03-30 James Marggraff Method and system for implementing a user interface for a device through recognized text and bounded areas
US7757226B2 (en) * 2004-03-17 2010-07-13 Oracle International Corporation Method and mechanism for performing a rolling upgrade of distributed computer software
US20050251523A1 (en) * 2004-05-07 2005-11-10 Oracle International Corporation Minimizing downtime for application changes in database systems
US7788285B2 (en) * 2004-05-14 2010-08-31 Oracle International Corporation Finer grain dependency tracking for database objects
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US8744852B1 (en) 2004-10-01 2014-06-03 Apple Inc. Spoken interfaces
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7281664B1 (en) * 2005-10-05 2007-10-16 Leapfrog Enterprises, Inc. Method and system for hierarchical management of a plurality of regions of an encoded surface used by a pen computer
US7936339B2 (en) * 2005-11-01 2011-05-03 Leapfrog Enterprises, Inc. Method and system for invoking computer functionality by interaction with dynamically generated interface regions of a writing surface
US8261967B1 (en) 2006-07-19 2012-09-11 Leapfrog Enterprises, Inc. Techniques for interactively coupling electronic content with printed media
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20080154573A1 (en) * 2006-10-02 2008-06-26 Microsoft Corporation Simulating new input devices using old input devices
US7856605B2 (en) 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
KR101429278B1 (ko) * 2007-08-08 2014-08-11 삼성전자주식회사 문자 삭제 기능을 제공하기 위한 장치 및 방법
US7966040B2 (en) * 2007-11-08 2011-06-21 Symbol Technologies, Inc. Magnetically attachable accessories for a mobile unit
US20100265209A1 (en) * 2007-12-06 2010-10-21 Nokia Corporation Power reduction for touch screens
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8825462B2 (en) * 2008-09-17 2014-09-02 Accenture Global Services Limited Method and system for simulating a plurality of devices
CN102224664A (zh) * 2008-09-23 2011-10-19 威罗门飞行公司 用于开口三角形h桥驱动的高效无铁芯永磁电机的预测脉冲宽度调制
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US20100149114A1 (en) * 2008-12-16 2010-06-17 Motorola, Inc. Simulating a multi-touch screen on a single-touch screen
US9875013B2 (en) 2009-03-16 2018-01-23 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US20100306825A1 (en) * 2009-05-27 2010-12-02 Lucid Ventures, Inc. System and method for facilitating user interaction with a simulated object associated with a physical location
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
GB2473000B (en) * 2009-08-25 2014-02-19 Promethean Ltd Dynamic switching of interactive whiteboard data
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
DE112011100329T5 (de) 2010-01-25 2012-10-31 Andrew Peter Nelson Jerram Vorrichtungen, Verfahren und Systeme für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
WO2011130919A1 (en) 2010-04-23 2011-10-27 Motorola Mobility, Inc. Electronic device and method using touch-detecting surface
US9092128B2 (en) 2010-05-21 2015-07-28 Apple Inc. Method and apparatus for managing visual information
WO2012020276A1 (en) * 2010-08-11 2012-02-16 Sony Ericsson Mobile Communications Ab Regulation of navigation speed among displayed items and related devices and methods
ES2736800T3 (es) * 2010-09-30 2020-01-07 Rakuten Inc Dispositivo de visualización, procedimiento de visualización, medio de registro legible por ordenador no transitorio en el que se registra un programa y programa de secuencia de comandos
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9092130B2 (en) 2011-05-31 2015-07-28 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
EP2884721A4 (en) * 2012-08-09 2015-08-12 Yonggui Li KEYBOARD AND MOUSE OF A MOBILE PHONE
US9792038B2 (en) * 2012-08-17 2017-10-17 Microsoft Technology Licensing, Llc Feedback via an input device and scribble recognition
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9063831B1 (en) * 2012-12-21 2015-06-23 Cadence Design Systems, Inc. Method and apparatus for optimizing access to control registers in an emulation chip
AU2014214676A1 (en) 2013-02-07 2015-08-27 Apple Inc. Voice trigger for a digital assistant
US9507514B2 (en) * 2013-03-12 2016-11-29 Htc Corporation Electronic devices and related input devices for handwritten data and methods for data transmission for performing data sharing among dedicated devices using handwritten data
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144949A2 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
KR101809808B1 (ko) 2013-06-13 2017-12-15 애플 인크. 음성 명령에 의해 개시되는 긴급 전화를 걸기 위한 시스템 및 방법
DE112014003653B4 (de) 2013-08-06 2024-04-18 Apple Inc. Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10623701B1 (en) * 2018-08-29 2020-04-14 Facebook, Inc. Systems and methods for facilitating control and communication between computing devices and presentation systems
CN114035697B (zh) * 2021-11-26 2023-10-03 中国电子技术标准化研究院 一种低辐射抗电磁干扰的键盘鼠标模拟装置及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3821730A (en) * 1973-06-14 1974-06-28 Lektromedia Ltd Method and apparatus for displaying information on the screen of a monitor
US4639720A (en) * 1981-01-12 1987-01-27 Harris Corporation Electronic sketch pad
US4602286A (en) * 1982-01-15 1986-07-22 Quantel Limited Video processing for composite images
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
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4839802A (en) * 1986-11-19 1989-06-13 Extel Corporation Adaptation of computer to communication operation
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
JP2975621B2 (ja) * 1988-05-27 1999-11-10 コダック・リミテッド データ処理システムにおける文書操作
FR2645990A1 (fr) * 1989-04-14 1990-10-19 Telematique Videotex Francaise Micro-ordinateur p ortatif a ecran-clavier tactile

Also Published As

Publication number Publication date
WO1992009038A1 (en) 1992-05-29
US5260697A (en) 1993-11-09
DE69113478D1 (de) 1995-11-02
EP0557284B1 (en) 1995-09-27
EP0557284A1 (en) 1993-09-01
CA2092903A1 (en) 1992-05-14
AU658574B2 (en) 1995-04-27
DE69113478T2 (de) 1996-03-28
AU8296591A (en) 1992-06-11

Similar Documents

Publication Publication Date Title
JPH06501799A (ja) 別個の表示面及びユーザインターフェースプロセッサを有するコンピュータ
JPH06501798A (ja) 標準プログラムへのタブレット入力を有するコンピュータ
JPH05508500A (ja) 疑似装置を有するユーザインターフェース
US5956021A (en) Method and device for inputting information for a portable information processing device that uses a touch screen
US9285903B1 (en) Stylus and electronic display
US20160246451A9 (en) Zeroclick
JP2009527041A (ja) コンピューティングシステムにデータを入力するシステム及び方法
US20090066656A1 (en) Method and apparatus for inputting korean characters by using touch screen
US20100277422A1 (en) Touchpad display
Kristensson et al. Command strokes with and without preview: using pen gestures on keyboard for command selection
JPH03500943A (ja) 注釈可能なイメージを処理するデータ処理システム
US7170502B2 (en) Method for implementing a partial ink layer for a pen-based computing device
CN101111817A (zh) 电脑鼠标周边装置
CN110069147B (zh) 操控装置及其控制方法
JP2010526367A (ja) 入力データを処理するための装置
CN115917469A (zh) 用于将语标输入电子设备的装置和方法
Weber Adapting direct manipulation for blind users
Leslie Touch screen
JP6434594B2 (ja) 画像表示装置、画像表示装置の制御方法及び画像表示方法
JP2984272B2 (ja) 文字処理方法及び装置
JPH0883276A (ja) 文書処理装置及び処理方法
JP2019040623A (ja) 画像表示装置および画像表示装置の制御方法
WO2005088522A1 (en) System and method for text entry
JPH06187418A (ja) 文字・図形編集装置
JPH0690662B2 (ja) 入出力一体化表示装置