Changeset dd641e3 in mainline
- Timestamp:
- 2006-06-04T12:22:54Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 26f48570
- Parents:
- 67ec84b
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
console/console.c
r67ec84b rdd641e3 285 285 ipc_call_t call; 286 286 int retval; 287 charc;287 int c; 288 288 connection_t *conn; 289 289 … … 305 305 conn = &connections[active_console]; 306 306 // if ((c >= KBD_KEY_F1) && (c < KBD_KEY_F1 + CONSOLE_COUNT)) { 307 if ((c >= '0') && (c < '0'+ CONSOLE_COUNT)) {308 if (c == '0')307 if ((c >= 0x101) && (c < 0x101 + CONSOLE_COUNT)) { 308 if (c == 0x112) 309 309 change_console(KERNEL_CONSOLE); 310 310 else 311 change_console(c - '1');311 change_console(c - 0x101); 312 312 break; 313 313 } -
fb/Makefile
r67ec84b rdd641e3 46 46 OUTPUT = fb 47 47 SOURCES = \ 48 fb.c \49 font-8x16.c \50 48 main.c \ 51 49 sysio.c \ 52 ega.c \53 50 ppm.c 51 52 ifeq ($(ARCH), ia32) 53 SOURCES += fb.c \ 54 font-8x16.c \ 55 ega.c 56 endif 57 ifeq ($(ARCH), amd64) 58 SORCES += fb.c \ 59 font-8x16.c \ 60 ega.c 61 endif 62 63 CFLAGS += -D$(ARCH) 64 54 65 55 66 OBJECTS := $(addsuffix .o,$(basename $(SOURCES))) -
fb/main.c
r67ec84b rdd641e3 57 57 int initialized = 0; 58 58 59 #ifdef ia32 59 60 if (sysinfo_value("fb.kind") == 1) { 60 61 if (fb_init() == 0) … … 64 65 initialized = 1; 65 66 } 67 #endif 68 69 #ifdef amd64 70 if (sysinfo_value("fb.kind") == 1) { 71 if (fb_init() == 0) 72 initialized = 1; 73 } else if (sysinfo_value("fb.kind") == 2) { 74 if (ega_init() == 0) 75 initialized = 1; 76 } 77 #endif 78 79 66 80 67 81 if (!initialized) -
kbd/arch/ia32/src/kbd.c
r67ec84b rdd641e3 58 58 #define SC_END 0x4f 59 59 60 #define FUNCTION_KEYS 0x100 61 60 62 static volatile int keyflags; /**< Tracking of multiple keypresses. */ 61 63 static volatile int lockflags; /**< Tracking of multiple keys lockings. */ 62 64 63 65 /** Primary meaning of scancodes. */ 64 static charsc_primary_map[] = {66 static int sc_primary_map[] = { 65 67 SPECIAL, /* 0x00 */ 66 68 SPECIAL, /* 0x01 - Esc */ … … 79 81 ' ', 80 82 SPECIAL, /* 0x3a - CapsLock */ 81 SPECIAL, /* 0x3b - F1 */82 SPECIAL, /* 0x3c - F2 */83 SPECIAL, /* 0x3d - F3 */84 SPECIAL, /* 0x3e - F4 */85 SPECIAL, /* 0x3f - F5 */86 SPECIAL, /* 0x40 - F6 */87 SPECIAL, /* 0x41 - F7 */88 SPECIAL, /* 0x42 - F8 */89 SPECIAL, /* 0x43 - F9 */90 SPECIAL, /* 0x44 - F10 */83 (FUNCTION_KEYS | 1), /* 0x3b - F1 */ 84 (FUNCTION_KEYS | 2), /* 0x3c - F2 */ 85 (FUNCTION_KEYS | 3), /* 0x3d - F3 */ 86 (FUNCTION_KEYS | 4), /* 0x3e - F4 */ 87 (FUNCTION_KEYS | 5), /* 0x3f - F5 */ 88 (FUNCTION_KEYS | 6), /* 0x40 - F6 */ 89 (FUNCTION_KEYS | 7), /* 0x41 - F7 */ 90 (FUNCTION_KEYS | 8), /* 0x42 - F8 */ 91 (FUNCTION_KEYS | 9), /* 0x43 - F9 */ 92 (FUNCTION_KEYS | 10), /* 0x44 - F10 */ 91 93 SPECIAL, /* 0x45 - NumLock */ 92 94 SPECIAL, /* 0x46 - ScrollLock */ … … 98 100 SPECIAL, /* 0x55 - F11/F12/PF1/FN */ 99 101 SPECIAL, /* 0x56 - unlabelled key next to LAlt */ 100 SPECIAL, /* 0x57 - F11 */101 SPECIAL, /* 0x58 - F12 */102 FUNCTION_KEYS | 11, /* 0x57 - F11 */ 103 FUNCTION_KEYS | 12, /* 0x58 - F12 */ 102 104 SPECIAL, /* 0x59 */ 103 105 SPECIAL, /* 0x5a */ … … 251 253 static int key_pressed(keybuffer_t *keybuffer, unsigned char key) 252 254 { 253 char*map = sc_primary_map;254 charascii = sc_primary_map[key];255 charshift, capslock;256 charletter = 0;255 int *map = sc_primary_map; 256 int ascii = sc_primary_map[key]; 257 int shift, capslock; 258 int letter = 0; 257 259 258 260 switch (key) { -
kbd/generic/kbd.c
r67ec84b rdd641e3 92 92 case IPC_M_INTERRUPT: 93 93 if (connected) { 94 int chr; 94 95 /* recode to ASCII - one interrupt can produce more than one code so result is stored in fifo */ 95 96 kbd_arch_process(&keybuffer, IPC_GET_ARG2(call)); 96 97 97 98 retval = 0; 99 98 100 99 101 while (!keybuffer_empty(&keybuffer)) { 100 if (!keybuffer_pop(&keybuffer, ( char *)&arg1)) {102 if (!keybuffer_pop(&keybuffer, (int *)&chr)) { 101 103 break; 102 104 } 103 send_call(phoneid, KBD_PUSHCHAR, arg1); 105 { 106 arg1=chr; 107 send_call(phoneid, KBD_PUSHCHAR, arg1); 108 } 104 109 } 105 110 -
kbd/generic/key_buffer.c
r67ec84b rdd641e3 73 73 * @param key code of stored key 74 74 */ 75 void keybuffer_push(keybuffer_t *keybuffer, charkey)75 void keybuffer_push(keybuffer_t *keybuffer, int key) 76 76 { 77 77 futex_down(&keybuffer_futex); … … 88 88 * @return zero on empty buffer, nonzero else 89 89 */ 90 int keybuffer_pop(keybuffer_t *keybuffer, char*c)90 int keybuffer_pop(keybuffer_t *keybuffer, int *c) 91 91 { 92 92 futex_down(&keybuffer_futex); 93 93 if (keybuffer->items > 0) { 94 94 keybuffer->items--; 95 *c = keybuffer->fifo[keybuffer->head];95 *c = (keybuffer->fifo[keybuffer->head]) ; 96 96 keybuffer->head = (keybuffer->head + 1) % KEYBUFFER_SIZE; 97 97 futex_up(&keybuffer_futex); -
kbd/include/key_buffer.h
r67ec84b rdd641e3 36 36 37 37 typedef struct { 38 charfifo[KEYBUFFER_SIZE];38 int fifo[KEYBUFFER_SIZE]; 39 39 unsigned long head; 40 40 unsigned long tail; … … 46 46 int keybuffer_available(keybuffer_t *keybuffer); 47 47 int keybuffer_empty(keybuffer_t *keybuffer); 48 void keybuffer_push(keybuffer_t *keybuffer, charkey);49 int keybuffer_pop(keybuffer_t *keybuffer, char*c);48 void keybuffer_push(keybuffer_t *keybuffer, int key); 49 int keybuffer_pop(keybuffer_t *keybuffer, int *c); 50 50 51 51 #endif
Note:
See TracChangeset
for help on using the changeset viewer.