东方财富终端会将M-x注册为隐藏窗口的老板键,只要东方财富终端启动,这个快捷键就会首先被东方财富终端拦截,导致emacs无法响应。可恶的是,东方财富终端不提供修改快捷键的功能入口,反馈后,客服也只是敷衍记录反馈给技术。
尝试了AtuoHotkey和PowerToys,经过配置没能达到屏蔽东财而emacs可以正常接收的效果。
不知道大家有没有遇到过,在不修改emacs快捷键的情况下,是如何解决的?
1 个赞
光看描述无法判断究竟用的是哪一种按键拦截方式:
- 如果是注册了全局键盘钩子,那么你需要在他之后也注册一个新的钩子,判断当前进程是不是Emacs,是的话就不转发给下一个钩子
- 如果是他安装了一个键盘过滤器驱动程序,那就更麻烦了,你也得写一个驱动程序装在他上游
总之你要在保留这个软件的老板键的情况下,单独给Emacs开个例外,是比较麻烦的,得自己写点比较底层的程序。
学会按 ESC X 就可以了
1 个赞
多谢,受教了。非常便捷的替代方案 ![]()
谢谢指导,看来保持不变解决是有些难度的,按照 LdBeth 的方法也很便捷。
这个很恶心,不能设置,还没见过这种老板键不能设置的app
finalpatch
为啥不愿意改emacs按键,比如windows键+x,shift+x, 不都挺好的吗,emacs有多种m-x增强或替代的包,比如counsel-m-x,可以不用改变原m-x行为,和原版m-x共存应该也没有问题
谢谢,在后续学习中,我会尝试这些方案 ![]()