diff --git a/Cargo.lock b/Cargo.lock index c5a74880..6d8bc391 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -83,9 +83,9 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" [[package]] name = "pc-keyboard" -version = "0.3.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff50ab09ba31bcebc0669f4e64c0952fae1acdca9e6e0587e68e4e8443808ac" +checksum = "c48392db76c4e9a69e0b3be356c5f97ebb7b14413c5e4fd0af4755dbf86e2fce" [[package]] name = "pic8259_simple" diff --git a/Cargo.toml b/Cargo.toml index ae67fe5a..bf32acbf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ spin = "0.5.2" x86_64 = "0.8.1" uart_16550 = "0.2.0" pic8259_simple = "0.1.1" -pc-keyboard = "0.3.1" +pc-keyboard = "0.5.0" linked_list_allocator = "0.6.4" [dependencies.lazy_static] diff --git a/src/interrupts.rs b/src/interrupts.rs index c833af7f..846447c8 100644 --- a/src/interrupts.rs +++ b/src/interrupts.rs @@ -80,13 +80,14 @@ extern "x86-interrupt" fn timer_interrupt_handler(_stack_frame: &mut InterruptSt } extern "x86-interrupt" fn keyboard_interrupt_handler(_stack_frame: &mut InterruptStackFrame) { - use pc_keyboard::{layouts, DecodedKey, Keyboard, ScancodeSet1}; + use pc_keyboard::{layouts, DecodedKey, HandleControl, Keyboard, ScancodeSet1}; use spin::Mutex; use x86_64::instructions::port::Port; lazy_static! { - static ref KEYBOARD: Mutex> = - Mutex::new(Keyboard::new(layouts::Us104Key, ScancodeSet1)); + static ref KEYBOARD: Mutex> = Mutex::new( + Keyboard::new(layouts::Us104Key, ScancodeSet1, HandleControl::Ignore) + ); } let mut keyboard = KEYBOARD.lock();