<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rcc-project/mubios/drivers/kbd.c, branch master</title>
<subtitle>A collection of systems software, from virtual machines and compilers to developer tools and terminal applications.
</subtitle>
<id>https://git.richardqin.org/rcc-project/atom?h=master</id>
<link rel='self' href='https://git.richardqin.org/rcc-project/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.richardqin.org/rcc-project/'/>
<updated>2026-11-09T17:55:40Z</updated>
<entry>
<title>[mubios] Fixed several typo</title>
<updated>2026-11-09T17:55:40Z</updated>
<author>
<name>Richard Qin</name>
<email>richard.qin.x@gmail.com</email>
</author>
<published>2026-11-09T17:55:40Z</published>
<link rel='alternate' type='text/html' href='https://git.richardqin.org/rcc-project/commit/?id=03c2c766aad0746ca3e71b44756b443ae8742e95'/>
<id>urn:sha1:03c2c766aad0746ca3e71b44756b443ae8742e95</id>
<content type='text'>
Signed-off-by: Richard Qin &lt;richard.qin.x@gmail.com&gt;
</content>
</entry>
<entry>
<title>[mubios] Implement serial input and BIOS console key handling</title>
<updated>2026-11-09T17:16:40Z</updated>
<author>
<name>Richard Qin</name>
<email>richard.qin.x@gmail.com</email>
</author>
<published>2026-11-09T17:16:40Z</published>
<link rel='alternate' type='text/html' href='https://git.richardqin.org/rcc-project/commit/?id=4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e'/>
<id>urn:sha1:4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e</id>
<content type='text'>
Implement UART receive, transmit timeouts, configuration and status reporting for INT 14h functions 00h-03h. Initialize the BDA serial timeout and expose the driver interfaces.

Translate terminal characters and CSI/SS3 escape sequences into BIOS keyboard events for INT 16h. Add blocking reads, non-consuming status queries, enhanced key reads and keyboard buffer insertion.
</content>
</entry>
<entry>
<title>[mubios] Initialize the 8042 keyboard controller</title>
<updated>2026-11-09T15:42:19Z</updated>
<author>
<name>Richard Qin</name>
<email>richard.qin.x@gmail.com</email>
</author>
<published>2026-11-09T15:42:19Z</published>
<link rel='alternate' type='text/html' href='https://git.richardqin.org/rcc-project/commit/?id=2bc8a824fd424aa3e21bc394fd0be3191b830888'/>
<id>urn:sha1:2bc8a824fd424aa3e21bc394fd0be3191b830888</id>
<content type='text'>
POST only unmasked IRQ1 in the PIC and never configured the 8042 itself, so
the keyboard stayed in its post-reset disabled state: the clock was inhibited
and no scan code ever reached the output buffer. IRQ1 never fired, the BDA
keyboard buffer stayed empty, and GRUB polling INT 16h AH=01h never saw a key.

Add kbd_init() to disable both ports, drain the output buffer, clear the clock
inhibit bits in the command byte, enable the keyboard and auxiliary IRQs and
select set 1 translation, then enable scanning with 0xF4.

The IRQ1 handler now checks the status register for a pending output byte
before reading the data port and drops auxiliary port bytes. The set 2 break
prefix tracking is gone because translation is enabled.
</content>
</entry>
</feed>
