为Windows 10开发自定义虚拟键盘

Rob*_*ert 9 c# c++ keyboard virtual-keyboard windows-10

我想在Windows 10上创建一个用于触摸的自定义虚拟键盘​​.我主要是一个开发人员,但如果Windows 10 Dev与之前的版本类似,我可能不得不恢复到C/C++.我希望能够定义按下按键时吐出的所有内容,形状,区域和数据.

Windows 10有一个键盘选择菜单(见图),我希望它与它集成,以便它可以与本机键盘接口一起使用.

在此输入图像描述

我是一位经验丰富的商业应用程序员,但我不知道从哪里开始.我看到这篇文章用于Windows 7键盘,但我希望Windows 10的内容已经发生了变化.

我的问题是:

  1. 是否有可能创建一个本地集成的客户虚拟键盘?
  2. 如何将其与Windows 10虚拟键盘选择器(如图)集成?
  3. 我从哪里开始?

任何帮助/方向/智慧的话将不胜感激.

更新:我想也许我没有解释得很好.我想构建一个与普通键盘形状不同的虚拟键盘,基本上就像快捷键盘一样.您点击一个键,它会将预设的文本片段插入上下文窗口.并且可以从图中的虚拟键盘选项中选择(蓝色位).

Mot*_*tie 1

更新:

我刚刚尝试使用键盘布局管理器...天啊,比 MSKLC 好用多了,而且它可以在 Windows 10 上运行;但我仍然看到“输入法不可用”消息。


实际上,我只是使用MS Keyboard Layout Creator添加了自定义布局。

更改布局还会修改物理键盘映射按键的方式

诀窍是您可以在Windows 10上开发新的布局,但不能在Windows 10上使用“构建DLL和安装包”方法,因为该程序需要.NET Frameworks 2.0。我尝试在我的系统上安装 v2.0,但它就是不行。我能够在 Windows 8.1 系统上构建这些文件。

采取的步骤:

  1. 在 Windows 8.1 或更早版本的系统上下载并安装 MS Keyboard Layout Creator
  2. 确保安装了 .NET Framework 3.5(包括 .NET 2.0 和 3.0)或更早版本
  3. 设计您的布局;保存之前,请务必记住设置的基本语言。
  4. 项目 > 验证布局
  5. 项目 > 构建 DLL 和安装包
  6. 将创建包含以下结构的文件夹(“mylayout”将是您选择的名称)

    mylayout
     |_ amd64
     |  |_ Mylayout.dll
     |_ i386 
     |  |_ Mylayout.dll
     |_ ia64
     |  |_ Mylayout.dll
     | wow64
     |  |_ Mylayout.dll
     |_ Mylayout_amd64.msi
     |_ Mylayout_i386.msi
     |_ Mylayout_ia64.msi
     |_ setup.exe
    
    Run Code Online (Sandbox Code Playgroud)
  7. 安装适当的文件

  8. 自定义键盘现在应该显示为虚拟键盘中的下拉菜单,如果没有选择“语言首选项”。
  9. 您现在应该位于“国家或地区”页面。从这里开始,如果键盘基于某种语言,该语言将显示在此处,或者可以添加现有语言(例如“英语(美国)”)...单击该语言,然后选择“选项” 。
  10. 您应该会在此处看到添加的自定义键盘。如果没有,请选择“其他日期、时间和区域设置”,然后选择“更改输入法”。然后单击自定义语言中的“选项”。它应该可以让您从这里预览布局。

注意:最初,我选择了基本的“英国”布局,并且出现了盖尔语选项。这确实为虚拟键盘语言选择器添加一个选项,但第二次我从基本的美国德沃夏克布局开始,该选择不会显示给我。在控制面板输入法部分,我看到一条“输入法不可用”的消息。我不知道如何解决这个问题。

也许你会有更好的运气。

  • 我是对的,这并不能达到我想要的效果。我想也许我没有解释得很好。我想构建一个虚拟键盘,其形状与普通键盘不同,并且本质上像快捷键盘一样工作。您点击一个键,它就会将预设的文本片段插入到上下文窗口中。并且可以从上图所示的虚拟键盘选项中进行选择。 (2认同)