WO2015035609A1 - Method and device for simultaneously uploading keyboard key codes - Google Patents
Method and device for simultaneously uploading keyboard key codes Download PDFInfo
- Publication number
- WO2015035609A1 WO2015035609A1 PCT/CN2013/083475 CN2013083475W WO2015035609A1 WO 2015035609 A1 WO2015035609 A1 WO 2015035609A1 CN 2013083475 W CN2013083475 W CN 2013083475W WO 2015035609 A1 WO2015035609 A1 WO 2015035609A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- standard
- standard key
- keyboard
- key
- key code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Definitions
- the present invention relates to the field of keyboard key code uploading technology, and in particular, to a method and device for simultaneous uploading of keyboard key codes.
- keyboard key conflict means that when the user uses the computer device, the corresponding function key or combination key on the keypad is pressed, but the function cannot be implemented in the computer operating system, and the computer prompts the "beep" conflict prompt. sound. This is because when the user presses several key positions at the same time, a keyboard conflict occurs, and some of the keys are completely unresponsive. At present, every keyboard has more or less key position conflicts. Most ordinary keyboard keys can only support uploading 6 buttons at the same time without causing keyboard conflicts. A small number of game keyboards can be improved by technical improvement. Key or 24 key, but still can not achieve full keyboard upload at the same time without keyboard conflict.
- the object of the present invention is to provide a method and a device for simultaneously uploading a keyboard key code, which can realize full keyboard key code simultaneous upload without causing keyboard key conflict phenomenon in a compatible standard and non-standard BIOS environment.
- a method for simultaneously uploading a keyboard key code including:
- the USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a transmission standard key code function and a non-standard key command interface having a non-standard key code transmission function; and the number of standard keys less than or equal to the standard is obtained through the keyboard simultaneously a standard key command of the threshold, parsing the standard key command, and extracting a corresponding standard key code to be executed from the preset standard key code set, Uploading the standard key code to be executed to the host through a standard button command interface;
- the non-standard key command of the non-standard key number threshold is obtained through the keyboard, the non-standard key command is parsed, and the corresponding non-standard key code is extracted from the preset non-standard key code set, and the non-standard key command is adopted.
- the interface uploads the non-standard key code to be executed to the host.
- the method for simultaneously uploading the keyboard key code includes: establishing and storing a preset standard key code set corresponding to the standard key command and the standard key code information; establishing and storing the non-standard key command and the non-standard key code information corresponding to A preset set of non-standard key codes.
- the method for simultaneously uploading the keyboard key code includes: setting a standard button number threshold and a non-standard button number threshold.
- the threshold number of the standard buttons is 6.
- the threshold of the number of non-standard buttons is 7.
- a device for simultaneously uploading a keyboard key code which comprises a standard key command interface with a transmission standard key code function and a non-standard key code function for transmitting a USB data transmission channel between a keyboard and a host.
- Non-standard key command interface for simultaneously uploading a keyboard key code
- the standard button instruction interface is configured to upload a standard button code to be executed corresponding to a standard button instruction that is equal to or less than a threshold value of a standard button number to the host through the keyboard; the non-standard button instruction interface is used for uploading through the keyboard to obtain greater than or equal to The non-standard key command corresponding to the non-standard button number threshold corresponds to the non-standard key code to be executed to the host;
- Receive standard button command unit Used to obtain standard button commands that are less than or equal to the standard button number threshold through the keyboard.
- Parsing the standard button command unit for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set, Receiving a non-standard key command unit: for obtaining a non-standard key command that is greater than or equal to a threshold value of a non-standard key by a keyboard,
- the non-standard key instruction unit is parsed: configured to parse the non-standard key instruction and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
- the device for simultaneously uploading the keyboard key code includes:
- Preset standard key code set generation unit used to establish and store a preset standard key code set corresponding to the standard key command and the standard key code information;
- the preset non-standard key code set generating unit is configured to establish and store a preset non-standard key code set corresponding to the non-standard key command and the non-standard key code information.
- the device for simultaneously uploading the keyboard key code includes setting a threshold unit: for setting a standard button number threshold and a non-standard button number threshold.
- the threshold number of the standard buttons is 6.
- the threshold of the number of non-standard buttons is 7.
- the invention has the following advantages: a method and a device for simultaneously uploading a keyboard key code, and enumerating a USB data transmission channel between the keyboard and the host as a standard key command interface having a transmission standard key code function and having a non-standard transfer key
- the non-standard key command interface of the encoding function after obtaining and parsing the standard key command, extracting the corresponding standard key code to be executed, uploading to the host through the standard key command interface; obtaining and parsing the non-standard key command and extracting the corresponding non-standard key to be executed
- the code is uploaded to the host through a non-standard button command interface.
- the USB device of the keyboard respectively enumerates a standard button instruction for uploading a threshold value equal to or less than the standard number of buttons through the keyboard, and a non-standard button command for uploading a threshold value of the number of non-standard buttons simultaneously and through the keyboard, when the user simultaneously
- the standard key command interface and the non-standard key command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions are simultaneously performed,
- the standard and non-standard BIOS environment the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
- FIG. 1 is a schematic flowchart of a method for simultaneously uploading a keyboard key code according to Embodiment 1 of the present invention
- FIG. 2 is a schematic flowchart of a method for simultaneously uploading a keyboard key code according to Embodiment 2 of the present invention
- FIG. 3 is a schematic diagram of Embodiment 3 of the present invention
- FIG. 4 is a schematic structural diagram of a device for simultaneously uploading a keyboard key code according to Embodiment 4 of the present invention.
- FIG. 1 is a schematic flowchart of a method for simultaneously uploading a keyboard key code provided by Embodiment 1 of the present invention
- a method for simultaneously uploading a keyboard key code including the following steps:
- the USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a function of transmitting a standard key code function and a non-standard key command interface having a function of transmitting a non-standard key code;
- the USB data transmission channel between the keyboard and the host is abstracted into a standard key command interface with a transmission standard key code function and a non-standard key command interface with a non-standard key code transmission function.
- the USB data transmission channel refers to: a keyboard side USB driver, a keyboard USB terminal, a host USB terminal, and a data transmission channel including a USB data line between the two USB terminals.
- the enumeration process is specifically as follows: First, the keyboard side defines a keyboard USB end point for transmitting data as a keyboard USB interface, and connects the keyboard USB end point to the USB end point of the host through the USB data line, after which the host sends a request to the keyboard, Requesting to obtain the keyboard information of the connected keyboard USB interface; after receiving the request, the keyboard sends the requested keyboard information to the host, and then the host obtains the information and determines the keyboard USB driver that can be provided according to the information, and loads the corresponding USB standard keyboard USB driver; Finally, after obtaining the keyboard information including the HID report descriptor, the host thinks that the information of the connected keyboard USB interface is complete, and the keyboard is configured by the keyboard USB driver, and the keyboard can be configured successfully.
- USB data transmission channel between the keyboard and the host can be enumerated as a standard key command interface with a standard key encoding function and a non-standard key command interface with a non-standard key encoding function. .
- the keyboard information includes the HID report descriptor of the keyboard, and the HID report descriptor is a descriptor required when the device is defined as an HID device.
- This descriptor indicates that the device supports the version number of the USB protocol, and whether there is a proprietary descriptor. , the feature definition of the descriptor, and the organization of the data when communicating between the defined host and device.
- the standard key command interface of this embodiment uses a standard HID report descriptor, and the non-standard key command interface uses a non-standard HID report descriptor.
- the standard HID report descriptor is a general keyboard report descriptor.
- the first few examples are as follows: Item Tag(Value) Raw Date Usage Page (Generic Desktop) 05 01
- Input (Data, Var, Abs, NVVrp, Lin, Pref, Li ul, Bit) 81 02
- the above items describe an input field, a total of 8 bits, each bit represents a button from the left ctrl key Go to the right GUI button. These 8 bits just form a byte, which is located in the first byte of the report. Its lowest bit, bit-0, corresponds to the left ctrl key. If the returned data is 1, the left ctrl key is pressed. Otherwise, the left ctrl key is not pressed. Its highest bit, bit-7, indicates the press of the right GUI key.
- the middle bits need to be determined according to the HID Usage Tables specified in the HID protocol. Usually used to represent special keys, such as ctrl , shift , del , etc.
- the non-standard HID report descriptor used by the non-standard key command interface is a non-universal keyboard report descriptor, which varies according to different BIOS programs in a non-standard BIOS environment.
- the first few examples are as follows: Item Tag(Value) Raw Date
- the command that is less than or equal to the threshold number of standard buttons is a standard button command
- the standard button command interface is a standard HID keyboard interface, which can be used in all BIOS environments compatible with the USB HID keyboard.
- the HID report descriptor for the standard button command interface uses a generic keyboard report descriptor.
- the instruction that obtains the threshold of the number of non-standard buttons is a non-standard button command
- the non-standard button command interface is a non-standard HID keyboard interface, which can be used in all compatible non-standard USB HID keyboards. Used in the BIOS environment.
- the HID report descriptor for the non-standard key command interface uses a non-standard keyboard report descriptor.
- the non-standard button command is an instruction that is greater than or equal to the threshold of the number of non-standard buttons
- the non-standard button command may be an instruction for the number of full keyboard buttons.
- the non-standard key command of the threshold when the user simultaneously inputs a plurality of key commands through the keyboard, the standard button command interface and the non-standard button command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions simultaneously In the compatible standard and non-standard BIOS environment, the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
- BIOS Basic Input Output System
- BIOS Basic Input Output System
- BIOS programs used on the computer are divided into: AWARD BIOS, AMI BIOS, PHOENIX BIOS, and other jumper-free BIOS programs and brand-specific BIOS programs such as IBM.
- AWARD BIOS AMI BIOS
- PHOENIX BIOS AMI BIOS
- PHOENIX BIOS has incorporated AWARD, so in terms of desktop boards, although it is labeled AWARD-PHOENIX, it is actually AWARD's BI0S.
- PHOENIX BIOS is mostly used on high-end 586 original brand machines and laptops, and its screen is simple and easy to operate. Except for the three major types of motherboard BIOS programs are standard BIOS environments, other BIOS programs are non-standard BIOS environments.
- FIG. 2 it is a schematic flowchart of a method for uploading a keyboard key code simultaneously according to Embodiment 2 of the present invention; this embodiment adds a preset standard key code set, a preset non-standard key code set, Set the standard button number threshold and set the non-standard button number threshold.
- a method for simultaneously uploading a keyboard key code including the following steps:
- S201 Create and store a preset standard button code set corresponding to the standard button command and the standard button code information; establish and store a preset non-standard button code set corresponding to the non-standard button command and the non-standard button code information.
- the standard key code information is a plurality of key commands less than or equal to the threshold number of the standard key, including the coded information of each key and a combined sequence of a plurality of keys; the non-standard key coded information is a number of thresholds equal to or greater than the number of non-standard keys
- the key command includes the coding information of each key and a combined sequence of several keys.
- the keyboard is divided into an encoded keyboard and a non-encoded keyboard.
- the coded keyboard relies mainly on a dedicated large-scale integrated circuit to perform scanning, encoding, and transmission functions.
- a complete keyboard control circuit consists of a key matrix, a clock generator and a main IC.
- the key matrix is fabricated on the circuit board.
- the clock generator is used to generate a series of regular pulses. It determines the frequency of the main IC scan key matrix. All the working steps of the keyboard control circuit must be based on the rhythm sent by the clock generator. get on.
- the main IC sends a scan signal to the row or column of the key matrix row by row or column according to the uninterrupted pulse frequency sent by the clock generator; when a key is pressed, the corresponding scan signal is A cross-connected signal is detected by the detecting circuit in the row or column direction, and the cross-connect signal determines the coordinate position of the key; the cross-connect signal is sent to the main ic, and the encoded information of the key is generated after passing through the internal encoding circuit. , such as the ASCI I code.
- the non-encoded keyboard does not directly provide the coding information of the button, but uses relatively simple hardware and a set of special programs to identify the position of the button.
- Non-encoded keyboards use software-driven hardware to perform functions such as scanning, encoding, and transfer. This program is called a keyboard handler.
- the entire keyboard processing program consists of three parts: the query program, the transfer program, and the decoding program.
- the main program first calls the query program, scans the key matrix matrix line by line through the query interface, and simultaneously detects the output of the row and column, which is determined by the intersection signal of the row and the column.
- the coordinates of a closed key that is, the scan code corresponding to the button; the main program calls the transfer program to transfer the obtained scan code to the keyboard interface circuit located in the host; the main program calls the decoding program to translate the scan code in the keyboard interface into The encoding information of the corresponding key.
- the threshold number of the standard buttons is 6, and the threshold of the number of non-standard buttons is 7.
- the threshold number of the standard button may also be 12 or 24, and the corresponding threshold number of the non-standard buttons is 13 or 25 ⁇ .
- the USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a transmission standard key code function and a non-standard key command interface having a non-standard key code transmission function;
- a typical USB device requires a "driver” that provides a data transfer path from the application software to the USB device, but the driver programming technique is complex and can cause the system to crash if an error occurs.
- the operating system provides built-in drivers for some typical USB devices such as HID devices (Human Interface Device, which refers to devices that interact directly with people, such as mice, keyboards, etc.), USB HID devices.
- HID devices Human Interface Device, which refers to devices that interact directly with people, such as mice, keyboards, etc.
- USB HID devices USB HID devices.
- These data are descriptors.
- a descriptor is a data result or a formatted block of information that makes the host aware of the device. Each descriptor contains information about the device as a whole or an element. All USB peripherals must respond to requests for standard USB HID report descriptors. The host uses control transfers during
- the standard key code is to be executed to the host; S205.
- the key command interface uploads the non-standard key code to be executed to the host.
- the keyboard of the embodiment can simultaneously upload all key key values to the PC system in a compatible standard or non-standard BIOS environment, and realize the function that all the keys are pressed at the same time without generating keyboard key conflict phenomenon, and can also be in different standards. Or use in a non-standard BIOS environment, and upload multiple key values to the PC system at the same time.
- the following is an embodiment of an apparatus for simultaneously uploading a keyboard key code according to an embodiment of the present invention.
- the embodiment of the device for simultaneously uploading the keyboard key code and the method for uploading the keyboard key code at the same time belong to the same concept, and the details of the device that is not described in detail in the embodiment of the device for simultaneously uploading the keyboard key code can refer to the above keyboard key code.
- Method embodiments for simultaneous uploading can refer to the above keyboard key code.
- FIG. 3 is a schematic structural diagram of an apparatus for simultaneously uploading a keyboard key code provided by Embodiment 3 of the present invention
- a device for simultaneously uploading a keyboard key code comprising a standard key command interface 301 having a function of transmitting a standard key code and a non-standard button having a function of transmitting a non-standard key code, which are obtained by enumerating a USB data transmission channel between a keyboard and a host Instruction interface 302;
- the standard key command interface 301 is configured to upload a standard key code to be executed corresponding to a standard key command that is equal to or less than a standard number of key thresholds to the host through the keyboard; and the non-standard key command interface 302 is used for uploading through the keyboard.
- a non-standard key code corresponding to a non-standard key command that is greater than or equal to a non-standard button number threshold is encoded to the host;
- Receiving a standard button instruction unit 303 for simultaneously obtaining the number of standard buttons less than or equal to the number of keys through the keyboard Standard key command for threshold,
- Parsing the standard button command unit 304 for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set,
- Receiving a non-standard button command unit 305 for obtaining a non-standard button command that is greater than or equal to a non-standard button number threshold through the keyboard,
- the non-standard key command unit 306 is configured to parse the non-standard key command and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
- a device for simultaneously uploading a keyboard key code wherein the USB device of the keyboard respectively enumerates a standard key command for uploading a threshold value equal to or less than a standard number of keys through a keyboard, and a number of non-standard keys for uploading through the keyboard simultaneously
- the non-standard key command of the threshold when the user simultaneously inputs a plurality of key commands through the keyboard, the standard button command interface and the non-standard button command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions simultaneously
- the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
- FIG. 4 it is a schematic structural diagram of a device for simultaneously uploading a keyboard key code according to Embodiment 4 of the present invention; in this embodiment, a preset standard key code set generation unit 403 and a preset non-standard key code set generation unit 402 are added. And setting the threshold unit 401.
- a device for simultaneously uploading a keyboard key code comprising a standard key command interface 301 having a function of transmitting a standard key code and a non-standard button having a function of transmitting a non-standard key code, which are obtained by enumerating a USB data transmission channel between a keyboard and a host Instruction interface 302;
- the standard key command interface 301 is configured to upload a standard key code to be executed corresponding to a standard key command that is equal to or less than a standard number of key thresholds to the host through the keyboard; and the non-standard key command interface 302 is used for uploading through the keyboard.
- Non-standard that is greater than or equal to the threshold of the number of non-standard buttons a non-standard key code to be executed corresponding to the quasi-key command to the host;
- Receiving a standard button command unit 303 for obtaining a standard button command that is less than or equal to the threshold number of standard buttons simultaneously through the keyboard,
- Parsing the standard button command unit 304 for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set,
- Receiving a non-standard button command unit 305 for obtaining a non-standard button command that is greater than or equal to a non-standard button number threshold through the keyboard,
- the non-standard key command unit 306 is configured to parse the non-standard key command and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
- the device for simultaneously uploading the keyboard key code includes:
- a preset standard key code set generating unit 403 configured to establish and store a preset standard key code set corresponding to the standard key command and the standard key code information;
- the preset non-standard key code set generating unit 402 is configured to establish and store a preset non-standard key code set corresponding to the non-standard key command and the non-standard key code information.
- the device for simultaneously uploading the keyboard key code includes a setting threshold unit 401 for setting a standard button number threshold and a non-standard button number threshold.
- the threshold number of the standard buttons is 6, and the threshold of the number of non-standard buttons is 7.
- the threshold number of the standard button may also be 12 or 24, and the corresponding threshold number of the non-standard buttons is 13 or 25 ⁇ .
- the keyboard of the embodiment can simultaneously upload all key key values to the PC system in a compatible standard or non-standard BIOS environment, and realize the function that all the keys are pressed at the same time without generating keyboard key conflict phenomenon, and can also be in different standards. Or use in a non-standard BIOS environment, while on the PC system Pass multiple key key values.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
Description
一种键盘按键编码同时上传的方法和装置 技术领域 Method and device for simultaneously uploading keyboard key code
本发明涉及键盘按键编码上传技术领域, 尤其涉及一种键盘按键编码同时 上传的方法和装置。 The present invention relates to the field of keyboard key code uploading technology, and in particular, to a method and device for simultaneous uploading of keyboard key codes.
背景技术 Background technique
作为最常用的输入设备, 键盘最能影响用户使用电脑的感受。 所谓 "键盘 按键冲突"就是用户在使用计算机设备时, 按下键板上对应的功能键或者组合 键, 却无法在电脑操作系统中实现这一功能, 取而代之的是电脑发出 "嘟" 的 冲突提示音。 这是因为在用户同时按下几个键位的时候, 产生了键盘冲突, 某 些键位会完全没有反应。 目前市场上, 每一块键盘都或多或少的存在键位冲突 的情况, 大部分普通键盘的按键只能支持同时上传 6个按键而不产生键盘冲突, 少部分游戏键盘经过技术改进可以达到 12键或 24键, 不过还是仍然无法实现 全键盘同时上传而不发生键盘冲突现象。 As the most commonly used input device, the keyboard can best affect the user's experience with the computer. The so-called "keyboard key conflict" means that when the user uses the computer device, the corresponding function key or combination key on the keypad is pressed, but the function cannot be implemented in the computer operating system, and the computer prompts the "beep" conflict prompt. sound. This is because when the user presses several key positions at the same time, a keyboard conflict occurs, and some of the keys are completely unresponsive. At present, every keyboard has more or less key position conflicts. Most ordinary keyboard keys can only support uploading 6 buttons at the same time without causing keyboard conflicts. A small number of game keyboards can be improved by technical improvement. Key or 24 key, but still can not achieve full keyboard upload at the same time without keyboard conflict.
发明内容 Summary of the invention
本发明的目的在于提出一种键盘按键编码同时上传的方法和装置, 能够实 现在兼容标准和非标准的 BIOS环境下, 全键盘按键编码同时上传而不产生键盘 按键冲突现象。 The object of the present invention is to provide a method and a device for simultaneously uploading a keyboard key code, which can realize full keyboard key code simultaneous upload without causing keyboard key conflict phenomenon in a compatible standard and non-standard BIOS environment.
为达此目的, 本发明采用以下技术方案: To this end, the present invention employs the following technical solutions:
第一方面, 提供一种键盘按键编码同时上传的方法, 包括: In a first aspect, a method for simultaneously uploading a keyboard key code is provided, including:
将键盘和主机之间的 USB数据传输通道枚举为具有传输标准按键编码功能 的标准按键指令接口和具有传输非标准按键编码功能的非标准按键指令接口; 通过键盘同时获得小于等于标准按键个数阈值的标准按键指令, 解析所述 标准按键指令并从预设标准按键编码集合中提取相应的待执行标准按键编码, 通过标准按键指令接口上传所述待执行标准按键编码至主机; The USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a transmission standard key code function and a non-standard key command interface having a non-standard key code transmission function; and the number of standard keys less than or equal to the standard is obtained through the keyboard simultaneously a standard key command of the threshold, parsing the standard key command, and extracting a corresponding standard key code to be executed from the preset standard key code set, Uploading the standard key code to be executed to the host through a standard button command interface;
通过键盘同时获得大于等于非标准按键个数阈值的非标准按键指令, 解析 所述非标准按键指令并从预设非标准按键编码集合中提取相应的待执行非标准 按键编码,通过非标准按键指令接口上传所述待执行非标准按键编码至主机。 The non-standard key command of the non-standard key number threshold is obtained through the keyboard, the non-standard key command is parsed, and the corresponding non-standard key code is extracted from the preset non-standard key code set, and the non-standard key command is adopted. The interface uploads the non-standard key code to be executed to the host.
其中, 所述的键盘按键编码同时上传的方法, 还包括: 建立并存储标准按 键指令和标准按键编码信息对应的预设标准按键编码集合; 建立并存储非标准 按键指令和非标准按键编码信息对应的预设非标准按键编码集合。 The method for simultaneously uploading the keyboard key code includes: establishing and storing a preset standard key code set corresponding to the standard key command and the standard key code information; establishing and storing the non-standard key command and the non-standard key code information corresponding to A preset set of non-standard key codes.
其中, 所述的键盘按键编码同时上传的方法, 还包括: 设置标准按键个数 阈值和非标准按键个数阈值。 The method for simultaneously uploading the keyboard key code includes: setting a standard button number threshold and a non-standard button number threshold.
其中, 所述标准按键个数阈值为 6。 The threshold number of the standard buttons is 6.
其中, 所述非标准按键个数阈值为 7。 The threshold of the number of non-standard buttons is 7.
第二方面, 提供一种键盘按键编码同时上传的装置, 包括将键盘和主机之 间的 USB数据传输通道枚举得到的具有传输标准按键编码功能的标准按键指令 接口和具有传输非标准按键编码功能的非标准按键指令接口; In a second aspect, a device for simultaneously uploading a keyboard key code is provided, which comprises a standard key command interface with a transmission standard key code function and a non-standard key code function for transmitting a USB data transmission channel between a keyboard and a host. Non-standard key command interface;
所述标准按键指令接口用于上传通过键盘同时获得小于等于标准按键个数 阈值的标准按键指令对应的待执行标准按键编码至主机; 所述非标准按键指令 接口用于上传通过键盘同时获得大于等于非标准按键个数阈值的非标准按键指 令对应的待执行非标准按键编码至主机; The standard button instruction interface is configured to upload a standard button code to be executed corresponding to a standard button instruction that is equal to or less than a threshold value of a standard button number to the host through the keyboard; the non-standard button instruction interface is used for uploading through the keyboard to obtain greater than or equal to The non-standard key command corresponding to the non-standard button number threshold corresponds to the non-standard key code to be executed to the host;
还包括: Also includes:
接收标准按键指令单元: 用于通过键盘同时获得小于等于标准按键个数阈 值的标准按键指令, Receive standard button command unit: Used to obtain standard button commands that are less than or equal to the standard button number threshold through the keyboard.
解析标准按键指令单元: 用于解析所述标准按键指令并从预设标准按键编 码集合中提取相应的待执行标准按键编码, 接收非标准按键指令单元: 用于通过键盘同时获得大于等于非标准按键个 数阈值的非标准按键指令, Parsing the standard button command unit: for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set, Receiving a non-standard key command unit: for obtaining a non-standard key command that is greater than or equal to a threshold value of a non-standard key by a keyboard,
解析非标准按键指令单元: 用于解析所述非标准按键指令并从预设非标准 按键编码集合中提取相应的待执行非标准按键编码。 The non-standard key instruction unit is parsed: configured to parse the non-standard key instruction and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
其中, 所述的键盘按键编码同时上传的装置, 还包括: The device for simultaneously uploading the keyboard key code includes:
预设标准按键编码集合生成单元: 用于建立并存储标准按键指令和标准按 键编码信息对应的预设标准按键编码集合; Preset standard key code set generation unit: used to establish and store a preset standard key code set corresponding to the standard key command and the standard key code information;
预设非标准按键编码集合生成单元: 用于建立并存储非标准按键指令和非 标准按键编码信息对应的预设非标准按键编码集合。 The preset non-standard key code set generating unit is configured to establish and store a preset non-standard key code set corresponding to the non-standard key command and the non-standard key code information.
其中, 所述的键盘按键编码同时上传的装置, 还包括设置阈值单元: 用于 设置标准按键个数阈值和非标准按键个数阈值。 The device for simultaneously uploading the keyboard key code includes setting a threshold unit: for setting a standard button number threshold and a non-standard button number threshold.
其中, 所述标准按键个数阈值为 6。 The threshold number of the standard buttons is 6.
其中, 所述非标准按键个数阈值为 7。 The threshold of the number of non-standard buttons is 7.
本发明的有益效果在于: 一种键盘按键编码同时上传的方法和装置, 将键 盘和主机之间的 USB数据传输通道枚举为具有传输标准按键编码功能的标准按 键指令接口和具有传输非标准按键编码功能的非标准按键指令接口; 获得并解 析标准按键指令后提取相应的待执行标准按键编码, 通过标准按键指令接口上 传至主机; 获得并解析非标准按键指令后提取相应的待执行非标准按键编码,通 过非标准按键指令接口上传至主机。 键盘的 USB设备分别枚举用于上传通过键 盘同时获得小于等于标准按键个数阈值的标准按键指令和用于上传通过键盘同 时获得大于等于非标准按键个数阈值的非标准按键指令,当用户同时通过键盘 进行若干个按键指令输入时, 标准按键指令接口和非标准按键指令接口分别在 键盘和主机之间的 USB数据传输通道中传输信息, 两个动作同时进行, 实现在 兼容标准和非标准的 BIOS环境下, 全键盘按键编码同时上传, 不产生键盘按键 冲突现象。 The invention has the following advantages: a method and a device for simultaneously uploading a keyboard key code, and enumerating a USB data transmission channel between the keyboard and the host as a standard key command interface having a transmission standard key code function and having a non-standard transfer key The non-standard key command interface of the encoding function; after obtaining and parsing the standard key command, extracting the corresponding standard key code to be executed, uploading to the host through the standard key command interface; obtaining and parsing the non-standard key command and extracting the corresponding non-standard key to be executed The code is uploaded to the host through a non-standard button command interface. The USB device of the keyboard respectively enumerates a standard button instruction for uploading a threshold value equal to or less than the standard number of buttons through the keyboard, and a non-standard button command for uploading a threshold value of the number of non-standard buttons simultaneously and through the keyboard, when the user simultaneously When a plurality of key command inputs are made through the keyboard, the standard key command interface and the non-standard key command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions are simultaneously performed, In the standard and non-standard BIOS environment, the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例中的技术方案, 下面将对本发明实施例描 述中所需要使用的附图作简单的介绍, 显而易见地, 下面描述中的附图仅仅是 本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据本发明实施例的内容和这些附图获得其他的附图。 In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following drawings will be briefly introduced in the description of the embodiments of the present invention. It is obvious that the drawings in the following description are only some embodiments of the present invention. For those skilled in the art, other drawings may be obtained according to the contents of the embodiments of the present invention and the drawings without any creative work.
图 1是本发明实施例 1提供的键盘按键编码同时上传的方法的流程示意图; 图 2是本发明实施例 2提供的键盘按键编码同时上传的方法的流程示意图; 图 3是本发明实施例 3提供的键盘按键编码同时上传的装置的结构示意图; 图 4是本发明实施例 4提供的键盘按键编码同时上传的装置的结构示意图。 具体实施方式 1 is a schematic flowchart of a method for simultaneously uploading a keyboard key code according to Embodiment 1 of the present invention; FIG. 2 is a schematic flowchart of a method for simultaneously uploading a keyboard key code according to Embodiment 2 of the present invention; FIG. 3 is a schematic diagram of Embodiment 3 of the present invention; FIG. 4 is a schematic structural diagram of a device for simultaneously uploading a keyboard key code according to Embodiment 4 of the present invention. FIG. detailed description
为使本发明解决的技术问题、 采用的技术方案和达到的技术效果更加清楚, 下面将结合附图对本发明实施例的技术方案作进一歩的详细描述, 显然, 所描 述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中 的实施例, 本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例, 都属于本发明保护的范围。 The technical solutions of the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Some embodiments, rather than all of the embodiments, are invented. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
如图 1所示, 为本发明实施例 1提供的键盘按键编码同时上传的方法的流 程示意图; FIG. 1 is a schematic flowchart of a method for simultaneously uploading a keyboard key code provided by Embodiment 1 of the present invention;
提供一种键盘按键编码同时上传的方法, 包括如下歩骤: A method for simultaneously uploading a keyboard key code is provided, including the following steps:
S101、 将键盘和主机之间的 USB数据传输通道枚举为具有传输标准按键编 码功能的标准按键指令接口和具有传输非标准按键编码功能的非标准按键指令 接口; 根据 USB规范中 USB键盘应用方法, 将键盘和主机之间的 USB数据传输通 道抽象成一个具有传输标准按键编码功能的标准按键指令接口和一个具有传输 非标准按键编码功能的非标准按键指令接口。 所述 USB数据传输通道指: 键盘 侧 USB驱动、 键盘的 USB端点、 主机的 USB端点、 以及两个 USB端点之间的包 括 USB数据线在内的数据传输通道。 S101. The USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a function of transmitting a standard key code function and a non-standard key command interface having a function of transmitting a non-standard key code; According to the USB keyboard application method in the USB specification, the USB data transmission channel between the keyboard and the host is abstracted into a standard key command interface with a transmission standard key code function and a non-standard key command interface with a non-standard key code transmission function. The USB data transmission channel refers to: a keyboard side USB driver, a keyboard USB terminal, a host USB terminal, and a data transmission channel including a USB data line between the two USB terminals.
所述枚举过程具体为: 首先, 键盘侧将传输数据的键盘 USB端点定义为一 个键盘 USB接口, 并将键盘 USB端点通过 USB数据线连接到主机的 USB端点, 之后, 主机向键盘发送请求, 请求获得所连接的键盘 USB接口的键盘信息; 键 盘在收到请求后, 向主机发送所请求的键盘信息, 然后, 主机在获得这些信息 并根据此信息确定能够提供的键盘 USB驱动,加载相应符合 USB规范的键盘 USB 驱动; 最终, 主机在得到包括 HID报告描述符的键盘信息之后, 认为所连接的 键盘 USB接口的信息已经齐全, 便由键盘 USB驱动对键盘进行配置, 配置成功 即可实现键盘与主机之间的数据传输。 至此, 枚举过程结束。 经过 2 次类似的 枚举过程就可实现将键盘和主机之间的 USB数据传输通道枚举为具有传输标准 按键编码功能的标准按键指令接口和具有传输非标准按键编码功能的非标准按 键指令接口。 The enumeration process is specifically as follows: First, the keyboard side defines a keyboard USB end point for transmitting data as a keyboard USB interface, and connects the keyboard USB end point to the USB end point of the host through the USB data line, after which the host sends a request to the keyboard, Requesting to obtain the keyboard information of the connected keyboard USB interface; after receiving the request, the keyboard sends the requested keyboard information to the host, and then the host obtains the information and determines the keyboard USB driver that can be provided according to the information, and loads the corresponding USB standard keyboard USB driver; Finally, after obtaining the keyboard information including the HID report descriptor, the host thinks that the information of the connected keyboard USB interface is complete, and the keyboard is configured by the keyboard USB driver, and the keyboard can be configured successfully. Data transfer with the host. At this point, the enumeration process ends. After two similar enumeration processes, the USB data transmission channel between the keyboard and the host can be enumerated as a standard key command interface with a standard key encoding function and a non-standard key command interface with a non-standard key encoding function. .
键盘信息中包括键盘的 HID报告描述符, HID报告描述符是当设备被定义为 一个 HID设备时才需要的描述符, 这个描述符表明这个设备支持 USB协议的版 本号, 是否有专有描述符, 对描述符的特征限定, 以及定义的主机和设备之间 通信时数据的组织方式。 本实施例的标准按键指令接口采用标准 HID报告描述 符, 非标准按键指令接口采用非标准 HID报告描述符。 The keyboard information includes the HID report descriptor of the keyboard, and the HID report descriptor is a descriptor required when the device is defined as an HID device. This descriptor indicates that the device supports the version number of the USB protocol, and whether there is a proprietary descriptor. , the feature definition of the descriptor, and the organization of the data when communicating between the defined host and device. The standard key command interface of this embodiment uses a standard HID report descriptor, and the non-standard key command interface uses a non-standard HID report descriptor.
所述的标准 HID报告描述符为通用的键盘报告描述符, 前几项举例如下: Item Tag(Value) Raw Date Usage Page (Generic Desktop) 05 01 The standard HID report descriptor is a general keyboard report descriptor. The first few examples are as follows: Item Tag(Value) Raw Date Usage Page (Generic Desktop) 05 01
Usage (Keyboard) 09 06 Usage (Keyboard) 09 06
Collection (Application) Al 01 Collection (Application) Al 01
Usage Page (Keyboard/ Keybad) 05 07 Usage Page (Keyboard/ Keybad) 05 07
Usage Minimum (Keyboard Left Control) 19 E0 Usage Minimum (Keyboard Left Control) 19 E0
Usage Maximum (Keyboard Right GUI) 29 E7 Usage Maximum (Keyboard Right GUI) 29 E7
Logical Minimum(O) 15 00 Logical Minimum(O) 15 00
Logical Maximum(l) 25 01 Logical Maximum(l) 25 01
Report Size(l) 75 01 Report Size(l) 75 01
Report Count(8) 95 08 Report Count(8) 95 08
Input (Data, Var,Abs,NVVrp,Lin,Pref,丽 ul,Bit) 81 02 上面这几项描述了一个输入用的字段, 总共为 8个 bits, 每个 bit表示一 个按键分别从左 ctrl键到右 GUI键。 这 8个 bits刚好构成一个字节, 它位于 报告的第一个字节。 它的最低位, 即 bit-0对应着左 ctrl键, 如果返回的数据 该位为 1, 则表示左 ctrl键被按下, 否则, 左 ctrl键没有按下。 它的最高位, 即 bit-7表示右 GUI键的按下情况。 中间的几个位, 需要根据 HID协议中规定 的用途页表 (HID Usage Tables) 来确定。 通常用来表示特殊键, 例如 ctrl , shift , del键等 Input (Data, Var, Abs, NVVrp, Lin, Pref, Li ul, Bit) 81 02 The above items describe an input field, a total of 8 bits, each bit represents a button from the left ctrl key Go to the right GUI button. These 8 bits just form a byte, which is located in the first byte of the report. Its lowest bit, bit-0, corresponds to the left ctrl key. If the returned data is 1, the left ctrl key is pressed. Otherwise, the left ctrl key is not pressed. Its highest bit, bit-7, indicates the press of the right GUI key. The middle bits need to be determined according to the HID Usage Tables specified in the HID protocol. Usually used to represent special keys, such as ctrl , shift , del , etc.
非标准按键指令接口采用的非标准 HID报告描述符, 为不通用的键盘报告 描述符, 根据非标准 BIOS环境中不同的 BIOS程序有所不同。 前几项举例如下: Item Tag(Value) Raw Date The non-standard HID report descriptor used by the non-standard key command interface is a non-universal keyboard report descriptor, which varies according to different BIOS programs in a non-standard BIOS environment. The first few examples are as follows: Item Tag(Value) Raw Date
Usage (Keyboard) 09 06 Collection (Application) Al 01 Usage (Keyboard) 09 06 Collection (Application) Al 01
Report ID (2) 85 02 Report ID (2) 85 02
Usage Page (Keyboard/ Keybad) 05 07 Usage Page (Keyboard/ Keybad) 05 07
Usage Minimum (Keyboard a and A) 19 04 Usage Minimum (Keyboard a and A) 19 04
Usage Maximum (Keyboard Application) 29 65 Usage Maximum (Keyboard Application) 29 65
Logical Minimum(O) 15 00 Logical Minimum(O) 15 00
Logical Maximum(l) 25 01 Logical Maximum(l) 25 01
Report Size(l) 75 01 Report Size(l) 75 01
Report Count(98) 95 62 Report Count(98) 95 62
Input (Data, Var,Abs,NVVrp,Lin,Pref,丽 ul,Bit) 81 02 Input (Data, Var, Abs, NVVrp, Lin, Pref, Li ul, Bit) 81 02
5102、 通过键盘同时获得小于等于标准按键个数阈值的标准按键指令, 解 析所述标准按键指令并从预设标准按键编码集合中提取相应的待执行标准按键 编码,通过标准按键指令接口上传所述待执行标准按键编码至主机; 5102. Obtain a standard key instruction that is less than or equal to a threshold value of a standard number of keys through a keyboard, parse the standard key instruction, and extract a corresponding standard key code to be executed from a preset standard key code set, and upload the The standard key code is to be executed to the host;
同时获得小于等于标准按键个数阈值的指令为标准按键指令, 标准按键指 令接口为标准 HID键盘接口,能够在所有兼容 USB HID键盘的 BIOS环境下使用。 标准按键指令接口的 HID报告描述符使用通用的键盘报告描述符。 At the same time, the command that is less than or equal to the threshold number of standard buttons is a standard button command, and the standard button command interface is a standard HID keyboard interface, which can be used in all BIOS environments compatible with the USB HID keyboard. The HID report descriptor for the standard button command interface uses a generic keyboard report descriptor.
5103、 通过键盘同时获得大于等于非标准按键个数阈值的非标准按键指令, 解析所述非标准按键指令并从预设非标准按键编码集合中提取相应的待执行非 标准按键编码,通过非标准按键指令接口上传所述待执行非标准按键编码至主 机。 5103. Obtain a non-standard button instruction that is greater than or equal to a threshold of a non-standard button number by using a keyboard, parse the non-standard button command, and extract a corresponding non-standard button code to be executed from the preset non-standard button code set, and pass the non-standard The key command interface uploads the non-standard key code to be executed to the host.
同时获得大于等于非标准按键个数阈值的指令为非标准按键指令, 非标准 按键指令接口为非标准 HID键盘接口, 能够在所有兼容非标准的 USB HID键盘 的 BIOS环境下使用。 非标准按键指令接口的 HID报告描述符使用非标准的键盘 报告描述符。 本实施例中非标准按键指令为大于等于非标准按键个数阈值的指 令, 非标准按键指令可为全键盘按键个数的指令。 At the same time, the instruction that obtains the threshold of the number of non-standard buttons is a non-standard button command, and the non-standard button command interface is a non-standard HID keyboard interface, which can be used in all compatible non-standard USB HID keyboards. Used in the BIOS environment. The HID report descriptor for the non-standard key command interface uses a non-standard keyboard report descriptor. In this embodiment, the non-standard button command is an instruction that is greater than or equal to the threshold of the number of non-standard buttons, and the non-standard button command may be an instruction for the number of full keyboard buttons.
一种键盘按键编码同时上传的方法, 键盘的 USB设备分别枚举用于上传通 过键盘同时获得小于等于标准按键个数阈值的标准按键指令和用于上传通过键 盘同时获得大于等于非标准按键个数阈值的非标准按键指令,当用户同时通过 键盘进行若干个按键指令输入时, 标准按键指令接口和非标准按键指令接口分 别在键盘和主机之间的 USB数据传输通道中传输信息, 两个动作同时进行, 实 现在兼容标准和非标准的 BIOS环境下, 全键盘按键编码同时上传, 不产生键盘 按键冲突现象。 A method for simultaneously uploading a keyboard key code, the USB device of the keyboard separately enumerating a standard key instruction for uploading a threshold value of a standard number of keys less than or equal to the standard by using a keyboard, and obtaining a number of non-standard keys greater than or equal to the same by uploading through the keyboard The non-standard key command of the threshold, when the user simultaneously inputs a plurality of key commands through the keyboard, the standard button command interface and the non-standard button command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions simultaneously In the compatible standard and non-standard BIOS environment, the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
BIOS ( Basic Input Output System, 基本输入输出系统) 〃是一组固化到 计算机内主板 ROM芯片上的程序, 是计算机保存的最重要的基本输入输出程序、 系统设置信息、 开机后自检程序和系统自启动程序。 其主要功能是为计算机提 供最底层的、 最直接的硬件设置和控制。 BIOS (Basic Input Output System) is a set of programs that are solidified onto the motherboard's ROM chip. It is the most important basic input and output program saved by the computer, system setting information, self-test program and system after booting. Self-starting program. Its main function is to provide the lowest level, most direct hardware setup and control for the computer.
计算机上使用的 BIOS程序根据制造厂商的不同分为: AWARD BIOS程序、 AMI BIOS程序、 PHOENIX BIOS程序以及其它的免跳线 BIOS程序和品牌机特有的 BIOS 程序, 如 IBM等。 目前标准主板 BIOS有三大类型, 即 AWARD、 AMI和 PH0ENIX。 不过, PHOENIX 已经合并了 AWARD , 因此在台式机主板方面, 其虽然标有 AWARD-PHOENIX, 其实际还是 AWARD的 BI0S。 PHOENIX BIOS 多用于高档的 586 原装品牌机和笔记本电脑上,其画面简洁,便于操作。除了三大类型的主板 BIOS 程序是标准 BIOS环境, 其他的 BIOS程序都属于非标准 BIOS环境。 The BIOS programs used on the computer are divided into: AWARD BIOS, AMI BIOS, PHOENIX BIOS, and other jumper-free BIOS programs and brand-specific BIOS programs such as IBM. There are currently three major types of standard motherboard BIOS, namely AWARD, AMI and PH0ENIX. However, PHOENIX has incorporated AWARD, so in terms of desktop boards, although it is labeled AWARD-PHOENIX, it is actually AWARD's BI0S. PHOENIX BIOS is mostly used on high-end 586 original brand machines and laptops, and its screen is simple and easy to operate. Except for the three major types of motherboard BIOS programs are standard BIOS environments, other BIOS programs are non-standard BIOS environments.
如图 2所示, 为本发明实施例 2提供的键盘按键编码同时上传的方法的流 程示意图; 本实施例增加了预设标准按键编码集合、 预设非标准按键编码集合、 设置标准按键个数阈值和设置非标准按键个数阈值歩骤。 As shown in FIG. 2, it is a schematic flowchart of a method for uploading a keyboard key code simultaneously according to Embodiment 2 of the present invention; this embodiment adds a preset standard key code set, a preset non-standard key code set, Set the standard button number threshold and set the non-standard button number threshold.
提供一种键盘按键编码同时上传的方法, 包括如下歩骤: A method for simultaneously uploading a keyboard key code is provided, including the following steps:
S201、 建立并存储标准按键指令和标准按键编码信息对应的预设标准按键 编码集合; 建立并存储非标准按键指令和非标准按键编码信息对应的预设非标 准按键编码集合。 S201. Create and store a preset standard button code set corresponding to the standard button command and the standard button code information; establish and store a preset non-standard button code set corresponding to the non-standard button command and the non-standard button code information.
标准按键编码信息为若干个小于等于标准按键个数阈值的按键指令, 包括 每个按键的编码信息和若干个按键的组合序列; 非标准按键编码信息为若干个 大于等于非标准按键个数阈值的按键指令, 包括每个按键的编码信息和若干个 按键的组合序列。 The standard key code information is a plurality of key commands less than or equal to the threshold number of the standard key, including the coded information of each key and a combined sequence of a plurality of keys; the non-standard key coded information is a number of thresholds equal to or greater than the number of non-standard keys The key command includes the coding information of each key and a combined sequence of several keys.
键盘分为编码键盘和非编码键盘。 编码键盘主要依靠一块专用的大规模集 成电路完成扫描、 编码、 传送功能。 一个完整的键盘控制电路由键位矩阵、 时 钟发生器及主 IC组成。 键位矩阵制作在电路板上, 时钟发生器用来产生一系列 有规律的脉冲, 它决定主 IC扫描键位矩阵的频率, 键盘控制电路的一切工作歩 骤都要按时钟发生器送来的节律进行。 主 IC按照时钟发生器送来的不间断的脉 冲频率, 向键位矩阵的行或列, 逐行或列送出扫描信号; 当某个键被按下以后, 相应的扫描信号就会被与之交叉的行或列方向的检测电路所发现而产生交连信 号, 该交连信号决定了该键的坐标位置; 交连信号送入主 ic, 经过其内部编码 电路后便产生该键的编码信息, 如 ASCI I码。 The keyboard is divided into an encoded keyboard and a non-encoded keyboard. The coded keyboard relies mainly on a dedicated large-scale integrated circuit to perform scanning, encoding, and transmission functions. A complete keyboard control circuit consists of a key matrix, a clock generator and a main IC. The key matrix is fabricated on the circuit board. The clock generator is used to generate a series of regular pulses. It determines the frequency of the main IC scan key matrix. All the working steps of the keyboard control circuit must be based on the rhythm sent by the clock generator. get on. The main IC sends a scan signal to the row or column of the key matrix row by row or column according to the uninterrupted pulse frequency sent by the clock generator; when a key is pressed, the corresponding scan signal is A cross-connected signal is detected by the detecting circuit in the row or column direction, and the cross-connect signal determines the coordinate position of the key; the cross-connect signal is sent to the main ic, and the encoded information of the key is generated after passing through the internal encoding circuit. , such as the ASCI I code.
非编码键盘不直接提供按键的编码信息, 而是采用较为简单的硬件和一套 专用程序来识别按键的位置。 非编码键盘利用软件驱动下的硬件来完成诸如扫 描、 编码、 传送功能, 这个程序被称之为键盘处理程序。 整个键盘处理程序由 查询程序、 传送程序、 译码程序三部分组成。 主程序首先调用查询程序, 通过 查询接口逐行扫描键位矩阵, 同时检测行列的输出, 由行与列的交连信号确定 某闭合键的坐标, 即得到被按键对应的扫描码; 主程序调用传送程序将得到的 扫描码传送给位于主机内的键盘接口电路; 主程序调用译码程序将键盘接口内 的扫描码翻译为相应键的编码信息。 The non-encoded keyboard does not directly provide the coding information of the button, but uses relatively simple hardware and a set of special programs to identify the position of the button. Non-encoded keyboards use software-driven hardware to perform functions such as scanning, encoding, and transfer. This program is called a keyboard handler. The entire keyboard processing program consists of three parts: the query program, the transfer program, and the decoding program. The main program first calls the query program, scans the key matrix matrix line by line through the query interface, and simultaneously detects the output of the row and column, which is determined by the intersection signal of the row and the column. The coordinates of a closed key, that is, the scan code corresponding to the button; the main program calls the transfer program to transfer the obtained scan code to the keyboard interface circuit located in the host; the main program calls the decoding program to translate the scan code in the keyboard interface into The encoding information of the corresponding key.
5202、 设置标准按键个数阈值和非标准按键个数阈值。 5202. Set a standard button number threshold and a non-standard button number threshold.
优选的,所述标准按键个数阈值为 6, 所述非标准按键个数阈值为 7。 当然, 所述标准按键个数阈值也可以为 12 或 24, 对应的所述非标准按键个数阈值为 13或 25 ο Preferably, the threshold number of the standard buttons is 6, and the threshold of the number of non-standard buttons is 7. Certainly, the threshold number of the standard button may also be 12 or 24, and the corresponding threshold number of the non-standard buttons is 13 or 25 ο.
5203、 将键盘和主机之间的 USB数据传输通道枚举为具有传输标准按键编 码功能的标准按键指令接口和具有传输非标准按键编码功能的非标准按键指令 接口; 5203. The USB data transmission channel between the keyboard and the host is enumerated as a standard key command interface having a transmission standard key code function and a non-standard key command interface having a non-standard key code transmission function;
一般的 USB设备都需要一个 "驱动程序" , 该驱动程序提供了从应用软件 到 USB设备的数据传输通道, 但驱动程序编写技术复杂, 一旦出错直接导致系 统死机。为此,操作系统对一些典型的 USB设备例如 HID设备(Human Interface Device, 人机接口设备, 是指直接和人进行互动的设备, 如鼠标、 键盘等) 提 供了内置的驱动程序, USB HID设备连接到主机后,会把一系列数据发送到主机, 这一系列数据表明设备的类型以及所能支持的数据传输方式, 这些数据即为描 述符。 描述符是数据结果或是信息的格式化块, 它可以使主机知道这个设备。 每个描述符包含了关于这个设备整体信息或者一个元素信息。 所有的 USB外设 必须响应对标准 USB HID报告描述符的请求。 在枚举过程中主机使用控制传输 来从设备请求 HID报告描述符。 A typical USB device requires a "driver" that provides a data transfer path from the application software to the USB device, but the driver programming technique is complex and can cause the system to crash if an error occurs. To this end, the operating system provides built-in drivers for some typical USB devices such as HID devices (Human Interface Device, which refers to devices that interact directly with people, such as mice, keyboards, etc.), USB HID devices. After connecting to the host, a series of data is sent to the host. This series of data indicates the type of device and the way data can be supported. These data are descriptors. A descriptor is a data result or a formatted block of information that makes the host aware of the device. Each descriptor contains information about the device as a whole or an element. All USB peripherals must respond to requests for standard USB HID report descriptors. The host uses control transfers during the enumeration to request HID report descriptors from the device.
5204、 通过键盘同时获得小于等于标准按键个数阈值的标准按键指令, 解 析所述标准按键指令并从预设标准按键编码集合中提取相应的待执行标准按键 编码,通过标准按键指令接口上传所述待执行标准按键编码至主机; S205、 通过键盘同时获得大于等于非标准按键个数阈值的非标准按键指令, 解析所述非标准按键指令并从预设非标准按键编码集合中提取相应的待执行非 标准按键编码,通过非标准按键指令接口上传所述待执行非标准按键编码至主 机。 5204. Obtain a standard button instruction that is less than or equal to a threshold number of standard buttons by using a keyboard, parse the standard button instruction, and extract a corresponding standard key code to be executed from the preset standard button code set, and upload the standard button interface. The standard key code is to be executed to the host; S205. Obtain a non-standard key command that is greater than or equal to a threshold value of a non-standard button number by using a keyboard, parse the non-standard key command, and extract a corresponding non-standard key code to be executed from the preset non-standard key code set, and pass the non-standard The key command interface uploads the non-standard key code to be executed to the host.
本实施例涉及的键盘能够在兼容标准或非标准的 BIOS环境下同时向 PC系 统上传全部按键键值, 实现所有按键同时按下而不产生键盘按键冲突现象的功 能, 同时还能够在不同的标准或非标准的 BIOS环境下使用, 同时向 PC系统上 传多个按键键值。 The keyboard of the embodiment can simultaneously upload all key key values to the PC system in a compatible standard or non-standard BIOS environment, and realize the function that all the keys are pressed at the same time without generating keyboard key conflict phenomenon, and can also be in different standards. Or use in a non-standard BIOS environment, and upload multiple key values to the PC system at the same time.
以下为本发明实施例提供的键盘按键编码同时上传的装置的实施例。 键盘 按键编码同时上传的装置的实施例与上述的键盘按键编码同时上传的方法实施 例属于同一构思, 键盘按键编码同时上传的装置的实施例中未详尽描述的细节 内容, 可以参考上述键盘按键编码同时上传的方法实施例。 The following is an embodiment of an apparatus for simultaneously uploading a keyboard key code according to an embodiment of the present invention. The embodiment of the device for simultaneously uploading the keyboard key code and the method for uploading the keyboard key code at the same time belong to the same concept, and the details of the device that is not described in detail in the embodiment of the device for simultaneously uploading the keyboard key code can refer to the above keyboard key code. Method embodiments for simultaneous uploading.
如图 3所示, 为本发明实施例 3提供的键盘按键编码同时上传的装置的结 构示意图; FIG. 3 is a schematic structural diagram of an apparatus for simultaneously uploading a keyboard key code provided by Embodiment 3 of the present invention;
一种键盘按键编码同时上传的装置, 包括将键盘和主机之间的 USB数据传 输通道枚举得到的具有传输标准按键编码功能的标准按键指令接口 301 和具有 传输非标准按键编码功能的非标准按键指令接口 302 ; A device for simultaneously uploading a keyboard key code, comprising a standard key command interface 301 having a function of transmitting a standard key code and a non-standard button having a function of transmitting a non-standard key code, which are obtained by enumerating a USB data transmission channel between a keyboard and a host Instruction interface 302;
所述标准按键指令接口 301 用于上传通过键盘同时获得小于等于标准按键 个数阈值的标准按键指令对应的待执行标准按键编码至主机; 所述非标准按键 指令接口 302 用于上传通过键盘同时获得大于等于非标准按键个数阈值的非标 准按键指令对应的待执行非标准按键编码至主机; The standard key command interface 301 is configured to upload a standard key code to be executed corresponding to a standard key command that is equal to or less than a standard number of key thresholds to the host through the keyboard; and the non-standard key command interface 302 is used for uploading through the keyboard. a non-standard key code corresponding to a non-standard key command that is greater than or equal to a non-standard button number threshold is encoded to the host;
还包括: Also includes:
接收标准按键指令单元 303:用于通过键盘同时获得小于等于标准按键个数 阈值的标准按键指令, Receiving a standard button instruction unit 303: for simultaneously obtaining the number of standard buttons less than or equal to the number of keys through the keyboard Standard key command for threshold,
解析标准按键指令单元 304:用于解析所述标准按键指令并从预设标准按键 编码集合中提取相应的待执行标准按键编码, Parsing the standard button command unit 304: for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set,
接收非标准按键指令单元 305 :用于通过键盘同时获得大于等于非标准按键 个数阈值的非标准按键指令, Receiving a non-standard button command unit 305: for obtaining a non-standard button command that is greater than or equal to a non-standard button number threshold through the keyboard,
解析非标准按键指令单元 306:用于解析所述非标准按键指令并从预设非标 准按键编码集合中提取相应的待执行非标准按键编码。 The non-standard key command unit 306 is configured to parse the non-standard key command and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
一种键盘按键编码同时上传的装置, 键盘的 USB设备分别枚举用于上传通 过键盘同时获得小于等于标准按键个数阈值的标准按键指令和用于上传通过键 盘同时获得大于等于非标准按键个数阈值的非标准按键指令,当用户同时通过 键盘进行若干个按键指令输入时, 标准按键指令接口和非标准按键指令接口分 别在键盘和主机之间的 USB数据传输通道中传输信息, 两个动作同时进行, 实 现在兼容标准和非标准的 BIOS环境下, 全键盘按键编码同时上传, 不产生键盘 按键冲突现象。 A device for simultaneously uploading a keyboard key code, wherein the USB device of the keyboard respectively enumerates a standard key command for uploading a threshold value equal to or less than a standard number of keys through a keyboard, and a number of non-standard keys for uploading through the keyboard simultaneously The non-standard key command of the threshold, when the user simultaneously inputs a plurality of key commands through the keyboard, the standard button command interface and the non-standard button command interface respectively transmit information in the USB data transmission channel between the keyboard and the host, and the two actions simultaneously In the compatible standard and non-standard BIOS environment, the full keyboard key code is uploaded at the same time, and no keyboard key conflict occurs.
如图 4所示, 为本发明实施例 4提供的键盘按键编码同时上传的装置的结 构示意图; 本实施例增加了预设标准按键编码集合生成单元 403、预设非标准按 键编码集合生成单元 402和设置阈值单元 401。 As shown in FIG. 4, it is a schematic structural diagram of a device for simultaneously uploading a keyboard key code according to Embodiment 4 of the present invention; in this embodiment, a preset standard key code set generation unit 403 and a preset non-standard key code set generation unit 402 are added. And setting the threshold unit 401.
一种键盘按键编码同时上传的装置, 包括将键盘和主机之间的 USB数据传 输通道枚举得到的具有传输标准按键编码功能的标准按键指令接口 301 和具有 传输非标准按键编码功能的非标准按键指令接口 302 ; A device for simultaneously uploading a keyboard key code, comprising a standard key command interface 301 having a function of transmitting a standard key code and a non-standard button having a function of transmitting a non-standard key code, which are obtained by enumerating a USB data transmission channel between a keyboard and a host Instruction interface 302;
所述标准按键指令接口 301 用于上传通过键盘同时获得小于等于标准按键 个数阈值的标准按键指令对应的待执行标准按键编码至主机; 所述非标准按键 指令接口 302 用于上传通过键盘同时获得大于等于非标准按键个数阈值的非标 准按键指令对应的待执行非标准按键编码至主机; The standard key command interface 301 is configured to upload a standard key code to be executed corresponding to a standard key command that is equal to or less than a standard number of key thresholds to the host through the keyboard; and the non-standard key command interface 302 is used for uploading through the keyboard. Non-standard that is greater than or equal to the threshold of the number of non-standard buttons a non-standard key code to be executed corresponding to the quasi-key command to the host;
还包括: Also includes:
接收标准按键指令单元 303 :用于通过键盘同时获得小于等于标准按键个数 阈值的标准按键指令, Receiving a standard button command unit 303: for obtaining a standard button command that is less than or equal to the threshold number of standard buttons simultaneously through the keyboard,
解析标准按键指令单元 304:用于解析所述标准按键指令并从预设标准按键 编码集合中提取相应的待执行标准按键编码, Parsing the standard button command unit 304: for parsing the standard button command and extracting a corresponding standard button code to be executed from the preset standard button code set,
接收非标准按键指令单元 305 :用于通过键盘同时获得大于等于非标准按键 个数阈值的非标准按键指令, Receiving a non-standard button command unit 305: for obtaining a non-standard button command that is greater than or equal to a non-standard button number threshold through the keyboard,
解析非标准按键指令单元 306:用于解析所述非标准按键指令并从预设非标 准按键编码集合中提取相应的待执行非标准按键编码。 The non-standard key command unit 306 is configured to parse the non-standard key command and extract a corresponding non-standard key code to be executed from the preset non-standard key code set.
其中, 所述的键盘按键编码同时上传的装置, 还包括: The device for simultaneously uploading the keyboard key code includes:
预设标准按键编码集合生成单元 403 :用于建立并存储标准按键指令和标准 按键编码信息对应的预设标准按键编码集合; a preset standard key code set generating unit 403: configured to establish and store a preset standard key code set corresponding to the standard key command and the standard key code information;
预设非标准按键编码集合生成单元 402 :用于建立并存储非标准按键指令和 非标准按键编码信息对应的预设非标准按键编码集合。 The preset non-standard key code set generating unit 402 is configured to establish and store a preset non-standard key code set corresponding to the non-standard key command and the non-standard key code information.
其中, 所述的键盘按键编码同时上传的装置, 还包括设置阈值单元 401 : 用 于设置标准按键个数阈值和非标准按键个数阈值。 The device for simultaneously uploading the keyboard key code includes a setting threshold unit 401 for setting a standard button number threshold and a non-standard button number threshold.
优选的,所述标准按键个数阈值为 6, 所述非标准按键个数阈值为 7。 当然, 所述标准按键个数阈值也可以为 12 或 24, 对应的所述非标准按键个数阈值为 13或 25 ο Preferably, the threshold number of the standard buttons is 6, and the threshold of the number of non-standard buttons is 7. Certainly, the threshold number of the standard button may also be 12 or 24, and the corresponding threshold number of the non-standard buttons is 13 or 25 ο.
本实施例涉及的键盘能够在兼容标准或非标准的 BIOS环境下同时向 PC系 统上传全部按键键值, 实现所有按键同时按下而不产生键盘按键冲突现象的功 能, 同时还能够在不同的标准或非标准的 BIOS环境下使用, 同时向 PC系统上 传多个按键键值。 The keyboard of the embodiment can simultaneously upload all key key values to the PC system in a compatible standard or non-standard BIOS environment, and realize the function that all the keys are pressed at the same time without generating keyboard key conflict phenomenon, and can also be in different standards. Or use in a non-standard BIOS environment, while on the PC system Pass multiple key key values.
显然, 本领域技术人员应该明白, 上述的本发明的各模块装置和各歩骤可 以用通用的计算装置来实现, 它们可以集中在单个计算装置上, 或者分布在多 个计算装置所组成的网络上, 可选地, 他们可以用计算机装置可执行的程序代 码来实现, 从而可以将它们存储在存储装置中由计算装置来执行, 或者将它们 分别制作成各个集成电路模块, 或者将它们中的多个模块或歩骤制作成单个集 成电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件的结合。 Obviously, those skilled in the art should understand that the above various modular devices and steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computer device, so that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or Multiple modules or steps are fabricated into a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software.
以上内容仅为本发明的较佳实施例, 对于本领域的普通技术人员, 依据本 发明的思想, 在具体实施方式及应用范围上均会有改变之处, 本说明书内容不 应理解为对本发明的限制。 The above content is only a preferred embodiment of the present invention, and those skilled in the art will have a change in the specific embodiment and application scope according to the idea of the present invention. The content of the present specification should not be construed as the present invention. limits.
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2013/083475 WO2015035609A1 (en) | 2013-09-13 | 2013-09-13 | Method and device for simultaneously uploading keyboard key codes |
| CN201380075900.6A CN105144038B (en) | 2013-09-13 | 2013-09-13 | The method and apparatus that a kind of keyboard coding uploads simultaneously |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2013/083475 WO2015035609A1 (en) | 2013-09-13 | 2013-09-13 | Method and device for simultaneously uploading keyboard key codes |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015035609A1 true WO2015035609A1 (en) | 2015-03-19 |
Family
ID=52664958
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2013/083475 Ceased WO2015035609A1 (en) | 2013-09-13 | 2013-09-13 | Method and device for simultaneously uploading keyboard key codes |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105144038B (en) |
| WO (1) | WO2015035609A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111930184B (en) * | 2020-10-13 | 2021-01-01 | 飞天诚信科技股份有限公司 | Method, device and system for realizing external equipment simulation keyboard |
| CN114637410A (en) * | 2022-03-24 | 2022-06-17 | 华奋达(东莞)科技有限公司 | Keyboard device, full-key conflict-free triggering method thereof and computer storage medium |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101598974A (en) * | 2008-06-06 | 2009-12-09 | 深圳市方中天网络技术有限公司 | A kind of combination key anti-collision keyboard |
| CN102053713A (en) * | 2009-11-06 | 2011-05-11 | 厦门华洋鑫电子科技有限公司 | Method for avoiding conflict during simultaneous clicking of 8 keys of computer keyboard |
| CN103092358A (en) * | 2013-01-28 | 2013-05-08 | 珠海恒宇新科技有限公司 | System and method for achieving full key non-conflict for keyboard |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101354610B (en) * | 2007-07-27 | 2011-08-24 | 佛山市顺德区顺达电脑厂有限公司 | Method for performing signal transmission between keyboard controller and computer system with virtual channel |
| CN202189321U (en) * | 2011-06-30 | 2012-04-11 | 长城信息产业股份有限公司 | Key mapping conflict-free keyboard |
-
2013
- 2013-09-13 WO PCT/CN2013/083475 patent/WO2015035609A1/en not_active Ceased
- 2013-09-13 CN CN201380075900.6A patent/CN105144038B/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101598974A (en) * | 2008-06-06 | 2009-12-09 | 深圳市方中天网络技术有限公司 | A kind of combination key anti-collision keyboard |
| CN102053713A (en) * | 2009-11-06 | 2011-05-11 | 厦门华洋鑫电子科技有限公司 | Method for avoiding conflict during simultaneous clicking of 8 keys of computer keyboard |
| CN103092358A (en) * | 2013-01-28 | 2013-05-08 | 珠海恒宇新科技有限公司 | System and method for achieving full key non-conflict for keyboard |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105144038B (en) | 2017-12-26 |
| CN105144038A (en) | 2015-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20090210608A1 (en) | KVM switch and operation method thereof | |
| US7873764B2 (en) | Switch with enhanced human interface device support | |
| CN104298579B (en) | A kind of logic chip and comprise the board card device of this logic chip | |
| TWI529535B (en) | Resource sharing devices | |
| WO2019184444A1 (en) | Master-slave configuration communication protocol, method for improving compatibility, and electronic device | |
| US8260988B2 (en) | PS/2 to USB keyboard adaptor supporting N-key rollover | |
| CN104391586A (en) | Detection method and detection system for keyboard input based on mobile terminal | |
| CN108089722A (en) | A kind of key assignments customizing keyboard configures system and method | |
| WO2015035609A1 (en) | Method and device for simultaneously uploading keyboard key codes | |
| CN101582036A (en) | Servo device and method for shared basic input and output system | |
| CN103455456A (en) | Method and device for keyboard megafunction uploading | |
| CN111338697B (en) | Device and method for one-key setting by using HID keyboard | |
| CN104615271A (en) | Processing method for KVM (Kernel-based Virtual Machine) and processing device for KVM | |
| TW201502982A (en) | System platform supporting infrared receiver/transmitter and its operation method | |
| CN112099749A (en) | Notebook computer supporting KVM function | |
| US20080074294A1 (en) | System for controlling keyboard | |
| CN101751294A (en) | BIOS instruction control method | |
| KR101376603B1 (en) | Computer keyboard device capable of activating application on a computer and method for activating application | |
| CN103605427B (en) | A kind of free drive based on Intelligent flat is dynamic quickly responds input equipment | |
| CN1320468C (en) | Wireless peripheral capable of supporting basic input function and control method | |
| CN112675532B (en) | PC palm machine control method and device, PC palm machine and storage medium | |
| WO2010048863A1 (en) | Configuring method of multiple workstations in single machine computer system, the usb hub | |
| CN112835821A (en) | Method for simulating PS2 interface through GPIO port of single chip microcomputer, single chip microcomputer and system | |
| KR101374801B1 (en) | Usb keyboard apparatus and method capable of supporting n-key rollover with bios compatibility | |
| CN111899497A (en) | Compatible wireless remote control USB adapter and adaptation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201380075900.6 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13893396 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 23/05/2016) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13893396 Country of ref document: EP Kind code of ref document: A1 |