#define _L2 4
#define _L3 5
-// Macro name shortcuts
-#define QWERTY M(_QW)
-#define DVORAK M(_DV)
-#define COLEMAK M(_CM)
-
// Curly braces have their own keys. These are defined to make them not mess up
// the grid in layer 2.
#define L_CURBR LSFT(KC_LBRC)
#define R_CURBR LSFT(KC_RBRC)
+enum custom_keycodes {
+ DVORAK = SAFE_RANGE,
+ QWERTY,
+ COLEMAK
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT( /* Qwerty */
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
default_layer_set(default_layer);
}
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- switch(id) {
- case _DV:
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch(keycode) {
+ case DVORAK:
if (record->event.pressed) {
persistent_default_layer_set(1UL<<_DV);
}
- break;
- case _QW:
+ return false;
+ case QWERTY:
if (record->event.pressed) {
persistent_default_layer_set(1UL<<_QW);
}
- break;
- case _CM:
+ return false;
+ case COLEMAK:
if (record->event.pressed) {
persistent_default_layer_set(1UL<<_CM);
}
- break;
+ return false;
+ default:
+ return true;
}
- return MACRO_NONE;
+ return true;
};