Touchpad driving system and method

CN111381890BActive Publication Date: 2026-09-11FOCALTECH ELECTRONICS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201811615160.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-12-27
Publication Date
2026-09-11
Estimated Expiration
2038-12-27

AI Technical Summary

Technical Problem

[0004]以前述触摸板的驱动程序架构,手势等处理是由应用程序106所负责,而当操作系统忙碌时,应用程序106的系统优先权较低,此时如果应用程序106意外关闭,则需要服务常驻程序105来重新呼叫应用程序106,导致触摸板101反应迟缓或无法使用,且由于透过应用程序106使用Windows API(Application Programming Interface)上报系统会有权限的问题,因此,如果应用程序106意外停顿,将会造成触摸板101无法再使用

Benefits of technology

[0017] The touchpad driver system and method of the present invention improve the smoothness of touch control by reducing the speed of gesture processing. Furthermore, when the system malfunctions and restarts without power interruption, the touchpad can still be used as a mouse without causing a system crash. In addition, in one embodiment, a virtual device with the same permissions as the hardware HID device can be selectively configured in the touchpad driver, avoiding the system permission issues encountered in the Windows API reporting system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111381890B_ABST
    Figure CN111381890B_ABST
Patent Text Reader

Abstract

The present application provides a touchpad driving system and method. The touchpad driving system comprises a touchpad controller, a touchpad driver, an application program and a service daemon. The touchpad controller is coupled to a touchpad to generate touch data corresponding to touch gesture operation signals received by the touchpad. The touchpad driver collects the touch data generated by the touchpad controller. The application program is responsible for touch gesture parameter setting. The service daemon is responsible for calling the application program and providing touch gesture processing. Thus, the touchpad driving system and method can provide gesture processing speed that is not easily delayed and can improve the smoothness of touch control. When the system is abnormal and a power-on restart is performed, the touchpad can still be used as a mouse without causing system downtime.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of touchpads, and more particularly to a touchpad driving system and method. Background Technology

[0002] Touchpads have gradually become standard equipment in various consumer electronics and computer devices. For example, modern laptops all have a touchpad to provide users with an alternative input function in addition to the mouse and keyboard. With the development of touch sensing technology, touchpads have also evolved from providing only single-finger operation to being able to perform various inputs with different touch gestures, further increasing the applicability of touchpads.

[0003] Since the touchpad is installed on electronic products such as laptops as a hardware input device, it must be paired with software drivers to function properly. Figure 1 The diagram illustrates a conventional touchpad driver architecture. In the hardware portion, the touchpad 101 is controlled by a touchpad controller 103. The system software includes a touchpad driver 104, a service resident 105, and an application program 106. The service resident 105 is a system-resident program responsible for calling the application program 106. The touchpad controller 103 communicates with the touchpad driver 104 via a connection such as PS / 2 or I2C. Specifically, for a user's touch gesture on the touchpad 101, the touchpad controller 103 generates corresponding touch data, such as the coordinates, area, and intensity of the touch. The touchpad driver 104 collects this touch data, and the application program processes the collected data to determine the user's touch gesture, then reports it to the operating system (OS) to complete the corresponding touch operation.

[0004] As described in the aforementioned touchpad driver architecture, gesture processing is handled by application 106. When the operating system is busy, application 106 has a lower system priority. If application 106 closes unexpectedly, the resident service 105 needs to call application 106 again, causing touchpad 101 to become unresponsive or unusable. Furthermore, since there are permission issues when application 106 reports to the system using the Windows API (Application Programming Interface), if application 106 stops unexpectedly, touchpad 101 will become unusable.

[0005] Therefore, the existing touchpad driver architecture still has some imperfections and needs to be improved. Summary of the Invention

[0006] The main purpose of this invention is to provide a touchpad driving system and method that can improve the smoothness of touch control by reducing the speed of gesture processing, and the touchpad can still be used as a mouse without causing the system to crash when the system malfunctions and restarts without power failure.

[0007] According to one feature of the present invention, a touchpad driving system is proposed, comprising a touchpad controller coupled to a touchpad to generate touch data in response to touch gesture operation signals received on the touchpad; a touchpad driver to collect the touch data generated by the touchpad controller; an application program responsible for setting touch gesture parameters; and a resident service program responsible for calling the application program and providing touch gesture processing.

[0008] Furthermore, the touchpad controller operates in either a mouse mode or a mode that reports touch coordinates.

[0009] Furthermore, the touchpad controller is set to operate in mouse mode by default, and after confirming the existence of the touchpad driver, the service resident continuously sends a switching command to the touchpad controller through the touchpad driver to switch the touchpad controller to the reporting touch coordinate mode.

[0010] Furthermore, when the touchpad controller is operating in the reported touch coordinate mode, if the touchpad driver does not send the switching command within a predetermined time, the touchpad controller will be switched back to the mouse mode.

[0011] Furthermore, the touchpad driver includes a virtual device that is reported to the operating system by the touchpad driver.

[0012] Furthermore, the touch data includes the coordinates, area, and intensity of the touch.

[0013] Furthermore, the touch gesture processing includes: selecting items, scrolling, zooming in or out, displaying more commands, viewing all open windows, displaying the desktop, and switching between open windows.

[0014] Furthermore, the touch gesture parameters include the touch point movement speed and touch sensitivity.

[0015] The present invention also proposes a touchpad driving method, which is implemented in a touchpad driving system including a touchpad controller, a touchpad driver, an application, and a service resident. The touchpad controller can operate in a default mouse mode or a reported touch coordinate mode. The driving method includes the following steps: (A) The service resident confirms the existence of the touchpad driver; (B) When the existence of the touchpad driver is confirmed, the service resident continuously transmits a switching command to the touchpad controller through the touchpad driver; (C) After receiving the switching command, the touchpad controller is switched to the reported touch coordinate mode; (D) The touchpad controller determines whether a predetermined time has elapsed without receiving the switching command from the touchpad driver. If so, the touchpad controller is switched to the mouse mode; otherwise, step (A) is executed.

[0016] In step (B), the switching instruction includes continuous transmission in a timed or untimed manner.

[0017] The touchpad driver system and method of the present invention improve the smoothness of touch control by reducing the speed of gesture processing. Furthermore, when the system malfunctions and restarts without power interruption, the touchpad can still be used as a mouse without causing a system crash. In addition, in one embodiment, a virtual device with the same permissions as the hardware HID device can be selectively configured in the touchpad driver, avoiding the system permission issues encountered in the Windows API reporting system. Attached Figure Description

[0018] Figure 1 This is a well-known touchpad driver architecture diagram.

[0019] Figure 2 This is a schematic diagram of the usage environment of the touchpad driver system of the present invention.

[0020] Figure 3 This is an architectural diagram of one embodiment of the touchpad driver system of the present invention.

[0021] Figure 4 This is a flowchart of the touchpad driving method of the present invention.

[0022] Figure 5 This is an architectural diagram of another embodiment of the touchpad driver system of the present invention. Detailed Implementation

[0023] To further illustrate the technical methods and effects of the present invention in order to achieve the intended purpose, the specific implementation methods, structure, features and effects of the present invention will be described in detail below with reference to the accompanying drawings and embodiments.

[0024] Figure 2This is a schematic diagram illustrating the usage environment of the touchpad driving system of the present invention. The touchpad driving system is installed on an electronic product, such as a laptop computer 21. The laptop computer 21 is equipped with a touchpad 23 as an input device. This touchpad 23 can be used as a mouse; that is, the user slides or presses their finger on the touchpad 23 to perform operations equivalent to mouse movement or button presses. Furthermore, depending on the installed touchpad driving system, the touchpad 23 can also serve as a touch input device, allowing the user to perform various input operations using a variety of predefined touch gestures, and receiving touch gesture operation signals on the touchpad 23. Although the present invention is described using a laptop computer as a specific embodiment, those skilled in the art can apply the present invention to various human-machine interface electronic products; therefore, this embodiment is not intended to limit the present invention.

[0025] Figure 3 This is an architectural diagram of one embodiment of the touchpad driver system of the present invention. The touchpad driver system 30 includes a touchpad controller 301, a touchpad driver 303, a service resident program 305, and an application program 307. The touchpad controller 301 is coupled to the touchpad 23 to generate touch data in response to touch gesture operation signals received on the touchpad 23, such as the coordinates, area, and intensity of the touch. The touchpad controller 301 communicates with the touchpad driver 303 via a connection such as PS / 2 or I2C so that the touchpad driver 303 can collect the touch data.

[0026] In the aforementioned touchpad driver system 30, touch gesture processing is provided by the service resident program 305, while touch gesture parameter settings are handled by the application program 307. The touch gesture processing includes selecting items (tapping the touchpad 23), scrolling (the user places two fingers on the touchpad 23 and then slides horizontally or vertically), zooming in or out (the user places two fingers on the touchpad 23 and then pinches or expands), displaying more commands (the user taps on the touchpad 23 with two fingers or presses the lower right corner), viewing all open windows (the user places three fingers on the touchpad 23 and flicks their fingers away from the user), displaying the desktop (the user places three fingers on the touchpad 23 and flicks their fingers toward the user), and switching between open windows (the user places three fingers on the touchpad 23 and flicks their fingers to the right or left). The touch gesture parameters include touch point movement speed and touch sensitivity.

[0027] Therefore, the resident service program 305, in addition to being responsible for calling the application program 307, also provides touch gesture processing functionality to determine the corresponding touch gesture based on the touch data collected by the aforementioned touchpad driver 303. Compared to the prior art, the touchpad driver system 30 of the present invention moves gesture processing from the application program 307 to the resident service program 305, but the touch gesture parameter settings are still handled by the application program 307. Thus, since the resident service program 305 has a higher priority in the operating system (higher than the application program 307), placing gesture processing in the resident service program 305 makes gesture processing less prone to delays, thereby improving touch smoothness. Furthermore, since the parameter settings are handled by the application program 307, it conforms to the UWP (Universal Windows Platform) specification and has excellent system compatibility.

[0028] Figure 4 This is a flowchart of the touchpad driving method of the present invention, which is executed in such a way as... Figure 3 The touchpad driver system 30 is shown. The touchpad controller 301 in the aforementioned touchpad driver system 30 can operate in either a mouse mode or a touch coordinate reporting mode. When the touchpad controller 301 operates in mouse mode, it means that the touchpad 23 is configured to provide electronic product input functions in a manner equivalent to a mouse. When the touchpad controller 301 operates in touch coordinate reporting mode, it means that the touchpad controller 301 can report the touch data (including the coordinates, area, and intensity of the touch) generated by the user's touch gesture operation on the touchpad 23 to the touchpad driver 303 to provide the electronic product's gesture touch input function.

[0029] In the touchpad driving method of the present invention, the touchpad controller 301 defaults to mouse mode and switches to touch coordinate reporting mode only when necessary. First, the service resident program 305 runs resident in the system (step S401) and checks whether the touchpad driver 303 exists (step S402). If the touchpad driver 303 does not exist, the service resident program 305 continues to run to check whether the touchpad driver 303 exists. Conversely, if the touchpad driver 303 exists, the service resident program 305 continuously sends a switching command to the touchpad controller 301 through the touchpad driver 303 (step S403). The touchpad controller 301 receives the command. After the switching command is received, the system switches to the reporting touch coordinate mode (step S404). The touchpad controller 301 then determines whether it has received a switching command from the touchpad driver 303 within a predetermined time, i.e., whether the predetermined time has elapsed without receiving the switching command from the touchpad driver (step S405). The predetermined time is, for example, 0.2 to 0.8 seconds, preferably 0.5 seconds. If the timeout has not occurred, the process returns to step S401, i.e., the service resident program 305 remains resident in the system. If the timeout has elapsed without receiving the switching command, it indicates that the touchpad driver 303 is malfunctioning, and therefore the touchpad controller 301 is switched to mouse mode (step S406). According to one embodiment of the present invention, in the aforementioned step S403, the service resident program 305 continuously transmits switching commands to the touchpad controller 301 through the touchpad driver 303 at regular intervals, i.e., a switching command needs to be transmitted at fixed intervals. However, the present invention is not limited to this. In another embodiment of the present invention, the method of transmitting the switching instruction in the aforementioned step S403 can also be an intermittent continuous method, for example, the time interval between two transmissions of the switching instruction is not fixed.

[0030] Using the aforementioned touchpad driving method, the resident service 305 first checks if the touchpad driver 303 exists. Only when the touchpad driver 303 exists will it issue a command to the touchpad driver 303, which will continuously send switching commands to the touchpad controller 301 to switch to the reporting touch coordinate mode. If the touchpad driver 303 does not send a switching command within the predetermined time, the touchpad controller 301 will be switched back to mouse mode. In this way, when the system malfunctions and the electronic product undergoes a power-on restart, the touchpad controller 301 will automatically switch to mouse mode, allowing the touchpad 23 to still be used as a mouse to output mouse signals to the system, thus preventing a system crash that would render the electronic product completely unusable.

[0031] Figure 5 This is an architectural diagram of another embodiment of the touchpad driver system of the present invention, which is related to... Figure 3The embodiment of the touchpad driver system 30 is similar, but... Figure 5 The touchpad driver 503 of the touchpad driver system 50 can further configure a virtual device 509, such as a computer keyboard and Braille display, pointing devices (mouse, trackball, touchpad, pointing stick, light pen), touch screen, digital drawing tablet, joystick, gamepad, analog joystick, fingerprint scanner, etc. The touchpad driver 503 generates a virtual HID (Human Interface Device) device, and can also virtualize other HID devices, such as a game pad, through the virtual device 509. The touchpad driver 503 reports the virtual device 509 to the operating system, giving the virtual device 509 the same permissions as a hardware HID device, without the system permission issues encountered in the Windows API reporting system. In addition, the operation of the touchpad controller 501, touchpad driver 503, service resident program 505, and application program 507 of the touchpad driver system 50 in this embodiment are all related to... Figure 3 The embodiment of the touchpad driver system 30 is the same, so it will not be described again.

[0032] In this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, which includes not only the elements listed but also other elements not expressly listed.

[0033] In this document, the directional terms such as front, back, top, and bottom are defined based on the location of the components in the accompanying drawings and their relative positions to each other, solely for the purpose of clarity and convenience in expressing the technical solution. It should be understood that the use of these directional terms should not limit the scope of protection claimed in this application.

[0034] Where there is no conflict, the above embodiments and features described herein can be combined with each other.

[0035] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A touchpad driver system, applied to electronic products running a Windows operating system, characterized in that, Include: A touchpad controller is coupled to a touchpad to generate touch data in response to touch gesture operation signals received on the touchpad. A touchpad driver that collects touch data generated by the touchpad controller; An application responsible for setting touch gesture parameters; and A resident service is responsible for calling the application and providing touch gesture processing. The touchpad controller operates in either a mouse mode or a touch coordinate reporting mode. The mouse mode indicates that the touchpad functions as a mouse to provide input functionality for electronic products. The touchpad coordinate reporting mode indicates that the touchpad controller can report the touch data generated by the user's touch gestures on the touchpad to the touchpad driver to provide gesture touch input functionality for electronic products. The touchpad controller is set to operate in mouse mode by default. After confirming the existence of the touchpad driver, the resident service continuously sends a switching command to the touchpad controller through the touchpad driver to switch the touchpad controller to the reporting touch coordinate mode.

2. The touchpad driving system as described in claim 1, characterized in that, When the touchpad controller is operating in the reported touch coordinate mode, if the touchpad driver does not send the switching command within a predetermined time, the touchpad controller will be switched back to the mouse mode.

3. The touchpad driving system as described in claim 1, characterized in that, The touchpad driver includes a virtual device that is reported to the operating system.

4. The touchpad driving system as described in claim 1, characterized in that, The touch data includes the coordinates, area, and intensity of the touch.

5. The touchpad driving system as described in claim 1, characterized in that, The touch gesture handling includes: selecting items, scrolling, zooming in or out, displaying more commands, viewing all open windows, showing the desktop, and switching between open windows.

6. The touchpad driving system as described in claim 1, characterized in that, The touch gesture parameters include the touch point movement speed and touch sensitivity.

7. A touchpad driving method, based on a touchpad driving system, the touchpad driving system being applied to an electronic product running a Windows operating system and comprising a touchpad controller, a touchpad driver, an application, and a resident service program, wherein the touchpad controller can operate in a default mouse mode or a touch coordinate reporting mode; the touchpad controller operating in the mouse mode indicates that the touchpad provides input functionality to the electronic product in a manner equivalent to a mouse; the touchpad controller operating in the touch coordinate reporting mode indicates that the touchpad controller can report the touch data generated corresponding to the user's touch gesture operation on the touchpad to the touchpad driver to provide the electronic product with gesture touch input functionality; characterized in that, This driving method includes the following steps: (A) The service resident program checks whether the touchpad driver exists; (B) When the existence of the touchpad driver is confirmed, the service resident program continuously sends a switching command to the touchpad controller through the touchpad driver; (C) Upon receiving the switching command, switch the touchpad controller to the reporting touch coordinate mode; and (D) The touchpad controller determines whether a predetermined time has elapsed without receiving a switching instruction from the touchpad driver. If so, the touchpad controller switches to the mouse mode; otherwise, step (A) is executed.

8. The touchpad driving method as described in claim 7, characterized in that, In step (B), the switching instruction includes continuous transmission in a timed or untimed manner.

Citation Information

Patent Citations

  • Processing method and system for operations of touchpad

    CN103279224A

  • Method for rapidly driving application program through laptop touchpad

    CN105204905A