人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PS/2 キーボードの空きラインを制御する方法を教えてください。PS/2 キーボードは,6本の信号線を持つコネクターを使っていますが,そのうち実際に使われているのは4本で,残りの2本は特に定義されていないとされています(参照: http://www.atmarkit.co.jp/fpc/cableconnecter/kbd_mouse/ps2kbd.html)。
いま,あるシステムを作る際に,この2本の信号をプログラムから制御したいと考えています。この点に関する情報を広くお待ちしています。「ここを読めばよい」というような関連情報でも構いません。英語の情報でも構いません。よろしくお願い致します。

●質問者: systemyasan
●カテゴリ:コンピュータ
✍キーワード:PS/2 キーボード コネクター システム プログラム
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● dungeon-master
●23ポイント

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

◎質問者からの返答

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

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

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

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

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


2 ● kurukuru-neko
●23ポイント

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

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

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

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...

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

◎質問者からの返答

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

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

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

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


3 ● kurukuru-neko
●22ポイント

>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制御用のプログラムを作成する

しか手段はない。

◎質問者からの返答

おお,なるほど!

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

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

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


4 ● dungeon-master
●22ポイント

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


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でなくてはならないのでしょう…。

そのへん謎でした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ