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.

keymap_hhkb.c 4.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * HHKB Layout
  3. */
  4. #include "keymap_common.h"
  5. #ifdef KEYMAP_SECTION_ENABLE
  6. const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
  7. #else
  8. const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
  9. #endif
  10. /* Layer 0: Default Layer
  11. * ,-----------------------------------------------------------.
  12. * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|
  13. * |-----------------------------------------------------------|
  14. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs|
  15. * |-----------------------------------------------------------|
  16. * |Contro| A| S| D| F| G| H| J| K| L| ;| '|Enter |
  17. * |-----------------------------------------------------------|
  18. * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0|
  19. * `-----------------------------------------------------------'
  20. * |Alt|Gui | Space |Gui |Alt|
  21. * `-------------------------------------------'
  22. */
  23. KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS,GRV, \
  24. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \
  25. LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
  26. LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT,FN0, \
  27. LALT,LGUI, SPC, RGUI,RALT),
  28. /* Layer 1: HHKB mode (HHKB Fn)
  29. * ,-----------------------------------------------------------.
  30. * |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
  31. * |-----------------------------------------------------------|
  32. * |Caps | | | | | | | |Psc|Slk|Pus|Up | |Backs|
  33. * |-----------------------------------------------------------|
  34. * | |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig|Enter |
  35. * |-----------------------------------------------------------|
  36. * | | | | | | | +| -|End|PgD|Dow| | |
  37. * `-----------------------------------------------------------'
  38. * | | | | | |
  39. * `-------------------------------------------'
  40. */
  41. KEYMAP(PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \
  42. CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS, UP, TRNS, BSPC, \
  43. TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,PENT, \
  44. TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,TRNS,TRNS, \
  45. TRNS,TRNS, TRNS, TRNS,TRNS),
  46. };
  47. /*
  48. * Fn action definition
  49. */
  50. #ifdef KEYMAP_SECTION_ENABLE
  51. const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
  52. [0] = ACTION_LAYER_MOMENTARY(1),
  53. [1] = ACTION_LAYER_MOMENTARY(2),
  54. [2] = ACTION_LAYER_MOMENTARY(3),
  55. [3] = ACTION_LAYER_MOMENTARY(4),
  56. [4] = ACTION_LAYER_MOMENTARY(5),
  57. [5] = ACTION_LAYER_MOMENTARY(6),
  58. [6] = ACTION_LAYER_MOMENTARY(7),
  59. [7] = ACTION_LAYER_TOGGLE(1),
  60. [8] = ACTION_LAYER_TOGGLE(2),
  61. [9] = ACTION_LAYER_TOGGLE(3),
  62. [10] = ACTION_LAYER_TAP_TOGGLE(1),
  63. [11] = ACTION_LAYER_TAP_TOGGLE(2),
  64. [12] = ACTION_LAYER_TAP_TOGGLE(3),
  65. [13] = ACTION_LAYER_TAP_KEY(1, KC_BSLASH),
  66. [14] = ACTION_LAYER_TAP_KEY(2, KC_TAB),
  67. [15] = ACTION_LAYER_TAP_KEY(3, KC_ENTER),
  68. [16] = ACTION_LAYER_TAP_KEY(4, KC_SPACE),
  69. [17] = ACTION_LAYER_TAP_KEY(5, KC_SCOLON),
  70. [18] = ACTION_LAYER_TAP_KEY(6, KC_QUOTE),
  71. [19] = ACTION_LAYER_TAP_KEY(7, KC_SLASH),
  72. [20] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_SPACE),
  73. [21] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_SPACE),
  74. [22] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_QUOTE),
  75. [23] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENTER),
  76. [24] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC),
  77. [25] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_BSPACE),
  78. [26] = ACTION_MODS_ONESHOT(MOD_LCTL),
  79. [27] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_ESC),
  80. [28] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_BSPACE),
  81. [29] = ACTION_MODS_ONESHOT(MOD_LSFT),
  82. [30] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRAVE),
  83. [31] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_BSLASH),
  84. };
  85. #else
  86. const uint16_t fn_actions[] PROGMEM = {
  87. [0] = ACTION_LAYER_MOMENTARY(1),
  88. };
  89. #endif