CN102364434A - Method for integrating Wine and Android mouse input - Google Patents
Method for integrating Wine and Android mouse input Download PDFInfo
- Publication number
- CN102364434A CN102364434A CN2011101737488A CN201110173748A CN102364434A CN 102364434 A CN102364434 A CN 102364434A CN 2011101737488 A CN2011101737488 A CN 2011101737488A CN 201110173748 A CN201110173748 A CN 201110173748A CN 102364434 A CN102364434 A CN 102364434A
- Authority
- CN
- China
- Prior art keywords
- tinyx
- mouse
- android
- mouse input
- wineproxy
- 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
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a method for integrating Wine and Android mouse input, which is mainly used for processing a mouse input event happened when an ordinary Linux application program is executed in an Android system, and comprises the following steps that: a proxy process WineProxy is established to receive the mouse input event; a way for acquiring the mouse input from a kernel is disconnected in a TinyX; a communication connection between the TinyX and the WineProxy is established; when a mouse input event happens, the WineProxy transmits an event notice to the TinyX through the communication connection; and after receiving the event notice, the event notice is encapsulated into a message in a TinyX format by the TinyX to be transmitted to the application program to process.
Description
Technical field
The present invention relates to the intelligent mobile terminal field, in particular, relate to the method for a kind of Wine of integration and Android mouse input.
Background technology
The intelligent portable terminal that with the mobile phone is representative is important development direction of computer technology, so market competition is very fierce.Since Google and open mobile phone alliance's release Android operating system and the mobile phone, be on the increase based on the mobile phone market share of Android system, so more and more users experience problem has been paid close attention to based on this system.
So-called Android operating system; Be actually a kind of reorganization and expansion to (SuSE) Linux OS; Its kernel is the kernel through the Linux that revises; But but done significantly to improve and strengthen to the application characteristic of the mobile terminal device of mobile phone for example specially at user's space, these are changed mostly and programming mode and graphical interfaces, and promptly graphic user interface (GUI) is relevant.
In the (SuSE) Linux OS of band graphical interfaces, the function of relevant graphical interfaces is provided by the X windows system, and the mouse input also is the part of graphical interfaces function.The process of moving application software does not directly read the mouse input, but obtains input through interprocess communication from X service processes (Xserver).The input of man-machine interaction is read by Xserver unique in the native system earlier, handles in earlier stage by Xserver is unified, provides and delivers to suitable process/thread according to the form of onscreen target current location and current being in " focusing " state then.Said here in earlier stage handle can letter can be numerous, the simple processing itself implemented by the X form, complex processing then will be handled by plug-in program module, and the mouse input is handled and just belonged to such plug-in program module.So the mouse input processing that is actually to the X form is handled in the mouse input that is used for the Linux application.
The X form belongs to another open source software project, promptly exists as far back as the Unix epoch.Because linux system be unable to do without graphical interfaces mostly, the X form has in fact become the part of (SuSE) Linux OS.The needs that be to adapt to portable terminal and other embedded system, the technician with the in addition cutting of X form, reduce the staff, simplify, become the version of a miniaturization, be called TinyX.Therefore TinyX is the special X windows system of using with the built-in Linux pairing, and the mouse input processing program of exploitation is called TinyX mouse discrepancy handling procedure so also the Linux on the mobile phone is used.
, in the Android system, but throw TinyX away, comprise that all graphical interfaces functions that the mouse input is handled are all provided by Android oneself.Equally, Android also has and oneself is similar to such the focusing on and the mechanism of the input information of providing and delivering of TinyX.Make that on the Android mobile phone, moving common Linux if desired uses, the processing of mouse input just becomes a problem.This be because; Linux use must with the TinyX matching running; And used TinyX, just can only use the TinyX mouse input processing program supporting with it, but all Android application but can only continue to use mouse input processing program that provides by Android.Like this, will form the coexistent situation of TinyX and Android, no longer by in addition Unified Treatment and the dispensing of unique entity, can cause the problem of following two aspects from the physical state information of touch-screen and other input equipment this moment.At first, possibly have the situation of fighting for input information takes place; Secondly; Even do not fight for the situation of input information; The user also possibly adopt a kind of mouse input processing program when mutual using with Android; And adopt another kind of mouse input processing program when mutual using with Linux, because both differences on function and performance can be made troubles to user experience.
After being transplanted to the Linux platform to Wine, can therefore exist TinyX and Android to fight for the problem that Wine application program mouse is imported equally in the operation of Linux platform based on the WinCE/WM application software of Windows operating system.
Summary of the invention
In view of this; The object of the present invention is to provide the method for a kind of Wine of integration and Android mouse input; Make Android become the sole entity of the unified mouse input information that receives, handles, provides and delivers; Using to the Linux that on the Android mobile phone, moves provides the mouse input information, let the user need be on same mobile phone because will be mutual and not use different mouse input processing programs with different application.
Integrate the method for Wine and the input of Android mouse according to one embodiment of the invention a kind of, the mouse incoming event that takes place when being primarily aimed at the common Linux application program of in Android system execution is handled, and its processing procedure may further comprise the steps:
Step 1 is created an agent process WineProxy and is received said mouse incoming event;
Step 2 is cut off the approach that obtains the mouse input from kernel in TinyX;
Step 3 establishes a communications link between TinyX and WineProxy;
The mouse incoming event takes place in step 4, and WineProxy sends event notice through said communication connection to TinyX;
Step 5 after TinyX will receive said event notice, is packaged into it and is sent to program process after message of TinyX form and handles.
According to the integration Wine of above technical scheme realization and the method for Android mouse input; The mouse input will unify to flow through by Android mouse handling procedure that provides and the mechanism of providing and delivering; Receive by agent process earlier, be transmitted to TinyX again, arrive running Linux application process at last; Processing and the dispensing mechanism of having only a cover mouse input information in the whole process, thus realization Wine and the input of Android mouse are integrated.
Description of drawings
Shown in Figure 1 for integrating Wine and Android mouse input system basic structure synoptic diagram;
Shown in Figure 2 for integrating the software configuration synoptic diagram of Wine and Android mouse input;
Shown in Figure 3 for integrating Wine and Android mouse input processing flow chart.
Embodiment
Below in conjunction with accompanying drawing the preferred embodiments of the present invention are described in detail, but the present invention is not restricted to these embodiment.The present invention contain any on marrow of the present invention and scope, make substitute, modification, equivalent method and scheme.Understand for the public is had completely the present invention, in the following preferred embodiment of the present invention, specified concrete details, and do not had the description of these details also can understand the present invention fully for a person skilled in the art.
With reference to figure 1, be depicted as and integrate Wine and Android mouse input system basic structure synoptic diagram, horizontal dotted line is represented the boundary of user's space and system space among the figure, and dotted line is above to be user's space, is system space below the dotted line, and promptly linux kernel 140.WinCE/WM application process 120 comprises the EXE reflection 121 and Wine dynamic link library 122 of WinCE/WM.Except that operation WinCE/WM application process 120, also have two processes in the system at least, one is Wineserver110, i.e. the Wine server processes; Another is Xserver130, i.e. the TinyX server processes.Why WinCE/WM application process 120 can be moved on linux kernel, is because the support of Wineserver110 and Wine dynamic link library 122 is arranged.And why WinCE/WM application process 120 can obtain Genius mouse input, why can be on screen display graphics, be because the existence of Xserver130 is arranged.In the linux system of routine, all intercepted and captured from the input of Genius mouse by Xserver, be distributed to the current process that is focused on by Xserver again.
With reference to figure 2, be depicted as the software configuration synoptic diagram of integrating Wine and the input of Android mouse.Integrate the modification that Wine and Android mouse import original Android system and relate generally to following three parts.Wherein revise the respective sources code of comctl32.dll and winex11.drv.dll at the subsystem that is used for management and application program; Increase following function; In comctl32.dll, add the function that can judge whether to need to eject auxiliary input frame; Make it this click whether needs eject auxiliary input frame as response on screen according to the position judgment of click; In winex11.drv.dll, add an api function, make Wine send the request of ejecting auxiliary input frame to Xserver.
This instance system adopts TinyX as the Xserver in the system.Modification to TinyX mainly concentrates on the mouse input is obtained in cut-out from kernel approach.Specifically, the code revision of obtaining click input from system kernel among original TinyX is imported behavior for obtaining corresponding mouse through socket from WineProxy.
WineProxy is the present invention's newly-established task in the Android system.The function that WineProxy need realize comprises the click operation on the monitoring screen, writes down click operation types and concrete positional information, and it is packaged into the information format of X11 system standard.Also need realize being used for the Socket of communication between application program and TinyX and the WineProxy in this external system, and corresponding communications protocol.
The operation that the WineProxy module reads mouse from screen, and with its information stores in buffer zone, again the mouse action information in the buffer zone is sent to TinyX through Socket and handles; TinyX is responsible for the concrete processing of mouse input; The information of the mouse action that will obtain from WineProxy is packaged into the information format that meets the X standard criterion; And this information is sent to Winex11.drv.dll through Socket handle; The mouse input request that the Winex11.drv.dll module is responsible for TinyX is sent converts into can be by the form of comctl32.dll identification, and converts the request of comctl32.dll the TinyX command format of standard into.
With reference to figure 3, be depicted as and integrate Wine and Android mouse input processing flow chart.
Below with the soft keyboard input process in the Android system as an example, specify method of the present invention and how to be applied in the mouse input process in the Android system, realize integration function to the mouse input.
Owing to all can adopt in a plurality of tasks of soft keyboard input in the Android system, and the time of operation is unfixing, so system needs the click behavior of supervisory user on screen at any time;
After the user clicked screen, the onTouchEvent () method among the WineProxy was called.This method is encapsulated as an intrasystem incident with user's click, and notes the particular type of click and the information of position, is used for later operation;
WineProxy sends to Xserver with packaged incident through socket; In this instance system, i.e. TinyX, the information of sending this moment does not also meet the form that the defined form TinyX of X11 agreement converts this event notice to X11 agreement defined; And it is transmitted to application process; This incident and TinyX know that the incident when mouse state changes is of equal value, comprise the click type, information such as the particular location of click; Click event after TinyX will transform sends to the winex11.drv.dll of application process through socket;
After Winex11.drv.dll in the application process receives the incident from TinyX, judge it and be mouse click event, subsequently the comctl32.dll that gives the upper strata on it is handled;
X11 incident after the comctl32.dll on upper strata changes through encapsulation judges whether the cursor of this moment drops in certain Compilatory control; If the position of clicking belongs to the zone that can not edit; Just ignore current click operation; System state jumps back to step 301, continues to wait for the click operation of user on screen;
If comctl32.dll judges the position of click and belongs in certain Compilatory control, just call the corresponding api function that Winex11.drv.dll provides, send the request of ejecting soft keyboard;
It should be noted that; Said process can also be optimized, and can TinyX be excluded from this process in the future, lets application process directly communicate by letter with WineProxy through Winex11.drv.dll; The communication time-delay of the corresponding mouse action of reduction system, the user experience of improvement system.
These embodiment are chosen and specifically described to this instructions, is in order to explain principle of the present invention and practical application best, thereby person skilled can be utilized this invention best under making.The embodiment that revises equally also is applicable to the application-specific of expection.Scope of the present invention be claims four corner with and equivalent.
Claims (1)
1. method of integrating the input of Wine and Android mouse, the mouse incoming event that takes place when being primarily aimed at the common Linux application program of in Android system execution is handled, and it is characterized in that its processing procedure may further comprise the steps:
Step 1 is created an agent process WineProxy and is received said mouse incoming event;
Step 2 is cut off the approach that obtains the mouse input from kernel in TinyX;
Step 3 establishes a communications link between TinyX and WineProxy;
The mouse incoming event takes place in step 4, and WineProxy sends event notice through said communication connection to TinyX;
Step 5 after TinyX will receive said event notice, is packaged into it and is sent to program process after message of TinyX form and handles.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173748.8A CN102364434B (en) | 2011-06-24 | 2011-06-24 | Method for integrating Wine and Android mouse input |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173748.8A CN102364434B (en) | 2011-06-24 | 2011-06-24 | Method for integrating Wine and Android mouse input |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102364434A true CN102364434A (en) | 2012-02-29 |
CN102364434B CN102364434B (en) | 2014-04-02 |
Family
ID=45691000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110173748.8A Active CN102364434B (en) | 2011-06-24 | 2011-06-24 | Method for integrating Wine and Android mouse input |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102364434B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257893A (en) * | 2013-05-28 | 2013-08-21 | 腾讯科技(深圳)有限公司 | Method, device and system for obtaining input event state |
CN105404547A (en) * | 2014-09-12 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Fusion method and device of operating system |
CN105573816A (en) * | 2015-12-11 | 2016-05-11 | 北京奇虎科技有限公司 | Virtual input method, device and system |
CN105677329A (en) * | 2015-12-30 | 2016-06-15 | 联想(北京)有限公司 | Controlling method and electronic device |
CN110018917A (en) * | 2019-04-11 | 2019-07-16 | 深圳市智微智能科技开发有限公司 | Realize method, system, terminal and the storage medium of independent mouse input channel |
CN112231017A (en) * | 2020-10-27 | 2021-01-15 | 北京技德***技术有限公司 | Virtual keyboard and mouse method and device for compatible operation of Android operating system on Linux |
CN112558841A (en) * | 2020-09-29 | 2021-03-26 | 统信软件技术有限公司 | Application icon management method, computing device and readable storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510125A (en) * | 2009-03-30 | 2009-08-19 | 东南大学 | Method for implementing computer keyboard mouse action control using mobile phone by bluetooth |
US20100050112A1 (en) * | 2008-08-22 | 2010-02-25 | Inventec Corporation | System and method of immediate translation display |
CN101968746A (en) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | Method for implementing organizational architecture mode of kernel-based virtual machine (KVM) |
CN102073542A (en) * | 2010-12-22 | 2011-05-25 | 浙大网新科技股份有限公司 | Method for integrating Chinese input method during operation of Linux applications on Android mobile phone |
-
2011
- 2011-06-24 CN CN201110173748.8A patent/CN102364434B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100050112A1 (en) * | 2008-08-22 | 2010-02-25 | Inventec Corporation | System and method of immediate translation display |
CN101510125A (en) * | 2009-03-30 | 2009-08-19 | 东南大学 | Method for implementing computer keyboard mouse action control using mobile phone by bluetooth |
CN101968746A (en) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | Method for implementing organizational architecture mode of kernel-based virtual machine (KVM) |
CN102073542A (en) * | 2010-12-22 | 2011-05-25 | 浙大网新科技股份有限公司 | Method for integrating Chinese input method during operation of Linux applications on Android mobile phone |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257893A (en) * | 2013-05-28 | 2013-08-21 | 腾讯科技(深圳)有限公司 | Method, device and system for obtaining input event state |
CN103257893B (en) * | 2013-05-28 | 2016-06-15 | 腾讯科技(深圳)有限公司 | A kind of methods, devices and systems obtaining input state-event |
CN105404547A (en) * | 2014-09-12 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Fusion method and device of operating system |
CN105573816A (en) * | 2015-12-11 | 2016-05-11 | 北京奇虎科技有限公司 | Virtual input method, device and system |
CN105573816B (en) * | 2015-12-11 | 2018-12-21 | 北京奇虎科技有限公司 | The method, apparatus and system virtually inputted |
CN105677329A (en) * | 2015-12-30 | 2016-06-15 | 联想(北京)有限公司 | Controlling method and electronic device |
CN105677329B (en) * | 2015-12-30 | 2018-12-14 | 联想(北京)有限公司 | A kind of control method and electronic equipment |
CN110018917A (en) * | 2019-04-11 | 2019-07-16 | 深圳市智微智能科技开发有限公司 | Realize method, system, terminal and the storage medium of independent mouse input channel |
CN110018917B (en) * | 2019-04-11 | 2023-07-28 | 深圳市智微智能科技股份有限公司 | Method, system, terminal and storage medium for realizing independent mouse input channel |
CN112558841A (en) * | 2020-09-29 | 2021-03-26 | 统信软件技术有限公司 | Application icon management method, computing device and readable storage medium |
CN112231017A (en) * | 2020-10-27 | 2021-01-15 | 北京技德***技术有限公司 | Virtual keyboard and mouse method and device for compatible operation of Android operating system on Linux |
Also Published As
Publication number | Publication date |
---|---|
CN102364434B (en) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102364434B (en) | Method for integrating Wine and Android mouse input | |
CN111880870B (en) | Method and device for controlling electronic equipment and electronic equipment | |
CN102073542B (en) | Method for integrating Chinese input method during operation of Linux applications on Android mobile phone | |
US10572267B2 (en) | Bios user interface control using mobile device | |
KR102481065B1 (en) | Application function implementation method and electronic device | |
CN111049935B (en) | System for remotely controlling electronic equipment and electronic equipment thereof | |
US20120297341A1 (en) | Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems | |
CN102331927A (en) | Method for integrating soft keyboard input of Wine and Android mobile phone | |
CN103282875A (en) | Multi-operating system | |
CN102929593B (en) | The method of the compatible built-in application of a kind of android system | |
KR101325026B1 (en) | Control method for application execution terminal based on android platform using smart-terminal, and computer-readable recording medium for the same | |
CN110569473A (en) | Method for remotely operating linux server based on SSH protocol | |
WO2018086454A1 (en) | Page data processing method and device | |
CN111078104A (en) | Redirection method of multi-point touch equipment on cloud desktop and computer equipment | |
CN111713176B (en) | Data transmission method and terminal | |
CN111045551A (en) | Multi-screen touch system under iOS system | |
CN100474254C (en) | Mobile telephone emulation system and method therefor | |
CN103412704A (en) | Optimization schemes for controlling user interfaces through gesture or touch | |
CN101819524B (en) | Access method of RFID (Radio Frequency Identification Device) reader and interface driving device thereof | |
CN111988382B (en) | Method and system for performing application interface interaction across terminals | |
CN112148499A (en) | Data reporting method and device, computer equipment and medium | |
WO2020000276A1 (en) | Method and terminal for controlling shortcut button | |
CN113886070A (en) | Device information management method, device and computer readable storage medium | |
CN105323615B (en) | The operating method of application and processing unit for set-top box or television set | |
CN114666447B (en) | Remote volume control method and device for physical keys, storage medium and intelligent terminal |
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 |