繁体   English   中英

在 Windows 上重新定义 Emacs 中的键

[英]Redefining keys in Emacs on Windows

我在 Mac OS X 上使用我的命令键作为额外的控制键(我相信太空学员键盘具有这种配置)。 我想通过在 Emacs 中将Alt切换为Ctrl并将Windows键切换为Alt来在我的 Windows 机器上模拟这一点。 这可能吗? 我发现这篇文章暗示了类似

(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以对其进行测试时(但最终我希望它是metaAltCtrl ,如前所述), windows-e仍然被 Windows (XP) 拦截并打开资源管理器,但看起来像一个开始的好地方? 我将不胜感激任何建议。

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

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

w32-phantom-key-code的文档中:

用于生成“幻像”按键的虚拟键代码。 值是一个介于 0 和 255 之间的数字。当 `w32-pass-lwindow-to-system' 或 `w32-pass-rwindow-to-系统'是零。

正如 Xah 的网站上所说:

除非您使用 AutoHotkey 等其他工具,否则无法解决此问题。 即使这样,也可能无法禁用【Win+l】(锁定窗口)和【Win+u】(轻松访问)。

因此,如果它不适用于他描述的方法(这似乎是正确的),您应该查看 AutoHotKey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM