@goumao 这个新的mode 搞的怎么样了?
我发现在Lwin前面加个* 就表示任何和Lwin的组合键都触发AHK的语句,这样就解决了按s-J
的时Win和shift的顺序问题。
*Lwin::
IfWinActive,ahk_class Emacs
{
Send ^x
sleep 100
Send % "@s"
KeyWait, Lwin
}
else
{
Send {Lwin down}
KeyWait, Lwin
send {Lwin up}
}
现在剩下的问题是:
s-J
这样的组合没法连续触发。(这种情况,其实用的不多,可以克服 )
- 按太快会直接输入@s 。
这个问题我发现是因为上面的100毫秒延迟造成的,如果去掉这个延迟,在英文状态下就可以正常工作了。 不过如果是中文状态,因为必须留点时间给输入法切换为英文,这个看来是避免不了了。(正常手速也不会快过100ms )
goumao
673
=========更新==========
使用外置工具切换输入法的,
请参照readme修改do-set的配置
不改也行,
但改了后,输入法切换从同步改成异步。
效果已经和native api切换没有区别了。
默认的macism,
因为要绕过MacOS的bug,切换是最慢的
采用异步方式后(最新git版已包含)
体验提升非非非非非非非非常之大。
你说的外置切换工具是指macism 和 im-select 这种?我看了read me 但还是不怎么明白怎么设置,能否举例下macism怎么设置改为异步吗?
@goumao Windows 下最新版本正常使用,切换输入法速度很快。
Mac 下更新最新版后,没办法切换输入法了,切成中文后瞬间就自动切回英文。
回滚到5f0631a94b6bc23d8af5def5a5a1bf62ff70b60d
这个版本就正常。
goumao
677
是那个switch吧?
我这里最开始出现过,后来就没有了。
现在的方式,
set的时候直接启动进程,不启动shell
应该是sleep太短。
是的,用的smart-input-source-switch
功能切换,直接M-x启动也是一样
goumao
679
@aqua0210
(setq-default smart-input-source-do-set
(lambda(source) (start-process "set-input-source" nil "macism" source "5000")))
5ms太小,改后面的5000那个值,测一下什么时候可以。
启动switch的时候报错了
Debugger entered--Lisp error: (wrong-type-argument stringp 5000)
我试过换成 “5000” 然后系统就疯狂提示我更改权限。还要设置什么权限?
goumao
683
我试试。
不应该啊~~~
应该是辅助功能
权限吧?
第一次运行的时候,就要求过了。
因为模拟的快捷键,
而快捷键是需要权限的。
对的,提示设置辅助功能权限,但是这个之前都是设置过的。
goumao
686
其实可以把sleep设大,反正都异步了,sleep时间长不影响体验。
goumao
687
brew upgrade macism
我更新了,
把sleep从5ms升到20ms
我觉得可能还是不够
brew upgrade macism 更新到1.2.2版本还是不行
goumao
689
@aqua0210
那你用我刚才的方法增加sleep时间呢?
看下到底需要多久。
那个授权,
是不断弹出,授权一次没有用么?
我有个想法:
- macism默认还是5ms
- 本package里面从启动参数设一个高很多的时间。
这样,vim或者其它用户,用macism也不会性能下降很大
本package是异步的,也不会受到影响。
没法授权的,因为已经授权了。一直无限弹出提示打开设置授权的窗口
更新:
刚才成功设置到了 8000 可以切换了。但是重启软件后又无限弹这个界面。
我这边感觉原来的版本没什么延迟啊!你那边延迟很明显吗?