Changeset 830ac99 in mainline for kbd


Ignore:
Timestamp:
2006-06-15T19:53:38Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
096ba7a
Parents:
7a0c530
Message:

Added mouse input. Still missing support in console and framebuffer.

Location:
kbd
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • kbd/Makefile

    r7a0c530 r830ac99  
    4949        arch/$(ARCH)/src/kbd.c
    5050
     51ifeq ($(ARCH), ia32)
     52        ARCH_SOURCES += arch/$(ARCH)/src/mouse.c
     53        CFLAGS += -DMOUSE_ENABLED
     54endif
     55ifeq ($(ARCH), amd64)
     56        ARCH_SOURCES += arch/$(ARCH)/src/mouse.c
     57        CFLAGS += -DMOUSE_ENABLED
     58endif
     59
     60
     61
    5162GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
    5263ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
  • kbd/arch/ia32/src/kbd.c

    r7a0c530 r830ac99  
    450450        int status = IPC_GET_ARG1(*call);
    451451
    452         if ((status & i8042_MOUSE_DATA)) {
    453                 ;
    454         } else {
    455                 int scan_code = IPC_GET_ARG2(*call);
    456                
    457                 if (scan_code != IGNORE_CODE) {
    458                         if (scan_code & KEY_RELEASE)
    459                                 key_released(keybuffer, scan_code ^ KEY_RELEASE);
    460                         else
    461                                 key_pressed(keybuffer, scan_code);
    462                 }
     452        if ((status & i8042_MOUSE_DATA))
     453                return 0;
     454       
     455        int scan_code = IPC_GET_ARG2(*call);
     456       
     457        if (scan_code != IGNORE_CODE) {
     458                if (scan_code & KEY_RELEASE)
     459                        key_released(keybuffer, scan_code ^ KEY_RELEASE);
     460                else
     461                        key_pressed(keybuffer, scan_code);
    463462        }
    464463        return  1;
  • kbd/generic/kbd.c

    r7a0c530 r830ac99  
    6565        int chr;
    6666
     67#ifdef MOUSE_ENABLED
     68        if (mouse_arch_process(phone2cons, call))
     69                return;
     70#endif
     71       
     72        kbd_arch_process(&keybuffer, call);
     73
    6774        if (cons_connected && phone2cons != -1) {
    6875                /* recode to ASCII - one interrupt can produce more than one code so result is stored in fifo */
    69                 kbd_arch_process(&keybuffer, call);
    70                
    7176                while (!keybuffer_empty(&keybuffer)) {
    7277                        if (!keybuffer_pop(&keybuffer, (int *)&chr))
  • kbd/include/kbd.h

    r7a0c530 r830ac99  
    3838#define __KBD_H__
    3939
     40#include <key_buffer.h>
    4041
    4142int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call);
     43int mouse_arch_process(int phoneid, ipc_call_t *call);
    4244
    4345#endif
  • kbd/include/keys.h

    r7a0c530 r830ac99  
    3838#define _KBD_KEYS_H_
    3939
    40 #define KBD_PUSHCHAR 1024
     40#define KBD_PUSHCHAR    1024
     41#define KBD_MS_LEFT     1025
     42#define KBD_MS_RIGHT    1026
     43#define KBD_MS_MIDDLE   1027
     44#define KBD_MS_MOVE     1028
    4145
    4246#define KBD_KEY_F1      0x3b
Note: See TracChangeset for help on using the changeset viewer.