ImTip:通用输入法提示工具

你说的自动切换输入法的需求非常棒,
但那可能要重新写一个软件了,目前 ImTip 没有与此有关的功能。
你可以向输入法作者反馈这个很棒的需求,输入法做这事可能更方便更可靠。
不过这边还是不建议用软件自动切换输入法,这不可控也容易出问题。

至于按左右 Shift 切换中英,这个启用 ImTip 的超级热键就可以实现,例子:

//右 SHIFT 键切换为英文
["RSHIFT"]  = function(hFocus){  
	key.ime.setOpenStatus(false);
	key.ime.setConversionMode(0); 
};

//左 SHIFT 键切换为中文
["LSHIFT"]  = function(hFocus){    
	var openState,mode = key.ime.state();
	if( openState && !key.ime.capital() ) return true; //当前已经是中文输入模式,不改变默认行为
	
	key.up("SHIFT");//先放开 SHIFT 键

	//如果是大写状态,切换为小写
	if(key.ime.capital())    key.press("CAPSLK") 

	//英文直接切中文 + 中文标点
	key.ime.setOpenStatus(true); //打开输入法
	key.ime.setConversionMode(1|0x400); //切换到中文状态,这一步不能省略
	
	//再次尝试用键盘切换中文标点,这一步不能省略
	key.combine("CTRL",".");
	
	//现在再次检测中文标点状态
	var openState,mode = key.ime.state();
	if(mode!=3/*_IME_SYMBOLMODE_SYMBOL*/){
		//说明切换到了英文标点,再切换回去
		key.combine("CTRL",".")
	}  
};

以上代码支持微软自带输入法,其他输入法如果正确响应控制代码,应当能用,如果不能用请向输入法作者反馈。

超级热键可以做的事很多,
如果将 aardio 目录下的 /lib/ 目录复制到 ImTip.exe 所在目录,
则可以调用 aardio 的全部标准库。

不过 ImTip 本身已经引入了大量的 aardio 库,一般够用了。

神一般的存在

你好, 关于vscode在vim模式个,点击行尾变成视图模式的那个问题, 我试用imtip和KBLAutoSwitch, 都有同样的问题, 先后给您和KBLAutoSwitch作者反馈了问题. KBLAutoSwitch作者昨天已经修复了.
下边是我录屏用imtip出现的情况
screenshots

当出现Tooltip提示的时候, 总会把vim的普通模式,变成视图模式

感谢耐心反馈,提供的信息很有帮助。
这边已经理解了,切换行尾跨越一定的行数可以重现问题。

测试了一下,关掉 ImTip 这个 Vim 插件也有一定机率出问题。如果 Vim 模式下点在行尾时,鼠标在按下状态下,难以察觉的微小抖动、或者当时有任意其他窗口显示( 或隐藏,即使该窗口在后台 ) ……会出现这问题。

我做了一个测试,另外写了一个普通窗口定时显示,然后 Vim 模式下点击行尾按住鼠标不放,别的窗口一出现,Vim 插件立即切换模式,很神奇。

稍后我改进一下,谢谢!

可能要考慮一下在 Github 內丟其他預設方案?
我發現現在用的方案(點及更多)跳出來的視窗點下去無法導入,看控制台應該是因為被瀏覽器的安全規則鎖住了

感谢反馈,请在页面上按 Ctrl + F5 刷新一下就可以了。
昨天为了兼容低版本浏览器,关了 HTTPS 导致的问题。

老大,aips这种软件可以适配一下吗 ai完全没显示

这些软件本来就很少需要打字,不显示应该是正常的吧,太频繁的提示也不好。
这种检测不到输入框或者文本指针的窗口是无法适配的。

v3.8 已经针对这个问题做了改进。
不过我这边测试,即使关掉 ImTip ,反复来回点击行尾 ,Vim 插件仍然有可能偶尔会出现这个问题。

感谢反馈!

今天我重新下载您的ImTip, 在vscode上试了下, 没有出现之前的问题了, 十分感谢