Changeset dd641e3 in mainline


Ignore:
Timestamp:
2006-06-04T12:22:54Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
26f48570
Parents:
67ec84b
Message:

fb make changes neaded by ega driver and console switching by function keys

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • console/console.c

    r67ec84b rdd641e3  
    285285        ipc_call_t call;
    286286        int retval;
    287         char c;
     287        int c;
    288288        connection_t *conn;
    289289       
     
    305305                        conn = &connections[active_console];
    306306//                      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)
    309309                                        change_console(KERNEL_CONSOLE);
    310310                                else
    311                                         change_console(c - '1');
     311                                        change_console(c - 0x101);
    312312                                break;
    313313                        }
  • fb/Makefile

    r67ec84b rdd641e3  
    4646OUTPUT = fb
    4747SOURCES = \
    48         fb.c \
    49         font-8x16.c \
    5048        main.c \
    5149        sysio.c \
    52         ega.c \
    5350        ppm.c
     51
     52ifeq ($(ARCH), ia32)
     53        SOURCES +=      fb.c \
     54        font-8x16.c \
     55        ega.c
     56endif
     57ifeq ($(ARCH), amd64)
     58        SORCES +=       fb.c \
     59        font-8x16.c \
     60        ega.c
     61endif
     62
     63CFLAGS += -D$(ARCH)
     64
    5465
    5566OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
  • fb/main.c

    r67ec84b rdd641e3  
    5757        int initialized = 0;
    5858
     59#ifdef ia32
    5960        if (sysinfo_value("fb.kind") == 1) {
    6061                if (fb_init() == 0)
     
    6465                        initialized = 1;
    6566        }
     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
    6680       
    6781        if (!initialized)
  • kbd/arch/ia32/src/kbd.c

    r67ec84b rdd641e3  
    5858#define SC_END          0x4f
    5959
     60#define FUNCTION_KEYS 0x100
     61
    6062static volatile int keyflags;           /**< Tracking of multiple keypresses. */
    6163static volatile int lockflags;          /**< Tracking of multiple keys lockings. */
    6264
    6365/** Primary meaning of scancodes. */
    64 static char sc_primary_map[] = {
     66static int sc_primary_map[] = {
    6567        SPECIAL, /* 0x00 */
    6668        SPECIAL, /* 0x01 - Esc */
     
    7981        ' ',
    8082        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 */
    9193        SPECIAL, /* 0x45 - NumLock */
    9294        SPECIAL, /* 0x46 - ScrollLock */
     
    98100        SPECIAL, /* 0x55 - F11/F12/PF1/FN */
    99101        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 */
    102104        SPECIAL, /* 0x59 */
    103105        SPECIAL, /* 0x5a */
     
    251253static int key_pressed(keybuffer_t *keybuffer, unsigned char key)
    252254{
    253         char *map = sc_primary_map;
    254         char ascii = sc_primary_map[key];
    255         char shift, capslock;
    256         char letter = 0;
     255        int *map = sc_primary_map;
     256        int ascii = sc_primary_map[key];
     257        int shift, capslock;
     258        int letter = 0;
    257259
    258260        switch (key) {
  • kbd/generic/kbd.c

    r67ec84b rdd641e3  
    9292                        case IPC_M_INTERRUPT:
    9393                                if (connected) {
     94                                        int chr;
    9495                                        /* recode to ASCII - one interrupt can produce more than one code so result is stored in fifo */
    9596                                        kbd_arch_process(&keybuffer, IPC_GET_ARG2(call));
    9697
    9798                                        retval = 0;
     99                                       
    98100
    99101                                        while (!keybuffer_empty(&keybuffer)) {
    100                                                 if (!keybuffer_pop(&keybuffer, (char *)&arg1)) {
     102                                                if (!keybuffer_pop(&keybuffer, (int *)&chr)) {
    101103                                                        break;
    102104                                                }
    103                                                 send_call(phoneid, KBD_PUSHCHAR, arg1);
     105                                                {
     106                                                        arg1=chr;
     107                                                        send_call(phoneid, KBD_PUSHCHAR, arg1);
     108                                                }   
    104109                                        }
    105110
  • kbd/generic/key_buffer.c

    r67ec84b rdd641e3  
    7373 * @param key code of stored key
    7474 */
    75 void keybuffer_push(keybuffer_t *keybuffer, char key)
     75void keybuffer_push(keybuffer_t *keybuffer, int key)
    7676{
    7777        futex_down(&keybuffer_futex);
     
    8888 * @return zero on empty buffer, nonzero else
    8989 */
    90 int keybuffer_pop(keybuffer_t *keybuffer, char *c)
     90int keybuffer_pop(keybuffer_t *keybuffer, int *c)
    9191{
    9292        futex_down(&keybuffer_futex);
    9393        if (keybuffer->items > 0) {
    9494                keybuffer->items--;
    95                 *c = keybuffer->fifo[keybuffer->head];
     95                *c = (keybuffer->fifo[keybuffer->head]) ;
    9696                keybuffer->head = (keybuffer->head + 1) % KEYBUFFER_SIZE;
    9797                futex_up(&keybuffer_futex);
  • kbd/include/key_buffer.h

    r67ec84b rdd641e3  
    3636
    3737typedef struct {
    38         char fifo[KEYBUFFER_SIZE];
     38        int fifo[KEYBUFFER_SIZE];
    3939        unsigned long head;
    4040        unsigned long tail;
     
    4646int keybuffer_available(keybuffer_t *keybuffer);
    4747int keybuffer_empty(keybuffer_t *keybuffer);
    48 void keybuffer_push(keybuffer_t *keybuffer, char key);
    49 int keybuffer_pop(keybuffer_t *keybuffer, char *c);
     48void keybuffer_push(keybuffer_t *keybuffer, int key);
     49int keybuffer_pop(keybuffer_t *keybuffer, int *c);
    5050
    5151#endif
Note: See TracChangeset for help on using the changeset viewer.