JPH06309079A - 仮想計算機におけるキーボード制御方式 - Google Patents

仮想計算機におけるキーボード制御方式

Info

Publication number
JPH06309079A
JPH06309079A JP5092711A JP9271193A JPH06309079A JP H06309079 A JPH06309079 A JP H06309079A JP 5092711 A JP5092711 A JP 5092711A JP 9271193 A JP9271193 A JP 9271193A JP H06309079 A JPH06309079 A JP H06309079A
Authority
JP
Japan
Prior art keywords
input
key
machine
target machine
key code
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
JP5092711A
Other languages
English (en)
Inventor
Yoshihiko Kunimori
義彦 國森
Yoshihiro Yamada
善弘 山田
Koichi Hibi
浩一 日比
Teiji Kuwabara
禎司 桑原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5092711A priority Critical patent/JPH06309079A/ja
Publication of JPH06309079A publication Critical patent/JPH06309079A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

(57)【要約】 【構成】キー入力のエミュレーションを行う際に、本発
明では、KBコントローラとの通信等のインタフェース
処理を新たに作成せず、ベースマシン、及びターゲット
マシンの入力ファンクション処理を用いる方式とした。 【効果】本発明によれば、エミュレーション処理部の開
発労力の削減が図れると共に、エミュレーション処理部
はKBコントローラ等のハード仕様が変更となっても影
響を受けないため、汎用性の高いキー入力エミュレーシ
ョンが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はパーソナルコンピュータ
やワークステーション等において、異なるアーキテクチ
ャを持つ複数の異機種間でのアプリケーションプログラ
ム等の互換性を保つ仮想計算機エミュレーション方式に
関する。
【0002】
【従来の技術】パーソナルコンピュータ(以下、パソコ
ン)等の情報処理装置では、各メーカが独自性を表した
結果、数多くのアーキテクチャが存在している。例え
ば、キーボードに関しても、表記の異なるキートップを
持つものや、キー配置の異なる機種が多く見受けられ
る。
【0003】これらのハードウェア、もしくは、ソフト
ウェアの構成が機種間で異なるため、それぞれの機種用
に開発されたアプリケーションソフト間での互換性はな
い。そのため使用者は、自分の使用したいアプリケーシ
ョンソフトが動作する装置を新たに購入したり、あるい
は、既に所有している装置の上で動作するようにアプリ
ケーションソフトを改造、移植しなければならない。
【0004】この様な問題に対し、ある特定の機種(以
下、ベースマシン)上で、異なるアーキテクチャをもつ
他の機種(以下、ターゲットマシン)との互換性を保と
うとする試みは、所謂、仮想計算機として古くから大型
コンピュータで行なわれ、近年ではパソコンのレベルに
まで応用されるようになってきている。
【0005】パソコン上で仮想計算機を実現するために
は、例えば、キー入力では、キーを押した場合(以下、
押下)にキーボードから得られ、アプリケーションソフ
トに伝送されるキーコードがターゲットマシン用のキー
コードに変換されなければならない。このキー入力処理
のエミュレーション処理については特開昭62-279431号
公報に開示されている。
【0006】
【発明が解決しようとする課題】ここで、キー入力処理
のメカニズムの概略を図3、図4、図6、図7を用いて
説明する。図3はベースマシンのキー入力に関するソフ
ト構造を、図4はターゲットマシンのキー入力に関する
ソフト構造を示し、図6はベースマシンのキーデータの
流れを、図7はターゲットマシンのキーデータの流れを
図示している。
【0007】図3において、10はベースマシンのアプ
リケーション(以下、ベースマシンAP)、9はベース
マシンのオペレーティングシステム(以下、ベースマシ
ンOS)、8はベースマシン入力ドライバ、6はベース
マシン入力ファンクション処理、7はベースマシン入力
ハード処理、11はキーボードコントローラ(以下、K
Bコントローラ)、12はキーボード(以下、KB)で
ある。
【0008】また、図6で、23はベースマシンKBイ
ンタフェース、20はベースマシンキーバッファであ
り、その他、図3と同一ブロックは説明を省略する。
【0009】一方、図4において、5はターゲットマシ
ンのアプリケーション(以下、ターゲットマシンAP
t)、4はターゲットマシンのオペレーティングシステ
ム(以下、ターゲットマシンOSt)、17はターゲッ
トマシン入力ドライバ、3はターゲットマシン入力ファ
ンクション処理、16はターゲットマシン入力ハード処
理、18はターゲットマシンのキーボードコントローラ
(以下、ターゲットマシンKBコントローラ)、19は
ターゲットマシンのキーボード(以下、ターゲットマシ
ンKB)である。
【0010】また、図7で、24はターゲットマシンK
Bインタフェース、21はターゲットマシンキーバッフ
ァであり、その他、図4と同一ブロックは説明を省略す
る。
【0011】図3、図6において、KB12のキーを押
下するとKBコントローラ12はどのキーが押されたの
か判断し、ベースマシン入力ドライバ8にハード割込み
処理を要求する。この要求に対し、ベースマシン入力ハ
ード処理7内のベースマシンKBインタフェース23は
KBコントローラ11とシリアルデータ通信を行い、キ
ーコードを得て、ベースマシンキーバッファ20に格納
し、ハード割込み処理を終了する。
【0012】一方、ベースマシンAP10が文字入力を
必要とするときは、直接、もしくは、ベースマシンOS
9を介して、ベースマシンAP10は、ベースマシン入
力ドライバ8内のベースマシン入力ファンクション処理
6のキーコード取得処理を用いて、ベースマシンキーバ
ッファ20からキーコードを取得する。
【0013】図4、図7におけるキー入力に関する処理
も図3と同様であり、説明は省略する。
【0014】次に、仮想計算機の実現において、特開昭
62-279431号公報に開示されているキーボード制御部を
エミュレーションする方式について説明する。該エミュ
レーション方式はターゲットマシンの入力ドライバをベ
ースマシン上に移植する方式であり、図2にそのソフト
構造を示す。
【0015】図2で15は移植入力ドライバ、13は移
植入力ファンクション処理、14は移植入力ハード処理
であり、その他の図3と同一ブロックは説明を省略す
る。
【0016】図2で、ベースマシンAPを動作させると
きは、図3と同じ環境とされ、図3で説明したベースマ
シンとしてのキー入力処理が行われる。
【0017】一方、ターゲットマシンAPtを動作させ
るときは、ベースマシン上でキー入力処理が正常に行わ
れるように、図4のターゲットマシン入力ドライバ17
をベースマシン上に移植する。図2の移植入力ハード処
理14はKBコントローラ11からキーコード受信可能
とするために、シリアルデータ通信の通信条件を整合す
ると共に、ターゲットマシンのキーコードを発生するよ
うに、コード変換し、キーバッファに格納出来るように
変更されている。
【0018】上記のKBコントローラ11との通信条件
を整合するための変更は、一般的には、通信条件に合わ
せて、新規に通信ソフトを作成することであり、データ
転送のタイミングを合わせるなどハード面での検討を必
要とし、開発に多大な労力を必要とするという問題点が
ある。
【0019】
【課題を解決するための手段】上記問題の原因は、KB
コントローラ11との通信を行っているターゲットマシ
ン入力ハード処理16を変更して、エミュレーションし
たためである。
【0020】よって、この問題を解決するために、KB
コントローラ11との通信を行っているベースマシン入
力ハード処理7をそのまま使用し、ベースマシン入力ハ
ード処理7よりも上位の処理部を変更し、エミュレーシ
ョンすることとする。
【0021】また、キーバッファからのベースマシンの
キーコード取得もベースマシン入力ファンクション処理
6を使用して実施することとする。
【0022】
【作用】前述の方式とすることで、KBコントローラ1
1との通信ソフトの開発が無くなり、エミュレーション
に要する開発労力の削減が可能となる。
【0023】さらに、KBコントローラ11より下層の
ハード的な要因とエミュレーションが切り離され、ベー
スマシンのKBコントローラ11より下層のハード仕様
が変更となっても影響を受けないため、汎用性の高いキ
ー入力処理のエミュレーションが可能となる。
【0024】
【実施例】以下、図面を用いて本発明の実施例を説明す
る。
【0025】図1、図8に本発明の一実施例を示し、図
1は本発明のキー入力に関するソフト構造を、図8は本
発明のキーデータの流れを説明するものである。
【0026】図1で3は入力ドライバエミュレータ、2
はターゲットマシン入力ファンクション処理、1は入力
ハード処理エミュレータである。
【0027】図1、図8で、ターゲットマシンAPt5
が文字入力要求を出すと、ターゲットマシン入力ファン
クション処理2が起動される。このターゲットマシン入
力ファンクション処理2の呼出しをトラップし、引き続
き入力ハード処理エミュレータ1を起動する。入力ハー
ド処理エミュレータ1は、ベースマシン20にベースマ
シンKBインタフェース7によって、予め格納されてい
たキーコードをベースマシン入力ファンクション処理6
によって取得する。次に、取得したベースマシンのキー
コードから変換テーブルを参照にターゲットマシンのキ
ーコード、または、ステータスを発生し、ターゲットマ
シン入力ファンクション処理2に返す。ターゲットマシ
ン入力ファンクション処理2はキーコード、または、ス
テータスを要求元のターゲットマシンAPt5に受け渡
すことでキー入力のエミュレーションが終了する。
【0028】ここで、前述のトラップの処理について以
下に説明する。
【0029】ターゲットマシン入力ファンクション処理
2が呼び出しは、ターゲットマシン入力ファンクション
処理2に対応するパラメータを設定後、ソフトウェア割
込みによって行われる。 通常、ソフトウェア割込みが
発行されると、処理実行のために、該処理の格納されて
いるアドレスを割込みベクタテーブルの参照により求
め、該アドレスへジャンプし、実行する。よって、該割
込みベクタテーブルの参照アドレスを予め書替え、入力
ハード処理エミュレータ1の格納されているアドレスと
しておくことで、ターゲットマシン入力ファンクション
処理2が実行される前に、入力ハード処理エミュレータ
1が実行可能となる。この一連の処理をトラップと呼ぶ
こととする。
【0030】ベースマシンAPを動作させるときは、図
3と同じ環境とされ、図3で説明したベースマシンとし
てのキー入力処理が行われる。
【0031】図1、図8の実施例によれば、ベースマシ
ンのキーコード取得はベースマシン入力ファンクション
処理6により行う。一方、ターゲットマシンAPt5の
文字入力要求に対するターゲットマシンのキーコード、
ステータスの受渡し処理は、ターゲットマシン入力ファ
ンクション処理2を用いることでキー入力のエミュレー
ションが実現出来る。このため、入力ハード処理エミュ
レータ1は、ベースマシン入力ファンクション処理6と
ターゲットマシン入力ファンクション処理2の間のデー
タ受渡し処理を行うだけでよく、KBコントローラ11
とのインタフェースに関するソフト(通信ソフト)を開
発する場合と比較し、エミュレーションが容易である。
【0032】次に図5により本発明におけるキー入力の
処理概略を説明する。
【0033】KB12のキー押下によりKBコントロー
ラ11は、ベースマシン入力ドライバ8にハード割込み
処理を要求する。
【0034】この要求に基づき、ベースマシン入力ハー
ド処理7は、KBコントローラ11とシリアルデータ通
信を行い、押下されたキーのコードを受信(55)し、
ベースマシンキーバッファ20に格納(56)し、ハー
ド割込み処理を終了する。
【0035】一方、ターゲットマシンAPt5が、直
接、もしくは、ターゲットマシンOSt4を介して、文
字入力要求を出すこと(50)で、ターゲットマシン入
力ファンクション処理2が呼び出される。
【0036】該ターゲットマシン入力ファンクション処
理2の呼び出しをトラップし、引き続き入力ハード処理
エミュレータ1を起動する。
【0037】入力ハード処理エミュレータ1では、最初
にベースマシン入力ファンクション6により、ベースマ
シンキーバッファ20から、ベースマシンのキーコード
を取得する。次に変換テーブル参照により、ベースマシ
ンのキーコードからターゲットマシンキーコード、また
は、ステータスを発生(53)した後、ターゲットマシ
ン入力ファンクション処理2にキーコード、ステータス
を返し、入力ハード処理エミュレータ1の処理を終了す
る。
【0038】該キーコード、ステータスはターゲットマ
シン入力ファンクション処理2に返されることで、文字
要求元のターゲットマシンAPt5に受渡される。
【0039】次に図9に入力ハードエミュレータ1の処
理の実施例を示す。
【0040】ここで、入力ハードエミュレータ1処理
で、留意する点があるため、以下に説明する。
【0041】それは、ターゲットマシンAPt5の文字
入力要求で、キーコードだけでなく、ステータスを要求
するものがある場合のステータス取得法についてであ
る。
【0042】ステータスは、シフトキーが押下されてい
る時に、入力ファンクション処理の機能を起動すれば、
取得可能である。しかし、キーバッファに格納されてし
まったキーコードを後程、新たに読み出す場合、その時
点では、既にシフトキーの状態が変化しているため、入
力ファンクション処理の機能を起動しても、希望とする
ステータスを取得することが出来ない。
【0043】よって、この問題の解決法を図9を用いて
説明する。
【0044】図9で、ターゲットマシンAPt5の文字
入力要求による、ターゲットマシン入力ファンクション
処理2の呼出しをトラップ(51)し、引き続き入力ハ
ード処理エミュレータ1を起動する。次に、ベースマシ
ン入力ファンクション処理6を用いて、ベースマシンキ
ーバッファ20にキーコードが格納されているか確認
(57)する。該確認からキーコードの有無によって、
次の処理へ分岐させる(58)。まず、キーコードがな
い場合、エミュレーション処理が不要であるから、ター
ゲットマシン入力ファンクション処理2に"キーコード
無し"を返し、処理を終了する。
【0045】一方、キーコードが格納されている場合、
ターゲットマシン入力ファンクション処理2を用いて、
ベースマシンキーバッファ20からキーコードを取得
(59)する。
【0046】次に、変換テーブルを参照し、該取得キー
コードからターゲットマシン用のキーコード、または、
ステータスを発生(60)させ、ターゲットマシン入力
ファンクション処理2へ返し(61)、入力ハード処理
エミュレータ1の処理を終了する。
【0047】上記図9の(60)では、ベースマシンの
キーコードから変換テーブル参照によって、ターゲット
マシン用のステータスを発生させることで、入力ファン
クション処理では取得不可能であったステータスの取得
を可能としている。
【0048】ここで、(60)でベースマシンのキーコ
ードからターゲットマシン用のステータスを得る方法に
ついて、表1、図10を用いて説明する。
【0049】
【表1】
【0050】表1は、IBMのPC/ATパソコンでのキーコー
ド対応表であり、図10は、ターゲットマシンのキーコ
ード、ステータス発生のための変換テーブルである。
【0051】表1に示すように、シフトキーの押下、開
放に対応してキーコードが変わっている。よって、図1
0のようにベースマシンのキーコードをアドレスとし、
データにターゲットマシンのキーコード、及び、ステー
タスを割り当てた変換テーブルを作成し、参照する事で
前記(60)の処理が実現出来る。図10の実施例で
は、ステータスが、シフトキーの状態を8個まで表示可
能としており、"1"は"押下"に対応させ、"0"は"開放"に
対応させている。
【0052】なお、表1、図10では、IBMのPC/ATパソ
コンについて述べているが、これは、本発明の実施範囲
を限定するものではなく、シフトキーの押下、開放に対
応してキーコードが変わるシステムであれば実施可能で
ある。
【0053】
【発明の効果】ベースマシン上で、ターゲットマシンの
アプリケーションを動作可能するため、キー入力のエミ
ュレーションを行う際に、本発明によれば、KBコント
ローラとの通信等のハード部とのインタフェース処理を
新たに作成せず、ベースマシン、及び、ターゲットマシ
ンの入力ファンクション処理を用いる方式とした。
【0054】上記構成とすることで、エミュレーション
処理部の開発労力の削減が図れると共に、エミュレーシ
ョン処理部はKBコントローラ等のハード仕様が変更と
なっても影響を受けないため、汎用性の高いキー入力エ
ミュレーションが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例を説明する図である。
【図2】従来例を説明する図である。
【図3】ベースマシンの入力処理システム階層構造図で
ある。
【図4】ターゲットマシンの入力処理システム階層構造
図である。
【図5】本発明の処理概要を説明する図である。
【図6】ベースマシンの入力処理に於けるデータの流れ
を説明する図である。
【図7】ターゲットマシンの入力処理に於けるデータの
流れを説明する図である。
【図8】本発明の入力処理に於けるデータの流れを説明
する図である。
【図9】入力ハード処理エミュレータの一実施例を説明
する図である。
【図10】ターゲットマシンのキーコード、ステータス
を発生するための変換テーブルの実施例を説明する図で
ある。
【符号の説明】
1…入力ハード処理エミュレータ、 2…ターゲットマシン入力ファンクション処理、 3…入力ドライバエミュレータ、 4…ターゲットマシンOSt、 5…ターゲットマシンAPt、 6…ベースマシン入力ファンクション処理、 7…ベースマシン入力ハード処理、 8…ベースマシン入力ドライバ、 9…ベースマシンOS、 10…ベースマシンAP、 11…KBコントローラ、 12…キーボード、 13…移植入力ファンクション処理、 14…移植入力ハード処理、 15…移植入力ドライバ、 16…ターゲットマシン入力ハード処理、 17…ターゲットマシン入力ドライバ、 18…ターゲットマシンKBコントローラ、 19…ターゲットマシンKB、 20…ベースマシンキーバッファ、 21…ターゲットマシンキーバッファ、 23…ベースマシンKBインタフェース、 24…ターゲットマシンKBインタフェース。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 日比 浩一 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 桑原 禎司 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションソフトの文字入力要求に
    対し、キーバッファからキーコードを読み取り、要求元
    に返す処理(以下、入力ファンクション処理)と、押さ
    れたキーのコードをキーボードから受取り、キーコード
    として、キーバッファに格納する処理(以下、入力ハー
    ド処理)から成るキー入力処理を管理する入力ドライバ
    を備えた第一のアーキテクチャの機種(以下、ベースマ
    シン)上で、前記ベースマシンと同様の構成ではある
    が、仕様の異なる入力ドライバを備えた第二のアーキテ
    クチャ(以下、ターゲットマシン)上で開発されたアプ
    リケーションソフトを動作可能とするために、入力ハー
    ド処理エミュレーション手段を設け、該アプリケーショ
    ンソフトからの文字入力要求によるターゲットマシンの
    入力ファンクション処理呼出し毎、該入力ファンクショ
    ン処理実行前に、ベースマシンの入力ファンクション処
    理を用いて、ベースマシンのキーバッファからキーコー
    ドを取得し、該キーコードをターゲットマシン用のキー
    コード、または、ステータス(シフトキー[予め押して
    おくことで、キーを押した場合に通常とはキーコードを
    変えることの出来るキー]の状態を表示する情報のこ
    と)に変換後、ターゲットマシンの入力ファンクション
    処理に返す(以下、入力ハード処理エミュレータ)処理
    を行うことで、文字入力要求元のアプリケーションソフ
    トへのキーコード、または、ステータスの受渡しを可能
    とすることを特徴とする仮想計算機におけるキーボード
    制御方式。
  2. 【請求項2】請求項1における入力ハード処理エミュレ
    ータにおいて、シフトキーの押されているか、離されて
    いるかの状態取得をベースマシンのキーコードから判定
    する手段を設けたことを特徴とする仮想計算機における
    キーボード制御方式。
JP5092711A 1993-04-20 1993-04-20 仮想計算機におけるキーボード制御方式 Pending JPH06309079A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5092711A JPH06309079A (ja) 1993-04-20 1993-04-20 仮想計算機におけるキーボード制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5092711A JPH06309079A (ja) 1993-04-20 1993-04-20 仮想計算機におけるキーボード制御方式

Publications (1)

Publication Number Publication Date
JPH06309079A true JPH06309079A (ja) 1994-11-04

Family

ID=14062057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5092711A Pending JPH06309079A (ja) 1993-04-20 1993-04-20 仮想計算機におけるキーボード制御方式

Country Status (1)

Country Link
JP (1) JPH06309079A (ja)

Similar Documents

Publication Publication Date Title
EP0192924B1 (en) Device driver and adapter binding technique
US5261079A (en) Interface for keyboard emulation provided by an operating system
JPH0795314B2 (ja) 周辺装置支援システム
US4782442A (en) Time-sharing computer system operable in a host TSS mode and a terminal TSS mode
US7055026B2 (en) Method and system for a portable adaptable operating environment identity
JPH0690697B2 (ja) コンピュータ・システムおよびその動作方法
US5630074A (en) Inter-program communication and scheduling method for personal computers
US5887169A (en) Method and apparatus for providing dynamic entry points into a software layer
JPH06100956B2 (ja) ポインタ制御を行うための装置
JPH05216689A (ja) コンピュータ装置およびコンピュータ装置を動作させる方法
JP2009506467A (ja) 仮想マシンにおける並行タスクのためのイベント処理
US5673418A (en) Method and apparatus for emulating the operations of an emulated system terminal driver on a host system
US6853868B1 (en) Cross-platform audio feedback for GUI components
JPH06309079A (ja) 仮想計算機におけるキーボード制御方式
JP3033713B2 (ja) 仮想計算機エミュレート装置
JP2999516B2 (ja) 端末装置のための文字出力制御方法および装置
JPH06295217A (ja) 仮想計算機のキーボード制御方式
JPH1069393A (ja) 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体
US5867671A (en) Virtual device for performing an operation in response to a SCSI command different than the operation of a SCSI device responding to the SCSI command
JP3137094B2 (ja) シミュレーション方法、シミュレーション装置及びその記録媒体
JPH0713672A (ja) 仮想計算機のキーボード制御方式
JPS6225334A (ja) 命令処理方式
EP0664509A1 (en) Method and apparatus for passing control from a first process to a second process
JP2003134037A (ja) ダウンローダアプリケーションプログラム
JPH04358258A (ja) サーバ・クライアント型数値計算方式