Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Keymaps.cpp
00001 #include "Keymaps.h" 00002 /** 00003 * 00004 * key description allways references US layout 00005 * Codes from https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf 00006 */ 00007 Keymaps::Keymaps(LAYOUTS layout, bool ext) 00008 { 00009 if(ext) { // keys with E0 prefix 00010 switch (layout) { 00011 case LO_DE: 00012 K[0x11] = 230; /* Right Alt */ 00013 K[0x14] = 228; /* Right Control */ 00014 K[0x1F] = 227; /* Left GUI */ 00015 K[0x27] = 231; /* Right GUI */ 00016 K[0x2F] = 101; /* App */ 00017 K[0x37] = 102; /* Keyboard Power */ 00018 K[0x4A] = 84; /* Keypad / (Note 1) */ 00019 K[0x5A] = 88; /* Keypad Enter */ 00020 K[0x69] = 77; /* End (Note 1) */ 00021 K[0x6B] = 80; /* Left Arrow (Note 1) */ 00022 K[0x6C] = 74; /* Home (Note 1) */ 00023 K[0x70] = 73; /* Insert (Note 1) */ 00024 K[0x71] = 76; /* Delete (Note 1) */ 00025 K[0x72] = 81; /* Down Arrow (Note 1) */ 00026 K[0x74] = 79; /* Right Arrow (Note 1) */ 00027 K[0x75] = 82; /* Up Arrow (Note 1) */ 00028 K[0x7A] = 78; /* Page Down (Note 1) */ 00029 K[0x7C] = 70; /* Print Screen (Note 1) */ 00030 K[0x7D] = 75; /* Page Up (Note 1) */ 00031 break; 00032 default: //US as HID Standard 00033 K[0x11] = 230; /* RAlt */ 00034 K[0x14] = 228; /* RCtrl */ 00035 K[0x70] = 73; /* Insert */ 00036 K[0x71] = 76; /* Delete */ 00037 K[0x6c] = 74; /* Home */ 00038 K[0x69] = 77; /* End */ 00039 K[0x7d] = 75; /* PgUp */ 00040 K[0x7a] = 78; /* PgDn */ 00041 K[0x6b] = 80; /* Left */ 00042 K[0x75] = 82; /* Up */ 00043 K[0x72] = 81; /* Down */ 00044 K[0x74] = 79; /* Right */ 00045 K[0x4a] = 84; /* KP-/ */ 00046 K[0x5a] = 88; /* KP-Enter */ 00047 K[0x7c] = 70; /* PrtScr */ 00048 K[0x7e] = 48; /* Ctrl+Break */ 00049 K[0x1f] = 227; /* LWin (USB: LGUI) */ 00050 K[0x27] = 231; /* RWin (USB: RGUI) */ 00051 K[0x2f] = 101; /* Menu */ 00052 K[0x3f] = 0; /* Sleep */ 00053 K[0x37] = 0; /* Power */ 00054 K[0x5e] = 0; /* Wake */ 00055 break; 00056 } 00057 00058 } else { 00059 switch (layout) { 00060 case LO_DE: 00061 K[0x1] = 66; /* F9 */ 00062 K[0x3] = 62; /* F5 */ 00063 K[0x4] = 60; /* F3 */ 00064 K[0x5] = 58; /* F1 */ 00065 K[0x6] = 59; /* F2 */ 00066 K[0x7] = 69; /* F12 */ 00067 K[0x8] = 104; /* F13 */ 00068 K[0x9] = 67; /* F10 */ 00069 K[0x10] = 105; /* F14 */ 00070 K[0x11] = 226; /* Left Alt */ 00071 K[0x12] = 225; /* Left Shift */ 00072 K[0x13] = 136; /* Keyboard Intl'2 かかかかひひひかロロロ字 */ 00073 K[0x14] = 224; /* Left Control */ 00074 K[0x15] = 20; /* q Q */ 00075 K[0x16] = 30; /* 1 ! */ 00076 K[0x18] = 106; /* F15 */ 00077 K[0x20] = 107; /* F16 */ 00078 K[0x21] = 6; /* c C */ 00079 K[0x22] = 27; /* x X */ 00080 K[0x23] = 7; /* d D */ 00081 K[0x24] = 8; /* e E */ 00082 K[0x25] = 33; /* 4 $ */ 00083 K[0x26] = 32; /* 3 # */ 00084 K[0x27] = 140; /* Keyboard Int'l 6 (PC9800 Keypad , ) */ 00085 K[0x28] = 108; /* F17 */ 00086 K[0x29] = 44; /* Space */ 00087 K[0x30] = 109; /* F18 */ 00088 K[0x31] = 17; /* n N */ 00089 K[0x32] = 5; /* b B */ 00090 K[0x33] = 11; /* h H */ 00091 K[0x34] = 10; /* g G */ 00092 K[0x35] = 28; /* y Y */ 00093 K[0x36] = 35; /* 6 ^ */ 00094 K[0x38] = 110; /* F19 */ 00095 K[0x40] = 111; /* F20 */ 00096 K[0x41] = 54; /* , < */ 00097 K[0x42] = 14; /* k K */ 00098 K[0x43] = 12; /* i I */ 00099 K[0x44] = 18; /* o O */ 00100 K[0x45] = 39; /* 0 ) */ 00101 K[0x46] = 38; /* 9 ( */ 00102 K[0x48] = 112; /* F21 */ 00103 K[0x49] = 55; /* . > */ 00104 K[0x50] = 113; /* F22 */ 00105 K[0x51] = 135; /* Keyboard Int'l 1 ろ */ 00106 K[0x52] = 52; /* ' " */ 00107 K[0x54] = 47; /* [ { */ 00108 K[0x55] = 46; /* = + */ 00109 K[0x57] = 114; /* F23 */ 00110 K[0x58] = 57; /* Caps Lock */ 00111 K[0x59] = 229; /* Right Shift */ 00112 K[0x61] = 100; /* Europe 2 (Note 2) */ 00113 K[0x62] = 147; /* Keyboard Lang 4 ひひひか */ 00114 K[0x63] = 146; /* Keyboard Lang 3 かかかか */ 00115 K[0x64] = 138; /* Keyboard Int'l 4 前前前 */ 00116 K[0x66] = 42; /* Backspace */ 00117 K[0x67] = 139; /* Keyboard Int'l 5 無変変 */ 00118 K[0x69] = 89; /* Keypad 1 End */ 00119 K[0x70] = 98; /* Keypad 0 Insert */ 00120 K[0x71] = 99; /* Keypad . Delete */ 00121 K[0x72] = 90; /* Keypad 2 Down */ 00122 K[0x73] = 93; /* Keypad 5 */ 00123 K[0x74] = 94; /* Keypad 6 Right */ 00124 K[0x75] = 96; /* Keypad 8 Up */ 00125 K[0x76] = 41; /* Escape */ 00126 K[0x77] = 83; /* Num Lock */ 00127 K[0x78] = 68; /* F11 */ 00128 K[0x79] = 87; /* Keypad + */ 00129 K[0x83] = 64; /* F7 */ 00130 K[0x0A] = 65; /* F8 */ 00131 K[0x0B] = 63; /* F6 */ 00132 K[0x0C] = 61; /* F4 */ 00133 K[0x0D] = 43; /* Tab */ 00134 K[0x0E] = 53; /* ` ~ */ 00135 K[0x0F] = 103; /* Keypad = */ 00136 K[0x1A] = 29; /* z Z */ 00137 K[0x1B] = 22; /* s S */ 00138 K[0x1C] = 4; /* a A */ 00139 K[0x1D] = 26; /* w W */ 00140 K[0x1E] = 31; /* 2 @ */ 00141 K[0x2A] = 25; /* v V */ 00142 K[0x2B] = 9; /* f F */ 00143 K[0x2C] = 23; /* t T */ 00144 K[0x2D] = 21; /* r R */ 00145 K[0x2E] = 34; /* 0,05 */ 00146 K[0x3A] = 16; /* m M */ 00147 K[0x3B] = 13; /* j J */ 00148 K[0x3C] = 24; /* u U */ 00149 K[0x3D] = 36; /* 7 & */ 00150 K[0x3E] = 37; /* 8 * */ 00151 K[0x4A] = 56; /* / ? */ 00152 K[0x4B] = 15; /* l L */ 00153 K[0x4C] = 51; /* ; : */ 00154 K[0x4D] = 19; /* p P */ 00155 K[0x4E] = 45; /* - _ */ 00156 K[0x5A] = 40; /* Return */ 00157 K[0x5B] = 48; /* ] } */ 00158 K[0x5D] = 50; /* Europe 1*/ 00159 K[0x5F] = 115; /* F24 */ 00160 K[0x5F] = 148; /* Keyboard Lang 5 */ 00161 K[0x6A] = 137; /* Keyboard Int'l 2 */ 00162 K[0x6B] = 92; /* Keypad 4 Left */ 00163 K[0x6C] = 95; /* Keypad 7 Home */ 00164 K[0x6D] = 133; /* Keypad , (Brazilian Keypad .) */ 00165 K[0x7A] = 91; /* Keypad 3 PageDn */ 00166 K[0x7B] = 86; /* Keypad - */ 00167 K[0x7C] = 85; /* Keypad * */ 00168 K[0x7D] = 97; /* Keypad 9 PageUp */ 00169 K[0x7E] = 71; /* Scroll Lock */ 00170 K[0xF1] = 145; /* Keyboard Lang 2 */ 00171 K[0xF2] = 144; /* Keyboard Lang 1 한옝/ */ 00172 K[0xFC] = 2; /* POST Fail */ 00173 break; 00174 default: //US as HID Standard 00175 K[0x0e] = 53; /* ` ~ */ 00176 K[0x16] = 30; /* 1 ! */ 00177 K[0x1e] = 31; /* 2 @ */ 00178 K[0x26] = 32; /* 3 # */ 00179 K[0x25] = 33; /* 4 $ */ 00180 K[0x2e] = 34; /* 5 % E */ 00181 K[0x36] = 35; /* 6 ^ */ 00182 K[0x3d] = 36; /* 7 & */ 00183 K[0x3e] = 37; /* 8 * */ 00184 K[0x46] = 38; /* 9 ( */ 00185 K[0x45] = 39; /* 0 ) */ 00186 K[0x4e] = 45; /* - _ */ 00187 K[0x55] = 46; /* = + */ 00188 K[0x66] = 42; /* Backspace */ 00189 K[0x0d] = 43; /* Tab */ 00190 K[0x15] = 20; /* Q */ 00191 K[0x1d] = 26; /* W */ 00192 K[0x24] = 8; /* E */ 00193 K[0x2d] = 21; /* R */ 00194 K[0x2c] = 23; /* T */ 00195 K[0x35] = 28; /* Y */ 00196 K[0x3c] = 24; /* U */ 00197 K[0x43] = 12; /* I */ 00198 K[0x44] = 18; /* O */ 00199 K[0x4d] = 19; /* P */ 00200 K[0x54] = 47; /* [ { */ 00201 K[0x5b] = 48; /* ] } */ 00202 K[0x5d] = 49; /* \ | */ 00203 K[0x58] = 57; /* CapsLock */ 00204 K[0x1c] = 4; /* A */ 00205 K[0x1b] = 22; /* S */ 00206 K[0x23] = 7; /* D */ 00207 K[0x2b] = 9; /* F */ 00208 K[0x34] = 10; /* G */ 00209 K[0x33] = 11; /* H */ 00210 K[0x3b] = 13; /* J */ 00211 K[0x42] = 14; /* K */ 00212 K[0x4b] = 15; /* L */ 00213 K[0x4c] = 51; /* ; : */ 00214 K[0x52] = 52; /* ' " */ 00215 K[0x61] = 100; /* Europe 2*/ 00216 K[0x5a] = 40; /* Enter */ 00217 K[0x12] = 225; /* LShift */ 00218 K[0x1a] = 29; /* Z */ 00219 K[0x22] = 27; /* X */ 00220 K[0x21] = 6; /* C */ 00221 K[0x2a] = 25; /* V */ 00222 K[0x32] = 5; /* B */ 00223 K[0x31] = 17; /* N */ 00224 K[0x3a] = 16; /* M */ 00225 K[0x41] = 54; /* , < */ 00226 K[0x49] = 55; /* . > */ 00227 K[0x4a] = 56; /* / ? */ 00228 K[0x59] = 229; /* RShift */ 00229 K[0x14] = 224; /* LCtrl */ 00230 K[0x11] = 226; /* LAlt */ 00231 K[0x29] = 44; /* space */ 00232 K[0x77] = 83; /* NumLock */ 00233 K[0x6c] = 95; /* KP-7 / Home */ 00234 K[0x6b] = 92; /* KP-4 / Left */ 00235 K[0x69] = 89; /* KP-1 / End */ 00236 K[0x75] = 96; /* KP-8 / Up */ 00237 K[0x73] = 93; /* KP-5 */ 00238 K[0x72] = 90; /* KP-2 / Down */ 00239 K[0x70] = 98; /* KP-0 / Ins */ 00240 K[0x7c] = 85; /* KP-* */ 00241 K[0x7d] = 97; /* KP-9 / PgUp */ 00242 K[0x74] = 94; /* KP-6 / Right */ 00243 K[0x7a] = 91; /* KP-3 / PgDn */ 00244 K[0x71] = 99; /* KP-. / Del */ 00245 K[0x7b] = 86; /* KP-- */ 00246 K[0x79] = 87; /* KP-+ */ 00247 K[0x76] = 41; /* Esc */ 00248 K[0x5] = 58; /* F1 */ 00249 K[0x6] = 59; /* F2 */ 00250 K[0x4] = 60; /* F3 */ 00251 K[0x0c] = 61; /* F4 */ 00252 K[0x3] = 62; /* F5 */ 00253 K[0x0b] = 63; /* F6 */ 00254 K[0x83] = 64; /* F7 */ 00255 K[0x0a] = 65; /* F8 */ 00256 K[0x1] = 66; /* F9 */ 00257 K[0x9] = 67; /* F10 */ 00258 K[0x78] = 68; /* F11 */ 00259 K[0x7] = 69; /* F12 */ 00260 K[0x84] = 154; /* Alt+SysRq */ 00261 K[0x7e] = 71; /* ScrollLock */ 00262 break; 00263 } 00264 } 00265 }
Generated on Fri Jul 15 2022 10:09:06 by
1.7.2