win10下ctrl+space被系统覆盖成“输入法切换”了

解决方案参考了这篇博文windows下ctrl+space被输入法覆盖了

step1. 按照上面博文的方案,把注册表相应的值改掉

step2. (改完注册表后依然无效)再将windows的键盘(输入法),总共建成2个。

一个是英文输入;一个是中文输入; 在中文输入下,只添加一个输入法(搜狗或者微软)。 (当然,在控制面板,也已经将输入法的切换改成了非"ctrl + space",这边我改成了"ctrl + end")

然后就好了。

win10系统下,在emacs里,"ctrl + space"被检测出来,并发现是"lwindows"键(left windows键,相应的,有rwindows键)

参考这篇emacs的文档、介绍windows-keyboard

step1,现在emacs里头,将"lwindows"键(ctrl+space)捕获掉,不要传到系统层面(windows系统)

(setq w32-lwindow-modifier 'hyper)

上面这段代码里头,有两个知识点。

  1. w32-lwindow-modifider变量(即,lwindows键)
  2. hyper键;相应地,还有super、meta、ctrl、shift等等(现代键盘基本没有了hyper和super键)

step2, 上一步将lwindows键改成了hyper键;然后再将ctrl-space(set-mark-command命令绑定到别对的键组合)

(global-set-key (kbd "C-c SPC") 'set-mark-command')