标签

 输入法 

相关的文章:

本列表页包含了关于Windows键盘语言切换快捷键、输入法漏洞、RIME输入法体验和配置、字体和新玩意的文章。了解如何在多种语言输入法间切换,发现输入法漏洞的影响,分享RIME输入法的使用体验和配置方法,以及探索字体和新玩意。

App+1 | 小鹤音形在 iPhone 上的完美归宿:仓输入法

原文约3300字,阅读约需8分钟。发表于:

「仓」作为一款 Rime 引擎的输入法,虽然配置过程可能需要一些时间和耐心,但一旦完成,定制化的输入体验还是会带来不少的便利。查看全文

Matrix是少数派的写作社区,推荐了一款名为'仓输入法'的iOS端输入法,基于RIME引擎,支持个性化输入方案和自定义方案。文章介绍了下载和配置仓输入法,推荐了两款小鹤音形输入方案,以及其他设置如键盘配色和布局。设置更改后需点击'重新部署'生效。

App+1 | 小鹤音形在 iPhone 上的完美归宿:仓输入法
相关推荐 去reddit讨论

当 Windows 键盘语言有三种或以上时,使用快捷键在其中两种语言输入法间切换

键盘语言 vs. 输入法 首先需要区分一下键盘语言和输入法的概念。对于 Windows 而言,一个键盘语言可以包括多个输入法。比如我们一般会使用的简体中文键盘就包括微软输入法、搜狗输入法等: 而英文键盘就是基础的「所按即所得」输入法,或者通俗理解成没有字形输入法。每种输入法都有自己适用的键盘语言,比如不能把搜狗输入法装在英文或繁体中文的键盘下,只能用于简体中文键盘(繁体中文键盘下一般只有注音输入法)。 对于简体中文用户来说,习惯上一般配置一种或两种键盘。以下是这两种配置习惯的区别: 配置一个简体中文键盘:简体中文键盘 + 简体中文输入法(搜狗等)。这时候默认一开机就是中文输入法,如果需要输入英文可以按键盘上的 Shift 键来切换。但 Shift 键经常容易误触,而且在不同应用间的中文和英文无法做到统一,即中英模式是跟着应用走的,比如在文本编辑器里已经切成了英文模式,一回到浏览器窗口又自动变成了默认的中文模式。 配置一个简体中文键盘和一个英语键盘:个人推荐这种做法。在这种情况下使用 Windows+Space 键或 Alt+Shift 键切换键盘,全局生效,而简体中文键盘中的中文输入法就一直保持中文模式就好了。 多种键盘语言切换的问题 但在一些情况下,可能需要配置多种键盘。比如为了把系统语言调成繁体中文就必须增加一个繁体中文键盘: 而繁中键盘自带一个微软注音输入法。Windows 默认会保证每个键盘语言至少有一种输入法,即使用不到也无法删掉。这时候切换输入法时,Windows+Space 按键就变成了在三种输入法中来回切换,让使用起来很麻烦。 如何让 Windows+Space 按键始终保持在两种常用键盘间切换就是本文要解决的问题。 方法一:删除多余的键盘 直接强行把繁体中文键盘中的注音输入法删掉,这样切换时就只在两种键盘间切换了。因为在这种情况下繁体中文键盘根本没有对应的输入法了。 可以使用以下 Powershell 脚本: 1 2 3 4 $LangList = Get-WinUserLanguageList # 获取当前用户的语言列表 $MarkedLang = $LangList | where LanguageTag -eq "zh-Hant-TW" # 在语言列表中查找语言标签为"zh-Hant-TW"的语言 $LangList.Remove($MarkedLang) # 从语言列表中移除该语言 Set-WinUserLanguageList $LangList -Force # 强制设置更新后的语言列表 将代码保存成ps1文件然后右键管理员运行即可。 来源:https://www.majorgeeks.com/content/page/how_to_remove_a_language_from_windows_10.html 方法二:使用 AutoHotKey 覆写快捷键 如果我们不想直接删除第三种语言的输入法怎么办呢?有时候第三种语言的输入法虽然不常用但也会偶尔用到,因此我们的需求只是在日常高频使用时方便即可。这时我们可以用 AutoHotKey 覆写 Windows+Space 快捷键,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #Requires AutoHotkey v2.0 #Space:: ; 当按下Windows+Space时触发以下代码块 { currentLang := GetKeyboardLanguage() ; 获取当前键盘语言 if (currentLang = "1033") ; 如果当前键盘语言是1033(英语) { PostMessage(0x50, 0, 0x0804,, "A") ; 发送消息切换到0804(简体中文) } else ; 如果当前键盘语言不是1033 { PostMessage(0x50, 0, 0x0409,, "A") ; 发送消息切换到0409(英语) } return ; 结束这个热键的执行 } GetKeyboardLanguage() ; 定义一个函数,用于获取当前键盘语言 { ThreadID := DllCall("GetWindowThreadProcessId", "uint", WinExist("A"), "uint", 0) ; 获取当前窗口的线程ID HKL := DllCall("GetKeyboardLayout", "uint", ThreadID) ; 获取当前线程的键盘布局 return HKL & 0xFFFF ; 返回键盘布局的低位字,即键盘语言ID } 以上脚本其实是用 GPT 帮我写的,因为本身完全没学过 ahk 编程。该脚本的作用是每次按下 Windows+Space 时检查一下当前的键盘语言: 如果是英文键盘,切换到简体中文键盘; 如果是简体中文键盘,切换到英文键盘; 如果是其他语言的键盘,一律切换到英文键盘。 这样日常操作时就方便了。如果要久违地切到第三种乃至更多其他语言的键盘时,只需要用另一个键盘语言切换的快捷键 Alt+Shift 即可,或者用鼠标直接在语言栏点选也可以。 然而,在某些情况下,以上 GetKeyboardLanguage 方法可能在一些窗口下无法获取到键盘语言,如果遇到这种情况,干脆自己维护一个全局变量。以下是相关代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #Requires AutoHotkey v2.0 currentLang := 2 ; 改成电脑开机时的初始键盘,1为英文,2为中文 #Space:: { Global currentLang if (currentLang = 1) { PostMessage(0x50, 0, 0x0804,, "A") ; cn currentLang := 2 } else { PostMessage(0x50, 0, 0x0409,, "A") ; en currentLang := 1 } return } 另外,还遇到一个问题,有个别应用程序被 PostMessage 时会崩溃,我采用的解决方案是切到其他窗口再进行 Post,以下是完整代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #Requires AutoHotkey v2.0 currentLang := 2 #Space:: { Global currentLang if (currentLang = 1){ SetKeyboard(0x0804, 2) ; cn }else{ SetKeyboard(0x0409, 1) ; en } return } SetKeyboard(langID, currentLangUpdate){ Global currentLang if(not WinExist("A")){ return } if(WinActive("ahk_exe Fork.exe")){ ; 会崩溃的应用程序 ;Send("!{Tab}") ; 通过模拟按键 Alt + Tab 来切换 AltTab() ; 直接调用函数进行切换,好处是不会短暂地显示切换窗口 Sleep 300 SetKeyboard(langID, currentLangUpdate) Sleep 300 ;Send("!{Tab}") AltTab() return } PostMessage(0x50, 0, langID,, "A") currentLang := currentLangUpdate } AltTab(){ ids := WinGetList(,, "Program Manager") for this_id in ids { if(WinActive("ahk_id " this_id)){ continue } if(WinGetTitle("ahk_id " this_id) = ""){ continue } If (!IsWindowVisible(this_id)) continue WinActivate("ahk_id " this_id) break } } IsWindowVisible(id){ static WS_VISIBLE := 0x10000000 Style := WinGetStyle("ahk_id " id) if (Style & WS_VISIBLE) return 1 return 0 }

相关推荐 去reddit讨论

当 Windows 键盘语言有三种或以上时,使用快捷键在其中两种语言输入法间切换

原文约2300字,阅读约需6分钟。发表于:

键盘语言 vs. 输入法 首先需要区分一下键盘语言和输入法的概念。对于 Windows 而言,一个键盘语言可以包括多个输入法。比如我们一般会使用的简体中文键盘就包括微软输入法、搜狗输入法等: 而英文键盘就是基础的「所按即所得」输入法,或者通俗理解成没有字形输入法。每种输入法都有自己适用的键盘语言,比如不能把搜狗输入法装在英文或繁体中文的键盘下,只能用于简体中文键盘(繁体中文键盘下一般只有注音输入法)。 对于简体中文用户来说,习惯上一般配置一种或两种键盘。以下是这两种配置习惯的区别: 配置一个简体中文键盘:简体中文键盘 + 简体中文输入法(搜狗等)。这时候默认一开机就是中文输入法,如果需要输入英文可以按键盘上的 Shift 键来切换。但 Shift 键经常容易误触,而且在不同应用间的中文和英文无法做到统一,即中英模式是跟着应用走的,比如在文本编辑器里已经切成了英文模式,一回到浏览器窗口又自动变成了默认的中文模式。 配置一个简体中文键盘和一个英语键盘:个人推荐这种做法。在这种情况下使用 Windows+Space 键或 Alt+Shift 键切换键盘,全局生效,而简体中文键盘中的中文输入法就一直保持中文模式就好了。 多种键盘语言切换的问题 但在一些情况下,可能需要配置多种键盘。比如为了把系统语言调成繁体中文就必须增加一个繁体中文键盘: 而繁中键盘自带一个微软注音输入法。Windows 默认会保证每个键盘语言至少有一种输入法,即使用不到也无法删掉。这时候切换输入法时,Windows+Space 按键就变成了在三种输入法中来回切换,让使用起来很麻烦。 如何让 Windows+Space 按键始终保持在两种常用键盘间切换就是本文要解决的问题。 方法一:删除多余的键盘 直接强行把繁体中文键盘中的注音输入法删掉,这样切换时就只在两种键盘间切换了。因为在这种情况下繁体中文键盘根本没有对应的输入法了。 可以使用以下 Powershell 脚本: 1 2 3 4 $LangList = Get-WinUserLanguageList # 获取当前用户的语言列表 $MarkedLang = $LangList | where LanguageTag -eq "zh-Hant-TW" # 在语言列表中查找语言标签为"zh-Hant-TW"的语言 $LangList.Remove($MarkedLang) # 从语言列表中移除该语言 Set-WinUserLanguageList $LangList -Force # 强制设置更新后的语言列表 将代码保存成ps1文件然后右键管理员运行即可。 来源:https://www.majorgeeks.com/content/page/how_to_remove_a_language_from_windows_10.html 方法二:使用 AutoHotKey 覆写快捷键 如果我们不想直接删除第三种语言的输入法怎么办呢?有时候第三种语言的输入法虽然不常用但也会偶尔用到,因此我们的需求只是在日常高频使用时方便即可。这时我们可以用 AutoHotKey 覆写 Windows+Space 快捷键,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #Requires AutoHotkey v2.0 #Space:: ; 当按下Windows+Space时触发以下代码块 { currentLang := GetKeyboardLanguage() ; 获取当前键盘语言 if (currentLang = "1033") ; 如果当前键盘语言是1033(英语) { PostMessage(0x50, 0, 0x0804,, "A") ; 发送消息切换到0804(简体中文) } else ; 如果当前键盘语言不是1033 { PostMessage(0x50, 0, 0x0409,, "A") ; 发送消息切换到0409(英语) } return ; 结束这个热键的执行 } GetKeyboardLanguage() ; 定义一个函数,用于获取当前键盘语言 { ThreadID := DllCall("GetWindowThreadProcessId", "uint", WinExist("A"), "uint", 0) ; 获取当前窗口的线程ID HKL := DllCall("GetKeyboardLayout", "uint", ThreadID) ; 获取当前线程的键盘布局 return HKL & 0xFFFF ; 返回键盘布局的低位字,即键盘语言ID } 以上脚本其实是用 GPT 帮我写的,因为本身完全没学过 ahk 编程。该脚本的作用是每次按下 Windows+Space 时检查一下当前的键盘语言: 如果是英文键盘,切换到简体中文键盘; 如果是简体中文键盘,切换到英文键盘; 如果是其他语言的键盘,一律切换到英文键盘。 这样日常操作时就方便了。如果要久违地切到第三种乃至更多其他语言的键盘时,只需要用另一个键盘语言切换的快捷键 Alt+Shift 即可,或者用鼠标直接在语言栏点选也可以。 然而,在某些情况下,以上 GetKeyboardLanguage 方法可能在一些窗口下无法获取到键盘语言,如果遇到这种情况,干脆自己维护一个全局变量。以下是相关代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #Requires AutoHotkey v2.0 currentLang := 2 ; 改成电脑开机时的初始键盘,1为英文,2为中文 #Space:: { Global currentLang if (currentLang = 1) { PostMessage(0x50, 0, 0x0804,, "A") ; cn currentLang := 2 } else { PostMessage(0x50, 0, 0x0409,, "A") ; en currentLang := 1 } return } 另外,还遇到一个问题,有个别应用程序被 PostMessage 时会崩溃,我采用的解决方案是切到其他窗口再进行 Post,以下是完整代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #Requires AutoHotkey v2.0 currentLang := 2 #Space:: { Global currentLang if (currentLang = 1){ SetKeyboard(0x0804, 2) ; cn }else{ SetKeyboard(0x0409, 1) ; en } return } SetKeyboard(langID, currentLangUpdate){ Global currentLang if(not WinExist("A")){ return } if(WinActive("ahk_exe Fork.exe")){ ; 会崩溃的应用程序 ;Send("!{Tab}") ; 通过模拟按键 Alt + Tab 来切换 AltTab() ; 直接调用函数进行切换,好处是不会短暂地显示切换窗口 Sleep 300 SetKeyboard(langID, currentLangUpdate) Sleep 300 ;Send("!{Tab}") AltTab() return } PostMessage(0x50, 0, langID,, "A") currentLang := currentLangUpdate } AltTab(){ ids := WinGetList(,, "Program Manager") for this_id in ids { if(WinActive("ahk_id " this_id)){ continue } if(WinGetTitle("ahk_id " this_id) = ""){ continue } If (!IsWindowVisible(this_id)) continue WinActivate("ahk_id " this_id) break } } IsWindowVisible(id){ static WS_VISIBLE := 0x10000000 Style := WinGetStyle("ahk_id " id) if (Style & WS_VISIBLE) return 1 return 0 }

键盘语言和输入法是不同的概念,Windows系统中一个键盘语言可以有多个输入法。简体中文键盘有微软输入法和搜狗输入法,英文键盘没有字形输入法。推荐配置一个简体中文键盘和一个英语键盘。在某些情况下,可能需要配置多种键盘,可以通过删除多余的键盘或使用AutoHotKey覆写快捷键来解决。

当 Windows 键盘语言有三种或以上时,使用快捷键在其中两种语言输入法间切换
相关推荐 去reddit讨论

FreeBuf早报 | 多家输入法厂商发现漏洞;美医保巨头支付赎金后再发数据泄露

原文约2200字,阅读约需6分钟。发表于:

发生勒索攻击事件两个月后,联合健康集团终于承认已发生数据泄露。

公民实验室发现9家厂商输入法存在安全漏洞,影响10亿用户。美国总统拜登签署法案,要求字节跳动在9个月内出售TikTok。91%的美国银行重新考虑使用语音验证,因为AI语音克隆技术导致合成身份欺诈。美国防部推出漏洞奖励计划,帮助增强国防工业基地的网络安全能力。Google Chrome再次推迟淘汰第三方Cookie,面临监管审查。

相关推荐 去reddit讨论

输入法重大漏洞曝光,仅华为幸免,近10亿用户受影响

原文约2200字,阅读约需6分钟。发表于:

据估计,有近十亿用户受到这类漏洞的影响,其中搜狗、百度和 iFlytek 的输入法编辑器占据了很大的市场份额。

Citizenlab研究人员发现了百度、华为、Oppo、三星、腾讯、Vivo和小米等多个厂商的输入法应用存在安全漏洞,黑客可以利用这些漏洞窃取用户输入。研究人员建议用户更新应用程序和操作系统,并切换到本地操作的键盘应用程序以减少隐私风险。他们还建议应用程序开发者使用经过测试的加密协议,并要求应用商店运营商不要阻止安全更新。

相关推荐 去reddit讨论

尝试了众多输入法方案后,我想和你分享这些心得

原文约9400字,阅读约需23分钟。发表于:

但愿每个人都能找到适合自己的输入方案,其实速度够用就好,大家不必盲目追求。查看全文

文章介绍了作者学习输入法方案的经历和感受,尝试了多种方案后选择了虎码作为自己的输入法方案。作者认为虎码学习简单,生态完善,适合日常使用和写作需求。还提到了形码适合打单和打词的争议,以及不同输入法的选择建议。希望每个人都能找到适合自己的输入法方案。

尝试了众多输入法方案后,我想和你分享这些心得
相关推荐 去reddit讨论

Windows小狼毫(RIME)输入法使用体验

原文约2900字,阅读约需7分钟。发表于:

我使用小狼毫输入法已经3个多月了,现在说一说使用的体验。

小狼毫输入法是RIME输入法在Windows上的名称,提供明文词库导出、不上传用户信息、无广告等优点。作者选择小狼毫输入法的原因是其他输入法不支持个人词库导出、有广告和与输入无关的功能。作者之前尝试过谷歌和微软输入法,但不满意。最终选择了RIME输入法,配置简单,支持明文词库导出和隐私保护。作者使用的是RIME+雾凇拼音方案。文章介绍了配置方法,并指出RIME输入法的不足之处。

相关推荐 去reddit讨论

薄荷输入法(oh-my-rime)- 跨平台 Rime 输入法配置套件:无隐私追踪、完全开源、高自定义

原文约1500字,阅读约需4分钟。发表于:

oh-my-rime 输入法是一款基于 Rime 输入法引擎的跨平台输入法配置套件,也叫薄荷输入法,可以直接导入现有 Rime 输入法中,拥有拼音、双拼、五笔,支持浅色/深色皮肤,简繁输入、中英文混合

oh-my-rime是一款基于Rime输入法引擎的输入法配置套件,支持拼音、双拼、五笔等输入方案,提供快速初始化配置模板,降低了Rime的使用门槛。支持亮色/暗色皮肤样式,中英混合输入,Emoji表情等。可以导入现有Rime输入法中使用。

薄荷输入法(oh-my-rime)- 跨平台 Rime 输入法配置套件:无隐私追踪、完全开源、高自定义
相关推荐 去reddit讨论

社区速递 035 | 派友们的最爱字体、输入法鼓捣和新玩意们

原文约6300字,阅读约需15分钟。发表于:

除了首页时间流和侧栏的精选展位,少数派Matrix社区还有很多优秀内容因条件所限无法得到有效曝光,因此我们决定重启Matrix周报,并在此基础上添加更多社区内容、作者投稿新玩意以及社区产品动态呈现给大 ...查看全文

Matrix社区决定重启Matrix周报,展示社区内容、作者投稿和社区产品动态。本周精选包括《我的输入法捣鼓指南》、《成年人Gap的意义:学会生活》、《远程工作一年,是什么样的体验》、《在大学里,我如何用「跨界」去搜寻「自我」》和《脆弱与反脆弱》等文章。社区讨论了自定义字体的喜好,作者推荐了马里奥问号砖挂件、泡泡骚×Anker磁吸充电宝和计时器等新玩意。

社区速递 035 | 派友们的最爱字体、输入法鼓捣和新玩意们
相关推荐 去reddit讨论

(同步) 使用 electronjs 实现 ibus 输入法的用户界面

原文约9700字,阅读约需23分钟。发表于:

ibus 输入法框架自带一套用户界面, 但是从灵活程度和可扩展的角度考虑, 最好还是另外想办法实现用户界面, 而不是用 ibus 自带的这个.

本文介绍了使用electronjs开发ibus输入法用户界面的方法,包括透明窗口和光标跟随等功能的实现。electronjs是一个跨平台的桌面应用程序开发框架,可以简单方便地开发丰富多样的输入法用户界面。

相关推荐 去reddit讨论