# 英文状态怎么输入中文

**URL:** <https://meta.appinn.net/t/topic/32002>\
**Category:** 问题求助\
**Tags:** windows\
**Created:** [2022 年4 月 24 日 04:14 UTC](https://meta.appinn.net/t/topic/32002 "2022-04-24T04:14:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

作者： ![qiuzip](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/q/e36b37/32.png) [@qiuzip](https://meta.appinn.net/u/qiuzip)\
发布日期： [2022 年4 月 24 日 04:14 UTC](https://meta.appinn.net/t/topic/32002/1 "2022-04-24T04:14:03Z")

</div>

最近聊输入法中英文状态挺多，鼠标显示状态似乎是很好的方法。  
我想问题的本质是不是，中英文状态的不确定？  
能不能不管中文还是英文状态，直接用一个键上屏中英文呢？

如果能直接用英文输入中文，中文输出字母，不就绕过这个问题吗？  
实际上，大多数中文输入法，在中文输入时按下Shift键，就能直接上屏字母并切换到英文输入。  
所以只要能在英文状态输入中文，是不是就可以不用再考虑输入法中英文状态了呢？

[Capslock+](https://cjkis.me/capslock+/)有2个功能，Capslock+T翻译光标处单词，Capslock+Tab键替换文本或计算数值。  
能不能把这种功能提取出来改造一下呢？我的想法是：  
①Capslock+Tab切换大小写（腾出Capslock键）  
②按下Capslock键时，如果检测到光标左侧是字母（上一次输出了字母），则回删整条单词（由最后一个字母往前取码，直到不包含字母），接着输出Ctrl+空格或者Ctrl+,（搜狗快捷键），然后输入该条单词。  
③按下Capslock键时，如果检测到光标左侧没有字母，就输出切换英文的Shift键。

 ![搜狗截图20220424111031](https://meta.appinn.net/uploads/default/original/3X/3/6/366966dee47fe3ecc218ab0a41ff9f85389a86c4.png)

 ![image](https://meta.appinn.net/uploads/default/original/3X/a/e/aeadb098fa11b958498a33bf49a7914a0e6eefac.png)

---

<div class="post-metadata">

作者： ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
发布日期： [2022 年4 月 24 日 04:44 UTC](https://meta.appinn.net/t/topic/32002/3 "2022-04-24T04:44:07Z")

</div>

> [@求Windows端能舒服地输入英文符号的办法](https://meta.appinn.net/t/topic/26834/54):
>
> 在主站的讨论中，非常认同以下两人看法，所以试着用ahk写了段代码，实现了一键转错输的拼音或符号为中文的。 用的是appskey，没有这个键的建议换成右ctrl。 使用效果见图，用起来还是非常爽的瞬间完成，而且appskey就在右ctrl边上，盲摸过去就很准确舒服了。 [测试] 可以看到不止Pinyin，逗号句号等英文符号也适用…… 代码如下： AppsKey:: send , +{Home} sleep, 20 send, ^c send,{shift} ;通过shift切换中文，可自行修改 if (StrLen(Clipboard)) \< 20 { sendinput,%Clipboard% } else { Clipboard1 := SubStr(Clipboard, 1, -20) Clipboard2 := SubStr(Clipboard, -19) sendinput,{Text}%Clipboard1% s…

> [@关于使用脚踏板切换中英输入法的方案详述](https://meta.appinn.net/t/topic/26904/50):
>
> 受你的启发，我改了一个自我感觉更顺畅的方法，按输入法切合键是切换输入法，连按两次是拼音转中文，并且用正则处理了汉字和字母夹杂的情况 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,+ …

---

<div class="post-metadata">

作者： ![dog](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/dog/32/18667_2.png) [@dog](https://meta.appinn.net/u/dog)\
发布日期： [2022 年4 月 24 日 04:47 UTC](https://meta.appinn.net/t/topic/32002/4 "2022-04-24T04:47:42Z")

</div>

@XVLTUser [XVLTUser](https://meta.appinn.net/u/XVLTUser)

他的这段代码已经完全可以实现你说的了，稍微改一下就行了
