如何在 Windows 10 中切换语言(几乎)像在 OS X、Android、iPhone 中一样

如何在 Windows 10 中切换语言(几乎)像在 OS X、Android、iPhone 中一样

当您有 3 个以上的键盘输入源(语言)并且按下Cmd+ 时,OS X 具有这个非常好的功能Space,您只需在其中两个之间切换。

如果您想切换到另一种(第三种)语言,只需按住Cmd并按下Space即可从可用输入源列表中进行选择。

我如何在 Windows 10 上实现类似的功能?我有 3 个输入源,循环查找我需要的输入源真的很烦人。

答案1

可以在 Windows 10 中为某种语言分配键盘快捷键:

  1. 控制面板 -> 时钟、语言和区域 -> 语言 -> 高级设置

  2. 在下面切换输入法, 点击更改语言栏热键,然后点击您的语言,最后点击更改按键顺序

  3. 这将显示一个对话框,您可以在其中为该语言分配快捷键:

图像

由于上述快捷键非常有限,因此可以使用例如自动热键将其更改为任何其他键盘组合。一旦您学会了 AutoHotkey,就可以轻松重现 OSX 的确切行为(您也可以在其论坛上寻求帮助)。

互联网上可以找到许多 AutoHotkey 脚本,人们可以根据需要对其进行定制。

以下示例脚本旨在改进 Alt+Shift作为当前窗口的英语和俄语键盘之间的切换功能:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
ru := DllCall("LoadKeyboardLayout", "Str", "00000419", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1)

!Shift::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
if (l = en)
{
    PostMessage 0x50, 0, %ru%,, A
}
else
{
    PostMessage 0x50, 0, %en%,, A
}

这里有一些线程提供用于更改具有各种功能的键盘布局的脚本:

以下一些免费产品也能起到这样的作用:

  • 基拉- 可以定义键盘快捷键或使用任务栏图标
  • 回顾- 使用 CapsLock 切换键盘语言

答案2

如果您想要与 macOS 完全相同的行为,而无需进行配置,则可以使用Ctrl+ Win+Space在两种最近使用的语言之间切换,就像您从Cmd+获得的那样Space

要切换到其他输入法,例如按两次Cmd+ Space,只需使用Win+ Space

答案3

如何在 Windows 10 中切换语言(几乎)像在 OS X、Android、iPhone 中一样

这个问题有一个(几乎完美的)解决方案Windows 7的,可以实现Windows 10只需几个额外的步骤。

背景

该解决方案基于 Windows 中有两个不同实体的事实:输入语言键盘布局

默认情况下Alt+Shift循环配置输入语言 是的输入语言当人们需要系统中增加语言时,他们通常会添加这些语言。

但。

  1. 有可能改变Alt+Shift(或者Ctrl+Shift 如果你愿意的话)循环遍历键盘布局并且不改变 输入语言
  2. 可以为每个指定不同的键盘快捷键输入语言(正如该问题的其他答案中所描述的那样)
  3. 最重要的是,可以添加不相关的键盘布局输入语言(甚至使用不同脚本的布局),例如希伯来语布局到英语。这一步在Windows 10,但可行。

最后你会得到几个不同的输入语言,每个命令都有单独的键盘快捷键,但一旦你选择了输入语言你将能够使用常规Alt+Shift 这将在定义的之间循环键盘布局“内部”输入语言

Windows 10 中的配置

为简单起见,我们假设您想使用 3 种语言:英语、俄语和希伯来语。完成以下步骤后,您将拥有三种操作模式:

  • 默认使用英语模式,选择Ctrl+1Alt+Shift(或者Ctrl+Shift)在英语和俄语之间循环
  • 希伯来语模式,选择Ctrl+2Alt+Shift(或者Ctrl+Shift)在英语和希伯来语之间循环
  • 俄罗斯模式,选择Ctrl+3Alt+Shift(或者Ctrl+Shift)在英语和俄语之间循环

配置步骤。

  1. Ctrl-Esc(打开“开始”菜单) - 或屏幕左下角的 Windows 按钮
  2. 类型语言(这将从控制面板中调出语言项),按 Enter 键
  3. 根据您的供应商,您可能有英语和您所在地区的语言。假设您只有英语,请添加俄语和希伯来语添加语言按钮
  4. 每种语言都有默认设置输入法,对应于语言。现在我们将添加“不相关”输入法每一个输入语言
    1. 下载Microsoft 键盘布局创建器
    2. 文件 -> 加载现有键盘。
    3. 选择您想要添加的布局(让我们从英语输入语言的俄语布局开始)
    4. 项目 -> 属性
    5. 调整语言匹配输入语言您希望此键盘布局适用于哪个国家/地区。在我们的例子中,该键盘布局为英语(美国)。
    6. 好的。您可能需要修改描述如果您收到“键盘描述相同”错误信息,请稍等片刻。只需添加一些后缀即可。
    7. 打开项目菜单并选择构建 DLL 和安装包. 忽略警告,同意打开构建 Windows Installer 包的目录。
    8. 跑步安装程序,安装您的键盘布局对于选定的输入语言
    9. 如果你重新打开(关闭并再次打开)语言屏幕(从步骤 2 开始)并选择选项为了美国英语)语言,你应该看到现在输入法:我们不可用的输入法
    10. 对所有需要的键盘布局重复步骤 4.1-4.9(对于我们正在讨论的示例,我们需要再重复两次:加载英语键盘,将语言设置为俄语项目 -> 属性并构建它,再次加载英文键盘,将语言设置为希伯来语项目 -> 属性并构建它)。
  5. 成功完成上述步骤后,您应该不可用的输入法选项筛选您在步骤 4.5 中用作目标语言的每种语言。
  6. 最后一步是配置键盘快捷键。打开语言屏幕(步骤 1-2)
    1. 选择高级设置(在左侧窗格中语言屏幕)
    2. 选择更改语言栏热键
    3. 选择输入语言之间(单击鼠标左键)并按更改按键顺序按钮
    4. 选择未分配在里面切换输入语言窗格
    5. 选择左 Alt + Shift(或您喜欢的)切换键盘布局窗格
    6. 確認 (OK)。
    7. 选择至英语(美国) - 美国(单击鼠标左键),按更改按键顺序按钮,检查启用按键序列, 选择Ctrl1(或其他任何可取的方式),确认
    8. 选择希伯来语(以色列) - 希伯来语(标准)(单击鼠标左键),按更改按键顺序按钮,检查启用按键序列, 选择Ctrl2(或其他任何可取的方式),确认
    9. 选择俄语(俄罗斯) - 俄语(单击鼠标左键),按更改按键顺序按钮,检查启用按键序列, 选择Ctrl3(或其他任何可取的方式),确认
  7. 重新启动(是的,Windows 中的键盘快捷键有很多错误,一旦您更改它们,您就需要重新启动才能正确注册它们)。

Windows 7 中的配置

在 Windows 7 中配置相同的用例更简单,不需要下载额外的工具。

  1. Ctrl-Esc(打开“开始”菜单) - 或屏幕左下角的 Windows 按钮
  2. 类型地区和语言(这将从控制面板中调出语言项),按 Enter 键
  3. 键盘和语言标签 ->更换键盘
  4. 选择添加按钮并搜索美国英语)部分
  5. 点击+(加号)打开键盘部分
  6. 打开并点击展示更多...项目,它将补充所有不同语言的列表,找到俄语在此列表中并检查它(确保您在英语(美国)列表内的键盘中选择了俄语。
  7. 确认你应该有两个键盘后EN 英语(美国):美国和俄罗斯。
  8. 点击添加,搜索希伯来语(以色列)并选择希伯来语展示更多...美国国际(仅在选择展示更多), 确认
  9. 点击添加,搜索俄语(俄罗斯)并选择俄罗斯展示更多...我们(仅在选择展示更多), 确认
  10. 高级按键设置标签
  11. 选择输入语言之间(单击鼠标左键)
  12. 选择更改按键顺序按钮
  13. 切换输入语言没有任何切换键盘布局左 Alt + Shift(或者Ctrl + Shift), 确认
  14. 至英语(美国) - 美国->更改按键顺序->启用按键序列, 设置Ctrl+1, 确认
  15. 希伯来语(以色列) - 美国国际->更改按键顺序->启用按键序列, 设置Ctrl+2, 确认
  16. 至俄罗斯(俄罗斯)- 美国->更改按键顺序->启用按键序列, 设置Ctrl+3, 确认
  17. 確認 (OK)。
  18. 重启。

笔记

有一个特点:在某些程序中,你可能会得到乱码,除非你切换到正确的输入语言(例如,如果你得到乱码的俄语输入,使用Ctrl+3切换到俄语键盘布局)。但这种情况很少发生,而且只在某些特殊情况下发生(对于大多数 Windows 用户而言),并没有真正困扰我。

答案4

您可以简单地使用键盘快捷键Alt+Shift来迭代定义的语言(并且循环;))。

相关内容