- if (StrCmp (L"", StatusBarGetString()) == 0) {\r
- StatusBarSetStatusString (L"Disk Error. Try Again");\r
+ StatusBarSetRefresh();\r
+ //\r
+ // NoShiftState: TRUE when no shift key is pressed.\r
+ //\r
+ NoShiftState = ((KeyData.KeyState.KeyShiftState & EFI_SHIFT_STATE_VALID) == 0) || (KeyData.KeyState.KeyShiftState == EFI_SHIFT_STATE_VALID);\r
+ //\r
+ // dispatch to different components' key handling function\r
+ //\r
+ if (EFI_SUCCESS == MenuBarDispatchControlHotKey(&KeyData)) {\r
+ Status = EFI_SUCCESS;\r
+ } else if (NoShiftState && KeyData.Key.ScanCode == SCAN_NULL) {\r
+ Status = HBufferImageHandleInput (&KeyData.Key);\r
+ } else if (NoShiftState && ((KeyData.Key.ScanCode >= SCAN_UP) && (KeyData.Key.ScanCode <= SCAN_PAGE_DOWN))) {\r
+ Status = HBufferImageHandleInput (&KeyData.Key);\r
+ } else if (NoShiftState && ((KeyData.Key.ScanCode >= SCAN_F1) && KeyData.Key.ScanCode <= SCAN_F12)) {\r
+ Status = MenuBarDispatchFunctionKey (&KeyData.Key);\r
+ } else {\r
+ StatusBarSetStatusString (L"Unknown Command");\r
+\r
+ HBufferImageMouseNeedRefresh = FALSE;\r
+ }\r
+\r
+ if (Status != EFI_SUCCESS && Status != EFI_OUT_OF_RESOURCES) {\r
+ //\r
+ // not already has some error status\r
+ //\r
+ if (StrCmp (L"", StatusBarGetString()) == 0) {\r
+ StatusBarSetStatusString (L"Disk Error. Try Again");\r
+ }\r