Hi Jannis,

The ESC is a scan code predefined in the DisplayEngineDxe driver, display 
engine use these keys to make itself workable. Details about scan code see 
below:
SCAN_CODE_TO_SCREEN_OPERATION     gScanCodeToOperation[] = {
  {
    SCAN_UP,   // arrow up operation
    UiUp,
  },
  {
    SCAN_DOWN,  // arrow down operation
    UiDown,
  },
  {
    SCAN_PAGE_UP, // page up operation
    UiPageUp,
  },
  {
    SCAN_PAGE_DOWN,  // page down operation
    UiPageDown,
  },
  {
    SCAN_ESC,   // exit operation.
    UiReset,
  },
  {
    SCAN_LEFT,   // arrow left operation.
    UiLeft,
  },
  {
    SCAN_RIGHT,   // arrow right operation.
    UiRight,
  }
};

These keys are not supported customize by user.

Thanks,
Eric
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jannis 
Ă–tjengerdes
Sent: Friday, March 17, 2017 2:20 AM
To: edk2-devel@lists.01.org
Subject: [edk2] override hotkey esc in HII form

Hello there,

I'm trying to develop an HII form where which cannot be left by the user with 
the hotkey "esc" (escape).

What I've tried:

HotKey.ScanCode = SCAN_ESC;
FormBrowserEx2->RegisterHotKey(&HotKey, 0, 0, NULL);

I tried to override the HotKey with null, so that no action is applied, but 
still, the form is closed if I press the esc key.

Although I tried to register an exit handler in the FormBrowserEx2, but this 
function is not even called (I put a endless while loop in it to test
it)

Lastly I tried to do something in the EFI_BROWSER_ACTION_FORM_CLOSE action, but 
all I can do there is to return a value, I tried all EFI_STATUS values, none of 
these aborts the cancel request of the form.

I would appreciate it, if someone could give me a hint how do it.

Thank you!

Jannis
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to