我在 Ubuntu(PC)上运行 Synergy 服务器 1.4.13,并且有一个连接的 Mac 客户端。
它运行良好,除了一些键如 Home 和 End(在 Mac 客户端的 ~/.synergy.conf 中定义为热键)在 Mac 上不起作用。
Home我找到了 ~/.synergy.conf 的一个选项部分,当在 PC 服务器上按下/时,它会向 Mac 发送特殊的按键End,但一个不幸的副作用是,当以这种方式配置时, Home/End在 PC 上根本不起作用。
更重要的是,即使 Mac 屏幕不是活动屏幕,它仍然收到Home/End密钥。有什么方法可以解决这个问题吗?
答案1
我继续为此做了一个补丁。
我还没有测试超过几个小时,但它似乎可以与我的 PC 服务器和 Mac 客户端配合使用。
我尝试在 #synergy IRC 上寻求一些帮助来理解源代码,但似乎没人有兴趣谈论,所以这里是修补。
申请patch --ignore-whitespace -p0 -i joes.patch
。
然后一切如常./hm.sh conf -g1; ./hm.sh build
。
在 Mac 客户端上,我无法使用 hm.sh 脚本进行构建。我不得不使用 进行构建./hm.sh conf -g1 --mac-sdk 10.8; make
。希望对您有所帮助。
答案2
我的 PC 服务器和 Mac 客户端也遇到了同样的问题。
通过在 ~/Library/KeyBindings/DefaultKeyBinding.dict 创建文件可以更轻松地更改 mac 的行为
{
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}
需要重新启动才能使映射生效。