Method and system for loading dynamic hotkey module of large linux touch device
Patent Information
- Application Number
- CN202611042672.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-14
- Publication Date
- 2026-09-25
AI Technical Summary
[0003]但是当前大型Linux触控设备的Linux内核缺少对虚拟热键支持,例如:所述大型Linux触控设备大小通常在80寸及以上,若需要调节屏幕亮度、声音大小时,用户必须行走一段距离,通过物理按键进行调节
(1)本发明具有独创性,通过CPU热键驱动模块或者厂商自定义热键驱动模块唤醒,以及触控点数量和滑动方向的动态映射,使大型Linux触控设备能够模拟实现虚拟热键功能。
Smart Images

Figure CN122816486A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of large-scale touch device technology, specifically relating to a method and system for loading dynamic hotkey modules for large-scale Linux touch devices. Background Technology
[0002] Large-scale touch devices based on the Linux kernel have emerged in large numbers as usage demand increases, such as the domestically produced touch screens or touch frames that are currently widely used, allowing users to operate directly by touch.
[0003] However, the Linux kernel for current large-scale Linux touch devices lacks support for virtual hotkeys. For example, these large Linux touch devices are typically 80 inches or larger. To adjust screen brightness or volume, users must walk a distance and use physical buttons. Compared to the hotkey functionality of devices like laptops, where adjusting brightness and volume can be done conveniently via Fn+F1~F5, adjusting brightness and volume on large Linux touch devices is cumbersome and results in a poor user experience.
[0004] Furthermore, different manufacturers of large Linux touch devices use different CPUs, and each may have its own hotkey function definitions. Adding virtual hotkey support to large Linux touch devices would then present the challenge of addressing the inconsistencies in hotkey function definitions across different manufacturers or CPUs. Summary of the Invention
[0005] The purpose of this invention is to provide a method and system for loading dynamic hotkey modules on large Linux touch devices, which enables users to simulate hotkey functions at any touch position on the touch device, reducing unnecessary movement of users during the use of large Linux touch devices, and facilitating users' hotkey function usage habits and user experience.
[0006] To achieve the above objectives, the technical solution of the present invention is as follows: A method for loading dynamic hotkey modules on large Linux touch devices includes: Detect touch operations on large Linux touch devices and obtain the number of touch points and the position information of each touch point. When a predetermined number of touch points are pressed simultaneously, a timer is started; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are activated. After the hotkey driver module is woken up, when a new touch point is detected, it maps the corresponding hotkey and simulates the function of the corresponding hotkey according to the number and position change information of the new touch point. Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey; When the predetermined number of touch points are released, the activated hotkey driver module is turned off, and the hotkey simulation ends.
[0007] Furthermore, the positional changes of the new touch points include changes along a first or second direction, matching different hotkey functions from the hotkey list.
[0008] Furthermore, the first direction is the y-axis direction of the touchscreen, and the second direction is the x-axis direction of the touchscreen.
[0009] Furthermore, while starting the timer, a hotkey is displayed on the touchscreen to wake up the timer by driving the module.
[0010] Furthermore, after the hotkey driver module is woken up, it displays the currently mapped simulated hotkey function identifier on the touch screen based on the number and position change information of the newly added touch points.
[0011] Furthermore, the hotkey function identifier is displayed above the touch point with the largest y-axis position among the newly added touch points, or to the right of the touch point with the largest x-axis position.
[0012] Furthermore, the step of continuously simulating the pressing or releasing state of the corresponding hotkey based on the sliding state of the newly added touch point includes: continuously simulating the pressing state of the corresponding hotkey when the newly added touch point is in a sliding state; and pausing the simulation of the corresponding hotkey function when the newly added touch point is in a stationary state, waiting for the touch point to slide.
[0013] Furthermore, the wake-up process of the hotkey driver module includes the HID module reading hotkey definitions from the keyboard module of the input subsystem according to the current CPU architecture, or reading vendor-specific hotkey definitions from the platform subsystem module, as a list of hotkeys for mapping simulation, and defining the mapping relationship between the number of newly added touch points and position changes and the hotkey list.
[0014] Furthermore, the Linux kernel HID module determines the corresponding simulated hotkey by calculating the newly added touch points and position changes, and calculates the data addition and subtraction. At the same time, it reads the hardware status value corresponding to the hotkey through the wmi module interface or acpi interface. The current hardware status value is then written to the hardware after the data addition and subtraction processing, and the key value is reported synchronously through the input subsystem to complete the hotkey simulation.
[0015] In another aspect, this invention also proposes a dynamic hotkey module loading system for large-scale Linux touch devices, comprising: Detection module: Detects touch operations on large Linux touch devices and obtains the number of touch points and the position information of each touch point. The timing wake-up module starts timing when a predetermined number of touch points are pressed simultaneously; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are woken up. Mapping Simulation Module: After the hotkey driver module is woken up, when a new touch point is detected, it maps the corresponding hotkey and simulates the function of the corresponding hotkey according to the number and position change information of the new touch point; State simulation module: Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey; Release and close module: When the predetermined number of touch points are released, the awakened hotkey driver module is turned off, and the hotkey simulation ends.
[0016] Compared with the prior art, the present invention has the following beneficial effects: (1) This invention is original. It enables large Linux touch devices to simulate virtual hotkey functions by waking up the CPU hotkey driver module or the manufacturer's custom hotkey driver module, and by dynamically mapping the number of touch points and the sliding direction.
[0017] (2) The present invention is easy to use and enables users to simulate the use of hotkey functions at any touch position on the touch device, reducing unnecessary movement of users during the use of large Linux touch devices, and facilitating the user's hotkey function usage habits and experience.
[0018] (3) This invention has good compatibility, dynamic support, and continues the user's usage habits of the same CPU architecture and manufacturer's private hotkey definition.
[0019] (4) The present invention has good interactivity and can directly show the user the virtual hotkey function that is currently being simulated. Attached Figure Description
[0020] Figure 1 This is a flowchart of the method in Embodiment 1 of the present invention; Figure 2 This is an application flowchart of Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of the system structure of Embodiment 3 of the present invention. Detailed Implementation
[0021] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other.
[0022] Example 1: Large Linux touch devices, including touchscreens or touch frames of 80 inches or larger, currently lack virtual hotkey support in their kernels. Furthermore, physical or on-screen hotkeys are located in fixed positions, requiring users to move closer to them to use them. To address these issues, this embodiment proposes a method for loading dynamic hotkey modules for large Linux touch devices, such as... Figure 1 As shown, it includes: 1. Detect touch operations on large Linux touch devices and obtain the number of touch points and the position information of each touch point.
[0023] This step is performed through the kernel HID module of a large Linux touch device. For example, the kernel HID module is modified to add wake-up logic for the hotkey driver module and a timer to the touch point parsing section; when several fingers of the user press simultaneously on the touch device, the kernel HID module performs touch point detection and parsing.
[0024] The hotkey driver module includes adding different numbers of touch points and changing their positions, corresponding to... The wake-up logic of the hotkey driver module presets the number of touch points that can be pressed simultaneously, sets continuous detection of touch point positions, starts and counts timers, and sets different durations for different hotkey driver modules. For example, a first preset duration and a second preset duration can be set, where the first preset duration is shorter than the second preset duration. The first preset duration corresponds to the CPU hotkey driver module or the manufacturer-defined hotkey driver module, and the second preset duration corresponds to either the manufacturer-defined hotkey driver module or the CPU hotkey driver module.
[0025] 2. When a predetermined number of touch points are pressed simultaneously, a timer is started; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are activated.
[0026] If the kernel HID module detects that the number of touch points pressed simultaneously by the user's finger meets a preset value, then the timer and the detection of the touch point position are started. For example, while the timer is started, the hotkey driver module is displayed on the touch screen to wake up the timer. If the touch point position remains unchanged and the press continues until the first preset duration, the corresponding hotkey driver module (such as the CPU hotkey driver module or the manufacturer's custom hotkey driver module) is woken up. If the touch point position remains unchanged and the press continues until the second preset duration, the hotkey driver module corresponding to the second preset duration is woken up (such as the manufacturer's custom hotkey driver module or the CPU hotkey driver module).
[0027] 3. After the hotkey driver module is woken up, when a new touch point is detected, the corresponding hotkey is mapped and the function of the corresponding hotkey is simulated according to the number and position change information of the new touch point.
[0028] The wake-up process of the hotkey driver module includes the HID module reading hotkey definitions from the keyboard module of the input subsystem according to the current CPU architecture, or reading vendor-specific hotkey definitions from the platform subsystem module, as a list of hotkeys for mapping simulation, and defining the mapping relationship between the number of newly added touch points and position changes and the hotkey list.
[0029] Once the hotkey driver module is activated, it can display prompts on the screen, prompting the user for the next operation, such as using a new finger to touch or swipe.
[0030] The Linux kernel HID module determines the simulated hotkey by calculating the position change of the newly added touch point along a first or second direction, and then matches different hotkey functions from the hotkey list. The first direction is the y-axis direction of the touchscreen, and the second direction is the x-axis direction of the touchscreen.
[0031] Furthermore, the hotkey function identifiers of the currently mapped simulation can be displayed on the touchscreen. These hotkey function identifiers are displayed above the touchpoint with the largest y-axis position among the newly added touchpoints, or to the right of the touchpoint with the largest x-axis position.
[0032] At the same time, the hardware status value corresponding to the hotkey is read through the WMI module interface or ACPI interface for use in simulating the hotkey function.
[0033] 4. Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey.
[0034] The Linux kernel HID module calculates data increments and decrements based on the sliding state of newly added touch points. Simultaneously, it writes the hardware status value into the hardware after processing the data increments and decrements, and reports the key value through the input subsystem, thereby simulating the press or release state of the corresponding hotkey.
[0035] 5. When the predetermined number of touch points are released, the activated hotkey driver module is turned off, and the hotkey simulation ends.
[0036] This embodiment enables large Linux touch devices to simulate virtual hotkey functionality through the wake-up of the hotkey driver module and the dynamic mapping of the number of touch points and the sliding direction.
[0037] Example 2: This embodiment is a specific application example of the method described in Embodiment 1. Taking a domestically produced touch frame or touch screen as an example, the kernel driver module is activated by pressing the screen with five fingers simultaneously (pressing the screen with five fingers of the left or right hand simultaneously). At the same time, a wake-up prompt for the driver module is displayed above the five fingers on the large screen (pressing for 5 seconds to activate the CPU-related hotkey module, pressing for 10 seconds to activate the manufacturer-customized hotkey module). When the user then slides on the screen with 1 to 5 fingers simultaneously (pressing and sliding with 1 to 5 fingers of the right or left hand), the Fn+F1~F10 functions in the hotkey list supported by the CPU or the manufacturer-customized hotkey functions are mapped, such as adjusting the screen brightness or volume, the manufacturer-customized Fn+Q function, etc. The continuous pressing of the button is simulated by judging whether the x / y axis size of the touch point slides increases or decreases. At the same time, the corresponding hotkey function OSD is displayed above the sliding touch point.
[0038] like Figure 2 As shown, the specific application process of this embodiment includes: Step S201: Wake up the hotkey driver module; The kernel touchscreen or touch frame driver adds a timer to the touch point parsing part. When the kernel HID module detects five touch points being pressed simultaneously (five fingers of the left or right hand pressing the screen at the same time), the timer is started. The hotkey driver module wake-up timer is displayed above the touch point with the largest y-axis value or to the right of the touch point with the largest x-axis value. Pressing simultaneously for 5 seconds wakes up the CPU hotkey driver module, or pressing simultaneously for 10 seconds wakes up the manufacturer's custom hotkey driver module.
[0039] If the five touch points are pressed for less than 5 seconds or the coordinates of the five touch points change, the hotkey driver module will wake up and stop.
[0040] Step S202: Hotkey list mapping; If five touch points are pressed for more than 5 seconds, the CPU architecture hotkey driver module will be successfully woken up. If the kernel detects that a new touch point has been added within 5 to 10 seconds, it will map the CPU's supported hotkey list Fn+F1~F10 and simulate its function, and the timer will stop counting.
[0041] If five touch points are pressed for more than 10 seconds, the manufacturer-customized hotkey driver module will be successfully woken up. When the kernel detects that a new touch point has been added, it will map the functions of hotkeys 1 to 10 in the manufacturer-customized hotkey list. This list is customized by the manufacturer. For example, hotkey 1 is Fn+Q, hotkey 2 is Fn+D, etc.
[0042] Step S203: Hotkey function simulation; If the CPU hotkey driver module or the manufacturer's custom hotkey driver module is successfully woken up, and the current five touch points are not released, and the five fingers of the left or right hand are kept in a pressing state, the kernel touch screen or touch frame detects the addition of new touch points. If the other hand (right or left hand) presses the screen with fingers 1 to 5, the kernel touch screen or touch frame dynamically maps and simulates the hotkey list according to the number of new touch points and the changes in the x and y axes.
[0043] set up: If a new touch point is added, and the x-axis or y-axis increases, the simulated mapping Fn+F1 is pressed; or if a new touch point is added, and the x-axis or y-axis decreases, the simulated mapping Fn+F2 is pressed.
[0044] If two new touch points are added, if the x-axis or y-axis increases, the simulated mapping Fn+F3 is pressed; or if two new touch points are added, if the x-axis or y-axis decreases, the simulated mapping Fn+F4 is pressed.
[0045] Configure the number and position of touch points corresponding to the hotkeys of all CPU hotkey driver modules or manufacturer-customized hotkey driver modules in sequence.
[0046] The specific functions of the hotkeys Fn+F1~F10 are defined by the hotkey list in the CPU hotkey driver module or the manufacturer's custom hotkey driver module.
[0047] Step S204: Hotkey Function OSD; If the CPU hotkey driver module or the manufacturer-customized hotkey driver module is successfully woken up, and the current five touch points are not released (i.e., the five fingers of the left or right hand are always in a pressing state), the kernel touch screen or touch frame detects the addition of a new touch point. When the 1st to 5th fingers of the right or left hand press the screen, in step S203, the kernel touch screen or touch frame dynamically maps and simulates the hotkey list according to the number of new touch points and the changes in the x and y axes. At the same time, the kernel touch screen or touch frame displays the virtual hotkey function OSD mapped when the number of touch points and the changes in the x and y axes change above the touch point with the largest y axis or to the right of the touch point with the largest x axis of the new touch point, so that the user can easily identify the currently simulated hotkey function.
[0048] Step S205: Simulate hotkey press / wait state; As described in step S204, the CPU hotkey driver module or the manufacturer-customized hotkey driver module is successfully woken up, and the five touch points are not released while the left or right hand's five fingers are still in a pressing state. The user kernel touch screen or touch frame detects the addition of a new touch point (the right or left hand's 1-5 fingers press and slide on the screen). The kernel touch screen or touch frame displays the virtual hotkey function OSD mapped when the number of touch points and the xy-axis change above the touch point with the largest y-axis or to the right of the touch point with the largest x-axis. At the same time, it simulates the continuous pressing of the hotkey according to the continuous sliding of the touch point, calculates the increase or decrease of data, and calculates the hardware status (such as volume, brightness, etc.) value corresponding to the hotkey. Based on the change value of the data increase or decrease, it sets the hardware and displays it on the screen.
[0049] If the newly added touch point remains stationary and does not slide, two OSDs will be displayed above the touch point with the largest y-axis value or to the right of the touch point with the largest x-axis value, showing the dynamic simulated hotkey functions mapped when the number of touch points and the x and y axes change. At this time, the button functions are empty, waiting for the touch point to slide.
[0050] Step S206: Release the virtual hotkey; When the five touch points are released (the five fingers of the left or right hand stop pressing), the wake-up function of the CPU hotkey driver module or the manufacturer's custom hotkey driver module is turned off, and the virtual hotkey function of the touch screen or touch frame ends.
[0051] This embodiment applies the method described in Embodiment 1. For domestically produced touch frames or touch screens, the kernel driver module is activated by pressing the screen with five fingers simultaneously. When the user simultaneously slides the screen with fingers 1 to 5 of the other hand, hotkey functions such as Fn+F1~F10 are simulated. Users can simulate using hotkey functions at any position on the touch screen, reducing unnecessary movement during the use of the touch screen or touch frame, and facilitating the user's hotkey function usage habits and experience.
[0052] Example 3: This embodiment proposes a dynamic hotkey module loading system for large-scale Linux touch devices, the structure of which is as follows: Figure 3 As shown, it includes: Detection module: Detects touch operations on large Linux touch devices and obtains the number of touch points and the position information of each touch point. The timing wake-up module starts timing when a predetermined number of touch points are pressed simultaneously; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are woken up. Mapping Simulation Module: After the hotkey driver module is woken up, when a new touch point is detected, it maps the corresponding hotkey and simulates the function of the corresponding hotkey according to the number and position change information of the new touch point; State simulation module: Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey; Release and close module: When the predetermined number of touch points are released, the awakened hotkey driver module is turned off, and the hotkey simulation ends.
[0053] The new touch point position changes include changes along the first or second direction, matching different hotkey functions from the hotkey list.
[0054] The first direction is the y-axis direction of the touchscreen, and the second direction is the x-axis direction of the touchscreen.
[0055] Simultaneously with starting the timer, a hotkey is displayed on the touchscreen to wake up the timer by driving the module.
[0056] After the hotkey driver module is woken up, it displays the currently mapped simulated hotkey function identifier on the touch screen based on the number and position changes of the newly added touch points.
[0057] The hotkey function identifier is displayed above the touch point with the largest y-axis position among the newly added touch points, or to the right of the touch point with the largest x-axis position.
[0058] The step of continuously simulating the pressing or releasing state of the corresponding hotkey based on the sliding state of the newly added touch point includes: continuously simulating the pressing state of the corresponding hotkey when the newly added touch point is in a sliding state; and pausing the simulation of the corresponding hotkey function when the newly added touch point is in a stationary state, waiting for the touch point to slide.
[0059] The wake-up process of the hotkey driver module includes the HID module reading hotkey definitions from the keyboard module of the input subsystem according to the current CPU architecture, or reading vendor-specific hotkey definitions from the platform subsystem module, as a list of hotkeys for mapping simulation, and defining the mapping relationship between the number of newly added touch points and position changes and the hotkey list.
[0060] The Linux kernel HID module determines the corresponding simulated hotkey by calculating the addition of new touch points and position changes, and calculates the addition or subtraction of data. At the same time, it reads the hardware status value corresponding to the hotkey through the wmi module interface or acpi interface. The current hardware status value is then written to the hardware after the data addition or subtraction processing, and the key value is reported synchronously through the input subsystem to complete the hotkey simulation.
[0061] The dynamic hotkey module loading system for large Linux touch devices proposed in this embodiment can achieve the dynamic hotkey module loading method for large Linux touch devices described in Embodiments 1 and 2, and has the same technical effect.
[0062] The above-described embodiments are merely preferred embodiments of the present invention and are only used to help understand the method and core ideas of this application. The scope of protection of the present invention is not limited to the above embodiments, and all technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for those skilled in the art, any improvements and modifications made without departing from the principles of the present invention should also be considered within the scope of protection of the present invention.
Claims
1. A method for loading dynamic hotkey modules on large Linux touch devices, characterized in that, include: Detect touch operations on large Linux touch devices and obtain the number of touch points and the position information of each touch point. When a predetermined number of touch points are pressed simultaneously, a timer is started; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are activated. After the hotkey driver module is woken up, when a new touch point is detected, it maps the corresponding hotkey and simulates the function of the corresponding hotkey according to the number and position change information of the new touch point. Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey; When the predetermined number of touch points are released, the activated hotkey driver module is turned off, and the hotkey simulation ends.
2. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 1, characterized in that, The position changes of the new touch points include changes along the first or second direction, matching different hotkey functions from the hotkey list.
3. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 2, characterized in that, The first direction is the y-axis direction of the touchscreen, and the second direction is the x-axis direction of the touchscreen.
4. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 1, characterized in that, Simultaneously with starting the timer, a hotkey is displayed on the touchscreen to wake up the timer by driving the module.
5. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 1, characterized in that, After the hotkey driver module is woken up, it displays the currently mapped simulated hotkey function identifier on the touch screen based on the number and position changes of the newly added touch points.
6. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 5, characterized in that, The hotkey function identifier is displayed above the touch point with the largest y-axis position among the newly added touch points, or to the right of the touch point with the largest x-axis position.
7. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 1, characterized in that, The step of continuously simulating the pressing or releasing state of the corresponding hotkey based on the sliding state of the newly added touch point includes: continuously simulating the pressing state of the corresponding hotkey when the newly added touch point is in a sliding state; and pausing the simulation of the corresponding hotkey function when the newly added touch point is in a stationary state, waiting for the touch point to slide.
8. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 1, characterized in that, The wake-up process of the hotkey driver module includes the HID module reading hotkey definitions from the keyboard module of the input subsystem according to the current CPU architecture, or reading vendor-specific hotkey definitions from the platform subsystem module, as a list of hotkeys for mapping simulation, and defining the mapping relationship between the number of newly added touch points and position changes and the hotkey list.
9. The method for loading dynamic hotkey modules for large Linux touch devices according to claim 8, characterized in that, The Linux kernel HID module determines the corresponding simulated hotkey by calculating the addition of new touch points and position changes, and calculates the increase or decrease of data. At the same time, it reads the hardware status value corresponding to the hotkey through the wmi module interface or acpi interface. The current hardware status value is written to the hardware after the data is added or subtracted, and the key value is reported synchronously through the input subsystem to complete the hotkey simulation.
10. A dynamic hotkey module loading system for large-scale Linux touch devices, characterized in that, include: Detection module: Detects touch operations on large Linux touch devices and obtains the number of touch points and the position information of each touch point. The timing wake-up module starts timing when a predetermined number of touch points are pressed simultaneously; when the touch point position remains unchanged and the press continues for different preset durations, different hotkey driver modules are woken up. Mapping Simulation Module: After the hotkey driver module is woken up, when a new touch point is detected, it maps the corresponding hotkey and simulates the function of the corresponding hotkey according to the number and position change information of the new touch point; State simulation module: Based on the sliding state of the newly added touch point, continuously simulate the pressing or releasing state of the corresponding hotkey; Release and close module: When the predetermined number of touch points are released, the awakened hotkey driver module is turned off, and the hotkey simulation ends.