我在 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 笔记本电脑的名称。正如您在选项部分中看到的,我试图让媒体键仅在“beast”上注册,但结果却是媒体键完全停止工作。
一旦我将行 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)
现在媒体键可以在 Linux 客户端上使用,但是不是在 Windows 主机上。这可能是 Windows 主机上无法模拟媒体键的一个错误吗?
这是错误吗?还是我做错了什么?我该如何完成我想要做的事情?
(我使用的是 Synergy 版本 1.8.5-stable-a18eba7)
(更新 2017-02-15:还使用版本 1.8.7-stable-9799e96 进行了测试)
答案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