はじめに
InputLeapという、マウス・キーボードを複数のPCで(しかもOSも!)またいで使うためのツールがある。
自分は普段、プライベートではWindowsのデスクトップPCで作業しつつMacで動画や音楽を流すことがある。
ワイヤレスキーボード・マウスの機能として、必要に応じて接続先の機器を切り替えることはできるのだが、一々物理スイッチで切り替えるのが非常に面倒。
InputLeapを使うと画面同士がシームレスにつながっているように、複数のPC間でマウス・キーボードを共有できるという。
実はWindows同士であればMouse Without BordersというMicorosoft製のツールがある。
【やじうまミニレビュー】テレワークの2画面は、サブPCと「Mouse Without Borders」の組み合わせがベストだ! - PC Watch
しかし、このツールはOSをまたぐ使い方はできない。
色々探して、InputLeapというツールで実現できると知って試してみた。
ややこしいんだけど、かつては同じ機能を持つSynagyがオープンソースだったんだが、これが有償化され
SynagyのフォークとしてオープンソースのBarrierというツールが開発されていたが、Barrierはメンテナンスが停止され、InputLeapに引き継がれたらしい。
Releases · input-leap/input-leap · GitHub
設定手順
【Windows】
※今回はWindowsをサーバーとして使用
https://github.com/input-leap/input-leap/releases/download/v3.0.2/InputLeap_3.0.2_windows_qt6.exe
をDLして実行
Bonjourをインストールしますか?→Yes
Server or Client?の画面でServerを選択。
SettingsのNetworkingでAddressにサーバー側マシンのIPアドレスを入力。
Enable SSLのチェックを外す。
Adding Input Leap to the Windows Firewall · input-leap/input-leap Wiki · GitHub
上の手順に従って、FWでInputLeapの通信を許可。
これをやらないとクライアントからの接続でタイムアウトになる。
https://github.com/input-leap/input-leap/releases/download/v3.0.2/InputLeap_3.0.2_macos_x86_64.dmg
をダウンロード。
※AppleシリコンのMac製品を使っている場合はそちらのインストーラーを用いるべし。
インストールで「開発元を検証できないため開けません」と出て使えないため、
設定 > プライバシーとセキュリティ > "InputLeap.app"は開発元を確認できないため、使用がブロックされました。のそばにある「このまま開く」をクリック
アクセシビリティの設定変更を求められるので、アクセシビリティ設定画面でInputLeapのトグルをオン
InputLeap.appを開き、ServerかClientかを聞かれるので、Clientを選択
(Windowsのときと同じく)
SettingsのNetworkingでAddressにサーバー側マシンのIPアドレスを入力。
Enable SSLのチェックを外す。
【Windows】
再び【Windows】側の設定に戻りConfigure Serverで、Screen and linksのタブを開き、モニターのアイコンをドラッグして配置したい箇所に配置する。
モニター名にクライアントマシンのホスト名を記入。
この場合、【Mac】側のInputLeapのClientチェックの下の「Screen Name」に書かれているのがホスト名。
で、ここまで設定すると、マウスの動作は共有されるようになったが、キーボードの操作が共有されない。
Debugログを有効にして色々試したところ、「DEBUG: can't get the active group, use the first group instead」というログ。
どうもMac側でUSキーボードを有効化しないとまともに動作しないらしい。
Mac で synergy がうごかないとき - tokuhirom's blog
【Mac】
設定 > キーボード > 入力ソース の箇所で 「編集…」 をクリック
左下の+ボタンからUSキーボードを追加
これで、キーボードも共有されるようになった。
ただし、Mac上での日本語入力と英字入力の切り替えは結構微妙。
普通なら「英数」「かな」キーで切り替えられるところだが、InputLeapはUSキーボードを前提としているようで、対応していない。
なので以下のような方法になる。
・マウスで画面右上の入力ソース切り替えボタンを押して切り替える
・キーボードでCmd+Spaceで切り替え
CmdキーがWindows側のどのキーになっているかは設定と環境によるっぽい。
自分の環境ではWindowsキーがCmdキーになっていた。
Server側(今回のWindows側)で「Configure Server」のモニターの設定で変更可能。
後者に関しては挙動が結構怪しい。
あと、記号系のキー入力は基本的に正しく入力されない。多分JISキーボードを使ってるせいだと思う。
それでもちょっとした入力程度なら十分使える。
クリップボードの共有も便利。