15.03.2015 Views

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!