SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
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