summaryrefslogtreecommitdiff
path: root/kernel/drivers/ps2.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/ps2.c')
-rw-r--r--kernel/drivers/ps2.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/drivers/ps2.c b/kernel/drivers/ps2.c
index e260f6b..f605c1d 100644
--- a/kernel/drivers/ps2.c
+++ b/kernel/drivers/ps2.c
@@ -266,3 +266,18 @@ int ps2_init(void)
sti();
return 0;
}
+
+int ps2_set_leds(uint8_t state)
+{
+ uint8_t result;
+
+ if (!(has_mouse || has_kbd))
+ return 1;
+
+ ps2ctrl_out_cmd(0xED);
+ ps2ctrl_out_data(state);
+ if ((result = ps2ctrl_in()) != 0xFA)
+ return 1;
+
+ return 0;
+}