Last active
January 30, 2020 17:03
-
-
Save jimppa/13d1acd833ba7f4b217d0ee54a30bb44 to your computer and use it in GitHub Desktop.
katana60 keymap
This file contains 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
#ifndef CONFIG_USER_H | |
#define CONFIG_USER_H | |
#include "../../config.h" | |
// place overrides here | |
#endif |
This file contains 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 QMK_KEYBOARD_H | |
// Layers | |
#define BASE 0 // Default | |
#define FN1 1 // left pinkie | |
#define SYS 2 // System + Numpad | |
// Tap dance declarations | |
enum { | |
TD_SEMIC_QUOT = 0, | |
TD_OPEN_BRAC = 1, | |
TD_CLOSE_BRAC = 2, | |
TD_PGUP_HOME = 3, | |
TD_PGDN_END = 4 | |
}; | |
// Tap dance left bracket callbacks | |
void dance_open_bracket_finished(qk_tap_dance_state_t *state, void *user_data) { | |
if (state->count == 1) { | |
register_code(KC_LBRACKET); | |
} else { | |
register_code(KC_RSFT); | |
register_code(KC_LBRACKET); | |
} | |
} | |
void dance_open_bracket_reset(qk_tap_dance_state_t *state, void *user_data) { | |
if (state->count == 1) { | |
unregister_code(KC_LBRACKET); | |
} else { | |
unregister_code(KC_RSFT); | |
unregister_code(KC_LBRACKET); | |
} | |
} | |
// Right bracket callbacks | |
void dance_close_bracket_finished(qk_tap_dance_state_t *state, void *user_data) { | |
if (state->count == 1) { | |
register_code(KC_RBRACKET); | |
} else { | |
register_code(KC_RSFT); | |
register_code(KC_RBRACKET); | |
} | |
} | |
void dance_close_bracket_reset(qk_tap_dance_state_t *state, void *user_data) { | |
if (state->count == 1) { | |
unregister_code(KC_RBRACKET); | |
} else { | |
unregister_code(KC_RSFT); | |
unregister_code(KC_RBRACKET); | |
} | |
} | |
// Register tap dance actions | |
qk_tap_dance_action_t tap_dance_actions[] = { | |
// Tap once for quote/ä, twice for semicolon/ö | |
[TD_SEMIC_QUOT] = ACTION_TAP_DANCE_DOUBLE(KC_QUOTE, KC_SCOLON), | |
// Once for [, twice for { | |
[TD_OPEN_BRAC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_open_bracket_finished, dance_open_bracket_reset), | |
// And same for closing | |
[TD_CLOSE_BRAC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_close_bracket_finished, dance_close_bracket_reset), | |
[TD_PGUP_HOME] = ACTION_TAP_DANCE_DOUBLE(KC_PGUP, KC_HOME), | |
[TD_PGDN_END] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_END) | |
}; | |
// MacOS based definitions. | |
#define PRVWD LALT(KC_LEFT) // Previous word | |
#define NXTWD LALT(KC_RIGHT) // Next word | |
#define UNDO LGUI(KC_Z) // UNDO | |
#define CUT LGUI(KC_X) // CUT | |
#define COPY LGUI(KC_C) // COPY | |
#define PASTE LGUI(KC_V) // PASTE | |
#define Z_CTRL CTL_T(KC_Z) | |
#define DIM KC_SLCK | |
#define BRIGHT KC_PAUS | |
#define TD_LBR TD(TD_OPEN_BRAC) | |
#define TD_RBR TD(TD_CLOSE_BRAC) | |
#define TD_QUO TD(TD_SEMIC_QUOT) | |
#define TD_PGUP TD(TD_PGUP_HOME) | |
#define TD_PGDN TD(TD_PGDN_END) | |
// The keymap | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
[BASE] = LAYOUT( /* Base */ | |
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, | |
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TD_LBR, TD_RBR, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | |
MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_SCOLON, TD_PGUP, KC_H, KC_J, KC_K, KC_L, TD_QUO, KC_ENT, | |
KC_LSPO, Z_CTRL, KC_X, KC_C, KC_V, KC_B, KC_MEH, TD_PGDN, KC_DEL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | |
KC_CAPS, DF(SYS), KC_LCTL, KC_LALT, KC_LGUI, KC_HYPR, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | |
), | |
[FN1] = LAYOUT( | |
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , DIM , BRIGHT, | |
_______, _______, _______, _______, _______, _______, _______, _______, _______, PRVWD , KC_END , NXTWD , _______, KC_DEL, | |
_______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RIGHT,_______, _______, | |
_______, UNDO , CUT , COPY , PASTE , _______, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | |
), | |
[SYS] = LAYOUT( | |
RESET , _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, | |
_______, _______, _______, KC_MS_U, _______, _______, _______, KC_7, KC_8, KC_9, KC_PPLS, _______, _______, _______, | |
_______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_4, KC_5, KC_6, KC_PPLS, _______, _______, _______, | |
_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, KC_1, KC_2, KC_3, KC_PENT, _______, _______, _______, | |
_______,DF(BASE), _______, _______, KC_BTN1, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______ | |
) | |
}; | |
This file contains 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
COMMAND_ENABLE = no | |
TAP_DANCE_ENABLE = yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment