(重新设计)中英文混打:OS输入法管理包 smart-input-source

那估计是这个问题,我没加绑定这个按键。

是官方默认的,所以你应该也有。你自己试试按 Ctrl-x, @ s i

我直接这样按是可以激活 s-i 这个按键的。但是直接按win+i 不行。看来还是AHK出问题了。 能提供一下你的AHK 源码吗?我看看

http://g.mao.to/winsuper.ahk

你本机上装了AutoHotkey的话 可以自己调试调试

补充:
下面这段代码,
最好是手工执行一下。
因为你的环境中可能有的别package会改写这个。

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

把sleep 改到150 或者 200 我这边 s-i 就正常工作了,s-x,s-x 不工作,下面这句话就是这个意思吧? (Unfortunately, there is no way to add two modifiers by using C-x @ twice for the same character, because the first one goes to work on the C-x.)

更新:这个无所谓了,不使用这种奇葩组合就是了 :grinning:

:grinning:

这个脚本还得调试,目前只是s-i 生效了,加上其他组合键还是不行。 不过这个方向是对了,官方提供 C-x @ s 应该就是解决windows系统这个问题的。

@goumao 你那边用这个脚本能执行s-J 这个命令吗?J是大写我这里不行。还有跟其他的修饰键组合的不行。比如M-s-i 这样的组合。

Win修饰键不区分大小写吧。。。。Win-jWin-J是一样的。 Snipaste_2020-06-28_15-01-29

可以

Snipaste_2020-06-28_15-01-19

但是英文模式下是可以区分的。回头我调整一部分按键就能使用了。

我这里关输入法,关AHK,
windows 10/英文输入法/emacs下,
不区分S-jS-J
也可能因为我用的是虚拟机?

我这边确实是可以的,如下图: 这个是s-j :

image

这个是s-J:

s-

找到原因了,是AHK的问题,可以通过读SHIFT状态解决的。

找到问题就好解决了,你的这个AHK是用SendMode Input 模式的,我还不怎么熟悉。麻烦帮忙弄一下 :grinning:

另外,我这边加Win+Alt(比如M-s-j)的组合也按不出来。

源码:

add-to-list 源码里的文档,关键部分我选中了:

@BlindingDark

啊哈!~~你是对的!

我看到了绿色的下划线。
再往后看,有那个橙色的下划线。

话说:最新版下,你之前的问题解决了么?

没有,还是一样

@goumao 感谢辛苦付出。目前在Mac上测试,原生键位使用Rime输入法,体验完美。 :+1:

smart-input-source-log-mode,从message buffer把log复制过来我看看呢?
可将该mode的开关绑定到快捷键上,只在出错的前后开mode,可以减少无用的log。

@manateelazycat

1/2都实现了,
3在mac上没问题,
在windows上, C-x/C-c/C-g/M-x等都解决了,
但是win键作为super有问题,通过AutoHotkey在解决中。

evil用户的话,体验应该是最好的。
毕竟执行啥命令,都先escape到normal模式了。
情况比native用户简单得多。

2 个赞