@@ 2,16 2,19 @@
extern keymap_config_t keymap_config;
-#define _DV 0 // Dvorak layer
-#define _QW 1 // Qwerty layer
-#define _CM 2 // Colemak layer
-#define _MD 3 // Media Layer
-#define _KP 4 // Keypad Layer
+#define _DVORAK 0 // Dvorak layer
+#define _QWERTY 1 // Qwerty layer
+#define _COLEMAK 2 // Colemak layer
+#define _MEDIA 3 // Media Layer
+#define _KEYPAD 4 // Keypad Layer
-// Macro name shortcuts
-#define DVORAK M(_DV)
-#define QWERTY M(_QW)
-#define COLEMAK M(_CM)
+enum custom_keycodes {
+ DVORAK = SAFE_RANGE,
+ QWERTY,
+ COLEMAK,
+ MEDIA,
+ KEYPAD
+};
// Fillers to make layering more clear
#define _______ KC_TRNS
@@ 130,7 133,7 @@ extern keymap_config_t keymap_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_DV] = LAYOUT (
+[_DVORAK] = LAYOUT (
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5,
@@ 141,10 144,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Left Thumb
KC_LCTL, KC_LALT,
KC_HOME,
- KC_BSPC, LT(_MD, KC_DEL), KC_END,
+ KC_BSPC, LT(_MEDIA, KC_DEL), KC_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,
KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS,
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
@@ 153,10 156,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right Thumb
KC_RGUI, KC_RCTL,
KC_PGUP,
- KC_PGDN, LT(_KP, KC_ENT), KC_SPC
+ KC_PGDN, LT(_KEYPAD, KC_ENT), KC_SPC
),
-[_QW] = LAYOUT (
+[_QWERTY] = LAYOUT (
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@@ 167,10 170,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Left Thumb
KC_LCTL, KC_LALT,
KC_HOME,
- KC_BSPC, LT(_MD, KC_DEL), KC_END,
+ KC_BSPC, LT(_MEDIA, KC_DEL), KC_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL ,
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
@@ 179,10 182,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right Thumb
KC_RGUI, KC_RCTL,
KC_PGUP,
- KC_PGDN, LT(_KP, KC_ENT), KC_SPC
+ KC_PGDN, LT(_KEYPAD, KC_ENT), KC_SPC
),
-[_CM] = LAYOUT (
+[_COLEMAK] = LAYOUT (
// Left Hand
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
@@ 193,10 196,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Left Thumb
KC_LCTL, KC_LALT,
KC_HOME,
- KC_BSPC, LT(_MD, KC_DEL), KC_END,
+ KC_BSPC, LT(_MEDIA, KC_DEL), KC_END,
// Right Hand
- KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), RESET,
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), RESET,
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
@@ 205,10 208,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right Thumb
KC_RGUI, KC_RCTL,
KC_PGUP,
- KC_PGDN, LT(_KP, KC_ENT), KC_SPC
+ KC_PGDN, LT(_KEYPAD, KC_ENT), KC_SPC
),
-[_MD] = LAYOUT (
+[_MEDIA] = LAYOUT (
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
@@ 234,7 237,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
),
-[_KP] = LAYOUT (
+[_KEYPAD] = LAYOUT (
// Left Hand
_______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_PWR, _______, _______, _______, _______, _______,
@@ 272,28 275,63 @@ void persistent_default_layer_set(uint16_t default_layer) {
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);
+ persistent_default_layer_set(1UL<<_DVORAK);
}
+ return false;
break;
- case _QW:
+ case QWERTY:
if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_QW);
+ persistent_default_layer_set(1UL<<_QWERTY);
}
+ return false;
break;
- case _CM:
+ case COLEMAK:
if (record->event.pressed) {
- persistent_default_layer_set(1UL<<_CM);
+ persistent_default_layer_set(1UL<<_COLEMAK);
}
+ return false;
break;
}
- return MACRO_NONE;
+ return true;
};
+// getting the LEDs working...
+void led_set_user(uint8_t usb_led) {
+
+ DDRF |= (1<<0); // Keypad LED
+ if (usb_led & (1<<USB_LED_COMPOSE)) {
+ PORTF |= (1<<0);
+ } else {
+ PORTF &= ~(1<<0);
+ }
+
+ DDRF |= (1<<1); // ScrLock LED
+ if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
+ PORTF |= (1<<1);
+ } else {
+ PORTF &= ~(1<<1);
+ }
+
+ DDRF |= (1<<2); // NumLock LED
+ if (usb_led & (1<<USB_LED_NUM_LOCK)) {
+ PORTF |= (1<<2);
+ } else {
+ PORTF &= ~(1<<2);
+ }
+
+ DDRF |= (1<<3); // CapsLock LED
+ if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+ PORTF |= (1<<3);
+ } else {
+ PORTF &= ~(1<<3);
+ }
+
+}
+
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
@@ 26,13 26,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter |
* `-----------------------------------------------------------------------------------'
*/
-[_QW] = {
- {KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC},
- {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL },
- {KC_MINS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT},
- {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT},
- {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
-},
+[_QW] = LAYOUT_ortho_5x12 ( \
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL , \
+ KC_MINS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
+ KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
+),
/* Lower
* ,-----------------------------------------------------------------------------------.
@@ 40,20 40,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | ~ | | | | | | | | | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Caps | | | | | | | _ | + | { | } | |
+ * | Caps | | Mute | Vol- | Vol+ | | | | + | { | } | PrSc |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | Mute | Vol- | Vol+ | |
+ * | | | Prev | Play | Next | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter |
* `-----------------------------------------------------------------------------------'
*/
-[_LO] = {
- {KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
- {KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE},
- {KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______},
- {_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______},
- {BL_STEP, _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______}
-},
+[_LO] = LAYOUT_ortho_5x12 ( \
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
+ KC_TILD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, \
+ KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, KC_PSCR, \
+ _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
+ BL_STEP, _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
+),
/* Raise
* ,-----------------------------------------------------------------------------------.
@@ 61,19 61,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ` | | | | | | | | | | | \ |
* |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Caps | | | | | | | - | = | [ | ] | |
+ * | Caps | | Mute | Vol- | Vol+ | | | | = | [ | ] | PrSc |
* |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | Prev | Play | Next | |
+ * | | | Prev | Play | Next | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter |
* `-----------------------------------------------------------------------------------'
*/
-[_RA] = {
- {KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 },
- {KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS},
- {KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______},
- {_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______},
- {BL_STEP, _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______}
-}
+[_RA] = LAYOUT_ortho_5x12 ( \
+ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, \
+ KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, KC_PSCR, \
+ _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, \
+ BL_STEP, _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
+)
};