すべてのメディアキーをSynergyホストにリダイレクトすることは可能ですか?


4

少し前にGithubの問題でこれを尋ねましたが、誰も応答しなかったので、ここでもう一度試しています。


Linuxクライアントで作業しているとき、Windowsサーバーで音楽やビデオを実行しています。Linuxクライアントにフォーカスがあるときにメディアキー(ミュートなど)を押すと、ミュートキーはLinuxクライアントに適切に転送されます。しかし、フォーカスしている画面に関係なく、すべてのメディアキー(オーディオアップ、オーディオダウン、ミュート、再生/一時停止など)が常にサーバー上でのみ登録されるようにします。このようにして、Windowsサーバーで音楽を聴きながらLinux画面で作業でき、一時停止メディアキーをクリックして音楽を一時停止できます。

Githubのwikiをざっと見て、この設定を行いました。

section: screens
  beast:
  shiny:
end

section: links
  beast:
    left = shiny
  shiny:
    right = beast
end

section: options
    switchCorners = all
    switchCornerSize = 100
    switchDelay = 0

    keystroke(AudioMute) = keystroke(AudioMute,beast)
    keystroke(AudioDown) = keystroke(AudioDown,beast)
    keystroke(AudioUp) = keystroke(AudioUp,beast)
    keystroke(AudioPlay) = keystroke(AudioPlay,beast)
    keystroke(AudioPrev) = keystroke(AudioPrev,beast)
    keystroke(AudioNext) = keystroke(AudioNext,beast)
end

「beast」は私のWindows PCの名前、「shiny」は私のLinuxラップトップの名前です。オプションセクションでわかるように、メディアキーを「獣」にのみ登録しようとしていますが、代わりにメディアキーが完全に機能しなくなります。

行キーストローク(AudioMute)を構成に追加して適用するとすぐに、クライアントとホストの両方でミュートボタンが完全に機能しなくなります。Synergyを停止するとすぐに、ボタンはサーバー上で再び動作します(もちろん)。これはすべてのオーディオボタンに当てはまります。

ログには次のような行があるため、「beast」が正しいスクリーン名であると確信しています。

3439,464で「獣」から「光沢」に切り替える

マップされたキーボードボタンを押しても、ログに何も表示されません。

また、画面を指定せずにボタンを自分自身にマップしようとしました:

keystroke(AudioMute) = keystroke(AudioMute)
keystroke(AudioDown) = keystroke(AudioDown)
keystroke(AudioUp) = keystroke(AudioUp)
keystroke(AudioPlay) = keystroke(AudioPlay)
keystroke(AudioPrev) = keystroke(AudioPrev)
keystroke(AudioNext) = keystroke(AudioNext)

これで、メディアキーはLinuxクライアントで機能しますが、Windowsホストでは機能しません。これはおそらく、Windowsホスト上でメディアキーをシミュレートできないバグですか?

これはバグですか、何か間違ったことをしましたか?私がやろうとしていることをどのように達成しますか?

(Synergyバージョン1.8.5-stable-a18eba7を使用しています)

2017-02-15更新:バージョン1.8.7-stable-9799e96でもテスト済み)


これをSynergy 1.8.7で試してみてください。試したところ、Fedora 25サーバーからWindows 10クライアントに、またはその逆に移行しても、うまくいくようです。
サムリマー

@SamRimmerだからそれはあなたのために働きますか?私は成功せずに1.8.7でテストしました。あなたの設定ファイルを見てもいいですか?この構成を両側に追加しますか、それともホストだけに追加しますか?
ウブロ

@Hubro GitHubでの返信が遅くなってすみません!ジョシュはそれにあります:)
ニックボルトン

1
@nbolton素晴らしい!:)
ウブロ

回答:


1

両方のデバイスが同じキーボードレイアウトで構成されている限り(EG English US)、特定の構成を変更せずにメディアキーを渡す必要があります。

2つのデバイス(Windows 10からWindows 10)間のSynergyは、特定の構成変更なしでメディアキーを渡します。私の設定ファイルが添付されています。

section: screens
    TORBJORN:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none 
        switchCornerSize = 0
    MEKA:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none 
        switchCornerSize = 0
    HANA:
        halfDuplexCapsLock = false
        halfDuplexNumLock = false
        halfDuplexScrollLock = false
        xtestIsXineramaUnaware = false
        switchCorners = none 
        switchCornerSize = 0
end

section: aliases
end

section: links
    TORBJORN:
        down = HANA
    MEKA:
        right = HANA
    HANA:
        left = MEKA
        up = TORBJORN
end

section: options
    relativeMouseMoves = false
    screenSaverSync = true
    win32KeepForeground = false
    clipboardSharing = true
    switchCorners = none 
    switchCornerSize = 0
end

あなたは質問を誤解しているようです。メディアキーは、ホストからクライアントに送信されます。私はそれらが送信されないようにしようとしてます。現在どの画面にフォーカスがあるかに関係なく、メディアキーは常にホストに送られるようにします。この方法で、現在フォーカスしている画面に関係なく、音楽を再生/一時停止し、音量を調整できます。現在、音楽を一時停止する前に、実行中の操作を停止し、マウスをホストPCに移動する必要があります。
ウブロ

1
残念ながら、これは機能がなく、機能のリクエストである必要があります。
ジョシュハリス

2
奇妙なことは、欠落している機能のように見えないことです。これは、Github wikiに文書化された機能です。keystroke(AudioMute,beast)そのキーストロークを「beast」という名前の画面に送信することになっています。または、ドキュメントを誤解していませんか?
ウブロ

ええ、もっと良い答えが必要だと思います:)
ニックボルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.