Changeset c8bf88d in mainline for kernel/genarch/src/kbrd/scanc_sun.c
- Timestamp:
- 2009-04-03T15:52:14Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade
- Children:
- a7b1071
- Parents:
- 2398ee9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/kbrd/scanc_sun.c
r2398ee9 rc8bf88d 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ 32 32 /** 33 33 * @file 34 * @brief 34 * @brief Scan codes for Sun keyboards. 35 35 */ 36 36 37 37 #include <genarch/kbrd/scanc.h> 38 #include <typedefs.h> 39 #include <string.h> 38 40 39 41 /** Primary meaning of scancodes. */ 40 char sc_primary_map[] = {41 [0x00] = SPECIAL,42 [0x01] = SPECIAL,43 [0x02] = SPECIAL,44 [0x03] = SPECIAL,45 [0x04] = SPECIAL,46 [0x05] = SPECIAL,/* F1 */47 [0x06] = SPECIAL,/* F2 */48 [0x07] = SPECIAL,/* F10 */49 [0x08] = SPECIAL,/* F3 */50 [0x09] = SPECIAL,/* F11 */51 [0x0a] = SPECIAL,/* F4 */52 [0x0b] = SPECIAL,/* F12 */53 [0x0c] = SPECIAL,/* F5 */54 [0x0d] = SPECIAL, /* RAlt */55 [0x0e] = SPECIAL,/* F6 */56 [0x0f] = SPECIAL,57 [0x10] = SPECIAL,/* F7 */58 [0x11] = SPECIAL,/* F8 */59 [0x12] = SPECIAL,/* F9 */60 [0x13] = SPECIAL, /* LAlt */61 [0x14] = SPECIAL,/* Up Arrow */62 [0x15] = SPECIAL,/* Pause */63 [0x16] = SPECIAL,64 [0x17] = SPECIAL,/* Scroll Lock */65 [0x18] = SPECIAL,/* Left Arrow */66 [0x19] = SPECIAL,67 [0x1a] = SPECIAL,68 [0x1b] = SPECIAL,/* Down Arrow */69 [0x1c] = SPECIAL,/* Right Arrow */70 [0x1d] = SPECIAL,/* Esc */42 wchar_t sc_primary_map[SCANCODES] = { 43 [0x00] = U_SPECIAL, 44 [0x01] = U_SPECIAL, 45 [0x02] = U_SPECIAL, 46 [0x03] = U_SPECIAL, 47 [0x04] = U_SPECIAL, 48 [0x05] = U_SPECIAL, /* F1 */ 49 [0x06] = U_SPECIAL, /* F2 */ 50 [0x07] = U_SPECIAL, /* F10 */ 51 [0x08] = U_SPECIAL, /* F3 */ 52 [0x09] = U_SPECIAL, /* F11 */ 53 [0x0a] = U_SPECIAL, /* F4 */ 54 [0x0b] = U_SPECIAL, /* F12 */ 55 [0x0c] = U_SPECIAL, /* F5 */ 56 [0x0d] = U_SPECIAL, /* Right Alt */ 57 [0x0e] = U_SPECIAL, /* F6 */ 58 [0x0f] = U_SPECIAL, 59 [0x10] = U_SPECIAL, /* F7 */ 60 [0x11] = U_SPECIAL, /* F8 */ 61 [0x12] = U_SPECIAL, /* F9 */ 62 [0x13] = U_SPECIAL, /* Left Alt */ 63 [0x14] = U_UP_ARROW, /* Up Arrow */ 64 [0x15] = U_SPECIAL, /* Pause */ 65 [0x16] = U_SPECIAL, 66 [0x17] = U_SPECIAL, /* Scroll Lock */ 67 [0x18] = U_LEFT_ARROW, /* Left Arrow */ 68 [0x19] = U_SPECIAL, 69 [0x1a] = U_SPECIAL, 70 [0x1b] = U_DOWN_ARROW, /* Down Arrow */ 71 [0x1c] = U_RIGHT_ARROW, /* Right Arrow */ 72 [0x1d] = U_ESCAPE, /* Esc */ 71 73 [0x1e] = '1', 72 74 [0x1f] = '2', … … 82 84 [0x29] = '=', 83 85 [0x2a] = '`', 84 [0x2b] = '\b', 85 [0x2c] = SPECIAL,/* Insert */86 [0x2d] = SPECIAL,87 [0x2e] = '/', /* numeric keypad*/88 [0x2f] = '*', /* numeric keypad*/89 [0x30] = SPECIAL,90 [0x31] = SPECIAL,91 [0x32] = '.', /* numeric keypad*/92 [0x33] = SPECIAL,93 [0x34] = SPECIAL,/* Home */94 [0x35] = '\t', 86 [0x2b] = '\b', /* Backspace */ 87 [0x2c] = U_SPECIAL, /* Insert */ 88 [0x2d] = U_SPECIAL, 89 [0x2e] = '/', /* Numpad / */ 90 [0x2f] = '*', /* Numpad * */ 91 [0x30] = U_SPECIAL, 92 [0x31] = U_SPECIAL, 93 [0x32] = '.', /* Numpad . */ 94 [0x33] = U_SPECIAL, 95 [0x34] = U_HOME_ARROW, /* Home */ 96 [0x35] = '\t', /* Tab */ 95 97 [0x36] = 'q', 96 98 [0x37] = 'w', … … 105 107 [0x40] = '[', 106 108 [0x41] = ']', 107 [0x42] = SPECIAL, /* Del*/108 [0x43] = SPECIAL,109 [0x44] = '7', /* numeric keypad*/110 [0x45] = '8', /* numeric keypad*/111 [0x46] = '9', /* numeric keypad*/112 [0x47] = '-', /* numeric keypad*/113 [0x48] = SPECIAL,114 [0x49] = SPECIAL,115 [0x4a] = SPECIAL,/* End */116 [0x4b] = SPECIAL,117 [0x4c] = SPECIAL,/* Control */109 [0x42] = U_DELETE, /* Delete */ 110 [0x43] = U_SPECIAL, 111 [0x44] = '7', /* Numpad 7 */ 112 [0x45] = '8', /* Numpad 8 */ 113 [0x46] = '9', /* Numpad 9 */ 114 [0x47] = '-', /* Numpad - */ 115 [0x48] = U_SPECIAL, 116 [0x49] = U_SPECIAL, 117 [0x4a] = U_END_ARROW, /* End */ 118 [0x4b] = U_SPECIAL, 119 [0x4c] = U_SPECIAL, /* Control */ 118 120 [0x4d] = 'a', 119 121 [0x4e] = 's', … … 128 130 [0x57] = '\'', 129 131 [0x58] = '\\', 130 [0x59] = '\n', 131 [0x5a] = '\n', /* Enter on numeric keypad*/132 [0x5b] = '4', /* numeric keypad*/133 [0x5c] = '5', /* numeric keypad*/134 [0x5d] = '6', /* numeric keypad*/135 [0x5e] = '0', /* numeric keypad*/136 [0x5f] = SPECIAL,137 [0x60] = SPECIAL,/* Page Up */138 [0x61] = SPECIAL,139 [0x62] = SPECIAL, /* NumLock */140 [0x63] = SPECIAL, /* LShift */132 [0x59] = '\n', /* Enter */ 133 [0x5a] = '\n', /* Numpad Enter */ 134 [0x5b] = '4', /* Numpad 4 */ 135 [0x5c] = '5', /* Numpad 5 */ 136 [0x5d] = '6', /* Numpad 6 */ 137 [0x5e] = '0', /* Numpad 0 */ 138 [0x5f] = U_SPECIAL, 139 [0x60] = U_PAGE_UP, /* Page Up */ 140 [0x61] = U_SPECIAL, 141 [0x62] = U_SPECIAL, /* NumLock */ 142 [0x63] = U_SPECIAL, /* Left Shift */ 141 143 [0x64] = 'z', 142 144 [0x65] = 'x', … … 149 151 [0x6c] = '.', 150 152 [0x6d] = '/', 151 [0x6e] = SPECIAL, /* RShift */152 [0x6f] = SPECIAL,153 [0x70] = '1', /* numeric keypad*/154 [0x71] = '2', /* numeric keypad*/155 [0x72] = '3', /* numeric keypad*/156 [0x73] = SPECIAL,157 [0x74] = SPECIAL,158 [0x75] = SPECIAL,159 [0x76] = SPECIAL,160 [0x77] = SPECIAL, /* CapsLock */161 [0x78] = SPECIAL,153 [0x6e] = U_SPECIAL, /* Right Shift */ 154 [0x6f] = U_SPECIAL, 155 [0x70] = '1', /* Numpad 1 */ 156 [0x71] = '2', /* Numpad 2 */ 157 [0x72] = '3', /* Numpad 3 */ 158 [0x73] = U_SPECIAL, 159 [0x74] = U_SPECIAL, 160 [0x75] = U_SPECIAL, 161 [0x76] = U_SPECIAL, 162 [0x77] = U_SPECIAL, /* CapsLock */ 163 [0x78] = U_SPECIAL, 162 164 [0x79] = ' ', 163 [0x7a] = SPECIAL,164 [0x7b] = SPECIAL,/* Page Down */165 [0x7c] = SPECIAL,166 [0x7d] = '+', /* numeric key pad*/167 [0x7e] = SPECIAL,168 [0x7f] = SPECIAL165 [0x7a] = U_SPECIAL, 166 [0x7b] = U_PAGE_DOWN, /* Page Down */ 167 [0x7c] = U_SPECIAL, 168 [0x7d] = '+', /* Numpad + */ 169 [0x7e] = U_SPECIAL, 170 [0x7f] = U_SPECIAL 169 171 }; 170 172 171 173 /** Secondary meaning of scancodes. */ 172 char sc_secondary_map[] = {173 [0x00] = SPECIAL,174 [0x01] = SPECIAL,175 [0x02] = SPECIAL,176 [0x03] = SPECIAL,177 [0x04] = SPECIAL,178 [0x05] = SPECIAL,/* F1 */179 [0x06] = SPECIAL,/* F2 */180 [0x07] = SPECIAL,/* F10 */181 [0x08] = SPECIAL,/* F3 */182 [0x09] = SPECIAL,/* F11 */183 [0x0a] = SPECIAL,/* F4 */184 [0x0b] = SPECIAL,/* F12 */185 [0x0c] = SPECIAL,/* F5 */186 [0x0d] = SPECIAL, /* RAlt */187 [0x0e] = SPECIAL,/* F6 */188 [0x0f] = SPECIAL,189 [0x10] = SPECIAL,/* F7 */190 [0x11] = SPECIAL,/* F8 */191 [0x12] = SPECIAL,/* F9 */192 [0x13] = SPECIAL, /* LAlt */193 [0x14] = SPECIAL,/* Up Arrow */194 [0x15] = SPECIAL,/* Pause */195 [0x16] = SPECIAL,196 [0x17] = SPECIAL,/* Scroll Lock */197 [0x18] = SPECIAL,/* Left Arrow */198 [0x19] = SPECIAL,199 [0x1a] = SPECIAL,200 [0x1b] = SPECIAL,/* Down Arrow */201 [0x1c] = SPECIAL,/* Right Arrow */202 [0x1d] = SPECIAL,/* Esc */174 wchar_t sc_secondary_map[SCANCODES] = { 175 [0x00] = U_SPECIAL, 176 [0x01] = U_SPECIAL, 177 [0x02] = U_SPECIAL, 178 [0x03] = U_SPECIAL, 179 [0x04] = U_SPECIAL, 180 [0x05] = U_SPECIAL, /* F1 */ 181 [0x06] = U_SPECIAL, /* F2 */ 182 [0x07] = U_SPECIAL, /* F10 */ 183 [0x08] = U_SPECIAL, /* F3 */ 184 [0x09] = U_SPECIAL, /* F11 */ 185 [0x0a] = U_SPECIAL, /* F4 */ 186 [0x0b] = U_SPECIAL, /* F12 */ 187 [0x0c] = U_SPECIAL, /* F5 */ 188 [0x0d] = U_SPECIAL, /* Right Alt */ 189 [0x0e] = U_SPECIAL, /* F6 */ 190 [0x0f] = U_SPECIAL, 191 [0x10] = U_SPECIAL, /* F7 */ 192 [0x11] = U_SPECIAL, /* F8 */ 193 [0x12] = U_SPECIAL, /* F9 */ 194 [0x13] = U_SPECIAL, /* Left Alt */ 195 [0x14] = U_UP_ARROW, /* Up Arrow */ 196 [0x15] = U_SPECIAL, /* Pause */ 197 [0x16] = U_SPECIAL, 198 [0x17] = U_SPECIAL, /* Scroll Lock */ 199 [0x18] = U_LEFT_ARROW, /* Left Arrow */ 200 [0x19] = U_SPECIAL, 201 [0x1a] = U_SPECIAL, 202 [0x1b] = U_DOWN_ARROW, /* Down Arrow */ 203 [0x1c] = U_RIGHT_ARROW, /* Right Arrow */ 204 [0x1d] = U_ESCAPE, /* Esc */ 203 205 [0x1e] = '!', 204 206 [0x1f] = '@', … … 214 216 [0x29] = '+', 215 217 [0x2a] = '~', 216 [0x2b] = SPECIAL,/* Backspace */217 [0x2c] = SPECIAL,/* Insert */218 [0x2d] = SPECIAL,219 [0x2e] = '/', /* numeric keypad*/220 [0x2f] = '*', /* numeric keypad*/221 [0x30] = SPECIAL,222 [0x31] = SPECIAL,223 [0x32] = '.', /* numeric keypad*/224 [0x33] = SPECIAL,225 [0x34] = SPECIAL,/* Home */226 [0x35] = SPECIAL,/* Tab */218 [0x2b] = '\b', /* Backspace */ 219 [0x2c] = U_SPECIAL, /* Insert */ 220 [0x2d] = U_SPECIAL, 221 [0x2e] = '/', /* Numpad / */ 222 [0x2f] = '*', /* Numpad * */ 223 [0x30] = U_SPECIAL, 224 [0x31] = U_SPECIAL, 225 [0x32] = '.', /* Numpad . */ 226 [0x33] = U_SPECIAL, 227 [0x34] = U_HOME_ARROW, /* Home */ 228 [0x35] = '\t', /* Tab */ 227 229 [0x36] = 'Q', 228 230 [0x37] = 'W', … … 237 239 [0x40] = '{', 238 240 [0x41] = '}', 239 [0x42] = SPECIAL, /* Del*/240 [0x43] = SPECIAL,241 [0x44] = '7', /* numeric keypad*/242 [0x45] = '8', /* numeric keypad*/243 [0x46] = '9', /* numeric keypad*/244 [0x47] = '-', /* numeric keypad*/245 [0x48] = SPECIAL,246 [0x49] = SPECIAL,247 [0x4a] = SPECIAL,/* End */248 [0x4b] = SPECIAL,249 [0x4c] = SPECIAL,/* Control */241 [0x42] = U_DELETE, /* Delete */ 242 [0x43] = U_SPECIAL, 243 [0x44] = '7', /* Numpad 7 */ 244 [0x45] = '8', /* Numpad 8 */ 245 [0x46] = '9', /* Numpad 9 */ 246 [0x47] = '-', /* Numpad - */ 247 [0x48] = U_SPECIAL, 248 [0x49] = U_SPECIAL, 249 [0x4a] = U_END_ARROW, /* End */ 250 [0x4b] = U_SPECIAL, 251 [0x4c] = U_SPECIAL, /* Control */ 250 252 [0x4d] = 'A', 251 253 [0x4e] = 'S', … … 260 262 [0x57] = '"', 261 263 [0x58] = '|', 262 [0x59] = SPECIAL,/* Enter */263 [0x5a] = SPECIAL, /* Enter on numeric keypad*/264 [0x5b] = '4', /* numeric keypad*/265 [0x5c] = '5', /* numeric keypad*/266 [0x5d] = '6', /* numeric keypad*/267 [0x5e] = '0', /* numeric keypad*/268 [0x5f] = SPECIAL,269 [0x60] = SPECIAL,/* Page Up */270 [0x61] = SPECIAL,271 [0x62] = SPECIAL, /* NumLock */272 [0x63] = SPECIAL, /* LShift */264 [0x59] = '\n', /* Enter */ 265 [0x5a] = '\n', /* Numpad Enter */ 266 [0x5b] = '4', /* Numpad 4 */ 267 [0x5c] = '5', /* Numpad 5 */ 268 [0x5d] = '6', /* Numpad 6 */ 269 [0x5e] = '0', /* Numpad 0 */ 270 [0x5f] = U_SPECIAL, 271 [0x60] = U_PAGE_UP, /* Page Up */ 272 [0x61] = U_SPECIAL, 273 [0x62] = U_SPECIAL, /* NumLock */ 274 [0x63] = U_SPECIAL, /* Left Shift */ 273 275 [0x64] = 'Z', 274 276 [0x65] = 'X', … … 281 283 [0x6c] = '>', 282 284 [0x6d] = '?', 283 [0x6e] = SPECIAL, /* RShift */284 [0x6f] = SPECIAL,285 [0x70] = '1', /* numeric keypad*/286 [0x71] = '2', /* numeric keypad*/287 [0x72] = '3', /* numeric keypad*/288 [0x73] = SPECIAL,289 [0x74] = SPECIAL,290 [0x75] = SPECIAL,291 [0x76] = SPECIAL,292 [0x77] = SPECIAL, /* CapsLock */293 [0x78] = SPECIAL,285 [0x6e] = U_SPECIAL, /* Right Shift */ 286 [0x6f] = U_SPECIAL, 287 [0x70] = '1', /* Numpad 1 */ 288 [0x71] = '2', /* Numpad 2 */ 289 [0x72] = '3', /* Numpad 3 */ 290 [0x73] = U_SPECIAL, 291 [0x74] = U_SPECIAL, 292 [0x75] = U_SPECIAL, 293 [0x76] = U_SPECIAL, 294 [0x77] = U_SPECIAL, /* CapsLock */ 295 [0x78] = U_SPECIAL, 294 296 [0x79] = ' ', 295 [0x7a] = SPECIAL,296 [0x7b] = SPECIAL,/* Page Down */297 [0x7c] = SPECIAL,298 [0x7d] = '+', /* numeric key pad*/299 [0x7e] = SPECIAL,300 [0x7f] = SPECIAL297 [0x7a] = U_SPECIAL, 298 [0x7b] = U_PAGE_DOWN, /* Page Down */ 299 [0x7c] = U_SPECIAL, 300 [0x7d] = '+', /* Numpad + */ 301 [0x7e] = U_SPECIAL, 302 [0x7f] = U_SPECIAL 301 303 }; 302 304
Note:
See TracChangeset
for help on using the changeset viewer.