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