AEKMap - Creating Layout
v1.4 Freeware, April 4, 2012

The description of key remapping scheme ("layout") is a plain text file with ".AEK" extension. All layouts should be located in AEKMap installation directory (default is "\Program Files\AEKMap") and selected in AEKMap Settings utility

To create new layout you need to follow few simple steps:

  • First, run AEKMapScan utility from the installation directory (\Program File\AEKMap\AEKMapScan.exe) to find scan code of all keys you need to re-define.
  • Then create new layout file by making copy of existing and open it in any plain text editor. Modify all of the key entries to meet your remapping scheme and copy ready layout to AEKMap installation directory.
    Hexadecimal Unicode character codes may be found in "Character Map" desktop application (Start -> Programs -> Accessories -> System Tools -> Character Map).
  • Run "AEKMap Settings" utility on your device, select new layout from list and reload AEKMap.
  • Use it

Note:If you think your layout file may be interesting to someone else please do not hesitate to e-mail it to me with description and your copyrights for adding to database. I will be glad to present you AEKMap registration code.

The SimpleSample layout

This layout implements simple key A->Z remapping scheme and demonstrates Ctrl'ed keypress generation along with binding application to button.

; Please note that parameters in this file should be in the same order as described.
; Most actual .AEK description may be found on http://aeinc.ru/aekmapsample.php
; 
; Keyboard layout name (displayed in AEKMapSettings)
Layout Useless Sample Layout

; Hint for the layout to be shown in lower right corner of the screen
Hint UselessSample

; "Hardware" parameter adjust keyboard processing algoritm to 
; specific hardware. Most of the keyboards will work with default 
; settings (no Hardware parameter or empty), but specifying 
; correct hardware platform may help you to resolve some issues
; Valid values and AEKMap versions are:
;
; Wizard
;   "HTC Wizard" is a device sold by many brands under different names:
;   O2 XDA Mini S / I-Mate K-Jam / Qtek 9100 / T-Mobile MDA Vario /
;   Orange SPV M3000 / Dopod 838 / Vodafone VPA Compact II
;   Specifying Wizard as hardware platform will allow AEKMap to distinguish 
;   joystik and Enter/Arrows on hardware keyboard.
;   Requires AEKMap v1.1.3 or later.
;
; Hermes
;   "HTC Hermes" is a device sold by many brands under different names:
;   HTC TyTN / O2 XDA Trion / I-Mate Jas Jam / Qtek 9600 / T-Mobile MDA Vario II /
;   Specifying Hermes as hardware platform will allow AEKMap to distinguish 
;   Arrow keys on hardware keyboard from joystik and scroll wheel rotation
;   Requires AEKMap v1.2.5b or later.
;
;Hardware Wizard

; KeypressTimeout  allows to re-define corresponding AEKMap.CFG value 
; for the layout.
; Milliseconds, hexadecimal
;KeypressTimeOut 0258


; Scancodes note:
; "Scan Code" may be defined using AEKMapScan utility located in AEKMap 
; installation directory.

; The "scan code" word in this file defined as follow:
; low byte: real key scan code .
; high byte treated as bit flags: 
;  7 6 5 4 3 2 1 0 
;  0 0 0 0 0 0 0 0     All Zero: "Clear" keypress (no shift/ctrl/alt/win/capslock)
;          | | | ^---- Shift+CapsLock combination is ON
;          | | ^------ Ctrl key is pressed
;          | ^-------- Alt key is pressed
;          ^---------- Win key is pressed
;       
;
;
; Please note that system may not support different Shift/Win/Alt trigger 
; combinations for particular key.
;
; Flag examples for different keypressings of "A" key:
; scancode  condition
;   0041    clear "A" key hook
;   0141    Shift+A key hook
;   0241    Ctrl+A key hook
;   0441    Alt+A key hook
;   0841    Win+A key hook
;   0341    Ctrl+Shift+A
;   0741    Ctrl+Alt+Shift+A key hook


; Shift key scan codes.
; Specify up to four 4-digit hex scancodes to enable internal shift key 
; monitoring routine. Or leave it empty for using shift key state returned by system.
; Standard keyboard shift scancode is 0110
ShiftKey

; Capslock key scan codes.
; Specify up to four 4-digit hex scancodes to enable internal capslock 
; monitoring routine. Or leave it empty to use capslock state returned by system
; Standard keyboard capslock scancode is 0014
CapslockKey 0014 0114 0214 0314

; Ctrl key scan codes.
; Specify up to four 4-digit hex scancodes to enable internal Ctrl key 
; monitoring routine. Or leave it empty to use Ctrl state returned by system
; Standard keyboard Ctrl scancode is 0211
CtrlKey

; Alt key scan codes.
; Specify up to four 4-digit hex scancodes to enable internal Alt key 
; monitoring routine. Or leave it empty to use Alt state returned by system
; Standard keyboard Alt scancode is 0412
AltKey

; "Win" key scan codes.
; Specify up to four 4-digit hex scancodes to enable internal Win key 
; monitoring routine. Or leave it empty to use Win key state returned by system
; Standard keyboard Win scancode is 085B
WinKey


; Accent Key scan codes. 
; If your layout should contain "Accented character" key switch you may specify 
; up to four 4-digit hex scancodes here.
; Or leave it empty if you need no such functionality
AccentKey

; Accent 2 Key scan codes.
; If your layout should contain different types of accented characters 
; you may specify up to four 4-digit hex scancodes of Accent 2 key switch here.
;
; Set AccentKey2 scan codes exactly the same as AccentKey to cycle thru 
; Normal -> Accented -> Alternative Accented -> back to Normal
;
; Or leave it empty if you need no such functionality
AccentKey2

; Accent 3 Key scan codes (I'm CRAZY of Greek layout !!!).
; If your layout should contain 3 different types of accented characters 
; (e.g. accents, "Dialitica" and combined in Greek) you may specify here 
; up to four 4-digit hex scancodes for Accent 3 key switch.
;
; You may set AccentKey3 scan codes exactly the same as AccentKey. In this case
; accent state will cycle thru 
; Normal -> Accented -> Accented2 -> Accented3 -> back to Normal
;
; Or leave it empty if you need no such functionality
AccentKey3


; List of external commands for binding to keys
;
; Exec <ID> <Executable path> [<Command line parameters>]
;
; <ID> is an command identifier 4digit hex number for reference 
; in key definitions (see below). Valid user' Exec ID range is 0001..00FF.
; All other ID's are reserved for internal implementation in AEKMap
;
; List of current built-in Exec IDs implemented:
;	e0101	trigger internal "Shift" state slag           v1.2.2b
;	e0102	trigger internal "CapsLock" state flag        v1.2.2b
;	e0103	trigger internal "Ctrl" state flag            v1.2.2b
;	e0104	trigger internal "Alt" state flag             v1.2.2b
;	e0105	trigger internal "Win" state flag             v1.2.2b
;
;	e0110	Switch accent state to default (no accent)    v1.2.2b
;	e0111	Switch 1st accent state                       v1.2.2b
;	e0112	Switch 2nd accent state                       v1.2.2b
;	e0113	Switch 3rd accent state                       v1.2.2b
;	e011F	Switch NEXT accent state                      v1.2.2b
;
;	e0120	switch next layout                            v1.2.2b
;	e0121	unload AEKMap demon from memory               v1.2.2b
;
;
;       v1.2.2b:
;	e0200..e02FF - call AEBPlus action. List of current AEBPlus actions is 
;               available at 
;		http://aeinc.ru/aebpluscline
;		Note: AEBPlus should be installed and running.

;
; <Executable path> is a fully qualified application file name in quotes.
; No escape symbols should be used.
; <Command line parameters> are specified "as is", without 
; additional quotes or escapes
;
; Eg.:

Exec 0001 fexplore.exe
Exec 0002 "\Windows\notes.exe"

; Buttons remapping layout part consist of Key / Key2 / Key3 / Key4 / Key5 / Key6 
; records.
; Each of the Key* record define how AEKMap will behave on exact button press detection
; Key  - defines single keypress action
; Key2 - double keypress action                          Requires v1.2.2b and above
; Key3 - triple keypress action                          --//--
; Key4 - action for button being pressed 4 times         --//--
; Key5 - action for button being pressed 5 times         Requires v1.2.3b and above
; Key6 - action for button being pressed 6 times         --//--

; Key* line format depends on AccentKey, AccentKey2 and AccentKey3 presense.
; In the case you need no accented characters:
;
;Key* <ScanCode> <Normal> [<ICQ Normal>]
;
;If you define scan code(s) for Accent Key only:
;Key* <ScanCode> <Normal> <Acc> [<ICQ Normal> <ICQ Acc>]
;
;If you need two different Accent key sets:
;Key* <ScanCode> <Normal> <Acc> <Acc2> [<ICQ Normal> <ICQ Acc> <ICQ Acc2>]
;
;And finally - if you need 3 different Accent key sets:
;Key* <ScanCode> <Normal> <Acc> <Acc2> <Acc3> [<ICQ Normal> <ICQ Acc> <ICQ Acc2> <ICQ Acc3>]
;
; where 
;
; <ScanCode> is a key scancode, (see notes above)
;
; <Normal> is a char or keypressing to be generated normally
; <Acc> is a char or keypress to be generated if "Accented" trigger is active. 
;     Allowed only if AccentKey parameter is not empty
; <Acc2> is a char or keypress to be generated if "Accented2" trigger is active. 
;     Allowed only if AccentKey2 parameter is not empty
; <Acc3> is a char or keypress to be generated if "Accented3" trigger is active. 
;     Allowed only if AccentKey3 parameter is not empty
;
; <ICQ Normal>, <ICQ Acc> <ICQ Acc2> and <ICQ Acc3> are the same as 
; previous but used if ICQ window having focus. If you need no alternative characters
; for ICQ - do not specify specify these codes
;
;
; All numbers are assumed to be in HEX and prefixed with "c", "k" or "e"
; where
; c - Keystroke should be sent as unicode character. Use "Character Map" desctop 
;     application (Start - Programs - Accessories - System Tools) to find unicode
;     character codes (see it in the left lower corner of the screen)
;
; k - Not alphanumeric keypressing should be generated.
;     The parameter is scancode as described above. Any combination of 
;     Shift/Ctrl/Alt/Win trigger key flags may be specified.
;
; e - Run "Exec" line with ID specified (see Exec ID comments above)

; Examples:

Key 0141 c005A ; Generate Z by pressing ShiftA 
Key 0041 c007A ; Generate z by pressing A 

Key 0231 k0251 ; Remap Ctrl+1 to Ctrl+Q (closes current application)
Key 0232 e0001 ; Execute external command #1 by pressing Ctrl+2
Key 0233 e0002 ; Execute external command #2 by pressing Ctrl+3