]> git.gir.st - tmk_keyboard.git/blob - doc/unimap.txt
Squashed 'tmk_core/' changes from 8da1898..e5f9940
[tmk_keyboard.git] / doc / unimap.txt
1 Unimap
2 ======
3 universal keymapping framework
4 using logical 128-key keyboard layout independent from physical keyboad matrix
5
6 unimap is actually an actionmap whose size is row:8xcol:16.
7
8 /* Keymapping with 16bit action codes */
9 extern const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS];
10
11 /* Universal 128-key keyboard layout(8x16)
12 ,-----------------------------------------------.
13 |F13|F14|F15|F16|F17|F18|F19|F20|F21|F22|F23|F24|
14 ,---. |-----------------------------------------------| ,-----------. ,-----------.
15 |Esc| |F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|
16 `---' `-----------------------------------------------' `-----------' `-----------'
17 ,-----------------------------------------------------------. ,-----------. ,---------------.
18 | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -|
19 |-----------------------------------------------------------| |-----------| |---------------|
20 |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +|
21 |-----------------------------------------------------------| `-----------' |---------------|
22 |CapsL | A| S| D| F| G| H| J| K| L| ;| '| #|Retn| | 4| 5| 6|KP,|
23 |-----------------------------------------------------------| ,---. |---------------|
24 |Shft| <| Z| X| C| V| B| N| M| ,| ,| /| RO|Shift | |Up | | 1| 2| 3|KP=|
25 |-----------------------------------------------------------| ,-----------. |---------------|
26 |Ctl|Gui|Alt|MHEN| Space |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0 | .|Ent|
27 `-----------------------------------------------------------' `-----------' `---------------'
28 App: Windows Menu key
29 Gui: Windows key, Mac ⌘ key or Meta key
30 VDn Vup Mut: Volume control
31 < #: ISO keys(in UK legend)
32 KP=: Keypad = for Mac
33 KP,: Brazilian Keypad Comma
34 JPY: Japanese Yen(¥)
35 RO: Japanese ろ(Ro) or Brazilian /(Slash)
36 MHEN: Japanese 無変換(Non Conversion) or Korean Hanja
37 HENK: Japanese 変換(Conversion) or Korean Hangul/English
38 KANA: Japanese かな(Hiragana/Katakana)
39 https://en.wikipedia.org/wiki/Keyboard_layout#Japanese
40 https://en.wikipedia.org/wiki/Keyboard_layout#Hangul_.28for_Korean.29
41 */
42
43
44 when refering to keymapping physical matrix position needed to be translated into logical one on unimap
45 the translation is defined in unimap array
46
47 row and col of unimap positon is encoded as follows
48 position = (row << 4) | col
49
50 // table translates matrix to universal keymap
51 extern const uint8_t unimap_trans[MATRIX_ROWS][MATRIX_COLS];
Imprint / Impressum