]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Change the SimpleTextInEx implementation to return CTRL+C when CTRL and C are both...
authorniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 25 Oct 2011 06:12:18 +0000 (06:12 +0000)
committerniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 25 Oct 2011 06:12:18 +0000 (06:12 +0000)
Signed-off-by: niruiyu
Reviewed-by: qianouyang
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12564 6f19259b-4bc3-4df7-8a09-765794883524

Nt32Pkg/WinNtGopDxe/WinNtGopInput.c

index cc05a5d1b8d52a51ec19c909ee6a37edbdca78c3..ee1a98cdeb9f4cb659e4781ead5e2740232805c6 100644 (file)
@@ -362,16 +362,6 @@ GopPrivateAddKey (
 \r
   GopPrivateAddQ (Private, &Private->QueueForNotify, &KeyData);\r
 \r
-  //\r
-  // Convert Ctrl+[A-Z] to Ctrl+[1-26]\r
-  //\r
-  if (Private->LeftCtrl || Private->RightCtrl) {\r
-    if ((KeyData.Key.UnicodeChar >= L'a') && (KeyData.Key.UnicodeChar <= L'z')) {\r
-      KeyData.Key.UnicodeChar = (CHAR16)(KeyData.Key.UnicodeChar - L'a' + 1);\r
-    } else if ((KeyData.Key.UnicodeChar >= L'A') && (KeyData.Key.UnicodeChar <= L'Z')) {\r
-      KeyData.Key.UnicodeChar = (CHAR16)(KeyData.Key.UnicodeChar - L'A' + 1);\r
-    }\r
-  }\r
   GopPrivateAddQ (Private, &Private->QueueForRead, &KeyData);\r
 \r
   return EFI_SUCCESS;\r
@@ -605,6 +595,16 @@ WinNtGopSimpleTextInReadKeyStroke (
     if (KeyData.Key.ScanCode == SCAN_NULL && KeyData.Key.UnicodeChar == CHAR_NULL) {\r
       continue;\r
     }\r
+    //\r
+    // Convert Ctrl+[A-Z] to Ctrl+[1-26]\r
+    //\r
+    if ((KeyData.KeyState.KeyShiftState & (EFI_LEFT_CONTROL_PRESSED | EFI_RIGHT_CONTROL_PRESSED)) != 0) {\r
+      if ((KeyData.Key.UnicodeChar >= L'a') && (KeyData.Key.UnicodeChar <= L'z')) {\r
+        KeyData.Key.UnicodeChar = (CHAR16) (KeyData.Key.UnicodeChar - L'a' + 1);\r
+      } else if ((KeyData.Key.UnicodeChar >= L'A') && (KeyData.Key.UnicodeChar <= L'Z')) {\r
+        KeyData.Key.UnicodeChar = (CHAR16) (KeyData.Key.UnicodeChar - L'A' + 1);\r
+      }\r
+    }\r
     CopyMem (Key, &KeyData.Key, sizeof (EFI_INPUT_KEY));\r
     return EFI_SUCCESS;\r
   }  \r