From 494ed66266f036fbfb5acf5a61392a2fdccdb9af Mon Sep 17 00:00:00 2001 From: Kat Richey Date: Sat, 29 Oct 2022 10:05:24 -0500 Subject: [PATCH] Some attempts at PS/2 kbd stuff --- arch/i386/ps2_kbd.c | 15 +++++++++++++++ arch/i386/ps2_kbd.h | 10 ++++++++++ 2 files changed, 25 insertions(+) create mode 100644 arch/i386/ps2_kbd.c create mode 100644 arch/i386/ps2_kbd.h diff --git a/arch/i386/ps2_kbd.c b/arch/i386/ps2_kbd.c new file mode 100644 index 0000000..2aaf774 --- /dev/null +++ b/arch/i386/ps2_kbd.c @@ -0,0 +1,15 @@ +#include "ps2_kbd.h" +#include + +unsigned char get_ps2_inbyte() { + return inb(0x60); +} + +unsigned char* identify_device() { + unsigned char ret_val[2]; int j = 0; + outb(0xF2, 0x64); + for(unsigned char i; i != 0xFA; i = inb(0x60)) { + ret_val[j++] = i; + } + return ret_val; +} \ No newline at end of file diff --git a/arch/i386/ps2_kbd.h b/arch/i386/ps2_kbd.h new file mode 100644 index 0000000..45826c5 --- /dev/null +++ b/arch/i386/ps2_kbd.h @@ -0,0 +1,10 @@ +#ifndef _ARCH_I386_PS2_KBD_H +#define _ARCH_I386_PS2_KBD_H + +int scan_set; + +unsigned char get_ps2_inbyte(); + +unsigned char* identify_device(); + +#endif \ No newline at end of file