是否可以将所有媒体密钥重定向到 Synergy 主机?

Hub*_*bro 5 linux synergy

不久前我在 Github 问题上问过这个问题,但没有人回应,所以我在这里再试一次。


当我在 Linux 客户端上工作时,我的 Windows 服务器上正在运行音乐或视频。当我在 Linux 客户端处于焦点时按下媒体键(如静音)时,静音键会正确地转发到 Linux 客户端,这是应该的。但是:我希望所有媒体键(音频调高、音频调低、静音、播放/暂停等)始终仅在服务器上注册,无论焦点是什么屏幕。这样我就可以在我的 Linux 屏幕上工作,同时在我的 Windows 服务器上听音乐,我可以点击暂停媒体键来暂停音乐。

在 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
Run Code Online (Sandbox Code Playgroud)

“beast”是我的 Windows PC 的名称,“shiny”是我的 Linux 笔记本电脑的名称。正如您在选项部分所看到的,我试图让媒体密钥仅在“野兽”上注册,但发生的情况是媒体密钥完全停止工作。

一旦我将 line keystroke(AudioMute) ... 添加到配置中并应用它,静音按钮就会在客户端和主机上完全停止工作。一旦我停止 Synergy,该按钮就会在服务器上再次起作用(当然)。这适用于所有音频按钮。

我确信“野兽”是正确的屏幕名称,因为日志中有如下几行:

在 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)
Run Code Online (Sandbox Code Playgroud)

现在媒体键可以在 Linux 客户端上使用,但不能在 Windows 主机上使用。这可能是无法在 Windows 主机上模拟媒体密钥的错误吗?

这是一个错误,还是我做错了什么?我如何完成我正在尝试做的事情?

(我使用的是 Synergy 版本 1.8.5-stable-a18eba7)

2017-02-15 更新:也用 1.8.7-stable-9799e96 版本测试)

Jos*_*ris 1

只要两台设备都配置了相同的键盘布局(例如英语美国),媒体键就应该可以通过,而无需任何特定的配置更改。

我的两个设备(Windows 10 到 Windows 10)之间的协同作用是在不进行任何特定配置更改的情况下传递媒体密钥。我的配置文件已附上。

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
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的是,它似乎并不是一个缺失的功能。这是 Github wiki 中记录的功能。 `key Strike(AudioMute,beast)` 应该将该击键发送到名为“beast”的屏幕。或者我误解了文档? (2认同)