blob: 47bcfe9da63e7f4ac1964739004140094351b67a [file] [log] [blame] [raw]
/* ps2.c */
typedef struct PS2MouseState PS2MouseState;
typedef struct PS2KbdState PS2KbdState;
PS2KbdState *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg);
PS2MouseState *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg);
void ps2_write_mouse(void *, int val);
void ps2_write_keyboard(void *, int val);
uint32_t ps2_read_data(void *);
void ps2_queue(void *, int b);
void ps2_keyboard_set_translation(void *opaque, int mode);
void ps2_put_keycode(PS2KbdState *s, BOOL is_down, int keycode);
void ps2_mouse_event(PS2MouseState *s,
int dx, int dy, int dz, int buttons_state);
/* vmmouse.c */
typedef struct VMMouseState VMMouseState;
VMMouseState *vmmouse_init(PS2MouseState *ps2_mouse);
BOOL vmmouse_is_absolute(VMMouseState *s);
void vmmouse_send_mouse_event(VMMouseState *s, int x, int y, int dz,
int buttons);
void vmmouse_handler(VMMouseState *s, uint32_t *regs);
/* pckbd.c */
typedef struct KBDState KBDState;
KBDState *i8042_init(PS2KbdState **pkbd,
PS2MouseState **pmouse,
PhysMemoryMap *port_map,
IRQSignal *kbd_irq, IRQSignal *mouse_irq,
uint32_t io_base);