Skip to content

Instantly share code, notes, and snippets.

@shuxiao9058
Created May 6, 2019 15:21
Show Gist options
  • Save shuxiao9058/6d08c6549388436ab831f7b650bb14ae to your computer and use it in GitHub Desktop.
Save shuxiao9058/6d08c6549388436ab831f7b650bb14ae to your computer and use it in GitHub Desktop.
/*
* HHKB Layout
*/
#include "keymap_common.h"
#ifdef KEYMAP_SECTION_ENABLE
const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
#else
const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
#endif
/* Layer 0: Default Layer
* ,-----------------------------------------------------------.
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| `|
* |-----------------------------------------------------------|
* |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =|Backs|
* |-----------------------------------------------------------|
* |Contro| A| O| E| U| I| D| H| T| N| S| -|Enter |
* |-----------------------------------------------------------|
* |Shift | ;| Q| J| K| X| B| M| W| V| Z|Shift |Fn0|
* `-----------------------------------------------------------'
* |Gui|Alt | Space |Alt |Gui|
* `-------------------------------------------'
*/
KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, BSLS, GRV, \
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSPC, \
FN24, A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
LSFT, SCLN, Q, J, K, X, B, M, W, V, Z, RSFT, FN0, \
LGUI, LALT, SPC, FN25, FN26),
/* Layer 1: HHKB mode (HHKB Fn)
* ,-----------------------------------------------------------.
* |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
* |-----------------------------------------------------------|
* |Caps | | | | | | | |Psc|Slk|Pus|Up | |Backs|
* |-----------------------------------------------------------|
* | |VoD|VoU|Mut| | | *| /|Hom|PgU|Lef|Rig|Enter |
* |-----------------------------------------------------------|
* | | | | | | | +| -|End|PgD|Dow| | |
* `-----------------------------------------------------------'
* | | | | | |
* `-------------------------------------------'
*/
KEYMAP(PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \
CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS, UP, TRNS, BSPC, \
TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,PENT, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN,TRNS,TRNS, \
TRNS,TRNS, TRNS, TRNS,TRNS),
};
/*
* Fn action definition
*/
#ifdef KEYMAP_SECTION_ENABLE
const action_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
[0] = ACTION_LAYER_MOMENTARY(1),
/* [1] = ACTION_LAYER_MOMENTARY(2), */
/* [2] = ACTION_LAYER_MOMENTARY(3), */
/* [3] = ACTION_LAYER_MOMENTARY(4), */
/* [4] = ACTION_LAYER_MOMENTARY(5), */
/* [5] = ACTION_LAYER_MOMENTARY(6), */
/* [6] = ACTION_LAYER_MOMENTARY(7), */
/* [7] = ACTION_LAYER_TOGGLE(1), */
/* [8] = ACTION_LAYER_TOGGLE(2), */
/* [9] = ACTION_LAYER_TOGGLE(3), */
/* [10] = ACTION_LAYER_TAP_TOGGLE(1), */
/* [11] = ACTION_LAYER_TAP_TOGGLE(2), */
/* [12] = ACTION_LAYER_TAP_TOGGLE(3), */
/* [13] = ACTION_LAYER_TAP_KEY(1, KC_BSLASH), */
/* [14] = ACTION_LAYER_TAP_KEY(2, KC_TAB), */
/* [15] = ACTION_LAYER_TAP_KEY(3, KC_ENTER), */
/* [16] = ACTION_LAYER_TAP_KEY(4, KC_SPACE), */
/* [17] = ACTION_LAYER_TAP_KEY(5, KC_SCOLON), */
/* [18] = ACTION_LAYER_TAP_KEY(6, KC_QUOTE), */
/* [19] = ACTION_LAYER_TAP_KEY(7, KC_SLASH), */
/* [20] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_SPACE), */
/* [21] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_SPACE), */
/* [22] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_QUOTE), */
/* [23] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENTER), */
[24] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC),
[25] = ACTION_MODS(MOD_LGUI | MOD_LALT | MOD_LSFT | MOD_LCTL),
[26] = ACTION_MODS(MOD_LALT | MOD_LGUI | MOD_LCTL),
/* [25] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_BSPACE), */
/* [26] = ACTION_MODS_ONESHOT(MOD_LCTL), */
/* [27] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_ESC), */
/* [28] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_BSPACE), */
/* [29] = ACTION_MODS_ONESHOT(MOD_LSFT), */
/* [30] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRAVE), */
/* [31] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_BSLASH), */
};
#else
const action_t fn_actions[] PROGMEM = {
[0] = ACTION_LAYER_MOMENTARY(1),
};
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment