1. 苏葳的备忘录首页
  2. 编程

Windows 8.1是否能自定义触摸键盘布局呢?

tsf ime win8 输入法Windows 8平板宽大的尺寸,使全按键虚拟键盘成为标配。那么是否全屏幕标准键位虚拟键盘就是所有人的不二之选呢?关于这个问题,百度贴吧里曾有争论。就个人体会来说,虽然虚拟键盘可以完全模拟实体标准键盘的键位布局,然而,“虚拟”与“实体”的本质区别使得输入体验有天壤之别。习惯于手指放在实体按键上的用户很难在手指悬浮状态使用触摸键盘进行流畅的输入。尤其是单手横握平板状态时,宽大的键距使单手打字效率更低。

于是问题来了,能否自定义win8平板的的触摸键盘布局呢?让键盘小一些,甚至改用类似9宫格方式的小键盘输入?

在Win8.1中,应用分为metro模式和传统桌面模式,旧的IMM32方式的IME输入法仅支持桌面应用,但metro应用及桌面应用都可被TSF方式的输入法支持。微软提供了一个TSF输入法的例子,可较完善的支持简体中文的win8.1系统(实际windows输入法概念的出现就是为了解决东亚语言的输入问题)。其中设置系统默认触摸键盘布局的部份使用的函数:

ITfFnGetPreferredTouchKeyboardLayout::GetLayout

此方法可看到有两个参数,参数1是触摸键盘布局类型,有TKBLT_UNDEFINED、 TKBLT_CLASSIC、 TKBLT_OPTIMIZED 三种可选,参数二是具体的触摸键盘布局ID。共有8种。例子中参数1是TKBLT_OPTIMIZED即优化触摸键盘部局,也就是微软拼音和五笔使用的,参数2指定的唯一的一种简体中文的优化触摸键盘布局id:TKBL_OPT_SIMPLIFIED_CHINESE_PINYIN。从此方法的文档来看,不支持添加第三方自定义的触摸键盘布局。

在win8.1的应用商店中,能找到一个touchpal输入法,中文就是触宝输入法,此输入法在android或ios中可能有一定影响力。在win8.1应用中,看截图及用户评论,有许多种自定义的键盘布局,貌似在win8下也可用,但最新评论日期仅到2013年。下载安装,在最后一步,有个TPKeyboard.exe报个什么错误,但在metro及桌面模式中,都可正常切换至该输入法,其触摸键盘与“优化触摸键盘”不同,但看起来象是标准键盘的布局,并无其它可用的键盘布局。

自己更该原微软的TSF IME的例子,把ITfFnGetPreferredTouchKeyboardLayout::GetLayout方法的参数1改为 TKBLT_CLASSIC,然后运行该例子,可看到此微软例程的默认键盘从优化布局变成了传统布局,正好跟触宝输入法的默认键盘布局一致。除此布局之外,目前下载的触宝输入法无法切换到其它触摸键盘布局。由此是不是可以证明,新的win8.1的机制确实导致了用户不可能自定义触摸键盘布局呢?希望对此有所研究的高手留言指教。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/578.html

发表评论

您的电子邮箱地址不会被公开。