SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Setup Design Guide<br />
DRAFT<br />
// control function like SYSREQUEST<br />
//<br />
#define PRINT_MODIFIER<br />
#define SYS_REQUEST_MODIFIER<br />
#define SCROLL_LOCK_MODIFIER<br />
#define PAUSE_MODIFIER<br />
#define BREAK_MODIFIER<br />
0x0023<br />
0x0024<br />
0x0025<br />
0x0026<br />
0x0027<br />
9.3 Keyboard Layout Switching<br />
The need for switching from one keyboard layout to another is a very common implementation. A<br />
typical example would be for a user who needed to type in a language that did not have certain keys<br />
exposed (e.g. Typical Hebrew layout has no Latin characters). For these types of configurations, it<br />
would be common for the system to be aware of two completely different keyboard layouts and allow a<br />
hot key to switch between the default and the alternate layout.<br />
The way this would work in our given implementation would be that the firmware has some built-in<br />
keyboard layout. A driver installs the Hebrew layout. The user needs to switch modes and hits a hot<br />
key that forces the keyboard driver to switch from the Hebrew layout to the firmware’s Default layout.<br />
Hit the hot key again and the user mode switches again and the keyboard driver is now pointing to the<br />
Hebrew layout.<br />
//<br />
// To enable the ability to define what key combinations<br />
// designate a special function one could do some of the<br />
// following to allow for this flexibility.<br />
//<br />
//<br />
// This assumes that the driver implementation will not<br />
// assign a key definition if one of the following modifier<br />
// values is presented.<br />
//<br />
#define LAYOUT_SWITCH_MODIFIER<br />
0x0028<br />
#define LAYOUT_SWITCH_DEPENDENCY_MODIFIER 0x0029<br />
Layout = {<br />
EfiKeyLCtrl, 0, 0, 0, 0, LAYOUT_SWITCH_MODIFIER,<br />
EfiKeyLShift, 0, 0, 0, 0, LAYOUT_SWITCH_DEPENDENCY_MODIFIER<br />
}<br />
9.4 Dead Keys<br />
Dead keys are a concept that provides the ability to OR together an accent key and another printable<br />
character. Dead keys would be defined as a special type of Modifier character. They are typically<br />
83