summaryrefslogtreecommitdiff
path: root/kernel/drivers/ps2.c
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-05-05 09:54:48 -0400
committerFreya Murphy <freya@freyacat.org>2025-05-05 09:58:20 -0400
commit592c6992c7ea0c2e4cbea79fadb1c845f2fc050e (patch)
tree5d98b664749b67eb20d7fc279ff36bcf44843f21 /kernel/drivers/ps2.c
parentoff by one (diff)
downloadcomus-592c6992c7ea0c2e4cbea79fadb1c845f2fc050e.tar.gz
comus-592c6992c7ea0c2e4cbea79fadb1c845f2fc050e.tar.bz2
comus-592c6992c7ea0c2e4cbea79fadb1c845f2fc050e.zip
pc spkr
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;
+}