如何切换 Z 和 Y 以进行日语输入?

如何切换 Z 和 Y 以进行日语输入?

因为我是匈牙利人,所以我习惯于匈牙利 QWERTZ 键盘布局,即使是英语也一样。不过,我最近开始用日语打字,日语是基于 QWERTY 键盘布局的。也许我会慢慢习惯,但如果我能将 Z 和 Y 键切换为日语输入,那对我来说会容易得多。

问题是日语有一个独特的输入法(在设置中标记为“Microsoft IME”),我无法直接在其下加载 QWERTZ 布局。单击“添加键盘”时,我没有其他选项。这与匈牙利语形成鲜明对比,在匈牙利语中,我在同一位置获得了几十种不同的选项。

由于上述原因,我不确定它是否会起作用,但我尝试下载官方推荐的软件这个答案,无法安装。(它要求 .NET Framework 版本 2.0.50727,而 MS 网站上不再提供该版本。我安装了一个较新的版本,但它无法识别。此外,根据描述,它支持的最新 Windows 版本是 XP。)

匈牙利语有 QWERTY 布局,因此如果我可以在更基本的层面上交换这两个键,那么问题也可以得到解决。否则,我需要将更改限制在日语输入上。第二种选择也是首选,因为如果我添加新的语言输入,它不会导致奇怪的情况。

答案1

我的解决方案

对于将来偶然发现此问题的人:

我用一个简单的方法解决了德国 QWERTZ 键盘上的这个问题自动热键脚本:

SC015::z
SC02C::y

解释

要理解为什么这样做,你必须知道,键盘上的每个键都有一个唯一的 ScanCode(简称:SC),它与 Windows 中的输入语言无关

例如,如果我在 Windows 中启用了我常用的德语 QWERTZ 布局,并且按下了该z键,Windows 就会发送一个z字符;切换到日语输入语言后,我的z键现在将发送一个y字符,它仍将具有相同的 ScanCode

通过编写我的密钥的 ScanCode zSC015对我来说是这样的,对你来说可能有所不同),我告诉 AHK 发送字符z,而不管 Windows 如何解释它


指导

如果你不了解 Autohotkey,我会尽力指导你完成所需的一切

  1. 下载并安装当前版本的自动热键
  2. 创建一个文本文件,例如test.txt,将上面提到的两行解决方案复制到其中
  3. 保存并关闭文件,然后将文件扩展名从更改test.txttest.ahk
  4. 双击它启动脚本,它将在任务栏中创建一个图标(绿色框内的 H)
  5. 将您的输入语言更改为日语或其他 QWERTY 输入语言,然后尝试这是否已解决您的问题;如果它有效,您就大功告成了,如果没有,您现在需要找出您的特定 ScanCodes
  6. 右键单击任务栏中的图标并选择打开图片
  7. 在顶部工具栏中选择View/Key history and script info
  8. 按一次您的z密钥和y密钥,然后按F5刷新密钥历史记录(图片
  9. 第二列将列出您各自按键的 ScanCode,您现在可以在test.ahk文件中替换它们
  10. 从图标上下文菜单重新加载脚本即可

每次你想改变这种行为,你只需要启动这个脚本。如果它在你的一些应用程序中不起作用,请尝试以管理员身份运行脚本,这样脚本也可以访问这些程序


更多

为了使脚本更好,你可以在脚本顶部添加以下代码

#SingleInstance, Force
SendMode Input

此外,您可能希望在 Windows 中自动启动脚本,您可以进一步阅读这里

最后,您可能只希望在某个程序(例如 Anki)中实现此行为,您可以按照以下方式更改脚本:

IfWinExist, ahk_exe anki.exe
{
    SC015::z
    SC02C::y
    return
}    

相关内容