MSKLC under Windows 10: 创建自定义键盘布局,支持中文 IME(输入法)和西班牙文组合输入

MSKLC under Windows 10: Create custom keyboard layout which supports IME (input method) for Chinese and combined input in Spanish

此问题最初由我发布在 Microsoft 社区中:

https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/msklc-under-windows-10-create-custom-keyboard/8c5a7137-d575-4247-8ab3-b4dd1e5fb437?tm=1495318604424

总而言之:我在 Windows10 中使用 Microsoft Keyboard Layout Creator 1.4 创建了一个自定义键盘布局,它可以工作,但只是部分工作。它不能:

我正在考虑两种解决方法:

那么,我该如何解决这个问题?

我已经解决了。

对于第一个问题,你必须定义一些"dead keys combinations"。详细解释在这里:

http://www.angelfire.com/planet/linguisticsisfun/Creating_a_Keyboard_Using_MSKLC.pdf

对于第二个问题,基本上你是这样做的:

  1. 创建您的键盘布局。

  2. 使用文本编辑器编辑 .klc 文件,以更改 VK 代码映射。这是因为 Microsoft Windows 中的大多数应用程序,当您按下热键时,检测到发送到 OS 的 VK 代码,而不是 "key chars"(您在文本处理中键入时输出的字符软件)。因此,为了使键盘布局的键字符与其 VK 代码相匹配,您必须手动执行此操作。 MSKLC 不会为您更改。一些细节在这里:

http://www.sensefulsolutions.com/2010/08/how-to-fix-keyboard-shortcuts-in-klc-eg.html

  1. 安装布局。

  2. 打开你的注册表编辑器,输入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\,在底部找到你的新键盘布局(我的名字像a0000xxxx)。复制 dll 文件名。那是包含您新创建的键盘布局信息的 DLL 文件。

  3. 回到注册表父亲分支,搜索您要应用此布局的语言,如中文或西班牙文。您会发现几个名称相似的变体,但描述是不言自明的,可以帮助您区分它们。

  4. 简体中文使用KBDUS.dll,即"keyboard layout for US keyboard"。这也适用于 MS 拼音。将此值更改为您复制的 DLL 名称,以便下次 OS 启动时它将加载您的 DLL。

  5. 重启。

结果:

  1. 我可以使用自定义键盘布局使用 Microsoft 拼音输入英文和中文拼音,我可以使用 ,. 浏览 next/previous 页面。
  2. 使用此键盘布局,我可以键入西班牙语特殊字符,例如 ïáçñ,而无需切换到西班牙语键盘.
  3. 任何软件中的热键都按预期工作,因为现在 VK 代码与印在键上的字母相匹配。