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
Application number
JP3287620A
Other languages
English (en)
Other versions
JPH0797303B2 (ja
Inventor
Seri Joseph Jr
ジョセフ、セリ、ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0628080A publication Critical patent/JPH0628080A/ja
Publication of JPH0797303B2 publication Critical patent/JPH0797303B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program 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つをして特別の形で他のデー
タを演算しあるいは変換させるように特別に構成された
データである。アプリケーションプログラムは一般にユ
ーザがタイプしたデータまたはコマンドにもとづきアク
ションを行う。
【0004】キーボードのユーザとコンピュータとの間
の対話は従来通りであり当業者には明らかである。
【0005】ここでは本発明を実施するために使用しう
る代表的なシステムはパーソナルコンピュータのIBM
PS/2ラインまたはそれと互換性のあるものを含
む。これらシステムはキーボード装置ドライバーを有
し、ユーザーはキーボードを有さないコンピュータを選
び、そして本発明の実施のためにハンドプリント端末の
ような別の入力装置を代用する。
【0006】代用の入力装置での本発明の実施は、標準
的なキーボード装置の併用を妨げるものではないのであ
り、二つの形式の装置の同期化が後述するように本発明
により与えられるからである。
【0007】殆んどの場合、従来のソフトウェアアプリ
ケーションはオペレーティングシステムで与えられるキ
ーボード入力用のアプリケーションプログラミングイン
ターフェース(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に示されている。
【0009】同様のAPIを有する他のオペレーティン
グシステムの他の例はAT&TのUNIX,IBMのA
IX,マイクロソフトのXENIXおよびマッキントッ
シュのオペレーティングシステムを含むアップルのコン
ピュータオペレーティングシステムである。
【0010】
【課題を解決するための手段】それらより更に複雑な入
力装置が開発される場合にはオペレーティングシステム
で与えられるキーボードエミュレーションの必要性が生
じる。例えば、米国特許第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」は、それ
らタスクを行うに必要なインターフェースが文書化され
ないインターフェースであるから実行出来ない。それら
インターフェースが知られているとしてもオペレーティ
ングシステムレベルコードおよびインターフェースの内
部的ワーキングが変化するために避けることの出来ない
互換性エラーを生じさせることになる。
【0018】本発明は、例えば米国特許第456230
4号明細書に示されるようなシステムにおいて、その図
1の点71におけるハンドプリント端末の出力をオペレ
ーティングシステムにより与えられるキーボードエミュ
レーションインターフェースに送りそしてこのインター
フェースがそのデータをあたかも物理的なキーボードか
ら入ったかのようにオペレーティングシステムの他の部
分に送るごとくすることにより上記問題を解決する。こ
の場合、オペレーティングシステムはこのデータを当業
者に予測しうる既知のフォーマットでキーボード入力に
ついて登録されたアプリケーションに経路指定する。
【0019】本発明は例えば米国特許第4562304
号明細書に示される上記問題に対する解決法を与えるも
のである。
【0020】
【課題を解決するための手段及び作用】この発明はキー
ボードエミュレーション用のオペレーティングシステム
インターフェースを与える。本発明のこのインターフェ
ースは例えばハンドプリント端末、マウス、タッチスク
リーン、ライトペン、トラックボール等の他の入力装置
または純粋のソフトウェアシステムに関連して用いられ
たオペレーティングシステムへそしてアプリケーション
プログラムへ、あたかもキーボード入力装置から入った
かのように送られるキーボードデータを発生する。
【0021】本発明によれば中央処理ユニットとそれに
関連するメモリを有する処理手段を含むコンピュータシ
ステムが与えられる。ハードドライブまたはフロッピデ
ィスクのような入力および出力装置がこの中央処理手段
に従来のごとくに関連づけられる。更に、メモリ内のオ
ペレーティングシステムの動作によりプロセッサによっ
てデータに対し行われる変換の可視表示を行うための表
示手段が与えられる。キーボードのような第1入力手段
がオペレータコマンドおよびデータの入力を行う。これ
らコマンドはオペレーティングシステムでのオペレーシ
ョンを介して処理手段と入力/出力手段とによりシステ
ム内の他のデータについての演算または変換を行うため
に選ばれたデータフォームをもつことによりデータとは
区別される。メモリはそこに記憶されるデバイスドライ
バソフトウェアで構成され、このソフトウェアはプロセ
ッサとの対話によりキーボードからの入力コマンドとデ
ータをそれにより処理された他のデータと両立しうるよ
うに処理するためのものである。本発明はまたキーボー
ド以外の第2の入力装置を与えると共に、メモリは、こ
の第2入力装置からの入力コマンドとデータをプロセッ
サとの対話により処理するキーボードデバイスドライバ
エミュレーションプログラムで構成される。第2入力装
置からの入力コマンドとデータはそれにより処理される
他のデータと両立しうるようにあたかもキーボードから
入ったかのごとくに処理される。
【0022】この第2入力装置はハンドプリント端末、
ソフトウェアアプリケーション、ライトペン、タッチス
クリーンまたはトラックホールでよい。更に、キーボー
ドデバイスドライバエミュレータはオペレーティングシ
ステムのカーネル(kernel)とは別の第2入力装置から
のコマンドおよびデータをそれらがあたかもキーボード
で発生されたかのようなフォーマットでオペレーティン
グシステムに対し処理するように構成される。
【0023】他の観点によれば本発明はキーボードでは
ない入力装置を有するコンピュータシステムの動作方法
に関する。本発明の方法は入力装置からのデータとコマ
ンドを受ける段階およびそれらデータとコマンドをあた
かもキーボードで発生されたかのように変換する段階を
含む。変換されたデータとコマンドはコンピュータシス
テムに送られそこであたかもキーボード入力装置により
発生されたかのごとくに処理される。
【0024】
【実施例】本発明の説明においてはそれがIBM OS
/2オペレーティングシステムを例として用いるものと
して示されているが、本発明の特徴は前述のように他の
オペレーティングシステムでも使用出来るものである。
【0025】ここで用いるダイアグラム、フローチャー
トおよびアルゴリズムは本発明を実施する上で最適なも
のである。ここでは本発明は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の例
はハンドプリント端末、ライトペン、タッチスクリー
ン、トラックボール等である。そのようなシステムの一
般的な動作およびそのコンポーネント間の対話は従来の
ごとくであり、当業者には周知である。
【0027】図2は代表的なアーキテクチャおよびキー
ボードソフトウェアデバイスドライバをもつキーボード
でキーが押された時点でスタートするキーストロークデ
ータについてのパスを示す。そのようなデータはオペレ
ーティングシステム処理されてアプリケーションプログ
ラムに送られ、従来のごとくにそれにもとづく動作を行
う。
【0028】IBM OS/2オペレーティングシステ
ムは多重タスクオペレーティングシステムであるから、
キーストロークデータの最終宛先は他の多重タスクオペ
レーティングシステムにおけるように変化する。キーボ
ードデータについての宛先の決定に用いられるアルゴリ
ズムはセッションタイプの値を用いる。セッションタイ
プの値は、オペレーティングシステムにより用いられて
プロセスが走行中の動作モードを識別するための数であ
る。インテル80386プロセッサで走行するIBM
OS/2における代表的なセッションのタイプは次の通
りである。
【0029】OS/2全画面: このセッションは図2
に示す表示管理プログラム23をもちいずにインテル8
0386マイクロプロセッサの保護モードで走行する。
表示管理プログラム23はシステムの入力および可視出
力を制御する円形ユーザインターフェースであって周知
のものである。
【0030】OS/2ウインドー: このセッションは
表示管理プログラム23を用いたインテル386マイク
ロプロセッサの保護モードで進行する。
【0031】DOS全画面: このセッションは表示管
理プログラム23を用いずにインテル80386マイク
ロプロセッサの仮想8086モードで走行する。
【0032】DOSウインドー: このセッションは表
示管理プログラム23を用いたインテル80386マイ
クロプロセッサの仮想8086モードで走行する。
【0033】これらセッションとその動作の詳細はOS
/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頁に示されている。
【0035】現在実行中のセッションタイプ値である前
景セッションタイプにもとづき、キーストローク情報は
仮想キーボードデバイスドライバ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に示されている。
【0037】前景セッションが仮想DOSウインドーま
たはOS/2ウインドであれば、そのキーストローク情
報は表示管理プログラム23に送られる。このプログラ
ム23は前述のキーストロークデータレコードの形でこ
のキーストローク情報を用いてそれを、例えば1989
年の「Programming OS/2 Presentation Manager 」の第
8章に示されるようなメッセージフォーマットにパッケ
ージ化する。
【0038】前景セッションのタイプがOS/2全画面
セッションであれば、前景セッションで走行するアプリ
ケーションプログラム27がモニタディスパッチャ25
を介して間接的にキーボードデータを要求しているかど
うかのチェックのためのテストを行う。そうであればキ
ーストローク情報はキーストロークデータレコードの形
でモニタディスパッチャ25に送られる。モニタディス
パッチャ25はこのキーストローク情報をアプリケーシ
ョンプログラム27に送る。
【0039】前景セッションがOS/2全画面セッショ
ンでありそしてモニタデイスパッチャ25を介して間接
的にキーストローク情報を要求するアプリケーションプ
ロセスを有しない場合には、キーストローク情報はキー
ボード入力バッファ24に送られる。キーボード入力バ
ッファ24はソフトウェアFIFO待ち行列であり、そ
こにキーボードデータレコードが記憶される。アプリケ
ーションプログラム27がキーボードデータ更新のため
登録されると、それらはキーストローク情報を受ける。
【0040】以上から明らかなように、キーボードをエ
ミュレートするためのシステムの実施には通常非常に複
雑なソフトウェアおよびハードウェアの対話をアドレス
する必要がある。図3に示すように本発明によれば図2
の従来の機構がキーボードエミュレーションインターフ
ェース36を設けることにより改善される。キーボード
エミュレーションインターフェース36はキーボード状
の生データを実際のキーボードハードウェア30を必要
とせずにオペレーティングシステムに送る能力を例えば
ハンドプリント端末31あるいは純ソフトウェアシステ
ム32または他の装置33のような別の装置に与えるも
のである。
【0041】このキーボードエミュレーションインター
フェース36は別の入力装置と通信するソフトウェア層
34から呼び出される。キーボードエミュレーションイ
ンターフェース36は純ソフトウェアシステム32によ
っても使用されうる。
【0042】キーボードエミュレーションを与えるため
に本発明を使用しうる純ソフトウェアシステムの一例は
米国特許第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を呼
び出す。
【0044】本発明は図4,5に詳細に示してあり、こ
れら図は使用されるアルゴリズムを扱いそして図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へと移る。
【0046】チェック60が行われてこの宛先セッショ
ン番号が前景であるかどうかをチェックする。このセッ
ション番号が前景でなければ宛先セッション制御ブロッ
クが61で得られる。各セッションは固有の制御ブロッ
クが割当てられる。宛先セッション制御ブロックは62
において前景セッションの制御ブロックポインタを更新
しそして現セッション番号値を更新することによりアク
ティブとされる。スキャンコードプロセッサが63で呼
び出される。呼出しからスキャンコードプロセッサ63
にもどることにより、その状態が64ではじめての状態
にリセットされ、実前景セッション制御ブロックがアク
ティブとされ現セッション番号値が更新されたことにな
る。そして制御は前述のように65で呼出しにもどされ
る。
【0047】セッション番号が60でのチェック時に前
景であれば、スキャンコードプロセッサが66で呼出さ
れる。制御は呼出し67にもどされる。
【0048】図3はどのようにしてキーボードエミュレ
ーションインターフェース36が制御をスキャンコード
プロセッサ37に送るかを示す。ここで二重線で囲まれ
るすべてのものは図2のそれと同一である。キーボード
エミュレーションインターフェース36は前述のすべて
の問題を解決する。このインターフェースは図2と3の
二重線で囲まれる従来の技術に付加されて別の入力装置
または純ソフトウェアシステムに完全キーボードエミュ
レーションを与えるシームレスな解決法である。
【0049】
【発明の効果】本発明の効果はアプリケーションプログ
ラム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】中央処理ユニットおよびそれに関連するメ
    モリを有する処理手段と;上記処理手段に対しおよびそ
    れからデータを伝送するための入力/出力手段と;上記
    メモリ内のオペレーティングシステムの動作を介して上
    記処理手段によりデータについて行われる変換の表示を
    可視表示するための表示手段と;上記処理手段と入力/
    出力手段に選ばれたマナーで協同動作させるためのデー
    タを含むオペレータコマンドの入力用のキーボードを含
    む第1入力手段とを備え、 上記メモリは、上記処理手段との対話を介して他のデー
    タと両立しうるように上記キーボードからの入力コマン
    ドとデータを処理するためのキーボード装置ドライバー
    手段で形成されており、 さらに、キーボードを含まず、キーボード装置ドライバ
    ーエミュレーション手段で形成される上記メモリを含
    み、上記処理手段との対話を介して、その入力コマンド
    とデータを、それらが処理される他のデータと両立しう
    るようにあたかもキーボードにより伝送されたかのごと
    くに処理するための第2入力手段を備える、コンピュー
    タシステム
  2. 【請求項2】前記第2入力手段はハンドプリント端末装
    置を含む請求項1のシステム。
  3. 【請求項3】前記第2入力手段はソフトウェアアプリケ
    ーションを含む請求項1のシステム。
  4. 【請求項4】前記第2入力手段はライトペンを含む請求
    項1のシステム。
  5. 【請求項5】前記第2入力手段はタッチスクリーンを含
    む請求項1のシステム。
  6. 【請求項6】前記第2入力手段はトラックボールを含む
    請求項1のシステム。
  7. 【請求項7】前記キーボード装置ドライバーエミュレー
    ション手段は前記第2入力手段からのコマンドとデータ
    を前記オペレーティングシステムとは無関係にそれらコ
    マンドとデータがキーボードで発生されたかのようにす
    るフォーマットで上記オペレーティングシステムに対し
    処理する請求項1のシステム。
  8. 【請求項8】下記段階を含む、キーボードではない入力
    装置を有するコンピュータシステムを動作させる方法:
    上記入力装置からデータおよびコマンドを受ける段階;
    このデータおよびコマンドをあたかもキーボードで発生
    されたかのように変換する段階;この変換されたデータ
    とコマンドを上記コンピュータシステムに送りそれにも
    とづき上記データとコマンドがキーボード入力装置から
    発生されたかのごとくに動作させる段階。
JP3287620A 1990-12-18 1991-11-01 コンピュータシステム及びそれを動作させる方法 Expired - Lifetime JPH0797303B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) システムエミュレータ