设置Windows键作为修饰键

通过查阅资料和帮助文档,了解了设置Windows键(包括其他键,如Menu键)作为修饰键的方法,分享如下: Emacs: How to Bind Super Hyper Keys

还有一步也建议设置下:

w32-register-hot-key [H-]

注:请将[H-]中的H换为其他键的缩写。
这步是将与Hyper键的组合定义为热键,使其大多数的组合键作为Emacs的快捷键,而不是作为windows系统的快捷键。

1 个赞

这个设置对Windows用户很有帮助,有了一排的修饰键,通过掌压的方式控制Emacs就太爽了。
以下代码设置两个win键为super,app键为Hyper。 Atl-Tab 暂时还是留给Windows用,这样方便从全屏的emacs切到Windows,用习惯了。

      (setq w32-pass-lwindow-to-system nil)  ; 左windows键
      (setq w32-lwindow-modifier 'super)

      (setq w32-pass-rwindow-to-system nil) ; 右windows键
      (setq w32-rwindow-modifier 'super)
      (w32-register-hot-key [s-])

      (setq w32-pass-apps-to-system nil) ; 菜单键/App键
      (setq w32-apps-modifier 'hyper)
      (w32-register-hot-key [H-])
1 个赞

我在win10上,好像emacs26.3就不响应win键,连C-h k都获得不到win键的响应,难道是我的键盘不支持?

我这边大部分都OK,还有个小问题是Win+g 被win10的游戏栏占用,卸载了都不管用,Eamcs可以接收到s-x 但是就是接收不到s-g。
你尝试一下只加下面这段代码,将左边的win 设置为super键:

  (setq w32-pass-lwindow-to-system nil) 
   (setq w32-lwindow-modifier 'super)
   (w32-register-hot-key [s-])

我是觉得win虚拟桌面还蛮好用的,所以没有想过改win的功能。

我要经常切换到Win系统的其他App上,一般是Alt+Tab 就切换了。Win10功能用的不多,我觉得我还是把它当win7在用😄