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 />
9.4.1 Bi-directional Input (Reserved for future implementation)<br />
Many languages have left-to-right orientation, however some use right-to-left orientation for keyboard<br />
input. This requires the ability to handle both types of input. There are several issues to deal with<br />
when it comes to bi-directional input.<br />
There are some issues when it comes to the ability to type things in one orientation and in the middle of<br />
a set of words change directionality. This is common when typing in a right-to-left oriented language<br />
such as Hebrew and a word only makes sense to be typed in a non-right-to-left language.<br />
For instance, to type, “I love Intel too” one might type in Hebrew, גמ כן" Intel אחוב ."אני To provide the<br />
ability to do switch orientation like this one needs to focus on some of the elements of bi-directional<br />
typing.<br />
9.4.1.1 Bi-directional segments<br />
Bi-directional text may consist of a main part that has one orientation (e.g. Hebrew text written from<br />
right-to-left), and portions that have opposite orientation (e.g. English text written left-to-right). The<br />
portion of text with different orientation is called a segment. Bi-directional text may have a body of<br />
right-to-left text with embedded left-to-right segments.<br />
There are two methods which support global orientation switching. One method requires manual<br />
intervention to switch between right-to-left and left-to-right, and the other automatically handles rightto-left<br />
orientation for characters that require them (e.g. Hebrew, Arabic, etc) and switch modes<br />
automatically for characters that require left-to-right handling (e.g. Arabic Numbers, English letters,<br />
etc.)<br />
For the EFI implementation, we will only support a manual method of orientation switching.<br />
9.4.1.2 Orientation Hot Keys<br />
For the EFI implementation, a hot key would be created to enable switching of keyboard orientation.<br />
When switching orientation this is called going into “Push” mode.<br />
The switching of orientation modes affects input direction. However we need to give some thought to<br />
the saving of text information in such a way as to allow for the appropriate readability when loaded in<br />
at a later time. One proposal might be that when typing from right to left, the data being saved is<br />
orientation agnostic. Meaning, that if I typed one through 4 and it displayed “4321” when that<br />
information is saved or redirected to a file it is stored as it is typed, not as it was displayed.<br />
The ability to switch orientations should be an easy task that allows for the minimum of effort. A<br />
simple two-key combination of two untranslatable keys would be the appropriate methodology. The<br />
suggested hot key combination would be holding down the EfiKeyRCtrl and the EfiKeyRShift<br />
to enable the orientation toggle.<br />
9.4.1.2.1 Push Mode<br />
When the orientation hot key is pressed the user enters push mode. Push mode is a keyboard input<br />
mode in which characters are “pushed” in the direction opposite to the base direction of the segment.<br />
The cursor does not move. When the orientation hot key is pressed again, the user enters into the<br />
previous bi-directional mode.<br />
אחוב“ was typed the user would have typed ”אני אחוב Intel גמ כן“ An example of this is when the phrase<br />
then they would have pressed the orientation hot key to enable push mode. This would have ”אני<br />
85