扫描码
键盘扫描码
键盘扫描码
键盘上除了ASCII码外,还有非ASCII码(如左移键“←”对应的编码),叫扩充键盘码。
我们把扩充键盘码放在高八位,ASC II码放在低八位所组成的代码称为扫描码。
对于某一特定的扫描码,若其低8位不为零,则此8位就是相应字符的ASCII码值;若低8位是零,则高8位是扩充键盘码,需要再读取人第二个字节,根据它的值来判断它是那一个功能键。
下表给出了单功能键和组合功能键的键值,表中代码系指第二个字节键值的十进制数。
例如,“←”的扫描码低8位应为零,而高8位是0x4b,所以,“←”键的扫描码为O x4b00;而“回车键”有对应的ASCII码,故其扫描码的低8位是回车键的ASCII码值0xod。
测试键盘扫描码
调用标准库函数b ioskey()读取键盘扫描码。
注意要使用b io skey()函数,应在文件头部加上#includ e “b ios.h”。
函数b io skey()的功能是用于识别用户按键和获得按键值。
函数原
型是:
int b ioskey(int cmd);
在<b ios.h>中定义,在使用它时,应用include命令将b ios.h文件包含进来。
其中参数cmd可取值0或1。
①当cmd=1时,检测键盘是否有击键,如果没有击键,函数将返回0,否则返回非零;
②当cmd=0时,返回从键盘输入的扫描码。
语句key=b ioskey(0);读取键盘输入的扫描码,并存储在变量k ey 中。
键盘扫描码
键盘上的每一个键都有两个唯一的数值进行标志。
为什么要用两个数值而不是一个数值呢?这是因为一个键可以被按下,也可以被释放。
当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生一个唯一的数值,我们把这些数值都保存在一张表里面,到时候通过查表就可以知道是哪一个键被敲击,并且可以知道是它是被按下还是被释放了。
这些数值在系统中被称为键盘扫描码2扫描码大全扫描码键0x011b ESC0x3b00 F10x3c00 F20x3d00 F30x3e00 F40x3f00 F50x4000 F60x4100 F70x4200 F80x4300 F90x4400 F10主键盘区:0x2960 ~0x0231 10x0332 20x0433 30x0534 40x0635 50x0736 60x0837 70x0938 80x0a39 90x0b30 00x0c2d -0x0d3d =0x2b5c \0x0e08 退格键0x0f09 Tab0x1071 q0x1177 w0x1265 e0x1372 r0x1474 t0x1579 y0x1769 i0x186f o0x1970 p0x1a5b [0x1b5d ]0x1e61 a0x1f73 s0x2064 d0x2166 f0x2267 g0x2368 h0x246a j0x256b k0x266c l0x273b ;0x2827 '0x1c0d 回车0x2c7a z0x2d78 x0x2e63 c0x2f76 v0x3062 b0x316e n0x326d m0x332c ,0x342e .0x352f /0x3920 空格键0xe05b 左Win0xe05c 右Win0xe05d Menu右边数字键盘:0x5200 Insert0x4700 Home0x4900 Page UP 0x5300 Delete0x4f00 End0x5100 PageDown 0x4800 上箭头0x4b00 左箭头0x5000 下箭头0x4d00 右箭头0x352f /0x4a2d - (注意,这是数字键盘的)0x4737 70x4838 80x4939 90x4b34 40x4c35 50x4d36 60x4e2b +0x4f31 10x5032 20x5133 30x5230 00x532e Del通过PC机键盘输入汉字时,其中经过多次的代码转换:用户---汉字输入码---键盘---键盘扫描码---BIOS键盘驱动程序----ASCII码----汉字输入软件----汉字内码。
键盘工作原理
键盘工作原理键盘是计算机输入设备的一种,用于将用户的按键操作转换为计算机可识别的电信号。
它是计算机与用户之间的重要交互接口之一。
键盘的工作原理涉及到按键的物理结构、按键的扫描和编码以及信号传输等多个方面。
一、按键的物理结构键盘的物理结构由按键、弹簧、触点、导电膜等组成。
每个按键上都有一个弹簧,当按下按键时,弹簧会产生反作用力,使按键恢复到原位。
在按键的下方,有一个触点与导电膜相接触,当按下按键时,触点会与导电膜发生接触,形成闭合电路。
二、按键的扫描和编码1. 扫描:键盘上的每个按键都与一个独立的电路相连。
计算机通过扫描电路来检测按键的状态。
扫描电路会逐个扫描每个按键,当检测到按键被按下时,会发送信号给计算机。
2. 编码:按键的信号需要进行编码,以便计算机能够识别。
常见的编码方式有ASCII码和扫描码。
ASCII码是一种字符编码标准,将每个字符映射为一个唯一的数字;扫描码是按键的唯一标识,每个按键都有一个对应的扫描码。
三、信号传输键盘与计算机之间的信号传输通常采用PS/2接口或USB接口。
PS/2接口是一种用于连接键盘和鼠标的串行接口,它使用6个引脚进行数据传输;USB接口是一种通用的串行总线接口,可以连接多种外部设备,包括键盘。
无论是PS/2接口还是USB接口,它们都能够将按键的状态信息传输给计算机。
四、工作流程键盘的工作流程可以概括为以下几个步骤:1. 按键按下:当用户按下键盘上的某个按键时,按键就会被按下,触点与导电膜接触,形成闭合电路。
2. 信号检测:键盘的扫描电路会逐个扫描每个按键,当检测到按键被按下时,会发送信号给计算机。
3. 信号编码:按键的信号需要进行编码,以便计算机能够识别。
编码方式可以是ASCII码或扫描码。
4. 信号传输:键盘通过PS/2接口或USB接口将编码后的信号传输给计算机。
5. 信号解码:计算机接收到键盘传输的信号后,会对信号进行解码,以获取按键的信息。
6. 指令执行:计算机根据按键的信息执行相应的指令,例如在文本编辑器中输入字符、在游戏中控制角色移动等。
键盘扫描码key_code
键盘扫描码Keyboard Scan Codes (Numerical Order)---------------+---------------+---------------+---------------+---------------HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys |HEXDEC keys---------------+---------------+---------------+---------------+---------------|10 16 Q |20 32 D |30 48 B |4064 F601 1 ESC |11 17 W |21 33 F |31 49 N |4165 F702 2 1 |12 18 E |22 34 G |32 50 M |4266 F803 3 2 |13 19 R |23 35 H |33 51 , |4367 F904 4 3 |14 20 T |24 36 J |34 52 . |4468 F1005 5 4 |15 21 Y |25 37 K |35 53 / |4569 Num06 6 5 |16 22 U |26 38 L |36 54 RShift|46 70 Scroll07 7 6 |17 23 I |27 39 ; |37 55 PrtSc |4771 Home08 8 7 |18 24 O |28 40 ' |38 56 Alt |4872 Up09 9 8 |19 25 P |29 41 ` |39 57 Space |4973 PgUp0A 10 9 |1A 26 [ |2A 42 LShift|3A 58 Caps |4A 74 -0B 11 0 |1B 27 ] |2B 43 \ |3B 59 F1 |4B75 Left0C 12 - |1C 28 |2C 44 Z |3C 60 F2 |4C76 Center0D 13 = |1D 29 CTRL |2D 45 X |3D 61 F3 |4D77 Right0E 14 bs |1E 30 A |2E 46 C |3E 62 F4 |4E78 +0F 15 Tab |1F 31 S |2F 47 V |3F 63 F5 |4F79 End---------------+---------------+---------------+---------------+---------------50 80 Down | | | |51 81 PgDn | | | |52 82 Ins | | | |53 83 Del | | | | ---------------+---------------+---------------+---------------+---------------Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)Top number ... DECBottom number ... HEX+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|NumLok|Scr Lok|| | | | | | | | | | | | | | | | || ||59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 | 69 | 70 | |3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E| 45 | 46 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] | | 7 38 | 9 3 - || | | | | | | | | | | | | | | | | 3| 3 ||61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 | |71 372|73 374 ||3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B | |47 348|49 34A |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F5|F6|CTR| A | S | D | F | G | H | J | K | L | ; | ' | ` |28 | 4 35 |6 3 || | | | | | | | | | | | | | | | | 3| 3 ||63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 | |75 376|77 3 ||3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |4B 34C|4D 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 32 |3 3 + || | | | | | | | | | | | | | | | | 3| 3 ||65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380|81 378 ||41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350|51 34E |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F9|F0| A|t | | | | |pac| | | | |Cap|Lok| I|s 3D|l 3 || | | | | | | | | | | | | | | | | 3| 3 ||67|68| 5| | | | | |57| | | | | 5| | 8| 3 8| 3 ||43|44| 3| | | | | |39| | | | | 3| | 5| 3 5| 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+Extended ASCII Special Key Codes (Numerical Order)... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the special codes are to be applied.)HEX DEC keys-------------------------------03 3 CTRL-2; same as CHR$(0)0F 15 Shift-tab10 16 Alt-Q11 17 Alt-W12 18 Alt-E13 19 Alt-R14 20 Alt-T15 21 Alt-Y16 22 Alt-U17 23 Alt-I18 24 Alt-O19 25 Alt-P1E 30 Alt-A1F 31 Alt-S20 32 Alt-D21 33 Alt-F22 34 Alt-G23 35 Alt-H24 36 Alt-J25 37 Alt-K26 38 Alt-L2C 44 Alt-Z2D 45 Alt-X2E 46 Alt-C2F 47 Alt-V30 48 Alt-B31 49 Alt-N32 50 Alt-M3B 59 F13C 60 F23D 61 F33E 62 F43F 63 F540 64 F641 65 F742 66 F843 67 F944 68 F1047 71 Home48 72 Up49 73 PgUp4B 75 Left4D 77 Right4F 79 End50 80 Down51 81 PgDn52 82 Ins53 83 Del54 84 Shift-F155 85 Shift-F256 86 Shift-F357 87 Shift-F458 88 Shift-F559 89 Shift-F6 5A 90 Shift-F7 5B 91 Shift-F8 5C 92 Shift-F9 5D 93 Shift-F105F 95 Ctrl-F260 96 Ctrl-F361 97 Ctrl-F462 98 Ctrl-F563 99 Ctrl-F664 100 Ctrl-F765 101 Ctrl-F866 102 Ctrl-F967 103 Ctrl-F1068 104 Alt-F169 105 Alt-F26A 106 Alt-F36B 107 Alt-F46C 108 Alt-F56D 109 Alt-F66E 110 Alt-F76F 111 Alt-F870 112 Alt-F971 113 Alt-F1072 114 Ctrl-PrtSc73 115 Ctrl-Left74 116 Ctrl-Right75 117 Ctrl-End76 118 Ctrl-PgDn77 119 Ctrl-Home78 120 Alt-179 121 Alt-27A 122 Alt-37B 123 Alt-47C 124 Alt-57D 125 Alt-67E 126 Alt-77F 127 Alt-880 128 Alt-981 129 Alt-082 130 Alt--83 131 Alt-=84 132 Ctrl-PgUp85 133 Ctrl-Up86 134 Ctrl--(num)87 135 Ctrl-Center88 136 Ctrl-+(num)89 137 Ctrl-Down8B 139 Ctrl-Del8C 140 Alt-Home8D 141 Alt-Up8E 142 Alt-PgUp8F 143 Alt--(num)90 144 Alt-Left91 145 Alt-Center92 146 Alt-Right93 147 Alt-+(num)94 148 Alt-End95 149 Alt-Down96 150 Alt-PgDn97 151 Alt-Ins98 152 Alt-DelExtended ASCII Special Key Codes (Keyboard Layout)------------------+-------------------+-------------------+--------------------HEX DEC keys | HEX DEC keys | HEX DEC keys | HEX DECkeys------------------+-------------------+-------------------+--------------------03 3 nul | 0F 15 Shift-tab | 72 114 Ctrl-PrtSc|------------------+-------------------+-------------------+--------------------47 71 Home | | 77 119 Ctrl-Home | 8C140 Alt-Home48 72 Up | | 85 133 Ctrl-Up | 8D141 Alt-Up49 73 PgUp | | 84 132 Ctrl-PgUp | 8E142 Alt-PgUp4A 74 -(num) | | 86 134 Ctrl--(nu)| 8F143 Alt--(num)4B 75 Left | | 73 115 Ctrl-Left | 90144 Alt-Left4C 76 Center | | 87 135 Ctrl-Centr| 91145 Alt-Center4D 77 Right | | 74 116 Ctrl-Right| 92146 Alt-Right4E 78 +(num) | | 88 136 Ctrl-+(nu)| 93147 Alt-+(num)4F 79 End | | 75 117 Ctrl-End | 94148 Alt-End50 80 Down | | 89 137 Ctrl-Down | 95149 Alt-Down51 81 PgDn | | 76 118 Ctrl-PgDn | 96150 Alt-PgDn52 82 Ins | | 8A 138 Ctrl-Ins | 97151 Alt-Ins53 83 Del | | 8B 139 Ctrl-Del | 98152 Alt-Del------------------+-------------------+-------------------+--------------------3B 59 F1 | 54 84 Shift-F1 | 5E 94 Ctrl-F1 | 68104 Alt-F13C 60 F2 | 55 85 Shift-F2 | 5F 95 Ctrl-F2 | 69105 Alt-F23D 61 F3 | 56 86 Shift-F3 | 60 96 Ctrl-F3 | 6A106 Alt-F33E 62 F4 | 57 87 Shift-F4 | 61 97 Ctrl-F4 | 6B107 Alt-F43F 63 F5 | 58 88 Shift-F5 | 62 98 Ctrl-F5 | 6C108 Alt-F540 64 F6 | 59 89 Shift-F6 | 63 99 Ctrl-F6 | 6D109 Alt-F641 65 F7 | 5A 90 Shift-F7 | 64 100 Ctrl-F7 | 6E110 Alt-F742 66 F8 | 5B 91 Shift-F8 | 65 101 Ctrl-F8 | 6F111 Alt-F843 67 F9 | 5C 92 Shift-F9 | 66 102 Ctrl-F9 | 70112 Alt-F944 68 F10 | 5D 93 Shift-F10 | 67 103 Ctrl-F10 | 71113 Alt-F10------------------+-------------------+-------------------+--------------------1E 30 Alt-A | 31 49 Alt-N | 78 120 Alt-1 |30 48 Alt-B | 18 24 Alt-O | 79 121 Alt-2 |2E 46 Alt-C | 19 25 Alt-P | 7A 122 Alt-3 |20 32 Alt-D | 10 16 Alt-Q | 7B 123 Alt-4 |12 18 Alt-E | 13 19 Alt-R | 7C 124 Alt-5 |21 33 Alt-F | 1F 31 Alt-S | 7D 125 Alt-6 |22 34 Alt-G | 14 20 Alt-T | 7E 126 Alt-7 |23 35 Alt-H | 16 22 Alt-U | 7F 127 Alt-8 |17 23 Alt-I | 2F 47 Alt-V | 80 128 Alt-9 |24 36 Alt-J | 11 17 Alt-W | 81 129 Alt-0 |25 37 Alt-K | 2D 45 Alt-X | 82 130 Alt-- |26 38 Alt-L | 15 21 Alt-Y | 83 131 Alt-= |32 50 Alt-M | 2C 44 Alt-Z |PC机和键盘部分通信命令字PC机向键盘发出的命令共有10条,键盘向PC机发出的键盘响应共有7条。
二维码 规范
二维码规范二维码规范是指对二维码图形的设计、生成、解码和使用等方面进行统一规范的要求。
二维码作为一种信息交流工具和生活辅助工具,其规范化使用能够提高用户体验、促进信息传递和市场推广。
以下是关于二维码规范的一些要点。
一、二维码设计规范1. 容错性:二维码需要具备一定程度的容错性,以应对扫描时可能出现的模糊、污损、变形等问题。
通常采用纠错编码技术,如RS(255,223)。
2. 大小比例:二维码图形应符合一定的大小比例,不宜过大或过小。
通常正方形的二维码边长为最小单元(QR Version)的25倍。
3. 保留区域:在二维码左右两侧应保留一定的空白区域,以增加扫描成功率。
该区域不宜放置任何信息或装饰物。
4. 色彩选择:二维码的背景颜色应选择较为光滑的颜色,如白色或浅色;前景颜色应选择较为饱和的颜色,如黑色或深色。
5. 图案形状:二维码的图案形状应保持正方形,不宜出现形状不规则、边缘模糊等问题。
二、二维码生成规范1. 数据准备:生成二维码之前,需要准备好要编码的数据,如文本、网址、电话号码等。
数据长度应根据二维码的版本和容量进行相应调整。
2. 编码方式:根据二维码使用的具体场景和需求,选择合适的编码方式,如文本编码、URL编码、电话号码编码等。
3. 生成工具:选择可靠的二维码生成工具进行生成。
常见的生成工具有ZXing、QR Code Generator等。
4. 输出格式:生成的二维码图像应保存为常见的图片格式,如JPEG、PNG等,并指定合适的分辨率和像素大小。
三、二维码解码规范1. 扫描工具:使用专业的二维码扫描工具进行解码。
常见的扫描工具有手机上的二维码扫描软件、扫码枪等。
2. 扫描环境:保持扫描环境的光线适中,避免强烈的光线或光线不足。
同时,二维码也不宜过小或过远。
3. 扫描角度:保持扫描角度垂直于二维码图案,避免扫描倾斜或扫描角度过大。
4. 扫描速度:保持适当的扫描速度,过快或过慢都可能导致解码失败。
手机QR码的使用方法与应用介绍
手机QR码的使用方法与应用介绍QR码,全称为Quick Response Code,是一种二维码技术,由日本公司Denso Wave于1994年发明。
随着智能手机的普及,QR码的应用也越来越广泛。
本文将介绍手机QR码的使用方法和一些常见的应用。
一、QR码的使用方法1. 扫描QR码要使用手机扫描QR码,首先需要下载并安装一个QR码扫描器应用程序。
市场上有很多免费的扫描器应用可供选择,如微信、支付宝、Google Lens等。
安装完应用后,打开扫描器应用,将手机摄像头对准QR码,应用会自动识别并解码QR码的内容。
2. 生成QR码除了扫描QR码,我们还可以使用手机生成QR码。
有很多在线QR码生成器可以使用,只需将需要生成QR码的内容输入到相应的网页表单中,点击生成按钮即可得到QR码的图片。
生成的QR码可以保存到手机相册中,方便随时分享和使用。
3. 分享QR码生成的QR码可以通过多种方式分享给他人。
可以将QR码的图片发送给朋友或同事,对方只需使用扫描器应用扫描即可获取QR码的内容。
此外,还可以将QR码的图片保存到电子文档中,如Word文档、PPT演示等,方便在会议或演讲中使用。
二、QR码的应用介绍1. 商业应用QR码在商业领域有广泛的应用。
比如,许多商家在产品包装上印上QR码,消费者可以通过扫描QR码获取产品的详细信息、购买链接等。
此外,QR码还可以用于支付,用户只需扫描商家提供的QR码,即可完成支付过程,方便又快捷。
2. 旅游导览QR码在旅游导览中也有很多应用。
比如,一些旅游景点会在重要的地点设置QR码,游客可以扫描QR码获取该地点的历史背景、介绍等。
此外,一些旅行社还会在旅游手册或地图上加入QR码,游客可以通过扫描QR码获取更多的旅游信息和推荐路线。
3. 个人名片传统的纸质名片很容易丢失或遗忘,而使用QR码作为个人名片可以更方便地分享个人信息。
将个人信息生成为QR码,可以包含姓名、电话号码、邮箱等,对方只需扫描QR码即可获取这些信息。
键盘扫描码
page up: 0xe0 0x7d 0xe0
delete: 0xe0 0x71 0xe0
end: 0xe0 0x69 0xe0
page down: 0xe0 0x7a 0xe0
↑: 0xe0 0x75 0xe0
↓: 0xe0 0x72 0xe0
←: 0xe0 0x6b 0xe0
left shift: 0x12
right shift: 0x59
left ctrl: 0x14
right ctrl: 0xe0 0x14 0xe0
left win: 0xe0 0x1f 0xe0
right win: 0xe0 0x27 0xe0
left alt: 0x11
f9: 0x01
f10: 0x09
f11: 0x78
f12: 0x07
主键盘区扫描码:
~: 0x0e
1: 0x16
2: 0x1e
3: 0x26
4: 0x25
5: 0x2e
6: 0x36
.: 0x71
功能键区:
print: 0xe0 0x12 0xe0 0x7c 0xe0
scroll: 0x7e
pause: 0xe1 0x14 0x77 0xe1
insert: 0xe0 0x70 0xe0
home: 0xe0 0x6c 0xe0
e: 0x24
f: 0x2b
g: 0x34
h: 0xБайду номын сангаас3
i: 0x43
j: 0x3b
k: 0x42
l: 0x4b
m: 0x3a
键盘扫描原理
键盘扫描原理
键盘扫描原理是指通过控制信号将按键状态传输到计算机的一种技术。
它主要分为两个步骤:键盘扫描和数据传输。
在键盘扫描过程中,计算机会发送扫描码(scan code)到键盘。
扫描码是一个8位的二进制数,用于唯一标识每个按键。
键盘内部有一个按键矩阵,当按键按下时,会触发相应的行和列连线,形成一个电路通路。
键盘通过轮询的方式扫描每个按键的状态,并生成扫描码。
一旦键盘生成了扫描码,它就会通过电缆传输给计算机。
数据传输的方式可以是串行还是并行,取决于键盘和计算机之间的连接方式。
对于串行传输,扫描码会被逐位地发送到计算机。
对于并行传输,扫描码会同时发送到计算机的多个引脚上。
计算机接收到扫描码后,会根据预先定义的映射表将其转换为相应的字符或功能。
映射表可以根据键盘类型和语言环境的不同而有所不同。
计算机将转换后的按键信息存储在一个缓冲区中,供操作系统或应用程序读取和处理。
总结来说,键盘扫描原理通过扫描码和数据传输将按键状态传输给计算机。
这种技术广泛应用于各种键盘设备,包括传统的有线键盘和现代的无线键盘。
PC键盘扫描码
O:就是利用bioskey()得到的值。
参数为0时,bioskey()的返回值如果低八位非0,表示按下了普通键;如果低八位为0,表示按下了功能键。
参数为1时,检测有没有键被按下,如果返回值为0,表示没有键按下,相反有键按下。
参数为2时,表示获取变换键的状态,哪些是变换键呢?变换键包括双态键和控制键,双态键就是num lock、scroll lock、insert和caps lock,控制键就是左右shift、ctrl和alt,返回值的低八位反映了这些变换键的状态:0x01 右边shift0x10 scroll lock打开0x02 左边shift0x20 num lock打开0x04 ctrl键0x40 caps lock打开0x08 alt键0x80 insert打开其实bioskey直接调用bios的int 16h键盘I/O中断,直接就是int 16h 的完整翻版。
键盘扫描码大全对程序进行键盘控制时,往往要用到一些键的扫描码,以前每次用时都得先扫下试试,实在麻烦,今天又搞了个小程序,用到了扫描码,索性整了个测试程序,把所有键的扫描码全存入一个文件啦,以便以后编程时使用.在此跟大家分享一下,虽然得来非常容易,但至少可以免得大家都像我以前那样用时再查扫描码键0x011b ----- ESC0x3b00 ----- F1 0x3c00 ----- F20x3d00 ----- F30x3e00 ----- F40x3f00 ----- F50x4000 ----- F60x4100 ----- F70x4200 ----- F80x4300 ----- F90x4400 ----- F10主键盘区:0x2960 ----- ~0x0231 ----- 10x0332 ----- 20x0433 ----- 30x0534 ----- 40x0635 ----- 50x0736 ----- 60x0837 ----- 70x0938 ----- 80x0a39 ----- 90x0b30 ----- 00x0c2d ----- -0x0d3d ----- =0x2b5c ----- \0x0e08 ----- 退格键0x0f09 ----- Tab0x1071 ----- q0x1177 w0x1265 e0x1372 r0x1474 t0x1579 y0x1675 u0x1769 i0x186f o0x1970 p0x1a5b [0x1b5d ]0x1e61 a0x1f73 s0x2064 d0x2166 f0x2267 g0x2368 h0x246a j0x256b k0x266c l0x273b0x2827 '0x1c0d 回车0x2c7a z0x2d78 x0x2e63 c0x2f76 v0x3062 b0x316e n0x326d m0x332c ,0x342e .0x352f /0x3920 空格键右边数字键盘:0x5200 Insert0x4700 Home0x4900 Page UP0x5300 Delete0x4f00 End0x5100 PageDown0x4800 上箭头0x4b00 左箭头0x5000 下箭头0x4d00 右箭头0x352f /0x372a *0x4a2d - (注意,这是数字键盘的) 0x4737 70x4838 80x4939 90x4b34 40x4c35 50x4d36 60x4e2b +0x4f31 10x5032 20x5133 30x5230 00x532e DelCtrl+字母:在字母扫描码的基础上减去0x0060alt+字母: 在字母的基础上,把最后两位变成00shift+字母:在字母的基础上减去0x0020比如: a----0x1e61 Ctrl+a----0x1e01 Alt+a-----0x1e00b----0x3062 Ctrl+b----0x3002 Alt+b-----0x3000另加: Ctrl+Enter: 0x1c0a可以直接用一个程序查看的,很简单的#include “stdio.h”#include “bios.h”void main(void){int key, modifiers;while ((key=bioskey(0)) != 0 && key!=0x11b){printf("0x%x \n",key);}}*********************************************************** ********************上面列出的编码中,前面两位是“扫描码”,后面两位是ASCII码,合起来是所谓的“键盘码”比如,小键盘的数字键扫描码和大键盘的数字键是不同的,而后两位是一样的,因为那个是它们共用的ASCII码,下面就是扫描码的列表Keyboard Scan Codes (Numerical Order)---------------+---------------+---------------+---------------+---------------HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys---------------+---------------+---------------+---------------+---------------|10 16 Q |20 32 D |30 48 B|40 64 F601 1 ESC |11 17 W |21 33 F |31 49 N |41 65 F702 2 1 |12 18 E |22 34 G |32 50 M |42 66 F803 3 2 |13 19 R |23 35 H |33 51 , |43 67 F904 4 3 |14 20 T |24 36 J |34 52 . |44 68 F1005 5 4 |15 21 Y |25 37 K |35 53 / |45 69 Num06 6 5 |16 22 U |26 38 L |36 54 R Shift |46 70 Scroll07 7 6 |17 23 I |27 39 |37 55 PrtSc |47 71 Home08 8 7 |18 24 O |28 40 ' |38 56 Alt |48 72 Up09 9 8 |19 25 P |29 41 ` |39 57 Space |49 73 PgUp0A 10 9 |1A 26 [ |2A 42 L Shift |3A 58 Caps |4A 74 -0B 11 0 |1B 27 ] |2B 43 \ |3B 59 F1 |4B 75 Left0C 12 - |1C 28 |2C 44 Z |3C 60 F2 |4C 76 Center0D 13 = |1D 29 CTRL |2D 45 X |3D 61 F3 |4D 77 Right0E 14 bs |1E 30 A |2E 46 C |3E 62 F4 |4E 78 +0F 15 Tab |1F 31 S |2F 47 V |3F 63 F5 |4F 79 End---------------+---------------+---------------+---------------+---------------50 80 Down | | | |51 81 PgDn | | | |52 82 Ins | | | |53 83 Del | | | |---------------+---------------+---------------+---------------+---------------Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)Top number ... DECBottom number ... HEX+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|Num Lok|Scr Lok|| | | | | | | | | | | | | | | | | | ||59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 | 69 | 70 ||3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E | 45 | 46 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] | | 7 3 8 | 9 3 - || | | | | | | | | | | | | | | | | 3 | 3 ||61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 | |71 372 |73 374 | |3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B | |47 348 |49 34A | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F5|F6|CTR| A | S | D | F | G | H | J | K | L | | ' | ` |28 | 4 3 5 | 6 3 || | | | | | | | | | | | | | | | | 3 | 3 ||63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 | |75 376 |77 3 | |3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |4B 34C |4D 3 | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 3 2 | 3 3 + || | | | | | | | | | | | | | | | | 3 | 3 ||65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380 |81 378 | |41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350 |51 34E | +--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F9|F0| A|t | | | | |pac| | | | |Cap|Lok| I|s 3 D|l 3 || | | | | | | | | | | | | | | | | 3 | 3 ||67|68| 5| | | | | |57 | | | | | 5| | 8| 3 8| 3 ||43|44| 3| | | | | |39 | | | | | 3| | 5| 3 5| 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+Extended ASCII Special Key Codes (Numerical Order)... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the speci al codesare to be applied.)HEX DEC keys--------------------------------------03 3 CTRL-2; same as CHR$(0)0F 15 Shift-tab10 16 Alt-Q11 17 Alt-W12 18 Alt-E13 19 Alt-R14 20 Alt-T15 21 Alt-Y16 22 Alt-U17 23 Alt-I18 24 Alt-O19 25 Alt-P 1E 30 Alt-A 1F 31 Alt-S20 32 Alt-D21 33 Alt-F22 34 Alt-G23 35 Alt-H24 36 Alt-J25 37 Alt-K26 38 Alt-L 2C 44 Alt-Z 2D 45 Alt-X 2E 46 Alt-C 2F 47 Alt-V30 48 Alt-B31 49 Alt-N32 50 Alt-M 3B 59 F13C 60 F23D 61 F3-------------------------------------- 3E 62 F43F 63 F540 64 F641 65 F742 66 F843 67 F944 68 F1047 71 Home48 72 Up49 73 PgUp4B 75 Left4D 77 Right4F 79 End50 80 Down51 81 PgDn52 82 Ins53 83 Del54 84 Shift-F155 85 Shift-F256 86 Shift-F357 87 Shift-F458 88 Shift-F559 89 Shift-F6 5A 90 Shift-F7 5B 91 Shift-F8 5C 92 Shift-F9 5D 93 Shift-F10 5E 94 Ctrl-F1 5F 95 Ctrl-F260 96 Ctrl-F361 97 Ctrl-F462 98 Ctrl-F563 99 Ctrl-F664 100 Ctrl-F765 101 Ctrl-F866 102 Ctrl-F967 103 Ctrl-F1068 104 Alt-F169 105 Alt-F2 6A 106 Alt-F3 6B 107 Alt-F46D 109 Alt-F66E 110 Alt-F76F 111 Alt-F870 112 Alt-F971 113 Alt-F1072 114 Ctrl-PrtSc73 115 Ctrl-Left74 116 Ctrl-Right75 117 Ctrl-End76 118 Ctrl-PgDn77 119 Ctrl-Home78 120 Alt-179 121 Alt-27A 122 Alt-37B 123 Alt-47C 124 Alt-57D 125 Alt-67E 126 Alt-77F 127 Alt-880 128 Alt-981 129 Alt-083 131 Alt-=84 132 Ctrl-PgUp85 133 Ctrl-Up86 134 Ctrl--(num)87 135 Ctrl-Center88 136 Ctrl-+(num)89 137 Ctrl-Down 8A 138 Ctrl-Ins8B 139 Ctrl-Del8C 140 Alt-Home 8D 141 Alt-Up8E 142 Alt-PgUp 8F 143 Alt--(num)90 144 Alt-Left91 145 Alt-Center92 146 Alt-Right93 147 Alt-+(num)94 148 Alt-End95 149 Alt-Down96 150 Alt-PgDn97 151 Alt-InsExtended ASCII Special Key Codes (Keyboard Layout)------------------+-------------------+-------------------+--------------------HEX DEC keys | HEX DEC keys | HEX DEC keys | HEX DEC keys ------------------+-------------------+-------------------+--------------------03 3 nul | 0F 15 Shift-tab | 72 114 Ctrl-PrtSc|------------------+-------------------+-------------------+--------------------47 71 Home | | 77 119 Ctrl-Home | 8C 140 Alt-Home48 72 Up | | 85 133 Ctrl-Up | 8D 141 Alt-Up49 73 PgUp | | 84 132 Ctrl-PgUp | 8E 142 Alt-PgUp 4A 74 -(num) | | 86 134 Ctrl--(nu)| 8F 143 Alt--(num) 4B 75 Left | | 73 115 Ctrl-Left | 90 144 Alt-Left4C 76 Center | | 87 135 Ctrl-Centr| 91 145 Alt-Center 4D 77 Right | | 74 116 Ctrl-Right| 92 146 Alt-Right4E 78 +(num) | | 88 136 Ctrl-+(nu)| 93 147 Alt-+(num) 4F 79 End | | 75 117 Ctrl-End | 94 148 Alt-End50 80 Down | | 89 137 Ctrl-Down | 95 149 Alt-Down51 81 PgDn | | 76 118 Ctrl-PgDn | 96 150 Alt-PgDn52 82 Ins | | 8A 138 Ctrl-Ins | 97 151 Alt-Ins53 83 Del | | 8B 139 Ctrl-Del | 98 152 Alt-Del------------------+-------------------+-------------------+--------------------3B 59 F1 | 54 84 Shift-F1 | 5E 94 Ctrl-F1 | 68 104 Alt-F13C 60 F2 | 55 85 Shift-F2 | 5F 95 Ctrl-F2 | 69 105 Alt-F23D 61 F3 | 56 86 Shift-F3 | 60 96 Ctrl-F3 | 6A 106 Alt-F33E 62 F4 | 57 87 Shift-F4 | 61 97 Ctrl-F4 | 6B 107 Alt-F43F 63 F5 | 58 88 Shift-F5 | 62 98 Ctrl-F5 | 6C 108 Alt-F540 64 F6 | 59 89 Shift-F6 | 63 99 Ctrl-F6 | 6D 109 Alt-F641 65 F7 | 5A 90 Shift-F7 | 64 100 Ctrl-F7 | 6E 110 Alt-F742 66 F8 | 5B 91 Shift-F8 | 65 101 Ctrl-F8 | 6F 111 Alt-F843 67 F9 | 5C 92 Shift-F9 | 66 102 Ctrl-F9 | 70 112 Alt-F944 68 F10 | 5D 93 Shift-F10 | 67 103 Ctrl-F10 | 71 113 Alt-F10 ------------------+-------------------+-------------------+--------------------1E 30 Alt-A | 31 49 Alt-N | 78 120 Alt-1 |30 48 Alt-B | 18 24 Alt-O | 79 121 Alt-2 |2E 46 Alt-C | 19 25 Alt-P | 7A 122 Alt-3 |20 32 Alt-D | 10 16 Alt-Q | 7B 123 Alt-4 |12 18 Alt-E | 13 19 Alt-R | 7C 124 Alt-5 |21 33 Alt-F | 1F 31 Alt-S | 7D 125 Alt-6 |22 34 Alt-G | 14 20 Alt-T | 7E 126 Alt-7 |23 35 Alt-H | 16 22 Alt-U | 7F 127 Alt-8 |17 23 Alt-I | 2F 47 Alt-V | 80 128 Alt-9 |24 36 Alt-J | 11 17 Alt-W | 81 129 Alt-0 |25 37 Alt-K | 2D 45 Alt-X | 82 130 Alt-- |26 38 Alt-L | 15 21 Alt-Y | 83 131 Alt-= |32 50 Alt-M | 2C 44 Alt-Z | |------------------+-------------------+-------------------+--------------------。
键盘扫描码key_code
键盘扫描码Keyboard Scan Codes (Numerical Order)---------------+---------------+---------------+---------------+---------------HEX DEC keys |HEX DEC keys |HEX DEC keys |HEX DEC keys |HEXDEC keys---------------+---------------+---------------+---------------+---------------|10 16 Q |20 32 D |30 48 B |4064 F601 1 ESC |11 17 W |21 33 F |31 49 N |4165 F702 2 1 |12 18 E |22 34 G |32 50 M |4266 F803 3 2 |13 19 R |23 35 H |33 51 , |4367 F904 4 3 |14 20 T |24 36 J |34 52 . |4468 F1005 5 4 |15 21 Y |25 37 K |35 53 / |4569 Num06 6 5 |16 22 U |26 38 L |36 54 RShift|46 70 Scroll07 7 6 |17 23 I |27 39 ; |37 55 PrtSc |4771 Home08 8 7 |18 24 O |28 40 ' |38 56 Alt |4872 Up09 9 8 |19 25 P |29 41 ` |39 57 Space |4973 PgUp0A 10 9 |1A 26 [ |2A 42 LShift|3A 58 Caps |4A 74 -0B 11 0 |1B 27 ] |2B 43 \ |3B 59 F1 |4B75 Left0C 12 - |1C 28 |2C 44 Z |3C 60 F2 |4C76 Center0D 13 = |1D 29 CTRL |2D 45 X |3D 61 F3 |4D77 Right0E 14 bs |1E 30 A |2E 46 C |3E 62 F4 |4E78 +0F 15 Tab |1F 31 S |2F 47 V |3F 63 F5 |4F79 End---------------+---------------+---------------+---------------+---------------50 80 Down | | | |51 81 PgDn | | | |52 82 Ins | | | |53 83 Del | | | | ---------------+---------------+---------------+---------------+---------------Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)Top number ... DECBottom number ... HEX+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|NumLok|Scr Lok|| | | | | | | | | | | | | | | | || ||59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 | 69 | 70 | |3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E| 45 | 46 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] | | 7 38 | 9 3 - || | | | | | | | | | | | | | | | | 3| 3 ||61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 | |71 372|73 374 ||3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B | |47 348|49 34A |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F5|F6|CTR| A | S | D | F | G | H | J | K | L | ; | ' | ` |28 | 4 35 |6 3 || | | | | | | | | | | | | | | | | 3| 3 ||63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 | |75 376|77 3 ||3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 | |4B 34C|4D 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 32 |3 3 + || | | | | | | | | | | | | | | | | 3| 3 ||65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380|81 378 ||41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350|51 34E |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+|F9|F0| A|t | | | | |pac| | | | |Cap|Lok| I|s 3D|l 3 || | | | | | | | | | | | | | | | | 3| 3 ||67|68| 5| | | | | |57| | | | | 5| | 8| 3 8| 3 ||43|44| 3| | | | | |39| | | | | 3| | 5| 3 5| 3 |+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+Extended ASCII Special Key Codes (Numerical Order)... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the special codes are to be applied.)HEX DEC keys-------------------------------03 3 CTRL-2; same as CHR$(0)0F 15 Shift-tab10 16 Alt-Q11 17 Alt-W12 18 Alt-E13 19 Alt-R14 20 Alt-T15 21 Alt-Y16 22 Alt-U17 23 Alt-I18 24 Alt-O19 25 Alt-P1E 30 Alt-A1F 31 Alt-S20 32 Alt-D21 33 Alt-F22 34 Alt-G23 35 Alt-H24 36 Alt-J25 37 Alt-K26 38 Alt-L2C 44 Alt-Z2D 45 Alt-X2E 46 Alt-C2F 47 Alt-V30 48 Alt-B31 49 Alt-N32 50 Alt-M3B 59 F13C 60 F23D 61 F33E 62 F43F 63 F540 64 F641 65 F742 66 F843 67 F944 68 F1047 71 Home48 72 Up49 73 PgUp4B 75 Left4D 77 Right4F 79 End50 80 Down51 81 PgDn52 82 Ins53 83 Del54 84 Shift-F155 85 Shift-F256 86 Shift-F357 87 Shift-F458 88 Shift-F559 89 Shift-F6 5A 90 Shift-F7 5B 91 Shift-F8 5C 92 Shift-F9 5D 93 Shift-F105F 95 Ctrl-F260 96 Ctrl-F361 97 Ctrl-F462 98 Ctrl-F563 99 Ctrl-F664 100 Ctrl-F765 101 Ctrl-F866 102 Ctrl-F967 103 Ctrl-F1068 104 Alt-F169 105 Alt-F26A 106 Alt-F36B 107 Alt-F46C 108 Alt-F56D 109 Alt-F66E 110 Alt-F76F 111 Alt-F870 112 Alt-F971 113 Alt-F1072 114 Ctrl-PrtSc73 115 Ctrl-Left74 116 Ctrl-Right75 117 Ctrl-End76 118 Ctrl-PgDn77 119 Ctrl-Home78 120 Alt-179 121 Alt-27A 122 Alt-37B 123 Alt-47C 124 Alt-57D 125 Alt-67E 126 Alt-77F 127 Alt-880 128 Alt-981 129 Alt-082 130 Alt--83 131 Alt-=84 132 Ctrl-PgUp85 133 Ctrl-Up86 134 Ctrl--(num)87 135 Ctrl-Center88 136 Ctrl-+(num)89 137 Ctrl-Down8B 139 Ctrl-Del8C 140 Alt-Home8D 141 Alt-Up8E 142 Alt-PgUp8F 143 Alt--(num)90 144 Alt-Left91 145 Alt-Center92 146 Alt-Right93 147 Alt-+(num)94 148 Alt-End95 149 Alt-Down96 150 Alt-PgDn97 151 Alt-Ins98 152 Alt-DelExtended ASCII Special Key Codes (Keyboard Layout)------------------+-------------------+-------------------+--------------------HEX DEC keys | HEX DEC keys | HEX DEC keys | HEX DECkeys------------------+-------------------+-------------------+--------------------03 3 nul | 0F 15 Shift-tab | 72 114 Ctrl-PrtSc|------------------+-------------------+-------------------+--------------------47 71 Home | | 77 119 Ctrl-Home | 8C140 Alt-Home48 72 Up | | 85 133 Ctrl-Up | 8D141 Alt-Up49 73 PgUp | | 84 132 Ctrl-PgUp | 8E142 Alt-PgUp4A 74 -(num) | | 86 134 Ctrl--(nu)| 8F143 Alt--(num)4B 75 Left | | 73 115 Ctrl-Left | 90144 Alt-Left4C 76 Center | | 87 135 Ctrl-Centr| 91145 Alt-Center4D 77 Right | | 74 116 Ctrl-Right| 92146 Alt-Right4E 78 +(num) | | 88 136 Ctrl-+(nu)| 93147 Alt-+(num)4F 79 End | | 75 117 Ctrl-End | 94148 Alt-End50 80 Down | | 89 137 Ctrl-Down | 95149 Alt-Down51 81 PgDn | | 76 118 Ctrl-PgDn | 96150 Alt-PgDn52 82 Ins | | 8A 138 Ctrl-Ins | 97151 Alt-Ins53 83 Del | | 8B 139 Ctrl-Del | 98152 Alt-Del------------------+-------------------+-------------------+--------------------3B 59 F1 | 54 84 Shift-F1 | 5E 94 Ctrl-F1 | 68104 Alt-F13C 60 F2 | 55 85 Shift-F2 | 5F 95 Ctrl-F2 | 69105 Alt-F23D 61 F3 | 56 86 Shift-F3 | 60 96 Ctrl-F3 | 6A106 Alt-F33E 62 F4 | 57 87 Shift-F4 | 61 97 Ctrl-F4 | 6B107 Alt-F43F 63 F5 | 58 88 Shift-F5 | 62 98 Ctrl-F5 | 6C108 Alt-F540 64 F6 | 59 89 Shift-F6 | 63 99 Ctrl-F6 | 6D109 Alt-F641 65 F7 | 5A 90 Shift-F7 | 64 100 Ctrl-F7 | 6E110 Alt-F742 66 F8 | 5B 91 Shift-F8 | 65 101 Ctrl-F8 | 6F111 Alt-F843 67 F9 | 5C 92 Shift-F9 | 66 102 Ctrl-F9 | 70112 Alt-F944 68 F10 | 5D 93 Shift-F10 | 67 103 Ctrl-F10 | 71113 Alt-F10------------------+-------------------+-------------------+--------------------1E 30 Alt-A | 31 49 Alt-N | 78 120 Alt-1 |30 48 Alt-B | 18 24 Alt-O | 79 121 Alt-2 |2E 46 Alt-C | 19 25 Alt-P | 7A 122 Alt-3 |20 32 Alt-D | 10 16 Alt-Q | 7B 123 Alt-4 |12 18 Alt-E | 13 19 Alt-R | 7C 124 Alt-5 |21 33 Alt-F | 1F 31 Alt-S | 7D 125 Alt-6 |22 34 Alt-G | 14 20 Alt-T | 7E 126 Alt-7 |23 35 Alt-H | 16 22 Alt-U | 7F 127 Alt-8 |17 23 Alt-I | 2F 47 Alt-V | 80 128 Alt-9 |24 36 Alt-J | 11 17 Alt-W | 81 129 Alt-0 |25 37 Alt-K | 2D 45 Alt-X | 82 130 Alt-- |26 38 Alt-L | 15 21 Alt-Y | 83 131 Alt-= |32 50 Alt-M | 2C 44 Alt-Z |PC机和键盘部分通信命令字PC机向键盘发出的命令共有10条,键盘向PC机发出的键盘响应共有7条。
扫条码工作原理
扫条码工作原理
扫码工作原理可以简单概括为以下几个步骤:
1. 打开扫码应用或者使用支持扫码功能的设备,如手机、扫码枪等。
2. 扫码设备通过内置的光源(如激光或LED)发出一束光线。
3. 光线照射到被扫描物体上的条码上。
4. 条码是由一系列宽度不同的黑白条纹组成的,这些条纹反射或吸收光线的方式不同。
5. 光线在被扫描物体上的条码上发生反射或散射,然后被扫描设备接收。
6. 扫描设备中的传感器接收到反射回来的光信号,将其转换为电信号。
7. 扫描设备中的电子芯片对接收到的电信号进行解码,将条码上的信息翻译成可识别的数据。
8. 解码后的数据被传输到扫码设备的相关应用程序或系统中,完成对条码数据的处理和识别。
总结来说,扫码的工作原理主要是利用光线的反射与散射原理,通过扫描设备对反射回来的光信号进行接收和解码,将条码上
的信息转化为可识别的数据。
这样就可以实现对条码进行快速而准确的识别,方便我们在日常生活中的各种应用场景中使用条码。
条码扫描器原理
条码扫描器原理
条码扫描器是一种常见的自动识别设备,它可以通过扫描条形码上的信息来获取相关数据。
它的原理是利用光学传感器和解码器来解析条码上的信息,然后将其转换成数字或文字输出。
下面我们来详细了解一下条码扫描器的原理。
首先,条码扫描器通过内置的光源发射出一束光线,这个光线会照射到条形码上。
条形码是由黑白相间的线条组成的,光线照射到条形码上后,会反射出不同的光强度。
光学传感器会接收到这些反射光信号,并将其转换成电信号。
接下来,经过光学传感器的信号转换后,这些电信号会传输到解码器中。
解码器会对这些信号进行解析和处理,将条形码上的信息转换成数字或文字。
解码器的工作原理是通过识别条形码上的线条宽窄和间距来确定条码的编码规则,然后将其转换成可识别的信息。
最后,解码器将转换后的信息输出到计算机或其他设备上,用户就可以通过这些信息来获取相关数据或进行相应的操作。
条码扫描器的原理简单清晰,通过光学传感器和解码器的配合,可以快速
准确地识别条形码上的信息。
除了以上的原理,条码扫描器的工作还受到条形码的类型、分辨率、扫描速度等因素的影响。
不同类型的条形码需要不同的解码规则,而高分辨率和快速扫描能力可以提高条码扫描器的识别精度和工作效率。
总的来说,条码扫描器的原理是通过光学传感器和解码器来识别条形码上的信息,然后将其转换成数字或文字输出。
它的工作原理简单清晰,可以快速准确地获取条形码上的数据,为各行各业的自动识别提供了便利。
矩阵键盘编码注意事项
矩阵键盘编码注意事项
使用矩阵键盘进行编码时,需要注意以下事项:
1. 矩阵键盘布局:矩阵键盘通常采用行列布局,其中行为控制线,列为数据线。
因此,在编码之前需要了解键盘的布局,以确定每个按键对应的行和列。
2. 键盘扫描码:每个按键在矩阵键盘中都有一个扫描码。
这些扫描码通常是唯一的,并且与每个按键的位置一一对应。
编码时,需要获取每个按键的扫描码。
3. 键盘驱动程序:在编码之前,需要编写键盘的驱动程序,用于接收来自键盘的扫描码。
这个驱动程序可以根据扫描码确定按下的是哪个按键。
4. 键盘行列编码方法:矩阵键盘编码常用的方法是行列扫描编码。
通过轮询每一行,并同时检测列线上的信号来确定哪个按键被按下。
编码时,需要在程序中实现这个编码方法。
5. 键值识别:根据不同的按键扫描码,需要识别出对应的键值。
键值通常用于表示按下的是哪个按键,并根据键值来进行相应的处理。
6. 键盘事件处理:按下或释放按键时,会触发键盘事件。
在编码过程中,需要实现正确的键盘事件处理程序来响应按键事件,如记录按键、执行相应的操作等。
7. 键盘消抖:在编码时,需要注意键盘的消抖问题。
由于键盘机械按键的特性,按键可能会出现抖动现象,导致多次触发按键事件。
为了避免这种情况,可以在驱动程序中加入适当的消抖算法来解决问题。
总之,使用矩阵键盘进行编码时,需要熟悉键盘布局和扫描码,编写相应的键盘驱动程序,实现键盘行列编码方法,并注意键值识别、事件处理和键盘消抖等问题。
二维码的原理是什么
二维码的原理是什么二维码(QR code)是一种可以储存数据的矩阵条形码,它是由黑白像素组成的方块矩阵,通过不同的排列组合来表示不同的信息。
二维码的应用已经非常广泛,它可以用于商业支付、信息传递、产品追溯、门票验票等各种场景。
那么,二维码的原理是什么呢?下面我们就来详细解析一下。
首先,我们需要了解二维码的结构。
二维码是由黑白相间的方块组成,每个方块可以表示一个二进制数字,0代表黑色,1代表白色。
通过不同排列组合的方块,可以表示不同的信息。
二维码可以分为定位图案、功能图案、校正图案和数据区域。
定位图案用于确定二维码的位置和方向,功能图案用于标识二维码的类型和版本,校正图案用于纠正扫描时产生的畸变,数据区域则是存储实际的信息内容。
其次,我们来了解二维码的编码原理。
二维码的编码原理主要包括数据编码和纠错编码。
数据编码是将要存储的信息经过特定的编码规则转换成二维码的黑白像素,常见的编码规则包括ASCII编码、UTF-8编码等。
纠错编码是为了增强二维码的容错性,即使二维码部分受损或遮挡,也能够通过纠错编码进行修复。
常见的纠错编码算法包括Reed-Solomon码、BCH码等。
最后,我们来探讨二维码的扫描原理。
当我们用手机或扫描设备对二维码进行扫描时,其实是在对二维码的图像进行解析和识别。
扫描设备通过光学传感器捕捉二维码的图像,然后通过图像处理算法对二维码进行定位、识别和解码。
在定位过程中,扫描设备会通过定位图案确定二维码的位置和方向;在识别过程中,扫描设备会识别功能图案和校正图案,以确定二维码的类型和版本;在解码过程中,扫描设备会对数据区域的黑白像素进行解析,将其转换成实际的信息内容。
综上所述,二维码的原理主要包括结构原理、编码原理和扫描原理。
通过对二维码的结构进行分析,我们可以了解二维码的基本构成;通过对二维码的编码原理进行解析,我们可以了解二维码的信息存储方式;通过对二维码的扫描原理进行探讨,我们可以了解二维码的识别过程。
scancode(扫描码)
scancode(扫描码)In order to set it correctly, it is necessary for us to understand the "Scancode Map" (scan code mapping) first. "Scancode Map" is a binary key value in the[HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Keyboa rd Layout] in the registry (default, no, new), and has a fixed format. The general format of Scancode Map Code:"hex:00,00,00,00,00,00,00,00, |02|, 00,00,00, | mapping after the scan code (XX XX), the original scan code (XX XX)|00,00,00,00". Its meaning is: 8 00 (two DWord 0) is the version number and the head of the next byte, "02" means the minimum number of mappings, the value "02", said the only map a set (here is the number of numerical mapping with the end of the end of 00, as "00, 00. 00, so the total is a large number than the actual mapping), to map multiple groups, only need to increase the corresponding values, such as the mapping of 2 groups and its value should be" 03 "," 3 groups of 04". The code behind each of the 4 is a group: the first two are mapped key scan code, two is the original key scan code. If you want to exchange two keys, one has two sets of mappings, and the four values are arranged as follows: key A, key B, key B, key A - it means that the key A becomes the key B, and the key B becomes the key A. Finally, end with "00,00,00,00". After we know "Scancode Map", we can use the add function key. For example, the WIN key scan code is: "E0 5B", "Esc" is "0001", the left "Ctrl" is "00 1D", and more detailed scanning code, please refer to the keyboard scanning code.5, after you restart your computer, your change will take effect.6, you can also save the following text as "scancode.reg", double-click the import registry. Through the above mentioned key check key table query, find you want to replace the Scan Code code, the ##, ## to replace it.Windows Registry Editor Version 5[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]"Scancode Map" =hex:00,00,00,00,00,00,00,00,02,00,00,00, ##, ##, ##, ##, 00,00,00,007, for example: for example, we want to use the F9, F10 became the key to modify the volume key, through the look-up table, we can learn that the F9 and F10 scan code respectively (00, 43), (00,44), Volume Up, Volume Down scan code respectively (E0, 30), (E0,2E), so if the Scancode can be set as follows:"Scancode, Map", =hex:00,00,00,00,00,00,00,00,03,00,00,00,30, E0,43,00,2E, E0,44,00,00,00,00,00Meaning: | version and two byte | head group map | first group | second group | end termination |Note: when you enter in the registry, you need to exchange the bits and bytes of the scan code. For example, the above map is entered in the registry:In addition, if you want a key to fail, map its scan code to "0000". For example, the previously mentioned IBM ThinkPadkeyboard, in order to put the browser browser page before and after the key is prohibited, can be set as:"Scancode, Map",=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,6A,E0,00,00,69, E0,00,00,00,00Meaning: | version and two byte | head group map | first group | second group | end termination |In the registry after the completion of the entry is like this:8, the above changes to the registry must be restarted after the computer in order to enter into force.9, if you want to recover the original keyboard layout, only located in the[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboa rd Layout] registry, delete the "Scancode Map" key, and then restart the computer.10, in the current version of the Windows, the keyboard mapping is global, rather than to a user, if you modify add or delete a mapping, then no matter which user use, the keyboard has changed; in addition, if a computer has a keyboard, the keyboard will produce the same changes.Keyboard scan codeBackspace 00, 0ECaps Lock 00 3A Delete E0 53End E0 4FEnter 00, 1C Escape 0001 HOME E0 47Insert E0 52Left Alt 0038Left Ctrl 00 1D Left Shift 00 2A Left Windows E0 5B Num Lock 0045 Page Down E0 51 Page Up E0 49 Power E0 5EPrtSc E0 37Right Alt E0 38 Right Ctrl E0 1D Right Shift 0036 Right Windows E0 5C Scroll Lock 0046 Sleep E0 5FSpace 0039Tab 00, 0FWake E0 63*/****00052100 4F2005030051400 4B500 4C600 4D 70047 80048 90049- 00, 4A* 0037 0053/ 0035+ 00 4E Enter E0 1C F1 00, 3B F2 00, 3C F3 00, 3D F4 00, 3E F5 00, 3FF6 0040F7 0041F8 0042F9 0043F10 0044F11 0057F12 0058F13 0064F14 0065F15 0066Down E0 50Left E0 4BRight E0 4DUp E0 48 Calculator E0 21E-Mail E0 6C Media Select E0 6D Messenger E0 11 My Computer E0 6B "0028."_ - 00 0C< < 0033> 0034/ 0035: 0027[{00 1A| \ 00 2B} 00, 1B` ` 0029 '= + 00 0D0) 00 0B1! 0002!2 @ 00033 # 00044 $0005 5%, 00066 ^ 00077 & 00088 * 00099 (00 0A)A 00, 1EB 0030C 00, 2ED 0020E 0012F 0021G 0022H 0023i am 1700 24 js 25 00l 00 2600 32 mn 31 0000 18 o00 19 pq 10, 00r 13 0000 to 1f and t 00 14u 16 00v 00 2f00 11 wx 00 2d00 to 15 yz 00 2cclose to 40 e0 fwd e0 42the e0 3bnew e0 3ee0 3c home office open e0 3fprint e0 58redo e0 07reply e0 41save e0 57send e0 43spell e0 23task pane e0 3dundo a e0 08mute e0 20next track 19 e0play / pause e0 22track 10 prev e0stop e0 24volume down e0 2evolume up to 30 e0¥ 7d - 00e0 45next to enter, e0 2bnext to shift l - e0 56 next to the r shift e0 73 dbe _ katakana e0 70dbe _ sbcschar e0 77 convert e0 79 nonconvert e0 7b internet e0 01 itouch e0 13 shopping e0 04web cam 12 e0back e0 6afavorites e0 66e0 forwards, 69e0 32 homerefresh e0 67search e0 65stop e0 68my pictures e0 64my music e0 3cmute e0 20play / pause e0 22 stop e0 2430 +, e0 (volume up) - (volume down) e0 2e | < < 10 e0 (previous) > > | e0 (next) 19 media e0 6dmail e0 6cweb / e0 32 home messenger e0 05 calculator e0 21log off e0 16sleep e0 5fhelp (e0 3b on f1 key)undo a (e0 08 on f2 key) redo (f3 key on e0 07) fwd (e0 f8 key on 42) send (e0 on f9 key 43)。
扫码枪怎么使用
扫码枪怎么使用
扫码枪的使用方法如下:
1. 首先将扫码枪与电脑或收银机等设备连接。
一般来说,扫码枪会配有一个USB 接口,将扫码枪的USB接口插入计算机的USB插槽,或根据具体需求选择其他接口。
2. 打开扫码枪的电源开关。
有些扫码枪的电源开关在底部,有些则在侧面或顶部。
根据扫码枪的设计,找到电源开关并将其打开。
3. 将扫码枪对准需要扫描的二维码或条形码。
保持扫码枪与条码之间的距离适中,一般建议在5-10厘米内。
4. 按下扫码枪上的扫描按钮或扳机。
有些扫码枪的扫描按钮位于顶部,有些则在侧面或底部。
根据具体型号找到扫描按钮并按下。
5. 扫码枪会通过红外线或激光技术读取二维码或条形码上的信息。
读取成功后,扫码枪会发送数据到连接的设备。
注意事项:
- 在使用扫码枪之前,确保安装了适当的驱动程序或软件。
- 确保扫码枪与电脑或设备的连接稳定。
- 确保扫码枪的扫描按钮灵敏度与设备配合良好。
有些扫码枪需要按下扫描按钮一段时间才能触发扫描,有些则只需要轻触。
- 避免在扫码枪读取条码时晃动或移动扫码枪,以免影响读取效果。
- 根据具体需求,学习并了解相关的扫码枪设置和功能,例如扫描模式切换、声音提醒设置等。
扫码送礼方案
扫码送礼方案引言在移动支付和线上购物成为日常生活的主要方式后,扫码送礼方案也愈发成为商家吸引顾客和增加销售的有效手段。
本文将介绍一个全面的扫码送礼方案,包括实施步骤、设计要点和市场推广策略。
一、实施步骤为了成功实施扫码送礼方案,以下是一些关键步骤:1.制定扫码送礼计划:商家应该制定一份详细的计划,包括目标、预算、活动周期和参与的礼品类型。
2.选择合适的扫码方式:商家可以选择使用二维码、条形码或快速响应码等不同的扫码方式。
根据目标群体和活动需求,选择最合适的扫码方式。
3.设计扫码送礼页面:商家需要设计一个专门用于扫码送礼的页面,内容包括活动说明、参与方法和礼品展示等。
4.制作扫码牌或海报:商家应该制作扫码牌或海报,以便顾客能够方便地扫描码参与活动。
这些扫码牌或海报应放置在商店的明显位置或线上渠道。
5.与礼品供应商合作:商家需要与礼品供应商合作,确保礼品的质量和供应的可靠性。
同时,商家也可以通过与供应商合作获得更有吸引力的礼品。
6.宣传活动:商家应在活动开始前进行宣传,包括线上广告、社交媒体推广和线下传单等。
要确保尽可能多的顾客了解并参与扫码送礼活动。
7.跟进活动效果:商家应跟踪和分析扫码送礼活动的效果,包括参与人数、转化率和销售额等。
根据结果,商家可以进一步优化活动策略和礼品选择。
二、设计要点为了使扫码送礼方案更具吸引力和效果,以下是一些设计要点:1.选择有吸引力的礼品:精心挑选一些具有吸引力的礼品,可以是实用的产品、独特的礼品或与品牌相关的商品。
礼品的吸引力是使顾客扫码参与活动的主要原因。
2.简化扫码流程:确保扫码的过程简单、快速且便捷,避免繁琐的注册或登录步骤。
顾客只需用手机扫码即可参与活动,这样可以提高参与率。
3.设置奖励机制:为了鼓励顾客参与活动,可以设置奖励机制,例如兑换积分、折扣券或赠品等。
奖励机制能够增加参与者的积极性和参与度。
4.设计吸引人的页面:扫码送礼页面的设计应该简洁明了、美观大方。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#define KEY_F7 65
#define KEY_F8 66
#define KEY_F9 67
#define KEY_F10 68
#define KEY_INSERT 82
#define KEY_HOME 71
#define KEY_PAGEUP 73
扫描码 键
0x011b ESC
0x3b00 F1
0x3c00 F2
0x3d00 F3
0x3e00 F4
0x3f00 F5
0x4000 F6
0x4100 F7
0x4200 F8
0x4300 F9
0x4400 F10
主键盘区:
0x2960 ~
0x0231 1
0x0332 2
#define KEY_W 0x57
#define KEY_E 0x45
#define KEY_R 0x52
#define KEY_T 0x54
#define KEY_Y 0x59
#define KEY_U 0x55
#define KEY_I 0x49
#define KEY_O 0x4F
0x4700 Home
0x4900 Page UP
0x5300 Delete
0x4f00 End
0x5100 PageDown
0x4800 上箭头
0x4b00 左箭头
0x5000 下箭头
0x4d00 右箭头
0x352f /
0x372a *
0x4a2d - (注意,这是数字键盘的)
#define KEY_RBRACKET 27 /* }] */
#define KEY_SEMICOLON 39 /* :; */
#define KEY_RQUOTE 40 /* ' */
#define KEY_LQUOTE 41 /* ~` */
#define KEY_PERIOD 52 /* >. */
0x4737 7
0x4838 8
0x4939 9
0x4b34 4
0x4c35 5
0x4d36 6
0x4e2b +
0x4f31 1
0x5032 2
0x5133 3
0x5230 0
0x532e Del
这里罗列了键盘上各键的扫描码,还有ALT、CTR、SHIFT与部分键的组合扫描码。这对于编写需要键盘处理的程序应该有所帮助!
#define KEY_COMMA 51 /* <, */
#define KEY_SLASH 53 /* ?/ */
#define KEY_BACKSLASH 43 /* |\ */
#define KEY_ENTER 28 /*回车键*/
#define KEY_BACKSPACE 14 /*退格键*/
0x1474 t
0x1579 y
0x1675 u
0x1769 i
0x186f o
0x1970 p
0x1a5b [
0x1b5d ]
0x1e61 a
0x1f73 s
0x2064 d
0x2166 f
0x2267 g
0x2368 h
0x246a j
0x256b k
0x266c l
#define KEY_U 0x15
#define KEY_I 0x09
#define KEY_O 0x0F
#define KEY_P 0x10
#define KEY_LBRACKET 0x1B /* {[ */
#define KEY_RBRACKET 0x1D /* }] */
#define KEY_2 0x03
#define KEY_6 0x1E
#define KEY_Q 0x11
#define KEY_W 0x17
#define KEY_E 0x05
#define KEY_R 0x12
#define KEY_T 0x14
#define KEY_Y 0x19
#define KEY_D 0x44
#define KEY_F 0x46
#define KEY_G 0x47
#define KEY_H 0x48
#define KEY_J 0x4A
#define KEY_P 0x50
#define KEY_LBRACKET 0x7B /* {[ */
#define KEY_RBRACKET 0x7D /* }] */
#define KEY_ENTER 0x0D
#define KEY_A 0x41
#define KEY_S 0x53
#define KEY_8 9
#define KEY_9 10
#define KEY_0 11
/+++++++++++++++++++++++++CTR+各键扫描码+++++++++++++++++++++++++/
#define KEY_F1 0x5E
#define KEY_F2 0x5F
0x0433 3
0x0534 4
0x0635 5
0x0736 6
0x0837 7
0x0938 8
0x0a39 9
0x0b30 0
0x0c2d -
0x0d3d =
0x2b5c \
0x0e08 退格键
0x0f09 Tab
0x1071 q
0x1177 w
0x1265 e
0x1372 r
#define KEY_L4 0x73
#define KEY_L6 0x74
#define KEY_L7 0x77
#define KEY_L9 0x84
/+++++++++++++++++++++++++SHIFT+各键扫描码+++++++++++++++++++++++++/
#define KEY_LQUOTE 0x7E /* ~` */
/************键盘上各键的扫描码以及组合键的扫描码***************/
#define KEY_L1 0x4F /*小写键盘上的键*/
#define KEY_L2 0x50
#define KEY_L3 0x51
#define KEY_L4 0x4B
#define KEY_L6 0x4D
#define KEY_A 0x01
#define KEY_S 0x13
#define KEY_D 0x04
#define KEY_F 0x06
#define KEY_G 0x07
#define KEY_H 0x08
#define KEY_J 0x0A
#define KEY_K 0x0B
#define KEY_G 34
#define KEY_H 35
#define KEY_J 36
#define KEY_K 37
#define KEY_L 38
#define KEY_Z 44
#define KEY_X 45
#define KEY_C 46
#define KEY_V 47
#define KEY_1 0x21
#define KEY_2 0x40
#define KEY_3 0x23
#define KEY_4 0x24
#define KEY_5 0x25
#define KEY_6 0x5E
#define KEY_7 0x26
#define KEY_8 0x2A
#define KEY_L7 0x47
#define KEY_L8 0x48
#define KEY_L9 0x49
#define KEY_ADD 0x2B
#define KEY_SUB 0x2D
#define KEY_LEFT 75 /*左箭头*/
#define KEY_RIGHT 77 /*右箭头*/
#define KEY_PAGEDOWN 81
#define KEY_DEL 83
#define KEY_END 79
#define KEY_DASH 12 /* _- */
#define KEY_EQUAL 13 /* += */
#define KEY_LBRACKET 26 /* {[ */
#define KEY_SPACE 0x20