Synergy 1.4.2 Linux 服务器、OSX 客户端、媒体/功能键映射问题

Synergy 1.4.2 Linux 服务器、OSX 客户端、媒体/功能键映射问题

我正在使用 Apple 蓝牙键盘来控制我的 Linux 协同服务器。SSH 隧道、鼠标、键盘和复制粘贴均可使用。

Linux 可以正确识别 F# 键上方的所有媒体/应用程序键。但是,如果我在控制 OSX 客户端时按下其中任何一个键,客户端上不会发生任何事情。

使用 -d DEBUG1 运行 synergys 我可以看到以下键码信息:按下也可用作 F1 的“dim monitor”键会生成:

new mask: 0x2000
event: KeyPress code=232, state=0x0010
new mask: 0x2000

如果我按下“fn”和相同的键,我可以看到它发送我假设的 F1:

event: KeyPress code=67, state=0x0010
onKeyDown id=61374 mask=0x2000 button=0x0043
send key down to "foo.cisco.com" id=61374, mask=0x2000, button=0x0043
new mask: 0x2000
event: KeyRelease code=67, state=0x0010
onKeyUp id=61374 mask=0x2000 button=0x0043
send key up to "foo.cisco.com" id=61374, mask=0x2000, button=0x0043

我猜我需要调整 synergy.conf,以便服务器发送它当前没有的密钥。我也不确定我需要做什么来调整它正在发送但不起作用的密钥。

以下是我遇到问题的所有其他键。有人知道如何启用它们的功能吗?

使显示器变亮:

new mask: 0x2000
event: KeyPress code=233, state=0x0010
new mask: 0x2000

暴露:

new mask: 0x2000
event: KeyPress code=128, state=0x0010
new mask: 0x2000

仪表板:

new mask: 0x2000
event: KeyPress code=212, state=0x0010
new mask: 0x2000

暗淡键盘:

new mask: 0x2000
event: KeyPress code=237, state=0x0010
new mask: 0x2000

使键盘变亮:

new mask: 0x2000
event: KeyPress code=238, state=0x0010
new mask: 0x2000

倒带:

event: KeyPress code=173, state=0x0010
onKeyDown id=57521 mask=0x2000 button=0x00ad
send key down to "foo.cisco.com" id=57521, mask=0x2000, button=0x00ad
new mask: 0x2000
event: KeyRelease code=173, state=0x0010
onKeyUp id=57521 mask=0x2000 button=0x00ad
send key up to "foo.cisco.com" id=57521, mask=0x2000, button=0x00ad

播放/暂停:

event: KeyPress code=172, state=0x0010
onKeyDown id=57523 mask=0x2000 button=0x00ac
send key down to "foo.cisco.com" id=57523, mask=0x2000, button=0x00ac
new mask: 0x2000
event: KeyRelease code=172, state=0x0010
onKeyUp id=57523 mask=0x2000 button=0x00ac
send key up to "foo.cisco.com" id=57523, mask=0x2000, button=0x00ac

快进:

event: KeyPress code=171, state=0x0010
onKeyDown id=57520 mask=0x2000 button=0x00ab
send key down to "foo.cisco.com" id=57520, mask=0x2000, button=0x00ab
new mask: 0x2000
event: KeyRelease code=171, state=0x0010
onKeyUp id=57520 mask=0x2000 button=0x00ab
send key up to "foo.cisco.com" id=57520, mask=0x2000, button=0x00ab

沉默的:

event: KeyPress code=121, state=0x0010
onKeyDown id=57517 mask=0x2000 button=0x0079
send key down to "foo.cisco.com" id=57517, mask=0x2000, button=0x0079
new mask: 0x2000
event: KeyRelease code=121, state=0x0010
onKeyUp id=57517 mask=0x2000 button=0x0079
send key up to "foo.cisco.com" id=57517, mask=0x2000, button=0x0079

音量减小:

onKeyDown id=57518 mask=0x2000 button=0x007a
send key down to "foo.cisco.com" id=57518, mask=0x2000, button=0x007a
new mask: 0x2000
event: KeyRelease code=122, state=0x0010
onKeyUp id=57518 mask=0x2000 button=0x007a
send key up to "foo.cisco.com" id=57518, mask=0x2000, button=0x007a

提高音量:

event: KeyPress code=123, state=0x0010
onKeyDown id=57519 mask=0x2000 button=0x007b
send key down to "foo.cisco.com" id=57519, mask=0x2000, button=0x007b
new mask: 0x2000
event: KeyRelease code=123, state=0x0010
onKeyUp id=57519 mask=0x2000 button=0x007b
send key up to "foo.cisco.com" id=57519, mask=0x2000, button=0x007b

喷射:

event: KeyPress code=169, state=0x0010
onKeyDown id=57345 mask=0x2000 button=0x00a9
send key down to "foo.cisco.com" id=57345, mask=0x2000, button=0x00a9
new mask: 0x2000
event: KeyRelease code=169, state=0x0010
onKeyUp id=57345 mask=0x2000 button=0x00a9
send key up to "foo.cisco.com" id=57345, mask=0x2000, button=0x00a9

答案1

您是否尝试过按照以下方法在协同配置文件中手动映射这些键http://synergy2.sourceforge.net/configuration.html? 从您的日志来看,synergy 有时不会发送媒体操作,而且不清楚它发送的操作是否正确。尝试添加

section: options
    keystroke(AudioPlay) = keystroke(AudioPlay, mac-screen-name)
end

到您的 synergys 配置文件。如果这不起作用,您可以尝试直接映射十六进制键代码:

  1. 注意,当您按下 Linux 机器上的相关按钮时,synergy debug 会给出代码,例如 0x00a9 表示“弹出”
  2. 切换服务器客户端关系(以便您的 Mac 提供服务)并查看它为“弹出”生成的键码(在其键盘或蓝牙上 - 假设蓝牙键盘正确弹出!)
  3. 直接映射这些键码:

    section: options
        keystroke(0x00a9) = keystroke(0x????, mac-screen-name)     # eject
    end
    

相关内容