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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

actionmap_hasu.c 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #include <avr/pgmspace.h>
  2. #include "actionmap.h"
  3. #include "action_code.h"
  4. #include "actionmap_common.h"
  5. /*
  6. * Actions
  7. */
  8. #define AC_LM1 ACTION_LAYER_MOMENTARY(1) // HHKB layer
  9. #define AC_LT1 ACTION_LAYER_TAP_KEY(1, KC_ENTER) // HHKB layer
  10. #define AC_LT2 ACTION_LAYER_TAP_KEY(2, KC_SLASH) // Cursor layer with Slash*
  11. #define AC_LT3 ACTION_LAYER_TAP_KEY(3, KC_SCLN) // Mousekey layer with Semicolon*
  12. #define AC_LT4 ACTION_LAYER_TAP_KEY(4, KC_SPC) // Space Fn
  13. #define AC_LM3 ACTION_LAYER_MOMENTARY(3) // Mousekey layer(IJKL)
  14. #define AC_APSW ACTION_MACRO(ALT_TAB) // Application switching
  15. #define AC_BACK ACTION_MODS_KEY(MOD_LALT, KC_LEFT)
  16. #define AC_FRWD ACTION_MODS_KEY(MOD_LALT, KC_RIGHT)
  17. #define AC_LM5 ACTION_LAYER_MOMENTARY(5)
  18. /*
  19. * Macro definition
  20. */
  21. enum macro_id {
  22. ALT_TAB,
  23. };
  24. const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
  25. {
  26. switch (id) {
  27. case ALT_TAB:
  28. return (record->event.pressed ?
  29. MACRO( D(LALT), D(TAB), END ) :
  30. MACRO( U(TAB), END ));
  31. }
  32. return MACRO_NONE;
  33. }
  34. const uint16_t PROGMEM actionmaps[][MATRIX_ROWS][MATRIX_COLS] = {
  35. /* Default Layer
  36. * ,-----------------------------------------------------------.
  37. * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ |
  38. * |-----------------------------------------------------------|
  39. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Bspc |
  40. * |-----------------------------------------------------------|
  41. * |Ctrl | A| S| D| F| G| H| J| K| L|Fn3| '|FN1 |
  42. * |-----------------------------------------------------------|
  43. * |Shift | Z| X| C| V| B| N| M| ,| .|Fn2|Shift |
  44. * |-----------------------------------------------------------|
  45. * |Ctrl |Gui |Alt | Space |Alt |Fn5 |Ctrl |
  46. * `-----------------------------------------------------------'
  47. */
  48. [0] = ACTIONMAP_AEK( \
  49. ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS, \
  50. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \
  51. LCTL,A, S, D, F, G, H, J, K, L, LT3, QUOT,LT1, \
  52. LSFT,Z, X, C, V, B, N, M, COMM,DOT, LT2, RSFT, \
  53. LCTL,LGUI,LALT, LT4, LM5, LM3, LM1),
  54. /* HHKB mode[HHKB Fn]
  55. * ,-----------------------------------------------------------.
  56. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| ` |
  57. * |-----------------------------------------------------------|
  58. * |Caps | | | | | | | |Psc|Slk|Pus|Up | |Del |
  59. * |-----------------------------------------------------------|
  60. * |Contro|VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig|Enter |
  61. * |-----------------------------------------------------------|
  62. * |Shift | | | | | | +| -|End|PgD|Dow|Shift |
  63. * |-----------------------------------------------------------|
  64. * |Ctrl |Gui |Alt | Space |Alt |Fn5 |Ctrl |
  65. * `-----------------------------------------------------------'
  66. */
  67. [1] = ACTIONMAP_AEK( \
  68. PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, GRV, \
  69. CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, TRNS,DEL, \
  70. TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,TRNS, \
  71. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,TRNS, \
  72. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS),
  73. /* Vi mode[Slash]
  74. * ,-----------------------------------------------------------.
  75. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Del |
  76. * |-----------------------------------------------------------|
  77. * |Tab |Hom|PgD|Up |PgU|End|Hom|PgD|PgUlEnd| | | |Backs|
  78. * |-----------------------------------------------------------|
  79. * |Contro| |Lef|Dow|Rig| |Lef|Dow|Up |Rig| | |Return |
  80. * |-----------------------------------------------------------|
  81. * |Shift | | | | | |Hom|PgD|PgUlEnd|Fn0|Shift |
  82. * |-----------------------------------------------------------|
  83. * |Ctrl |Gui |Alt | Space |Alt |Fn5 |Ctrl |
  84. * `-----------------------------------------------------------'
  85. */
  86. [2] = ACTIONMAP_AEK( \
  87. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, GRV, \
  88. TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, TRNS,TRNS,TRNS,DEL, \
  89. TRNS,TRNS,LEFT,DOWN,RGHT,TRNS,LEFT,DOWN,UP, RGHT,TRNS,TRNS,ENT, \
  90. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,HOME,PGDN,PGUP,END, TRNS,TRNS, \
  91. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS),
  92. /* Mouse mode(IJKL)[Semicolon]
  93. * ,-----------------------------------------------------------.
  94. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
  95. * |-----------------------------------------------------------|
  96. * |Tab | | | | | |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
  97. * |-----------------------------------------------------------|
  98. * |Contro| | | | | |Mb2|McL|McD|McR|Fn | |Return |
  99. * |-----------------------------------------------------------|
  100. * |Shift | | | | |Mb3|Mb2|Mb1|Mb4|Mb5| |Shift | |
  101. * |-----------------------------------------------------------|
  102. * |Ctrl |Gui |Alt | Space |Alt |Fn5 |Ctrl |
  103. * `-----------------------------------------------------------'
  104. * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
  105. */
  106. [3] = ACTIONMAP_AEK( \
  107. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, GRV, \
  108. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,WH_D,MS_U,WH_U,RGHT,BACK,FRWD,APSW, \
  109. TRNS,ACL0,ACL1,ACL2,ACL2,NO, NO, MS_L,MS_D,MS_R,TRNS,TRNS,TRNS,\
  110. TRNS,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BACK,FRWD,TRNS,TRNS, \
  111. TRNS,TRNS,TRNS, BTN1, TRNS,TRNS,TRNS),
  112. /* Layer 4: Mouse mode(IJKL)[Space]
  113. * ,-----------------------------------------------------------.
  114. * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
  115. * |-----------------------------------------------------------|
  116. * |Tab | | | | | |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
  117. * |-----------------------------------------------------------|
  118. * |Contro| | | | | |Mb2|McL|McD|McR|Mb1| |Return |
  119. * |-----------------------------------------------------------|
  120. * |Shift | | | | |Mb3|Mb2|Mb1|Mb4|Mb5| |Shift | |
  121. * |-----------------------------------------------------------|
  122. * |Ctrl |Gui |Alt | Space |Alt |Fn5 |Ctrl |
  123. * `-----------------------------------------------------------'
  124. * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel
  125. */
  126. [4] = ACTIONMAP_AEK( \
  127. GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, GRV, \
  128. APSW,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,WH_D,MS_U,WH_U,RGHT,BACK,FRWD,APSW, \
  129. TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,MS_L,MS_D,MS_R,BTN1,TRNS,ENT, \
  130. TRNS,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BACK,TRNS,TRNS,TRNS, \
  131. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS),
  132. /* 40% */
  133. [5] = ACTIONMAP_AEK( \
  134. TRNS,1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS,TRNS,TRNS, \
  135. TRNS,s(1),s(2),s(3),s(4),s(5),s(6),s(7),s(8),s(9),s(0),TRNS,TRNS,TRNS, \
  136. TRNS,1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS,TRNS, \
  137. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
  138. TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS),
  139. };