commit
1d8e3da233
@ -0,0 +1,175 @@
|
|||||||
|
/* This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk
|
||||||
|
I've blatantly stolen what works for me from the Planck and Preonic
|
||||||
|
layouts and modified this file to fit me. Initial credet goes to
|
||||||
|
u/profet23 for the doing all the work and adding this keyboard to
|
||||||
|
QMK in the first place.
|
||||||
|
|
||||||
|
I've got Dvorak, Qwerty, and Colemak layouts at this time, with the
|
||||||
|
possibility of adding more in the future.
|
||||||
|
|
||||||
|
The bottom row is fairly Kinesis-ish since the Contour and Advantage
|
||||||
|
keyboards have been my daily drivers for the last 17 years. I hope
|
||||||
|
You can get some enjoyment out of this layout should you chose it!
|
||||||
|
|
||||||
|
CHANGELOG:
|
||||||
|
|
||||||
|
0.1 - Initial commit. Based off of Profet's default keymap.
|
||||||
|
0.2 - Converted to a more Planck/Preonic keymap style file with
|
||||||
|
persistent layers enabled. Renamed layers to reflect OLKB maps.
|
||||||
|
Added a TODO list.
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
* Make the layout more efficient, even if it means changing the RAISE
|
||||||
|
and LOWER functionality.
|
||||||
|
* Add legends in comments for each layer. Maybe.
|
||||||
|
* Add a gaming layer.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
// this is the style you want to emulate.
|
||||||
|
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||||
|
#include "atreus62.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
#include "eeconfig.h"
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
#define _DVORAK 0
|
||||||
|
#define _QWERTY 1
|
||||||
|
#define _COLEMAK 2
|
||||||
|
#define _WOW 3
|
||||||
|
#define _LOWER 4
|
||||||
|
#define _RAISE 5
|
||||||
|
#define _ADJUST 16
|
||||||
|
|
||||||
|
enum atreus52_keycodes {
|
||||||
|
DVORAK = SAFE_RANGE,
|
||||||
|
QWERTY,
|
||||||
|
COLEMAK,
|
||||||
|
WOW,
|
||||||
|
LOWER,
|
||||||
|
RAISE
|
||||||
|
};
|
||||||
|
|
||||||
|
// Fillers to make layering more clear
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
#define XXXXXXX KC_NO
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_DVORAK] = { /* dvorak */
|
||||||
|
{ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS },
|
||||||
|
{ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
|
||||||
|
{ KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS },
|
||||||
|
{ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
|
||||||
|
{ KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
|
||||||
|
},
|
||||||
|
|
||||||
|
[_QWERTY] = { /* qwerty */
|
||||||
|
{ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS },
|
||||||
|
{ 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_CAPS, 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_LGUI, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
|
||||||
|
{ KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL }
|
||||||
|
},
|
||||||
|
|
||||||
|
[_COLEMAK] = { /* colemak */
|
||||||
|
{ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS },
|
||||||
|
{ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL },
|
||||||
|
{ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT },
|
||||||
|
{ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT },
|
||||||
|
{ KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_ENT, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_RCTL}
|
||||||
|
},
|
||||||
|
|
||||||
|
[_WOW] = { /* Dvorak with minor modifications for playing World of Warcraft */
|
||||||
|
{ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS },
|
||||||
|
{ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH },
|
||||||
|
{ KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS },
|
||||||
|
{ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT },
|
||||||
|
{ KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, CTL_T(KC_ENT), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT }
|
||||||
|
},
|
||||||
|
|
||||||
|
[_LOWER] = {
|
||||||
|
{ 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_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______ },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______ },
|
||||||
|
{ _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
|
||||||
|
},
|
||||||
|
[_RAISE] = {
|
||||||
|
{ 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_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSLS },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_EQL, KC_LBRC, KC_RBRC, _______ },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______ },
|
||||||
|
{ _______, _______, KC_HOME, KC_END, _______, KC_DEL, _______, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ }
|
||||||
|
},
|
||||||
|
[_ADJUST] = {
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{ _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, WOW },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
|
eeconfig_update_default_layer(default_layer);
|
||||||
|
default_layer_set(default_layer);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case QWERTY:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_QWERTY);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case COLEMAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_COLEMAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case DVORAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_DVORAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case WOW:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_WOW);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case LOWER:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case RAISE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
@ -0,0 +1,49 @@
|
|||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# On command line:
|
||||||
|
#
|
||||||
|
# make all = Make software.
|
||||||
|
#
|
||||||
|
# make clean = Clean out built project files.
|
||||||
|
#
|
||||||
|
# make coff = Convert ELF to AVR COFF.
|
||||||
|
#
|
||||||
|
# make extcoff = Convert ELF to AVR Extended COFF.
|
||||||
|
#
|
||||||
|
# make program = Download the hex file to the device.
|
||||||
|
# Please customize your programmer settings(PROGRAM_CMD)
|
||||||
|
#
|
||||||
|
# make teensy = Download the hex file to the device, using teensy_loader_cli.
|
||||||
|
# (must have teensy_loader_cli installed).
|
||||||
|
#
|
||||||
|
# make dfu = Download the hex file to the device, using dfu-programmer (must
|
||||||
|
# have dfu-programmer installed).
|
||||||
|
#
|
||||||
|
# make flip = Download the hex file to the device, using Atmel FLIP (must
|
||||||
|
# have Atmel FLIP installed).
|
||||||
|
#
|
||||||
|
# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
|
||||||
|
# (must have dfu-programmer installed).
|
||||||
|
#
|
||||||
|
# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
|
||||||
|
# (must have Atmel FLIP installed).
|
||||||
|
#
|
||||||
|
# make debug = Start either simulavr or avarice as specified for debugging,
|
||||||
|
# with avr-gdb or avr-insight as the front end for debugging.
|
||||||
|
#
|
||||||
|
# make filename.s = Just compile filename.c into the assembler code only.
|
||||||
|
#
|
||||||
|
# make filename.i = Create a preprocessed source file for use in submitting
|
||||||
|
# bug reports to the GCC project.
|
||||||
|
#
|
||||||
|
# To rebuild project do "make clean" then "make all".
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change to "no" to disable the options, or define them in the makefile.mk in
|
||||||
|
# the appropriate keymap folder that will get included automatically
|
||||||
|
#
|
||||||
|
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
|
|
||||||
|
ifndef QUANTUM_DIR
|
||||||
|
include ../../../../Makefile
|
||||||
|
endif
|
@ -0,0 +1,111 @@
|
|||||||
|
// Xyverz' keymap.
|
||||||
|
// It's based on the default keymap, but Dvorak!
|
||||||
|
|
||||||
|
#include "clueboard.h"
|
||||||
|
|
||||||
|
// Used for SHIFT_ESC
|
||||||
|
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
#define _BL 0
|
||||||
|
#define _FL 1
|
||||||
|
#define _RS 2
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Keymap _BL: (Base Layer) Default Layer
|
||||||
|
* ,--------------------------------------------------------------------------. ,----.
|
||||||
|
* |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| BS| |PGUP|
|
||||||
|
* |--------------------------------------------------------------------------| |----|
|
||||||
|
* | Tab| '| ,| .| P| Y| F| G| C| R| L| /| =| \| |PGDN|
|
||||||
|
* |--------------------------------------------------------------------------| `----'
|
||||||
|
* |_FL/Caps| A| O| E| U| I| H| D| H| T| N| S| - | Ent|
|
||||||
|
* |-----------------------------------------------------------------------------.
|
||||||
|
* |Shift| BS| ;| Q| J| K| X| B| M| W| V| Z| BS|Shift| UP|
|
||||||
|
* |------------------------------------------------------------------------|----|----.
|
||||||
|
* | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT|
|
||||||
|
* `----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_BL] = KEYMAP(
|
||||||
|
F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
|
||||||
|
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \
|
||||||
|
LT(_FL, KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, \
|
||||||
|
KC_LSFT, KC_RO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH, KC_RSFT, KC_UP, \
|
||||||
|
KC_LCTL, KC_LALT, KC_LGUI, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
/* Keymap _FL: Function Layer
|
||||||
|
* ,--------------------------------------------------------------------------. ,----.
|
||||||
|
* | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN|
|
||||||
|
* |--------------------------------------------------------------------------| |----|
|
||||||
|
* | | | | | | | | |PScr|SLck|Paus| | | | |BLDE|
|
||||||
|
* |--------------------------------------------------------------------------| `----'
|
||||||
|
* | | | _RS| | | | | | | | | | | |
|
||||||
|
* |-----------------------------------------------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | | |PGUP|
|
||||||
|
* |------------------------------------------------------------------------|----|----.
|
||||||
|
* | | | | | | | | | | _FL|HOME|PGDN| END|
|
||||||
|
* `----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_FL] = KEYMAP(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, BL_STEP, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
|
/* Keymap _RS: Reset layer
|
||||||
|
* ,--------------------------------------------------------------------------. ,----.
|
||||||
|
* | | | | | | | | | | | | | | | RGB| |VAL+|
|
||||||
|
* |--------------------------------------------------------------------------| |----|
|
||||||
|
* | | | | |RESET| | | | | | | | | | |VAL-|
|
||||||
|
* |--------------------------------------------------------------------------| `----'
|
||||||
|
* | | | _RS| | | | | | | | | | | |
|
||||||
|
* |-----------------------------------------------------------------------------.
|
||||||
|
* | | | | | | | | | | | | | | |SAT+|
|
||||||
|
* |------------------------------------------------------------------------|----|----.
|
||||||
|
* | | | | | | | | | | _FL|HUE-|SAT-|HUE+|
|
||||||
|
* `----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_RS] = KEYMAP(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, \
|
||||||
|
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
MO(_FL), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), RGB_SAI, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
|
};
|
||||||
|
|
||||||
|
enum function_id {
|
||||||
|
SHIFT_ESC,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = {
|
||||||
|
[0] = ACTION_FUNCTION(SHIFT_ESC),
|
||||||
|
};
|
||||||
|
|
||||||
|
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||||
|
static uint8_t shift_esc_shift_mask;
|
||||||
|
switch (id) {
|
||||||
|
case SHIFT_ESC:
|
||||||
|
shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (shift_esc_shift_mask) {
|
||||||
|
add_key(KC_GRV);
|
||||||
|
send_keyboard_report();
|
||||||
|
} else {
|
||||||
|
add_key(KC_ESC);
|
||||||
|
send_keyboard_report();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (shift_esc_shift_mask) {
|
||||||
|
del_key(KC_GRV);
|
||||||
|
send_keyboard_report();
|
||||||
|
} else {
|
||||||
|
del_key(KC_ESC);
|
||||||
|
send_keyboard_report();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,149 @@
|
|||||||
|
#include "gh60.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
#include "eeconfig.h"
|
||||||
|
|
||||||
|
|
||||||
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
#define _QW 0
|
||||||
|
#define _DV 1
|
||||||
|
#define _CM 2
|
||||||
|
#define _FL 3
|
||||||
|
|
||||||
|
// Macro name shortcuts
|
||||||
|
#define QWERTY M(_QW)
|
||||||
|
#define DVORAK M(_DV)
|
||||||
|
#define COLEMAK M(_CM)
|
||||||
|
|
||||||
|
// Fillers to make layering more clear
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
#define XXXXXXX KC_NO
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _QW: Qwerty Layer
|
||||||
|
* ,-----------------------------------------------------------.
|
||||||
|
* |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Fn | A| S| D| F| G| H| J| K| L| ;| '| Return|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
|
||||||
|
* `-----------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_QW] = { /* Layer 0: Qwerty */
|
||||||
|
{KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, 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_LBRC, KC_RBRC, KC_BSLS},
|
||||||
|
{MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT },
|
||||||
|
{KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT},
|
||||||
|
{KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _DV: Dvorak Layer
|
||||||
|
* ,-----------------------------------------------------------.
|
||||||
|
* |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| Backsp|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| \|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Fn | A| O| E| U| I| D| H| T| N| S| -| Return|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Shift | ;| Q| J| K| X| B| M| W| V| Z| Shift|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
|
||||||
|
* `-----------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_DV] = { /* Layer 1: Dvorak */
|
||||||
|
{KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC},
|
||||||
|
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS},
|
||||||
|
{MO(_FL), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT },
|
||||||
|
{KC_LSFT, XXXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, XXXXXXX, KC_RSFT},
|
||||||
|
{KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _CM: Colemak Layer
|
||||||
|
* ,-----------------------------------------------------------.
|
||||||
|
* |ESC | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Backsp|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Fn | A| R| S| T| D| H| N| E| I| O| '| Return|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Shift | Z| X| C| V| B| K| M| ,| .| /| Shift|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| Fn|
|
||||||
|
* `-----------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_CM] = { /* Layer 2: Colemak */
|
||||||
|
{KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC},
|
||||||
|
{KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS},
|
||||||
|
{MO(_FL), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT },
|
||||||
|
{KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT},
|
||||||
|
{KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL)}
|
||||||
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _FL: Function Layer
|
||||||
|
* ,-----------------------------------------------------------.
|
||||||
|
* | |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Del|
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* | | | | | | | |PgU| Up|PgD|PSc|SLk|Pau| |
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* | | |MPr|MPl|MNx| |Hom| Lt| Dn| Rt| | | |
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |CAPS | |Mut|VlD|VlU| |End| | | | | |
|
||||||
|
* |-----------------------------------------------------------|
|
||||||
|
* |_QW |_DV |_CM | | | | | |
|
||||||
|
* `-----------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_FL] = { /* Layer 3: Functions */
|
||||||
|
{_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL },
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______},
|
||||||
|
{_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, XXXXXXX, _______},
|
||||||
|
{KC_CAPS, XXXXXXX, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END, _______, _______, _______, _______, XXXXXXX, _______},
|
||||||
|
{QWERTY, DVORAK, COLEMAK, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
|
eeconfig_update_default_layer(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:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_DV);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case _QW:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_QW);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case _CM:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_CM);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return MACRO_NONE;
|
||||||
|
};
|
@ -0,0 +1,21 @@
|
|||||||
|
# Build Options
|
||||||
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
|
# the appropriate keymap folder that will get included automatically
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
|
||||||
|
ifndef QUANTUM_DIR
|
||||||
|
include ../../../../Makefile
|
||||||
|
endif
|
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
|
// place overrides here
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,302 @@
|
|||||||
|
#include "kinesis.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
#include "eeconfig.h"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
// Macro name shortcuts
|
||||||
|
#define DVORAK M(_DV)
|
||||||
|
#define QWERTY M(_QW)
|
||||||
|
#define COLEMAK M(_CM)
|
||||||
|
|
||||||
|
// Fillers to make layering more clear
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
#define XXXXXXX KC_NO
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Function Keys on All Layers (Keypad toggles):
|
||||||
|
,-----------------------------------------------------------------.
|
||||||
|
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
|
||||||
|
`-----------------------------------------------------------------'
|
||||||
|
,-----------------------------------------------------------------.
|
||||||
|
| F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | RESET |
|
||||||
|
`-----------------------------------------------------------------'
|
||||||
|
|
||||||
|
Dvorak layer:
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| ] | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | [ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | ' | , | . | P | Y || F | G | C | R | L | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| CapsLk | A | O | E | U | I || D | H | T | N | S | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | X || B | M | W | V | Z | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | INS | Left | Rght | | Up | Dn | / | = |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
QWERTY layer:
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | INS | Left | Rght | | Up | Dn | [ | ] |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
Colemak layer:
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | Q | W | F | P | G || J | L | U | Y | ; | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| BkSpc | A | R | S | T | D || H | N | E | I | O | ' |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | B || K | M | , | . | / | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | INS | Left | Rght | | Up | Dn | [ | ] |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
Media layer:
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | | | | | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | Mute | Vol- | Vol+ | | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || Stop | Prev | Play | Next | Sel | |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| | | | | | | | | |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,-------------.,-------------.
|
||||||
|
| | || | |
|
||||||
|
,------|------|------||------+------+------.
|
||||||
|
| | | || | | |
|
||||||
|
| | |------||------| | |
|
||||||
|
| | | || | | |
|
||||||
|
`--------------------'`--------------------'
|
||||||
|
|
||||||
|
Keypad layer:
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| Power | | | | | || | NmLk | KP = | KP / | KP * | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Sleep | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Wake | |QWERTY|Colemk|Dvorak| || | KP 4 | KP 5 | KP 6 | KP + | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| | | | | | | | KP . |KP Ent| |
|
||||||
|
`---------------------------' `----------------------------------'
|
||||||
|
,-------------.,-------------.
|
||||||
|
| | || | |
|
||||||
|
,------|------|------||------+------+------.
|
||||||
|
| | | || | | |
|
||||||
|
| | |------||------| | KP 0 |
|
||||||
|
| | | || | | |
|
||||||
|
`--------------------'`--------------------'
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_DV] = KEYMAP(
|
||||||
|
// 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,
|
||||||
|
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
|
||||||
|
KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||||
|
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
|
||||||
|
KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
|
||||||
|
// Left Thumb
|
||||||
|
KC_LCTL, KC_LALT,
|
||||||
|
KC_HOME,
|
||||||
|
KC_BSPC, LT(_MD, KC_DEL), KC_END,
|
||||||
|
|
||||||
|
// Right Hand
|
||||||
|
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), 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,
|
||||||
|
KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
|
||||||
|
KC_UP, KC_DOWN, KC_SLSH, KC_EQL,
|
||||||
|
// Right Thumb
|
||||||
|
KC_RGUI, KC_RCTL,
|
||||||
|
KC_PGUP,
|
||||||
|
KC_PGDN, LT(_KP, KC_ENT), KC_SPC
|
||||||
|
),
|
||||||
|
|
||||||
|
[_QW] = KEYMAP(
|
||||||
|
// Left Hand
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||||
|
KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
|
||||||
|
// Left Thumb
|
||||||
|
KC_LCTL, KC_LALT,
|
||||||
|
KC_HOME,
|
||||||
|
KC_BSPC, LT(_MD, KC_DEL), KC_END,
|
||||||
|
|
||||||
|
// Right Hand
|
||||||
|
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), 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,
|
||||||
|
KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
|
||||||
|
// Right Thumb
|
||||||
|
KC_RGUI, KC_RCTL,
|
||||||
|
KC_PGUP,
|
||||||
|
KC_PGDN, LT(_KP, KC_ENT), KC_SPC
|
||||||
|
),
|
||||||
|
|
||||||
|
[_CM] = KEYMAP(
|
||||||
|
// Left Hand
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G,
|
||||||
|
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||||
|
KC_GRV, KC_INS, KC_LEFT, KC_RGHT,
|
||||||
|
// Left Thumb
|
||||||
|
KC_LCTL, KC_LALT,
|
||||||
|
KC_HOME,
|
||||||
|
KC_BSPC, LT(_MD, KC_DEL), KC_END,
|
||||||
|
|
||||||
|
// Right Hand
|
||||||
|
KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KP), 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,
|
||||||
|
KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||||
|
KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
|
||||||
|
// Right Thumb
|
||||||
|
KC_RGUI, KC_RCTL,
|
||||||
|
KC_PGUP,
|
||||||
|
KC_PGDN, LT(_KP, KC_ENT), KC_SPC
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MD] = KEYMAP(
|
||||||
|
// Left Hand
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
// Left Thumb
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, _______,
|
||||||
|
|
||||||
|
// Right Hand
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||||
|
KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL, _______,
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
// Right Thumb
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_KP] = KEYMAP(
|
||||||
|
// Left Hand
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_PWR, _______, _______, _______, _______, _______,
|
||||||
|
KC_SLEP, _______, _______, _______, _______, _______,
|
||||||
|
KC_WAKE, _______, QWERTY, COLEMAK, DVORAK, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
// Left Thumb
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, _______,
|
||||||
|
|
||||||
|
// Right Hand */
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
|
||||||
|
_______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||||
|
_______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||||
|
_______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||||
|
_______, _______, KC_PDOT, KC_PENT,
|
||||||
|
// Right Thumb
|
||||||
|
_______, _______,
|
||||||
|
_______,
|
||||||
|
_______, _______, KC_P0
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
|
eeconfig_update_default_layer(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:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_DV);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case _QW:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_QW);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case _CM:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_CM);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return MACRO_NONE;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Runs just one time when the keyboard initializes.
|
||||||
|
void matrix_init_user(void) {
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,128 @@
|
|||||||
|
# Xyverz's Kinesis Keymap
|
||||||
|
|
||||||
|
## About this keymap:
|
||||||
|
|
||||||
|
The Dvorak layout shown here stems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my QMK Kinesis.
|
||||||
|
|
||||||
|
The QWERTY layout shown here is based entirely on the Kinesis Advantage layout. The Colemak layout is merely an adaptation of that.
|
||||||
|
|
||||||
|
I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
|
||||||
|
|
||||||
|
## Still to do:
|
||||||
|
|
||||||
|
* Implement the CapsLock, NumLock, and ScrLck LEDs on the off-chance that I decide to actually solder some to the keyboard.
|
||||||
|
|
||||||
|
### Function Keys on All Layers (keypad toggles):
|
||||||
|
,-----------------------------------------------------------------.
|
||||||
|
| Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
|
||||||
|
`-----------------------------------------------------------------'
|
||||||
|
,-----------------------------------------------------------------.
|
||||||
|
| F9 | F10 | F11 | F12 | PScr | SLck | Paus | Keypad | Reset |
|
||||||
|
`-----------------------------------------------------------------'
|
||||||
|
|
||||||
|
### Layer 0: Dvorak layer
|
||||||
|
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| ] | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | [ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | ' | , | . | P | Y || F | G | C | R | L | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| CapsLk | A | O | E | U | I || D | H | T | N | S | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | X || B | M | W | V | Z | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | Ins | Left | Rght | | Up | Dn | / | = |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
### Layer 1: QWERTY layer
|
||||||
|
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | Ins | Left | Rght | | Up | Dn | [ | ] |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
### Keymap 2: Colemak layer
|
||||||
|
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Tab | Q | W | F | P | G || J | L | U | Y | ; | \ |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| BkSpc | A | R | S | T | D || H | N | E | I | O | ' |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| LShift | Z | X | C | V | B || K | M | , | . | / | RShift |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| ` | Ins | Left | Rght | | Up | Dn | [ | ] |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,--------------.,--------------.
|
||||||
|
| LCtl | LAlt || RGUI | RCtl |
|
||||||
|
,------|-------|------||------+-------+-------.
|
||||||
|
| | Del | Home || PgUp | Enter | |
|
||||||
|
| BkSp | / |------||------| / | Space |
|
||||||
|
| | Media | End || PgDn | KeyPd | |
|
||||||
|
`---------------------'`----------------------'
|
||||||
|
|
||||||
|
### layer 3 : Media layer
|
||||||
|
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| F11 | F1 | F2 | F3 | F4 | F5 || F6 | F7 | F8 | F9 | F10 | F12 |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | | | | | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | Mute | Vol- | Vol+ | | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || Stop | Prev | Play | Next | Sel | |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| | | | | | | | | |
|
||||||
|
`---------------------------' `---------------------------'
|
||||||
|
,-------------.,-------------.
|
||||||
|
| | || | |
|
||||||
|
,------|------|------||------+------+------.
|
||||||
|
| | | || | | |
|
||||||
|
| | |------||------| | |
|
||||||
|
| | | || | | |
|
||||||
|
`--------------------'`--------------------'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Keymap 4: Keypad layer
|
||||||
|
|
||||||
|
,-------------------------------------------.,-------------------------------------------.
|
||||||
|
| Power | | | | | || | NmLk | KP = | KP / | KP * | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Sleep | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| Wake | |QWERTY|Colemk|Dvorak| || | KP 4 | KP 5 | KP 6 | KP + | |
|
||||||
|
|--------+------+------+------+------+------||------+------+------+------+------+--------|
|
||||||
|
| | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
|
||||||
|
`--------+------+------+------+------+------'`------+------+------+------+------+--------'
|
||||||
|
| | | | | | | | KP . |KP Ent| |
|
||||||
|
`---------------------------' `----------------------------------'
|
||||||
|
,-------------.,-------------.
|
||||||
|
| | || | |
|
||||||
|
,------|------|------||------+------+------.
|
||||||
|
| | | || | | |
|
||||||
|
| | |------||------| | KP 0 |
|
||||||
|
| | | || | | |
|
||||||
|
`--------------------'`--------------------'
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define USE_SERIAL
|
||||||
|
|
||||||
|
#define MASTER_LEFT
|
||||||
|
// #define MASTER_RIGHT
|
||||||
|
// #define EE_HANDS
|
||||||
|
|
||||||
|
#ifdef SUBPROJECT_rev1
|
||||||
|
#include "../../rev1/config.h"
|
||||||
|
#endif
|
||||||
|
#ifdef SUBPROJECT_rev2
|
||||||
|
#include "../../rev2/config.h"
|
||||||
|
/* RGB Underglow */
|
||||||
|
#undef RGBLED_NUM
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 8
|
||||||
|
#endif
|
||||||
|
#ifdef SUBPROJECT_rev2fliphalf
|
||||||
|
#include "../../rev2fliphalf/config.h"
|
||||||
|
#endif
|
@ -0,0 +1,191 @@
|
|||||||
|
#include "lets_split.h"
|
||||||
|
#include "action_layer.h"
|
||||||
|
#include "eeconfig.h"
|
||||||
|
|
||||||
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
#define _QWERTY 0
|
||||||
|
#define _COLEMAK 1
|
||||||
|
#define _DVORAK 2
|
||||||
|
#define _LOWER 3
|
||||||
|
#define _RAISE 4
|
||||||
|
#define _ADJUST 16
|
||||||
|
|
||||||
|
enum planck_keycodes {
|
||||||
|
QWERTY = SAFE_RANGE,
|
||||||
|
COLEMAK,
|
||||||
|
DVORAK,
|
||||||
|
LOWER,
|
||||||
|
RAISE,
|
||||||
|
ADJUST
|
||||||
|
};
|
||||||
|
|
||||||
|
// Fillers to make layering more clear
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
#define XXXXXXX KC_NO
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Qwerty
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_QWERTY] = KEYMAP ( \
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
|
||||||
|
KC_ESC, 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, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Colemak
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Brite| Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Left | Down | Up |Right |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_COLEMAK] = KEYMAP ( \
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \
|
||||||
|
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
|
||||||
|
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Dvorak
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | Tab | " | , | . | P | Y | F | G | C | R | L | / |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Esc | A | O | E | U | I | D | H | T | N | S | - |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift|
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_DVORAK] = KEYMAP ( \
|
||||||
|
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, \
|
||||||
|
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, \
|
||||||
|
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, \
|
||||||
|
KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, GUI_T(KC_BSPC), KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT \
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Lower
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_LOWER] = KEYMAP ( \
|
||||||
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
|
||||||
|
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, \
|
||||||
|
_______, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Raise
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_RAISE] = KEYMAP ( \
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
|
||||||
|
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, \
|
||||||
|
_______, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______ \
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Adjust (Lower + Raise)
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | F11 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | | Reset| |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | |RGB ON| MODE | HUE+ | HUE- | SAT+ | SAT- | VAL+ | VAL- | | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | | |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_ADJUST] = KEYMAP ( \
|
||||||
|
KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 , \
|
||||||
|
_______, RESET, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \
|
||||||
|
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
|
eeconfig_update_default_layer(default_layer);
|
||||||
|
default_layer_set(default_layer);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case QWERTY:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_QWERTY);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case COLEMAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_COLEMAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case DVORAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
persistant_default_layer_set(1UL<<_DVORAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case LOWER:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case RAISE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
|
||||||
|
ifndef QUANTUM_DIR
|
||||||
|
include ../../../../Makefile
|
||||||
|
endif
|
@ -1,21 +1,19 @@
|
|||||||
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change to "no" to disable the options, or define them in the Makefile in
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
# the appropriate keymap folder that will get included automatically
|
# the appropriate keymap folder that will get included automatically
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
MIDI_ENABLE = no # MIDI controls
|
MIDI_ENABLE = no # MIDI controls
|
||||||
AUDIO_ENABLE = yes # Audio output on port C6
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
@ -0,0 +1,21 @@
|
|||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
|
||||||
|
// Number of backlight levels
|
||||||
|
#undef BACKLIGHT_LEVELS
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
/* ws2812 RGB LED */
|
||||||
|
#undef RGB_DI_PIN
|
||||||
|
#define RGB_DI_PIN B3
|
||||||
|
#undef RGBLED_NUM
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 11 // Number of LEDs
|
||||||
|
#define RGBLIGHT_HUE_STEP 10
|
||||||
|
#define RGBLIGHT_SAT_STEP 17
|
||||||
|
#define RGBLIGHT_VAL_STEP 17
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -1 +0,0 @@
|
|||||||
AUDIO_ENABLE = yes
|
|
Loading…
Reference in new issue