<font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>// //</font><br /><font color=#007F00>// (c) Copyright 2008-2009 xuwenjun //</font><br /><font color=#007F00>// All Rights Reserved //</font><br /><font color=#007F00>// V1.00 //</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//标 题: xwj 的PS2键盘程序配套的扫描码表 //</font><br /><font color=#007F00>//文件名: Scan<font color=#BB0000>code</font>s1.h //</font><br /><font color=#007F00>//版 本: V1.00 //</font><br /><font color=#007F00>//修改人: xwj E-mail:xuwenjun@21cn.com //</font><br /><font color=#007F00>//日 期: 08-11-06 //</font><br /><font color=#007F00>//描 述: xwj 的PS2键盘程序 //</font><br /><font color=#007F00>//声 明: //</font><br /><font color=#007F00>// 以下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. //</font><br /><font color=#007F00>// 如用于商业用途请与作者联系. E-mail:xuwenjun@21cn.com //</font><br /><font color=#007F00>// 有问题请mailto xuwenjun@21cn.com 欢迎与我交流! //</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//老版本: 废弃 老版本文件名: //</font><br /><font color=#007F00>//创建人: xwj E-mail:xuwenjun@21cn.com //</font><br /><font color=#007F00>//日 期: //</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>//描 述: //</font><br /><font color=#007F00>// xwj 的PS2键盘程序配套的扫描码表 //</font><br /><font color=#007F00>// MCU 型号: MCS51 //</font><br /><font color=#007F00>// 开发环境: Keil //</font><br /><font color=#007F00>// 开发日期: 08-11-06 //</font><br /><font color=#007F00>// 程序编写: XWJ //</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><font color=#007F00>// 程序特点: //</font><br /><font color=#007F00>//1、扫描码和输出字符双环形队列缓存 //</font><br /><font color=#007F00>//2、可以直接输出按键对应的字符,直接实现“打字”效果 //</font><br /><font color=#007F00>//3、完美支持CapsLock、Shift大小写转换,支持键盘灯控制 //</font><br /><font color=#007F00>//--------------------------------------------------------------------------//</font><br /><br /> <font color=#007F00>// 通用PC机键盘方式 //</font><br /><font color=#007F00>//----------------- Scan<font color=#BB0000>code</font>s1.h</font><br /><font color=#BB0000>code</font> <font color=#0000CC>unsigned</font> <font color=#0000CC>char</font> e0_tab[][2] = <font color=#007F00>// 以E0开始的扫描码,不一定正确</font><br />{ <font color=#007F00>// 发现不同的资料说法不一致,条件受限没法测试</font><br /><font color=#007F00>// 0x00,0x00,</font><br /> 0x11,0x12, <font color=#007F00>//左Alt: 11; 右Alt: E011</font><br /> 0x12,0x2a, <font color=#007F00>//Print Screen Sys Rq :E012E07C</font><br /> 0x14,17, <font color=#007F00>//左Ctrl: 14; 右Ctrl: E014</font><br /> 0x15,0x00, <font color=#007F00>//音量+键:E015</font><br /> 0x1f,91, <font color=#007F00>//左Win键: E01F; 右Win键: E027;</font><br /> 0x21,0x00, <font color=#007F00>//Email键:E021</font><br /> 0x23,0x00, <font color=#007F00>//Search键:E023</font><br /> 0x24,0x00, <font color=#007F00>//音量Mute键:E024</font><br /> 0x27,92, <font color=#007F00>//右Win键: E027; 左Win键: E01F;</font><br /> 0x2d,0x00, <font color=#007F00>//Internet键:E02d</font><br /> 0x2f,93, <font color=#007F00>//鼠标右键快捷键: E02f;</font><br /> 0x37,0x00, <font color=#007F00>//Power键: E037;</font><br /> 0x3f,0x00, <font color=#007F00>//Sleep键: E03f;</font><br /> 0x4a,'/', <font color=#007F00>//小键盘'/': E04a</font><br /> 0x4d,0x00, <font color=#007F00>//音量-键:E04d</font><br /> 0x5a,0x0d, <font color=#007F00>//大回车:5a; 小键盘回车 E05a;</font><br /> 0x5f,0x00, <font color=#007F00>//WakeUp键: E05f;</font><br /> 0x66,37, <font color=#007F00>//箭头左: E066</font><br /> 0x69,35, <font color=#007F00>//End: E069</font><br /> 0x6c,36, <font color=#007F00>//Home: E06c</font><br /> 0x70,45, <font color=#007F00>//Insert: E070</font><br /> 0x71,46, <font color=#007F00>//Delete: E071</font><br /> 0x72,40, <font color=#007F00>//箭头下: E072</font><br /> 0x74,39, <font color=#007F00>//箭头右: E072</font><br /> 0x75,38, <font color=#007F00>//箭头上: E075</font><br /> 0x77,19, <font color=#007F00>//Pause <font color=#0000CC>break</font> :E11477E1F014F077</font><br /> 0x7a,34, <font color=#007F00>//Page <font color=#0000CC>do</font>wn: E07a</font><br /> 0x7c,0x2a, <font color=#007F00>//Print Screen Sys Rq :E012E07C</font><br /> 0x7d,33, <font color=#007F00>//Page Up: E07d</font><br /><br /><font color=#007F00>//ACPI 扫描码</font><br /> 0x37,0x00, <font color=#007F00>//Power E0, 37</font><br /> 0x3F,0x00, <font color=#007F00>//Sleep E0, 3F</font><br /> 0x5E,0x00, <font color=#007F00>//Wake E0, 5E</font><br /><br /><font color=#007F00>//Win<font color=#0000CC>do</font>ws 多媒体扫描码</font><br /> 0x4D,0x00, <font color=#007F00>//Next Track E0, 4D</font><br /> 0x15,0x00, <font color=#007F00>//Previous Track E0, 15</font><br /> 0x3B,0x00, <font color=#007F00>//Stop E0, 3B</font><br /> 0x34,0x00, <font color=#007F00>//Play/Pause E0, 34</font><br /> 0x23,0x00, <font color=#007F00>//Mute E0, 23</font><br /> 0x32,0x00, <font color=#007F00>//Volume Up E0, 32</font><br /> 0x21,0x00, <font color=#007F00>//Volume <font color=#0000CC>do</font>wn E0, 21</font><br /> 0x50,0x00, <font color=#007F00>//Media Select E0, 50</font><br /> 0x48,0x00, <font color=#007F00>//E-Mail E0, 48</font><br /> 0x2B,0x00, <font color=#007F00>//Calculator E0, 2B</font><br /> 0x40,0x00, <font color=#007F00>//My Computer E0, 40</font><br /> 0x10,0x00, <font color=#007F00>//WWW Search E0, 10</font><br /> 0x3A,0x00, <font color=#007F00>//WWW Home E0, 3A</font><br /> 0x38,0x00, <font color=#007F00>//WWW Back E0, 38</font><br /> 0x30,0x00, <font color=#007F00>//WWW <font color=#0000CC>for</font>ward E0, 30</font><br /> 0x28,0x00, <font color=#007F00>//WWW Stop E0, 28</font><br /> 0x20,0x00, <font color=#007F00>//WWW Refresh E0, 20</font><br /> 0x18,0x00, <font color=#007F00>//WWW Favorites E0, 18</font><br /> <br /> 0,0x00<br />};<br /><br /><br /><font color=#007F00>// Unshifted <font color=#0000CC>char</font>acters// 不按Shift的字符</font><br /><font color=#BB0000>code</font> <font color=#0000CC>unsigned</font> <font color=#0000CC>char</font> unshifted[] = {<br /> 0x00,<br /> 120, <font color=#007F00>//F9</font><br /> 0x00,<br /> 116, <font color=#007F00>//F5</font><br /> 114, <font color=#007F00>//F3</font><br /> 112, <font color=#007F00>//F1</font><br /> 113, <font color=#007F00>//F2</font><br /> 123, <font color=#007F00>//F12</font><br /><br /> 0x00,<br /> 121, <font color=#007F00>//F10</font><br /> 119, <font color=#007F00>//F8</font><br /> 117, <font color=#007F00>//F6</font><br /> 115, <font color=#007F00>//F4</font><br /> 9, <font color=#007F00>//Tab</font><br /> '`',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x12, <font color=#007F00>//左Alt: 11; 右Alt: E011</font><br /><font color=#007F00>// 0x2a, //Print Screen Sys Rq :E012E07C</font><br /> 0x10, <font color=#007F00>//左Shift:12; 右Shift: 59</font><br /> 0x00,<br /> 0x11, <font color=#007F00>//左Ctrl: 14; 右Ctrl: E014</font><br /> 'q',<br /><font color=#007F00>// 0x00, //音量+键:E015</font><br /> '1',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x00,<br /> 'z',<br /> 's',<br /> 'a',<br /> 'w',<br /> '2',<br /> 0x00, <font color=#007F00>//左Win键: E01F; 右Win键: E027;</font><br /><br /> 0x00,<br /> 'c',<br /><font color=#007F00>// 0x00, //Email键:E021</font><br /> 'x',<br /> 'd',<br /><font color=#007F00>// 0x00, //Search键:E023</font><br /> 'e',<br /><font color=#007F00>// 0x00, //音量Mute键:E024</font><br /> '4',<br /> '3',<br /> 0x00, <font color=#007F00>//右Win键: E027; 左Win键: E01F;</font><br /> <br /> 0x00,<br /> ' ', <font color=#007F00>//空格</font><br /> 'v',<br /> 'f',<br /> 't',<br /> 'r',<br /><font color=#007F00>// 0x00, //Internet键:E02d</font><br /> '5',<br /> 0x00, <font color=#007F00>//右粘贴键: E02f;</font><br /> <br /> 0x00,<br /> 'n',<br /> 'b',<br /> 'h',<br /> 'g',<br /> 'y',<br /> '6',<br /> 0x00, <font color=#007F00>//Power键: E037;</font><br /><br /> 0x00,<br /> 0x00, <font color=#007F00>//没有?</font><br /> 'm',<br /> 'j',<br /> 'u',<br /> '7',<br /> '8',<br /> 0x00, <font color=#007F00>//Sleep键: E03f;</font><br /> <br /> 0x00,<br /> ',',<br /> 'k',<br /> 'i',<br /> 'o',<br /> '0',<br /> '9',<br /> 0x00,<br /> <br /> 0x00,<br /> '.',<br /> '/',<br /><font color=#007F00>// '/', //小键盘'/': E04a</font><br /> 'l',<br /> ';',<br /> 'p',<br /><font color=#007F00>// 0x00, //音量-键:E04d</font><br /> '-',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x00,<br /> '\'',<br /> 0x00,<br /> '[',<br /> '=',<br /> 0x00,<br /> 0x00,<br /> <br /> 0x00, ]<font color=#007F00>//大小写Caps Lock :58</font><br /> 0x00, <font color=#007F00>//右Shift:59; 左Shift:12; </font><br /> 0x0d, <font color=#007F00>//大回车:5a; 小键盘回车 E05a;</font><br /><font color=#007F00>// 0x0d, //小键盘回车 E05a</font><br /> ']',<br /> 0x00,<br /> '\\', <font color=#007F00>// "<font color=#DD0000>\</font>"</font><br /> 0x00,<br /> 0x00, <font color=#007F00>//WakeUp键: E05f;</font><br /> <br /> 0x00,<br /> 0x00, <font color=#007F00>//Fn</font><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 8, <font color=#007F00>//退格</font><br /><font color=#007F00>// 0x00, //箭头左: E066</font><br /> 0x00,<br /><br /> 0x00,<br /> '1', <font color=#007F00>//小键盘'1'</font><br /><font color=#007F00>// 0x00, //End: E069</font><br /> 0x00,<br /> '4', <font color=#007F00>//小键盘'4'</font><br /> '7', <font color=#007F00>//小键盘'7'</font><br /><font color=#007F00>// 0x00, //Home: E06c</font><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> <br /> '0', <font color=#007F00>//小键盘'0'</font><br /><font color=#007F00>// 0x00, //Insert: E070</font><br /> '.', <font color=#007F00>//小键盘'.'</font><br /><font color=#007F00>// 0x00, //Delete: E071</font><br /> '2', <font color=#007F00>//小键盘'2'</font><br /><font color=#007F00>// 0x00, //箭头下: E072</font><br /> '5', <font color=#007F00>//小键盘'5'</font><br /> '6', <font color=#007F00>//小键盘'6'</font><br /><font color=#007F00>// 0x00, //箭头右: E072</font><br /> '8', <font color=#007F00>//小键盘'8'</font><br /><font color=#007F00>// 0x00, //箭头上: E075</font><br /> 27, <font color=#007F00>//ESC</font><br /> 144, <font color=#007F00>//小键盘Num Lock :77</font><br /><font color=#007F00>// 0x00, //Pause <font color=#0000CC>break</font> :E11477E1F014F077</font><br /><br /> 122, <font color=#007F00>//F11</font><br /> '+', <font color=#007F00>//小键盘'+'</font><br /> '3', <font color=#007F00>//小键盘'3'</font><br /><font color=#007F00>// 0x00, //Page <font color=#0000CC>do</font>wn: E07a</font><br /> '-', <font color=#007F00>//小键盘'-'</font><br /> '*', <font color=#007F00>//小键盘'*'</font><br /> '9', <font color=#007F00>//小键盘'9'</font><br /><font color=#007F00>// 0x00, //Page Up: E07d</font><br /> 145, <font color=#007F00>//Scroll Lock :7E</font><br /> 0x00,<br /><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 118, <font color=#007F00>//F7</font><br />};<br /><br /><font color=#007F00>// Shifted <font color=#0000CC>char</font>acters// 按下Shift的字符</font><br /><font color=#BB0000>code</font> <font color=#0000CC>unsigned</font> <font color=#0000CC>char</font> shifted[] = {<br /> 0x00,<br /> 120, <font color=#007F00>//F9</font><br /> 0x00,<br /> 116, <font color=#007F00>//F5</font><br /> 114, <font color=#007F00>//F3</font><br /> 112, <font color=#007F00>//F1</font><br /> 113, <font color=#007F00>//F2</font><br /> 123, <font color=#007F00>//F12</font><br /><br /> 0x00,<br /> 121, <font color=#007F00>//F10</font><br /> 119, <font color=#007F00>//F8</font><br /> 117, <font color=#007F00>//F6</font><br /> 115, <font color=#007F00>//F4</font><br /> 9, <font color=#007F00>//Tab</font><br /> '~',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x12, <font color=#007F00>//左Alt: 11; 右Alt: E011</font><br /><font color=#007F00>// 0x2a, //Print Screen Sys Rq :E012E07C</font><br /> 0x10, <font color=#007F00>//左Shift:12; 右Shift: 59</font><br /> 0x00,<br /> 0x11, <font color=#007F00>//左Ctrl: 14; 右Ctrl: E014</font><br /> 'Q',<br /><font color=#007F00>// 0x00, //音量+键:E015</font><br /> '!',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x00,<br /> 'Z',<br /> 'S',<br /> 'A',<br /> 'W',<br /> '@',<br /> 0x00, <font color=#007F00>//左Win键: E01F; 右Win键: E027;</font><br /><br /> 0x00,<br /> 'C',<br /><font color=#007F00>// 0x00, //Email键:E021</font><br /> 'X',<br /> 'D',<br /><font color=#007F00>// 0x00, //Search键:E023</font><br /> 'E',<br /><font color=#007F00>// 0x00, //音量Mute键:E024</font><br /> '$',<br /> '#',<br /> 0x00, <font color=#007F00>//右Win键: E027; 左Win键: E01F;</font><br /> <br /> 0x00,<br /> ' ', <font color=#007F00>//空格</font><br /> 'V',<br /> 'F',<br /> 'T',<br /> 'R',<br /><font color=#007F00>// 0x00, //Internet键:E02d</font><br /> '%',<br /> 0x00, <font color=#007F00>//右粘贴键: E02f;</font><br /> <br /> 0x00,<br /> 'N',<br /> 'B',<br /> 'H',<br /> 'G',<br /> 'Y',<br /> '^',<br /> 0x00, <font color=#007F00>//Power键: E037;</font><br /><br /> 0x00,<br /> 0x00, <font color=#007F00>//没有?</font><br /> 'M',<br /> 'J',<br /> 'U',<br /> '&',<br /> '*',<br /> 0x00, <font color=#007F00>//Sleep键: E03f;</font><br /> <br /> 0x00,<br /> '<',<br /> 'K',<br /> 'I',<br /> 'O',<br /> ')',<br /> '(',<br /> 0x00,<br /> <br /> 0x00,<br /> '>',<br /> '?',<br /><font color=#007F00>// '/', //小键盘'/': E04a</font><br /> 'L',<br /> ':',<br /> 'P',<br /><font color=#007F00>// 0x00, //音量-键:E04d</font><br /> '_',<br /> 0x00,<br /> <br /> 0x00,<br /> 0x00,<br /> '|',<br /> 0x00,<br /> '{',<br /> '+',<br /> 0x00,<br /> 0x00,<br /> <br /> 20, <font color=#007F00>//大小写Caps Lock :58</font><br /> 0x10, <font color=#007F00>//右Shift:59; 左Shift:12; </font><br /> 0x0d, <font color=#007F00>//大回车:5a; 小键盘回车 E05a;</font><br /><font color=#007F00>// 0x0d, //小键盘回车 E05a</font><br /> '}',<br /> 0x00,<br /> '|', <font color=#007F00>// "<font color=#DD0000>|</font>"</font><br /> 0x00,<br /> 0x00, <font color=#007F00>//WakeUp键: E05f;</font><br /> <br /> 0x00,<br /> 0x00, <font color=#007F00>//Fn</font><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 8, <font color=#007F00>//退格</font><br /><font color=#007F00>// 0x00, //箭头左: E066</font><br /> 0x00,<br /><br /> 0x00,<br /> '1', <font color=#007F00>//小键盘'1'</font><br /><font color=#007F00>// 0x00, //End: E069</font><br /> 0x00,<br /> '4', <font color=#007F00>//小键盘'4'</font><br /> '7', <font color=#007F00>//小键盘'7'</font><br /><font color=#007F00>// 0x00, //Home: E06c</font><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> <br /> '0', <font color=#007F00>//小键盘'0'</font><br /><font color=#007F00>// 0x00, //Insert: E070</font><br /> '.', <font color=#007F00>//小键盘'.'</font><br /><font color=#007F00>// 0x00, //Delete: E071</font><br /> '2', <font color=#007F00>//小键盘'2'</font><br /><font color=#007F00>// 0x00, //箭头下: E072</font><br /> '5', <font color=#007F00>//小键盘'5'</font><br /> '6', <font color=#007F00>//小键盘'6'</font><br /><font color=#007F00>// 0x00, //箭头右: E072</font><br /> '8', <font color=#007F00>//小键盘'8'</font><br /><font color=#007F00>// 0x00, //箭头上: E075</font><br /> 27, <font color=#007F00>//ESC</font><br /> 144, <font color=#007F00>//小键盘Num Lock</font><br /><font color=#007F00>// 0x00, //Pause <font color=#0000CC>break</font> :E11477E1F014F077</font><br /><br /> 122, <font color=#007F00>//F11</font><br /> '+', <font color=#007F00>//小键盘'+'</font><br /> '3', <font color=#007F00>//小键盘'3'</font><br /><font color=#007F00>// 0x00, //Page <font color=#0000CC>do</font>wn: E07a</font><br /> '-', <font color=#007F00>//小键盘'-'</font><br /> '*', <font color=#007F00>//小键盘'*'</font><br /> '9', <font color=#007F00>//小键盘'9'</font><br /><font color=#007F00>// 0x00, //Page Up: E07d</font><br /> 145, <font color=#007F00>//Scroll Lock :7E</font><br /> 0x00,<br /><br /> 0x00,<br /> 0x00,<br /> 0x00,<br /> 118, <font color=#007F00>//F7</font><br />};<br /><br /><br />//本程序由xwj设计的UltraEdit脚本加亮显示,如需要脚本请访问我的Blog或联系<a href="mailto:xwjfile@21cn.com">xwjfile@21cn.com</a><br />
|