Keyboard firmwares for Atmel AVR and Cortex-M
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

11 лет назад
10 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #include "keymap_common.h"
  2. /*
  3. * Hasu
  4. */
  5. const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  6. /* Keymap 0: Default Layer
  7. * ,-----------------------------------------------------------.
  8. * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
  9. * |-----------------------------------------------------------|
  10. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
  11. * |-----------------------------------------------------------|
  12. * |Caps | A| S| D| F| G| H| J| K| L|Fn3| '|Return |
  13. * |-----------------------------------------------------------|
  14. * |Shift | Z| X| C| V| B| N| M| ,| .|Fn2|Shift |
  15. * |-----------------------------------------------------------|
  16. * |Ctrl|Gui |Alt | Space |Alt |Fn4 |Fn4 |Fn1 |
  17. * `-----------------------------------------------------------'
  18. */
  19. KEYMAP_ANSI(
  20. ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
  21. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
  22. LCTL,A, S, D, F, G, H, J, K, L, FN2, QUOT, ENT, \
  23. LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN1, FN9, \
  24. LCTL,LGUI,LALT, SPC, RALT,FN3, FN3, FN0),
  25. /* Keymap 1: colemak */
  26. KEYMAP_ANSI(
  27. GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
  28. TAB, Q, W, F, P, G, J, L, U, Y, SCLN,LBRC,RBRC,BSLS, \
  29. BSPC,A, R, S, T, D, H, N, E, I, O, QUOT, ENT, \
  30. LSFT,Z, X, C, V, B, K, M, COMM,DOT, SLSH, RSFT, \
  31. LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
  32. /* Keymap 2: dvorak */
  33. KEYMAP_ANSI(
  34. GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, \
  35. TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, \
  36. CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
  37. LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
  38. LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
  39. /* Keymap 3: workman */
  40. KEYMAP_ANSI(
  41. GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
  42. TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
  43. BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
  44. LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
  45. LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
  46. /* Overlay 4: HHKB mode
  47. * ,-----------------------------------------------------------.
  48. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
  49. * |-----------------------------------------------------------|
  50. * |Caps | | | | | | | |Psc|Slk|Pus|Up | |Inser|
  51. * |-----------------------------------------------------------|
  52. * |Contro|VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig|Enter |
  53. * |-----------------------------------------------------------|
  54. * |Shift | | | | | | +| -|End|PgD|Dow|Shift |
  55. * |-----------------------------------------------------------|
  56. * |Ctrl|Gui |Alt | Space |Alt |Gui |App | |
  57. * `-----------------------------------------------------------'
  58. */
  59. KEYMAP_ANSI(
  60. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
  61. CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, TRNS,INS, \
  62. LCTL,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT, ENT, \
  63. LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN, RSFT, \
  64. LCTL,LGUI,LALT, SPC, RALT,RGUI,FN4, TRNS),
  65. /* Overlay 5: Vi mode (Slash)
  66. * ,-----------------------------------------------------------.
  67. * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
  68. * |-----------------------------------------------------------|
  69. * |Tab |Hom|PgD|Up |PgU|End|Hom|PgD|PgU|End| | | | |
  70. * |-----------------------------------------------------------|
  71. * |Contro| |Lef|Dow|Rig| |Lef|Dow|Up |Rig| | |Return |
  72. * |-----------------------------------------------------------|
  73. * |Shift | | | | | |Hom|PgD|PgU|End| |Shift |
  74. * |-----------------------------------------------------------|
  75. * |Ctrl|Gui |Alt | Space |Alt |Gui |App |Ctrl|
  76. * `-----------------------------------------------------------'
  77. */
  78. KEYMAP_ANSI(
  79. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \
  80. TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, TRNS,TRNS,TRNS,TRNS, \
  81. LCTL,TRNS,LEFT,DOWN,RGHT,TRNS,LEFT,DOWN,UP, RGHT,TRNS,TRNS, ENT, \
  82. LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,HOME,PGDN,PGUP,END, TRNS, RSFT, \
  83. LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL),
  84. /* Overlay 6: Mouse mode (Semicolon/App)
  85. * ,-----------------------------------------------------------.
  86. * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
  87. * |-----------------------------------------------------------|
  88. * |Tab | | | | | |MwL|MwD|MwU|MwR| | | | |
  89. * |-----------------------------------------------------------|
  90. * |Contro| |Ac0|Ac1|Ac1| |McL|McD|McU|McR| | |Return |
  91. * |-----------------------------------------------------------|
  92. * |Shift | | | | |Mb3|Mb2|Mb1|Mb4|Mb5| |Shift |
  93. * |-----------------------------------------------------------|
  94. * |Ctrl|Gui |Alt | Space | | | | |
  95. * `-----------------------------------------------------------'
  96. * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
  97. */
  98. KEYMAP_ANSI(
  99. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BSPC, \
  100. TAB, TRNS,TRNS,TRNS,TRNS,TRNS,WH_L,WH_D,WH_U,WH_R,TRNS,TRNS,TRNS,TRNS, \
  101. LCTL,TRNS,ACL0,ACL1,ACL2,TRNS,MS_L,MS_D,MS_U,MS_R,TRNS,TRNS, ENT, \
  102. LSFT,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BTN4,BTN5,TRNS, RSFT, \
  103. LCTL,LGUI,LALT, BTN1, TRNS,TRNS,TRNS,RCTL),
  104. /* Overlay 7: Layout selector
  105. * ,-----------------------------------------------------------.
  106. * | Lq| Lc| Ld| Lw| | | | | | | | | | |
  107. * |-----------------------------------------------------------|
  108. * | |Lq |Lw | | | | | | | | | | | |
  109. * |-----------------------------------------------------------|
  110. * | | | |Ld | | | | | | | | | |
  111. * |-----------------------------------------------------------|
  112. * | | | |Lc | | | | | | | | |
  113. * |-----------------------------------------------------------|
  114. * | | | | | | | | |
  115. * `-----------------------------------------------------------'
  116. * Lq: set Qwerty layout
  117. * Lc: set Colemak layout
  118. * Ld: set Dvorak layout
  119. * Lw: set Workman layout
  120. */
  121. KEYMAP_ANSI(
  122. FN5, FN6, FN7, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  123. TRNS,FN5, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  124. TRNS,TRNS,TRNS,FN7, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
  125. TRNS,TRNS,TRNS,FN6, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
  126. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
  127. };
  128. /*
  129. * Fn action definition
  130. */
  131. const action_t PROGMEM fn_actions[] = {
  132. [0] = ACTION_LAYER_MOMENTARY(4),
  133. [1] = ACTION_LAYER_TAP_KEY(5, KC_SLASH),
  134. [2] = ACTION_LAYER_TAP_KEY(6, KC_SCLN),
  135. [3] = ACTION_LAYER_MOMENTARY(6),
  136. [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector
  137. [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout
  138. [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout
  139. [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout
  140. [8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout
  141. [9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRV),
  142. };