Data input method and device of intelligent POS with silica gel keyboard

By configuring a silicone keyboard on the outside of the smart POS, adjusting the touch window matrix and identifying user operations, the data input problem of visually impaired users and users wearing gloves is solved, achieving a wider range of application scenarios and higher data input accuracy.

CN120653174AActive Publication Date: 2025-09-16FEITIAN TECHNOLOGIES CO LTD

Patent Information

Application Number
CN202511164189.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-20
Publication Date
2025-09-16
Estimated Expiration
2045-08-20

AI Technical Summary

Technical Problem

Existing smart POS devices cannot meet the data input needs of visually impaired users and those who must wear gloves in special scenarios, and traditional full-screen touch methods are not applicable.

Method used

A silicone keyboard is configured on the outside of the smart POS device. By detecting the presence of the silicone keyboard and adjusting the touch window matrix on the display screen, user operations are identified and key values ​​are determined to achieve data input.

Benefits of technology

It improves the data input accuracy of visually impaired users, expands the application scenarios of smart POS, is suitable for special environments where people wear gloves, and does not affect the use of ordinary users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653174A_ABST
    Figure CN120653174A_ABST
Patent Text Reader

Abstract

The invention discloses a data input method and device for an intelligent POS with a silica gel keyboard, and the method comprises the steps: determining a key region and a touch window matrix of the silica gel keyboard on a display screen of the intelligent POS when the silica gel keyboard is detected at the outer side of the intelligent POS, adjusting a touch window on the display screen according to the touch window matrix, and waiting for the operation of a user, when a touch signal is received, coordinate information of a user touch position is obtained, whether user operation is in a key area of the silica gel keyboard on a display screen of the intelligent POS is judged according to the coordinate information, and if yes, a key value corresponding to the user touch position is determined according to a key matrix corresponding to each key of the silica gel keyboard stored internally and the coordinate information; and storing the key value in the storage area. According to the technical scheme, the application program in the intelligent POS does not need to be modified, and the method is suitable for common users, visually impaired users and outdoor special scenes and is safe and convenient to use.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent terminals, and in particular to a data input method and device for an intelligent POS with a silicone keyboard. Background Art

[0002] With the advancement of computer technology, traditional industrial or commercial terminal devices (such as POS) have evolved into smart terminals. These terminals, equipped with physical buttons, have been replaced by full-screen touchscreen smart terminals (such as smart POS). When using a smart terminal, a virtual keyboard pops up on the display, allowing users to directly click and input data. However, for people with visual impairments, it is difficult to accurately determine whether the input data is correct. Furthermore, full-screen touchscreen smart POS is not suitable for use in special scenarios where users must wear gloves (such as outdoor work in cold weather). Therefore, there is an urgent need for a data input solution on a smart POS that is suitable for users with visual impairments or those wearing gloves. Summary of the Invention

[0003] The purpose of the present invention is to overcome the deficiencies of the prior art and to provide a data input method and device for an intelligent POS with a silicone keyboard.

[0004] In a first aspect, an embodiment of the present invention provides a data input method for a smart POS with a silicone keyboard, comprising: Step S1: When the smart POS detects that there is a silicone keyboard on the outside, confirm the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; Step S2: the smart POS adjusts the touch window on the display screen according to the touch window matrix; Step S3: The smart POS waits for user operation, and when receiving a touch signal, obtains coordinate information of the user touch position, and determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If yes, step S4 is executed; otherwise, corresponding operation is performed based on the coordinate information; Step S4: the smart POS determines the key value corresponding to the user's touch position based on the key matrix corresponding to each key of the silicone keyboard and the coordinate information stored internally; Step S5: The smart POS stores the key value in a storage area.

[0005] In a second aspect, an embodiment of the present invention further provides a data input device for an intelligent POS with a silicone keyboard, comprising: A confirmation module, configured to, when detecting that a silicone keyboard is present on the outside of the smart POS, confirm the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; an adjusting module, configured to adjust the touch window on the display screen according to the touch window matrix; An acquisition and judgment module is used to wait for user operation, obtain coordinate information of the user's touch position when a touch signal is received, and determine whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If so, the determination module is triggered; otherwise, a corresponding operation is performed based on the coordinate information; The determination module is used to determine the key value corresponding to the user touch position based on the key matrix corresponding to each key of the silicone keyboard and the coordinate information stored internally; The storage module is used to store the key value in a storage area.

[0006] In a third aspect, an embodiment of the present invention further provides an electronic device, which includes at least one processor, a memory, and instructions stored in the memory and executable by the at least one processor, and the at least one processor executes the instructions to implement the aforementioned method.

[0007] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium includes a computer program, and when the computer program runs on an electronic device, the electronic device executes the aforementioned method.

[0008] In a fifth aspect, an embodiment of the present invention further provides a chip system, comprising a chip, wherein the chip is coupled to a memory and is configured to execute a computer program stored in the memory to perform the aforementioned method.

[0009] Compared with the prior art, the present invention has the following advantages: The technical solution of the present invention allows users to enter data on a pop-up keyboard during normal use of the smart POS. However, for visually impaired users, a silicone keyboard with raised buttons is installed on the outside of the smart POS. This allows visually impaired users to enter data by pressing these buttons, significantly improving data input accuracy. Furthermore, in special scenarios (such as outdoor work in cold weather), users can operate the display screen using the buttons on the silicone keyboard even while wearing gloves, expanding the application scenarios of the smart POS. When the silicone keyboard is removed, the smart POS can function normally again, providing convenient use. The technical solution of the present invention does not require any modifications to the applications running on the smart POS. The touch area of ​​the smart POS is reduced when the silicone keyboard is connected, and returns to its original size when the silicone keyboard is removed. This makes it suitable not only for ordinary users but also for visually impaired users and outdoor situations, providing safe and convenient use. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1This is a flow chart of a data input method for a smart POS with a silicone keyboard provided in the first embodiment of the present invention; Figure 2 A schematic structural diagram of a silicone keyboard provided in the second embodiment of the present invention; Figure 3 A schematic diagram of the structure of the smart POS provided in the second embodiment of the present invention; Figure 4 A schematic diagram of the structure of a smart POS with a silicone keyboard provided in the second embodiment of the present invention; Figure 5 A flowchart of a data input method for a smart POS with a silicone keyboard provided in the second embodiment of the present invention; Figure 6 A flowchart of an interrupt processing method for data input in a smart POS with a silicone keyboard provided in a second embodiment of the present invention; Figure 7 A flowchart of the monitoring sub-thread operation in a data input method for an intelligent POS with a silicone keyboard provided in the second embodiment of the present invention; Figure 8 Schematic diagram of the position of the key area of ​​the silicone key provided in the second embodiment of the present invention on the display screen of the smart POS. DETAILED DESCRIPTION

[0011] This application provides a data input method and device for a smart POS system with a silicone keyboard. The following describes the specific embodiments of this application in detail with reference to the accompanying drawings. Examples of the embodiments are shown in the accompanying drawings. The embodiments described below with reference to the accompanying drawings are illustrative and intended only to explain this application, and are not to be construed as limiting this application.

[0012] Those skilled in the art will understand that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs. It should also be understood that terms such as those defined in common dictionaries should be understood to have meanings consistent with their meanings in the context of the prior art and, unless specifically defined as such, will not be interpreted in an idealized or overly formal sense.

[0013] To make the objectives, technical solutions and advantages of the present invention more clear, the embodiments of the present invention are described in further detail below with reference to the accompanying drawings. Example 1

[0014] Embodiment 1 of the present invention provides a data input method for a smart POS with a silicone keyboard, which is applicable to a smart POS that can be configured with a silicone keyboard. The silicone keyboard and the smart POS can be fixed and connected for communication via a pogo pin (Chinese name: spring pin) connector, or can be fixed via a magnet. When fixed via a magnet, the smart POS can detect the presence of the silicone keyboard on the outside via a light sensor, a Hall sensor, or an NFC module.

[0015] like Figure 1 As shown, the method of this embodiment includes: Step S1: When the smart POS detects that there is a silicone keyboard on the outside, confirm the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; In this embodiment, the smart POS is adaptable to multiple silicone keyboards, and step S1 includes: when the smart POS detects that there is a silicone keyboard outside, obtaining a silicone keyboard identifier from the silicone keyboard, and confirming the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier; Optionally, the silicone keyboard identifier may be a silicone keyboard device identifier, a device model, or a device size; Optionally, the smart POS pre-stores the key area and touch window matrix of the matching silicone keys on the display screen of the smart POS. If the smart POS is adaptable to a silicone keyboard, step S1 is replaced by: when the smart POS detects that there is a silicone keyboard on the outside, obtaining the saved key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; if the smart POS is adaptable to multiple silicone keyboards, step S1 is replaced by: when the smart POS detects that there is a silicone keyboard on the outside, obtaining a silicone keyboard identifier from the silicone keyboard, and obtaining the corresponding key area and touch window matrix of the silicone keyboard on the display screen of the smart POS from the smart POS according to the silicone keyboard identifier; In this embodiment, if the silicone keyboard and the smart POS can be fixed and connected for communication via a pogo pin connector, then the smart POS in step S1 detects the presence of the silicone keyboard, including: when the core of the smart POS detects a change in external voltage via the detection pin, an interrupt processing function is called to enter interrupt processing, and the interrupt processing includes: Step R1: The core of the smart POS delays for a first time period, obtains the input status of the detection pin, and determines whether the input status of the detection pin is a low level. If so, execute step R2; otherwise, execute step R3. Optionally, if the smart POS is compatible with multiple silicone keyboards, the step R1 before executing step R2 further includes: the kernel of the smart POS obtains a silicone keyboard identifier from the silicone keyboard; Step R2: The kernel creates a monitoring child thread, starts monitoring external USB device registration events through the monitoring child thread, and exits the interrupt processing; Step R3: The kernel determines whether the silicone keyboard is inserted. If so, the kernel records the silicone keyboard as unplugged. A silicone keyboard status switching notification is generated based on the silicone keyboard status and reported to the upper-layer application of the smart POS. The kernel then exits the interrupt processing. Otherwise, the kernel directly exits the interrupt processing. When the monitoring child thread monitors the USB device registration event, execute step A1; Step A1: The monitoring sub-thread determines whether there is an accessory loading thread based on the accessory list. If yes, execute step A4; otherwise, execute step A2. Step A2: The monitoring sub-thread determines whether an accessory loading thread is detected in the accessory list within the second time period. If yes, execute step A4; otherwise, update the delay times and execute step A3; Step A3: The monitoring child thread determines whether the delay times reaches a second preset value, and if so, the monitoring child thread exits, otherwise, returns to step A1; Step A4: The monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification based on the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; Optionally, if the smart POS is adapted to multiple silicone keyboards, step A4 includes: the monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification according to the silicone keyboard identifier and the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; The upper layer application of the smart POS receives a notification of switching the silicone keyboard status. If the silicone keyboard status in the notification is inserted, it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification is removed, it is determined that there is no silicone keyboard on the outside of the smart POS.

[0016] If the smart POS in this embodiment detects the presence of a silicone keyboard on the outside through the optical sensor, the Hall sensor, or the NFC module, then the smart POS in step S1 detects the presence of a silicone keyboard on the outside, specifically including: when the core of the smart POS detects a change in the external voltage through the detection pin, an interrupt processing function is called to enter interrupt processing, and the interrupt processing includes: Step M: The kernel obtains the detection pin level of the light sensor and determines whether the detection pin level is low. If so, a notification including a switch silicone keyboard status notification indicating that the silicone keyboard status is inserted is reported to the upper-layer application of the smart POS and the interrupt is exited. Otherwise, a notification including a switch silicone keyboard status notification indicating that the silicone keyboard status is unplugged is reported to the upper-layer application of the smart POS and the interrupt is exited. Or, step N: the kernel obtains the status of the Hall sensor feedback, and determines whether the detection pin in the status of the Hall sensor feedback is at a high level. If so, a notification including a switching status of the silicone keyboard as inserted is reported to the upper-layer application of the smart POS, and the interrupt is exited. Otherwise, a notification including a switching status of the silicone keyboard as unplugged is reported to the upper-layer application of the smart POS, and the interrupt is exited. Or, step L: the kernel sends a request to obtain silicone keyboard data to the silicone keyboard through the NFC module, receives and parses the NFC tag information returned by the silicone keyboard through the NFC module, determines whether the silicone keyboard identifier obtained by the parsing is the first preset data, and if so, reports a switching silicone keyboard status notification including the silicone keyboard status being inserted to the upper-layer application of the smart POS and exits the interrupt; otherwise, reports a switching silicone keyboard status notification including the silicone keyboard status being unplugged to the upper-layer application of the smart POS and exits the interrupt; The upper layer application of the smart POS receives a notification of switching the silicone keyboard status. If the silicone keyboard status in the notification is "inserted," it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification is "unplugged," it is determined that there is no silicone keyboard on the outside of the smart POS. Optionally, if the smart POS is compatible with multiple silicone keyboards, when the judgment in step N is yes, the kernel confirms the silicone keyboard identifier through the status feedback of the Hall sensor, writes the silicone keyboard identifier into the node, and the upper-layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard status; or, when the judgment in step L is yes, the kernel writes the parsed silicone keyboard identifier into the node, and the upper-layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard status.

[0017] Optionally, if the smart POS is compatible with multiple silicone keyboards, the confirmation of the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS in step S1 includes: the upper-layer application confirms the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier.

[0018] In this embodiment, before step S1, the following steps are also included: Step T1: The kernel is loaded and the kernel parses the device tree to obtain the information of the detection pin; Step T2: The kernel registers the interrupt processing function required by the detection pin to generate an interrupt, and initializes the interrupt processing function according to the information of the detection pin.

[0019] Optionally, if the smart POS is compatible with multiple silicone keyboards and the pixel size of each silicone keyboard is stored internally, step S1 includes: when the smart POS detects that there is a silicone keyboard outside, obtaining a silicone keyboard identifier from the silicone keyboard, obtaining the corresponding stored pixel size of the silicone keyboard according to the silicone keyboard identifier, calculating the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculating the touch window matrix according to the key area; Or if the size of each silicone keyboard is not stored in the smart POS, step S1 includes: when the smart POS detects that there is a silicone keyboard outside, obtaining the pixel size of the silicone keyboard from the silicone keyboard, calculating the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculating the touch window matrix according to the key area; The touch window matrix in this embodiment includes window size and window position information.

[0020] Step S2: the intelligent POS adjusts the touch window on the display screen according to the touch window matrix; In this embodiment, step S2 includes: the smart POS sends the touch window size and touch window position information of the touch window matrix to the SurfaceFlinger process of the operating system through the window manager. The operating system draws the touch window by running the SurfaceFlinger process, and renders and displays the touch window image through OpenGL. Step S3: The smart POS waits for user operation. When receiving a touch signal, it obtains the coordinate information of the user's touch position and determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If yes, it executes step S4; otherwise, it performs the corresponding operation based on the coordinate information. Specifically, in this embodiment, step S3 includes: the core of the smart POS waits for user operation, obtains coordinate information of the user touch position when a touch signal is received, and determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If so, step S4 is executed; otherwise, the coordinate information is returned to the upper-layer application of the smart POS, and the upper-layer application performs corresponding operations based on the coordinate information; Step S4: The intelligent POS determines the key value corresponding to the coordinate information based on the key matrix and coordinate information corresponding to each key of the silicone keyboard stored internally; Accordingly, step S4 includes: the kernel determines the key value corresponding to the coordinate information according to the key matrix corresponding to each key of the silicone keyboard stored internally, and reports the determined key value to the upper layer application through the input subsystem; Optionally, if the smart POS is compatible with multiple silicone keyboards, step S4 includes: the smart POS obtains a key matrix corresponding to each key of the internally stored silicone keyboard according to the silicone keyboard identifier, and determines a key value corresponding to the coordinate information according to the obtained key matrix and coordinate information corresponding to each key of the silicone keyboard; Step S5: The smart POS saves the key value in the storage area; In this embodiment, step S5 includes: the upper layer application of the intelligent POS saves the received key value in a storage area.

[0021] In this embodiment, if the data entered by the user is a password, step S5 includes: the smart POS saves the key value in the password storage area, determines whether the password input is successful, and prompts the user that the password input is successful, and ends; otherwise, returns to step S3; Furthermore, step S5 specifically includes: the smart POS determines the key type corresponding to the key value; if it is a cancel key, prompting the user to cancel the operation, clearing the data in the password storage area, and ending; if it is a character key, saving the key value sequence in the password storage area, prompting the user that the current number input is complete, and returning to step S3; if it is a confirm key, determining whether the length of the data in the password storage area meets the requirements; if so, prompting the user that the password input is complete, and ending; otherwise, reporting an error; Optionally, the user is prompted that the current digital input is completed, specifically: the intelligent POS voice broadcasts the serial number of the key value in the password storage area; prompts the user to cancel the operation, and prompts the user that the password input is completed, specifically: through voice prompts; this prompt method is friendly to visually impaired users.

[0022] Alternatively, the user is prompted that the current digital input is completed, specifically: the smart POS displays preset characters on the display screen; the user is prompted to cancel the operation, and the user is prompted that the password input is completed, specifically: through voice prompts or text prompts on the display screen of the smart POS.

[0023] Optionally, in this embodiment, if the user removes the silicone keyboard, the smart POS confirms that the key area is 0 and restores the touch window to the size of the display screen. The implementation process includes steps P1 to P3; Step P1: When the smart POS detects that the outer silicone keyboard is removed, confirm that the pixel size of the key area of ​​the silicone keyboard on the display screen of the smart POS is 0 according to the state of the silicone keyboard; Step P2: The smart POS restores the touch window to full screen according to the pixel size of the key area and the display resolution of the smart POS; Specifically, step P2 includes: the smart POS calls an interface to restore the touch window to full screen according to the pixel size of the key area and the resolution of the smart POS display screen, that is, the user can perform full-screen touch operations; Step P3: The smart POS waits for user operation and performs corresponding operation when receiving operation information from the user touching the display screen.

[0024] In this embodiment, when the smart POS is in normal use, users enter data on a pop-up keyboard. For use by visually impaired users, a silicone keyboard with raised buttons is installed on the outside of the smart POS. This allows visually impaired users to input data by pressing these buttons, significantly improving data input accuracy. Furthermore, in special scenarios (such as outdoor work in cold weather), users can operate the display screen using the buttons on the silicone keyboard even while wearing gloves, expanding the application scenarios of the smart POS. When the silicone keyboard is removed, the smart POS can function normally again, providing convenient use. This embodiment method does not require any modifications to the applications running on the smart POS. The touch area of ​​the smart POS is reduced when the silicone keyboard is attached, and restored to its original size when the silicone keyboard is removed. This makes it suitable not only for ordinary users but also for visually impaired users and outdoor environments, providing safe and convenient use. Example 2

[0025] The second embodiment of the present invention provides a data input method for a smart POS with a silicone keyboard, which is applicable to a smart POS that can be configured with a silicone keyboard. Figure 2 As shown, the upper half of the front of the silicone keyboard is hollowed out 22, and the lower half is a silicone key 21, which can include numeric keys (1, 2, 3, 4, 5, 6, 7, 8, 9, 0) and function keys (such as up, down, cancel, delete, enter, etc.). Figure 3 As shown, the front of the smart POS is a display screen 30. Figure 4 As shown, the silicone keyboard cover is placed on the front of the smart POS for use. Specifically, the silicone keyboard and the smart POS are fixed and connected to communicate via a pogo pin connector.

[0026] In this embodiment, the smart POS includes a kernel and upper layer applications. The smart POS is compatible with a variety of silicone keyboards, such as Figure 5 As shown, the method of this embodiment includes: Step 201: When the kernel detects that there is a silicone keyboard outside, it sends a silicone keyboard state switching notification including the silicone keyboard state being inserted to the upper layer application; In this embodiment, if the state of the silicone keyboard is the first preset value, it means that the silicone keyboard is inserted; In this embodiment, step 201 includes: when the core detects a change in the external voltage through the detection pin, the interrupt controller calls the interrupt processing function to enter the interrupt processing. The specific process of the interrupt processing is as follows: Figure 6 As shown, including: Step 301: The kernel delays for a first time period, obtains the input state of the detection pin, and determines whether the input state of the detection pin is low. If so, execute step 302; otherwise, execute step 304. Specifically, the first duration in this embodiment is 500ms; Step 302: The kernel obtains the silicone keyboard identifier from the silicone keyboard; Step 303: The kernel creates a monitoring child thread, starts monitoring USB device registration events through the monitoring child thread, and exits interrupt processing; The monitoring sub-thread in this embodiment is used to monitor the registration events of the USB device, such as Figure 7 As shown, when the monitoring child thread monitors the USB device registration event, step A1 is executed; Step A1: The monitoring sub-thread determines whether there is an accessory loading thread based on the accessory list. If yes, execute step A4; otherwise, execute step A2. Step A2: The monitoring sub-thread determines whether an accessory loading thread is detected in the accessory list within the second time period. If yes, execute step A4; otherwise, update the delay times and execute step A3; The second time length in this embodiment is 1s; the specific update delay times are: the delay times are incremented by 1; Step A3: The monitoring child thread determines whether the number of delay times reaches a second preset value, and if so, the monitoring child thread exits, otherwise returns to step A1; The second preset value in this embodiment is 4; Step A4: The monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification based on the silicone keyboard identifier and the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; Optionally, in this embodiment, flag is set to 1, indicating that the silicone keyboard state is inserted, and if flag is 0, it indicates that the silicone keyboard state is unplugged. The notification of switching the silicone keyboard state in step A4 includes flag=1; Step 304: The kernel determines whether the silicone keyboard state is inserted. If so, the kernel records the silicone keyboard state as unplugged. A silicone keyboard state switching notification is generated based on the silicone keyboard state and reported to the upper layer application. The kernel then exits the interrupt processing. Otherwise, the kernel directly exits the interrupt processing. Specifically, step 304 includes: the kernel determines whether the flag is 1, if so, assigns the flag to 0, reports a notification of switching the silicone keyboard state including flag=0 to the upper layer application, and exits the interrupt processing; otherwise, directly exits the interrupt processing; Specifically, the steps before step 201 in this embodiment include: Step T1: The kernel is loaded and the kernel parses the device tree to obtain the information of the detection pin; In this embodiment, a device tree is pre-set in the smart POS. The device tree includes the detection pins corresponding to the pins on the chip and the required driving capacity of the detection pins (how much current is required). The smart POS configures the detection pins to corresponding modes during use and sleep. The modes include: high impedance, pull-up, and pull-down. Step T2: The kernel registers the interrupt processing function required by the detection pin to generate an interrupt, and initializes the interrupt processing function according to the information of the detection pin; In this embodiment, step T2 includes: the kernel sets the pin corresponding to the detection pin on the CPU chip to an input state, registers an interrupt processing function, and initializes the interrupt processing function according to the information of the detection pin; Step 202: When the upper-layer application receives the notification of switching the silicone keyboard state, it obtains the corresponding saved pixel size of the silicone keyboard according to the silicone keyboard identifier in the notification of switching the silicone keyboard state, and calculates the key area size and touch window matrix of the silicone keyboard on the display screen of the smart POS according to the obtained pixel size of the silicone keyboard; The touch window matrix in this embodiment includes touch window size and touch window position information; Optionally, in this embodiment, if the pixel size of the silicone keyboard is not pre-saved in the smart POS, the pixel size of the silicone keyboard can be directly obtained from the silicone keyboard, that is, the pixel size of the corresponding saved silicone keyboard is obtained according to the silicone keyboard identifier in the notification of switching the silicone keyboard status. When the kernel detects that there is a silicone keyboard outside, the silicone keyboard identifier and the pixel size of the silicone keyboard are obtained from the silicone keyboard and saved in the node; Specifically, in this embodiment, step 202 includes: when the upper-layer application receives a notification of switching the silicone keyboard state, obtaining a corresponding path according to the silicone keyboard identifier, reading the pixel size of the silicone keyboard according to the path, obtaining a saved resolution of the smart POS display screen, determining the key area of ​​the silicone keyboard on the smart POS display screen according to the pixel size of the silicone keyboard, and calculating the touch window size and touch window position information according to the resolution of the smart POS display screen and the size of the key area; Furthermore, the upper-layer application searches for the corresponding / proc / keyvoard_sleeve node based on the silicone keyboard identifier, uses the standard Java read method to read the pixel size of the silicone keyboard from the found node, obtains the saved resolution of the smart POS display screen, uses the pixel size of the silicone keyboard as the size of the key area of ​​the silicone keyboard on the smart POS display screen, calculates the touch window size based on the resolution of the smart POS display screen and the size of the key area, and determines the touch window position information based on the preset rules and the touch window size. For example, if the silicone keyboard is identified as F310P-6.5, the resolution of the smart POS display screen that the corresponding silicone keyboard is adapted to is 720 * 1600. Based on the silicone keyboard identifier, the corresponding silicone keyboard pixel size is obtained as 720 * 800. The key area size of the silicone keyboard on the smart POS display screen is determined to be 720 * 800, and the corresponding touch window size is 720 * 800. The pixel size of the silicone keyboard mentioned in this embodiment refers to the size of the silicone keyboard front that can block the smart POS display screen. For example, if the silicone keyboard is identified as F20-5.5, the resolution of the smart POS display screen that the corresponding silicone keyboard is adapted to is 720 * 1280. According to the silicone keyboard identifier, the corresponding silicone keyboard pixel size is obtained as 720 * 800. The key area size of the silicone keyboard on the smart POS display screen is determined to be 720 * 800, and the corresponding touch window size is 720 * 480. Optionally, the preset rule is related to the resolution and size of the display screen of the smart POS, specifically: performing a square root operation on the sum of the square of the horizontal resolution and the square of the vertical resolution of the display screen to obtain a first calculation result, dividing the first calculation result by the diagonal length of the display screen of the smart POS to obtain a second calculation result, obtaining a pixel density from a pixel density list in an upward filing manner based on the second calculation result, and obtaining the touch window position information based on the pixel density according to the preset rule; The touch window position information is obtained according to the preset rules based on the pixel density: the horizontal and vertical coordinates of the starting point are: the distance from the control position to the left and top * (pixel density / reference density), and the coordinates of the end point are: starting point coordinates + control size * (pixel density / reference density); the horizontal and vertical coordinates of the starting point are: the distance from the control position to the right and bottom * (pixel density / reference density), and the horizontal and vertical coordinates of the end point are: starting point coordinates + control size * (pixel density / reference density); For example, if the display resolution of a smart POS is 720x1600, where 720 is the width of the display, 1600 is the height of the display, and the display size is 6.5 inches (diagonal length of the screen), the first calculated result (i.e., pixel px) is 1754. The second calculated result, obtained by dividing 1754 by 6.5, is approximately equal to 270. Based on 270, the pixel density is xhdpi (320 dpi) obtained by upward filing from the pixel density list (ldpi (120 dpi), dpi (base density 160), hdpi (240 dpi), xhdpi (320 dpi), xxhdpi (480 dpi), xxxhdpi (640 dpi). That is, 160dp (base key) = 320 px (pixel density). For example, the silicone keyboard marked F310P-6.5 uses the default rule of 1dp (device-independent pixel) = 2px (pixel density). The position is 20dp left and 20dp top, respectively. The touch window is set at the upper left corner (40px, 40px), and the touch window occupies a size of 720px * 800px on the display. Step 203: The upper layer application sends the touch window size and touch window position information of the touch window matrix to the SurfaceFlinger process of the operating system through the window manager, and the operating system draws the touch window by running the SurfaceFlinger process; In this embodiment, the upper-layer application confirms the placement area and size of the touch window on the display screen through the touch window size and position information. The operating system predicts the view tree, calculates the position and size of each window in DecorView, creates a Surface (that is, the content canvas to be displayed on the screen, using the confirmed rectangle), measures, lays out, and draws the canvas, and then notifies the WMS to display the calculated window size. The position of each control is redrawn. Step 204: The upper layer application renders and displays the touch window image through OpenGL (Open Graphics Library). Optionally, when the smart POS is connected to a silicone keyboard, if the touch window placement starting point is the upper left corner in the preset rule, the icons on the lower part of the touch screen may be blocked by the silicone keyboard; if the touch window placement starting point is the lower right corner in the preset rule, the icons on the upper part of the touch screen may move off the touch screen; Step 205: The kernel waits for user operation. When the kernel receives a touch signal, it obtains the coordinate information of the user touch position and determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If yes, it executes step 206; otherwise, it executes step 208. Step 206: The kernel determines the key value corresponding to the coordinate information based on the key matrix corresponding to each key of the silicone keyboard corresponding to the silicone keyboard identifier stored internally, and reports the determined key value to the upper-layer application through the input subsystem; like Figure 8As shown, the positions of the silicone buttons (1, 2, 3, 4, 5, 6, 7, 8, 9, 0, Up, Down, Cancel, Delete, Enter) in the button area are: {(70,1060)(110,1095)}, {(245,1060),(300,1095)}, {(425,1060),(480,1095)}, {(70,1160),(110,1230)}, {(245,1160),(300,1230)}, {(425,1160),(480,1230)}, {(70,130 0),(110,1330)},{(245,1300),(300,1330)},{(425,1300),(480,1330)},{(245,1400),(300,1450)},{(70,1400),(110,1450)},{(425,1400),(480,1450)},{(615,1060),(660,1095)},{(615,1180),(660,1220)},{(615,1300),(660,1435)}; The keys on the silicone keyboard in this embodiment may also include character keys, such as English characters and / or special characters (&, #, etc.); Specifically, in this embodiment, the kernel reports the determined key value to the upper layer application through the system function input_report_key; Step 207: The upper layer application receives the key value and saves it in the password storage area, and determines whether the password input is successful. If so, the upper layer application prompts the user that the password input is successful and the process ends. Otherwise, the process returns to step 205. Specifically, in this embodiment, step 207 includes: the upper-layer application receives the key value, determines the key type corresponding to the key value, and if it is a cancel key, voice prompts the user to cancel the operation, clears the data in the password storage area, and ends; if it is a character key, stores the received key value sequence in the password storage area, and voice broadcasts the sequence number of the key value in the password storage area (e.g., the sixth key, after hearing it, the visually impaired user knows that the confirmation key is required to confirm the password entry is complete), returns to step 205, and if it is a confirmation key, determines whether the length of the data in the password storage area meets the requirement (e.g., determines whether the length of the data in the password storage area is 6). If so, voice prompts the user that the password entry is complete, and ends; otherwise, an error is reported; Optionally, if it is determined that the length of the data in the password storage area does not meet the requirement, the data in the password storage area is cleared, the user is prompted to re-enter the password, and the process returns to step 205; Optionally, if the upper layer application determines that the key type corresponding to the key value is a character key, the method of this embodiment further includes: the upper layer application displays a preset character on the display screen of the smart POS; for example, the preset character is *; Step 208: The kernel reports the coordinate information and current touch status to the upper layer application; In this embodiment, the touch state includes lifting or pressing; Step 209: The upper layer application receives the coordinate information and performs corresponding operations according to the coordinate information; For example, when the user triggers the menu return key, the upper application returns and displays the upper level pattern.

[0027] Optionally, in this embodiment, if the user pulls out the silicone keyboard, the smart POS resumes full-screen display and executes steps 210 to 212; Step 210: The upper-layer application parses the silicone keyboard state switching notification and obtains the silicone keyboard state as unplugged. It generates a window state switching notification based on the silicone keyboard state and sends it to the input event callback of PWM (full name: PhoneWindowManager); For example, in this embodiment, the silicone keyboard status flag obtained by parsing in step 210 is 0; Specifically, in this embodiment, the upper layer application monitors the silicone keyboard status notification through the InputReader thread; distributes the input notification to the onInputEvent() callback of the PWM through the InputDispatcher; Step 211: PWM receives and parses the window state switching notification, saves the parsed silicone keyboard state, confirms that the pixel size of the silicone keyboard key area on the display screen of the smart POS is 0X00 based on the silicone keyboard state, and calls an interface to restore the touch window to full screen based on the pixel size of the key area and the display screen resolution of the smart POS; In this embodiment, step 211 includes: PWM calls the preset method setCoverState() to save the silicone keyboard unplugged state in the window state switching notification, and calls updateDisplayConfiguration{} to update the touch window of the smart POS; Specifically, call updateDisplayConfiguration{} to update the touch window of the smart POS, including: determining that the height of the key area of ​​the silicone keyboard on the smart POS display is 0 according to the state of the silicone keyboard, and calling WindowManagerService.relayoutWindow() to trigger window re-layout according to the height of the blocked area; Furthermore, WindowManagerService.relayoutWindow() is called according to the height of the occluded area to trigger window re-layout, including: adjusting the rectangular area Rect of the bottom margin in the WindowManagerService.relayoutWindow() method, mDisplayFrame.bottom-=coverHeight, traversing all WindowStates through performLayoutAndPlaceSurfacesLocked(), calling computeFrameLw() to calculate the new position of the touch window, generating the mWinAnimator.mSurfaceController update parameters of WindowStateAnimator, and calling SurfaceFlinger through JNI to update the interface of the smart POS touch window; Call SurfaceFlinger through JNI to update the graphical interface of the smart POS touch window. Specifically, WindowManagerService calls the setGeometry() method of SurfaceComposerClient in SurfaceFlinger through the nativeSetGeometry() method of SurfaceControl, updates the mBounds of Layer through SurfaceFlinger and marks it as eGeometryChanged at the same time, triggering the INVALIDATE phase of onMessageReceived() to complete the graphics synthesis rebuildLayerStacks(), and restores the smart POS full-screen touch window through the rendering of the GPU (English full name: Graphics Processing Unit, Chinese full name: graphics processor) and the display of the HWC (English full name: Hardware Composer, Chinese full name: hardware component).

[0028] In this example, when the silicone keyboard is pulled out, the touch window (i.e., the display screen) is 720 * 1600 in size, the starting coordinates of the touch window are (40px, 40px), and the touch window is set at the upper left corner (40px, 40px). The touch window occupies a screen size of 720px * 1600px. Example 3

[0029] Embodiment 3 of the present invention provides a data input device for a smart POS with a silicone keyboard, which is suitable for a system including a silicone keyboard and a smart POS, wherein the silicone keyboard and the smart POS can be fixed and connected for communication through a pogopin connector, or can be fixed through a magnet; when fixed through a magnet, the smart POS can detect the presence of a silicone keyboard on the outside through a light sensor, a Hall sensor, or an NFC module.

[0030] The device of this embodiment includes: A confirmation module, for confirming the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS when a silicone keyboard is detected on the outside of the smart POS; In this embodiment, the smart POS can be adapted to a variety of silicone keyboards. The confirmation module is specifically configured to obtain a silicone keyboard identifier from the silicone keyboard when a silicone keyboard is detected on the outside, and to confirm the corresponding silicone keyboard's key area and touch window matrix on the display screen of the smart POS according to the silicone keyboard identifier. Optionally, the silicone keyboard identifier may be a silicone keyboard device identifier, a device model, or a device size; Optionally, the smart POS pre-stores the key area and touch window matrix of the matching silicone keys on the display screen of the smart POS. If the smart POS is adaptable to a silicone keyboard, the confirmation module is specifically used to obtain the saved key area and touch window matrix of the silicone keyboard on the display screen of the smart POS when a silicone keyboard is detected on the outside of the smart POS; if the smart POS is adaptable to multiple silicone keyboards, the confirmation module is specifically used to obtain the silicone keyboard identifier from the silicone keyboard when a silicone keyboard is detected on the outside of the smart POS, and obtain the corresponding key area and touch window matrix of the silicone keyboard on the display screen of the smart POS from the smart POS according to the silicone keyboard identifier; In this embodiment, if the silicone keyboard and the smart POS can be fixed and connected for communication via the pogo pin connector, the confirmation module detects that there is a silicone keyboard on the outside of the smart POS. Specifically, when the confirmation module detects a change in external voltage through the detection pin through the kernel, the interrupt processing function is called to enter the interrupt processing. The interrupt processing includes: Step R1: The core delays for a first time period, obtains the input state of the detection pin, and determines whether the input state of the detection pin is a low level. If so, execute step R2; otherwise, execute step R3. Optionally, if the smart POS is compatible with multiple silicone keyboards, then when the judgment in step R1 is yes, the further step includes: the kernel obtaining a silicone keyboard identifier from the silicone keyboard; Step R2: The kernel creates a monitoring child thread, starts monitoring external USB device registration events through the monitoring child thread, and exits the interrupt processing; Step R3: The kernel determines whether the silicone keyboard state is inserted. If so, the kernel records the silicone keyboard state as unplugged. According to the silicone keyboard state, a silicone keyboard state switching notification is generated and reported to the upper layer application. The interrupt processing is exited. Otherwise, the interrupt processing is directly exited. When the monitoring child thread monitors the USB device registration event, execute step A1; Step A1: The monitoring sub-thread determines whether there is an accessory loading thread based on the accessory list. If yes, execute step A4; otherwise, execute step A2. Step A2: The monitoring sub-thread determines whether an accessory loading thread is detected in the accessory list within the second time period. If yes, execute step A4; otherwise, update the delay times and execute step A3; Step A3: The monitoring child thread determines whether the delay times reaches a second preset value, and if so, the monitoring child thread exits, otherwise, returns to step A1; Step A4: The monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification based on the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; Optionally, if the smart POS is adapted to multiple silicone keyboards, step A4 includes: the monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification according to the silicone keyboard identifier and the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; The upper-layer application receives a notification of switching the silicone keyboard status. If the silicone keyboard status in the notification is inserted, it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification is removed, it is determined that there is no silicone keyboard on the outside of the smart POS.

[0031] If the smart POS in this embodiment detects that there is a silicone keyboard on the outside through the light sensor, the Hall sensor, or the NFC module, then the smart POS detects that there is a silicone keyboard on the outside. Specifically, when the core of the smart POS detects a change in the external voltage through the detection pin, an interrupt processing function is called to enter interrupt processing. The interrupt processing includes: Step M: The kernel obtains the detection pin level of the light sensor and determines whether the detection pin level is low. If so, a notification including a switch silicone keyboard status notification indicating that the silicone keyboard status is inserted is reported to the upper-layer application of the smart POS and the interrupt is exited. Otherwise, a notification including a switch silicone keyboard status notification indicating that the silicone keyboard status is unplugged is reported to the upper-layer application of the smart POS and the interrupt is exited. Or, step N: the kernel obtains the status of the Hall sensor feedback, and determines whether the detection pin in the status of the Hall sensor feedback is at a high level. If so, a notification including a switching status of the silicone keyboard as inserted is reported to the upper-layer application of the smart POS, and the interrupt is exited. Otherwise, a notification including a switching status of the silicone keyboard as unplugged is reported to the upper-layer application of the smart POS, and the interrupt is exited. Or, step L: the kernel sends a request to obtain silicone keyboard data to the silicone keyboard through the NFC module, receives and parses the NFC tag information returned by the silicone keyboard through the NFC module, determines whether the silicone keyboard identifier obtained by the parsing is the first preset data, and if so, reports a switching silicone keyboard status notification including the silicone keyboard status being inserted to the upper-layer application of the smart POS and exits the interrupt; otherwise, reports a switching silicone keyboard status notification including the silicone keyboard status being unplugged to the upper-layer application of the smart POS and exits the interrupt; The upper-layer application receives a notification of switching the silicone keyboard status. If the silicone keyboard status in the notification is "inserted," it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification is "unplugged," it is determined that there is no silicone keyboard on the outside of the smart POS. Optionally, if the smart POS is compatible with multiple silicone keyboards, when the judgment in step N is yes, the kernel confirms the silicone keyboard identifier through the status feedback of the Hall sensor, writes the silicone keyboard identifier into the node, and the upper-layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard status; or, when the judgment in step L is yes, the kernel writes the parsed silicone keyboard identifier into the node, and the upper-layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard status.

[0032] Optionally, if the smart POS is compatible with multiple silicone keyboards, the confirmation of the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS in step S1 includes: the upper-layer application confirms the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier.

[0033] In this embodiment, the confirmation module is also used to parse the device tree through the kernel to obtain the detection pin information after the kernel is loaded; register the interrupt processing function required by the detection pin to generate an interrupt through the kernel, and initialize the interrupt processing function according to the detection pin information.

[0034] Optionally, if the smart POS is compatible with multiple silicone keyboards and the pixel size of each silicone keyboard is stored internally, the confirmation module is specifically used to obtain a silicone keyboard identifier from the silicone keyboard when a silicone keyboard is detected outside the smart POS, obtain the pixel size of the corresponding stored silicone keyboard according to the silicone keyboard identifier, calculate the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculate the touch window matrix according to the key area, where the touch window matrix includes window size and window position information; Or the size of each silicone keyboard is not saved in the smart POS, and the confirmation module is specifically used to obtain the pixel size of the silicone keyboard from the silicone keyboard when a silicone keyboard is detected outside the smart POS, calculate the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculate the touch window matrix according to the key area; The touch window matrix in this embodiment includes window size and window position information.

[0035] An adjustment module, configured to adjust a touch window on a display screen according to a touch window matrix; In this embodiment, the adjustment module is specifically used to send the touch window size and touch window position information of the touch window matrix to the SurfaceFlinger process of the operating system through the window manager. The operating system draws the touch window by running the SurfaceFlinger process and renders and displays the touch window image through OpenGL. The acquisition and judgment module is used to wait for user operation, obtain the coordinate information of the user's touch position when receiving the touch signal, and judge whether the user operation is within the corresponding key area of ​​the silicone keyboard on the POS display screen based on the coordinate information. If so, the determination module is triggered; otherwise, the corresponding operation is performed according to the coordinate information; Specifically, in this embodiment, the acquisition and judgment module is specifically used to wait for user operation through the kernel, and when a touch signal is received, obtain the coordinate information of the user touch position, and determine whether the user operation is within the corresponding key area of ​​the silicone keyboard on the POS display screen based on the coordinate information. If so, the determination module is triggered; otherwise, the coordinate information is returned to the upper-layer application of the smart POS, and the upper-layer application performs corresponding operations based on the coordinate information; A determination module, configured to determine a key value corresponding to the coordinate information based on a key matrix and coordinate information corresponding to each key of the silicone keyboard corresponding to the silicone keyboard identifier stored internally; Correspondingly, the determination module is specifically used to determine the key value corresponding to the coordinate information according to the key matrix corresponding to each key of the silicone keyboard stored internally through the kernel, and report the determined key value to the upper-layer application through the input subsystem; Optionally, if the smart POS is compatible with multiple silicone keyboards, the determination module is specifically used to obtain the key matrix corresponding to each key of the internally stored silicone keyboard according to the silicone keyboard identifier, and determine the key value corresponding to the coordinate information according to the key matrix and coordinate information corresponding to each key of the silicone keyboard; The storage module is used to store key values ​​in the storage area; In this embodiment, the storage module is specifically configured to receive the key value through an upper layer application and store it in a storage area.

[0036] In this embodiment, if the data input by the user is a password, the storage module is specifically used to save the key value in the password storage area, and determine whether the password input is successfully completed. If so, the user is prompted that the password input is successful and the process ends; otherwise, the acquisition determination module is triggered; Furthermore, the storage module is specifically used to determine the key type corresponding to the key value. If it is a cancel key, the user is prompted to cancel the operation, the data in the password storage area is cleared, and the operation ends. If it is a character key, the key value sequence is saved in the password storage area, the user is prompted that the current number input is completed, and the acquisition judgment module is triggered. If it is a confirmation key, whether the length of the data in the password storage area meets the requirements is determined. If so, the user is prompted that the password input is completed and the operation ends. Otherwise, an error is reported. Optionally, if a visually impaired user enters a password on the smart POS through the silicone keyboard, if the smart POS determines that the key type corresponding to the key value is a character key, it prompts the user that the current digital input is completed. Specifically, the smart POS voice broadcasts the serial number of the key value in the password storage area; Among them, prompting the user to cancel the operation and prompting the user to complete the password input are specifically: through voice prompts.

[0037] Optionally, if an ordinary user enters a password on the smart POS through the silicone keyboard, if the smart POS determines that the key type corresponding to the key value is a character key, it prompts the user that the current digital input is completed, specifically: the smart POS displays a preset character on the display screen; Among them, prompting the user to cancel the operation and prompting the user to complete the password input are specifically: through voice prompts or text prompts displayed on the display screen of the smart POS.

[0038] Optionally, in this embodiment, the device further includes: The removal confirmation module is used to confirm that the pixel size of the key area of ​​the silicone keyboard on the display screen of the smart POS is 0 according to the state of the silicone keyboard when the silicone keyboard outside the smart POS is detected to be removed; A recovery module is used to call an interface to restore the touch window to full screen according to the pixel size of the key area and the display resolution of the smart POS; The operation module is used to wait for user operation and perform corresponding operation when receiving operation information of the user touching the display screen.

[0039] Optionally, embodiments of the present application further provide an electronic device comprising at least one processor, memory, and instructions stored in the memory and executable by the at least one processor, wherein the at least one processor executes the instructions to implement the data input method for a smart POS device with a silicone keyboard described in the above embodiments. When the electronic device is a system-on-chip, it may be comprised solely of a chip or may include a chip and other discrete components, which is not specifically limited in the embodiments of the present application. The chip is coupled to the memory and is configured to execute a computer program stored in the memory to implement the data input method for a smart POS device with a silicone keyboard described in the above embodiments.

[0040] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs. When the computer program is loaded and executed on an electronic device, all or part of the processes or functions described in the embodiments of the present application are generated. The computer program can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one base station, electronic device, server, or data center to another base station, electronic device, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by the electronic device or a data storage device such as a server or data center that includes one or more media integrated therein. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive (SSD)). In the embodiments of the present application, the electronic device can include the device described above.

[0041] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art can understand and implement other changes to the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit can implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0042] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.

Claims

1. A data input method for an intelligent POS with a silicone keyboard, characterized in that: include: Step S1: When the smart POS detects that there is a silicone keyboard on the outside, confirm the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; Step S2: the smart POS adjusts the touch window on the display screen according to the touch window matrix; Step S3: The smart POS waits for user operation, and when receiving a touch signal, obtains coordinate information of the user touch position, and determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If yes, step S4 is executed; otherwise, corresponding operation is performed based on the coordinate information; Step S4: the smart POS determines the key value corresponding to the user's touch position based on the key matrix corresponding to each key of the silicone keyboard and the coordinate information stored internally; Step S5: The smart POS stores the key value in a storage area.

2. The method according to claim 1, wherein The step S1 is replaced by: when the smart POS detects that there is a silicone keyboard on the outside, obtaining the saved key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; Or, when the smart POS detects a silicone keyboard on the outside, it obtains a silicone keyboard identifier from the silicone keyboard, and obtains the corresponding button area and touch window matrix of the silicone keyboard on the display screen of the smart POS from the smart POS according to the silicone keyboard identifier.

3. The method according to claim 1, wherein The step S1 includes: when the smart POS detects that there is a silicone keyboard outside, obtaining a silicone keyboard identifier from the silicone keyboard, and confirming the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier.

4. The method according to claim 1, wherein The smart POS detects that there is a silicone keyboard outside, including: when the core of the smart POS detects a voltage change through the detection pin, calling an interrupt processing function to enter interrupt processing, the interrupt processing includes: Step R1: The core of the smart POS delays for a first time period, obtains the input state of the detection pin, and determines whether the input state of the detection pin is a low level. If yes, execute step R2; otherwise, execute step R3. Step R2: the kernel creates a monitoring sub-thread, starts monitoring external USB device registration events through the monitoring sub-thread, and exits interrupt processing; Step R3: The kernel determines whether the silicone keyboard state is inserted. If so, the kernel records the silicone keyboard state as unplugged. A silicone keyboard state switching notification is generated according to the silicone keyboard state and reported to the upper layer application of the smart POS, and the interrupt processing is exited. Otherwise, the interrupt processing is exited. When the monitoring sub-thread monitors the USB device registration event, step A1 is executed; Step A1: The monitoring sub-thread determines whether there is an accessory loading thread according to the accessory list, and if so, executes step A4; otherwise, executes step A2; Step A2: the monitoring sub-thread determines whether the accessory loading thread is detected in the accessory list within the second time period, and if so, executes step A4; otherwise, updates the delay times and executes step A3; Step A3: the monitoring sub-thread determines whether the delay times reaches a second preset value, and if so, the monitoring sub-thread exits, otherwise, step A1 is executed; Step A4: the monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification according to the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; The upper layer application of the smart POS receives the notification of switching the silicone keyboard status. If the silicone keyboard status in the notification of switching the silicone keyboard status is inserted, it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification of switching the silicone keyboard status is pulled out, it is determined that there is no silicone keyboard on the outside of the smart POS.

5. The method according to claim 4, wherein Also includes: Before executing step R2 in step R1, the process further includes: the kernel obtaining a silicone keyboard identifier from the silicone keyboard; The step A4 includes: the monitoring sub-thread records that the silicone keyboard state is inserted, generates a silicone keyboard state switching notification according to the silicone keyboard identifier and the silicone keyboard state, and reports it to the upper-layer application, and the monitoring sub-thread exits; The confirming of the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS includes: the upper layer application of the smart POS confirming the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier.

6. The method according to claim 1, wherein The smart POS detects that there is a silicone keyboard outside, including: when the core of the smart POS detects a change in external voltage through the detection pin, calling an interrupt processing function to enter interrupt processing, the interrupt processing includes: Step M: the kernel obtains the detection pin level of the light sensor and determines whether the detection pin level is low. If so, a notification including a switching silicone keyboard status notification indicating that the silicone keyboard status is inserted is reported to the upper layer application of the smart POS and the interrupt is exited. Otherwise, a notification including a switching silicone keyboard status notification indicating that the silicone keyboard status is unplugged is reported to the upper layer application of the smart POS and the interrupt is exited. Or Step N: the kernel obtains the state of the Hall sensor feedback, and determines whether the detection pin in the state of the Hall sensor feedback is at a high level. If so, a switching silicone keyboard state notification including the silicone keyboard state being inserted is reported to the upper-layer application of the smart POS, and the interrupt is exited. Otherwise, a switching silicone keyboard state notification including the silicone keyboard state being unplugged is reported to the upper-layer application of the smart POS, and the interrupt is exited; or Step L: the kernel sends a request to obtain silicone keyboard data to the silicone keyboard through the NFC module, receives and parses the NFC tag information returned by the silicone keyboard through the NFC module, and determines whether the silicone keyboard identifier obtained by parsing is the first preset data. If so, a notification is sent to the upper layer application of the smart POS, indicating that the silicone keyboard status is inserted, and the interrupt is exited. Otherwise, a notification is sent to the upper layer application of the smart POS, indicating that the silicone keyboard status is unplugged, and the interrupt is exited. The upper layer application of the smart POS receives the notification of switching the silicone keyboard status. If the silicone keyboard status in the notification of switching the silicone keyboard status is inserted, it is determined that there is a silicone keyboard on the outside of the smart POS. If the silicone keyboard status in the notification of switching the silicone keyboard status is pulled out, it is determined that there is no silicone keyboard on the outside of the smart POS.

7. The method according to claim 6, wherein Also includes: When the judgment in step N is yes, the kernel confirms the silicone keyboard identifier through the status feedback from the Hall sensor, writes the silicone keyboard identifier into the node, and the upper-layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard status; When the judgment in step L is yes, the kernel writes the resolved silicone keyboard identifier into the node, and the upper layer application reads the silicone keyboard identifier in the node after receiving the notification of switching the silicone keyboard state; The confirming of the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS includes: the upper layer application confirming the key area and touch window matrix of the corresponding silicone keyboard on the display screen of the smart POS according to the silicone keyboard identifier.

8. The method according to claim 4 or 6, wherein: Before step S1, the following steps are also included: Step T1: The kernel is loaded and the kernel parses the device tree to obtain the information of the detection pin; Step T2: the kernel registers the interrupt processing function required by the detection pin to generate an interrupt, and initializes the interrupt processing function according to the information of the detection pin.

9. The method according to claim 1, wherein The step S1 includes: when the smart POS detects that there is a silicone keyboard outside, obtaining a silicone keyboard identifier from the silicone keyboard, obtaining the corresponding saved pixel size of the silicone keyboard according to the silicone keyboard identifier, calculating the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculating a touch window matrix according to the key area, wherein the touch window matrix includes window pixel size and window position information, or When the smart POS detects a silicone keyboard on the outside, it obtains the pixel size of the silicone keyboard from the silicone keyboard, determines the key area of ​​the silicone keyboard on the display screen of the smart POS according to the pixel size of the silicone keyboard, and calculates the touch window matrix according to the key area.

10. The method according to claim 9, wherein The step S2 includes: the smart POS sends the window pixel size and window position information to the SurfaceFlinger process of the operating system through the window manager, the operating system draws the touch window by running the SurfaceFlinger process, and renders and displays the touch window image through OpenGL.

11. The method according to claim 1, wherein The step S3 includes: the core of the smart POS waits for user operation, obtains coordinate information of the user touch position when receiving a touch signal, determines whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information, and if so, executes step S4; otherwise, returns the coordinate information to the upper-layer application of the smart POS, and the upper-layer application performs corresponding operations based on the coordinate information; The step S4 includes: the kernel determining the key value corresponding to the coordinate information according to the key matrix corresponding to each key of the silicone keyboard stored internally, and reporting the key event and the determined key value to the upper layer application of the smart POS through the input subsystem; The step S5 includes: the upper layer application of the smart POS saves the received key value in a storage area.

12. The method according to claim 1, wherein The step S4 includes: the smart POS obtains a key matrix corresponding to each key of the internally stored silicone keyboard according to the silicone keyboard identifier, and determines the key value corresponding to the coordinate information according to the obtained key matrix corresponding to each key.

13. The method according to claim 1, wherein If the data input by the user is a password, the step S5 includes: the smart POS saves the key value in the password storage area, determines whether the password input is successful, and prompts the user that the password input is successful, and ends; otherwise, returns to step S3.

14. The method according to claim 13, wherein The step S5 specifically includes: the smart POS determines the key type corresponding to the key value; if it is a cancel key, prompts the user to cancel the operation, clears the data in the password storage area, and ends; if it is a character key, saves the key value sequence in the password storage area, prompts the user that the current number input is completed, and returns to step S3; if it is a confirm key, determines whether the length of the data in the password storage area meets the requirements; if so, prompts the user that the password input is completed, and ends; otherwise, an error is reported.

15. The method according to claim 14, wherein If the smart POS determines that the key type corresponding to the key value is a character key, the prompting of the user that the current digital input is completed is specifically: the smart POS announces the serial number of the key value in the password storage area, and / or the smart POS displays a preset character on the display screen.

16. The method according to claim 1, wherein Also includes: Step P1: When the smart POS detects that the outer silicone keyboard is pulled out, confirming that the pixel size of the key area of ​​the silicone keyboard on the display screen of the smart POS is 0X00 according to the state of the silicone keyboard; Step P2: the smart POS restores the touch window to full screen according to the pixel size of the key area and the display resolution of the smart POS; Step P3: The smart POS waits for user operation and performs corresponding operation when receiving operation information of the user touching the display screen.

17. A data input device for an intelligent POS with a silicone keyboard, characterized in that: include: A confirmation module, configured to, when detecting that a silicone keyboard is present on the outside of the smart POS, confirm the key area and touch window matrix of the silicone keyboard on the display screen of the smart POS; an adjusting module, configured to adjust the touch window on the display screen according to the touch window matrix; An acquisition and judgment module is used to wait for user operation, obtain coordinate information of the user's touch position when a touch signal is received, and determine whether the user operation is within the key area of ​​the silicone keyboard on the display screen of the smart POS based on the coordinate information. If so, the determination module is triggered; otherwise, a corresponding operation is performed based on the coordinate information; The determination module is used to determine the key value corresponding to the user touch position based on the key matrix corresponding to each key of the silicone keyboard and the coordinate information stored internally; The storage module is used to store the key value in a storage area.

18. An electronic device, characterized in that: The electronic device includes at least one processor, a memory, and instructions stored in the memory and executable by the at least one processor, and the at least one processor executes the instructions to implement the method according to any one of claims 1 to 16.

19. A computer-readable storage medium, characterized in that The computer-readable storage medium comprises a computer program, and when the computer program is run on an electronic device, the electronic device is caused to perform the method according to any one of claims 1 to 16.

20. A chip system, characterized in that: The device comprises a chip coupled to a memory and configured to execute a computer program stored in the memory to perform the method according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Password input method and terminal device

    CN111580737A

  • Layout adjusting method and device for keyboard panel, electronic equipment and storage medium

    CN112000272A

  • Touch screen information input method of intelligent equipment and intelligent equipment

    CN116627311A

  • Blind person input implementation method and device

    CN118466893A

  • POS touch screen-based auxiliary input frame-shaped bracket for blind people

    CN209216221U

Cited By

  • Keyboard ghost key processing method and device and keyboard

    CN121879592A