git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3952
6f19259b-4bc3-4df7-8a09-
765794883524
ConsoleIn->Key.UnicodeChar = ConvertKeyboardScanCodeToEfiKey[Index].UnicodeChar;\r
}\r
}\r
+ //\r
+ // Translate the CTRL-Alpha characters to their corresponding control value (ctrl-a = 0x0001 through ctrl-Z = 0x001A)\r
+ //\r
+ if (ConsoleIn->Ctrled) {\r
+ if (ConsoleIn->Key.UnicodeChar >= 'a' && ConsoleIn->Key.UnicodeChar <= 'z') {\r
+ ConsoleIn->Key.UnicodeChar = (UINT16) (ConsoleIn->Key.UnicodeChar - 'a' + 1);\r
+ } else if (ConsoleIn->Key.UnicodeChar >= 'A' && ConsoleIn->Key.UnicodeChar <= 'Z') {\r
+ ConsoleIn->Key.UnicodeChar = (UINT16) (ConsoleIn->Key.UnicodeChar - 'A' + 1);\r
+ }\r
+ }\r
\r
break;\r
}\r
\r
}\r
}\r
-\r
+ //\r
+ // Translate the CTRL-Alpha characters to their corresponding control value (ctrl-a = 0x0001 through ctrl-Z = 0x001A)\r
+ //\r
+ if (UsbKeyboardDevice->CtrlOn) {\r
+ if (Key->UnicodeChar >= 'a' && Key->UnicodeChar <= 'z') {\r
+ Key->UnicodeChar = (UINT16) (Key->UnicodeChar - 'a' + 1);\r
+ } else if (Key->UnicodeChar >= 'A' && Key->UnicodeChar <= 'Z') {\r
+ Key->UnicodeChar = (UINT16) (Key->UnicodeChar - 'A' + 1);\r
+ }\r
+ }\r
+ \r
+ \r
if (KeyChar >= 0x59 && KeyChar <= 0x63) {\r
\r
if (UsbKeyboardDevice->NumLockOn && !UsbKeyboardDevice->ShiftOn) {\r