PatchworkOS  3984a1d
A non-POSIX operating system.
Loading...
Searching...
No Matches
ps2_kbd.h
Go to the documentation of this file.
1#pragma once
2
3#include "ps2.h"
4
6
7/**
8 * @brief PS/2 Keyboard Driver.
9 * @defgroup module_drivers_ps2_kbd PS/2 Keyboard Driver
10 * @ingroup modules_drivers_ps2
11 *
12 * @{
13 */
14
15/**
16 * @brief PS/2 keyboard flags.
17 * @enum ps2_kbd_flags_t
18 */
19typedef enum
20{
25
26/**
27 * @brief PS/2 keyboard private data.
28 * @struct ps2_kbd_t
29 */
30typedef struct
31{
34} ps2_kbd_t;
35
36/**
37 * @brief Initialize a PS/2 keyboard device.
38 *
39 * @param info Device information structure.
40 * @return On success, `0`. On failure, `ERR`.
41 */
43
44/**
45 * @brief Register the IRQ handler for a PS/2 keyboard device.
46 *
47 * @param info Device information structure.
48 * @return On success, `0`. On failure, `ERR` and `errno` is set.
49 */
51
52/**
53 * @brief Deinitialize a PS/2 keyboard device.
54 *
55 * @param info Device information structure.
56 */
58
59/** @} */
uint64_t ps2_kbd_init(ps2_device_info_t *info)
Initialize a PS/2 keyboard device.
Definition ps2_kbd.c:51
void ps2_kbd_deinit(ps2_device_info_t *info)
Deinitialize a PS/2 keyboard device.
Definition ps2_kbd.c:97
ps2_kbd_flags_t
PS/2 keyboard flags.
Definition ps2_kbd.h:20
uint64_t ps2_kbd_irq_register(ps2_device_info_t *info)
Register the IRQ handler for a PS/2 keyboard device.
Definition ps2_kbd.c:78
@ PS2_KBD_NONE
Definition ps2_kbd.h:21
@ PS2_KBD_EXTENDED
Definition ps2_kbd.h:22
@ PS2_KBD_RELEASE
Definition ps2_kbd.h:23
__UINT64_TYPE__ uint64_t
Definition stdint.h:17
Keyboard structure.
Definition kbd.h:68
PS/2 device information structure.
Definition ps2.h:202
PS/2 keyboard private data.
Definition ps2_kbd.h:31
ps2_kbd_flags_t flags
Definition ps2_kbd.h:32
kbd_t * kbd
Definition ps2_kbd.h:33