summaryrefslogtreecommitdiff
path: root/kernel/drivers/ps2.c
diff options
context:
space:
mode:
authorIan McFarlane <i.mcfarlane2002@gmail.com>2025-05-06 15:14:11 -0400
committerIan McFarlane <i.mcfarlane2002@gmail.com>2025-05-06 15:14:11 -0400
commitda396afa8b612b8f8ff07d71c57761a627b158eb (patch)
treeb4935b29aca686c6ee17a583cffe149d7bb3c819 /kernel/drivers/ps2.c
parentupdate forkman with spinlock (diff)
parentstart docs (diff)
downloadcomus-forkman.tar.gz
comus-forkman.tar.bz2
comus-forkman.zip
merge main into forkmanforkman
Diffstat (limited to '')
-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..409ca09 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;
+}