于是问题来了,能否自定义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