@ -0,0 +1,5 @@ | |||
SUBPROJECT = rev3 | |||
ifndef QUANTUM_DIR | |||
include ../../../../Makefile | |||
endif |
@ -0,0 +1,2 @@ | |||
#include "../../config.h" | |||
#define PREVENT_STUCK_MODIFIERS |
@ -0,0 +1,70 @@ | |||
#include "keymap.h" | |||
#include "quantum.h" | |||
#define QWERTY 0 | |||
#define LOWER 1 | |||
#define RAISE 2 | |||
// Alias to make layering more clear | |||
#define _______ KC_TRNS | |||
// In MacOS, switch between windows within an application | |||
#define GUI_GRV LGUI(KC_GRV) | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
/* Qwerty | |||
* ,-----------------------------------------------------------------------------------. | |||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | Ctl | A | S | D | F | G | H | J | K | L | ; | " | | |||
* |------+------+------+------+------+------|------+------+------+------+------+------| | |||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | Esc | Del | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[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}, | |||
{KC_LCTL, 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, MT(MOD_RSFT, KC_ENT) }, | |||
{KC_ESC, KC_DEL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} | |||
}, | |||
/* Lower | |||
* ,-----------------------------------------------------------------------------------. | |||
* | GUIGR| | | | | | | & | * | ( | ) | Del | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | Caps | | Mute | Vol- | Vol+ | | Bksp | $ | % | ^ | | | | | | |||
* |------+------+------+------+------+------|------+------+------+------+------+------| | |||
* | | | | | | | | ! | @ | # | \ |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | | | | | Enter | | | PgUp | PgUn | | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[LOWER] = { | |||
{GUI_GRV, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, | |||
{KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, KC_PIPE, KC_PIPE}, | |||
{_______, _______, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_BSLS, KC_ENT}, | |||
{_______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, KC_PGDN, KC_PGUP, _______} | |||
}, | |||
/* Raise | |||
* ,-----------------------------------------------------------------------------------. | |||
* | ` | ` | ~ | ( | ) | | | 7 | 8 | 9 | 0 | | | |||
* |------+------+------+------+------+-------------+------+------+------+------+------| | |||
* | | [ | ] | { | } | | | 4 | 5 | 6 | | \ | | |||
* |------+------+------+------+------+------|------+------+------+------+------+------| | |||
* | | - | _ | = | + | | | 1 | 2 | 3 | |Enter | | |||
* |------+------+------+------+------+------+------+------+------+------+------+------| | |||
* | | | | | | Enter | | | | | | | |||
* `-----------------------------------------------------------------------------------' | |||
*/ | |||
[RAISE] = { | |||
{KC_GRV, KC_GRV, KC_TILD, KC_LPRN, KC_RPRN, _______, _______, KC_7, KC_8, KC_9, KC_0, _______}, | |||
{_______, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, _______, KC_BSLS}, | |||
{_______, KC_MINS, KC_UNDS, KC_EQL, KC_PLUS, _______, _______, KC_1, KC_2, KC_3, _______, KC_ENT}, | |||
{_______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, _______, KC_PGDN, KC_PGUP, _______} | |||
} | |||
}; |
@ -0,0 +1,26 @@ | |||
## Flashing Keyboard | |||
1. Install `dfu` tools: | |||
brew tap osx-cross/avr | |||
brew install avr-libc | |||
brew install dfu-programmer | |||
2. Move to this directory. | |||
3. Hit the reset button on the keyboard. | |||
4. run `make dfu`. | |||
## The Keymap | |||
This keymap is designed for a rev3 Planck Keyboard. | |||
The default layer is QWERTY. The raise layer has a ten key on the right | |||
and common programming punctuation on the left. The lower layer provides the | |||
rest of the symbols, mostly mapped with the ten key numbers. | |||
The normal right shift key uses the `MT` macro to trigger Enter on tap and right | |||
shift when held. | |||
This keymap sets the `PREVENT_STUCK_MODIFIERS` flag to avoid the occasional WTF | |||
moments when using a modifier keys and accidentally releasing them after moving | |||
to a new layer. |
@ -1,49 +0,0 @@ | |||
#include "keymap.h" | |||
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[0] = KEYMAP( | |||
TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, | |||
LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, | |||
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, FN3, | |||
ESC, DEL, LALT, LGUI, FN2, SPC, FN1, LEFT, DOWN, UP, RGHT), | |||
[1] = KEYMAP( | |||
GRV, GRV, FN22, FN19, FN10, TRNS, TRNS, 7, 8, 9, 0, BSPC, | |||
TRNS, LBRC, RBRC, FN23, FN24, TRNS, TRNS, 4, 5, 6, TRNS, BSLS, | |||
TRNS, MINS, FN20, EQL, FN21, TRNS, TRNS, 1, 2, 3, TRNS, ENT, | |||
TRNS, TRNS, TRNS, TRNS, TRNS, SPC, FN1, TRNS, PGDN, PGUP, TRNS), | |||
[2] = KEYMAP( | |||
FN26, FN10, FN11, FN12, FN13, FN14, FN15, FN17, FN18, FN19, FN10, DEL, | |||
TRNS, TRNS, MUTE, VOLD, VOLU, TRNS, BSPC, FN14, FN15, FN16, TRNS, FN25, | |||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN11, FN12, FN13, TRNS, ENT, | |||
TRNS, TRNS, TRNS, TRNS, FN2, ENT, TRNS, TRNS, PGDN, PGUP, TRNS), | |||
}; | |||
const uint16_t PROGMEM fn_actions[] = { | |||
[1] = ACTION_LAYER_MOMENTARY(1), // Switch layer raise | |||
[2] = ACTION_LAYER_MOMENTARY(2), // Switch layer lower | |||
[3] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT), // Right shift serves as Enter on tap | |||
// Numeric shift modifiers | |||
[10] = ACTION_MODS_KEY(MOD_LSFT, KC_0), | |||
[11] = ACTION_MODS_KEY(MOD_LSFT, KC_1), | |||
[12] = ACTION_MODS_KEY(MOD_LSFT, KC_2), | |||
[13] = ACTION_MODS_KEY(MOD_LSFT, KC_3), | |||
[14] = ACTION_MODS_KEY(MOD_LSFT, KC_4), | |||
[15] = ACTION_MODS_KEY(MOD_LSFT, KC_5), | |||
[16] = ACTION_MODS_KEY(MOD_LSFT, KC_6), | |||
[17] = ACTION_MODS_KEY(MOD_LSFT, KC_7), | |||
[18] = ACTION_MODS_KEY(MOD_LSFT, KC_8), | |||
[19] = ACTION_MODS_KEY(MOD_LSFT, KC_9), | |||
// Other shift modifiers | |||
[20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // _ | |||
[21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // + | |||
[22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // ~ | |||
[23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // { | |||
[24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // } | |||
[25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // | | |||
// Switch windows in app | |||
[26] = ACTION_MODS_KEY(MOD_LGUI, KC_GRV), | |||
}; |