本发明涉及人机交互领域,特别涉及一种切换不同输入法界面的方法和装置。
背景技术:
在linux系统中,基于fcitx框架的输入法,不同的输入法采用的是相同的界面,或者是通过其接口,唯一的实现一套界面。但是仍然无法灵活切换。fcitx(freechineseinputtoyforx),中文名为小企鹅输入法,是一个以gpl方式发布的输入法框架,为桌面环境提供一个灵活的输入方案。fcitx框架目前采用的都是统一界面,无法满足用户的个性化需求。
中国专利申请公开号为cn102681780a,发明名称为“linux智能装置及其输入法切换方法”,公开了一种linux智能装置及其输入法切换方法,根据捕获的焦点切换事件来检测是否发生了在两个不同的输入单元间的切换;在检测到发生了在两个不同的输入单元间的切换时,获取预设的针对当前用户的与当前焦点所在的输入单元相对应的输入法快捷键;产生表示输入了所获取快捷键的事件以使得当前输入法切换至与所述所获取输入法快捷键相对应的输入法。这样,增加了用户友好性,系统可自动地切换至用户的期望的输入法,甚至可对同一输入单元针对不同的用户自动切换至预设的不同输入法。
但是该公开也没有提及用户的个性化输入法界面。
技术实现要素:
有鉴于此,本发明旨在提供一种方式,来实现不同输入法界面的动态切换。
第一方面,本发明提供一种切换不同输入法界面的方法,包括以下步骤:
步骤s1、用户调用第一输入法;
步骤s2、输入法框架检测是否有实现界面接口,如果有则到步骤s3,如果没有则到步骤s7;
步骤s3、输入法框架把第一输入法定义的界面信息发到界面接口中;
步骤s4、第一输入法通知输入法界面建立与界面接口的连接;
步骤s5、输入法界面通过界面接口获取界面信息,显示与第一输入法对应的输入法界面;
步骤s6、用户切换为其他输入法,第一输入法通知输入法界面断开与界面接口的连接;
步骤s7、显示默认界面。
进一步的,所述的界面信息包括但不限于候选词信息和绘制信息。
进一步的,第一输入法与输入法界面之间通过通信机制连接。
进一步的,所述的通信机制,是指输入法的接口实现层为第一输入法和对应的输入法界面注册相同的信号用来匹配。
进一步的,所述的输入法界面包括但不限于选词窗口和状态栏。
进一步的,在输入法框架中增加一组钩子检测输入法的切换。
第二方面,本发明提供一种切换不同输入法界面的装置,包括输入法引擎、输入法接口实现层和输入法界面;
输入法接口实现层:负责实现界面接口、接收输入法框架传来的消息、调用输入法界面;
输入法引擎:负责把接口实现层接收的输入法切换信息转换成对应的候选,并返回给接口实现层;
输入法界面:第一输入法对应的个性化界面。
进一步的,输入法框架传来的消息包括但不限于按键信息、输入法切换信息。
本发明提供了输入法的个性界面,并且能实现不同输入法的界面的动态切换,提高了为用户服务的质量。
附图说明
图1为本发明的切换不同输入法界面的方法的流程图;
图2为本发明的没有实现界面接口时的示意图;
图3为本发明的实现界面接口时的示意图;
图4为本发明的个性化的输入法界面与其对应的输入法连接的示意图;
图5为本发明的个性化的输入法界面与其对应的输入法断开的示意图;
图6为再次切换回与个性化的输入法界面对应的输入法后的示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
实施例一
本实施例提供一种切换不同输入法界面的方法,利用fcitx输入法框架界面的回退机制,当没有实现界面接口的时候,会回退到一个默认的界面,如图1。
具体步骤如下:
步骤s1、用户调用第一输入法;
步骤s2、输入法框架检测是否有实现界面接口,如果有则到步骤s3,如果没有则到步骤s7;
本发明的实现界面接口是kimpanel接口。判断主体为输入法框架,它会发送信号,来确认是否有程序实现kimpanel接口。kimpanel是一个可以用多个输入法作为后端的plamsmoid插件。通过kimpanel提供一个统一的ui接口给不同输入法。
步骤s3、输入法框架把第一输入法定义的界面信息发到界面接口中;
第一输入法a按照kimpanel接口定义候选词信息、绘制信息等界面信息,实现一套个性化的输入法界面,当输入法框架发现实现界面接口的时候,会把绘制等消息发到新实现的界面接口中。
输入法a实现个性化输入法界面的方式为采用各种绘图api(applicationprogramminginterface,应用程序编程接口)绘制。
步骤s4、第一输入法通知输入法界面建立与界面接口的连接;
再额外的增加一组输入法a与其对应的输入法界面的通信的机制,如图4,本发明的通信机制是指利用系统的消息总线,输入法的接口实现层为输入法a和对应的输入法界面注册相同的信号用来匹配。
步骤s5、输入法界面通过界面接口获取候选词信息、绘制信息,显示输入法界面;
输入法界面包括输入法的候选词窗口、状态栏等各种窗口界面,这些窗口界面需要通过界面接口从输入法接口层获得。
步骤s6、用户切换为其他输入法,第一输入法通知输入法界面断开与界面接口的连接;
需要在输入法框架中增加一组钩子,用来检测输入法切换的变化。当输入法接口层捕获到用户切换输入法时,向输入法界面发送消息或通知。
步骤s7、显示默认界面。
当用户从输入法a切换到输入法b时,输入法a给对应的输入法界面发送通知,告知其断开接口,通过框架的回退机制,显示默认界面,如图5。
当再次切换成输入法a时,输入法再给对应的输入法界面发送通知,告知其连接接口,显示对应的输入法界面,如图6。
实施例二
本实施例提供一种切换不同输入法界面的装置,使得某种输入法能够显示与其对应的个性化的界面。
所述的装置包含输入法引擎、输入法接口实现层、输入法界面三部分。
其中,输入法接口实现层:负责实现界面接口、接收输入法框架传来的消息、调用输入法界面,输入法框架传来的消息包括按键信息、输入法切换等信息;
输入法引擎:负责把接口实现层接收的输入法切换信息转换成对应的候选,并返回给接口实现层;
输入法界面:特定输入法对应的个性化界面。
本实施例中的特定输入法指第一实施例中的第一输入法。
以上仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,不经过创造性劳动所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。