mirror of
https://github.com/fernandotcl/TinyEMU.git
synced 2025-10-14 01:58:37 +08:00
35 lines
1.2 KiB
C
35 lines
1.2 KiB
C
/* 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);
|