このプロジェクトについて

DeskHopは、2台のコンピュータ間で単一のキーボードとマウスを共有するためのハードウェアプロジェクトです。USBスイッチボックスではなく、ペリフェラルと両マシンの間に位置し、各マシンへの接続を同時に維持し、選択された出力に応じて入力を転送します。 仕組み:デバイスはキーボード/マウスに対してUSBホストとして、各コンピュータに対してUSBデバイスとして機能します。マウスのHIDレポートディスクリプタは絶対座標に変更され、入力された相対移動は内部で蓄積されて位置を追跡します。ポインタが一方の画面の端に達すると、Y座標が維持され、X範囲が入れ替わるため、カーソルはもう一方のモニターの同じ高さに表示され、出力が切り替わります。設定可能なホットキー(通常はCtrl + Caps Lock)でキーボードを切り替え、キーボードのLEDでアクティブな出力を示すことができます。コンピュータごとのLED状態は記憶されます。 プロジェクトが挙げる特徴:顕著な切り替え遅延なし、コンピュータ間でのカーソルドラッグ、インストールするソフトウェアなし、部品は約15ユーロ未満、3Dプリント可能なスナップフィットケース、出力間の完全なガルバニック絶縁、Linux、macOS、Windowsのサポート。認定オープンソースハードウェアです。 ハードウェア:UARTで接続され、デジタルアイソレータ(ADuM1201またはピン互換のTI ISO7721DR)で分離された2つのRaspberry Pi Picoボード。デュアルUSBロールサポートはPico-PIO-USBプロジェクトによるものです。PCB v1.1にはESD保護、VBUSコンデンサ、シルクスクリーン表示、USB直列抵抗が追加されています。GerberファイルとSTLケースファイルが提供されています。部品表には約11ユーロの部品が記載されています。 ビルド:リポジトリには最小限のPico SDKとTinyUSBがバンドルされています。Debian/Ubuntuでは、build-essential、cmake、gcc-arm-none-eabi、libnewlib-arm-none-eabi、python3をインストールし、cmake configureとbuildを実行します。再現可能なビルドにはDocker Composeが提供されています。プリビルドの.uf2イメージはリリースで公開されています。ファームウェアは、設定モード(Left Ctrl + Right Shift + C + O)に入ることで更新でき、DESKHOPという名前のUSBドライブが表示されるか、ROMブートローダー、またはデバッグビルドのCDCフラッシュコマンドで更新できます。 追加機能には、スローマウストグル(Right Ctrl + Right Alt)、スイッチロック(Right Ctrl + K)、両出力のロック(Right Ctrl + L)、相対マウス移動を使用するゲーミングモード(Left Ctrl + Right Shift + G)、オプションのスクリーンセーバーがあります。位置ずれやサイズの異なるモニター向けのカーソル高さキャリブレーションも利用できます。Web設定ページはデバイスからローカルに提供され、WebHIDを介してChromium/Chromeで開かれます。プロジェクトはFirefoxがサポートされていないことに言及しています。出力ごとに複数の画面を使用するには、OSと画面数を設定する必要があり、実験的と説明されています。 セキュリティ上の選択は意図的です:システム間のクリップボードやデータ共有なし、標準のキーボードLEDメッセージを超える出力からのインバウンド接続なし、出力からトリガーされるファームウェアアップグレードなし、入力履歴の保持なし、デバイス発信のキーストロークなし、固定長のデバイス間パケット、ネットワーキングなし、非アクティブ後の設定モードからの自動終了。コードは完全にオープンで、バイナリブロブはありません。 既知の制限:Windows 10ビルドKB5003637がHID絶対座標を壊したため、実験的な回避策なしではWindowsでの複数画面は問題があります。macOSの複数画面サポートも実験的です。追加コントロールを備えた高度なキーボードとマウスは完全には機能しない場合があります。両方のコンピュータが接続され、USB電源を供給している必要があります。著者はコードのクリーンアップとより広範なデバイステストが必要であると述べています。言及されているソフトウェアの代替案には、Barrier、Input Leap、Synergy、Mouse Without Borders、Universal Controlがあります。計画中の作業には、より良い複数画面の回避策、透過/ゲーミングモード、2つ以上の出力のサポート、設定UIの改善、シングルPicoの「ライト」バージョンが含まれます。