(或许可以解决中英文输入法切换频繁的问题)有没有输入法在输入英文的时候可以实时显示英文对应的中文候选字?

输入英文的时候,实时显示中文。

以空格和符号为界,确定英文对应的中文候选字,使用数字键输入数字,使用小键盘选择候选字。

像这样:
示例1.gif
示例2.gif

感觉这样的输入法能够解决中英文输入法切换频繁的问题,不知道有没有这样的输入法存在

好家伙,小键盘选字,手得多长

小键盘好像离手有点远了,那不妨考虑F1~F12选字?

现在的输入法开启单行模式加上使用AHK判断输入框窗口映射按键可以实现大部分功能,但仍有诸多不足。例如:

  1. 输入法会在预先上屏的英文字符之间加上单引号用来给中文分词,这个功能让人很难区分拼音和单词。
    像这样:

RIME 输入法虽然可以通过修改配置文件不显示用来分词的符号,但是AHK没办法捕获到输入框窗口。

  1. 文本编辑器无法正常使用。预先上屏的英文字符会覆盖后面的文字。Windows10 自带的记事本,Notepad++都有这样的问题。

像这样:


  1. 代码没办法实时补全。
    像这样:


    这个问题我猜是因为单行模式不够通用,程序没办法知道单行模式输入了什么,由此也能知道其他程序的部分功能可能也会因为这个问题而无法使用。

我觉得你的需求不是一个输入法。
因为并不需要走输入法协议。

类似软件dicom(只内置有英文或法文词典

用自造词进行示例
image

没看懂,中文输入法直接按回车不就是直接输英文吗

高明!「不需要走输入法协议」说得真好!我想到了一个办法:通过空格和符号来确定单词,将单词发给某个应用当成拼音分词,分好词之后,将拼音对应的中文候选字显示在光标旁边,再根据按下的按键确定要不要使用中文候选字替换当前单词。dicom搜不到,不知道有没有这样的软件?

我的手機上就是這種中英混輸的模式,基本不需要切換。倒是電腦輸入法不一定有這個功能。

image
这个里面的,一个便捷软件,似乎是法国人写的,和你一个思路。
不过并不适用中文,你得另写软件。

对,但应该没人愿意用这种方式敲代码

请问哪种输入法提供这种模式?支持拼音吗?

感谢!我尝试了一下,这个软件可以替换单词,条件是当前单词要与补全之后的单词至少有一个字符相同,而没有哪个汉字与英文字符相同……自己制作字典行不通了,还是得另找办法

你可以用影子输入法改吧改吧,应该比较容易实现。

大佬能不能帮我改改,:grin:不会让您白忙活的

很简单,这是keylist.ahk里面内容,
把对26个字母的拦截加个“~”,就可以实现了。
当然,其他细节上还有很多需要跟着改的地方,不过跟着走一遍就好了。

打字时:
image
上字后:
image

需要改的地方还主要包括以下几处:

  1. 上字前,先删字。
  2. 对空格、退格、回车、等等符号的针对处理。
  3. 将上字的按键从1234567890 改成 f1-f10(这点存疑,建议可以用caps+字母来输入数字,原本1-0还是用来选字)
  4. 其他随之而来的bug
delete_count := 0

loop
{
 ; 设置按键组合来触发输入框
    Input, userInput, L1 V,{LControl}{RControl}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{CapsLock}{NumLock}{PrintScreen}{Pause} ; 等待用户键入
    if (StrLen(userInput) = 1 && Asc(userInput) >= 65 && Asc(userInput) <= 90) || (Asc(userInput) >= 97 && Asc(userInput) <= 122) {
				delete_count++
    } else {
				delete_count := 0
    }
}
return

这段代码可以记录用户连续按下了多少个字母,Shift+字母也看成是一个字母。处理回车空格退格等符号,我打算直接关闭中文输入框,再发送符号,:joy:但是我不知道怎么改……上字按键其实不用改,需要输入数字的时候直接通过另外一个脚本使用 SendInput, {Text}+数字 输入就好了

我的輸入法或許能載入拼音,但我沒試過。

拼音在電腦上的輸入法,好像很多都支持Enter上屏英文。

“中英文输入法切换频繁的问题”
我的理解是,既然“切换频繁”,那就代表经常要中英文混输呗,那输英文的时候直接按回车不就得了?(有些输入法支持v模式输入英文。)
或者像我使用码表输入法直接导入英文词库,也可不切换输英文:
图片
(就是每个候选都附带一个结尾空格)
如果要连续输英文,切换一下又不费什么事。

搞定了,不过有个问题哦,
这样的情况下,是无法直接输入 中文标点 的。

建议搭配,通过长按符号来输入中文标点。


另外,输入候选条显示的情况下,通过:arrow_left: :arrow_right: 来调整 编辑框光标/候选条待字位置标记 的功能,我还没有进行适配。
因为,编辑框光标/候选条待字位置标记 并不是同步的。

  1. 候选条待字位置标记向左移动时,是以音为标准的,而不是以单个字母。
  2. 上字时,光标位置会处于单词中间,而不是末端,所以不能单纯通过发送字长个数的backspace来实现去掉英文单词。
    这个适配起来比较麻烦,你有兴趣自己去适配吧。。。

不过除此之外,基础输入法功能还算完善,以词定字/云词汇之类我常用的都有.

我发现这个玩意最适合整一个分裂式空格的键盘来搭配使用了。
可以
左空格==>中文输入候选1
右空格==>纯粹的英文空格

下载体验地址:
链接: https://pan.baidu.com/s/1BOdRB0a7ai7ebJ794bIBdQ?pwd=kvk7 提取码: kvk7 复制这段内容后打开百度网盘手机App,操作更方便哦