]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c
Fix NT32 Keyboard driver to call hotkey callback even no one is calling ReadKeyStroke().
[mirror_edk2.git] / Nt32Pkg / WinNtGopDxe / WinNtGopScreen.c
index 5482fd98a00df6185077c50a6768ae983dd9df27..9124e26eddf63d0f8a86dec85e4fdf9eaca3bf61 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 \r
-Copyright (c) 2006 - 2007, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -140,13 +140,13 @@ WinNtGopConvertParamToEfiKey (
   // Set toggle state\r
   //    \r
   case VK_NUMLOCK:     \r
-    Private->NumLock    = !Private->NumLock;\r
+    Private->NumLock    = (BOOLEAN)(!Private->NumLock);\r
     break;\r
   case VK_SCROLL:\r
-    Private->ScrollLock = !Private->ScrollLock;\r
+    Private->ScrollLock = (BOOLEAN)(!Private->ScrollLock);\r
     break;  \r
   case VK_CAPITAL:\r
-    Private->CapsLock   = !Private->CapsLock;\r
+    Private->CapsLock   = (BOOLEAN)(!Private->CapsLock);\r
     break;  \r
   }\r
   \r
@@ -246,10 +246,6 @@ WinNtGopSetMode (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
-  if (ModeNumber == This->Mode->Mode) {\r
-    return EFI_SUCCESS;\r
-  }\r
-\r
   ModeData = &Private->ModeData[ModeNumber];\r
   This->Mode->Mode = ModeNumber;\r
   Private->GraphicsOutput.Mode->Info->HorizontalResolution = ModeData->HorizontalResolution;\r
@@ -701,7 +697,7 @@ WinNtGopThreadWindowProc (
     case VK_F10:\r
       Key.ScanCode    = SCAN_F10;\r
       Key.UnicodeChar = 0;\r
-      GopPrivateAddQ (Private, Key);\r
+      GopPrivateAddKey (Private, Key);\r
       return 0;\r
     }\r
 \r
@@ -724,7 +720,7 @@ WinNtGopThreadWindowProc (
 \r
     if (Key.ScanCode != 0) {\r
       Key.UnicodeChar = 0;\r
-      GopPrivateAddQ (Private, Key);\r
+      GopPrivateAddKey (Private, Key);\r
     }\r
 \r
     return 0;\r
@@ -753,7 +749,7 @@ WinNtGopThreadWindowProc (
     WinNtGopConvertParamToEfiKey (Private, &wParam, &Key);\r
     if (Key.ScanCode != 0) {\r
       Key.UnicodeChar = 0;\r
-      GopPrivateAddQ (Private, Key);\r
+      GopPrivateAddKey (Private, Key);\r
     }\r
 \r
     return 0;\r
@@ -774,7 +770,7 @@ WinNtGopThreadWindowProc (
       if (wParam != 0) {\r
         Key.UnicodeChar = (CHAR16) wParam;\r
         Key.ScanCode    = 0;\r
-        GopPrivateAddQ (Private, Key);\r
+        GopPrivateAddKey (Private, Key);\r
       }\r
     }\r
 \r
@@ -825,7 +821,6 @@ WinNtGopThreadWinMain (
 {\r
   MSG               Message;\r
   GOP_PRIVATE_DATA  *Private;\r
-  ATOM              Atom;\r
   RECT              Rect;\r
 \r
   Private = (GOP_PRIVATE_DATA *) lpParameter;\r
@@ -861,7 +856,7 @@ WinNtGopThreadWinMain (
   // Class, including the callback function, unless the Class is unregistered and\r
   // successfully registered again.\r
   //\r
-  Atom = Private->WinNtThunk->RegisterClassEx (&Private->WindowsClass);\r
+  Private->WinNtThunk->RegisterClassEx (&Private->WindowsClass);\r
 \r
   //\r
   // Setting Rect values to allow for the AdjustWindowRect to provide\r
@@ -886,7 +881,7 @@ WinNtGopThreadWinMain (
                                                 NULL,\r
                                                 NULL,\r
                                                 NULL,\r
-                                                &Private\r
+                                                (VOID **)&Private\r
                                                 );\r
 \r
   //\r
@@ -1054,8 +1049,6 @@ WinNtGopDestructor (
   GOP_PRIVATE_DATA     *Private\r
   )\r
 {\r
-  UINT32  UnregisterReturn;\r
-\r
   if (!Private->HardwareNeedsStarting) {\r
     //\r
     // BugBug: Shutdown GOP Hardware and any child devices.\r
@@ -1075,10 +1068,10 @@ WinNtGopDestructor (
       Private->WinNtThunk->TlsFree (mTlsIndex);\r
       mTlsIndex = TLS_OUT_OF_INDEXES;\r
 \r
-      UnregisterReturn = Private->WinNtThunk->UnregisterClass (\r
-                                                Private->WindowsClass.lpszClassName,\r
-                                                Private->WindowsClass.hInstance\r
-                                                );\r
+      Private->WinNtThunk->UnregisterClass (\r
+                              Private->WindowsClass.lpszClassName,\r
+                              Private->WindowsClass.hInstance\r
+                              );\r
     }\r
 \r
     WinNtGopDestroySimpleTextInForWindow (Private);\r
@@ -1115,6 +1108,5 @@ KillNtGopThread (
   IN VOID       *Context\r
   )\r
 {\r
-  EFI_STATUS  Status;\r
-  Status = WinNtGopDestructor (Context);\r
+  WinNtGopDestructor (Context);\r
 }\r