回心誌

日々是回心

InputLeapを導入してマウスとキーボードをWindows/Mac間で共有する

はじめに

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の通信を許可。
これをやらないとクライアントからの接続でタイムアウトになる。

Mac
※今回はMacをクライアントとして使用

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キーボードを使ってるせいだと思う。

それでもちょっとした入力程度なら十分使える。
クリップボードの共有も便利。

Logicool Options+ Flowについて

ちなみに、こんな面倒な設定をしなくてもLogicoolのキーボード・マウスには同じような共有機能を有するものがある。
Logicool Options+というLogicool製品のデバイスカスタマイズアプリがあるが、それに付属するFlowという機能がそれだ。

なお、Logicoolのすべてのキーボード・マウスが対応しているわけではない。
対応デバイスについては以下に記載がある。
Logicool Flow - 複数デバイスのコントロールと簡単なファイル共有。

ただ、自分もFlowについては試したことは無い。自己責任でお願いします。