| /* 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); |