由于鄙人的键盘布局十分复杂,所以很多工具用起来都十分困难,具体情况见上一篇文章。
在Windows中使用RealVNC连接macOS的时候,我们会发现,快捷键出现了大面积的异常,甚至Alt键就直接消失了。为了解决这个问题,我深入研究VNC Viewer的配置,结果一无所获。就在此时,我意外地发现,remapping的设置是在Server端实现的,这让我格外欣喜。下面是配置:
- LeftCmdKey : Super_L
- LeftOptKey : Super_L
- RightCmdKey : Super_R
- RightOptKey : Super_R
进行到这一步,我们发现,新的映射关系是:
- LWin (Win下的macOS键位) -> LCtrl (macOS接收键位)
- LAlt (Win下的macOS键位) -> LAlt (macOS接收键位)
- LCtrl (Win下的macOS键位) -> LCmd (macOS接收键位)
- RWin (Win下的macOS键位) -> RCtrl (macOS接收键位)
- RAlt (Win下的macOS键位) -> RAlt (macOS接收键位)
- RCtrl (Win下的macOS键位) -> RCmd (macOS接收键位)
我们发现,Alt键回来了,并且已经配好了,但是Win/Cmd和Ctrl互换了。可能会有人问为什么前面要设成Super而不是Ctrl,其实我也想,只不过只能选Super/Alt/ExtendedChar,无解的。
此时,我们发现,好心的RealVNC还提供了RemapKeys选项,看到描述中说,它是根据hexadecimal keysyms标准来的:https://www.tcl.tk/man/tcl8.6/TkCmd/keysyms.htm
那么我们不妨直接交换Super_L, Ctrl_L和Super_R, Ctrl_R, 代码:
0xFFE3<>0xFFEB,0xFFE4<>0xFFEC
Apply一下,发现完美解决问题。下图是配置:
然而,事情到此并没有结束。还记得我上一篇提到的AutoHotKey在Win下Ctrl+Q模拟Alt+F4吗?到了VNC中,Ctrl+Q (Cmd+Q)被AutoHotKey拦截了,无法正常触发。所以我们要解决在VNC中AutoHotKey的触发问题。
查阅API,发现以下方法:
这是个很好的解决途径,我们只需要获取VNC窗口的ahk_class或者title之类的就行了。调出AutoHotKey的WinSpy工具:
很方便地查出了ahk_class:
最终改了一下代码就好了:
#IfWinNotActive ahk_class vwr::CDesktopWin
^Q::Send, !{F4}
如果不能复现,建议自己实践。
3 条评论
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
有办法解决windows远程mac无声音吗
暂时还没有(