CN113918227A - 输入法设置方法及其装置、输入方法及电子设备 - Google Patents

输入法设置方法及其装置、输入方法及电子设备 Download PDF

Info

Publication number
CN113918227A
CN113918227A CN202111061024.4A CN202111061024A CN113918227A CN 113918227 A CN113918227 A CN 113918227A CN 202111061024 A CN202111061024 A CN 202111061024A CN 113918227 A CN113918227 A CN 113918227A
Authority
CN
China
Prior art keywords
input method
operating system
service
input
default
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111061024.4A
Other languages
English (en)
Inventor
李京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing Jingling Information System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingling Information System Technology Co Ltd filed Critical Beijing Jingling Information System Technology Co Ltd
Priority to CN202111061024.4A priority Critical patent/CN113918227A/zh
Publication of CN113918227A publication Critical patent/CN113918227A/zh
Priority to PCT/CN2022/104472 priority patent/WO2023035758A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种输入法设置方法及其装置、输入方法及电子设备,所述输入法设置方法包括:在第二操作系统中的第二输入法服务与第一操作系统中的第一输入法服务之间建立socket通信通道;利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。本发明由第一输入法服务统一管理第一操作系统支持的输入法和第二操作系统支持的输入法,可以通过第一输入法服务自由设置输入法,解决了用户在使用不同的操作系统应用时无法自由切换输入法的问题。

Description

输入法设置方法及其装置、输入方法及电子设备
技术领域
本发明涉及输入法技术领域,具体涉及一种输入法设置方法及其装置、输入方法及电子设备。
背景技术
随着操作系统的发展和应用需要,一些操作系统的丰富应用可以在另一些操作系统中运行,此时,终端设备上的主操作系统就需要兼容子操作系统的应用,但在进行这两种操作系统的应用时,启动的输入法分别只有操作系统各自的输入法。
以Linux操作系统为主操作系统、Android操作系统为子操作系统举例,Android操作系统作为子系统运行于Linux操作系统中,层级相当于Linux应用。输入法可以视为操作系统中的一种应用,Android操作系统内的子输入法框架随着Android操作系统安装在Android操作系统中,Linux操作系统内本身集成有输入法框架,这导致用户在进行Linux操作系统应用时只能启动主输入法,在进行Android操作系统应用时只能启动子输入法,用户在使用不同的操作系统应用时无法自由切换输入法。
针对终端设备中同时具有主操作系统和子操作系统时,容易导致用户在使用不同的操作系统应用时无法自由切换输入法的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种输入法设置方法及其装置、输入方法及电子设备,以解决用户在使用不同的操作系统应用时无法自由切换输入法的问题。
本发明的一个方面提供了一种输入法设置方法,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务,所述方法包括:
在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道;
利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
可选地,所述在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道,包括:
在第一操作系统中启动第一输入法服务;
在第二操作系统中启动第二输入法服务;
在所述第二输入法服务与所述第一输入法服务之间建立socket通信通道。
进一步地,还包括在第一操作系统中启动第二操作系统的步骤,具体包括:
调用第一操作系统容器的命令集,并指定第一操作系统容器的配置文件的路径;
通过所述命令集挂载配置文件中预设的文件系统;
通过所述命令集启动配置文件中预设的引导程序,以启动所述第二操作系统。
可选地,在从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法之后,所述方法还包括:
通过第一输入法服务扫描所述第一操作系统支持的输入法;
通过第一输入法服务保存所述第二操作系统支持的输入法的代理对象。
本发明的另一个方面提供了一种输入方法,应用于采用前述任一输入法设置方法的电子设备,所述方法包括:
获取应用的输入请求,启动所述默认输入法,其中,所述应用位于第一操作系统或第二操作系统;
在所述默认输入法与应用之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
可选地,所述获取应用的输入请求,启动所述默认输入法,包括:
通过应用的输入框获取输入焦点;
基于所述输入焦点,从所述应用向第一输入法服务发送默认输入法请求指令;
根据所述默认输入法请求指令,通过第一输入法服务获取设置的默认输入法;
判断所述默认输入法的从属关系,其中,所述默认输入法属于第一操作系统或第二操作系统支持的输入法。
进一步地,在所述默认输入法属于第二操作系统支持的输入法的情况下:
从第一输入法服务向第二输入法服务发送启动指令;
根据所述启动指令,通过第二输入法服务启动所述默认输入法;
在所述默认输入法与所述应用之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
进一步地,所述默认输入法属于第一操作系统支持的输入法的情况下:
通过所述第一输入法服务启动所述默认输入法;
从所述第一输入法服务向第二输入法服务发送默认输入法启动成功指令;
根据所述默认输入法启动成功指令,从第二输入法服务向所述应用传递默认输入法socket;
根据默认输入法socket,在应用与所述默认输入法之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
本发明的还一个方面提供了一种输入法设置装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务,所述装置包括:
socket通信通道建立单元,用于在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道;
发送单元,用于利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
设置单元,用于通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
本发明的又一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行前述任意一项提供的输入法设置方法和输入方法。
本发明的又一个方面提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行前述任意一项提供的输入法设置方法和输入方法。
在本发明实施例提供的输入法设置方法中,在第二操作系统中的第二输入法服务与第一操作系统中的第一输入法服务之间建立socket通信通道;利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;最后通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。通过socket通信通道将第二操作系统支持的输入法发送至第一输入法服务,由第一输入法服务统一管理第一操作系统支持的输入法和第二操作系统支持的输入法,可以通过第一输入法服务自由设置默认输入法,解决了用户在使用不同的操作系统应用时无法自由切换输入法的问题,提高了用户的输入效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的输入法设置方法流程示意图;
图2为本发明实施例提供的Android操作系统以容器化方式安装在Linux操作系统中的示意图;
图3为本发明实施例提供的Linux输入法服务统一管理输入法的流程图;
图4为本发明实施例提供的Linux操作系统使用Andorid操作系统支持的输入法与Andorid应用建立关系的流程图;
图5为本发明实施例提供的Linux操作系统使用Andorid操作系统支持的输入法与Linux应用建立关系的流程图;
图6为本发明实施例提供的Linux操作系统使用Linux操作系统支持的输入法与Andorid应用建立关系的流程图;
图7为本发明实施例提供的输入法设置装置框图;
图8为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
随着操作系统的发展和应用需要,一些操作系统的丰富应用可以在另一些操作系统中运行,此时,终端设备上的主操作系统就需要兼容子操作系统的应用,但在进行这两种操作系统的应用时,启动的输入法分别只有操作系统各自的输入法,导致用户在使用不同的操作系统应用时无法自由切换输入法。
为了解决上述问题,本发明实施例提供了一种输入法设置方法,如图1所示,该方法包括如下的步骤S101至步骤S103:
预先在第一操作系统中以容器化方式部署第二操作系统;
例如,作为宿主的第一操作系统和部署在第一操作系统中的第二操作系统是共享Linux内核,通过LXC、容器化等技术实现。
例如,第一操作系统可以是各种桌面Linux发行版,如Ubuntu、Debian、RedHat等。需要说明的是,第一操作系统并不限定是运行在物理机上的,也可以是托管在其它操作系统上的操作系统,如Windows系统中的WSL。
例如,第二操作系统可以是Android(安卓)操作系统,涵盖Google发行的AndroidOS以及AOSP和基于AOSP的各种衍生系统,如MIUI、EMUI、One UI等。
如本领域技术人员所知,还存在多种其它的基于Linux Kernel的操作系统,如Tizen、鸿蒙、Meego等作为第二操作系统的示例,同样适用于本发明实施例的技术方案。
在本实施例中,以第一操作系统是Linux操作系统、第二操作系统是Android操作系统进行举例说明,这种情况下,在Linux操作系统中以容器化方式部署Android操作系统。容器中的Android操作系统与Linux操作系统共享一个操作系统内核,可以将一组进程与Linux操作系统的其他内容进行隔离,在本实施例中,Android操作系统以容器化方式安装在Linux操作系统中,如图2所示。
可以理解的是,本发明实施例中第一操作系统、第二操作系统的示例仅作为对本发明技术方案的解释说明,而不应视为对本发明的限定。
容易理解,上述预先在第一操作系统中以容器化方式部署第二操作系统的步骤是前置步骤,宽泛地描述了在第一操作系统中部署第二操作系统。对于已经完成该步骤的电子设备,可以直接应用本发明实施例的输入法设置方法和输入方法。已经完成该步骤的电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务。
步骤S101:在第二操作系统中的第二输入法服务(InputMethodService)与所述第一操作系统中的第一输入法服务(InputMethodService)之间建立socket通信通道;
在本实施例中,以第一操作系统是Linux操作系统、第二操作系统是Android操作系统进行举例说明,相应的,第一输入法服务是Linux输入法服务,第二输入法服务是Android输入法服务。
输入法是操作系统中的一种软件,由操作系统统一管理。当应用请求输入时,如记事本应用,记事本会向系统中的输入法服务请求输入法连接,此时,输入法服务会查询当前系统设置的输入法,如设置的是讯飞输入法,输入法服务负责将讯飞输入法和记事本应用建立socket连接,连接建立成功后,讯飞输入法会将输入的内容通过socket发送给记事本应用。
具体的,所述步骤S101包括:
在第一操作系统中启动第一输入法服务;在启动第一操作系统时,启动第一输入法服务;
在启动所述第一输入法服务后,启动第二操作系统;
在第二操作系统中启动第二输入法服务;在启动所述第二操作系统时,启动第二输入法服务;
在所述第二输入法服务与所述第一输入法服务之间建立socket通信通道。
例如,如果用户已经在Linux操作系统中部署了Android操作系统,那么Linux操作系统的启动过程为首先Linux系统开机,经过必要的系统启动过程后启动Linux输入法服务,然后Linux系统开始启动Android操作系统,在Android系统启动过程中启动Android输入法服务,Android输入法服务启动过程中会与Linux输入法服务建立通信通道,即socket通信通道。
通信通道的类型为unix domain的本地socket连接,由于Linux系统启动完成后才会启动Android系统,此时Linux系统中的Linux输入法服务已经启动,在服务初始化的过程中,Linux输入法服务会作为主服务创建socket服务端,并开始监听Android输入法服务的连接,当Android系统启动时,Android输入法服务作为客户端服务与Linux输入法服务建立连接,完成通信通道的建立。
进一步的,步骤S101中,还包括在第一操作系统中启动第二操作系统的步骤,所述在启动所述第一输入法服务后,启动第二操作系统,具体包括:
调用第一操作系统容器的命令集,并指定第一操作系统容器的配置文件的路径;
通过所述命令集挂载配置文件中预设的文件系统;
通过所述命令集启动配置文件中预设的引导程序,以启动所述第二操作系统。
例如,在启动Linux输入法服务后,启动Android操作系统时,相应的,第一操作系统容器是Linux容器(Linux Container,简称为LXC),Android容器镜像的安装过程需调用LXC的命令集里的lxc-start等命令进行,并在运行Android操作系统前预设两个文件系统:system(系统服务及库)和vendor(驱动程序),编写LXC启动配置文件config、预设的引导程序init及需要挂载的文件系统system、vendor和data等;
启动Android操作系统时,调用LXC的命令集里的lxc-start命令,并指定LXC的配置文件config的路径;lxc-start命令首先挂载配置文件config中预设的文件系统system、vendor,并创建data等目录;然后lxc-start命令启动配置文件config中预设的init引导程序来启动Android操作系统。
步骤S102:利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
例如,socket通信通道建立成功后,将Android操作系统中支持的输入法发送给Linux输入法服务做统一管理。
具体的,在步骤S102中的从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法之后,所述方法还包括:
通过第一输入法服务对第二操作系统支持的输入法和第一操作系统支持的输入法进行统一管理;
通过第一输入法服务扫描所述第一操作系统支持的输入法;
通过第一输入法服务保存所述第二操作系统支持的输入法的代理对象(Proxy)。
例如,Linux输入法服务在启动时,扫描Linux操作系统中已经安装的输入法,并且,处理Android输入法服务发送过来的输入法列表,通过Linux输入法服务对Android操作系统支持的输入法和Linux操作系统支持的输入法进行统一管理;
对于Linux操作系统支持的输入法,Linux输入法服务以插件的形式进行管理;对于Android操作系统支持的输入法,Linux输入法服务中仅保存Android操作系统支持的输入法的代理对象,当用户选择设置Android操作系统支持的输入法后,Linux输入法服务通过代理对象与Android输入法服务进行数据交互。
步骤S103:通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
例如,Linux输入法服务一并将Linux操作系统支持的输入法和Android操作系统支持的输入法做统一管理,所有输入法,包括Linux操作系统支持的输入法和Android操作系统支持的输入法,均由Linux操作系统进行管理;
Linux输入法服务统一管理输入法的流程图如图3所示,其中,InputMethodService:输入法服务;
具体包括:Android输入法服务向Linux输入法服务发起建立socket通信通道,Linux输入法服务向Android输入法服务发送成功建立的指令;Android输入法服务向Linux输入法服务发送Android系统支持的输入法列表,用户通过Linux输入法服务设置需要使用的输入法。
如果Linux中安装有五笔输入法和搜狗输入法,Android中安装有讯飞输入法和百度输入法,此时,Linux输入法服务维护的输入法列表中就包含了这四个输入法,用户在Linux的输入法列表中会看到这四个输入法,并且可以从中选择一个输入法设置为默认输入法。
通过Linux输入法服务,可以将Linux与Andorid输入法处理流程进行统一,使得用户可以在无感知的情况下自由切换Linux操作系统支持的输入法与Android操作系统支持的输入法,自由设置默认输入法,解决了用户在使用不同的操作系统应用时无法自由切换输入法的问题,提高了用户的输入效率。
在步骤S103之后,当应用提出输入请求时,输入方法包括:
获取应用的输入请求,启动所述默认输入法,其中,所述应用位于第一操作系统或第二操作系统;
在所述默认输入法与应用之间建立socket连接;默认输入法与应用之间建立socket连接后,通过本地socket进行通信,不需要经过以太网设备,实现在两种操作系统的应用下自由切换任意操作系统支持的输入法;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
通过默认输入法与应用之间建立的socket连接,用户使用默认输入法输入的文本可以直接发送至操作系统应用进行显示,不需要再经过操作系统输入法服务;操作系统支持的输入法中的任意输入法,都可以与操作系统应用通过本地socket连接,完成用户输入文本的传递。
本发明实施例中,默认输入法(如讯飞输入法或五笔输入法)与应用(如Android记事本或Linux记事本)建立socket连接,通过socket连接可以将用户输入的文字符号发送给应用;
由于Android系统运行于Linux容器中,与Linux共享一个操作系统内核,所以两个操作系统中的进程或应用可以通过本地socket进行通信,采用本地socket的通信方式不需要经过以太网设备;
操作系统支持的输入法(如讯飞输入法或五笔输入法)是一个应用进程,Android应用或Linux应用(如Android记事本或Linux记事本)也是一个应用进程,不管这两个应用进程分别在哪个操作系统中运行,均可以通过本地socket进行通信,实现Android操作系统和Linux操作系统支持的输入法功能的兼容;Linux操作系统支持的输入法或Android操作系统支持的输入法中包括的任意输入法,都可以与Linux应用或Android应用通过本地socket连接,完成输入内容的传递。默认输入法与应用之间建立socket连接后,通过本地socket进行通信,不需要经过以太网设备,实现在两种操作系统的应用下自由切换任意操作系统支持的输入法。
在一些实施例中,输入方法包括:
通过应用的输入框获取输入焦点,其中,所述应用位于第一操作系统或第二操作系统;通过操作系统应用的输入框,可以获取输入焦点;
基于所述输入焦点,从所述应用向第一输入法服务发送默认输入法请求指令;获取输入焦点后,通过默认输入法请求指令请求获取默认输入法,以通过默认输入法输入文本;
根据所述默认输入法请求指令,通过第一输入法服务获取设置的默认输入法;第一输入法服务接收默认输入法请求指令后,查询获取用户设置的默认输入法;
判断所述默认输入法的从属关系,其中,所述默认输入法属于第一操作系统或第二操作系统支持的输入法。用户设置的默认输入法可能属于第一操作系统,也可能属于第二操作系统支持的输入法,因此,需要判断默认输入法所属的操作系统,根据判断结果确定所启动的默认输入法对应的输入法服务。
进一步的,在所述默认输入法属于第二操作系统支持的输入法的情况下:
从第一输入法服务向第二输入法服务发送启动指令;
根据所述启动指令,通过第二输入法服务启动所述默认输入法;
在所述默认输入法与所述应用之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
当所述应用位于第二操作系统且所述默认输入法属于第二操作系统支持的输入法时,第一操作系统使用第二操作系统支持的输入法与第二操作系统中的应用建立关系;
在本实施例中,即Linux操作系统使用Andorid操作系统支持的输入法与Andorid应用建立关系的过程,该过程的流程图如图4所示,其中,各框对应的内容如下:
InputMethodService:输入法服务;InputMethodClient:输入法客户端;AndroidApp:安卓应用;AndroidInputMethod:安卓输入法;socket:服务端与客户端的连接和通信,Linux相当于服务端,Android相当于客户端;Linux:操作系统,Android以容器化的方式在Linux中运行。
各数字对应的流程内容如下:
1.Android输入法服务与Linux输入法服务建立socket连接;
2.用户通过Linux输入法服务设置默认输入法为Android支持的输入法,例如设置默认输入法为Android支持的讯飞输入法;
3.Android应用(例如Android记事本),用户需要进行输入,通过输入框获取输入焦点;
4.Android应用向Android输入法客户端请求输入法;
5.Android输入法客户端向Android输入法服务请求输入法;
6.Android输入法服务通过socket向Linux输入法服务发送启动输入法的指令;
7.Linux输入法服务获取用户设置的默认输入法,本实施例中,获取结果为Android支持的讯飞输入法;输入法启动流程中的关键一步是获取系统的默认输入法,而输入法全部在Linux输入法服务中统一管理,所以Android在启动输入法过程中,需要向Linux进行查询目前用户设置的默认输入法;
8.Linux输入法服务确定默认输入法为Android支持的讯飞输入法后,向Android输入法服务发送启动Android输入法的指令;
9.Android输入法服务启动Android输入法;
10.Android支持的讯飞输入法与Android输入法客户端建立socket连接;
11.Android输入法客户端与Android应用(如Android记事本)之间的连接建立成功;
12.用户使用Android支持的讯飞输入法向Android输入法客户端进行文字输入;
13.Android输入法客户端将用户输入的文字发送至Android应用。
通过上述Linux操作系统使用Andorid操作系统支持的输入法与Andorid应用建立关系的过程,可以实现在Linux操作系统下使用Android支持的讯飞输入法与Android记事本建立连接。
当所述应用位于第一操作系统且所述默认输入法属于第二操作系统支持的输入法时,第一操作系统使用第二操作系统支持的输入法与第一操作系统中的应用建立关系;
在本实施例中,即Linux操作系统使用Andorid操作系统支持的输入法与Linux应用建立关系的过程,该过程的流程图如图5所示,其中,Linux应用:Linux操作系统下的应用程序,如Linux记事本;
该过程中,Linux输入法服务与Android输入法服务建立socket连接的流程与图4相同,此处不再赘述,图5中各数字对应的流程内容如下:
1.Linux应用通过输入框获取输入焦点;
2.Linux应用向Linux输入法服务请求输入法;
3.Linux输入法服务查询用户设置的默认输入法,查询结果为Android支持的讯飞输入法;
4.Linux输入法服务向Android输入法服务发送启动Android支持的讯飞输入法的指令;
5.Android输入法服务启动Android支持的讯飞输入法;
6.Android支持的讯飞输入法向Android输入法服务反馈启动成功指令;
7.Android输入法服务向Linux输入法服务反馈启动成功指令;
8.Linux输入法服务向Linux应用发送与Android支持的讯飞输入法建立连接的指令;
9.Linux应用与Android支持的讯飞输入法建立socket连接;通过socket进行通信,即在Android支持的讯飞输入法启动成功后,Android支持的输入法与Linux应用建立socket连接,socket通信做跨系统连接和通信;
10.使用Android支持的讯飞输入法向Linux应用传输用户输入的文字。
通过上述Linux操作系统使用Andorid操作系统支持的输入法与Linux应用建立关系的过程,可以实现在Linux操作系统下使用Android支持的讯飞输入法与Linux应用建立连接。
进一步的,在所述默认输入法属于第一操作系统支持的输入法的情况下:
通过所述第一输入法服务启动所述默认输入法;
从所述第一输入法服务向第二输入法服务发送默认输入法启动成功指令;
根据所述默认输入法启动成功指令,从第二输入法服务向所述应用传递默认输入法socket;
根据默认输入法socket,在应用与所述默认输入法之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
当所述应用位于第二操作系统且所述默认输入法属于第一操作系统支持的输入法时,第一操作系统使用第二操作系统支持的输入法与第一操作系统中的应用建立关系;
在本实施例中,即Linux操作系统使用Linux操作系统支持的输入法与Andorid应用建立关系的过程,该过程的流程图如图6所示,其中,Linux操作系统支持的输入法为五笔输入法;
该过程中,Linux输入法服务与Android输入法服务建立socket连接的流程与图4相同,此处不再赘述,图6中各数字对应的流程内容如下:
1.用户通过Linux输入法服务设置默认输入法,例如为Linux系统支持的五笔输入法;
2.Android应用通过输入框获取输入焦点;
3.Android应用向Android输入法客户端请求输入法;
4.Android输入法客户端向Android输入法服务请求输入法;
5.Android输入法服务通过socket向Linux输入法服务请求输入法;
6.Linux输入法服务查询用户设置的默认输入法,查询结果为Linux系统支持的五笔输入法;
7.Linux输入法服务启动Linux系统支持的五笔输入法;
8.Linux系统支持的五笔输入法向Linux输入法服务反馈启动成功指令;
9.Linux输入法服务向Android输入法服务发送Linux系统支持的五笔输入法启动成功指令;
10.Android输入法服务向Android应用传递Linux输入法socket;
11.Android应用与Linux系统支持的五笔输入法建立socket连接;
12.使用Linux系统支持的五笔输入法向Android应用传输用户输入的文字。
通过上述Linux操作系统使用Linux操作系统支持的输入法与Andorid应用建立关系的过程,可以实现在Linux操作系统下使用Linux支持的五笔输入法与Android应用建立连接。
本实施例提供的输入的原理为操作系统支持的输入法(如讯飞输入法或五笔输入法)与应用(如Android记事本或Linux记事本)建立socket连接,通过socket连接可以将用户输入的文字符号发送给应用;
由于Android系统运行于Linux容器中,与Linux共享一个操作系统内核,所以两个操作系统中的进程或应用可以通过本地socket进行通信,其中,本地socket的通信方式不经过以太网设备;
主系统支持的输入法或子系统支持的输入法(如五笔输入法或讯飞输入法)是一个应用进程,Android应用或Linux应用(如Android记事本或Linux记事本)也是一个应用进程,不管这两个应用进程分别在哪个系统中运行,均可以通过本地socket进行通信,实现Android操作系统和Linux操作系统支持的输入法功能的兼容。
从以上的描述中,可以看出,本发明实现了如下技术效果:
本发明通过socket通信通道将第二操作系统支持的输入法发送至第一输入法服务,由第一输入法服务统一管理第一操作系统支持的输入法和第二操作系统支持的输入法,可以通过第一输入法服务自由设置默认输入法,解决了用户在使用不同的操作系统应用时无法自由切换输入法的问题,提高了用户的输入效率;
本发明默认输入法与应用之间建立socket连接后,通过本地socket进行通信,不需要经过以太网设备,实现在两种操作系统的应用下自由切换任意操作系统支持的输入法;操作系统支持的输入法中的任意输入法,都可以与操作系统应用通过本地socket连接,通过输入法将输入的文本的发送至应用。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种用于实施上述输入法设置方法的输入法设置装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务,如图7所示,该装置包括:
socket通信通道建立单元71,用于在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道;
发送单元72,用于利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
设置单元73,用于通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
本发明实施例还提供了一种电子设备,如图8所示,该电子设备包括一个或多个处理器81以及存储器82,图8中以一个处理器81为例。
该控制器还可以包括:输入装置83和输出装置84。
处理器81、存储器82、输入装置83和输出装置84可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器81可以为中央处理器(Central Processing Unit,简称为CPU),处理器81还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,简称为DSP)、专用集成电路(Application Specific Integrated Circuit,简称为ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称为FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合,通用处理器可以是微处理器或者任何常规的处理器。
存储器82作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的控制方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的输入法设置方法、输入方法。
存储器82可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器82可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置83可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置84可包括显示屏等显示设备。
一个或者多个模块存储在存储器82中,当被一个或者多个处理器81执行时,执行如图1所示的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,简称为ROM)、随机存储记忆体(Random AccessMemory,简称为RAM)、快闪存储器(Flash Memory,简称为FM)、硬盘(Hard Disk Drive,简称为HDD)或固态硬盘(Solid-State Drive,简称为SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (11)

1.一种输入法设置方法,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务,其特征在于,所述方法包括:
在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道;
利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
2.根据权利要求1所述的输入法设置方法,其特征在于,所述在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道,包括:
在第一操作系统中启动第一输入法服务;
在第二操作系统中启动第二输入法服务;
在所述第二输入法服务与所述第一输入法服务之间建立socket通信通道。
3.根据权利要求2所述的输入法设置方法,其特征在于,还包括在第一操作系统中启动第二操作系统的步骤,具体包括:
调用第一操作系统容器的命令集,并指定第一操作系统容器的配置文件的路径;
通过所述命令集挂载配置文件中预设的文件系统;
通过所述命令集启动配置文件中预设的引导程序,以启动所述第二操作系统。
4.根据权利要求1所述的输入法设置方法,其特征在于,在从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法之后,所述方法还包括:
通过第一输入法服务扫描所述第一操作系统支持的输入法;
通过第一输入法服务保存所述第二操作系统支持的输入法的代理对象。
5.一种输入方法,应用于采用权利要求1-4任一所述输入法设置方法的电子设备,其特征在于,所述方法包括:
获取应用的输入请求,启动所述默认输入法,其中,所述应用位于第一操作系统或第二操作系统;
在所述默认输入法与应用之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
6.根据权利要求5所述的输入方法,其特征在于,所述获取应用的输入请求,启动所述默认输入法,包括:
通过应用的输入框获取输入焦点;
基于所述输入焦点,从所述应用向第一输入法服务发送默认输入法请求指令;
根据所述默认输入法请求指令,通过第一输入法服务获取设置的默认输入法;
判断所述默认输入法的从属关系,其中,所述默认输入法属于第一操作系统或第二操作系统支持的输入法。
7.根据权利要求6所述的输入方法,其特征在于,在所述默认输入法属于第二操作系统支持的输入法的情况下:
从第一输入法服务向第二输入法服务发送启动指令;
根据所述启动指令,通过第二输入法服务启动所述默认输入法;
在所述默认输入法与所述应用之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
8.根据权利要求6所述的输入方法,其特征在于,在所述默认输入法属于第一操作系统支持的输入法的情况下:
通过所述第一输入法服务启动所述默认输入法;
从所述第一输入法服务向第二输入法服务发送默认输入法启动成功指令;
根据所述默认输入法启动成功指令,从第二输入法服务向所述应用传递默认输入法socket;
根据默认输入法socket,在应用与所述默认输入法之间建立socket连接;
基于所述socket连接,将通过所述默认输入法输入的文本发送至所述应用。
9.一种输入法设置装置,应用于电子设备,电子设备包括第一操作系统和与第一操作系统共享内核并部署在第一操作系统中的第二操作系统,第一操作系统包括第一输入法服务,第二操作系统包括第二输入法服务,其特征在于,所述装置包括:
socket通信通道建立单元,用于在第二操作系统中的第二输入法服务与所述第一操作系统中的第一输入法服务之间建立socket通信通道;
发送单元,用于利用所述socket通信通道,从所述第二输入法服务向第一输入法服务发送所述第二操作系统支持的输入法;
设置单元,用于通过第一输入法服务,从所述第二操作系统支持的输入法和所述第一操作系统支持的输入法中设置默认输入法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-4任意一项所述的输入法设置方法或权利要求5-8任意一项所述的输入方法。
11.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-4任意一项所述的输入法设置方法或权利要求5-8任意一项所述的输入方法。
CN202111061024.4A 2021-09-10 2021-09-10 输入法设置方法及其装置、输入方法及电子设备 Pending CN113918227A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111061024.4A CN113918227A (zh) 2021-09-10 2021-09-10 输入法设置方法及其装置、输入方法及电子设备
PCT/CN2022/104472 WO2023035758A1 (zh) 2021-09-10 2022-07-07 输入法设置方法及其装置、输入方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111061024.4A CN113918227A (zh) 2021-09-10 2021-09-10 输入法设置方法及其装置、输入方法及电子设备

Publications (1)

Publication Number Publication Date
CN113918227A true CN113918227A (zh) 2022-01-11

Family

ID=79234481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111061024.4A Pending CN113918227A (zh) 2021-09-10 2021-09-10 输入法设置方法及其装置、输入方法及电子设备

Country Status (2)

Country Link
CN (1) CN113918227A (zh)
WO (1) WO2023035758A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115052195A (zh) * 2022-06-24 2022-09-13 深圳创维-Rgb电子有限公司 远程输入方法、装置、设备及存储介质
CN115309567A (zh) * 2022-08-10 2022-11-08 亿咖通(湖北)技术有限公司 多系统之间共享输入法的方法、电子设备和可读存储介质
WO2023035758A1 (zh) * 2021-09-10 2023-03-16 北京字节跳动网络技术有限公司 输入法设置方法及其装置、输入方法及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508657A (zh) * 2002-12-20 2004-06-30 宇龙计算机通信科技(深圳)有限公司 三键集中输入法切换与浏览式信息处理装置
US20090157884A1 (en) * 2007-12-13 2009-06-18 International Business Machines Corporation Generic remote connection to a command line interface application
CN101706690A (zh) * 2009-12-07 2010-05-12 北京搜狗科技发展有限公司 一种自适应输入方法及系统
CN102799490A (zh) * 2011-05-27 2012-11-28 北京神州泰岳软件股份有限公司 一种实现一对多的进程间通信的系统和方法
CN105094355A (zh) * 2014-04-29 2015-11-25 联发科技(新加坡)私人有限公司 输入方法及相关电子装置
CN106528099A (zh) * 2016-10-21 2017-03-22 合肥联宝信息技术有限公司 一种基于不同操作系统识别操作命令的方法及装置
CN106980531A (zh) * 2016-01-19 2017-07-25 阿里巴巴集团控股有限公司 输入法操作处理方法和装置
CN108536480A (zh) * 2017-12-28 2018-09-14 广东欧珀移动通信有限公司 输入法配置方法及相关产品
CN109783165A (zh) * 2017-11-14 2019-05-21 财团法人工业技术研究院 基于虚拟化移动架构的移动通信装置及其输入法切换方法
CN113282181A (zh) * 2021-05-21 2021-08-20 南京市德赛西威汽车电子有限公司 一种车载娱乐系统中支持双输入法的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150193904A1 (en) * 2012-10-24 2015-07-09 OpenMobile World Wide, Inc. Graphics acceleration for applications executing on mobile devices with multi-operating system environment
CN104142851A (zh) * 2014-08-04 2014-11-12 福州靠谱网络有限公司 一种在安卓模拟器中使用电脑输入法的方法
CN104740872B (zh) * 2015-04-13 2018-06-19 北京奇虎科技有限公司 模拟安卓环境中游戏程序运行控制方法及装置
CN113741708B (zh) * 2020-05-31 2024-06-11 华为技术有限公司 一种输入方法及电子设备
CN112882675A (zh) * 2021-03-29 2021-06-01 努比亚技术有限公司 一种投屏文字输入方法、设备及计算机可读存储介质
CN113918227A (zh) * 2021-09-10 2022-01-11 北京鲸鲮信息系统技术有限公司 输入法设置方法及其装置、输入方法及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508657A (zh) * 2002-12-20 2004-06-30 宇龙计算机通信科技(深圳)有限公司 三键集中输入法切换与浏览式信息处理装置
US20090157884A1 (en) * 2007-12-13 2009-06-18 International Business Machines Corporation Generic remote connection to a command line interface application
CN101706690A (zh) * 2009-12-07 2010-05-12 北京搜狗科技发展有限公司 一种自适应输入方法及系统
CN102799490A (zh) * 2011-05-27 2012-11-28 北京神州泰岳软件股份有限公司 一种实现一对多的进程间通信的系统和方法
CN105094355A (zh) * 2014-04-29 2015-11-25 联发科技(新加坡)私人有限公司 输入方法及相关电子装置
CN106980531A (zh) * 2016-01-19 2017-07-25 阿里巴巴集团控股有限公司 输入法操作处理方法和装置
CN106528099A (zh) * 2016-10-21 2017-03-22 合肥联宝信息技术有限公司 一种基于不同操作系统识别操作命令的方法及装置
CN109783165A (zh) * 2017-11-14 2019-05-21 财团法人工业技术研究院 基于虚拟化移动架构的移动通信装置及其输入法切换方法
CN108536480A (zh) * 2017-12-28 2018-09-14 广东欧珀移动通信有限公司 输入法配置方法及相关产品
CN113282181A (zh) * 2021-05-21 2021-08-20 南京市德赛西威汽车电子有限公司 一种车载娱乐系统中支持双输入法的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023035758A1 (zh) * 2021-09-10 2023-03-16 北京字节跳动网络技术有限公司 输入法设置方法及其装置、输入方法及电子设备
CN115052195A (zh) * 2022-06-24 2022-09-13 深圳创维-Rgb电子有限公司 远程输入方法、装置、设备及存储介质
CN115052195B (zh) * 2022-06-24 2024-05-14 深圳创维-Rgb电子有限公司 远程输入方法、装置、设备及存储介质
CN115309567A (zh) * 2022-08-10 2022-11-08 亿咖通(湖北)技术有限公司 多系统之间共享输入法的方法、电子设备和可读存储介质
CN115309567B (zh) * 2022-08-10 2023-09-12 亿咖通(湖北)技术有限公司 多系统之间共享输入法的方法、电子设备和可读存储介质

Also Published As

Publication number Publication date
WO2023035758A1 (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
CN113918227A (zh) 输入法设置方法及其装置、输入方法及电子设备
CN108536519B (zh) 自动搭建Kubernetes主节点的方法及终端设备
CN109104467B (zh) 开发环境构建方法、装置以及平台系统和存储介质
US9146731B2 (en) Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system
CN106933648B (zh) 用于多租户容器资源管理的方法和系统
CN103984575A (zh) 一种云计算环境下集群Linux操作系统快速部署方法
EP3518465B1 (en) Method and device for initiating software modification
WO2016037479A1 (zh) 虚拟化网络功能vnf优化方法、装置及系统
CN113452830B (zh) 安卓云手机的批量控制方法、计算机可读介质及电子设备
US10541862B2 (en) VNF processing policy determining method, apparatus, and system
WO2014169870A1 (zh) 虚拟网元自动装载及虚拟机ip地址获取的方法与系统、存储介质
US20190171443A1 (en) Method of Updating Application and Recording Medium
EP3103016B1 (en) Virtualized application cluster
US20190079640A1 (en) Redirection of Web Content
CN108667779B (zh) 一种远程登录容器的方法及服务器
CN104636159B (zh) 对虚拟机中的软件进行升级的方法和装置
CN106549789A (zh) 一种实现服务器安装的方法及系统
JP6448012B2 (ja) 仮想マシン名を表示するための方法、装置、およびシステム
CN113347318B (zh) 一种扫描控制系统、方法及计算设备
CN113242309A (zh) 云计算方法、系统、设备和介质
CN113268254A (zh) 一种集群系统安装方法、装置、电子设备及存储介质
EP3843361A1 (en) Resource configuration method and apparatus, and storage medium
CN109495298B (zh) 在OpenStack系统中管理节点的方法和装置
CN103442041A (zh) 嵌入式设备固件升级的方法、装置及其系统
US10542119B2 (en) Multi-geographical processing of user requests

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220406

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100080

Applicant before: Beijing jingling Information System Technology Co.,Ltd.

TA01 Transfer of patent application right