关于使用脚踏板切换中英输入法的方案详述

这个估计很难会量产,只能靠自己DIY了,可以试试把踏板改造一下, 或者diy一个小机械键盘,然后弄成手托。

不用Shift切换的人已经是少数了,用踏板更是少数中的少数 :joy:

手腕搭拉在腕托上,触发按键,是中文输入。

感觉这个交互很微妙,偏个性化了,需要按照自己的实际情况调整(每个人的键盘尺寸不同、使用姿势不同、手的力道不同等)

个人觉得脚踩挺好的,脚踩的交互有点像钢琴键盘下面的三个踏板,或者汽车的油门,还是很舒服的,手脚分工。(我觉得这样还能帮我在打字时养成良好的坐姿)

是不是可以通过鼠标所在所在程序的情况来自动切换呢?例如
检测到在浏览器的登录界面,用户名和密码就自动切换为英文。
检测在QQ的对话框里就切换为中文。
检测在vs code里面就切换为中文加半角符号。
检测在cmd里就切换为英文。
在某些程序里,不管是用全角还是半角输入的符号通通转化为半角。当然也在另外一些程序里通通转化为全角。
具备自学习功能,能够推测未设置程序里使用者最希望使用的输入法。

1 个赞

具备推荐功能,根据使用习惯相似的其他用户的习惯,向用户推荐新的操作方法,或者当用户使用新的软件的时候,自动去采用大多数用户都会切换的模式去切他。

用键盘记录来推测行不行?某用户每次打开IE浏览器的某某某地址的时候,总是使用英文输入法,所以这一次用户打开浏览器的时候,我们自动替它切换为英文输入法。

我的需求不能用楼上所说的场景识别来解决:

我在写理科类文字时,用到了Markdown的Tex,中文与数学公式交织,而且我需要使用中文的标点符号,需要一个方便切换中英文的办法,实在不想不停地按shift或者ctrl+space了。

随便举个小例子,实际中码字比这个复杂得多

电子的荷质比是$\frac{e}{m_e}$,其中$e$电子的电荷,$m_e$是电子质量。

1 个赞

我觉得这时候需要一个大佬来实现每当输入了$或¥的时候或光标进入了latex段、代码段,自动切换系统输入法为英文状态,Windows上可以通过和系统的IME接口实现切换输入法。

1 个赞
1 个赞

这个方案对于写markdown文档是好的,可以快速打出md的语法。

但如果有写/[/LaTeX/]公式的需求,目前感觉还是松踩踏板最方便

(大段中文和小段英文符号+字母交叉的情况)

这就像智能家居一样,真正智能是无感知的,我感觉这很容易实现,就看输入法开发商愿不愿意(我用win11微软自带输入法,好像是有记住窗口输入语言的选项的,但是刚刚没找到)。不过还是不能满足需求,比如我用某些软件过程中,突然想输入一个英文标点,还得手动的输

受你的启发,我改了一个自我感觉更顺畅的方法,按输入法切合键是切换输入法,连按两次是拼音转中文,并且用正则处理了汉字和字母夹杂的情况

SetCapsLockState, AlwaysOff

; capslock 按一次是切换中英文,按两次是输错了重新输入。
CapsLock::
	if Caps_presses > 0
	{
		Caps_presses += 1
		SetTimer Capskey, 200
		return
	}
	Caps_presses = 1
	SetTimer Capskey, 200
return

Capskey:
	SetTimer Capskey, off
	if Caps_presses = 1
	{
		SendInput,+
	}
	else if Caps_presses = 2
	{
		tocorrect()
	}
	Caps_presses = 0
return

tocorrect() 
{
	SendInput, +{Home}
	Sleep, 10
	SendInput, ^c
	Sleep, 10
	SendInput,+
	getenpos := RegExMatch(Clipboard, "\w+$") ;获得最后出现的一串英文字符的出现位置
	Clipboard1 := SubStr(Clipboard, 1, getenpos-1)
	Clipboard2 := SubStr(Clipboard, getenpos)
	Sleep, 10
	SendInput,{Text}%Clipboard1%  ;text启用文本模式, 它发送的是字符流而不是按键
	Sleep, 10
	SendInput,%Clipboard2%
}
return

用外挂输入法,不会有 ctrl+shift, 单个 shift,还是 ctrl+space , 或win+space 之间使用哪个的纠结,因为都不能用。

如影子输入法,可定义切换热键为 alt+space,两个大拇指,没那么累,支挂自定义为不同的程序设置不同的默认输入状态。

你的方法不错,精致多了