Browse Source

Teach PS2MouseDevice to read the left and right buttons.

Andreas Kling 6 năm trước cách đây
mục cha
commit
31667b47a5
1 tập tin đã thay đổi với 11 bổ sung2 xóa
  1. 11 2
      Kernel/PS2MouseDevice.cpp

+ 11 - 2
Kernel/PS2MouseDevice.cpp

@@ -14,15 +14,24 @@ PS2MouseDevice::~PS2MouseDevice()
 
 void PS2MouseDevice::handle_irq()
 {
-    m_data[m_data_state] = IO::in8(0x60);
+    byte data = IO::in8(0x60);
+    m_data[m_data_state] = data;
     switch (m_data_state) {
     case 0:
+        ASSERT(data & 0x08);
+        ++m_data_state;
+        break;
     case 1:
         ++m_data_state;
         break;
     case 2:
         m_data_state = 0;
-        dbgprintf("PS2Mouse: %d, %d\n", m_data[1], m_data[2]);
+        dbgprintf("PS2Mouse: %d, %d %s %s\n",
+            m_data[1],
+            m_data[2],
+            (m_data[0] & 1) ? "Left" : "",
+            (m_data[0] & 2) ? "Right" : ""
+        );
         break;
     }
 }