From 25796110f3e96f044b8ca10f8aab9f3c29075033 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Fri, 25 Jan 2019 14:21:49 +0100 Subject: [PATCH] Read and print scancodes in keyboard interrupt handler --- src/interrupts.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/interrupts.rs b/src/interrupts.rs index 735fbfbb..1763bcbd 100644 --- a/src/interrupts.rs +++ b/src/interrupts.rs @@ -56,6 +56,10 @@ extern "x86-interrupt" fn timer_interrupt_handler(_stack_frame: &mut ExceptionSt } extern "x86-interrupt" fn keyboard_interrupt_handler(_stack_frame: &mut ExceptionStackFrame) { - print!("k"); + use x86_64::instructions::port::Port; + + let port = Port::new(0x60); + let scancode: u8 = unsafe { port.read() }; + print!("{}", scancode); unsafe { PICS.lock().notify_end_of_interrupt(KEYBOARD_INTERRUPT_ID) } }