Microsoftマウスに付属していたUSB-to-PS/2アダプターの本当の役割
(devblogs.microsoft.com)- 初期のUSB時代、Microsoftのマウスには、USB Type-AをPS/2プラグのように接続できる小さな緑色のアダプターがよく付属していた
- USBとPS/2は完全に異なるプロトコルであり、このアダプターだけで信号変換が行われるわけではなかった
- アダプター内部には回路がなく、片側のピンをもう片側のピンにつなぐ受動的な物理アダプターに近かった
- 実際の切り替えは、マウスがピン上のUSB方式の信号とPS/2方式の信号を検知し、自ら動作モードを切り替える仕組みだった
- 引き出しの中から見つけたアダプターを汎用コンバーターとして使うのは難しく、動作するかどうかは相手側のデュアルバスマウスに依存する
USB-to-PS/2アダプターがしていたこと
- 初期のUSB時代、Microsoftのマウス製品では、ケーブルの先端にUSBプラグが付いていながら、これをPS/2プラグ形状に変える小さな緑色のアダプターが同梱されていることが多かった
- このアダプターはUSBとPS/2の間でプロトコルを翻訳していたわけではない
- 両者はどのような意味でも直接互換ではない、別個のプロトコルである
変換を担っていたのはアダプターではなくマウス
- アダプターは純粋に機械的・受動的な装置だった
- 片方のピンセットをもう片方のピンセットに接続する
- 内部に回路はない
- 信号の解釈やプロトコル変換の機能はない
- 実際の判定はマウス内部で行われていた
- マウスはピン上でUSBに似た信号を受けているか、PS/2に似た信号を受けているかを検知する
- 検知結果に応じて、マウスが自身の動作方式を切り替える
- そのため、変換機能はアダプターではなくマウス側の実装に依存していた
電源プラグアダプターに近い仕組み
- この方式は、国ごとに異なる電源プラグ形状を変換する安価な電源コンセントアダプターに似ている
- コンセントアダプターにも知能はなく、片側のプラグをもう片側のプラグに物理的につなぐだけである
- 実際の互換性の処理は、機器本体またはその機器の電源アダプターが担う
汎用マウスコンバーターと誤解しやすい理由
- 引き出しの中からこうしたUSB-to-PS/2アダプターを見つけても、汎用マウスアダプターと見なすことはできない
- 物理的な接続を変えるだけの部品なので、接続されるマウスが両方式をサポートしていなければ動作しない
- 実際の変換は、反対側に接続されたデュアルバスマウスで行われる
現在販売されている類似アダプターを見る際の注意点
- インターネット検索の結果、現在でもこの種のマウスアダプターを作っている人たちがいる
- 購入可能な製品が、PS/2とUSBの信号プロトコルを翻訳するスマートアダプターなのか、それともマウス側が変換を担う前提の純粋な機械式アダプターなのかははっきりしない
1件のコメント
Hacker News の意見
うわ、本当に昔を思い出す。2000年か2001年ごろ、プレゼントで光学式マウスをもらったのだが、機械式マウスで StarCraft をやるのがかなり苦痛だったので、ずっと前から欲しかったものだった。
当然 USB マウスで、自分のコンピューターには PS/2 しかなかった。アダプターを買ったが、複数の PC とマウスで長時間試してもまったく動かなかった。
結局、電子機器の修理店に持っていったところ、中を開けて見て、実際の USB 対応回路はなく配線をつないであるだけの偽アダプターだと説明してくれた。今になってようやく、なぜそんな物が存在したのか分かったし、しばらくの間は偽造アダプターを買ってしまったのだとばかり思っていた。
中に何か入っているように見えた方が「本物っぽく」見えるという意図だったのかもしれないが、それなら1セントの IC でも入れた方がもっとそれらしかったはずで、やはりよく分からない。
昔、PC World の販売員とかなり気まずい会話をしたことがある。
会社から退役した古いサーバーをもらい、自宅で勉強しようとしていたのだが、問題は USB がなかったことだった。
PS/2 キーボードを探していると言うと、店員はそういうものは売っていないが、どんな USB キーボードでも使えばいいと言い、私は USB ポートがないので PS/2 キーボードが必要なのだと説明した。
店員がマネージャーのところへ何度か行き来した末、結局また USB を使えばいいと言ってきたのだが、実は私が PlayStation 2 用キーボードを買おうとしていると思っていて、PS/2 を聞いたことがなかったのだった。
どこかに PS/2-USB アダプターが付属していた古いマウスがある気がする。それが PS/2 マウスと PS/2-USB アダプターだったのか、USB マウスと USB-PS/2 アダプターだったのかは、取り出してみないと思い出せなさそうだ。
さらに詳しい内容と興味深い歴史的背景はここで読める: https://superuser.com/questions/704920/how-to-determine-if-u...
2014年ごろには、マウスとキーボードの大多数がデュアルプロトコルをサポートしていたが、2019年ごろから USB 専用だという報告が最初に出始めたようだ。
最も安価なマウス SoC の多くは、最初に設計されたときにうまく動いていたものがそのまま生産され続けており、今でもデュアルプロトコルである可能性がある。
ピン配列とプロトコル検出方式の説明はここにある: https://retrocomputing.stackexchange.com/questions/28288/how...
90年代初頭の Roland S760 サンプラーを持っている。Roland がこの低価格帯で生み出した革新の一つは、モニターとマウスを接続できるようにしたことで、当時の Akai S1000 の小さな画面や S760 のさらに小さい2行ディスプレイをのぞき込む代わりに、サンプルの切り出しやパッチプログラミングをずっと簡単にしたことだった。
マウスコネクターは今では入手が非常に難しい MSX なので、自分の機材には DIY の MSX->PS/2 コネクターが付いてきた。同梱されていた PS/2 マウスがほとんど寿命だったため、より現代的なものに替えようとしたが、当時見つけられたのは USB-PS/2 コネクター付きの MS マウスだけだった。挿してみると辛うじて動作したが、なぜなのかはまったく理解できなかった。
結局、新品在庫の PS/2 マウスを見つけると、また完全に動くようになった。この記事を見るまで、なぜ駄目だったのか分からなかった。
S760 は優れたサンプラーだ。完全なシンセサイザーエンジンの複雑さはないが、サンプラー版 JD990 のような感じで、S760 のデジタル・マルチモード・フィルターが Daft Punk や多くのミュージシャンの代表的なサウンドになったことで有名になった。
現代の USB デバイスをレトロコンピューターで使うには、アクティブ変換器が必要だ。数年前に複数のコンピューター向けに一つ作った。
https://github.com/dekuNukem/USB4VC
より新しいプロジェクトとして HIDman もあるが、PC 専用だ。
https://github.com/rasteri/HIDman
Logitech G305 マウスは 1000Hz なので、Windows 98 で PS2Rate のようなプログラムなしでもカーソルが非常になめらかになるように、ps2x2pico 側でマウスのポーリングレートを 100Hz に強制設定している。Keychron S1 キーボードの Nキーロールオーバーも完璧に動作する。
https://github.com/No0ne/ps2x2pico
タイトルと URL が microsoft.com なのを見ただけで、99% の確率で Old New Thing の Raymond Chen の記事だろうと思った
この場合もそうしてくれるといい。fortune.com が良い例で、ブログはかなりひどいので、今ではフロントページに単に fortune.com ではなく「fortune.com/blogs」みたいに表示される
最初の 386/33 コンピュータで使っていたキーボードをまだ持っている。DIN5 -> PS/2 -> USB-A -> USB-C という順のアダプターチェーンを経由して、今の Mac に接続できる
今後このアダプターチェーンをさらに伸ばす日を楽しみにしている
arm64 でも動く
約 35 年たってもまだ素晴らしく動作していて、毎日使っている。将来このチェーンにまたアダプターを追加しなくて済むといいが、どうなるかは分からない
90 年代後半から 2000 年代初頭のキーボードも、似たようなことをよくしていた。コントローラーが PS/2 と USB の両方をサポートしていて、キーボードには PS/2 プラグとパッシブアダプターが同梱されていた
そのため、USB 導入以前に設計された PS/2 キーボード、たとえば Model M のようなものを現代のコンピュータで使うには、実際にプロトコルを変換するアクティブ PS/2-USB アダプターを選ぶ必要がある
多くのメカニカルゲーミングキーボードは、前述の割り込みのために今でも PS/2 をサポートしている
経験は少ないが、Linux で初期の 3D プリンターを何台かデバッグしながら、USB の U は本当にユニバーサル(universal)に近い意味で、シリアルデータを OS・ドライバー・ソフトウェアに渡して処理させるものなのだと学んだ
安価な DisplayPort-to-HDMI アダプターが動作する仕組みも似ていて、アダプター自体は完全にパッシブだ
DisplayPort 出力機器のかなり多くはマルチモードをサポートしており、DP パケット出力の代わりに TMDS ベースの HDMI や DVI 信号を出力するよう切り替えられる。こうしたポートには ++DP ロゴが付いている場合がある
だから安価な HDMI ソースから DisplayPort シンクへのアダプターは見かけにくく、必要な知能がソース機器に内蔵されていない
古い Dell モニターが HDMI 1.3 しかサポートしておらず、フル解像度を使うには DisplayPort かデュアルリンク DVI 入力を使う必要があったが、現代の機器には普通どちらもない。その機器が問題を解決して、2560x1440 解像度を使えるようにしてくれた
DP->HDMI には少なくともレベルシフターのような電子回路が必要だ
少し関係ない話だが、少し前に比較的新しい ThinkPad X1C 第 12 世代の内蔵キーボードが動かなくなった。USB キーボードを接続して、Linux カーネルのリングバッファや他の場所に問題を説明するエラーがないか調べた
驚いたことに、内蔵キーボードは USB ではなく i8042 だった。ハードウェア側の人間ではないが、最近は何でも USB だとなんとなく思っていた。i8042 は記事で言っている PS/2 プロトコルのことらしい
エラーは見つからなかったが、再起動後にまた動くようになった
キーボード側にコントローラーが必要なので、USB を使わないのも理にかなっている
多くの EC には、このための 8042 互換 IP ブロックが内蔵されている。ソフトウェアからは正確に PS/2 キーボードとマウスのように見えるが、物理層はもはや存在しない場合がある。外部 PS/2 キーボードとマウスをサポートしていた古いノート PC には、実際の PS/2 インターフェースがあるかもしれない
キーボードが完全に止まったのなら、EC ファームウェアのバグかランダムなグリッチを疑う