感觉名字可以短点,smart-input
- auto save buffer input source实现进去了。
- 现在save-triggers是空的时候,也能正常切换。
但是,save-triggers 和 hint-mode 都还留着没删。
这样,如果用户怕耗系统资源,
把idle切换间隔设置的比较长的话,
仍然可以通过save-triggers实现及时保存。
晚上我给更新到文档上去。
===== 更新 =======
想了想,
还是激进点
把save-triggers 和 hint-mode 删掉了。
减少用户配置时的迷惑。
你试下git最新版,
最新版save-triggers是可选的特性,不加进去也可以。
==== 更新====
最新版save-triggers已删除。
--------------------我是分割线------------------------------
请问下最新版本在颜色设置这块有什么更新吗?
我在Mac 上原来的配置没法更新颜色了,默认把我的光标显示成绿色了,看起来像是匹配了主题的颜色。
颜色这块没动。
绿色是默认色。
你现在自己配置的颜色不起作用了么?
现在我去掉了自己的配置,直接用你的 (smart-input-source-global-cursor-color-mode t)
就可以自动切换颜色了,只是颜色是绿色,我想改成黄颜色可以吗?用习惯了
(setq smart-input-source-other-cursor-color "yellow")
我刚才本地试了,是可以的。
这个可以了
@goumao 关于Windows 上super 键的问题,我尝试了长按win键的时候输入C-x,@s
,基本可以实现,但是有问题,就是单按win键时不能按太久,像s-J
这种就没事。请教下AHK怎么实现按住Win+ 其他组合键盘时,Win 只发送一次 C-x,@s
? 以下是我目前的代码:
#SingleInstance
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#MaxHotkeysPerInterval 200
Lwin::
if GetKeyState("Lwin", "P")
{
Send ^x
Sleep 200
Send % "@s"
return
}
KeyWait, Lwin
return
加时间检测?
第一次执行按下代码的时候,记下当时的时间last-time。
第二次执行的时候,如果在2秒范围之内,就跳过。并且更新last-time
我原来也这么想的,但一直没找到记录按压时间的函数。 原来我把等待按键抬起的命令放大括号里面就可以解决了,这样只会执行一次语句块,就等抬起。
#SingleInstance
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#MaxHotkeysPerInterval 200
Lwin::
if GetKeyState("Lwin", "P")
{
Send ^x
Sleep 200
Send % "@s"
KeyWait, Lwin
}
return
那我最好给加到winsuper上?
@goumao 现在这个完美了,所有s-hotkey
的都能按了,除了s-x,s-x
这种,M-s-o
这种也没问题了。
Lwin::
IfWinActive,ahk_class Emacs
{
Send ^x
Sleep 100
Send % "@s"
KeyWait, Lwin
}
else
{
Send {Lwin down}
KeyWait, Lwin
send {Lwin up}
}
Return
补充:
另外反馈一个情况,目前我在Windows 上使用感觉自动切换光标颜色的功能明显延迟高。
(smart-input-source-global-cursor-color-mode t)
(setq smart-input-source-other-cursor-color "orange")
我用cursor-chg 这个包切换的话就没延迟。
(add-hook 'smart-input-source-set-english-hook
(lambda ()
(setq current-input-method nil)
))
(add-hook 'smart-input-source-set-other-hook
(lambda ()
(setq current-input-method "rime-smart")
))
更新:
我回滚到 d377b4feb0a56fd073ef919bf90c7ff72723f447
这个版本用回triggers的方式就很流畅了。
最新的我试了下也发现很卡,我不知道是哪个原因造成的,也是用回triggers方式了
这个卡,是什么个意思。
是smart-input-source自动更改输入法的时候,就卡么?
还是说:比如C-x, b的时候,响应变慢?
我可能知道原因了。。。。。
关键点不在trigger上,
而是在切换软件上。
老的方式是:
- 先读输入法,如果输入法没改变,那么就不换输入法。
新的方式是:
- 直接更改输入法,无论输入法有没有发生改变。
这样的话:
- 新的方式下,
macism
更高效。因为在英文到中文,或者中文到英文的切换时,可以少启动一次macism。 - 如果 im-select 的读取和无效切换(英文到英文,或者中文到中文)耗时差别很大, 那可能老的方式效率更高。
你的分析应该是对的。我在Mac 上确实没有感觉到延迟,但是在Win下,切换输入法的时候延时很明显,没法忍受。有办法解决吗?
如果是刚才的原因,肯定是可以解决的啦
你帮我测试一下运行时间:
- 英文状态下:im-select读状态
- 中文状态下:im-select读状态
- 中文状态下:im-select切中文
- 中文状态下:im-select切英文
- 英文状态下:im-select切中文
- 英文状态下:im-select切英文
有这些数据,就能确定是不是那个问题了。
我不懂怎么测试时间,没有安装相关的包。有什么建议吗?