-
-
Save Ciantic/a27c474441d6129594a2eb235c058816 to your computer and use it in GitHub Desktop.
my current keymap for my ergodox, using QMK
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 QMK_KEYBOARD_H | |
#include "debug.h" | |
#include "action_layer.h" | |
#include "version.h" | |
#include "keymap_german.h" | |
#include "keymap_nordic.h" | |
enum custom_keycodes { | |
PLACEHOLDER = SAFE_RANGE, // can always be here | |
EPRM, | |
VRSN, | |
RGB_SLD, | |
}; | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
//**************************FIRST LAYER - LAYER ZERO ************************************** | |
[0] = KEYMAP( | |
//Left Hand | |
KC_EQUAL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRANSPARENT, | |
MT(MOD_LCTL|MOD_LALT,TG(2)), KC_Q, KC_W, LT(3,KC_E), KC_R, KC_T, ALL_T(KC_PSCREEN), | |
MT(MOD_LCTL|MOD_LSFT, KC_TAB), CTL_T(KC_A), MEH_T(KC_S), LT(4,KC_D), ALT_T(KC_F), GUI_T(KC_G), | |
LSFT(KC_LCTL), CTL_T(KC_Z), GUI_T(KC_X), LT(2,KC_C), KC_V, KC_B, TT(2), | |
KC_GRAVE, KC_QUOTE, LALT(KC_TAB), KC_LEFT, KC_RIGHT, | |
//Left Thumb Buttons | |
LT(2,KC_ESCAPE), GUI_T(KC_INSERT), | |
ALT_T(KC_HOME), | |
KC_LSHIFT, KC_BSPACE, | |
CTL_T(KC_END), | |
//RIGHT HAND | |
LCTL(LSFT(KC_F10)), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, | |
ALL_T(KC_APPLICATION), KC_Y, KC_U, LT(5,KC_I), KC_O, KC_P, LALT(KC_RCTRL), | |
GUI_T(KC_H), CTL_T(KC_J), LT(1,KC_K), MEH_T(KC_L), LT(2,KC_SCOLON), LSFT(KC_LALT), | |
TT(3), KC_N, ALT_T(KC_M), KC_COMMA,KC_DOT, CTL_T(KC_SLASH), LSFT(KC_RCTRL), | |
KC_UP, KC_DOWN, KC_LBRACKET, KC_RBRACKET, LT(1,KC_CALCULATOR), | |
//RIGHT Thumb Buttons | |
GUI_T(KC_DELETE), LT(2,KC_ESCAPE), | |
ALT_T(KC_PGUP), | |
RCTL_T(KC_PGDOWN), KC_ENTER, KC_SPACE), | |
[1] = KEYMAP( | |
KC_ESCAPE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRANSPARENT, | |
KC_TRANSPARENT, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_TILD, LALT(LCTL(KC_DELETE)), | |
KC_TRANSPARENT, KC_TILD, KC_MINUS, KC_LPRN, KC_RPRN, KC_AMPR, | |
KC_TRANSPARENT, KC_PERC, KC_CIRC, KC_LBRACKET, KC_RBRACKET, KC_GRAVE, LSFT(KC_F6), | |
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | |
//Left Thumb Buttons | |
KC_TRANSPARENT,KC_TRANSPARENT, | |
KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT, | |
KC_TRANSPARENT, | |
KC_TRANSPARENT,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11, | |
KC_TRANSPARENT,KC_TRANSPARENT,KC_PIPE,KC_TRANSPARENT,KC_EQUAL,KC_TRANSPARENT,KC_F12,KC_TRANSPARENT,KC_DQUO,KC_TRANSPARENT,KC_QUOTE,KC_PLUS,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_UNDS,KC_TRANSPARENT,KC_BSLASH,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_EQUAL,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT), | |
[2] = KEYMAP(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,RESET,KC_TRANSPARENT,KC_MS_BTN1,KC_MS_UP,KC_MS_BTN2,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_LEFT),KC_MS_LEFT,KC_MS_DOWN,KC_MS_RIGHT,LCTL(KC_RIGHT),KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_WH_LEFT,KC_TRANSPARENT,KC_MS_WH_RIGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_WH_UP,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_WH_DOWN,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_MS_WH_UP,KC_MS_ACCEL0,KC_MS_ACCEL1,KC_UP,KC_MS_ACCEL2,KC_TRANSPARENT,RESET,KC_MS_BTN1,KC_LEFT,KC_DOWN,KC_RIGHT,KC_TRANSPARENT,KC_MEDIA_PLAY_PAUSE,KC_MS_WH_DOWN,KC_TRANSPARENT,KC_TRANSPARENT,KC_MEDIA_PREV_TRACK,KC_MEDIA_NEXT_TRACK,KC_TRANSPARENT,KC_TRANSPARENT,KC_AUDIO_VOL_UP,KC_AUDIO_VOL_DOWN,KC_AUDIO_MUTE,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_WWW_BACK), | |
[3] = KEYMAP(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(LGUI(KC_LEFT)),KC_TRANSPARENT,LCTL(LGUI(KC_RIGHT)),LALT(KC_LEFT),KC_TRANSPARENT,KC_TRANSPARENT,LCTL(KC_W),LCTL(LSFT(KC_TAB)),LGUI(KC_D),LCTL(KC_TAB),KC_RIGHT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LGUI(KC_UP),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LGUI(KC_LEFT),LGUI(KC_DOWN),LGUI(KC_RIGHT),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LGUI(KC_DOWN),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT), | |
[4] = KEYMAP(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_7,KC_8,KC_9,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_4,KC_5,KC_6,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_1,KC_2,KC_3,KC_TRANSPARENT,KC_TRANSPARENT,KC_0,KC_DOT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT), | |
[5] = KEYMAP(KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LALT(LCTL(LSFT(KC_Q))),LSFT(KC_ESCAPE),LALT(LCTL(LSFT(KC_D))),LALT(LCTL(LSFT(KC_2))),LALT(LSFT(KC_UP)),KC_TRANSPARENT,KC_TRANSPARENT,LALT(KC_F7),KC_TRANSPARENT,LCTL(KC_B),KC_TRANSPARENT,LALT(LSFT(KC_DOWN)),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(LSFT(KC_COMMA)),LALT(LCTL(LSFT(KC_DOT))),LALT(KC_MS_WH_UP),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LALT(LSFT(KC_F9)),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LALT(LCTL(LSFT(KC_5))),LALT(LSFT(KC_Z)),KC_TRANSPARENT,LALT(KC_Z),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,LCTL(LSFT(KC_LEFT)),LALT(LCTL(KC_S)),LCTL(LSFT(KC_RIGHT)),LCTL(LSFT(KC_COMMA)),KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT,KC_TRANSPARENT), | |
}; | |
const uint16_t PROGMEM fn_actions[] = { | |
[1] = ACTION_LAYER_TAP_TOGGLE(1) | |
}; | |
// leaving this in place for compatibilty with old keymaps cloned and re-compiled. | |
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |
{ | |
switch(id) { | |
case 0: | |
if (record->event.pressed) { | |
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | |
} | |
break; | |
} | |
return MACRO_NONE; | |
}; | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
switch (keycode) { | |
// dynamically generate these. | |
case EPRM: | |
if (record->event.pressed) { | |
eeconfig_init(); | |
} | |
return false; | |
break; | |
case VRSN: | |
if (record->event.pressed) { | |
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | |
} | |
return false; | |
break; | |
case RGB_SLD: | |
if (record->event.pressed) { | |
// rgblight_mode(1); | |
} | |
return false; | |
break; | |
} | |
return true; | |
} | |
void matrix_scan_user(void) { | |
uint8_t layer = biton32(layer_state); | |
ergodox_board_led_off(); | |
ergodox_right_led_1_off(); | |
ergodox_right_led_2_off(); | |
ergodox_right_led_3_off(); | |
switch (layer) { | |
case 1: | |
ergodox_right_led_1_on(); | |
break; | |
case 2: | |
ergodox_right_led_2_on(); | |
break; | |
case 3: | |
ergodox_right_led_3_on(); | |
break; | |
case 4: | |
ergodox_right_led_1_on(); | |
ergodox_right_led_2_on(); | |
break; | |
case 5: | |
ergodox_right_led_1_on(); | |
ergodox_right_led_3_on(); | |
break; | |
case 6: | |
ergodox_right_led_2_on(); | |
ergodox_right_led_3_on(); | |
break; | |
case 7: | |
ergodox_right_led_1_on(); | |
ergodox_right_led_2_on(); | |
ergodox_right_led_3_on(); | |
break; | |
default: | |
break; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment