在Windows上重新定义Emacs中的键

我使用我的命令键作为额外的控制键在Mac OS X(我相信空间学员键盘有这种configuration)。 我想通过在Emacs中将Alt切换到Ctrl键并将Windows键切换到Alt来在我的Windows机器上模拟此操作。 这可能吗? 我发现这个post暗示了类似的东西

 (setq w32-pass-lwindow-to-system nil w32-pass-rwindow-to-system nil w32-pass-apps-to-system nil w32-lwindow-modifier 'super ;; Left Windows key w32-rwindow-modifier 'super ;; Right Windows key w32-apps-modifier 'hyper) ;; Menu key 

在按下Windows键时获得superhyper键。 当我尝试重新映射这个'control来testing它(但最终我希望它是metaAlt作为Ctrl ,如上所述), windows-e仍然被截获Windows(XP),并打开资源pipe理器,但似乎像好的地方开始? 我将不胜感激任何build议。

w32-pass-lwindow-to-system的文档:

请注意,左侧的“Windows”键与其他键的某些组合在低级别被Windows捕获,因此在Emacs中绑定它们将不起作用。 例如,<lwindow> -r总是弹出Windows运行对话框,<lwindow> – <Pause>弹出“系统属性”对话框等。但是,请参阅文档字符串“w32-phantom-key-code” 。

w32-phantom-key-code的文档:

用于生成“幻像”按键的虚拟键码。 Value是一个介于0和255之间的数字。当“w32-pass-lwindow-to-system”或“w32-pass-rwindow-to-system”时,为了阻止系统对“Windows”系统“是零。

正如它在Xah的网站上所说:

除非使用其他工具,如AutoHotkey,否则没有办法。 即使如此,可能无法禁用【Win + l】(锁定窗口)和【Win + u】(方便访问)。

所以看起来,如果它不适合他描述的方法(这看起来是正确的), 你应该看看AutoHotKey