Table of Contents
Set the keyboard type
By default, grub4dos assumes a standard American QWERTY-USA keyboard is in use.
If Make_E2B.exe picks the wrong keyboard for your keyboard\language, make your E2B USB drive using the Make_E2B_USB_Drive.cmd button or edit the \_ISO\MyE2B.cfg file to use the correct keyboard translation file or run “\_ISO\docs\Make_E2B_USB_Drive\Make_MyE2B.cfg.cmd” from the E2B drive to make a new MyE2B.cfg file.
You can set the type of keyboard that is in use by adding a ‘set KBD=’ line to the \_ISO\MyE2B.cfg file.
Various keyboard translation code batch files exist in the \_ISO\e2b\grub folder (KBD_xxxxxx.g4b).
Use one of the lines below in your MyE2B.cfg file:
set KBD=KBD_AZERTY.g4b set KBD=KBD_FRENCH.g4b set KBD=KBD_GERMAN.g4b set KBD=KBD_ITALIANO.g4b set KBD=KBD_JAPAN_106.g4b set KBD=KBD_LATIN_USA.g4b set KBD=KBD_QWERTY_UK.g4b set KBD=KBD_QWERTZ.g4b set KBD=KBD_QWERTZ_HUN.g4b set KBD=KBD_SPANISH.G4B set KBD=KBD_QWERTY_USA.g4b ;; # (default - no need to specify)
Note: If you have added any lines of grub4dos code inside the MyE2B.cfg file which require user keyboard input (e.g. password input), you should also run the KBD_xxxx.g4b file immediately after setting the KBD variable, e.g.
set KBD=KBD_QWERTY_UK.g4b if not "%KBD%"=="" call /%grub%/%KBD% #(any keyboard input code below here - e.g. ask for password, etc.)
A useful reference for different keyboard layouts can be found here.
Key names
The BIOS scan codes for a standard keyboard are listed here (note: Alt+\ is actually 2b00 and some other Alt+codes are not listed).
grub4dos key names used in these files must consist of letters, numbers and the following special words (case sensitive):
escape (Esc), exclam (!), at (@), numbersign (#), dollar ($), parenright ()), caret (^), ampersand (&), asterisk (*), plus (+), percent (%), minus (-), underscore (_), equal (=), parenleft ((), backspace (backspace key), ctrlbackspace, tab (Tab key), bracketleft ([), braceleft ({), bracketright (]), braceright (}), enter (Enter key), semicolon (;), colon (:), quote (‘) , doublequote (“), slash (/), backquote (`), tilde (~), backslash (\), bar (|), comma (,), less (<), period (.) , greater (>), question (?), space, delete (Del), F1-F10, home, uparrow, pageup, leftarrow, center, rightarrow, end, downarrow, pagedown, insert, shiftF1-shiftF10, ctrlF1-ctrlF10.
Alt+ and oem102 key
Note: grub4dos from 2019-05-10 (E2B v1.B1c+) also have these extra key names for the Alt+ (same as AltGr+ and Ctrl+Alt+) key combinations by preceding the unshifted character with ‘A’: A0-A9, Aa-Az, Aequal, Abracketright, etc,. Also the single extra oem102 key (between the left-shift key and the z key) can be specified using oem102 and shiftoem102. e.g. For Hungarian keyboard, setkey at Av will produce @ when AltGr+v is typed, setkey less shiftoem102 will produce < when the shift+oem102 key combination is pressed.
Note that not all these scan codes work correctly under QEMU or VBox.
Example KBD_xxx.g4b file:
#reset all key mappings setkey #reset the at (@) key mapping setkey at at e.g. how to use the grub4dos setkey command - setkey NEW_KEY USA_KEY #print & if user types shift+1 (!) setkey ampersand exclam #swap Z and Y for QWERTZ kbd setkey z y setkey y z setkey Z Y setkey Y Z setkey less oem102 setkey greater shiftoem102 setkey at Av
Note: Virtual Machines such as QEMU and Virtual Box do not support all key combinations on all keyboards. Test the keyboard on a real system if you find some keys are not correctly translated. VMWare works OK.
Passwords and Hotkeys
Some countries use two or more different keyboard types.
You can set one keyboard type in MyE2B.cfg – but the user may be using a different keyboard from the one that you have set.
If you are also defining menu hotkeys, or changing the default password, remember that different systems may have different keyboards connected and that some notebooks do not have a full keyboard (e.g. F11 and F12 may be missing or may not generate the correct scan codes).
For instance, on a QWERTZ keyboard, a user would need to enter easz2boot instead of easy2boot or press the Z key instead of Y (e.g. for Y=Yes).
If you have a AZERTY keyboard and you do not set the keyboard type in E2B, you would need to type eqsy”boot instead of easy2boot.
On a UK keyboard, the user must enter “fred instead of @fred.
For this reason, you may want to pick a password that works on a wide range of keyboards and avoid such characters as a,z,y,q,m,w,z,@,”,#,£, F11,F12 and so on – using a PIN number is one option but on an AZERTY keyboard the user must use the number pad keys (or press SHIFT+number key if using the number keys above the letters)..