我有一台 Linux Synergy 服务器 (Si-Linux),它只为一个 Mac 客户端 (Macbook Pro UK) (SiBook-Pro.local) 提供服务。
在我的 Linux 服务器上,我使用 USB Apple 键盘,其布局与笔记本电脑键盘(紧凑的英国铝制键盘)完全相同。
我想始终将媒体密钥发送到 Mac 客户端,并且在我的synergy.conf.
keystroke(AudioPlay) = keystroke(AudioPlay,SiBook-Pro.local)
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,因此我将服务器和客户端都作为前台进程运行并启用了调试并观察到以下情况:
服务器日志:
DEBUG1: activate actions
DEBUG1: hotkey: keyDown(AudioPlay,SiBook-Pro.local)
DEBUG1: onKeyDown id=57523 mask=0x0000 button=0x0000
DEBUG1: send key down to "SiBook-Pro.local" id=57523, mask=0x0000, button=0x0000
DEBUG1: deactivate actions
DEBUG1: hotkey: keyUp(AudioPlay,SiBook-Pro.local)
DEBUG1: onKeyUp id=57523 mask=0x0000 button=0x0000
DEBUG1: send key up to "SiBook-Pro.local" id=57523, mask=0x0000, button=0x0000
Run Code Online (Sandbox Code Playgroud)
客户端日志:
DEBUG1: recv key down id=0x0000e0b3, mask=0x0000, button=0x0000
DEBUG1: mapKey e0b3 (57523) with mask 0000, start state: 0000
DEBUG1: key e0b3 is not on keyboard
DEBUG1: recv key up id=0x0000e0b3, mask=0x0000, button=0x0000
DEBUG1: recv enter, 1279,386 5 2000
Run Code Online (Sandbox Code Playgroud)
如您所见,客户端声称收到的密钥不在键盘上。我不明白,因为它与 Macbook 键盘上的键相同。
我尝试反转客户端-服务器配置,以查看是否可以在按下 Macbook 上的播放按钮时捕获正在发送的密钥,但该密钥似乎甚至无法进入 Synergy。几乎所有的键盘按下都会被记录下来,但媒体键似乎绕过了日志而只是在本地执行它们的功能。例如,我在 Macbook 上按下播放键(以 Macbook 作为服务器),按键在 Macbook 上播放音乐,但按键未记录到调试日志中。
小智 7
这是 Mac Synergy Client 中的一个限制。有两件事阻止 Mac Synergy 处理多媒体键:
我已经为 Mac Synergy 编写了一个补丁(并将其提交到http://synergy-foss.org/spit/issues/details/3375/上的项目),通过将媒体密钥插入手动布局,并使用在实际按键期间记录的序列化媒体按键。
您可以自己下载补丁并编译协同作用,或者在问题中添加注释以请求集成。如果这些都不起作用,请联系我,我可以向您发送我正在使用的二进制文件...
| 归档时间: |
|
| 查看次数: |
1133 次 |
| 最近记录: |