Rev 1603 | Rev 1649 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1603 | Rev 1644 | ||
---|---|---|---|
Line 143... | Line 143... | ||
143 | }; |
143 | }; |
144 | 144 | ||
145 | /** Secondary meaning of scancodes. */ |
145 | /** Secondary meaning of scancodes. */ |
146 | static int sc_secondary_map[] = { |
146 | static int sc_secondary_map[] = { |
147 | SPECIAL, /* 0x00 */ |
147 | SPECIAL, /* 0x00 */ |
148 | SPECIAL, /* 0x01 - Esc */ |
148 | 0x1b, /* 0x01 - Esc */ |
149 | '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', |
149 | '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', |
150 | SPECIAL, /* 0x0e - Backspace */ |
150 | SPECIAL, /* 0x0e - Backspace */ |
151 | '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', |
151 | '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', |
152 | SPECIAL, /* 0x1d - LCtrl */ |
152 | SPECIAL, /* 0x1d - LCtrl */ |
153 | 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', |
153 | 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', |
Line 255... | Line 255... | ||
255 | int *map = sc_primary_map; |
255 | int *map = sc_primary_map; |
256 | int ascii = sc_primary_map[key]; |
256 | int ascii = sc_primary_map[key]; |
257 | int shift, capslock; |
257 | int shift, capslock; |
258 | int letter = 0; |
258 | int letter = 0; |
259 | 259 | ||
- | 260 | static int esc_count=0; |
|
- | 261 | ||
- | 262 | ||
- | 263 | if ( key == SC_ESC ) { |
|
- | 264 | esc_count++; |
|
- | 265 | if ( esc_count == 3 ) { |
|
- | 266 | __SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE); |
|
- | 267 | } |
|
- | 268 | } else { |
|
- | 269 | esc_count=0; |
|
- | 270 | } |
|
- | 271 | ||
- | 272 | ||
- | 273 | ||
260 | switch (key) { |
274 | switch (key) { |
261 | case SC_LSHIFT: |
275 | case SC_LSHIFT: |
262 | case SC_RSHIFT: |
276 | case SC_RSHIFT: |
263 | keyflags |= PRESSED_SHIFT; |
277 | keyflags |= PRESSED_SHIFT; |
264 | break; |
278 | break; |