summaryrefslogtreecommitdiff
path: root/Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp')
-rw-r--r--Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp b/Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp
index f5216c7..bacfbe9 100644
--- a/Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp
+++ b/Source/Kernel/Devices/Keyboard/PS2Keyboard.class.cpp
@@ -6,6 +6,14 @@ using namespace Sys;
PS2Keyboard::PS2Keyboard() {
Dev::requestIRQ(this, 1);
+
+ //Read all waiting characters, so that keyboard buffer is empty
+ u8int temp = inb(0x60), temp2 = 0;
+ while (temp != temp2) {
+ temp2 = temp;
+ temp = inb(0x60);
+ }
+
m_escaped = false;
}