diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2025-12-24 19:49:57 -0500 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2025-12-24 19:49:57 -0500 |
| commit | 939ac4319cb047a37ba46f84eff81948063f6954 (patch) | |
| tree | 5112cf8aad73125a13f5b52c0290a7f26f948b52 /jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h | |
| parent | 3a1b5ba15b89c907f9bf66a0761ffdd73b32208b (diff) | |
| download | unixv4-939ac4319cb047a37ba46f84eff81948063f6954.tar.gz unixv4-939ac4319cb047a37ba46f84eff81948063f6954.tar.xz | |
Add working webpage for unix v4
Diffstat (limited to 'jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h')
| -rw-r--r-- | jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h b/jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h new file mode 100644 index 0000000..47bcfe9 --- /dev/null +++ b/jslinux-2019-12-21/tinyemu-2019-12-21/ps2.h @@ -0,0 +1,34 @@ +/* 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); |
