PS/2 キーボードの空きラインを制御する方法を教えてください。PS/2 キーボードは,6本の信号線を持つコネクターを使っていますが,そのうち実際に使われているのは4本で,残りの2本は特に定義されていないとされています(参照: http://www.atmarkit.co.jp/fpc/cableconnecter/kbd_mouse/ps2kbd.html)。

 いま,あるシステムを作る際に,この2本の信号をプログラムから制御したいと考えています。この点に関する情報を広くお待ちしています。「ここを読めばよい」というような関連情報でも構いません。英語の情報でも構いません。よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/07/05 11:20:27
  • 終了:2006/07/12 11:25:04

回答(4件)

id:dungeon-master No.1

dungeon-master回答回数571ベストアンサー獲得回数402006/07/05 12:24:34

ポイント23pt

Reservedの2番6番は、PS/2インターフェースの将来拡張のためにコネクタの物理

仕様上は予約されていますが、キーボードやマウスを接続する場合の電気仕様は

定義されていません。

つまり元々キーボードやマウスについてはGND,CLK,DATA,+5V の4線で十分で、

普通のマザーボードでは、このピンのI/Oをコントロールするチップなどは実装

されていないわけなので制御できないということです。


ただし、自己責任で改造するのであれば、このピンを使用することは可能です。

自分でコントロールできる信号をリード線で引いてきて、この2番6番ピンに

ハンダ付けすれば良いのです。(マザボ上でやるならパターン短絡等に十分注意)

両方とも信号線として使いたいなら、PS/2とGNDが共用できる信号線かどうかに

注意して下さい。セントロニクスのポートなら多分OKです。

(そこまでやるなら、コネクタだけミニDINを別に用意して、全ピン、セントロ等

から信号を引いてくるというのもありですね。キーボードは繋がりませんが。)


なお、ピンまで信号が出たとしても、その先のケーブルが2番6番を通して

くれる保証はありません。そちらも自作する必要があるでしょう。


一応参考として、OADG テクニカル・リファレンス H/W偏

http://www.oadg.or.jp/techref/oadghwd.pdf

id:systemyasan

ご回答ありがとうございます。

ただ,私の記憶では,一時期,PS/2 キーボードにつなぐ周辺機器があって,それはこの2本線を電気的に制御していたように思うのですが,違うでしょうか。

OADGなどで正式にはサポートしていなかったのかもしれませんし,機種依存性はあるかもしれませんが。

私の勘違いかもしれません。

引き続き,この件に関する情報をお待ちしています。

2006/07/05 16:59:13
id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/05 16:42:07

ポイント23pt

全ての装置では、ありませんがノートや、メーカ製のデスク

トップの一部の機種では全ての信号を使っています。

従って、全ての機種でまず使えるとは限りません。

http://h50221.www5.hp.com/CPO_TC/pc/doc/DTQA000115.html

キーボード・マウスの分岐ケーブルは昔からIBMから

提供されているので、実際ノート等ではデファクトなので

予備の2Pinに関しても使ってよいとは限らないのです。

最近は、パラレルポートもめったについていないので

どうしても制御したいのであれば、

USBのPIOボード

http://www.techw.co.jp/USBM3069Frm.htm

または、

USBのシリアル

http://www.amazon.co.jp/gp/product/B000A1G378/503-1763853-331750...

等を考えられた方がよいです。

id:systemyasan

なるほど。やはり,中には,全ての信号を使っている機種があるのですね。これら信号をプログラム(BIOSレベル,OSレベル,アプリレベルなど,どのレベルなのかは今は問わないことにします。)で制御したいのですが,その情報をご存知であれば教えていただければ助かります。

PIOボードなどを使えば出来ることはわかっているのですが,ある特殊なシステム設計上の理由があって,PS/2キーボードを制御したいと考えています。

ご回答ありがとうございました。

引き続き幅広く情報をお待ちしております。

2006/07/05 17:03:01
id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/05 17:27:36

ポイント22pt

>PS/2 キーボードにつなぐ周辺機器があって,

>それはこの2本線を電気的に制御していたように思うのですが

>,違うでしょうか

キーボードとの通信 i8042(互換チップ)経由でデータ

を送信して行っています。 みたことのあるのは、

 その間にはさみこむ製品しかありません。

信号の説明にありますが、基本は内部で接続されていない

 http://www.computer-engineering.org/ps2protocol/

http://www.asahi-net.or.jp/~WR7S-NKMR/MiddleWare/keyboard/

http://www.computer-engineering.org/ps2keyboard/

http://www.cqpub.co.jp/dwm/Contents/0071/dwm007100900.pdf

http://www.mars.dti.ne.jp/~tokoya/contest/PS2KB/readme.html

以前一部のキーボードでは特殊なデータを送ると

 キーボード内蔵のCPUがI/Oを制御できるものは

 ある事はあった。

もしどうしても制御したいのであれば

 利用しているマザーボードのSuper I/O Chipの予備ピン

 を探しだして、I/O制御用のプログラムを作成する

 しか手段はない。

id:systemyasan

おお,なるほど!

この手の情報を待っておりました。さっそく勉強致します。

たいへんありがとうございました。

やはりかなり機種依存性は強いようですが,それは今回,特殊なハードを指定すると言った方法で乗り切れるので,上記のような情報はたいへん助かります。

2006/07/05 17:39:10
id:dungeon-master No.4

dungeon-master回答回数571ベストアンサー獲得回数402006/07/10 19:58:53

ポイント22pt

ネガティブな意見ばかりで申し訳ないですが再回答です。


2番さんの回答にあるミニDIN1個からキーボードとマウスを分岐するタイプの

PCの場合、おそらく本来マウス用のミニDINに行くべきDATA線とCLK線が、

キーボード用ミニDINの空きピンに繋がっています。

(そうしないと標準BIOSや標準ドライバでマウスを制御できないので)

これは、部品点数とコネクタの専有スペースを減らすのが目的と思います。

このようなマザーなら、専用の補助装置ドライバ(マウスドライバもこの系統)を

作成することで2番6番を制御できると言えますが、結局マウス用の信号線を

流用しておりキーボード側DINの2番6番のための制御機能ではないです。

逆に、普通のマザーボードでも、マウス用ミニDINから出ているDATAとCLKの

信号線が装置側まで通るようにすれば同じことがやれます。

これなら、H/W的にはケーブルの細工で済みます。


何にしろ、メーカー独自に2番6番をコントロールしている場合、キーボード用

制御信号以外の何らかのI/Oが繋がっているはずで、それは普通に市販されている

マザーボードでは使えない方法です。(通常は物理的に結線されていないので)

キーボートとPCの間に入れる市販のデバイス(例えばバーコードスキャナ)などは、

キーボードに代わって通信しており、2番6番を使っているわけではないです。

(3番さんの『はさみこむ製品』もそうだと思います)


>特殊なハードを指定すると言った方法で乗り切れるので

『特殊なハード』とはPCマザボのことでしょうか。

市販DeskTop用やメーカーPC現行品でマッチするものはないような…

改造/特注になる気がします。

(ノートは最近PS/2自体ついていないものも多いですし)


なお、キーボード側コントローラチップに相当する部分のファームや、PC側の

ドライバも開発できるのであれば、PS/2コマンドを独自に拡張するという手も

ないこともないです。

3番さんの、

>以前一部のキーボードでは特殊なデータを送るとキーボード内蔵のCPUが

>I/Oを制御できるものはある事はあった。

が、該当するのではないかと思います。

OADG テクニカル・リファレンス(既出) http://www.oadg.or.jp/techref/oadghwd.pdf

の、4章の4(ページ番号4-7から)がコマンドの説明です。

2番6番は使用しなくて済みますが、ハードルは高くなります。


ところで、事情とはいえなぜキーボードI/Fでなくてはならないのでしょう…。

そのへん謎でした。

  • id:kurukuru-neko

    キーエンコーダ+多機能シリアルI/O
    http://www.techw.co.jp/KBM3694Frm.htm

    特注キーボード
    http://www.kt-kb.com/jp/index.html

    特殊キーボード
    http://www.xkeys.com/xkeys/xkstick.php

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません