15.03.2015 Views

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Setup Design Guide<br />

DRAFT<br />

9<br />

HII Keyboard Support<br />

9.1 Keyboard Mapping<br />

The keyboard mapping that is defined in EFI is loosely based on ISO 9995. The naming mechanism is<br />

illustrated in Figure 2. The keys that are highlighted in red are the keys that almost all keyboard layouts<br />

use for customizations. That does not necessarily mean that all the keys are different. In fact, most of<br />

the keys are likely to be the same, however when modifying the mapping one can normally reference<br />

the keys in red as the likely candidates to create modifications for.<br />

Instead of referencing keys in hardware specific ways such as scan codes or HID entries, EFI now<br />

defines an EFI_KEY enumeration that allows for a simple way to reference this hardware abstraction.<br />

It also provides a way to update the keyboard layout with a great deal of flexibility. Any of the keys<br />

can be mapped to any Unicode value or control code value.<br />

Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12<br />

Print SLck<br />

Pause<br />

E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12<br />

Backspace<br />

Ins<br />

Home PgUp<br />

NLck / *<br />

-<br />

Tab D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13*<br />

CapsLock C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12* Enter<br />

Del End PgDn<br />

7 8 9<br />

4 5 6<br />

+<br />

LShift B0* B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 RShift<br />

LCtrl A0 LAlt Space Bar A2 A3 A4 RCtrl<br />

1 2 3<br />

0 .<br />

Enter<br />

Figure 2<br />

When defining the values for a particular key, there are five elements that are pertinent to the key.<br />

Key Name:<br />

Unicode Value:<br />

The EFI_KEY enumeration (see Figure 1) defines the names of the above<br />

keys.<br />

This defines the Unicode value (if any) of the named key.<br />

Shifted Unicode Value: This defines the Unicode value (if any) of the named key while the shift<br />

modifier key is being pressed<br />

Alt-GR Unicode Value: This defines the Unicode value (if any) of the named key while the<br />

modifier key (if any) is being pressed.<br />

Alt-GR<br />

Shifted Alt-GR Unicode Value: This defines the Unicode value (if any) of the named key while the<br />

Shift and Alt-GR modifier key (if any) is being pressed.<br />

80

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!