私はMacとPCの両方を所有していますが、最近、両方のコンピューターで同じ マウスとキーボード を使用するために Synergy を使い始めました。現在のところ、マウスとキーボードはPCに接続されています。つまり、PCでSynergyサーバーをホストし、有線ネットワークを介してMacでサーバーに接続しています。
Synergyを使用してマウスボタンを再マップする方法を誰かが知っているかどうか疑問に思っています。私のマウスには5つのボタンがあり、追加の2つのボタンを使用して、Macで[公開]と[デスクトップ]を表示したいと思います。現在のところ、カーソルがMac上にある場合、ボタンの1つは効果がなく、もう1つは実際にWindows画面上でコマンドを実行します(マウスカーソルがMac上にある場合でも)。
現時点での私の最善の推測は、Synergyの構成ファイルを使用することです。これにより、多くのユーザー入力を再マップできます。ただし、この場合、構成ファイルで追加のマウスボタンを参照する方法がわかりません(それらが何と呼ばれているかを確認する方法はありますか)。他の提案も受け付けています...便利なことの1つは、追加のマウスボタンがWindows上のほとんどすべてのコマンドにプログラム可能であることです。
ボタンがWindowsでプログラム可能である場合、Synergyがボタンを表示する前に、プログラムがボタンを監視していることを意味します(そのため、クライアントでボタンを押すと、サーバーでアクションが発生します)。ボタンを押すと、Macにも送信されます。
おそらく、あなたが求めていることを達成できる唯一の方法は、マウスボタンイベントをリッスンし、それに応じてプログラムを起動するプログラムをMacで実行することです。 Synergyは、マウス/キーボードアクションでイベントを実行するように構成することはできず、他のマウス/キーボードイベントを生成するためだけに構成できると思います。
今日、誰かがこれに問題を抱えている場合は、次のことを考慮してください。
Macクライアントで、システム設定/キーボード/ショートカットに移動し、さまざまなカテゴリで探しているアクションを検索します。右側の列を選択し、入力バーが点滅している目的のマウスボタンを押してマウスキーを入力すると、ショートカットを再マップできます。
「戻る」コマンドや「進む」コマンドなど、探しているアクションがない場合は、左側の列のアプリのショートカットに移動し、次の方法で新しいアクションを追加します。左下の+記号を押します。 「戻る」、「切り取る」、「元に戻す」など、必要なメニュータイトルを入力し、前述のように目的のマウスボタンをマッピングして続行します。
これで問題が発生した場合は、サーバーコンピューターに移動し、マウス固有のソフトウェアを使用して、さまざまなマウスボタンに新しいキーストロークを割り当ててみてください(例:Logitech SetPointソフトウェア)。
クライアントの修飾キーを再マップすることもできます。これは、Synergyにアクセスすることで実行できます。 )サーバーコンピューターで、サーバーの構成...をクリックし、グリッドからクライアントアイコンを選択して、修飾キーは、右側の「Ctrl」から左側の「Super」へ、左側の「Super」から右側の「Ctrl」へ。
これにより、両方のプラットフォームで同じマウスショートカットを使用するために、両方のコンピューターで同じ修飾キーを使用できるようになります。使っています Alt+Left MacとWindowsの両方のシステムで、Chromeなどのアプリケーションで「戻る」ようにします。
Synergyが見ているものをデバッグするために(そして送信するために、頭痛の種を終わらせないいくつかの組み込みの再マッピングがあるので)、編集>設定(Windows/Linux)またはSynergy>設定または_cmd+,
_に行くことができます(macOS)そして各システムでログレベルをDebug1に変更し、[設定/設定]ダイアログに保存してからメインのSynergy UIに適用して、より詳細な出力を取得します。
カーソルが「サーバー」マシン上にある間、マウスボタンを押しても出力は表示されませんが、クライアントマシンに移動すると、サーバーのログとクライアントログに認識されたボタンが表示されます。実際に受信/再マッピングされたキーが表示されます。
_xev -event button
_または_xinput list
_および_xinput test -event button deviceIdFromList
_にも精通している場合、おそらくすぐに気付くことが1つあります。これは、イベントがSynergyのレポートと正確に一致しないことです。たとえば、私のLogitechマウスの場合、ボタン8/9はWWWBack/WWWForwardですが、Synergyはそれらを6/7として報告します。したがって、再マッピングするときは、xev
番号ではなくSynergy番号を使用する必要があります。
クライアントマシンがmacOSの場合、6/7をkeystroke(Meta+[)
またはkeystroke(Meta+])
に再マップして戻る/転送する必要があります。クライアントマシンがWindowsの場合は、おそらく6 /を再マップする必要があります。 7からmousebutton(4)
およびmousebutton(5)
。
同じスレッドでこのコメントと他のコメントを参照してください https://github.com/symless/synergy-core/issues/58#issuecomment-248043811
私が繰り返し遭遇したトリッキーな点は、おそらく新しいSynergy構成を作成し([構成に名前を付けて保存]を使用してみてください)、インタラクティブ構成を使用する代わりに「既存の構成を使用する」でそのファイルをロードする必要があることです。インタラクティブ設定でマウスボタン4までのマッピングボタンしか許可されていない場合は、進む/戻るまたは他のキーを押すと、常にmousebutton(4)が表示されます。
次に、このような数行を使用して変更を加えることができます。
_# For Mac clients
mousebutton(6) = keystroke(Meta+[,macname)
mousebutton(7) = keystroke(Meta+],macname)
# For Windows clients
mousebutton(6) = mousebutton(4,winPC-123)
mousebutton(7) = mousebutton(5,winPC-123)
_
すべてのクライアントが同じOSを使用しているため、すべてのクライアントで同じ方法で再マップする場合は、画面名を省略できますが、特定のマシンでは再マップしたくない場合があります。ここで_:
_画面名の個別のリストが役立つ場合があります。