JPH0628080A - コンピュータシステム及びそれを動作させる方法 - Google Patents
コンピュータシステム及びそれを動作させる方法Info
- Publication number
- JPH0628080A JPH0628080A JP3287620A JP28762091A JPH0628080A JP H0628080 A JPH0628080 A JP H0628080A JP 3287620 A JP3287620 A JP 3287620A JP 28762091 A JP28762091 A JP 28762091A JP H0628080 A JPH0628080 A JP H0628080A
- Authority
- JP
- Japan
- Prior art keywords
- keyboard
- data
- input
- commands
- operating 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0489—Interaction 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 dedicated keyboard keys or combinations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
(57)【要約】
【目的】 キーボー以外の入力装置による入力を可能に
する。 【構成】 コンピュータシステムはキーボードを含み、
このキーボードはキーボードシステムドライバを有して
キーボードがオペレーティングシステムおよびそのコン
ピュータシステムで走行するアプリケーションプログラ
ムと対話しうるようにする。ハンドプリント端末、ライ
トペン等の入力装置をキーボードの代りに用いてオペレ
ーティングシステムおよびアプリケーションプログラム
との対話を行う。キーボードデバイスドライバエミュレ
ータが設けられ、それが代用入力装置からの入力データ
を変換してそのデータがキーボードで発生されたデータ
のごとくになるようにし、そのデータがオペレーティン
グシステムおよびアプリケーションプログラムに送られ
る。
する。 【構成】 コンピュータシステムはキーボードを含み、
このキーボードはキーボードシステムドライバを有して
キーボードがオペレーティングシステムおよびそのコン
ピュータシステムで走行するアプリケーションプログラ
ムと対話しうるようにする。ハンドプリント端末、ライ
トペン等の入力装置をキーボードの代りに用いてオペレ
ーティングシステムおよびアプリケーションプログラム
との対話を行う。キーボードデバイスドライバエミュレ
ータが設けられ、それが代用入力装置からの入力データ
を変換してそのデータがキーボードで発生されたデータ
のごとくになるようにし、そのデータがオペレーティン
グシステムおよびアプリケーションプログラムに送られ
る。
Description
【0001】
【産業上の利用分野】本発明はキーボードエミュレーシ
ョン用の手段を与える、パーソナルコンピュータのオペ
レーティングシステム内のインターフェースに関する。
キーボードエミュレーションはここではシステムにキー
ボード装置を実際に付加する必要を伴わずにオペレーテ
ィングシステムにキーボードのようなデータを送る能力
を意味する。このキーボードデータは究極的には他の装
置から発生されるデータをあたかもキーボード装置から
発生されたもののようにコンピュータで走行するアプリ
ケーションプログラムに送られる。
ョン用の手段を与える、パーソナルコンピュータのオペ
レーティングシステム内のインターフェースに関する。
キーボードエミュレーションはここではシステムにキー
ボード装置を実際に付加する必要を伴わずにオペレーテ
ィングシステムにキーボードのようなデータを送る能力
を意味する。このキーボードデータは究極的には他の装
置から発生されるデータをあたかもキーボード装置から
発生されたもののようにコンピュータで走行するアプリ
ケーションプログラムに送られる。
【0002】
【従来の技術】キーボードは初期のIBMパーソナルコ
ンピュータのような初期のパーソナルコンピュータシス
テムに対する主入力装置である。パーソナルコンピュー
タはこれまで大きく発展してきているがキーボードは依
然としてシステムの主要部分としてなっている。
ンピュータのような初期のパーソナルコンピュータシス
テムに対する主入力装置である。パーソナルコンピュー
タはこれまで大きく発展してきているがキーボードは依
然としてシステムの主要部分としてなっている。
【0003】パーソナルコンピュータの普及により多く
の新しいソフトウェアアプリケーションプログラムの開
発が進められた。それらのアプリケーションプログラム
はユーザあるいはユーザコミュニティに或る種のサービ
スを与えるものである。多くのアプリケーションプログ
ラムはユーザとの対話型として書込まれる。殆んどの場
合、ユーザとコンピュータとの対話はキーボードを介し
て行われる。ユーザはキーボード上のキーを押すことに
よりアプリケーションプログラムで使用される入力デー
タストリームまたはコマンドストリームを形成する。デ
ータまたはコマンドに関していえばコマンドが明らかに
データであるがコンピュータ及びそのアプリケーション
プログラムの少なくとも1つをして特別の形で他のデー
タを演算しあるいは変換させるように特別に構成された
データである。アプリケーションプログラムは一般にユ
ーザがタイプしたデータまたはコマンドにもとづきアク
ションを行う。
の新しいソフトウェアアプリケーションプログラムの開
発が進められた。それらのアプリケーションプログラム
はユーザあるいはユーザコミュニティに或る種のサービ
スを与えるものである。多くのアプリケーションプログ
ラムはユーザとの対話型として書込まれる。殆んどの場
合、ユーザとコンピュータとの対話はキーボードを介し
て行われる。ユーザはキーボード上のキーを押すことに
よりアプリケーションプログラムで使用される入力デー
タストリームまたはコマンドストリームを形成する。デ
ータまたはコマンドに関していえばコマンドが明らかに
データであるがコンピュータ及びそのアプリケーション
プログラムの少なくとも1つをして特別の形で他のデー
タを演算しあるいは変換させるように特別に構成された
データである。アプリケーションプログラムは一般にユ
ーザがタイプしたデータまたはコマンドにもとづきアク
ションを行う。
【0004】キーボードのユーザとコンピュータとの間
の対話は従来通りであり当業者には明らかである。
の対話は従来通りであり当業者には明らかである。
【0005】ここでは本発明を実施するために使用しう
る代表的なシステムはパーソナルコンピュータのIBM
PS/2ラインまたはそれと互換性のあるものを含
む。これらシステムはキーボード装置ドライバーを有
し、ユーザーはキーボードを有さないコンピュータを選
び、そして本発明の実施のためにハンドプリント端末の
ような別の入力装置を代用する。
る代表的なシステムはパーソナルコンピュータのIBM
PS/2ラインまたはそれと互換性のあるものを含
む。これらシステムはキーボード装置ドライバーを有
し、ユーザーはキーボードを有さないコンピュータを選
び、そして本発明の実施のためにハンドプリント端末の
ような別の入力装置を代用する。
【0006】代用の入力装置での本発明の実施は、標準
的なキーボード装置の併用を妨げるものではないのであ
り、二つの形式の装置の同期化が後述するように本発明
により与えられるからである。
的なキーボード装置の併用を妨げるものではないのであ
り、二つの形式の装置の同期化が後述するように本発明
により与えられるからである。
【0007】殆んどの場合、従来のソフトウェアアプリ
ケーションはオペレーティングシステムで与えられるキ
ーボード入力用のアプリケーションプログラミングイン
ターフェース(API)に依存する。そのようなアプリ
ケーションの例はスプレッドシート(spreadsheet )プ
ログラム、ワードプロセシングプログラム、図形ドラフ
トプログラム等を含む。これらAPIは実際のキーボー
ドハードウェアアーキテクチャの仕様からアプリケーシ
ョンプログラムを遮断し、コンピュータと対話を行うた
めの容易な機構をユーザに与える。APIを有するオペ
レーティングシステムを用いることにより、これらアプ
リケーションプログラムはそれら異るコンピュータシス
テムにおいて同一である限り多くのハードウェア構成に
ついて動作しうるものである。
ケーションはオペレーティングシステムで与えられるキ
ーボード入力用のアプリケーションプログラミングイン
ターフェース(API)に依存する。そのようなアプリ
ケーションの例はスプレッドシート(spreadsheet )プ
ログラム、ワードプロセシングプログラム、図形ドラフ
トプログラム等を含む。これらAPIは実際のキーボー
ドハードウェアアーキテクチャの仕様からアプリケーシ
ョンプログラムを遮断し、コンピュータと対話を行うた
めの容易な機構をユーザに与える。APIを有するオペ
レーティングシステムを用いることにより、これらアプ
リケーションプログラムはそれら異るコンピュータシス
テムにおいて同一である限り多くのハードウェア構成に
ついて動作しうるものである。
【0008】そのようなAPIを与えるオペレーティン
グシステムとしてはIBM OS/2およびDOSオペ
レーティングシステムがある。そのようなAPIの例は
OS/2プログラマーズガイド(OS/2 Programmers Gui
de),1988,519〜540ページおよび「IBM Pe
rsonal system/2 and Personal Computer BIOS Interfa
ce Technical Reference」第2章,104−110ペー
ジ,1987に示されている。
グシステムとしてはIBM OS/2およびDOSオペ
レーティングシステムがある。そのようなAPIの例は
OS/2プログラマーズガイド(OS/2 Programmers Gui
de),1988,519〜540ページおよび「IBM Pe
rsonal system/2 and Personal Computer BIOS Interfa
ce Technical Reference」第2章,104−110ペー
ジ,1987に示されている。
【0009】同様のAPIを有する他のオペレーティン
グシステムの他の例はAT&TのUNIX,IBMのA
IX,マイクロソフトのXENIXおよびマッキントッ
シュのオペレーティングシステムを含むアップルのコン
ピュータオペレーティングシステムである。
グシステムの他の例はAT&TのUNIX,IBMのA
IX,マイクロソフトのXENIXおよびマッキントッ
シュのオペレーティングシステムを含むアップルのコン
ピュータオペレーティングシステムである。
【0010】
【課題を解決するための手段】それらより更に複雑な入
力装置が開発される場合にはオペレーティングシステム
で与えられるキーボードエミュレーションの必要性が生
じる。例えば、米国特許第4562304号明細書に示
されるようなハンドプリント端末のような固有の入力装
置を有するコンピュータシステムのユーザが上記の対話
アプリケーションのいずれかをキーボードのごとくに使
用しようとする場合には、そのユーザは次のことを行う
オペレーティングシステムソフトウェアを与えなくては
ならない。
力装置が開発される場合にはオペレーティングシステム
で与えられるキーボードエミュレーションの必要性が生
じる。例えば、米国特許第4562304号明細書に示
されるようなハンドプリント端末のような固有の入力装
置を有するコンピュータシステムのユーザが上記の対話
アプリケーションのいずれかをキーボードのごとくに使
用しようとする場合には、そのユーザは次のことを行う
オペレーティングシステムソフトウェアを与えなくては
ならない。
【0011】A. ハンドプリント端末ハードウェアと
の通信。
の通信。
【0012】B. ハードウェアにより発生される生デ
ータの、アプリケーションプログラムおよびオペレーテ
ィングシステムの他の部分に認識しうるフォーマットへ
の変換。
ータの、アプリケーションプログラムおよびオペレーテ
ィングシステムの他の部分に認識しうるフォーマットへ
の変換。
【0013】C. 多重タスク処理オペレーティングシ
ステムの複数セッション間のデータの同期化。
ステムの複数セッション間のデータの同期化。
【0014】D. そのオペレーティングシステムを構
成する他のソフトウェアコンポーネントとの通信。
成する他のソフトウェアコンポーネントとの通信。
【0015】E. 直接または他のオペレーティングシ
ステムコンポーネントを介して間接的なアプリケーショ
ンソフトウェアプログラムとの通信。
ステムコンポーネントを介して間接的なアプリケーショ
ンソフトウェアプログラムとの通信。
【0016】F. 適正なインターフェースへのキース
トロークデータの経路指定。
トロークデータの経路指定。
【0017】或るオペレーティングシステムではこれは
不可能である。例えば市販のIBMOS/2バージョン
1.2(IBM OS/2 version 1.2)オペレーティングシス
テムで上記のタスクを行うためには固有の入力装置につ
いて特定のデバイスドライバーを書込まなくてはならな
い。上記の「A」は当業者により行うことが出来るが、
「B」、「C」、「D」、「E」および「F」は、それ
らタスクを行うに必要なインターフェースが文書化され
ないインターフェースであるから実行出来ない。それら
インターフェースが知られているとしてもオペレーティ
ングシステムレベルコードおよびインターフェースの内
部的ワーキングが変化するために避けることの出来ない
互換性エラーを生じさせることになる。
不可能である。例えば市販のIBMOS/2バージョン
1.2(IBM OS/2 version 1.2)オペレーティングシス
テムで上記のタスクを行うためには固有の入力装置につ
いて特定のデバイスドライバーを書込まなくてはならな
い。上記の「A」は当業者により行うことが出来るが、
「B」、「C」、「D」、「E」および「F」は、それ
らタスクを行うに必要なインターフェースが文書化され
ないインターフェースであるから実行出来ない。それら
インターフェースが知られているとしてもオペレーティ
ングシステムレベルコードおよびインターフェースの内
部的ワーキングが変化するために避けることの出来ない
互換性エラーを生じさせることになる。
【0018】本発明は、例えば米国特許第456230
4号明細書に示されるようなシステムにおいて、その図
1の点71におけるハンドプリント端末の出力をオペレ
ーティングシステムにより与えられるキーボードエミュ
レーションインターフェースに送りそしてこのインター
フェースがそのデータをあたかも物理的なキーボードか
ら入ったかのようにオペレーティングシステムの他の部
分に送るごとくすることにより上記問題を解決する。こ
の場合、オペレーティングシステムはこのデータを当業
者に予測しうる既知のフォーマットでキーボード入力に
ついて登録されたアプリケーションに経路指定する。
4号明細書に示されるようなシステムにおいて、その図
1の点71におけるハンドプリント端末の出力をオペレ
ーティングシステムにより与えられるキーボードエミュ
レーションインターフェースに送りそしてこのインター
フェースがそのデータをあたかも物理的なキーボードか
ら入ったかのようにオペレーティングシステムの他の部
分に送るごとくすることにより上記問題を解決する。こ
の場合、オペレーティングシステムはこのデータを当業
者に予測しうる既知のフォーマットでキーボード入力に
ついて登録されたアプリケーションに経路指定する。
【0019】本発明は例えば米国特許第4562304
号明細書に示される上記問題に対する解決法を与えるも
のである。
号明細書に示される上記問題に対する解決法を与えるも
のである。
【0020】
【課題を解決するための手段及び作用】この発明はキー
ボードエミュレーション用のオペレーティングシステム
インターフェースを与える。本発明のこのインターフェ
ースは例えばハンドプリント端末、マウス、タッチスク
リーン、ライトペン、トラックボール等の他の入力装置
または純粋のソフトウェアシステムに関連して用いられ
たオペレーティングシステムへそしてアプリケーション
プログラムへ、あたかもキーボード入力装置から入った
かのように送られるキーボードデータを発生する。
ボードエミュレーション用のオペレーティングシステム
インターフェースを与える。本発明のこのインターフェ
ースは例えばハンドプリント端末、マウス、タッチスク
リーン、ライトペン、トラックボール等の他の入力装置
または純粋のソフトウェアシステムに関連して用いられ
たオペレーティングシステムへそしてアプリケーション
プログラムへ、あたかもキーボード入力装置から入った
かのように送られるキーボードデータを発生する。
【0021】本発明によれば中央処理ユニットとそれに
関連するメモリを有する処理手段を含むコンピュータシ
ステムが与えられる。ハードドライブまたはフロッピデ
ィスクのような入力および出力装置がこの中央処理手段
に従来のごとくに関連づけられる。更に、メモリ内のオ
ペレーティングシステムの動作によりプロセッサによっ
てデータに対し行われる変換の可視表示を行うための表
示手段が与えられる。キーボードのような第1入力手段
がオペレータコマンドおよびデータの入力を行う。これ
らコマンドはオペレーティングシステムでのオペレーシ
ョンを介して処理手段と入力/出力手段とによりシステ
ム内の他のデータについての演算または変換を行うため
に選ばれたデータフォームをもつことによりデータとは
区別される。メモリはそこに記憶されるデバイスドライ
バソフトウェアで構成され、このソフトウェアはプロセ
ッサとの対話によりキーボードからの入力コマンドとデ
ータをそれにより処理された他のデータと両立しうるよ
うに処理するためのものである。本発明はまたキーボー
ド以外の第2の入力装置を与えると共に、メモリは、こ
の第2入力装置からの入力コマンドとデータをプロセッ
サとの対話により処理するキーボードデバイスドライバ
エミュレーションプログラムで構成される。第2入力装
置からの入力コマンドとデータはそれにより処理される
他のデータと両立しうるようにあたかもキーボードから
入ったかのごとくに処理される。
関連するメモリを有する処理手段を含むコンピュータシ
ステムが与えられる。ハードドライブまたはフロッピデ
ィスクのような入力および出力装置がこの中央処理手段
に従来のごとくに関連づけられる。更に、メモリ内のオ
ペレーティングシステムの動作によりプロセッサによっ
てデータに対し行われる変換の可視表示を行うための表
示手段が与えられる。キーボードのような第1入力手段
がオペレータコマンドおよびデータの入力を行う。これ
らコマンドはオペレーティングシステムでのオペレーシ
ョンを介して処理手段と入力/出力手段とによりシステ
ム内の他のデータについての演算または変換を行うため
に選ばれたデータフォームをもつことによりデータとは
区別される。メモリはそこに記憶されるデバイスドライ
バソフトウェアで構成され、このソフトウェアはプロセ
ッサとの対話によりキーボードからの入力コマンドとデ
ータをそれにより処理された他のデータと両立しうるよ
うに処理するためのものである。本発明はまたキーボー
ド以外の第2の入力装置を与えると共に、メモリは、こ
の第2入力装置からの入力コマンドとデータをプロセッ
サとの対話により処理するキーボードデバイスドライバ
エミュレーションプログラムで構成される。第2入力装
置からの入力コマンドとデータはそれにより処理される
他のデータと両立しうるようにあたかもキーボードから
入ったかのごとくに処理される。
【0022】この第2入力装置はハンドプリント端末、
ソフトウェアアプリケーション、ライトペン、タッチス
クリーンまたはトラックホールでよい。更に、キーボー
ドデバイスドライバエミュレータはオペレーティングシ
ステムのカーネル(kernel)とは別の第2入力装置から
のコマンドおよびデータをそれらがあたかもキーボード
で発生されたかのようなフォーマットでオペレーティン
グシステムに対し処理するように構成される。
ソフトウェアアプリケーション、ライトペン、タッチス
クリーンまたはトラックホールでよい。更に、キーボー
ドデバイスドライバエミュレータはオペレーティングシ
ステムのカーネル(kernel)とは別の第2入力装置から
のコマンドおよびデータをそれらがあたかもキーボード
で発生されたかのようなフォーマットでオペレーティン
グシステムに対し処理するように構成される。
【0023】他の観点によれば本発明はキーボードでは
ない入力装置を有するコンピュータシステムの動作方法
に関する。本発明の方法は入力装置からのデータとコマ
ンドを受ける段階およびそれらデータとコマンドをあた
かもキーボードで発生されたかのように変換する段階を
含む。変換されたデータとコマンドはコンピュータシス
テムに送られそこであたかもキーボード入力装置により
発生されたかのごとくに処理される。
ない入力装置を有するコンピュータシステムの動作方法
に関する。本発明の方法は入力装置からのデータとコマ
ンドを受ける段階およびそれらデータとコマンドをあた
かもキーボードで発生されたかのように変換する段階を
含む。変換されたデータとコマンドはコンピュータシス
テムに送られそこであたかもキーボード入力装置により
発生されたかのごとくに処理される。
【0024】
【実施例】本発明の説明においてはそれがIBM OS
/2オペレーティングシステムを例として用いるものと
して示されているが、本発明の特徴は前述のように他の
オペレーティングシステムでも使用出来るものである。
/2オペレーティングシステムを例として用いるものと
して示されているが、本発明の特徴は前述のように他の
オペレーティングシステムでも使用出来るものである。
【0025】ここで用いるダイアグラム、フローチャー
トおよびアルゴリズムは本発明を実施する上で最適なも
のである。ここでは本発明はIBM OS/2オペレー
ティングシステムの32ビットリリースで実施されるも
のとしており、これはIBM32ビットOS/2オペレ
ーティングシステムで走行するための32ビットソフト
ウェアアプリケーションの開発者向けの市販のマイクロ
ソフトソフトウェアデベロプメントキット(microsoft
software Development Kit)と共に出荷されるものであ
る。
トおよびアルゴリズムは本発明を実施する上で最適なも
のである。ここでは本発明はIBM OS/2オペレー
ティングシステムの32ビットリリースで実施されるも
のとしており、これはIBM32ビットOS/2オペレ
ーティングシステムで走行するための32ビットソフト
ウェアアプリケーションの開発者向けの市販のマイクロ
ソフトソフトウェアデベロプメントキット(microsoft
software Development Kit)と共に出荷されるものであ
る。
【0026】図1は本発明を用いた代表的なハードウェ
ア構成を示す。この発明において用いられるこのシステ
ムはIBM PS/2モデル80コンピュータでもよ
い。そのようなシステムは一般に例えば8513VGA
ディスプレイであるディスプレイ10を備えたインテル
80386マイクロプロセッサであるマイクロプロセッ
サ7と、例えば2Mbのランダムアクセスメモリ(RA
M)であるメモリ4と、読取専用メモリ(ROM)5に
ある従来の入力および出力サービス(BIOS)と、少
くとも1個の固定ハードディスクドライブ8と、1個の
フロッピディスクドライブ9を含む。この基本的入力出
力サービス(BIOS)は前記の「IBM Personal Syste
m/2 and Personal Computer BIOS Interface Technical
Reference」に詳述されている。このシステムは更に任
意のタイプのプリンタ11と入力装置とを含むことが出
来る。図示の入力装置の例としてはキーボード1、マウ
ス2または他の入力装置3である。他の入力装置3の例
はハンドプリント端末、ライトペン、タッチスクリー
ン、トラックボール等である。そのようなシステムの一
般的な動作およびそのコンポーネント間の対話は従来の
ごとくであり、当業者には周知である。
ア構成を示す。この発明において用いられるこのシステ
ムはIBM PS/2モデル80コンピュータでもよ
い。そのようなシステムは一般に例えば8513VGA
ディスプレイであるディスプレイ10を備えたインテル
80386マイクロプロセッサであるマイクロプロセッ
サ7と、例えば2Mbのランダムアクセスメモリ(RA
M)であるメモリ4と、読取専用メモリ(ROM)5に
ある従来の入力および出力サービス(BIOS)と、少
くとも1個の固定ハードディスクドライブ8と、1個の
フロッピディスクドライブ9を含む。この基本的入力出
力サービス(BIOS)は前記の「IBM Personal Syste
m/2 and Personal Computer BIOS Interface Technical
Reference」に詳述されている。このシステムは更に任
意のタイプのプリンタ11と入力装置とを含むことが出
来る。図示の入力装置の例としてはキーボード1、マウ
ス2または他の入力装置3である。他の入力装置3の例
はハンドプリント端末、ライトペン、タッチスクリー
ン、トラックボール等である。そのようなシステムの一
般的な動作およびそのコンポーネント間の対話は従来の
ごとくであり、当業者には周知である。
【0027】図2は代表的なアーキテクチャおよびキー
ボードソフトウェアデバイスドライバをもつキーボード
でキーが押された時点でスタートするキーストロークデ
ータについてのパスを示す。そのようなデータはオペレ
ーティングシステム処理されてアプリケーションプログ
ラムに送られ、従来のごとくにそれにもとづく動作を行
う。
ボードソフトウェアデバイスドライバをもつキーボード
でキーが押された時点でスタートするキーストロークデ
ータについてのパスを示す。そのようなデータはオペレ
ーティングシステム処理されてアプリケーションプログ
ラムに送られ、従来のごとくにそれにもとづく動作を行
う。
【0028】IBM OS/2オペレーティングシステ
ムは多重タスクオペレーティングシステムであるから、
キーストロークデータの最終宛先は他の多重タスクオペ
レーティングシステムにおけるように変化する。キーボ
ードデータについての宛先の決定に用いられるアルゴリ
ズムはセッションタイプの値を用いる。セッションタイ
プの値は、オペレーティングシステムにより用いられて
プロセスが走行中の動作モードを識別するための数であ
る。インテル80386プロセッサで走行するIBM
OS/2における代表的なセッションのタイプは次の通
りである。
ムは多重タスクオペレーティングシステムであるから、
キーストロークデータの最終宛先は他の多重タスクオペ
レーティングシステムにおけるように変化する。キーボ
ードデータについての宛先の決定に用いられるアルゴリ
ズムはセッションタイプの値を用いる。セッションタイ
プの値は、オペレーティングシステムにより用いられて
プロセスが走行中の動作モードを識別するための数であ
る。インテル80386プロセッサで走行するIBM
OS/2における代表的なセッションのタイプは次の通
りである。
【0029】OS/2全画面: このセッションは図2
に示す表示管理プログラム23をもちいずにインテル8
0386マイクロプロセッサの保護モードで走行する。
表示管理プログラム23はシステムの入力および可視出
力を制御する円形ユーザインターフェースであって周知
のものである。
に示す表示管理プログラム23をもちいずにインテル8
0386マイクロプロセッサの保護モードで走行する。
表示管理プログラム23はシステムの入力および可視出
力を制御する円形ユーザインターフェースであって周知
のものである。
【0030】OS/2ウインドー: このセッションは
表示管理プログラム23を用いたインテル386マイク
ロプロセッサの保護モードで進行する。
表示管理プログラム23を用いたインテル386マイク
ロプロセッサの保護モードで進行する。
【0031】DOS全画面: このセッションは表示管
理プログラム23を用いずにインテル80386マイク
ロプロセッサの仮想8086モードで走行する。
理プログラム23を用いずにインテル80386マイク
ロプロセッサの仮想8086モードで走行する。
【0032】DOSウインドー: このセッションは表
示管理プログラム23を用いたインテル80386マイ
クロプロセッサの仮想8086モードで走行する。
示管理プログラム23を用いたインテル80386マイ
クロプロセッサの仮想8086モードで走行する。
【0033】これらセッションとその動作の詳細はOS
/2プログラマーズガイドにあり、また1990年1月
の前記市販のマイクロソフトOS/2 32bit ソ
フトウェアデベロプメントキットにあるが、本発明の実
施例には関係ない。図2および図3に示すように、セッ
ションによりきまるキーストロークデータのパスは2重
実線で囲まれている。
/2プログラマーズガイドにあり、また1990年1月
の前記市販のマイクロソフトOS/2 32bit ソ
フトウェアデベロプメントキットにあるが、本発明の実
施例には関係ない。図2および図3に示すように、セッ
ションによりきまるキーストロークデータのパスは2重
実線で囲まれている。
【0034】図2に示す従来の技術ではユーザがキーボ
ード20のキーを押すとハードウェアの割込みが生じ
る。これはキーボードハードウェア20からキーボード
デバイスドライバ割込ハンドラーおよびスキャンコード
プロセッサ21へ向かう矢印で示される。キーボードハ
ードウェア20で発生される割込みはキーボードデバイ
スドライバ割込ハンドラーおよびスキャンコードプロセ
ッサ21に向けられる。プロセッサ21はキーが押され
たとき制御を得るソフトウェアキーボードデバイスドラ
イバの部分である。これら次にキーストロークデータ
(スキャンコード)を読取り、そしてそれをキーボード
データレコードに変換し、これがその後アプリケーショ
ンプログラム27に通される。キーボードデータレコー
ドの一例がOS/2プログラマーズガイド(OS/2 Progr
ammers Guide)の第683頁に示されている。
ード20のキーを押すとハードウェアの割込みが生じ
る。これはキーボードハードウェア20からキーボード
デバイスドライバ割込ハンドラーおよびスキャンコード
プロセッサ21へ向かう矢印で示される。キーボードハ
ードウェア20で発生される割込みはキーボードデバイ
スドライバ割込ハンドラーおよびスキャンコードプロセ
ッサ21に向けられる。プロセッサ21はキーが押され
たとき制御を得るソフトウェアキーボードデバイスドラ
イバの部分である。これら次にキーストロークデータ
(スキャンコード)を読取り、そしてそれをキーボード
データレコードに変換し、これがその後アプリケーショ
ンプログラム27に通される。キーボードデータレコー
ドの一例がOS/2プログラマーズガイド(OS/2 Progr
ammers Guide)の第683頁に示されている。
【0035】現在実行中のセッションタイプ値である前
景セッションタイプにもとづき、キーストローク情報は
仮想キーボードデバイスドライバ22、表示管理プログ
ラム23、キーボード入力バッファ24またはモニタデ
ィスパッチャ(dispatcher)25に通される。仮想キー
ボートデバイスドライバ22は例えばインテル8038
6マイクロプロセッサの仮想8086モードで走行する
すべてのアプリケーションプロセスと通信を行うソフト
ウェアモジュールである。モニタディスパッチャ25は
例えばOS/2カーネルであるオペレーティングシステ
ムカーネルの部分であるソフトウェアモジュールであ
る。モニタディスパッチャ25は文字デバイスモニタを
通じてキーボード情報を得るすべてのアプリケーション
プロセスと通信を行う。文字デバイスモニタの詳細はO
S/2プログラマーズガイドの230〜236ページに
示されている。
景セッションタイプにもとづき、キーストローク情報は
仮想キーボードデバイスドライバ22、表示管理プログ
ラム23、キーボード入力バッファ24またはモニタデ
ィスパッチャ(dispatcher)25に通される。仮想キー
ボートデバイスドライバ22は例えばインテル8038
6マイクロプロセッサの仮想8086モードで走行する
すべてのアプリケーションプロセスと通信を行うソフト
ウェアモジュールである。モニタディスパッチャ25は
例えばOS/2カーネルであるオペレーティングシステ
ムカーネルの部分であるソフトウェアモジュールであ
る。モニタディスパッチャ25は文字デバイスモニタを
通じてキーボード情報を得るすべてのアプリケーション
プロセスと通信を行う。文字デバイスモニタの詳細はO
S/2プログラマーズガイドの230〜236ページに
示されている。
【0036】前景セッションタイプがマイクロソフト3
2−bit OS/2 ソフトウェアデベロプメントキ
ットに示されるような仮想DOS全画面セッションであ
れば、キーストローク情報は仮想キーボードデバイスド
ライバ22に送られる。このドライバ22はその新しい
キーストローク情報でBIOSバッファ26を更新す
る。周知のソフトウェア割込み機構(Interrupt )16
hのサービスを用いる任意のアプリケーションがこの新
キーストローク情報の通知を受ける。BIOSにより与
えられる割込み機構16hのサービスのリストは「IBM
Personal System/2and Personal Computer BIOS Interf
ace Technical Reference」のページ2−104−2−
110に示されている。
2−bit OS/2 ソフトウェアデベロプメントキ
ットに示されるような仮想DOS全画面セッションであ
れば、キーストローク情報は仮想キーボードデバイスド
ライバ22に送られる。このドライバ22はその新しい
キーストローク情報でBIOSバッファ26を更新す
る。周知のソフトウェア割込み機構(Interrupt )16
hのサービスを用いる任意のアプリケーションがこの新
キーストローク情報の通知を受ける。BIOSにより与
えられる割込み機構16hのサービスのリストは「IBM
Personal System/2and Personal Computer BIOS Interf
ace Technical Reference」のページ2−104−2−
110に示されている。
【0037】前景セッションが仮想DOSウインドーま
たはOS/2ウインドであれば、そのキーストローク情
報は表示管理プログラム23に送られる。このプログラ
ム23は前述のキーストロークデータレコードの形でこ
のキーストローク情報を用いてそれを、例えば1989
年の「Programming OS/2 Presentation Manager 」の第
8章に示されるようなメッセージフォーマットにパッケ
ージ化する。
たはOS/2ウインドであれば、そのキーストローク情
報は表示管理プログラム23に送られる。このプログラ
ム23は前述のキーストロークデータレコードの形でこ
のキーストローク情報を用いてそれを、例えば1989
年の「Programming OS/2 Presentation Manager 」の第
8章に示されるようなメッセージフォーマットにパッケ
ージ化する。
【0038】前景セッションのタイプがOS/2全画面
セッションであれば、前景セッションで走行するアプリ
ケーションプログラム27がモニタディスパッチャ25
を介して間接的にキーボードデータを要求しているかど
うかのチェックのためのテストを行う。そうであればキ
ーストローク情報はキーストロークデータレコードの形
でモニタディスパッチャ25に送られる。モニタディス
パッチャ25はこのキーストローク情報をアプリケーシ
ョンプログラム27に送る。
セッションであれば、前景セッションで走行するアプリ
ケーションプログラム27がモニタディスパッチャ25
を介して間接的にキーボードデータを要求しているかど
うかのチェックのためのテストを行う。そうであればキ
ーストローク情報はキーストロークデータレコードの形
でモニタディスパッチャ25に送られる。モニタディス
パッチャ25はこのキーストローク情報をアプリケーシ
ョンプログラム27に送る。
【0039】前景セッションがOS/2全画面セッショ
ンでありそしてモニタデイスパッチャ25を介して間接
的にキーストローク情報を要求するアプリケーションプ
ロセスを有しない場合には、キーストローク情報はキー
ボード入力バッファ24に送られる。キーボード入力バ
ッファ24はソフトウェアFIFO待ち行列であり、そ
こにキーボードデータレコードが記憶される。アプリケ
ーションプログラム27がキーボードデータ更新のため
登録されると、それらはキーストローク情報を受ける。
ンでありそしてモニタデイスパッチャ25を介して間接
的にキーストローク情報を要求するアプリケーションプ
ロセスを有しない場合には、キーストローク情報はキー
ボード入力バッファ24に送られる。キーボード入力バ
ッファ24はソフトウェアFIFO待ち行列であり、そ
こにキーボードデータレコードが記憶される。アプリケ
ーションプログラム27がキーボードデータ更新のため
登録されると、それらはキーストローク情報を受ける。
【0040】以上から明らかなように、キーボードをエ
ミュレートするためのシステムの実施には通常非常に複
雑なソフトウェアおよびハードウェアの対話をアドレス
する必要がある。図3に示すように本発明によれば図2
の従来の機構がキーボードエミュレーションインターフ
ェース36を設けることにより改善される。キーボード
エミュレーションインターフェース36はキーボード状
の生データを実際のキーボードハードウェア30を必要
とせずにオペレーティングシステムに送る能力を例えば
ハンドプリント端末31あるいは純ソフトウェアシステ
ム32または他の装置33のような別の装置に与えるも
のである。
ミュレートするためのシステムの実施には通常非常に複
雑なソフトウェアおよびハードウェアの対話をアドレス
する必要がある。図3に示すように本発明によれば図2
の従来の機構がキーボードエミュレーションインターフ
ェース36を設けることにより改善される。キーボード
エミュレーションインターフェース36はキーボード状
の生データを実際のキーボードハードウェア30を必要
とせずにオペレーティングシステムに送る能力を例えば
ハンドプリント端末31あるいは純ソフトウェアシステ
ム32または他の装置33のような別の装置に与えるも
のである。
【0041】このキーボードエミュレーションインター
フェース36は別の入力装置と通信するソフトウェア層
34から呼び出される。キーボードエミュレーションイ
ンターフェース36は純ソフトウェアシステム32によ
っても使用されうる。
フェース36は別の入力装置と通信するソフトウェア層
34から呼び出される。キーボードエミュレーションイ
ンターフェース36は純ソフトウェアシステム32によ
っても使用されうる。
【0042】キーボードエミュレーションを与えるため
に本発明を使用しうる純ソフトウェアシステムの一例は
米国特許第4899136号明細書の図14と同様なス
クリーンにキーボードの画像を描くOS/2表示管理プ
ログラム(OS/2P resentationManager)と同等のソフト
ウェアアプリケーションである。ユーザがマウスカーソ
ルをこの画像上の或る位置に置いてクリックすると、こ
のアプリケーションはマウスポインタの行/列位置をキ
ーボードスキャンコードに変換する。これはテーブルル
ックアップのように単純なものである。次にアプリケー
ション32は生のキーボードデータでこのキーボードエ
ミュレーションインターフェース36を呼び出しそして
インターフェース36がこのデータをあたかも実際のキ
ーボードハードウェア30から入ったもののごとくに扱
う。キーボードデータの更新のためにオペレーティング
システムに登録されたすべてのアプリケーションプログ
ラム43はキーボード30で発生されたかのように全く
同一のフォーマットでこのデータを得る。
に本発明を使用しうる純ソフトウェアシステムの一例は
米国特許第4899136号明細書の図14と同様なス
クリーンにキーボードの画像を描くOS/2表示管理プ
ログラム(OS/2P resentationManager)と同等のソフト
ウェアアプリケーションである。ユーザがマウスカーソ
ルをこの画像上の或る位置に置いてクリックすると、こ
のアプリケーションはマウスポインタの行/列位置をキ
ーボードスキャンコードに変換する。これはテーブルル
ックアップのように単純なものである。次にアプリケー
ション32は生のキーボードデータでこのキーボードエ
ミュレーションインターフェース36を呼び出しそして
インターフェース36がこのデータをあたかも実際のキ
ーボードハードウェア30から入ったもののごとくに扱
う。キーボードデータの更新のためにオペレーティング
システムに登録されたすべてのアプリケーションプログ
ラム43はキーボード30で発生されたかのように全く
同一のフォーマットでこのデータを得る。
【0043】純ソフトウェアシステムの他の例は或る時
点であるアクションを行うために予定のスキャンコード
シーケンスで送るアプリケーションプログラム32であ
る。アプリケーション32は背景プロセスとして走行す
るものであり、或る時点で「眠りからさめ (wake up)」
て、システムをロックする他のプログラムを走行させる
キーボードエミュレーションインターフェース36にス
キャンコードシーケンスを送る。 図3はハンドプリン
ト端末31あるいは他の装置33がどのようにしてこの
キーボードエミュレーションインターフェース36を用
いてキーボード30を完全にエミュレートするかを示
す。例えば、米国特許第4562304号明細書のポイ
ント71のようなハンドプリント端末31の出力は小さ
いソフトウェア層34に送られる。この層34はそのハ
ードウェアにより発生されたデータを読取ってそれを対
応するキーボードスキャンコードに変換する。これは従
来のように簡単なデータルックアップテーブルで行うこ
とが出来そしてインターフェース36の知識を有する当
業者にはルーチンとして使用しうるものである。ソフト
ウェア層34はこのとき生キーボードスキャンコードと
宛先セッション番号を含む限定されたデータパケットで
キーボードエミュレーションインターフェース36を呼
び出す。
点であるアクションを行うために予定のスキャンコード
シーケンスで送るアプリケーションプログラム32であ
る。アプリケーション32は背景プロセスとして走行す
るものであり、或る時点で「眠りからさめ (wake up)」
て、システムをロックする他のプログラムを走行させる
キーボードエミュレーションインターフェース36にス
キャンコードシーケンスを送る。 図3はハンドプリン
ト端末31あるいは他の装置33がどのようにしてこの
キーボードエミュレーションインターフェース36を用
いてキーボード30を完全にエミュレートするかを示
す。例えば、米国特許第4562304号明細書のポイ
ント71のようなハンドプリント端末31の出力は小さ
いソフトウェア層34に送られる。この層34はそのハ
ードウェアにより発生されたデータを読取ってそれを対
応するキーボードスキャンコードに変換する。これは従
来のように簡単なデータルックアップテーブルで行うこ
とが出来そしてインターフェース36の知識を有する当
業者にはルーチンとして使用しうるものである。ソフト
ウェア層34はこのとき生キーボードスキャンコードと
宛先セッション番号を含む限定されたデータパケットで
キーボードエミュレーションインターフェース36を呼
び出す。
【0044】本発明は図4,5に詳細に示してあり、こ
れら図は使用されるアルゴリズムを扱いそして図3に示
すキーボードエミュレーションインターフェース36の
動作を示すフローチャートである。
れら図は使用されるアルゴリズムを扱いそして図3に示
すキーボードエミュレーションインターフェース36の
動作を示すフローチャートである。
【0045】図4において、図3のソフトウェア層34
はステップ50でパラメータパケットによりキーボード
エミュレーションインターフェース36を呼び出す。そ
のようなパラメータパケットは当業者には周知のもので
ある。ステップ51でこのパケットからパスイン(pass
ed in )スキャンコード値が抽出される。チェック52
が行われてそのスキャンコードが有効かどうかをチェッ
クする。このスキャンコードが無効であれば無効パラメ
ータエラー53でフラグし、そして制御は呼出し54に
もどされてそのプロセスは終了し、そうでなければソフ
トウェア層34による制御のもとで連続する。ステップ
52においてスキャンコード値が有効であれば宛先セッ
ション番号がステップ55で呼出しパラメータパケット
から抽出される。チェック56が行われてこのセッショ
ン番号が有効かどうかを決定する。セッション番号が無
効であれば57で無効パラメータエラーでフラグされそ
して制御は上述のように呼出し58にもどされる。この
セッション番号が有効であれば図4のポイント59から
図5のポイント59へと移る。
はステップ50でパラメータパケットによりキーボード
エミュレーションインターフェース36を呼び出す。そ
のようなパラメータパケットは当業者には周知のもので
ある。ステップ51でこのパケットからパスイン(pass
ed in )スキャンコード値が抽出される。チェック52
が行われてそのスキャンコードが有効かどうかをチェッ
クする。このスキャンコードが無効であれば無効パラメ
ータエラー53でフラグし、そして制御は呼出し54に
もどされてそのプロセスは終了し、そうでなければソフ
トウェア層34による制御のもとで連続する。ステップ
52においてスキャンコード値が有効であれば宛先セッ
ション番号がステップ55で呼出しパラメータパケット
から抽出される。チェック56が行われてこのセッショ
ン番号が有効かどうかを決定する。セッション番号が無
効であれば57で無効パラメータエラーでフラグされそ
して制御は上述のように呼出し58にもどされる。この
セッション番号が有効であれば図4のポイント59から
図5のポイント59へと移る。
【0046】チェック60が行われてこの宛先セッショ
ン番号が前景であるかどうかをチェックする。このセッ
ション番号が前景でなければ宛先セッション制御ブロッ
クが61で得られる。各セッションは固有の制御ブロッ
クが割当てられる。宛先セッション制御ブロックは62
において前景セッションの制御ブロックポインタを更新
しそして現セッション番号値を更新することによりアク
ティブとされる。スキャンコードプロセッサが63で呼
び出される。呼出しからスキャンコードプロセッサ63
にもどることにより、その状態が64ではじめての状態
にリセットされ、実前景セッション制御ブロックがアク
ティブとされ現セッション番号値が更新されたことにな
る。そして制御は前述のように65で呼出しにもどされ
る。
ン番号が前景であるかどうかをチェックする。このセッ
ション番号が前景でなければ宛先セッション制御ブロッ
クが61で得られる。各セッションは固有の制御ブロッ
クが割当てられる。宛先セッション制御ブロックは62
において前景セッションの制御ブロックポインタを更新
しそして現セッション番号値を更新することによりアク
ティブとされる。スキャンコードプロセッサが63で呼
び出される。呼出しからスキャンコードプロセッサ63
にもどることにより、その状態が64ではじめての状態
にリセットされ、実前景セッション制御ブロックがアク
ティブとされ現セッション番号値が更新されたことにな
る。そして制御は前述のように65で呼出しにもどされ
る。
【0047】セッション番号が60でのチェック時に前
景であれば、スキャンコードプロセッサが66で呼出さ
れる。制御は呼出し67にもどされる。
景であれば、スキャンコードプロセッサが66で呼出さ
れる。制御は呼出し67にもどされる。
【0048】図3はどのようにしてキーボードエミュレ
ーションインターフェース36が制御をスキャンコード
プロセッサ37に送るかを示す。ここで二重線で囲まれ
るすべてのものは図2のそれと同一である。キーボード
エミュレーションインターフェース36は前述のすべて
の問題を解決する。このインターフェースは図2と3の
二重線で囲まれる従来の技術に付加されて別の入力装置
または純ソフトウェアシステムに完全キーボードエミュ
レーションを与えるシームレスな解決法である。
ーションインターフェース36が制御をスキャンコード
プロセッサ37に送るかを示す。ここで二重線で囲まれ
るすべてのものは図2のそれと同一である。キーボード
エミュレーションインターフェース36は前述のすべて
の問題を解決する。このインターフェースは図2と3の
二重線で囲まれる従来の技術に付加されて別の入力装置
または純ソフトウェアシステムに完全キーボードエミュ
レーションを与えるシームレスな解決法である。
【0049】
【発明の効果】本発明の効果はアプリケーションプログ
ラム43がキーストロークのフォーマットで新しい情報
を受けるということにある。ハンドプリント端末31は
スキャンコードプロセッサ37からのソフトウェアのす
べてをコピーするのではなく、小さいソフトウェア層3
4を与えるだけでキーボードを完全にエミュレートする
能力を有する。
ラム43がキーストロークのフォーマットで新しい情報
を受けるということにある。ハンドプリント端末31は
スキャンコードプロセッサ37からのソフトウェアのす
べてをコピーするのではなく、小さいソフトウェア層3
4を与えるだけでキーボードを完全にエミュレートする
能力を有する。
【図1】本発明を使用しうる例えばパーソナルコンピュ
ータシステムであるハードウェア構成のレイアウトを示
すブロック図である。
ータシステムであるハードウェア構成のレイアウトを示
すブロック図である。
【図2】キーボード装置から発生するデータ流のみを許
す現存のアーキテクチャを用いるキーストロークデータ
流を示すブロック図である。
す現存のアーキテクチャを用いるキーストロークデータ
流を示すブロック図である。
【図3】図2のアーキテクチャに本発明のキーボードエ
ミュレーションインターフェースを用いてハンドプリン
ト端末または純ソフトウェアのような他の手段からの入
力を行う様を示す図である。
ミュレーションインターフェースを用いてハンドプリン
ト端末または純ソフトウェアのような他の手段からの入
力を行う様を示す図である。
【図4】図4は本発明のキーボードエミュレーションイ
ンターフェースを行う段階を示すフローチャートの一部
である。
ンターフェースを行う段階を示すフローチャートの一部
である。
【図5】図5は本発明のキーボードエミュレーションイ
ンターフェースを行う段階を示すフローチャートの一部
である。
ンターフェースを行う段階を示すフローチャートの一部
である。
30 キーボードハードウェア 31 ハンドプリント端末 32 ソフトウェアアプリケーション 34 ソフトウェア層 36 キーボードエミュレーションインターフェース 37 スキャンコードプロセッサ 38 仮想キーボードデバイスドライバ 39 表示管理プログラム 40 キーボード入力バッファ 41 モニタディスパッチャ 42 BIOS 43 アプリケーションプログラム
Claims (8)
- 【請求項1】中央処理ユニットおよびそれに関連するメ
モリを有する処理手段と;上記処理手段に対しおよびそ
れからデータを伝送するための入力/出力手段と;上記
メモリ内のオペレーティングシステムの動作を介して上
記処理手段によりデータについて行われる変換の表示を
可視表示するための表示手段と;上記処理手段と入力/
出力手段に選ばれたマナーで協同動作させるためのデー
タを含むオペレータコマンドの入力用のキーボードを含
む第1入力手段とを備え、 上記メモリは、上記処理手段との対話を介して他のデー
タと両立しうるように上記キーボードからの入力コマン
ドとデータを処理するためのキーボード装置ドライバー
手段で形成されており、 さらに、キーボードを含まず、キーボード装置ドライバ
ーエミュレーション手段で形成される上記メモリを含
み、上記処理手段との対話を介して、その入力コマンド
とデータを、それらが処理される他のデータと両立しう
るようにあたかもキーボードにより伝送されたかのごと
くに処理するための第2入力手段を備える、コンピュー
タシステム - 【請求項2】前記第2入力手段はハンドプリント端末装
置を含む請求項1のシステム。 - 【請求項3】前記第2入力手段はソフトウェアアプリケ
ーションを含む請求項1のシステム。 - 【請求項4】前記第2入力手段はライトペンを含む請求
項1のシステム。 - 【請求項5】前記第2入力手段はタッチスクリーンを含
む請求項1のシステム。 - 【請求項6】前記第2入力手段はトラックボールを含む
請求項1のシステム。 - 【請求項7】前記キーボード装置ドライバーエミュレー
ション手段は前記第2入力手段からのコマンドとデータ
を前記オペレーティングシステムとは無関係にそれらコ
マンドとデータがキーボードで発生されたかのようにす
るフォーマットで上記オペレーティングシステムに対し
処理する請求項1のシステム。 - 【請求項8】下記段階を含む、キーボードではない入力
装置を有するコンピュータシステムを動作させる方法:
上記入力装置からデータおよびコマンドを受ける段階;
このデータおよびコマンドをあたかもキーボードで発生
されたかのように変換する段階;この変換されたデータ
とコマンドを上記コンピュータシステムに送りそれにも
とづき上記データとコマンドがキーボード入力装置から
発生されたかのごとくに動作させる段階。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/629,505 US5261079A (en) | 1990-12-18 | 1990-12-18 | Interface for keyboard emulation provided by an operating system |
US629505 | 1990-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0628080A true JPH0628080A (ja) | 1994-02-04 |
JPH0797303B2 JPH0797303B2 (ja) | 1995-10-18 |
Family
ID=24523271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3287620A Expired - Lifetime JPH0797303B2 (ja) | 1990-12-18 | 1991-11-01 | コンピュータシステム及びそれを動作させる方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5261079A (ja) |
JP (1) | JPH0797303B2 (ja) |
CA (1) | CA2054581A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109502A (ja) * | 2011-11-18 | 2013-06-06 | Internatl Business Mach Corp <Ibm> | Posインターフェース(if)エミュレータ |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649171A (en) * | 1991-04-12 | 1997-07-15 | Accom, Inc. | On-line video editing system |
JP2986299B2 (ja) * | 1992-04-15 | 1999-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 周辺装置接続検出システム |
JP3157304B2 (ja) * | 1992-09-22 | 2001-04-16 | 富士通株式会社 | 仮想キーボード |
US20020091850A1 (en) | 1992-10-23 | 2002-07-11 | Cybex Corporation | System and method for remote monitoring and operation of personal computers |
US5404493A (en) * | 1992-11-17 | 1995-04-04 | Intermec Corporation | Method and computer system for processing keycode data and symbol code data in a bar code device |
US6006029A (en) * | 1993-09-28 | 1999-12-21 | Bull Hn Information Systems Inc. | Emulating disk drives of a first system on a second system |
US5983012A (en) * | 1993-09-28 | 1999-11-09 | Bull Hn Information Systems Inc. | Executing programs of a first system on a second system |
US5459462A (en) * | 1993-12-09 | 1995-10-17 | Onspec Electronic, Inc. | Keyboard controller state machine |
CA2187925C (en) * | 1994-04-21 | 2000-04-25 | Colin Jones | Interface device and method |
US5553227A (en) * | 1994-08-26 | 1996-09-03 | International Business Machines Corporation | Method and system for visually programming state information using a visual switch |
US5764956A (en) * | 1994-11-07 | 1998-06-09 | Seiko Epson Conporation | Computer peripheral function emulator |
US6668244B1 (en) * | 1995-07-21 | 2003-12-23 | Quartet Technology, Inc. | Method and means of voice control of a computer, including its mouse and keyboard |
US5721842A (en) * | 1995-08-25 | 1998-02-24 | Apex Pc Solutions, Inc. | Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch |
US6289312B1 (en) * | 1995-10-02 | 2001-09-11 | Digital Equipment Corporation | Speech interface for computer application programs |
US6067527A (en) * | 1995-10-12 | 2000-05-23 | Gilbarco, Inc. | Point of sale system, method of operation thereof and programming for control thereof |
US5847954A (en) * | 1995-12-28 | 1998-12-08 | Intel Corporation | Method and apparatus for using translated and raw guest keyboard input in a host shared application program |
US5896534A (en) * | 1996-01-26 | 1999-04-20 | Dell Usa, L.P. | Operating system independent apparatus and method for supporting input/output devices unsupported by executing programs |
US5796984A (en) * | 1996-01-26 | 1998-08-18 | Dell Usa, L.P. | Operating system independent apparatus and method for eliminating peripheral device functions |
US5898861A (en) * | 1996-10-18 | 1999-04-27 | Compaq Computer Corporation | Transparent keyboard hot plug |
JP3194082B2 (ja) * | 1997-02-12 | 2001-07-30 | 株式会社ナナオ | 複数コンピュータの選択作動装置 |
US5933621A (en) * | 1997-03-25 | 1999-08-03 | Lam Research Corporation | Method and Apparatus for terminal emulation in a semiconductor fabricating facility |
US20030107557A1 (en) * | 1997-07-30 | 2003-06-12 | Gateway, Inc. | Control of unintended single-tap actuation of a computer touch pad pointing device |
US6304895B1 (en) | 1997-08-22 | 2001-10-16 | Apex Inc. | Method and system for intelligently controlling a remotely located computer |
US6037882A (en) * | 1997-09-30 | 2000-03-14 | Levy; David H. | Method and apparatus for inputting data to an electronic system |
US20010044843A1 (en) * | 1997-10-28 | 2001-11-22 | Philip Bates | Multi-user computer system |
US6081855A (en) * | 1998-04-15 | 2000-06-27 | Oak Technology, Inc. | Digital versatile disc playback system with flexible input interface |
WO1999057649A2 (en) | 1998-05-04 | 1999-11-11 | Intermec Ip Corporation | Automatic data collection device having a network communications capability |
WO2000017766A2 (en) | 1998-09-22 | 2000-03-30 | Cybex Computer Products Corporation | System for accessing personal computers remotely |
US6857013B2 (en) | 1999-01-29 | 2005-02-15 | Intermec Ip.Corp. | Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network |
US6488209B1 (en) | 1999-01-29 | 2002-12-03 | Intermec Ip Corp. | Automatic data collection device that dynamically wedges data transmitted to data consumers |
US6356949B1 (en) | 1999-01-29 | 2002-03-12 | Intermec Ip Corp. | Automatic data collection device that receives data output instruction from data consumer |
US20050274801A1 (en) * | 1999-01-29 | 2005-12-15 | Intermec Ip Corp. | Method, apparatus and article for validating ADC devices, such as barcode, RFID and magnetic stripe readers |
US6398105B2 (en) | 1999-01-29 | 2002-06-04 | Intermec Ip Corporation | Automatic data collection device that intelligently switches data based on data type |
US6374208B1 (en) | 1999-03-11 | 2002-04-16 | Robert D. Ferris | System and method for adapting a PC-based application to an automated format |
US6766519B1 (en) * | 1999-03-26 | 2004-07-20 | Emc Corporation | Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation |
US6378014B1 (en) | 1999-08-25 | 2002-04-23 | Apex Inc. | Terminal emulator for interfacing between a communications port and a KVM switch |
US6976062B1 (en) * | 1999-09-22 | 2005-12-13 | Intermec Ip Corp. | Automated software upgrade utility |
US6686939B1 (en) * | 2000-04-06 | 2004-02-03 | International Business Machines Corporation | Method and system for navigating from day to month in an electronic calendar |
US6687744B1 (en) | 2000-05-02 | 2004-02-03 | International Business Machines Corporation | Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system |
US6772236B1 (en) * | 2003-04-17 | 2004-08-03 | Microsoft Corporation | System for conveying an attribute of a device not explicitly recognized by a PS/2 communication protocol and without requiring modification of the protocol |
US7259482B2 (en) | 2003-09-24 | 2007-08-21 | Belkin International, Inc. | Distance extender and method making use of same |
TWI224739B (en) * | 2003-10-22 | 2004-12-01 | Wistron Corp | Electronic apparatus with the combination of notebook computer and tablet computer |
US7761864B2 (en) | 2005-08-09 | 2010-07-20 | Intermec Ip Corp. | Method, apparatus and article to load new instructions on processor based devices, for example, automatic data collection devices |
US7446676B2 (en) * | 2005-12-28 | 2008-11-04 | Broadcom Corporation | Self-scan programmable keypad interface |
US8944332B2 (en) | 2006-08-04 | 2015-02-03 | Intermec Ip Corp. | Testing automatic data collection devices, such as barcode, RFID and/or magnetic stripe readers |
US8009173B2 (en) | 2006-08-10 | 2011-08-30 | Avocent Huntsville Corporation | Rack interface pod with intelligent platform control |
US8427489B2 (en) | 2006-08-10 | 2013-04-23 | Avocent Huntsville Corporation | Rack interface pod with intelligent platform control |
US20080154573A1 (en) * | 2006-10-02 | 2008-06-26 | Microsoft Corporation | Simulating new input devices using old input devices |
CN101169764B (zh) * | 2006-10-26 | 2010-10-13 | 神盾股份有限公司 | 免驱动程序的信号产生设备及控制方法 |
WO2008148609A1 (en) * | 2007-06-08 | 2008-12-11 | International Business Machines Corporation | Language independent login method and system |
US8484626B2 (en) * | 2007-09-28 | 2013-07-09 | Verizon Patent And Licensing Inc. | Generic XML screen scraping |
FR2929725B1 (fr) * | 2008-04-04 | 2011-07-22 | Lexip | Procede pour piloter depuis un peripherique specifique une application logicielle qui n'a pas ete prevue a cet effet. |
US8135670B2 (en) * | 2008-07-22 | 2012-03-13 | International Business Machines Corporation | Embedded change logging for data synchronization |
DE102008057910B4 (de) | 2008-11-18 | 2010-10-07 | P&L Edv Systeme Gmbh | Patientenverwaltungssystem mit intelligenter Schnittstelleneinrichtung zur Übertragung medizinischer Daten |
US8214539B1 (en) | 2009-02-23 | 2012-07-03 | Kulanko Robert J | Command mapping systems relating input devices to application program interfaces |
CN112352210A (zh) | 2018-08-30 | 2021-02-09 | 株式会社和冠 | 接口装置及面板上板 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01116818A (ja) * | 1987-10-30 | 1989-05-09 | Tokyo Electric Co Ltd | カーソル信号入力装置 |
JPH02278415A (ja) * | 1989-04-20 | 1990-11-14 | Ricoh Co Ltd | 情報処理装置の入力装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4562304A (en) * | 1984-05-23 | 1985-12-31 | Pencept, Inc. | Apparatus and method for emulating computer keyboard input with a handprint terminal |
US5113517A (en) * | 1986-04-28 | 1992-05-12 | Xerox Corporation | Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween |
US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
US4937036A (en) * | 1986-04-28 | 1990-06-26 | Xerox Corporation | Concurrent display of data from two different display processors and user interface therefore |
US4939507A (en) * | 1986-04-28 | 1990-07-03 | Xerox Corporation | Virtual and emulated objects for use in the user interface of a display screen of a display processor |
US5034598A (en) * | 1989-12-29 | 1991-07-23 | Hewlett-Packard Company | Keyboard emulation system providing audible feedback without a built-in transducer |
-
1990
- 1990-12-18 US US07/629,505 patent/US5261079A/en not_active Expired - Lifetime
-
1991
- 1991-10-31 CA CA002054581A patent/CA2054581A1/en not_active Abandoned
- 1991-11-01 JP JP3287620A patent/JPH0797303B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01116818A (ja) * | 1987-10-30 | 1989-05-09 | Tokyo Electric Co Ltd | カーソル信号入力装置 |
JPH02278415A (ja) * | 1989-04-20 | 1990-11-14 | Ricoh Co Ltd | 情報処理装置の入力装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013109502A (ja) * | 2011-11-18 | 2013-06-06 | Internatl Business Mach Corp <Ibm> | Posインターフェース(if)エミュレータ |
Also Published As
Publication number | Publication date |
---|---|
CA2054581A1 (en) | 1992-06-19 |
US5261079A (en) | 1993-11-09 |
JPH0797303B2 (ja) | 1995-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0628080A (ja) | コンピュータシステム及びそれを動作させる方法 | |
US5313581A (en) | System and method for communication between windowing environments | |
US5964843A (en) | System for enhancing device drivers | |
Hill | Supporting concurrency, communication, and synchronization in human-computer interaction—the Sassafras UIMS | |
JP2590267B2 (ja) | 仮想計算機における表示制御方式 | |
Nye | X Protocol Reference Manual for X11, Release 6 | |
US6259432B1 (en) | Information processing apparatus for improved intuitive scrolling utilizing an enhanced cursor | |
US6519605B1 (en) | Run-time translation of legacy emulator high level language application programming interface (EHLLAPI) calls to object-based calls | |
US5546583A (en) | Method and system for providing a client/server interface in a programming language | |
US6226693B1 (en) | Method and system for logical event management | |
JP2002511161A (ja) | ビジュアル・ディスプレイ・オブジェクト・ファイル用エミュレータおよびその動作方法 | |
US5724532A (en) | Method and apparatus for exchanging information between application programs according to a drag and drop operation | |
Pike | The UNIX system: The blit: A multiplexed graphics terminal | |
JPH11212534A (ja) | 画面表示装置及び画面表示制御方法 | |
JPH0778782B2 (ja) | 対話型コンピュータ・システムならびにその使用環境適合化装置および方法 | |
JPH06342416A (ja) | 表示画面情報の分散処理のための方法および装置 | |
JPH08235021A (ja) | オブジェクト指向システムにおいてオブジェクトを視覚的にデバッグするための方法及びシステム | |
JPH1153116A (ja) | タッチパネル付き情報処理装置及びその制御方法 | |
Pike | 81⁄ 2, the Plan 9 Window System | |
JPH04312115A (ja) | コンピュータシステム | |
US7286974B2 (en) | Virtual PC printer driver | |
Cotton | Languages for graphic attention-handling | |
US6414695B1 (en) | System for adding function to an object oriented program through a computer controlled interactive display interface with alternate access to data in the object oriented program normally inaccessible through the interface | |
JP2003150405A (ja) | 機器組込みプログラムのデバッグ方法 | |
JP2001256072A (ja) | システムエミュレータ |