Last active
July 18, 2019 16:42
-
-
Save fengye/7109b545eebe201a3db401914abd9bfe to your computer and use it in GitHub Desktop.
HHKB for Human C source in TMK Keyboard firmware
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "unimap_trans.h" | |
#define AC_FN1 ACTION_LAYER_MOMENTARY(1) | |
#define AC_FN2 ACTION_LAYER_TAP_KEY(2, KC_LCTL) | |
#define AC_ENT2 ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) | |
#define AC_LSOS ACTION_MODS_ONESHOT(MOD_LSFT) | |
#define AC_RSOS ACTION_MODS_ONESHOT(MOD_RSFT) | |
#define AC_L2(KEY) ACTION_MODS_KEY(MOD_LCTL, KC_##KEY) | |
#define AC_L2_LNST ACTION_MODS_KEY(MOD_LCTL, KC_A) | |
#define AC_L2_LNED ACTION_MODS_KEY(MOD_LCTL, KC_E) | |
#ifdef KEYMAP_SECTION_ENABLE | |
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = { | |
#else | |
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { | |
#endif | |
[0] = UNIMAP_HHKB( | |
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS,GRV, | |
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSPC, | |
FN2, A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT2, | |
LSOS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSOS, FN1, | |
LALT,LGUI, SPC, RGUI,RALT), | |
// This is HHKB original Fn1 layer | |
[1] = UNIMAP_HHKB( | |
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, TRNS, | |
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), | |
[2] = UNIMAP_HHKB( | |
L2(ESC), L2(1), L2(2), L2(3), L2(4), L2(5), L2(6), L2(7), L2(8), L2(9), L2(0), L2(MINS),L2(EQL), L2(BSLS),L2(GRV), | |
L2(TAB), L2(Q), L2(W), L2(E), L2(R), L2(T), L2(Y), L2_LNST, UP, L2_LNED, HOME, PGUP, L2(RBRC), L2(BSPC), | |
NO, L2(A), L2(S), L2(D), L2(F), L2(G), L2(H), LEFT, DOWN, RIGHT, END, PGDN, L2(ENT), | |
L2(LSFT),L2(Z), L2(X), L2(C), L2(V), L2(B), L2(N), L2(M), L2(COMM),L2(DOT), L2(SLSH), L2(RSFT),NO, | |
L2(LALT),L2(LGUI), L2(SPC), L2(RGUI),L2(RALT)), | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment