Explorar o código

Kernel: Handle 'Menu' key on PS/2 keyboard

Jean-Baptiste Boric %!s(int64=4) %!d(string=hai) anos
pai
achega
0d22ec9d32
Modificáronse 2 ficheiros con 6 adicións e 1 borrados
  1. 2 1
      Kernel/API/KeyCode.h
  2. 4 0
      Kernel/Devices/KeyboardDevice.cpp

+ 2 - 1
Kernel/API/KeyCode.h

@@ -134,7 +134,8 @@
     __ENUMERATE_KEY_CODE(Pipe, "|")                  \
     __ENUMERATE_KEY_CODE(Pipe, "|")                  \
     __ENUMERATE_KEY_CODE(Tilde, "~")                 \
     __ENUMERATE_KEY_CODE(Tilde, "~")                 \
     __ENUMERATE_KEY_CODE(Backtick, "`")              \
     __ENUMERATE_KEY_CODE(Backtick, "`")              \
-    __ENUMERATE_KEY_CODE(Logo, "Logo")
+    __ENUMERATE_KEY_CODE(Logo, "Logo")               \
+    __ENUMERATE_KEY_CODE(Menu, "Menu")
 
 
 enum KeyCode : u8 {
 enum KeyCode : u8 {
 #define __ENUMERATE_KEY_CODE(name, ui_name) Key_##name,
 #define __ENUMERATE_KEY_CODE(name, ui_name) Key_##name,

+ 4 - 0
Kernel/Devices/KeyboardDevice.cpp

@@ -132,6 +132,8 @@ static const KeyCode unshifted_key_map[0x80] = {
     Key_Invalid,
     Key_Invalid,
     Key_Invalid,
     Key_Invalid,
     Key_Logo,
     Key_Logo,
+    Key_Invalid,
+    Key_Menu,
 };
 };
 
 
 static const KeyCode shifted_key_map[0x100] = {
 static const KeyCode shifted_key_map[0x100] = {
@@ -227,6 +229,8 @@ static const KeyCode shifted_key_map[0x100] = {
     Key_Invalid,
     Key_Invalid,
     Key_Invalid,
     Key_Invalid,
     Key_Logo,
     Key_Logo,
+    Key_Invalid,
+    Key_Menu,
 };
 };
 
 
 static const KeyCode numpad_key_map[13] = { Key_7, Key_8, Key_9, Key_Invalid, Key_4, Key_5, Key_6, Key_Invalid, Key_1, Key_2, Key_3, Key_0, Key_Comma };
 static const KeyCode numpad_key_map[13] = { Key_7, Key_8, Key_9, Key_Invalid, Key_4, Key_5, Key_6, Key_Invalid, Key_1, Key_2, Key_3, Key_0, Key_Comma };