一种提示字符输入的方法和电子设备与流程

文档序号:12461742阅读:174来源:国知局
一种提示字符输入的方法和电子设备与流程

本发明涉及计算机领域,尤其涉及一种提示字符输入的方法和电子设备。



背景技术:

目前,大多数输入法都支持词语输入,也支持语句输入。但是,在用户编辑文档时,很多时候都需要从句子的中间某个位置进行修改,对于目前的输入法来说,用户必须先将光标移动到修改位置,然后像顺序输入一样,通过拼音或者五笔等方式输入代码,才能将需要添加或修改的字符插入到句子中。这一过程可能需要用户通过鼠标和键盘的配合使用才能达到修改的目的,过程较为复杂,从而降低了电子设备的文字编辑处理的速度。



技术实现要素:

本发明的实施例提供一种提示字符输入的方法和电子设备,能够使修改或插入的过程更为简便,从而提高了电子设备的文字编辑处理的速度。

本发明的实施例采用如下技术方案:

一方面,本发明实施例提供一种提示字符输入的方法,所述方法包括:

获取光标位置;

获取在所述光标位置之前且与所述光标相邻的第一字符和在所述光标位置之后且与所述光标相邻的第二字符,所述第一字符为单个字符或者为包括多个字符的字符串,所述第二字符为单个字符或者为包括多个字符的字符串;

在输入法数据库中获取与所述第一字符和所述第二字符中至少一个具有语法关联的字符;

将与所述第一字符和所述第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户。

另一方面,本发明实施例提供一种电子设备,所述电子设备包括:

检测单元,用于获取光标位置;

截取单元,用于获取在所述光标位置之前且与所述光标相邻的第一字符和在所述光标位置之后且与所述光标相邻的第二字符,所述第一字符为单个字符或者为包括多个字符的字符串,所述第二字符为单个字符或者为包括多个字符的字符串;

匹配单元,用于在输入法数据库中获取与所述第一字符和所述第二字符中至少一个具有语法关联的字符;

提示单元,用于将与所述第一字符和所述第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户。

本发明的实施例提供一种提示字符输入的方法和电子设备,能够检测到光标位置,并截取光标前后的字符,而后在输入法数据库中查找与光标前后的字符具有语法联系的字符并以列表的形式提示给用户以便用户选择,使修改或插入的过程更为简便,从而提高了电子设备的文字编辑处理的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1提供的一种提示字符输入的方法的流程示意图;

图2为本发明实施例2提供的一种提示字符输入的方法的流程示意图;

图3为本发明实施例2提供的一种提示字符输入的方法的示意图;

图4为本发明实施例2提供的一种提示字符输入的方法的示意图二;

图5为本发明实施例2提供的一种提示字符输入的方法的示意图三;

图6为本发明实施例3提供的一种电子设备的结构示意图;

图7为本发明实施例3提供的另一种电子设备的结构示意图;

图8为本发明实施例3提供的又一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”在语义上也包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

实施例1

本发明实施例1提供一种提示字符输入的方法,如图1所示,该方法具体包括:

S101、获取光标位置。

S102、获取在光标位置之前且与光标相邻的第一字符和在光标位置之后且与光标相邻的第二字符,第一字符为单个字符或者为包括多个字符的字符串,第二字符为单个字符或者为包括多个字符的字符串。

S103、在输入法数据库中获取与第一字符和第二字符中至少一个具有语法关联的字符。

S104、将与第一字符和第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户。

本发明的实施例提供一种提示字符输入的方法,能够检测到光标位置,并截取光标前后的字符,而后在输入法数据库中查找与光标前后的字符具有语法联系的字符并以列表的形式提示给用户以便用户选择,使修改或插入的过程更为简便,从而提高了电子设备的文字编辑处理的速度。

实施例2

本发明的实施例2提供一种提示字符输入的方法,如图2所示,包括:

S201、根据预设的触发条件,获取光标位置。

示例性的,首先,当电子设备检测到光标停止移动时,就会检测该光标停留的时间的长度,当检测到光标的停留时间的长度达到预设时间的长度时,电子设备就认为当前的光标位置为需要修改或者插入的位置,并获取当前的光标位置。

或者,可以根据接收到的用户的获取光标位置指令,执行获取光标位置指令获取光标位置。此时用户可以通过键盘使用快捷键产生获取光标位置指令,还可以通过长按鼠标左键或者鼠标右键产生获取光标位置指令,电子设备在接收到上述获取光标位置指令后获取当前的光标位置。

当然,还可以将两种触发方式结合起来,当光标停止移动后,电子设备开始检测该光标停留的时间的长度,在该光标停留的时间的长度未达到预定时间的长度时,只要接收到用户的获取光标位置指令,就立即获取当前的光标位置;若未接收到用户的获取光标位置指令,则在光标停留的时间的长度达到预定时间的长度时,获取当前的光标位置。

进一步的,除了上述的触发方式,还可以利用麦克风,通过声音来触发来获取光标位置,或者,还可以电子设备的摄像头,通过特殊的手势触发来获取光标位置。

示例性的,可以利用GetCaretPos函数获取当前光标位置的坐标,也可以利用GetGUIThreadInfo函数获取当前光标位置的坐标。考虑到系统和软件的通用性,采用后者是推荐方式。

S202、获取在光标位置之前且与光标相邻的第一字符和在光标位置之后且与光标相邻的第二字符。

示例性的,在检测到光标位置后,从光标位置开始向前截取字符且截取到文本控制符为止,得到第一字符;从光标位置开始向后截取字符且截取到文本控制符为止,得到第二字符;

上述文本控制符包括:标点符号、回车符、换行符。例如,若光标位于段落中间时,从光标位置开始向前截取字符且截取到标点符号就停止,得到第一字符,从光标位置开始向后截取字符且截取到标点符号就停止,得到第二字符;若光标位于段落开头时,从光标位置开始向前截取字符且截取到回车符就停止,此时第一字符就为零;若光标位置所在的句子并未写完且光标位置之后没有标点符号,则从光标位置开始向后截取字符且截取到回车符就停止,得到第二字符。

例如,在电子设备的操作系统中,所有的文字输出、显示都需要调用系统的API(Application Programming Interface,应用程序编程接口)函数和TextOut(输出)函数,因此可以采用与API函数建立钩子(Hook)的方法截取光标位置前后的字符。

首先,从系统的内存空间中查找到TextOut函数的地址;而后,将TextOut函数的参数传递至目标函数中,并跳转至目标函数。其中,该目标函数是用于光标取词的函数,TextOut函数的参数包括:HDC hdc,int nXStart,int nYStart,LPCTSTR lpString,int cbString。

由于系统可能会同时运行多个用于编辑文字的窗口,因此跳转到目标函数后,目标函数首先会判断需要截取字符的是否为当前窗口。如果是当前的窗口,则执行字符截取,如果不是则不进行处理。

示例性的,跳转到目标函数后,电子设备利用目标函数判断HDC hdc是否为当前光标位置的窗口句柄,因为电子设备可能同时开启了多个窗口,因此判断HDC hdc是否为当前光标位置的窗口句柄是为了识别光标是否位于当前操作的窗口中,如果不是当前光标处的窗口句柄则不进行处理;如果是当前光标处的窗口句柄,则目标函数将TextOut函数的参数复制下来,其中int nXStart,int nYStart表示TextOut函数输出字符的坐标,LPCTSTR lpString表示输出字符的内容。复制完成后由目标函数跳转回TextOut函数,继续执行TextOut函数,使当前窗口输出的字符能够正常显示。

而后,目标函数根据输出字符的坐标int nXStart,int nYStart,以及输出字符的内容LPCTSTR lpString,并结合当前的光标位置,从光标位置开始向前截取字符且截取到标点符号为止,同时从光标位置开始向后截取字符且截取到标点符号为止,这样就将光标位置前后的第一字符和第二字符都截取下来了。

进一步的,为了防止截取的字符过长,可以在电子设备中设置一个预设字符长度,作为截取的字符长度的上限值。

这样,从光标位置开始向前截取字符,若未截取到文本控制符但是截取的字符长度已达到预设字符长度时,就停止截取,从而得到第一字符。

同理,从光标位置开始向后截取字符,若未截取到文本控制符但是截取的字符长度已达到预设字符长度时,就停止截取,从而得到第二字符。

其中,第一字符可以为单个字符或者为包括多个字符的字符串,第二字符可以为单个字符或者为包括多个字符的字符串,也就是说第一字符可以是一个字,也可以是一个词,还可以是一个句子,同样的,第二字符可以是一个字,也可以是一个词,还可以是一个句子。

S203、在输入法数据库中获取与第一字符和第二字符中至少一个具有语法关联的字符。

首先,从截取到的第一字符中距离光标位置最近的一个字符开始向前逐个增加字符与输入法数据库中的字符进行模糊匹配,该输入法数据库包括字库、词库、句库,直到该第一字符中所有字符都匹配完毕,查找能够与第一字符组成词或能够与第一字符组成句子的字符,该字符可以为单个字符或包括多个字符的字符串,即该字符也可以是字、词或者句子。

示例性的,在第一字符中,首先将光标位置之前的第一个字符与输入法数据库中的字、词和句子进行模糊匹配,查找能够与上述第一个字符组成词的字符,或者能够与上述第一个字符组成句子的字符。在第一个字符匹配完毕后,向前增加字符再与输入法数据库中的字、词和句子进行模糊匹配,也就是将光标位置之前的第一个字符与第二个字符组成的字符串与输入法数据库中的字、词和句子进行模糊匹配,查找能够与该字符串组成词的字符,或者能够与该字符串组成句子的字符。而后,以此类推,直至第一字符中所有字符都匹配完毕。

在第二字符中,从第二字符中距离光标位置最近的一个字符开始向前逐个增加字符与输入法数据库中的字符进行模糊匹配,该输入法数据库包括字库、词库、句库,直到该第二字符中所有字符都匹配完毕,查找能够与第二字符组成词或能够与第二字符组成句子的字符,该字符可以为单个字符或包括多个字符的字符串,即该字符也可以是字、词或者句子。具体的过程与上述第一字符完全相同,不再赘述。

需要注意的是,在进行模糊匹配时,可以进行与第一字符的匹配,也可以进行与第二字符的匹配,也可以在进行与第一字符的匹配的同时进行与第二字符的匹配,当然,在同时进行与第一字符、第一字符的匹配时,得到的具有语法关联的字符为与第一字符和第二字符同时具有语法关联的字符,也就是同时能够与第一字符和第二字符组成词或者句子的字符,该字符可以是单个字符,也可以是包括多个字符的字符串。具体的匹配方式可根据实际的需要来进行设置,本实施例不做限定。

S204、将与第一字符和第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户。

将查找到的能够与第一字符组成词或者句子的字符、能够与第二字符组成词或者句子的字符或者能够与第一字符和第二字符组成词或者句子的字符提示给用户,例如可以以列表的形式显示出来。

在本发明另外的实施例中,可以按照匹配程度的高低,依次由高到低地显示在候选字符列表中,该匹配程度可以根据语法设定,将能够与第一字符、第二字符在语法上构成最优组合的字、词或句子显示在列表的最上面,以供用户选择。

示例性的,如图3所示的一段话中,31为光标,该光标位于字符“射击”处,当电子设备检测到光标31在该位置的停留时间的长度达到预设时间的长度,或接收到获取光标位置指令时,获取光标31当前的位置。而后,从光标位置开始向前截取字符且截取到标点符号为止,得到第一字符;从光标位置开始向后截取字符且截取到标点符号为止,得到第二字符,由图3可以得知,该第一字符为“华为的产品主要射”,第二字符为“击通信网络中的交换网络”。然后,电子设备将第一字符与输入法数据库进行模糊匹配,为了更加准确,可选的,可以将第二字符也与输入法数据库进行模糊匹配,匹配后得出的字符按照匹配程度的高低,依次由高到低地显示在候选字符列表中,以便用户选择来替换光标位置的错误。例如,如图4所示,可以将“涉及”放在列表32最上面,其次可以是“包括”。

S205、接收用户在候选字符列表中选定的第三字符,并将第三字符显示在光标位置,第三字符可以为单个字符或包括多个字符的字符串,即第三字符可以为一个字、可以是一个词,也可以是一个句子。

如图4所示,可以看出在字符列表32中,最佳选项为第一项,即“涉及”。当电子设备接收到用户选定的第三字符为第一项时,将“涉及”显示在光标31的位置,也就是显示在“射”和“击”之间,而后可以由用户手动删除“射”和“击”两个字。

或者,进一步的,当候选字符列表中只有一个候选的第三字符时,电子设备自动将第三字符显示在在光标位置,此处的第三字符可以为单个字符或包括多个字符的字符串,即第三字符可以为一个字、可以是一个词,也可以是一个句子,且此处的第三字符与上述用户在候选字符列表中选定的第三字符可能为相同字符,也可能为不同字符。

如图5所示,候选字符列表32中只有“涉及”这一个选项,此时电子设备可以自动将“涉及”显示在光标位置31处,也就是显示在“射”和“击”之间,这样就完成了自动插入,而后可以由用户手动删除“射”和“击”两个字,也就是完成了手动替换。

当候选字符列表中有多个选项时,将位于第一项的第三字符显示在在光标位置。此处的第三字符可以为单个字符或包括多个字符的字符串,即第三字符可以为一个字、可以是一个词,也可以是一个句子,且此处的第三字符与上述用户在候选字符列表中选定的第三字符、以及上述的只有一个候选的第三字符可能为相同字符,也可能为不同字符。

如图4所示,候选字符列表32中包括多个选项,如第一项为“涉及”,第二项为“包括”,其中,第一项“涉及”为最优选项,此时电子设备可以自动将第一项“涉及”显示在光标位置31处,也就是显示在“射”和“击”之间,这样就完成了自动插入,而后可以由用户手动删除“射”和“击”两个字,也就是完成了手动替换。

更进一步的,在显示“涉及”之前,电子设备可以先判断由光标位置前后的字符构成的第四字符与第三字符是否具有相同性质。其中,一般情况下,第四字符可以与第三字符的长度相同,相同性质可以为同音或同义。

当第四字符与第三字符具有相同性质时,将所述第四字符删除,以便将第四字符删除替换为第三字符。删除第四字符可以通过调用Delete函数实现。

例如,在图4所示段落中,调用Delete函数将光标31处的“射击”删除,删除后再将“涉及”显示在光标31的位置。这样就完成了对文档中错误词汇的自动替换。

当然,对于缺字或者漏字的位置的字符插入方法,除了没有删除字符的步骤,其他步骤与上述方法完全相同,不再赘述。

本发明的实施例提供一种提示字符输入的方法,能够检测到光标位置,并截取光标前后的字符,而后在输入法数据库中查找与光标前后的字符具有语法联系的字符并以列表的形式提示给用户以便用户选择,使修改或插入的过程更为简便,从而提高了电子设备的文字编辑处理的速度。

实施例3

本发明的另一实施例提供一种电子设备1,如图6所示,包括:

检测单元11,用于获取光标位置;

截取单元12,用于获取在光标位置之前且与光标相邻的第一字符和在光标位置之后且与光标相邻的第二字符,第一字符为单个字符或者为包括多个字符的字符串,第二字符为单个字符或者为包括多个字符的字符串;

匹配单元13,用于在输入法数据库中获取与第一字符和第二字符中至少一个具有语法关联的字符;

提示单元14,用于将与第一字符和第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户。

其中,截取单元12可以具体用于:

从光标位置开始向前截取字符且截取到文本控制符为止,得到第一字符;

从光标位置开始向后截取字符且截取到文本控制符为止,得到第二字符;

文本控制符包括:标点符号、回车符、换行符。

或者,截取单元12可以具体用于:

从光标位置开始向前截取字符,当未截取到文本控制符但截取的字符长度达到预设字符长度时停止截取,得到第一字符;

从光标位置开始向后截取字符,当未截取到文本控制符但截取的字符长度达到预设字符长度时停止截取,得到第二字符;

其中,预设字符长度为预先设置的截取字符长度的上限值。

进一步的,如图7所示,电子设备1还可以包括:

被动插入单元15,用于接收用户在候选字符列表中选定的第三字符,并将第三字符显示在光标位置,第三字符为单个字符或包括多个字符的字符串。

主动插入单元16,用于当候选字符列表中只有第三字符一个候选字符时,将第三字符显示在在光标位置,第三字符为单个字符或包括多个字符的字符串。

主动插入单元16还用于:

当候选字符列表中有多个候选字符时,将位于第一项的第三字符显示在在光标位置,第三字符为单个字符或包括多个字符的字符串。

更进一步的,如图8所示,电子设备1还可以包括:

主动替换单元17,用于当由光标位置前后的字符构成的第四字符与第三字符具有相同性质时,将第四字符删除,以便将第四字符删除替换为第三字符;

其中,一般情况下,第四字符与第三字符的长度相同,相同性质包括同音或同义。

再进一步的,检测单元11可以具体用于:

在光标停止移动后,检测光标的停留时间;当光标的停留时间的长度达到预设时间的长度时,获取光标的位置;或

接收用户的获取光标位置指令,执行获取光标位置指令获取光标位置。

匹配单元13可以具体用于:

将第一字符和第二字符与输入法数据库中的字符进行匹配,查找与第一字符和第二字符具有语法关联的字符;或

将第一字符或第二字符与输入法数据库中的字符进行匹配,查找与第一字符或第二字符具有语法关联的字符;

将与第一字符和第二字符中至少一个具有语法关联的字符以候选字符列表的形式提示给用户具体包括将下列三种字符的任意组合以候选字符列表的形式提示给用户:与第一字符和第二字符构成词或句子的单个字符,或与第一字符和第二字符构成词或句子的包括多个字符的字符串;与第一字符构成词或句子的单个字符,或者与第一字符构成词或句子的包括多个字符的字符串;以及与第二字符构成词或句子的单个字符,或者与第二字符构成词或句子的包括多个字符的字符串。

提示单元14可以具体用于:

将候选字符列表中的字符按照与第一字符和/或第二字符的匹配程度依次排列,并提示给用户。

本发明的实施例提供一种电子设备,能够检测到光标位置,并截取光标前后的字符,而后在输入法数据库中查找与光标前后的字符具有语法联系的字符并以列表的形式提示给用户以便用户选择,使修改或插入的过程更为简便,从而提高了电子设备的文字编辑处理的速度。

本发明的实施例提供的电子设备1,能够应用在具有输入功能的电子设备中,例如计算机、平板电脑、智能手机等,可执行上述方法实施例中的动作。

另外,在本发明各个实施例中的电子设备1的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1