Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

unimap.txt 2.6KB

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