CN102073542A - Linux应用在Android手机上运行时整合中文输入法的方法 - Google Patents
Linux应用在Android手机上运行时整合中文输入法的方法 Download PDFInfo
- Publication number
- CN102073542A CN102073542A CN201010619542.9A CN201010619542A CN102073542A CN 102073542 A CN102073542 A CN 102073542A CN 201010619542 A CN201010619542 A CN 201010619542A CN 102073542 A CN102073542 A CN 102073542A
- Authority
- CN
- China
- Prior art keywords
- android
- tinyx
- linux
- application
- agent process
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种Linux应用在Android手机上运行时整合中文输入法的方法,1.1)每当启动一个Linux应用时,就在Android系统中为其创建一个代理进程AppProxy,这个代理进程与实际的应用进程有着相同的生存期;1.2)由应用代理进程AppProxy拦截来自Android的人机交互输入,并将其转发给TinyX;1.3)修改TinyX的代码,断开其原有与人机交互输入设备的连接,改成通过socket与代理进程建立连接,并从socket接收来自代理进程的人机交互输入信息;1.4)修改TinyX的代码,使其将来自代理进程的中文信息转发给应用进程。本发明有益的效果是:本发明提供了一种输入代理机制,在Android系统中为运行于Android以外的Linux应用提供一个作为Android应用的代理进程,实现了TinyX和Android关于中文输入法的整合。
Description
技术领域
本发明涉及Android手机领域,尤其是一种Linux应用在Android手机上运行时整合中文输入法的方法。
背景技术
以手机为代表的智能化移动终端设备既是计算机技术的一个重要发展方向,又是一个竞争十分激烈的市场。自从谷歌公司和开放手机联盟推出Android操作系统和基于Android的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷,由中国移动开发并推出的OPhone也是基于Android的,也是一种Android手机。
所谓Android操作系统,实际上是对Linux操作系统的一种改编和扩充,它的内核基本上就是Linux的内核,但是在用户空间却专门针对手机和移动终端设备的特点作了大幅的改进和增强,这些改动大都与编程模式和图形界面、即图形化用户界面(GUI)有关。
在带图形界面的Linux操作系统中,有关图形界面的功能都是由X视窗系统提供的,输入法也是图形界面功能的一部分。运行着应用软件的进程都不直接读取键盘输入,而只是通过进程间通信从X服务进程获取输入。人机交互的输入先由本系统中唯一的X服务进程读取,由X服务进程统一加以前期的处理,然后根据屏幕上光标的当前位置以及当前处于“聚焦”状态的视窗配送给合适的进程/线程。这里所说的前期处理可简可繁,简单的处理由X视窗本身加以实施,复杂的处理则要由外挂的程序模块加以处理,而输入法就是这样的外挂程序模块。所以,用于Linux应用的输入法实际上是为X视窗而开发的输入法。
X视窗属于另一个开源软件项目,早在Unix时代即已存在。由于Linux系统大多离不开图形界面,X视窗实际上已经成了Linux操作系统的一部分。为适应手机和其它嵌入式系统的需要,人们还将X视窗加以裁剪、缩编、简化,成为一个小型化的版本称为TinyX,所以TinyX是专门与嵌入式Linux配对使用的X视窗系统。正因为如此,我们把为手机上的Linux应用而开发的输入法称为TinyX输入法。
可是,在包括Android手机在内的Android系统中,却甩开了X视窗,包括输入法在内的所有图形界面功能全都由Android自己提供。事实上,人们已经为Android开发了不少各式各样的输入法。同样,Android也有自己类似于TinyX那样的集中处理和配送输入信息的机制。
然而,如果我们要在Android手机上运行普通的Linux应用,输入法就成为一个问题。这是因为,Linux应用是必须与TinyX配套运行的,而用了TinyX,就只能使用与其配套的TinyX输入法,可是所有的Android应用却只能继续使用由Android提供的输入法。这样,就会形成TinyX和Android同时共存的局面,此时来自键盘和其它输入设备(例如触摸式屏幕)的物理状态信息不再由唯一的实体加以统一处理和配送。这会造成两方面的问题。首先,由于“政出多门”,就可能会有两边争抢输入信息的情况发生。再说,即使不发生争抢输入信息的情况,使用者也可能只好在与Android应用交互时采用一种输入法;而在与Linux应用交互时采用另一种输入法,这显然会给使用者带来不便。
所以,要在Android手机上运行别的Linux应用,就需要解决整合输入法的问题,使Linux应用能采用Android的输入法。
而本发明的内容和特点就是:为这个问题的解决提供一种方法,将Linux应用跟Android的输入法整合在一起,让Android成为统一接收、处理、配送人机交互输入信息的唯一实体,向在Android手机上运行的Linux应用提供人机交互输入信息,让使用者不需要在同一台手机上因为要与不同的应用交互而不得不使用不同的输入法。
发明内容
为解决输入法整合的问题,本发明提供了一种将Linux应用与Android的输入法相整合的方法,使普通的Linux应用在Android手机上运行时能统一使用由Android提供的中文输入法。
Android应用都是用Java语言编写的,Android为应用程序提供了一些Java语言的“类(Class)”,而每个类中又有若干“方法(Method)”,大体上相当于C语言编程时要用到的各种库函数。可是,在面向对象的Java语言中,应用程序可以很方便地替换或扩充这些“方法”。例如,onTouchEvent()和onKeyDown()是Android提供的两个方法、即函数;每当使用者在触摸屏上有所动作时,当前应用进程的onTouchEvent()就会受到系统的调用;而每当使用者按下一个按键时,则当前应用进程的onKeyDown()就会受到系统的调用。这样的函数也称为“回调函数”。Android应用的开发者可以选用默认的、由Android提供的回调函数,也可以将其中的若干回调函数替换成自己写的同名(并有相同调用参数的)函数,起到“拦截”的作用。
本发明采用的方法是:在Android这一边为Linux应用创建一个代理进程,由这个代理进程在Android这一边运行,其作用是拦截人机交互输入、并将其转发给TinyX,最后到达运行着Linux应用的进程。
(1)、每当启动一个Linux应用时,就在Android系统中为其创建一个代理进程AppProxy,这个进程与实际的应用进程“同生共死”,有着相同的生存期。
(2)、由应用代理进程AppProxy创建一个人机交互输入拦截线程。这个线程拦截来自Android的人机交互输入,并将其转发给TinyX。
(3)、修改TinyX的代码,断开其原有与人机交互输入设备的连接,改成通过socket与代理进程建立连接,并从socket接收来自代理进程的人机交互输入信息。
(4)、修改TinyX的代码,使其将来自代理进程的中文信息转发、配送给应用进程。
这样,人机交互输入就会统一流经由Android提供的输入法和配送机制,先由代理进程加以接收,再转发给TinyX服务进程,最后到达运行着Linux应用的进程。在这整个过程中只有一套输入信息的处理和配送机制,只使用一种输入法,这就解决了输入法整合的问题。
由于TinyX是X视窗的一个子集,其源代码就是X视窗的源代码的一部分,本发明所述方法同样也适用于X视窗。
本发明有益的效果是:本发明提供了一种输入代理机制,在Android系统中为运行于Android以外的Linux应用提供一个作为Android应用的代理进程,使人机交互时的输入统一流经由Android提供的输入法和配送机制,先由代理进程加以接收,再转发给TinyX服务进程,最后到达运行着Linux应用的进程,其效果是实现了TinyX和Android关于中文输入法的整合。
附图说明
附图1是将TinyX的输入法与Android整合之前的系统示意图;
附图2是按本发明所述方法将TinyX整合到Android、统一使用其输入法之后的系统示意图;
附图3是AppProxy的程序流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
附图1中的竖直虚线将系统分成两半,右边是Android系统及其应用,左边是Linux本身的应用,二者共用同一个Linux内核。
图中有两个Android进程,它们的人机交互输入都来自Android、包括其输入法。输入法的输入信息来自外部设备、包括触摸屏和按键、及其设备驱动程序。输入法的输出,则由Android则根据当前各进程的活动情况配送给合适的进程作为其输入。输入法对于Android应用是透明的,Android应用感觉不到输入法的存在,只是从Android接收经过处理加工的人机交互输入。
而Linux这一边,则与Android无关,Linux应用进程从TinyX接收人机交互输入,而TinyX则直接从操作系统内核获取输入信息,如果使用者不采用英语就得由TinyX提供自己的输入法。
这样就给使用者带来不便。更麻烦的是,在缺乏统一的仲裁和协调机制的条件下,两个互相独立的输入法都从相同的外部设备及其驱动获取输入,就会发生两边争抢输入的情况发生。
附图2中在Android这一边多了一个代理进程AppProxy,这个进程在Android这一边代表着Linux应用进程,其视窗位置和大小被设置成与其所代表的应用进程一样。输入法则只有一个,那就是Android的输入法,其输出由Android递交给代理进程,再由代理进程转发给TinyX。
至于TinyX,则不再直接从操作系统内核获取人机交互输入,而改成从Android这一边得代理进程接收盛载着人机交互输入信息的“消息”,再把这消息转发给Linux这一边的应用进程。
附图3是AppProxy的程序流程。当用户要启动一个Linux应用时,实际启动的是AppProxy,原本用来启动Linux应用所需的命令行则作为(对于AppProxy的)命令行参数传给AppProxy。启动之后,AppProxy首先创建一个连接管理线程,由这个线程根据命令行参数启动Linux应用,然后就等待Linux应用的运行结束。而主线程则负责拦截、接收人机交互输入并将其转发给TinyX。一旦Linux应用结束运行,整个AppProxy进程便立即退出运行。这样,AppProxy与具体的Linux应用便有(基本)相同的生存期,成为同生共死的关系。
本方法的具体实施涉及对TinyX即X的源代码的修改,X是开源软件,其源代码XFree86可从有关网站获取。下面分五个方面说明本方法的一个实施例。注意同一个方法可以有多种不同的实施,这里所提供的只是其中之一。
1、作为应用代理的可执行程序AppProxy
为把Linux应用的人机交互输入整合到Android,需要在Android这一边为Linux应用创建一个代理进程,由这个代理进程在Android这一边拦截人机交互输入、并将其转发给TinyX,最后到达运行着Linux应用的进程。
在Android系统中,一个应用进程称为一个Activity,是一个Java语言中的“类(Class)”,将这种类扩展成一个自定义的类,就是一个Android应用,最后在Android的显示屏上就会有一个图标,点击这个图标就会执行这个类中的“方法(Method)”onCreate()。所以,onCreate()就相当于C程序中的main()。下面给出有关的伪代码
这个Activity最主要的任务就是启动Linux那一边的应用,具体方法是通过Java语言的JNI机制调用其方法startApp,而JNI机制会自动将其转化成对C语言函数Java_Android_AppProxy_jni_JniMethod_startApp()的调用:
这段程序通过Linux的系统调用fork()创建一个子进程,然后让这子进程执行Linux那一边的具体应用程序。这样就保证了代理进程与应用进程的“同生”;但是这还不够,还得保证二者的“公死”,为此可由应用进程在退出运行前夕向代理进程发送一个通知,让代理进程也及时退出运行,具体的实现见下面的第三条。
此外,在Activity的onCreate()中还需要创建一个View,就是上面代码中的AppView,用来作为人机交互输入的接收缓冲。
代理进程的View实际上从来都不显示,但是逻辑上还是要设置一个屏幕位置和范围,并且这个位置和范围必须跟具体应用进程所占的位置和范围相同。这是因为Android根据点击位置寻找属于哪一个进程,这样才能使Android将人机交互输入递交给代理进程。
有关的这些程序设计对于Android应用的开发者而言应该没有什么困难,如有困难可参阅“深入浅出Google Android”、“Pro Android”等参考书。
2、修改TinyX的源代码,切断与键盘和鼠标器或触摸屏的联系
TinyX原来直接从键盘和鼠标器及触摸屏直接读入信息,现在要让它改从应用代理读取、并且仅从应用代理读取人机交互输入信息,所以需要切断TinyX与键盘和鼠标器或触摸屏的联系。为达到这个目的,只需要在TinyX源代码的Xserver\dix\nain.c中找到其主函数main(),把里面对于InitInput()的调用注释掉,使TinyX在初始化时跳过IritInput()就行了,因为键盘、鼠标器、触摸屏的初始化都是在这个函数中完成的。3、定义一个双方通信的协议,并在AppProxy与TinyX之间建立Socket连接
将TinyX的人机交互输入功能整合到Android之后,TinyX就人机交互输入而言只起着中介的作用,其输入来自Android这一边的代理进程。为此需要在TinyX与代理进程之间定义一个双方通信的协议、主要是消息类型,在我们这个实施例中定义如下:
这里所定义的消息类型,有些是从代理进程发往TinyX、再到应用进程的,例如TINYX_KEY_EVNENT、TINYX_STRING_EVENT、TINYX_KEY_DOWN等等;有的则是反方向的,例如PROXY_HIDE_SOFT_INPUT、PROXY_APP_EXIT等。
在实际运行中,TinyX作为一个系统服务进程是一直在运行的,这个服务进程创建了一组socket供客户进程前来连接;而代理进程及其所代理的Linux应用进程则在需要时才启动。启动之后,代理进程和应用进程都通过自己的socket连接到由TinyX建立的某个socket,从而建立起与服务进程的连接。其中应用进程与TinyX的连接是原来就有的,代理进程与TinyX的连接则是新增的。代理进程不仅仅通过这个连接向TinyX发送人机交互输入信息,也从TinyX接收来自应用进程的命令和通知并加以执行。例如,应用进程在某些条件下可能会命令代理进程在显示屏上弹出软键盘或收起软键盘。特别地,当应用进程要退出运行时,还会(经由TinyX)向代理进程发出一个通知,让代理进程也及时退出运行,这样才能使二者“同生共死”。为此,代理进程可以专门创建一个线程,来管理与TinyX的socket连接并负责执行来自TinyX、实际上是来自应用进程的命令。在本实施例中,这是由下面的代码实现的:
4、在AppProxy中拦截人机交互输入并转发给TinyX
与TinyX建立起socket连接之后,代理进程便可拦截来自键盘、触摸屏、和输入法的人机交互输入,并将其转发给TinyX。
在Android的程序设计框架中,每个Activity都可以通过onKeyDown()、onKeyUp()、onTouchEvent()、onTextChanged()等“方法”、即函数获取人机交互输入。这些函数称为“回调函数”,每当使用者对输入设备有所操作时,相应的回调函数就会得到调用。以onTextChanged()为例,使用者要输入一个汉字时,实际上需要输入多个英文字符,这时候就要启用输入法。对于具体的输入法,使用者输入多个英文字符属于中间过程,叫做“合成(Composition)”,有个用来合成的缓冲区,在此过程中缓冲区的内容逐步在变化,这个过程一直要到使用者确认完成了一个汉字或词组的合成时才会结束。每当这缓冲区的内容发生变化时,应用进程的onTextChanged()就会受到Android的调用,所合成的汉字或词组则作为字符串存放在一个缓冲区中。
5、由TinyX将来自AppProxy的人机交互输入转发配送给Linux应用
TinyX是个服务进程,其主循环是Dispatch(),这个函数的代码在Xserver\dix\dispatch.c中。在这个主循环中,TinyX的主线程在一个函数WaitForSomething()中通过系统调用select()监视来自外部设备和Socket的输入,这段代码在源文件Xserver\os\WaitFor.c中:
每当TinyX的这个线程从系统调用select()返回时,必定是某个socket或I/O端口上发生了什么事,返回值i指明具体的socket或端口,下面就由WakeupHandler()加以处理并作出反应。对于socket,此时要判别这是通往代理进程的socket还是通往应用进程的socke,如果是通往代理进程的socket,那就由函数serv_proxy()加以处理:
以来自代理进程的汉字或词组为例,这里通过handle_proxy_string()将其转发给应用进程:
要将一个字符串转发给应用进程时,需要准备好一个xEvent数据结构,然后调用由TinyX提供的库函数mieqEnqueue(),这样就可以了。
通过上述五个方面的程序设计和对于TinyX代码的修改,就可以实现本发明所述将Linux应用与Android的输入法相整合的方法,使普通的Linux应用在Android手机上运行时能统一使用由Android提供的中文输入法。
值得注意的是,虽然本发明主要的目的在于中文输入法的整合,但实际上也附带实现了普通英文输入的整合。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
Claims (1)
1.一种Linux应用在Android手机上运行时整合中文输入法的方法,其特征在于:
1.1)每当启动一个Linux应用时,就在Android系统中为其创建一个代理进程AppProxy,这个代理进程与实际的应用进程有着相同的生存期;
1.2)由应用代理进程AppProxy拦截来自Android的人机交互输入,并将其转发给TinyX;
1.3)修改TinyX的代码,断开其原有与人机交互输入设备的连接,改成通过socket与代理进程建立连接,并从socket接收来自代理进程的人机交互输入信息;
1.4)修改TinyX的代码,使其将来自代理进程的中文信息转发给应用进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010619542.9A CN102073542B (zh) | 2010-12-22 | 2010-12-22 | Linux应用在Android手机上运行时整合中文输入法的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010619542.9A CN102073542B (zh) | 2010-12-22 | 2010-12-22 | Linux应用在Android手机上运行时整合中文输入法的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073542A true CN102073542A (zh) | 2011-05-25 |
CN102073542B CN102073542B (zh) | 2013-04-03 |
Family
ID=44032088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010619542.9A Active CN102073542B (zh) | 2010-12-22 | 2010-12-22 | Linux应用在Android手机上运行时整合中文输入法的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073542B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331927A (zh) * | 2011-06-24 | 2012-01-25 | 浙大网新科技股份有限公司 | Wine与安卓手机软键盘输入的整合方法 |
CN102331938A (zh) * | 2011-06-24 | 2012-01-25 | 浙大网新科技股份有限公司 | 一种将应用软件生成安卓安装包的方法 |
CN102364434A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 一种整合Wine与Android鼠标输入的方法 |
CN102364436A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 实现WinCE/Android混合API调试的方法及系统 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
CN105404547A (zh) * | 2014-09-12 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 一种操作系统的融合方法及装置 |
CN107193556A (zh) * | 2017-05-11 | 2017-09-22 | 天津麒麟信息技术有限公司 | 一种linux下层次式输入法 |
CN108416233A (zh) * | 2018-01-19 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 获取输入字符的方法及装置 |
CN109542246A (zh) * | 2018-11-06 | 2019-03-29 | 北京指掌易科技有限公司 | 一种Android输入法应用输入关键字拦截的方法 |
CN109558728A (zh) * | 2018-11-06 | 2019-04-02 | 北京指掌易科技有限公司 | 一种Android应用内输入关键字拦截的方法 |
CN110381214A (zh) * | 2019-07-26 | 2019-10-25 | 上海秘墟科技有限公司 | 一种在线式文本阅读与传送方法 |
CN112988419A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种将Linux输入法共享给Android的方法 |
CN115309567A (zh) * | 2022-08-10 | 2022-11-08 | 亿咖通(湖北)技术有限公司 | 多系统之间共享输入法的方法、电子设备和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344849A (zh) * | 2008-08-22 | 2009-01-14 | 四川长虹电器股份有限公司 | 嵌入式gui环境下实现输入法叠加的方法 |
CN101751249A (zh) * | 2008-12-09 | 2010-06-23 | 纬创资通股份有限公司 | 用于一操作系统的键盘转译方法及其相关装置 |
CN101763216A (zh) * | 2009-12-28 | 2010-06-30 | 山东大学 | 一种用于linux操作系统的手写输入方法 |
-
2010
- 2010-12-22 CN CN201010619542.9A patent/CN102073542B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344849A (zh) * | 2008-08-22 | 2009-01-14 | 四川长虹电器股份有限公司 | 嵌入式gui环境下实现输入法叠加的方法 |
CN101751249A (zh) * | 2008-12-09 | 2010-06-23 | 纬创资通股份有限公司 | 用于一操作系统的键盘转译方法及其相关装置 |
CN101763216A (zh) * | 2009-12-28 | 2010-06-30 | 山东大学 | 一种用于linux操作系统的手写输入方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331938A (zh) * | 2011-06-24 | 2012-01-25 | 浙大网新科技股份有限公司 | 一种将应用软件生成安卓安装包的方法 |
CN102364434A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 一种整合Wine与Android鼠标输入的方法 |
CN102364436A (zh) * | 2011-06-24 | 2012-02-29 | 浙大网新科技股份有限公司 | 实现WinCE/Android混合API调试的方法及系统 |
CN102364434B (zh) * | 2011-06-24 | 2014-04-02 | 浙大网新科技股份有限公司 | 一种整合Wine与Android鼠标输入的方法 |
CN102331927B (zh) * | 2011-06-24 | 2014-06-25 | 浙大网新科技股份有限公司 | Wine与安卓手机软键盘输入的整合方法 |
CN102331927A (zh) * | 2011-06-24 | 2012-01-25 | 浙大网新科技股份有限公司 | Wine与安卓手机软键盘输入的整合方法 |
CN103377074A (zh) * | 2012-04-28 | 2013-10-30 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
CN103377074B (zh) * | 2012-04-28 | 2017-02-15 | Tcl集团股份有限公司 | 一种在java环境中执行程序的方法及系统 |
CN105404547A (zh) * | 2014-09-12 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 一种操作系统的融合方法及装置 |
CN107193556B (zh) * | 2017-05-11 | 2020-07-31 | 麒麟软件有限公司 | 一种linux下层次式输入法 |
CN107193556A (zh) * | 2017-05-11 | 2017-09-22 | 天津麒麟信息技术有限公司 | 一种linux下层次式输入法 |
CN108416233A (zh) * | 2018-01-19 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 获取输入字符的方法及装置 |
WO2019141112A1 (zh) * | 2018-01-19 | 2019-07-25 | 阿里巴巴集团控股有限公司 | 获取输入字符的方法及装置 |
CN108416233B (zh) * | 2018-01-19 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 获取输入字符的方法及装置 |
TWI693534B (zh) * | 2018-01-19 | 2020-05-11 | 香港商阿里巴巴集團服務有限公司 | 獲取輸入字元的方法和裝置 |
CN109558728A (zh) * | 2018-11-06 | 2019-04-02 | 北京指掌易科技有限公司 | 一种Android应用内输入关键字拦截的方法 |
CN109542246A (zh) * | 2018-11-06 | 2019-03-29 | 北京指掌易科技有限公司 | 一种Android输入法应用输入关键字拦截的方法 |
CN109542246B (zh) * | 2018-11-06 | 2022-10-28 | 北京指掌易科技有限公司 | 一种Android输入法应用输入关键字拦截的方法 |
CN110381214A (zh) * | 2019-07-26 | 2019-10-25 | 上海秘墟科技有限公司 | 一种在线式文本阅读与传送方法 |
CN112988419A (zh) * | 2021-03-12 | 2021-06-18 | 麒麟软件有限公司 | 一种将Linux输入法共享给Android的方法 |
CN115309567A (zh) * | 2022-08-10 | 2022-11-08 | 亿咖通(湖北)技术有限公司 | 多系统之间共享输入法的方法、电子设备和可读存储介质 |
CN115309567B (zh) * | 2022-08-10 | 2023-09-12 | 亿咖通(湖北)技术有限公司 | 多系统之间共享输入法的方法、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102073542B (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073542B (zh) | Linux应用在Android手机上运行时整合中文输入法的方法 | |
WO2021057830A1 (zh) | 一种信息处理方法及电子设备 | |
CN103493010B (zh) | 交叉环境事件通知 | |
US8190998B2 (en) | Method for generating an object-processing platform between two computers by joining screens | |
US11093715B2 (en) | Method and system for learning and enabling commands via user demonstration | |
EP2680123A2 (en) | Method and Device of Task Processing of One Screen and Multi-Foreground | |
CN102123196B (zh) | 在Android手机上实现WinCE/Android混合API的方法 | |
US20110225553A1 (en) | Use Of Standalone Mobile Devices To Extend HID Capabilities Of Computer Systems | |
CN102331927B (zh) | Wine与安卓手机软键盘输入的整合方法 | |
WO2021121052A1 (zh) | 一种多屏协同方法、系统及电子设备 | |
WO2021136133A1 (zh) | 一种应用程序切换方法及电子设备 | |
US20160085366A1 (en) | Scripting Cross-Device Wearable Interaction | |
EP4040277A1 (en) | Method for displaying multiple windows, and electronic device and system | |
CN106990908B (zh) | 一种局部触摸屏蔽方法、装置、系统、设备及存储介质 | |
CN104239071A (zh) | 一种基于通用组件和中转服务的跨平台移动应用开发框架系统 | |
CN103312814B (zh) | 云管理平台和虚拟机终端用户间vnc隐通道的建立方法 | |
CN106250083A (zh) | 双屏双控智能终端及实现方法 | |
JP2015158748A (ja) | 制御装置、情報処理装置、制御方法、情報処理方法、情報処理システム、ウェアラブル機器 | |
CN102364434B (zh) | 一种整合Wine与Android鼠标输入的方法 | |
CN105893067A (zh) | 基于PC机实现运行Android系统应用的方法 | |
CN108027725A (zh) | 指导终端设备操作的方法、装置和设备 | |
KR20150087902A (ko) | 전자 장치 및 전자 장치의 사용자 인터페이스 표시 방법 | |
CN112231017A (zh) | 在Linux上兼容运行Android操作系统的虚拟键鼠方法与装置 | |
US20180217728A1 (en) | Information transmission device and operating method therefor | |
CN111610972A (zh) | 页面生成方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |