Created
September 18, 2017 16:46
-
-
Save DanielGGordon/28df84da841aa36913b24a7e4e3f4d03 to your computer and use it in GitHub Desktop.
my current keymap for my ergodox, using QMK
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 | |
#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