CN107728841B - Multi-point touch method and system based on bid-winning kylin operating system - Google Patents

Multi-point touch method and system based on bid-winning kylin operating system Download PDF

Info

Publication number
CN107728841B
CN107728841B CN201710967058.7A CN201710967058A CN107728841B CN 107728841 B CN107728841 B CN 107728841B CN 201710967058 A CN201710967058 A CN 201710967058A CN 107728841 B CN107728841 B CN 107728841B
Authority
CN
China
Prior art keywords
contact
event
touch
operating system
point touch
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.)
Active
Application number
CN201710967058.7A
Other languages
Chinese (zh)
Other versions
CN107728841A (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.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
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 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN201710967058.7A priority Critical patent/CN107728841B/en
Publication of CN107728841A publication Critical patent/CN107728841A/en
Application granted granted Critical
Publication of CN107728841B publication Critical patent/CN107728841B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention discloses a multi-point touch method and a multi-point touch system based on a winning bid kylin operating system, wherein a multi-point touch driving module is firstly programmed in an inner core of the winning bid kylin operating system and used for receiving original data of a touch screen and generating an event queue file according to the original data; then integrating an event queue file analysis module and a multipoint event analysis transmission module in an inner core code in a Qt application platform graphic user interface module, wherein the event queue file analysis module and the multipoint event analysis transmission module are used for completing analysis of event queue file data on an operating system user layer and completing judgment and upward transmission functions of multipoint events on the operating system user layer; therefore, an application developer does not need to care about the change of a bottom development platform and a driving layer, only needs to directly develop the multi-touch related user graphical interface of Qt, realizes the multi-touch function under the winning bid kylin operating system, reduces the development difficulty of the multi-touch application program, and improves the portability of the multi-touch application program.

Description

Multi-point touch method and system based on bid-winning kylin operating system
Technical Field
The invention relates to a multi-point touch screen application development technology, in particular to a multi-point touch method based on a winning kylin operating system.
Background
The multi-point touch control is a brand-new man-machine interaction means, allows a computer user to control the computer through a plurality of fingers or touch points at the same time, and provides a natural and convenient mode for the user to directly interact with information contents. Various multi-touch input devices (capacitive touch screens, resistive touch screens, infrared touch screens, optical touch screens, etc.) have appeared on the market at present; some new versions of operating systems, such as the iOS system of apple, Windows 8 of microsoft, and the Android operating system of google, provide support for multi-touch functionality and provide multi-touch APIs to application developers.
However, under the kylin operating system, the multi-touch function cannot be realized at present. The main reasons are as follows: firstly, in an inner core of a winning-bid kylin operating system, an input subsystem module has a multi-point touch event type, but because the inner core does not integrate universal drive aiming at multi-point touch equipment, the system cannot be used for the multi-point touch equipment in an initial state; secondly, the graphic operating environment of the winning bid kylin operating system does not support the multi-touch function, so even if the touch equipment is successfully driven to generate a multi-touch event queue file, the window system cannot provide the multi-touch operation; third, currently, there is an application development environment across operating system platforms, such as QT, which cannot analyze multi-touch event queue files, and therefore cannot transmit multi-touch event information to an upper layer, so that an application program including multi-touch cannot receive related event information on a winning kylin platform to implement a multi-touch function. For the reasons, the computer platform of the winning kylin operating system cannot realize the window operation of multi-point touch, and greatly limits the development of localization of the computing technology.
In the patent "a computer device capable of recognizing a touch event and a recognition method thereof (patent application No. 201010606623.5)" filed by patrioter electronics technology (tianjin) limited, there is proposed a computer device capable of recognizing a touch event, the device including a processing unit, a display unit, a memory module and a touch panel. The method mainly relates to the design of a touch hardware system structure, does not relate to multi-touch device driver adaptation, and does not relate to multi-touch API applied to an upper layer. The patent "a driving method of an infrared multi-touch screen" (patent application No. 201210179460.6) proposes a design scheme of an infrared multi-touch screen device, mainly focuses on the structural design principle and the touch point positioning algorithm of the infrared multi-touch screen device, and does not relate to the driving development and the multi-touch API encapsulation of application-oriented multi-touch devices.
In summary, there is a need to provide a method for supporting multi-touch function under the kylin operating system and providing multi-touch API to application developer by comprehensive utilization of the above resources.
Disclosure of Invention
In view of the above, there is a need for a multi-touch method and system based on the winning kylin operating system, which can reduce the difficulty in developing multi-touch applications and improve the portability of multi-touch applications.
The invention provides a multi-point touch method based on a bid-winning kylin operating system, which comprises the following steps:
s1, programming a multi-point touch drive module in the kernel of the winning-bid kylin operating system, and receiving the original data of the touch screen and generating an event queue file according to the original data;
s2, integrating an event queue file analysis module in an inner core code in a Qt application platform graphic user interface module, and completing analysis of event queue file data in an operating system user layer;
and S3, integrating a multipoint event analysis and transmission module in the inner core code in the Qt application platform graphic user interface module, and finishing the judgment of the multipoint event and the upward transmission function in the operating system user layer.
A multi-point touch system based on a winning bid kylin operating system comprises a multi-point touch driving module, an event queue file analysis module and a multi-point event analysis and transmission module;
the multi-point touch control driving module is programmed into an inner core of a winning kylin operating system and used for receiving original data of a touch screen and generating an event queue file according to the original data;
the event queue file analysis module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for completing analysis of event queue file data in an operating system user layer;
the multipoint event analyzing and transmitting module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for finishing the judging and upward transmitting functions of the multipoint events in an operating system user layer.
The multi-point touch method and the system based on the winning kylin operating system can enable an application developer to directly develop the winning kylin operating system by only using a multi-point touch related user graphic interface of Qt without paying attention to the change of a bottom development platform and a driving layer, realize the multi-point touch function under the winning kylin operating system, simultaneously reduce the development difficulty of the multi-point touch application program and improve the portability of the multi-point touch application program.
Drawings
FIG. 1 is a schematic diagram of the design of the multi-touch method based on the Kappa operating system of the present invention;
FIG. 2 is a block flow diagram of the multi-touch method based on the KaiOpen operating system of the present invention;
FIG. 3 is a block diagram of a sub-flow of step S1 in FIG. 2;
FIG. 4 is a flowchart illustrating the step S1 according to the present invention;
FIG. 5 is a block diagram of a sub-flow of step S2 in FIG. 2;
FIG. 6 is a flowchart illustrating the step S2 according to the present invention;
FIG. 7 is a block diagram of a sub-flow of step S3 in FIG. 2;
FIG. 8 is a flow chart of the steps of the contact state determination algorithm of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the present invention will be further described in detail with reference to the accompanying drawings and embodiments, it being understood that the specific embodiments described herein are merely illustrative of the present invention and are not intended to limit the present invention.
The invention provides a multi-touch method based on a winning kylin operating system, wherein as shown in fig. 1 and 2, the multi-touch method based on the winning kylin operating system comprises the following steps:
and S1, programming a multi-point touch drive module in the kernel of the winning kylin operating system, and receiving the original data of the touch screen and generating an event queue file according to the original data.
As shown in fig. 3 and 4, the step S1 includes the following sub-steps:
s11, completing the registration of the drive module and the related initialization work in the system kernel;
s12, completing equipment discovery and related hooking operation when the multi-point touch equipment is connected with the host;
s13, receiving and caching original data transmitted by the multi-point touch equipment, and realizing data caching in a ping-pong mode or an FIFO mode by adopting a linked list;
and S14, analyzing the original data in the cache, and writing multi-point touch event data into the event queue file, wherein the main event types comprise touch information events and synchronous information events.
Wherein the contact information event mainly comprises:
contact TRACKING identification number ABS _ MT _ TRACKING _ ID
Contact lateral absolute coordinate ABS _ MT _ POSITION _ X
Contact longitudinal absolute coordinate ABS _ MT _ POSITION _ Y
Tool contact area MAJOR axis ABS _ MT _ WIDTH _ MAJOR
Tool contact area stub ABS _ MT _ WIDTH _ MINOR
Contact area MAJOR axis ABS _ MT _ TOUCH _ MAJOR
Contact area stub ABS _ MT _ TOUCH _ MINOR
Contact PRESSURE value ABS _ MT _ PRESSURE
The synchronization information event mainly comprises:
contact information synchronization event SYN _ MT _ REPORT
Contact frame synchronization event SYN _ REPORT
After the source code of the multi-touch driving module is designed in the above manner, the multi-touch driving module needs to be loaded into the system. There are two ways to load the multi-touch driver module: one mode can be directly programmed into the kernel and loaded when the system is started; if no kernel source code of the Kangkolin operating system exists, the Kelvin operating system kernel source code can be compiled to generate a driving module, and then the driving module is loaded in a script or terminal command line mode after the system is started.
And S2, integrating an event queue file analysis module in the inner code in the Qt application platform graphic user interface module, and completing the analysis of the event queue file data in the operating system user layer.
As shown in fig. 5 and 6, the step S2 includes the following sub-steps:
s21, finishing the multi-point event information caching and the initialization of the system related parameters;
s22, traversing the event queue file under the current system, identifying the multi-point touch event queue file, and defining slot association and signals for the identified multi-point touch event queue file;
and S23, when the multi-point touch event queue file has data updating, the slot function is called by the Qt platform to finish the analysis of the multi-point touch data.
Specifically, traversing an event queue file under a current system, and identifying a multi-point touch event queue file; if the multi-point touch event data is found, defining slot association and a signal, wherein a slot function corresponding to the slot association is used for reading and analyzing the multi-point touch event data, and the signal mainly detects whether new data exists in a corresponding event queue file; after the slot association and the signal definition and binding are completed, new data are waited to be analyzed, once the corresponding multi-point touch event queue file has data to be updated, a slot function is automatically called by the Qt platform, the multi-point touch data is analyzed, the analyzed data is put into a buffered data structure, and the multi-point event analysis transmission module is waited to further process.
And S3, integrating a multipoint event analysis and transmission module in the inner core code in the Qt application platform graphic user interface module, and finishing the judgment of the multipoint event and the upward transmission function in the operating system user layer.
As shown in fig. 7, the step S3 includes the following sub-steps:
and S31, resolving the parameters related to the contact point, such as coordinate conversion, conversion from absolute coordinates to pixel coordinates, contact point pressure settlement and the like.
Specifically, the calculation algorithm for the parameters related to the contact point includes a coordinate conversion algorithm, which mainly completes the conversion from the absolute coordinate of the contact point to the pixel coordinate, and the algorithm formula is as follows:
wherein, X and Y are respectively an abscissa value and an ordinate value of a current touch point pixel coordinate, abs _ X and abs _ Y are respectively an abscissa value and an ordinate value of a current physical coordinate, max _ X and min _ X are respectively a maximum value and a minimum value of a touch point physical abscissa, max _ Y and min _ Y are respectively a maximum value and a minimum value of a touch point physical abscissa, and scale _ X and scale _ Y are respectively an abscissa value and an ordinate value of the current touch point pixel coordinate.
The contact related parameter calculation algorithm comprises a contact pressure value algorithm and is mainly used for completing calculation of the contact pressure value. The specific algorithm is as follows: if the underlying hardware provides a contact PRESSURE value, the drive will be passed up through a contact PRESSURE value event (ABS _ MT _ PRESSURE); if the value drive is not provided, then the following algorithm is used to solve:
wherein Pressure is the contact Pressure value, touch _ major is the contact area major axis, width _ major tool contact area major axis.
And S32, finishing the judgment of the contact state, which mainly comprises pressing, standing, moving and leaving.
Specifically, as shown in fig. 8, the step S32 includes the following sub-steps:
s321, initializing a contact buffer queue;
s322, traversing the tracking identification number of the contact in the buffer queue;
s323, when the identification number is not obtained in a traversing manner in the cache queue, adding new contact information into the contact cache queue, setting the contact state as being pressed, and setting a contact information updating identifier;
s324, when the identification number is not obtained in the cache queue in a traversing mode, comparing whether the contact point coordinate is the same as the original coordinate or not, if the contact point coordinate is different from the original coordinate, setting the contact point state as moving, updating coordinate information, and setting a contact point information updating marker; if the contact state is the same as the static state, setting a contact information updating marker;
s325, when the press state is judged or the contact dynamic judgment is finished, receiving a synchronous signal, traversing the tracking identification number of the contact in the buffer queue again if a contact information synchronous event is received, detecting a contact information updating identifier if a contact frame synchronous event is received, and determining the contact state as leaving if an unset contact is found.
And S326, transferring the information such as all current contact coordinates, states and the like to the Qt upper layer, deleting all contacts leaving the states from the contact cache queue, resetting all contact information updating identifiers, and traversing the tracking identification numbers of the contacts in the cache queue again.
And S33, sending the multipoint event information of the current frame to the upper layer application.
According to the multi-point touch method based on the winning bid kylin operating system, the invention also provides a multi-point touch system based on the winning bid kylin operating system, wherein the multi-point touch system based on the winning bid kylin operating system comprises a multi-point touch driving module, an event queue file analysis module and a multi-point event analysis and transmission module;
the multi-point touch control driving module is programmed into an inner core of a winning kylin operating system and used for receiving original data of a touch screen and generating an event queue file according to the original data;
the event queue file analysis module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for completing analysis of event queue file data in an operating system user layer;
the multipoint event analyzing and transmitting module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for finishing the judging and upward transmitting functions of the multipoint events in an operating system user layer.
Specifically, the method for integrating and coding two module codes of the event queue file analysis module and the multipoint event analysis and transmission module into the inner core code in the graphical user interface module of the Qt development platform comprises the following steps: the method comprises the steps of firstly, completing the design of a source code, and integrating program segments for analyzing and transmitting a multi-point touch event analysis and a multi-point event analysis into the source code; secondly, modifying the related Makefile and Qt development platform engineering file, and recompiling a Qt development platform graphic user interface module; and thirdly, installing Qt and finishing updating dynamic link library files, library files and environment variables of related paths of the platform graphical user interface.
The multi-touch driving module comprises the following functional units:
the drive module registration unit is used for completing the registration and related initialization work of the drive module in a system kernel;
the hanging operation unit is used for finishing equipment discovery and related hanging operation when the multi-point touch equipment is connected with the host;
and the data caching unit is used for receiving and caching the original data transmitted by the multi-point touch equipment and realizing data caching in a ping-pong mode or an FIFO mode by adopting a linked list.
And the event queue file generating unit is used for analyzing the original data in the cache and writing the multi-point touch event data into the event queue file.
The event queue file analysis module comprises the following functional units:
the initialization unit is used for finishing the caching of multipoint event information and the initialization of system related parameters;
the multi-point identification unit is used for traversing the event queue file under the current system, identifying the multi-point touch event queue file, and defining slot association and signals for the identified multi-point touch event queue file;
and the data analysis unit is used for calling the slot function by the Qt platform to finish the analysis of the multi-point touch data when the multi-point touch event queue file has data updating.
The multipoint event analysis and transmission module comprises the following functional units:
the parameter calculating unit is used for calculating the relevant parameters of the contact;
the state judgment unit is used for finishing the judgment of the contact state;
and the data transmission unit is used for sending the multipoint event information of the current frame to the upper layer application.
Specifically, the state judgment unit includes the following functional sub-units:
the queue initialization subunit is used for initializing a contact buffer queue;
the traversal contact subunit is used for traversing the tracking identification number of the contact in the cache queue;
the pressing state judging subunit is used for adding new contact information into the contact cache queue when the identification number is not obtained in a traversal mode in the cache queue, setting the contact state as pressing, and setting a contact information updating identifier;
the contact dynamic judgment subunit is used for comparing whether the contact coordinate is the same as the original coordinate or not when the identification number is not obtained in a traversal mode in the cache queue, and if the contact coordinate is different from the original coordinate, setting the contact state as moving, updating coordinate information and setting a contact information updating identifier; if the contact state is the same as the static state, setting a contact information updating marker;
and the departure state judgment subunit is used for receiving the synchronization signal when judging that the pressing state is judged or after the contact dynamic judgment is finished, traversing the tracking identification number of the contact in the cache queue again if receiving the contact information synchronization event, detecting the contact information updating identifier if receiving the contact frame synchronization event, and determining the contact state as departure if finding an unset contact.
The multi-point touch method and the system based on the winning kylin operating system can enable an application developer to directly develop the winning kylin operating system by only using a multi-point touch related user graphic interface of Qt without paying attention to the change of a bottom development platform and a driving layer, realize the multi-point touch function under the winning kylin operating system, simultaneously reduce the development difficulty of the multi-point touch application program and improve the portability of the multi-point touch application program.
The above apparatus embodiments and method embodiments are in one-to-one correspondence, and reference may be made to the method embodiments for a brief point of the apparatus embodiments.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in random access memory, read only memory, electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (4)

1. A multi-point touch method based on a bid-winning kylin operating system is characterized by comprising the following steps:
s1, programming a multi-point touch drive module in the kernel of the winning-bid kylin operating system, and receiving the original data of the touch screen and generating an event queue file according to the original data; step S1 includes the following substeps:
s11, completing the registration of the drive module and the related initialization work in the system kernel;
s12, completing equipment discovery and related hooking operation when the multi-point touch equipment is connected with the host;
s13, receiving and caching original data transmitted by the multi-point touch equipment, and realizing data caching in a ping-pong mode or an FIFO mode by adopting a linked list;
s14, analyzing the original data in the cache, and writing multi-point touch event data into the event queue file, wherein the main event types comprise contact information events and synchronous information events;
wherein the contact information event mainly comprises: the contact tracking identification number, the transverse absolute coordinate of the contact, the longitudinal absolute coordinate of the contact, the long axis of a contact area of a tool contact, the short axis of the contact area of the tool contact, the long axis of the contact area of the contact, the short axis of the contact area of the contact and the pressure value of the contact; the synchronization information event mainly comprises: a contact information synchronization event, a contact frame synchronization event;
s2, integrating an event queue file analysis module in an inner core code in a Qt application platform graphic user interface module, and completing analysis of event queue file data in an operating system user layer;
s3, integrating a multipoint event analysis and transmission module in an inner core code in a Qt application platform graphic user interface module, and finishing the judgment and upward transmission functions of the multipoint event in an operating system user layer; step S3 includes the following substeps:
s31, resolving the relevant parameters of the contact; the contact related parameter calculation algorithm comprises a coordinate conversion algorithm and mainly completes conversion from contact absolute coordinates to pixel coordinates; the contact related parameter calculation algorithm comprises a contact pressure value algorithm and is mainly used for completing calculation of the contact pressure value;
s32, finishing the judgment of the contact state, specifically comprising:
s321, initializing a contact buffer queue;
s322, traversing the tracking identification number of the contact in the buffer queue;
s323, when the identification number is not obtained in a traversing manner in the cache queue, adding new contact information into the contact cache queue, setting the contact state as being pressed, and setting a contact information updating identifier;
s324, when the identification number is not obtained in the cache queue in a traversing mode, comparing whether the contact point coordinate is the same as the original coordinate or not, if the contact point coordinate is different from the original coordinate, setting the contact point state as moving, updating coordinate information, and setting a contact point information updating marker; if the contact state is the same as the static state, setting a contact information updating marker;
s325, when the pressing state is judged or the contact dynamic judgment is completed, receiving a synchronous signal, traversing the tracking identification number of the contact in the cache queue again if a contact information synchronous event is received, detecting a contact information updating identifier if a contact frame synchronous event is received, and determining the contact state as leaving if an unset contact is found;
s326, transferring all current contact coordinates, state and other information to the Qt upper layer, deleting all contacts leaving the state from the contact cache queue, resetting all contact information updating identifiers, and traversing the tracking identification numbers of the contacts in the cache queue again;
and S33, sending the multipoint event information of the current frame to the upper layer application.
2. The multi-touch method based on the winning kylin operating system of claim 1, wherein the step S2 comprises the following sub-steps:
s21, finishing the multi-point event information caching and the initialization of the system related parameters;
s22, traversing the event queue file under the current system, identifying the multi-point touch event queue file, and defining slot association and signals for the identified multi-point touch event queue file;
and S23, when the multi-point touch event queue file has data updating, the slot function is called by the Qt platform to finish the analysis of the multi-point touch data.
3. A multi-point touch system based on a winning bid kylin operating system is characterized in that the multi-point touch system based on the winning bid kylin operating system comprises a multi-point touch driving module, an event queue file analysis module and a multi-point event analysis and transmission module;
the multi-point touch control driving module is programmed into an inner core of a winning kylin operating system and used for receiving original data of a touch screen and generating an event queue file according to the original data; the multi-touch driving module comprises the following functional units:
the drive module registration unit is used for completing the registration and related initialization work of the drive module in a system kernel;
the hanging operation unit is used for finishing equipment discovery and related hanging operation when the multi-point touch equipment is connected with the host;
the data caching unit is used for receiving original data transmitted by the caching multi-point touch equipment and realizing data caching in a ping-pong mode or an FIFO mode by adopting a linked list;
the event queue file generating unit is used for analyzing the original data in the cache and writing multi-point touch event data into the event queue file, wherein the main event types comprise contact information events and synchronous information events;
wherein the contact information event mainly comprises: the contact tracking identification number, the transverse absolute coordinate of the contact, the longitudinal absolute coordinate of the contact, the long axis of a contact area of a tool contact, the short axis of the contact area of the tool contact, the long axis of the contact area of the contact, the short axis of the contact area of the contact and the pressure value of the contact; the synchronization information event mainly comprises: a contact information synchronization event, a contact frame synchronization event;
the event queue file analysis module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for completing analysis of event queue file data in an operating system user layer;
the multipoint event analyzing and transmitting module is integrated in an inner core code in a Qt application platform graphic user interface module and is used for finishing the judging and upward transmitting functions of the multipoint events in an operating system user layer;
the multipoint event analysis and transmission module comprises the following functional units:
the parameter calculating unit is used for calculating the relevant parameters of the contact;
the state judgment unit is used for finishing the judgment of the contact state;
a data transmission unit for transmitting the multipoint event information of the current frame to the upper layer application;
the state judgment unit comprises the following functional subunits:
the queue initialization subunit is used for initializing a contact buffer queue;
the traversal contact subunit is used for traversing the tracking identification number of the contact in the cache queue;
the pressing state judging subunit is used for adding new contact information into the contact cache queue when the identification number is not obtained in a traversal mode in the cache queue, setting the contact state as pressing, and setting a contact information updating identifier;
the contact dynamic judgment subunit is used for comparing whether the contact coordinate is the same as the original coordinate or not when the identification number is not obtained in a traversal mode in the cache queue, if the contact coordinate is different from the original coordinate, setting the contact state as moving, updating coordinate information and setting a contact information updating identifier; if the contact state is the same as the static state, setting a contact information updating marker;
and the departure state judgment subunit is used for receiving the synchronization signal when the pressing state judgment is judged or after the contact dynamic judgment is finished, traversing the tracking identification number of the electric shock in the cache queue again if the contact information synchronization event is received, detecting the contact information updating identifier if the contact frame synchronization event is received, and determining the contact state as departure if an unset contact is found.
4. The multi-touch system based on the winning kylin operating system of claim 3, wherein the event queue file parsing module comprises the following functional units:
the initialization unit is used for finishing the caching of multipoint event information and the initialization of system related parameters;
the multi-point identification unit is used for traversing the event queue file under the current system, identifying the multi-point touch event queue file, and defining slot association and signals for the identified multi-point touch event queue file;
and the data analysis unit is used for calling the slot function by the Qt platform to finish the analysis of the multi-point touch data when the multi-point touch event queue file has data updating.
CN201710967058.7A 2017-10-17 2017-10-17 Multi-point touch method and system based on bid-winning kylin operating system Active CN107728841B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710967058.7A CN107728841B (en) 2017-10-17 2017-10-17 Multi-point touch method and system based on bid-winning kylin operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710967058.7A CN107728841B (en) 2017-10-17 2017-10-17 Multi-point touch method and system based on bid-winning kylin operating system

Publications (2)

Publication Number Publication Date
CN107728841A CN107728841A (en) 2018-02-23
CN107728841B true CN107728841B (en) 2021-04-09

Family

ID=61211723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710967058.7A Active CN107728841B (en) 2017-10-17 2017-10-17 Multi-point touch method and system based on bid-winning kylin operating system

Country Status (1)

Country Link
CN (1) CN107728841B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817783B (en) * 2021-03-04 2023-06-23 中国人民解放军国防科技大学 Method for realizing digital wrist type terminal system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101893959A (en) * 2010-06-22 2010-11-24 中科方德软件有限公司 Method for implementing touch direction identification in linux kernel
CN101963857A (en) * 2009-07-22 2011-02-02 义隆电子股份有限公司 Touch device, control method and control unit for multi-touch environment
CN102929429A (en) * 2012-10-12 2013-02-13 深圳锐取信息技术股份有限公司 Method for realizing multi-point touch based on advanced reduced instruction set computer (RISC) machines (ARM) by using QT graphics development platform
CN106775087A (en) * 2016-12-16 2017-05-31 广东欧珀移动通信有限公司 A kind of touch-screen control method of mobile terminal, device and mobile terminal

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355007B2 (en) * 2009-05-11 2013-01-15 Adobe Systems Incorporated Methods for use with multi-touch displays for determining when a touch is processed as a mouse event
CN102419650A (en) * 2011-05-06 2012-04-18 北京汇冠新技术股份有限公司 Multi-point touch control realization method and system
CN106896956B (en) * 2017-01-18 2019-11-05 长沙湘计海盾科技有限公司 The implementation method of multi-point touch under one kind " road " system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963857A (en) * 2009-07-22 2011-02-02 义隆电子股份有限公司 Touch device, control method and control unit for multi-touch environment
CN101893959A (en) * 2010-06-22 2010-11-24 中科方德软件有限公司 Method for implementing touch direction identification in linux kernel
CN102929429A (en) * 2012-10-12 2013-02-13 深圳锐取信息技术股份有限公司 Method for realizing multi-point touch based on advanced reduced instruction set computer (RISC) machines (ARM) by using QT graphics development platform
CN106775087A (en) * 2016-12-16 2017-05-31 广东欧珀移动通信有限公司 A kind of touch-screen control method of mobile terminal, device and mobile terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Linux操作系统的多点触摸系统的设计与实现;熊隆;《中国优秀硕士学位论文全文数据库 信息科学辑》;20140615;第I137-149 *

Also Published As

Publication number Publication date
CN107728841A (en) 2018-02-23

Similar Documents

Publication Publication Date Title
US10140014B2 (en) Method and terminal for activating application based on handwriting input
US10795652B2 (en) Generating native code from intermediate language code for an application
EP2950203B1 (en) Application scenario identification method, power consumption management method and apparatus and terminal device
CN108595220B (en) Application component processing method and device and computer readable storage medium
US9122341B2 (en) Resolving merged touch contacts
US20100319008A1 (en) Parallel processing method for dual operating system
CN107608609B (en) Event object sending method and device
CN104808942A (en) Touch Event Processing for Web Pages
US9632693B2 (en) Translation of touch input into local input based on a translation profile for an application
CN103150109A (en) Touch event model for web pages
WO2016186819A1 (en) Real-time analysis of application programming interfaces
CN113342697B (en) Simulation test system and method for flash translation layer
CN113282488B (en) Terminal test method and device, storage medium and terminal
US20160077831A1 (en) Accurate and performant code design using memoization
CN107728841B (en) Multi-point touch method and system based on bid-winning kylin operating system
CN111506904A (en) Method and device for online vulnerability repair
CN115185745A (en) Data processing method, system, electronic device and computer readable storage medium
CN111382416B (en) Application program operation identification method and device, terminal equipment and storage medium
US9081487B2 (en) System and method for manipulating an image
US10996963B2 (en) Integrating web-based tutorials into websites using a tag manager
KR20170106029A (en) Electronic device and controlling method thereof
CN112214404A (en) Mobile application testing method and device, storage medium and electronic equipment
CN113722231B (en) User operation simulation method and device, electronic equipment and storage medium
CN114489698A (en) Application program installation method and device
CN104834443A (en) Interface management method

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
GR01 Patent grant
GR01 Patent grant