web-dev-qa-db-ja.com

キーボードの出力をシミュレートする(コンピューターを別のコンピューターのキーボードのように見せかける)

コンピューターAのUSBポートをコンピューターBのUSBポートに接続して、コンピューターAをコンピューターBのキーボードとして機能させたい。

私がそれをどうやってやるのか考えていますか?

私は既製の解決策を探していません(ただし、すでに存在し、オープンソースである場合は反対しません)が、出発点または優れたリソースを探しています。

キーボードのプロトコルをシミュレートするドライバーを作成する必要があると思います。また、USBマスター/スレーブシナリオ全体を整理する必要もあります。

とにかく、どんな助けもいただければ幸いです。

P.S.私もマウスでやりたいのですが、とても似たようなプロセスになると思いますし、キーボードから始めるほうが簡単だと思います(とはいえ、誤解されるかもしれませんが)。

25

HagstromElectronicsからこれを行う何かを見つけたことに本当に興奮しています。シリアル入力を受け取り、USBキーボード出力を別のPCに送信します。これをすぐに利用できるUSB-シリアルアダプタと組み合わせると、あなたは黄金になります。

http://www.hagstromelectronics.com/products/usbkm232.html

私はこれを見つけるために何週間も探していたので、いくつかのフォーラムに戻って発見を共有することにしました。

10

Linuxは SBガジェットモード をサポートしていますが、そのためには特別なハードウェアが必要だと思います。つまり通常のPCのUSBポートはガジェットモードを実行できません。

別の方法は、LPTポートをPS/2キーボード入力に配線することです。これは技術的に簡単です。

6
Sjoerd

USBがなかった場合は、LAN経由で2つを接続し、キーボード/マウスをエミュレートするクライアント/サーバーC#プログラムを用意します(DirectInputなど)。

USB部分については、私が知る限り、ハードウェアアダプターが必要です。ハードウェア開発に興味がある場合、または少なくともはんだごてといくつかのµcプログラミングを恐れていない場合は、 http://www.obdev.at/products/vusb/hidkeys.html を参照してください。小さなatmelチップ用のHIDスタックは無料で入手できます。このソリューションでは、I²CまたはSPIなどを介して通信する2つのatmegaチップが必要です。
2台の電気的分離もお勧めします。それらが同じ電気的接地を共有しているかどうかはわかりません。

1
Martin Hennings