
切り替えようとしているスイッチイン方向()ウィンドウ マネージャー (dwm、C で記述) から。コマンド ラインから Synergy アクションを制御する方法はないようですので、wm から適切なキーの組み合わせを実行してみました。
シナリオ: super+,
wm によってキャッチされる (コンマ) イベントでは、synergys がリッスンしている別のキーコンボが起動されるはずです。何らかの理由でXTestFakeKeyEvent
(xlib 関数) はまったく機能せず、キー押下をシミュレートしてもXSendEvent
修飾子では機能しないため、xdotool へのシステム コールを実行する必要がありました。
xdotool keyup comma key control+alt+shift+F11 // note the required comma key up;
POC としては機能しているようですが、ある時点で synergys でセグメント違反が発生します。xdotool を使用せずに同じキーコンボをトリガーしてもセグメント違反は発生しないことに注意してください。
選択肢があるとすれば、どのようなものがありますか?
編集:super+,
明らかな解決策の 1 つは、まず Synergy でイベントを リッスンし、そこでロジックを処理することです(画面を切り替えるか、別のキーコンボを dwm に送信するか)。これは機能するはずですが、サーバーとクライアントで異なる dwm 構成が暗黙的に必要になります。これsuper+,
はクライアントの dwm によって処理される必要があります (そうしないと、ネイティブ キーボードを介してクライアントを制御しても期待どおりに動作しません)。