Last active
November 1, 2020 14:41
-
-
Save syrm/2bad8e46f0b623e0748d6bff2992705e to your computer and use it in GitHub Desktop.
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 "version.h" | |
#include "keymap_bepo.h" | |
#define BEPO 0 | |
#define L1 1 | |
#define L2 2 | |
#define L3 3 | |
#define GAMING 4 | |
#define USB_LED_CAPS_LOCK 1 | |
#define KC_MAC_UNDO LGUI(KC_Z) | |
#define KC_MAC_CUT LGUI(KC_X) | |
#define KC_MAC_COPY LGUI(KC_C) | |
#define KC_MAC_PASTE LGUI(KC_V) | |
#define KC_PC_UNDO LCTL(KC_Z) | |
#define KC_PC_CUT LCTL(KC_X) | |
#define KC_PC_COPY LCTL(KC_C) | |
#define KC_PC_PASTE LCTL(KC_V) | |
/* | |
enum custom_keycodes { | |
RGB_SLD = SAFE_RANGE, // can always be here | |
EPRM, | |
}; | |
*/ | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
[BEPO] = LAYOUT_ergodox( | |
/** BEPO | |
* ,--------------------------------------------------. ,--------------------------------------------------. | |
* | $ | " | « | » | ( | ) | | | | @ | + | - | / | * | = | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | |
* | | B | É | P | O | È | Caps | | | ^ | V | D | L | J | Z | | |
* |--------+------+------+------+------+------| Lock | | |------+------+------+------+------+--------| | |
* | Ç | A | U | I | E | , |------| |------| C | T | S | R | N | M | | |
* |--------+------+------+------+------+------| Esc | | Tab |------+------+------+------+------+--------| | |
* | Ê | À | Y | X | . | K | | | | ' | Q | G | H | F | W | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | |
* | Meh | Super| L2 | L1 | Ctrl | | Ctrl | L1 | L2 | Super| Meh | | |
* `----------------------------------' `----------------------------------' | |
* ,-------------. ,-------------. | |
* | | | | | | | |
* ,------|------|------| |------+------+------. | |
* | | | | | | | | | |
* | Space| Shift|------| |------| BkSp | Enter| | |
* | | | Alt | | AltGr| | AltGr| | |
* `--------------------' `--------------------' | |
*/ | |
/* left hand */ | |
BP_DLR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_NO, | |
KC_NO, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_CAPSLOCK, | |
BP_CCED, BP_A, BP_U, BP_I, BP_E, BP_COMM, | |
BP_ECRC, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ESC, | |
KC_MEH, KC_LCMD, MO(L2), MO(L1), KC_LCTL, | |
KC_NO, KC_NO, | |
KC_NO, KC_SPACE, | |
KC_LSHIFT, KC_LALT, | |
/* right hand */ | |
KC_NO, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, | |
KC_NO, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, | |
BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, | |
KC_TAB, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_W, | |
KC_RCTL, MO(L1), MO(L2), KC_RCMD, KC_MEH, | |
KC_NO, KC_NO, | |
KC_NO, KC_RALT, | |
KC_BSPC, MT(MOD_RALT, KC_ENTER) | |
), | |
[L1] = LAYOUT_ergodox( | |
/** L1 | |
* ,--------------------------------------------------. ,--------------------------------------------------. | |
* | |PrtScr| | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | |
* | |Insert| PgUp | Up | PgDwn| | | | | , | 7 | 8 | 9 | - | / | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | |
* | |ScrLck| Left | Down | Right| |------| |------| . | 4 | 5 | 6 | + | * | | |
* |--------+------+------+------+------+------| Esc | | Tab |------+------+------+------+------+--------| | |
* | | Break| Home | Del | End | | | | | 0 | 1 | 2 | 3 | = | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | |
* | | | L3 | | Ctrl | | Ctrl | | L3 | | | | |
* `----------------------------------' `----------------------------------' | |
* ,-------------. ,-------------. | |
* | | | | | | | |
* ,------|------|------| |------+------+------. | |
* | | | | | | | | | |
* | Space| Shift|------| |------| BkSp | Enter| | |
* | | | Alt | | | | AltGr| | |
* `--------------------' `--------------------' | |
*/ | |
/* left hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, KC_PSCR, KC_PGUP, KC_UP, KC_PGDOWN, KC_NO, KC_NO, | |
KC_NO, KC_SLCK, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, | |
KC_NO, KC_PAUS, KC_HOME, KC_DEL, KC_END, KC_NO, KC_TRNS, | |
KC_NO, KC_NO, MO(L3), KC_NO, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
/* right hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, BP_COMMA, BP_7, BP_8, BP_9, BP_MINUS, BP_SLASH, | |
BP_DOT, BP_4, BP_5, BP_6, BP_PLUS, BP_ASTR, | |
KC_TRNS, BP_0, BP_1, BP_2, BP_3, BP_EQUAL, KC_NO, | |
KC_TRNS, KC_NO, MO(L3), KC_NO, KC_NO, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS | |
), | |
[L2] = LAYOUT_ergodox( | |
/** L2 | |
* ,--------------------------------------------------. ,--------------------------------------------------. | |
* | | | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | |
* | | ! | @ | ( | ) | | | | | | | F7 | F8 | F9 | F12 | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | |
* | # | & | $ | < | > | _ |------| |------| | F4 | F5 | F6 | F11 | | | |
* |--------+------+------+------+------+------| Esc | | Tab |------+------+------+------+------+--------| | |
* | \ | % | ^ | [ | ] | ~ | | | | | F1 | F2 | F3 | F10 | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | |
* | | | | L3 | Ctrl | | Ctrl | L3 | | | | | |
* `----------------------------------' `----------------------------------' | |
* ,-------------. ,-------------. | |
* | | | | | | | |
* ,------|------|------| |------+------+------. | |
* | | | | | | | | | |
* | Space| Shift|------| |------| BkSp | Enter| | |
* | | | Alt | | | | AltGr| | |
* `--------------------' `--------------------' | |
*/ | |
/* left hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, BP_EXLM, BP_AT, BP_LPRN, BP_RPRN, BP_PIPE, KC_NO, | |
BP_HASH, BP_AMPR, BP_DLR, BP_LESS, BP_GRTR, BP_MDSH, | |
BP_BSLS, BP_PERC, BP_CIRC, BP_LBRC, BP_RBRC, BP_TILD, KC_TRNS, | |
KC_NO, KC_NO, KC_NO, MO(L3), KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
/* right hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO, | |
KC_NO, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, | |
KC_TRNS, KC_NO, KC_F1, KC_F2, KC_F3, KC_F10, KC_NO, | |
KC_TRNS, MO(L3), KC_NO, KC_NO, KC_NO, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS | |
), | |
[L3] = LAYOUT_ergodox( | |
/** L3 | |
* ,--------------------------------------------------. ,--------------------------------------------------. | |
* | | | | | | | | | | | | | |GAMING| RESET | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | |
* | $ | " | « | » | ( | ) | | | | @ | + | - | / | * | = | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | |
* | | | | | | |------| |------| | | | | | | | |
* |--------+------+------+------+------+------| Esc | | Tab |------+------+------+------+------+--------| | |
* | | | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | |
* | | | | | Ctrl | | Ctrl | | | | | | |
* `----------------------------------' `----------------------------------' | |
* ,-------------. ,-------------. | |
* | | | | | | | |
* ,------|------|------| |------+------+------. | |
* | | | | | | | | | |
* | Space| Shift|------| |------| BkSp | Enter| | |
* | | | Alt | | | | AltGr| | |
* `--------------------' `--------------------' | |
*/ | |
/* left hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
BP_DLR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_NO, | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
/* right hand */ | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, DF(GAMING), RESET, | |
KC_NO, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | |
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS, | |
KC_TRNS, KC_TRNS | |
), | |
[GAMING] = LAYOUT_ergodox( | |
/** GAMING | |
* ,--------------------------------------------------. ,--------------------------------------------------. | |
* | ² | & | é | " | ' | ( | | | | - | è | _ | ç | à | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | |
* | $ | T | A | Z | E | R | Caps | | | Y | U | I | O | P | ^ | | |
* |--------+------+------+------+------+------| Lock | | |------+------+------+------+------+--------| | |
* | Tab | G | Q | S | D | F |------| |------| H | J | K | L | M | ù | | |
* |--------+------+------+------+------+------| Esc | | Tab |------+------+------+------+------+--------| | |
* | | B | W | X | C | V | | | | N | , | ; | : | ! | * | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | |
* | Meh | Super| | BEPO | Ctrl | | Ctrl | | | Super| Meh | | |
* `----------------------------------' `----------------------------------' | |
* ,-------------. ,-------------. | |
* | | | | | | | |
* ,------|------|------| |------+------+------. | |
* | | | | | | | | | |
* | Space| Shift|------| |------| BkSp | Enter| | |
* | | | Alt | | | | AltGr| | |
* `--------------------' `--------------------' | |
*/ | |
/* left hand */ | |
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_QUOT, | |
KC_RBRC, KC_T, KC_Q, KC_W, KC_E, KC_R, KC_CAPSLOCK, | |
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, | |
KC_NO, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_ESC, | |
KC_MEH, KC_LCMD, KC_NO, DF(BEPO), KC_LCTL, | |
KC_NO, KC_NO, | |
KC_NO, KC_SPACE, | |
KC_LSHIFT, KC_LALT, | |
/* right hand */ | |
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, | |
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | |
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | |
KC_TAB, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, | |
KC_RCTL, MO(L1), MO(L2), KC_RCMD, KC_MEH, | |
KC_NO, KC_NO, | |
KC_NO, KC_NO, | |
KC_BSPC, MT(MOD_RALT, KC_ENTER) | |
), | |
}; | |
/* | |
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
switch (keycode) { | |
case EPRM: | |
if (record->event.pressed) { | |
eeconfig_init(); | |
} | |
return false; | |
} | |
return true; | |
} | |
*/ | |
uint32_t layer_state_set_user(uint32_t state) { | |
uint8_t layer = biton32(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_2_on(); | |
break; | |
case 2: | |
ergodox_right_led_3_on(); | |
break; | |
case 3: | |
ergodox_right_led_2_on(); | |
ergodox_right_led_3_on(); | |
break; | |
default: | |
break; | |
} | |
return state; | |
}; | |
void led_set_user(uint8_t usb_led) { | |
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | |
ergodox_right_led_1_on(); | |
} else { | |
ergodox_right_led_1_off(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment