pull/3268/head
MakotoKurauchi 7 years ago
commit d768cfd7a9

@ -1,6 +1,6 @@
# DCompact Layout # DCompact Layout
**Dvorak, Layered, Mouse-Enabled, Compact** **Dvorak, Layered, Mouse-Enabled, Compact -- Plover coming soon!?!~**
_See [the layout source](keymap.c) for the actual layout_ _See [the layout source](keymap.c) for the actual layout_
@ -11,7 +11,7 @@ layout:
- Provide minimal travel distance when typing English or coding - Provide minimal travel distance when typing English or coding
- Consistent muscle memory translation from standard QWERTY - Consistent muscle memory translation from standard QWERTY
- Statless typing experience - Stateless typing experience
- OS-agnostic features, macros, and key placement - OS-agnostic features, macros, and key placement
- Minimize dependence on mouse usage - Minimize dependence on mouse usage
@ -34,10 +34,10 @@ merge with those in the keyboard folder_
## Relevant Links ## Relevant Links
- !(Online Dvorak Layout Trainer)[https://learn.dvorak.nl/] - ![Online Dvorak Layout Trainer](https://learn.dvorak.nl/)
- !(Dvorak Wikipedia Page)[https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard] - ![Dvorak Wikipedia Page](https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard)
- !(QMK Docs)[https://docs.qmk.fm/#/] - ![QMK Docs](https://docs.qmk.fm/#/)
- !(QMK KeyCode Reference)[https://docs.qmk.fm/#/keycodes] - ![QMK KeyCode Reference](https://docs.qmk.fm/#/keycodes)
## Contact ## Contact

@ -95,8 +95,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
}; };
# These control the color of the LED on the receiver // These control the color of the LED on the receiver
# For color reference, see ../../chimera_ortho.h // For color reference, see ../../chimera_ortho.h
void matrix_scan_user(void) { void matrix_scan_user(void) {
uint8_t layer = biton32(layer_state); uint8_t layer = biton32(layer_state);

@ -3,7 +3,7 @@
#include "quantum.h" #include "quantum.h"
#define LAYOUT_grid( \ #define LAYOUT_ortho_4x12( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
@ -15,7 +15,7 @@
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \
} }
#define LAYOUT_mit( \ #define LAYOUT_planck_mit( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
@ -27,20 +27,17 @@
{ K300, K301, K302, K303, K304, K305, K305, K307, K308, K309, K310, K311 } \ { K300, K301, K302, K303, K304, K305, K305, K307, K308, K309, K310, K311 } \
} }
#define LAYOUT_kc_grid( \ #define LAYOUT_kc_ortho_4x12( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \
) \ ) \
LAYOUT_grid( \ LAYOUT_ortho_4x12( \
KC_##K000, KC_##K001, KC_##K002, KC_##K003, KC_##K004, KC_##K005, KC_##K006, KC_##K007, KC_##K008, KC_##K009, KC_##K010, KC_##K011, \ KC_##K000, KC_##K001, KC_##K002, KC_##K003, KC_##K004, KC_##K005, KC_##K006, KC_##K007, KC_##K008, KC_##K009, KC_##K010, KC_##K011, \
KC_##K100, KC_##K101, KC_##K102, KC_##K103, KC_##K104, KC_##K105, KC_##K106, KC_##K107, KC_##K108, KC_##K109, KC_##K110, KC_##K111, \ KC_##K100, KC_##K101, KC_##K102, KC_##K103, KC_##K104, KC_##K105, KC_##K106, KC_##K107, KC_##K108, KC_##K109, KC_##K110, KC_##K111, \
KC_##K200, KC_##K201, KC_##K202, KC_##K203, KC_##K204, KC_##K205, KC_##K206, KC_##K207, KC_##K208, KC_##K209, KC_##K210, KC_##K211, \ KC_##K200, KC_##K201, KC_##K202, KC_##K203, KC_##K204, KC_##K205, KC_##K206, KC_##K207, KC_##K208, KC_##K209, KC_##K210, KC_##K211, \
KC_##K300, KC_##K301, KC_##K302, KC_##K303, KC_##K304, KC_##K305, KC_##K306, KC_##K307, KC_##K308, KC_##K309, KC_##K310, KC_##K311 \ KC_##K300, KC_##K301, KC_##K302, KC_##K303, KC_##K304, KC_##K305, KC_##K306, KC_##K307, KC_##K308, KC_##K309, KC_##K310, KC_##K311 \
) )
#define LAYOUT LAYOUT_grid
#define LAYOUT_ortho_4x12 LAYOUT_grid
#define LAYOUT_kc_ortho_4x12 LAYOUT_kc_grid
#endif #endif

@ -5,12 +5,14 @@
"width": 12, "width": 12,
"height": 4, "height": 4,
"layouts": { "layouts": {
"LAYOUT_mit": {
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}]
},
"LAYOUT_ortho_4x12": { "LAYOUT_ortho_4x12": {
"key_count": 48,
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}] "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}]
},
"LAYOUT_planck_mit": {
"key_count": 47,
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}]
} }
} }
} }

@ -14,8 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "contra.h" #include QMK_KEYBOARD_H
#include "action_layer.h"
extern keymap_config_t keymap_config; extern keymap_config_t keymap_config;
@ -47,12 +46,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = { [_QWERTY] = LAYOUT_planck_mit(
{KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, KC_GRV, 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_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, KC_ENT }, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
{KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN} KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN
}, ),
/* Colemak /* Colemak
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -65,12 +64,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down | * | Esc | Tab | Alt | GUI |Lower | Space |Raise | Left |Right | Up |Down |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_COLEMAK] = { [_COLEMAK] = LAYOUT_planck_mit(
{KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
{KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, KC_LCTL, 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_ENT }, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
{KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN} KC_ESC, KC_TAB, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN
}, ),
/* Lower /* Lower
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -83,12 +82,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play | * | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_LOWER] = { [_LOWER] = LAYOUT_planck_mit(
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, KC_DEL, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______}, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
}, ),
/* Raise /* Raise
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -101,12 +100,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play | * | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_RAISE] = { [_RAISE] = LAYOUT_planck_mit(
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, KC_DEL, 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_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______}, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
}, ),
/* Adjust (Lower + Raise) /* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -119,13 +118,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | | * | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_ADJUST] = { [_ADJUST] = LAYOUT_planck_mit(
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL }, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
{_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______}, _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
} )
}; };

@ -1,9 +1,7 @@
// This is the canonical layout file for the Quantum project. If you want to add another keyboard, // This is the canonical layout file for the Quantum project. If you want to add another keyboard,
// this is the style you want to emulate. // this is the style you want to emulate.
#include "contra.h" #include QMK_KEYBOARD_H
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config; extern keymap_config_t keymap_config;
@ -24,12 +22,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | Cmd |Lower | Space |Raise | Enter| Cmd | Alt |Ctrl | * | Brite| Ctrl | Alt | Cmd |Lower | Space |Raise | Enter| Cmd | Alt |Ctrl |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[0] = { [0] = LAYOUT_ortho_4x12(
{ MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4 }, MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4,
{ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3 }, MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3,
{ MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 }, MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2,
{ MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1 } MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1
} )
}; };

@ -14,8 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "contra.h" #include QMK_KEYBOARD_H
#include "action_layer.h"
extern keymap_config_t keymap_config; extern keymap_config_t keymap_config;
@ -53,12 +52,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = { [_QWERTY] = LAYOUT_planck_mit(
{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_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_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_ENT }, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
}, ),
/* Colemak /* Colemak
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -71,12 +70,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_COLEMAK] = { [_COLEMAK] = LAYOUT_planck_mit(
{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_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_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_ENT }, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
}, ),
/* Dvorak /* Dvorak
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -89,12 +88,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_DVORAK] = { [_DVORAK] = LAYOUT_planck_mit(
{KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, 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_BSPC,
{KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, 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_SLSH,
{KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT }, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
}, ),
/* Lower /* Lower
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -107,12 +106,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play | * | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_LOWER] = { [_LOWER] = LAYOUT_planck_mit(
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, KC_DEL, 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, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______}, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
}, ),
/* Raise /* Raise
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -125,12 +124,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | Next | Vol- | Vol+ | Play | * | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_RAISE] = { [_RAISE] = LAYOUT_planck_mit(
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, KC_DEL, 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_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______}, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
}, ),
/* Plover layer (http://opensteno.org) /* Plover layer (http://opensteno.org)
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -144,12 +143,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_PLOVER] = { [_PLOVER] = LAYOUT_planck_mit(
{KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
{XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
{XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
{EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
}, ),
/* Adjust (Lower + Raise) /* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -162,16 +161,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | | * | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_ADJUST] = { [_ADJUST] = LAYOUT_planck_mit(
{_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL }, _______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
{_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
{_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______}, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
} )
}; };
#ifdef AUDIO_ENABLE #ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND); float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);

@ -50,6 +50,7 @@ enum {
}; };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty /* Qwerty
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
@ -61,12 +62,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | GUI | Alt | \| | L1 | | | L2 | Left | Down | Up |Right | * | Ctrl | GUI | Alt | \| | L1 | | | L2 | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = { [_QWERTY] = LAYOUT_ortho_4x12(
{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_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, COLON, QUOTE}, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE,
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
{KC_LCTL, KC_LGUI, KC_LALT, KC_NONUS_BSLASH, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
}, ),
/* QwertyMAC /* QwertyMAC
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -79,12 +80,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | Alt | GUI | \| | L1 | | | L2 | Left | Down | Up |Right | * | Ctrl | Alt | GUI | \| | L1 | | | L2 | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTYMAC] = { [_QWERTYMAC] = LAYOUT_ortho_4x12(
{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_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, COLON, QUOTE}, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, COLON, QUOTE,
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT}, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
{KC_LCTL, KC_LALT, KC_LGUI, KC_NONUS_BSLASH, MO(_L1), XXXXXXX,KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} KC_LCTL, KC_LALT, KC_LGUI, KC_NUBS, MO(_L1), XXXXXXX, KC_SPC, MO(_L2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
}, ),
/* L1 /* L1
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -97,12 +98,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | GUI | Alt | #~ | | | | | 0) | .> | | MENU | * | Ctrl | GUI | Alt | #~ | | | | | 0) | .> | | MENU |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_L1] = { [_L1] = LAYOUT_ortho_4x12(
{KC_GRV, KC_INSERT, KC_PGUP, KC_HOME, ANGUL, XXXXXXX, PARAN, KC_7, KC_8, KC_9, XXXXXXX, KC_BSPC}, KC_GRV, KC_INS, KC_PGUP, KC_HOME, ANGUL, XXXXXXX, PARAN, KC_7, KC_8, KC_9, XXXXXXX, KC_BSPC,
{XXXXXXX, KC_DELETE, KC_PGDOWN, KC_END, SQUAR, CURLY, KC_EQL, KC_4, KC_5, KC_6, S(KC_8), TG(_QWERTYMAC)}, XXXXXXX, KC_DEL, KC_PGDN, KC_END, SQUAR, CURLY, KC_EQL, KC_4, KC_5, KC_6, S(KC_8), TG(_QWERTYMAC),
{_______, KC_PSCREEN, XXXXXXX, CADCAE, MO(_L3), LCKSCR, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, KC_ENT}, _______, KC_PSCR, XXXXXXX, CADCAE, MO(_L3), LCKSCR, KC_MINS, KC_1, KC_2, KC_3, KC_SLSH, KC_ENT,
{_______, _______, _______, KC_NUHS, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_0, ALGR_T(KC_DOT), XXXXXXX, KC_MENU} _______, _______, _______, KC_NUHS, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_0, ALGR_T(KC_DOT), XXXXXXX, KC_MENU
}, ),
/* L2 /* L2
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -115,12 +116,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | GUI | Alt | | | | | | 0 | . | - | | * | Ctrl | GUI | Alt | | | | | | 0 | . | - | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_L2] = { [_L2] = LAYOUT_ortho_4x12(
{KC_SYSREQ, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_NUMLOCK, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_BSPC}, KC_SYSREQ, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC,
{XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH, _______}, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PSLS, _______,
{XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, KC_KP_ENTER}, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PENT,
{_______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_KP_0, KC_KP_DOT, KC_KP_MINUS, _______} _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, KC_P0, KC_PDOT, KC_PMNS, _______
}, ),
/* L3 /* L3
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -133,12 +134,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_L3] = { [_L3] = LAYOUT_ortho_4x12(
{XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDOWN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX}, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX,
{XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX}, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
{TMUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT}, TMUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ENT,
{XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
} )
}; };

@ -3,7 +3,7 @@ CONTRA
![CONTRA](https://cartel.ltd/wp-content/uploads/2018/01/img_3209.jpg) ![CONTRA](https://cartel.ltd/wp-content/uploads/2018/01/img_3209.jpg)
A 40% keyboard by A 40% keyboard by [CARTEL](https://cartel.ltd/)
Keyboard Maintainer: The QMK Community Keyboard Maintainer: The QMK Community
Hardware Supported: CONTRA Hardware Supported: CONTRA

@ -57,5 +57,5 @@ 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
AUDIO_ENABLE = no # Audio output on port C6 AUDIO_ENABLE = no # Audio output on port C6
LAYOUTS = ortho_4x12 planck_mit planck_grid LAYOUTS = planck_mit ortho_4x12
LAYOUTS_HAS_RGB = no LAYOUTS_HAS_RGB = no

@ -5,6 +5,7 @@
// Corresponding changes to the layout names and/or definitions must also be made to info.json // Corresponding changes to the layout names and/or definitions must also be made to info.json
// 标准配列 // 标准配列
#define LAYOUT( \ #define LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
@ -119,4 +120,18 @@
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414 } \ { K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414 } \
} }
#define LAYOUT_ISO( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K213, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
K400, K401, K403, K406, K410, K411, K412, K413, K414 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO }, \
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, K414 } \
}
#endif #endif

@ -35,6 +35,9 @@
"LAYOUT_directional_625_space": { "LAYOUT_directional_625_space": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":2}, {"label":"K301", "x":2, "y":3}, {"label":"K302", "x":3, "y":3}, {"label":"K303", "x":4, "y":3}, {"label":"K304", "x":5, "y":3}, {"label":"K305", "x":6, "y":3}, {"label":"K306", "x":7, "y":3}, {"label":"K307", "x":8, "y":3}, {"label":"K308", "x":9, "y":3}, {"label":"K309", "x":10, "y":3}, {"label":"K310", "x":11, "y":3}, {"label":"K312", "x":12, "y":3}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K406", "x":3.75, "y":4, "w":6.25}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":2}, {"label":"K301", "x":2, "y":3}, {"label":"K302", "x":3, "y":3}, {"label":"K303", "x":4, "y":3}, {"label":"K304", "x":5, "y":3}, {"label":"K305", "x":6, "y":3}, {"label":"K306", "x":7, "y":3}, {"label":"K307", "x":8, "y":3}, {"label":"K308", "x":9, "y":3}, {"label":"K309", "x":10, "y":3}, {"label":"K310", "x":11, "y":3}, {"label":"K312", "x":12, "y":3}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K406", "x":3.75, "y":4, "w":6.25}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}]
},
"LAYOUT_ISO": {
"layout": [{"label":"Esc", "x":0, "y":0},{"label":"!", "x":1, "y":0},{"label":"@", "x":2, "y":0},{"label":"#", "x":3, "y":0},{"label":"$", "x":4, "y":0},{"label":"%", "x":5, "y":0},{"label":"^", "x":6, "y":0},{"label":"&", "x":7, "y":0},{"label":"*", "x":8, "y":0},{"label":"(", "x":9, "y":0},{"label":")", "x":10, "y":0},{"label":"_", "x":11, "y":0},{"label":"+", "x":12, "y":0},{"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5},{"label":"Q", "x":1.5, "y":1},{"label":"W", "x":2.5, "y":1},{"label":"E", "x":3.5, "y":1},{"label":"R", "x":4.5, "y":1},{"label":"T", "x":5.5, "y":1},{"label":"Y", "x":6.5, "y":1},{"label":"U", "x":7.5, "y":1},{"label":"I", "x":8.5, "y":1},{"label":"O", "x":9.5, "y":1},{"label":"P", "x":10.5, "y":1},{"label":"{", "x":11.5, "y":1},{"label":"}", "x":12.5, "y":1},{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75},{"label":"A", "x":1.75, "y":2},{"label":"S", "x":2.75, "y":2},{"label":"D", "x":3.75, "y":2},{"label":"F", "x":4.75, "y":2},{"label":"G", "x":5.75, "y":2},{"label":"H", "x":6.75, "y":2},{"label":"J", "x":7.75, "y":2},{"label":"K", "x":8.75, "y":2},{"label":"L", "x":9.75, "y":2},{"label":":", "x":10.75, "y":2},{"label":"\"", "x":11.75, "y":2},{"label":"|", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25},{"label":"~", "x":1.25, "y":3},{"label":"Z", "x":2.25, "y":3},{"label":"X", "x":3.25, "y":3},{"label":"C", "x":4.25, "y":3},{"label":"V", "x":5.25, "y":3},{"label":"B", "x":6.25, "y":3},{"label":"N", "x":7.25, "y":3},{"label":"M", "x":8.25, "y":3},{"label":"<", "x":9.25, "y":3},{"label":">", "x":10.25, "y":3},{"label":"/"", "x":11.25, "y":3},{"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25},{"label":"Win", "x":1.25, "y":4, "w":1.25},{"label":"Alt", "x":2.5, "y":4, "w":1.25},{"x":3.75, "y":4, "w":6.25},{"label":"Fn", "x":10, "y":4},{"x":11, "y":4},{"x":12, "y":4},{"x":13, "y":4},{"x":14, "y":4}]
} }
} }
} }

@ -0,0 +1,70 @@
#include QMK_KEYBOARD_H
#define ____ KC_TRNS
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
#define FL_ESC LT(_FL, KC_ESC)
#define FL MO(_FL)
enum layers_idx {
_BL, // Base Layer
_ML, // Mac Modifiers (Switched around LGUI, LALT, LCTL)
_FL // Functions
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_ISO(
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_ENT,
FL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
KC_LSFT, KC_GRV, 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_LGUI, KC_LALT, KC_SPC, FL, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
[_ML] = LAYOUT_ISO(
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
KC_LGUI, KC_LALT, KC_LCTL, ____, ____, ____, ____, ____, ____
),
[_FL] = LAYOUT_ISO(
RESET, 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,
____, ____, DF(_BL), DF(_ML), ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ____, ____, ____,
____, F(3), F(2), F(1), F(0), ____, ____, ____, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, ____,
____, ____, ____, ____, ____, ____, ____, ____, ____
)
};
enum function_id {
RGB_VAZ,
RGB_OAZ,
RGB_WAN,
RGB_000
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_FUNCTION(RGB_VAZ),
[1] = ACTION_FUNCTION(RGB_OAZ),
[2] = ACTION_FUNCTION(RGB_WAN),
[3] = ACTION_FUNCTION(RGB_000)
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
switch (id) {
case RGB_VAZ:
rgblight_enable();
rgblight_setrgb(0, 204, 33);
break;
case RGB_OAZ:
rgblight_enable();
rgblight_setrgb(229, 65, 0);
break;
case RGB_WAN:
rgblight_enable();
rgblight_setrgb(255, 255, 255);
break;
case RGB_000:
rgblight_disable();
break;
}
}

@ -0,0 +1,8 @@
# JKBONE - ISO dz70
Split left shift, vim arrow keys & ISO setup. Keymap based on Macbooks with ISO uk/english international keyboard layouts.
[![JKBONE](https://i.imgur.com/FWP4IIi.png)](http://www.keyboard-layout-editor.com/#/gists/17b5b4c1248a66947575181ff98cb562)
[![Apple English International Layout](https://i.imgur.com/GxVqALg.png)](https://support.apple.com/en-us/HT201794)

@ -0,0 +1,2 @@
BACKLIGHT_ENABLE = no
MOUSEKEY_ENABLE = no

@ -0,0 +1,43 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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/>.
*/
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
#include "../../config.h"
/* Use I2C or Serial, not both */
#define USE_SERIAL
// #define USE_I2C
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
// Underglow
#undef RGBLED_NUM
#define RGBLED_NUM 14 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_SLEEP
#endif

@ -0,0 +1,155 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
#define BASE 0
#define META 1
#define SYMB 2
#define GAME 3
#define RGB 4
// Fillers to make layering more clear
#define _______ KC_TRNS
#define XXXXXXX KC_NO
#ifdef RGBLIGHT_ENABLE
//Following line allows macro to read current RGB settings
extern rgblight_config_t rgblight_config;
#endif
enum custom_keycodes {
RGB_RST = SAFE_RANGE,
TAP_ANIM
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* BASE
* ,------------------------------------------------. ,------------------------------------------------.
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ |
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
* | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>RGB | \ |
* | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | |
* `------------------------------------------------' `------------------------------------------------'
*/
[BASE] = LAYOUT( \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \
KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \
KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(RGB), KC_JYEN \
),
/* META
* ,------------------------------------------------. ,------------------------------------------------.
* | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ |
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
* | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>RGB | \ |
* | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | |
* `------------------------------------------------' `------------------------------------------------'
*/
[META] = LAYOUT( \
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_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \
_______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \
),
/* SYMB
* ,------------------------------------------------. ,------------------------------------------------.
* | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ |
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | Alt | | | | | | ( | | ) | | | | | + | * |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
* | Sft | | | | | | { | | } | | | < | > | ? | \ |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>RGB | \ |
* | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | |
* `------------------------------------------------' `------------------------------------------------'
*/
[SYMB] = LAYOUT( \
S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), _______, _______, S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS), S(KC_EQL), \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_RO), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/* GAME
* ,------------------------------------------------. ,------------------------------------------------.
* | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ |
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
* | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>RGB | \ |
* | | | | | | | | |Space | | | | | | |
* `------------------------------------------------' `------------------------------------------------'
*/
[GAME] = LAYOUT( \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \
KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \
KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \
),
/* RGB
* ,------------------------------------------------. ,------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------| |-------------+------+------+------+------+------|
* | | | | | | | | | | TOG | HUI | SAI | VAI |HUANIM| |
* |------+------+------+------+------+------+------| |------|------+------+------+------+------+------|
* | | | | | | | | | | MOD | HUD | SAD | VAD |RESET | |
* |------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
* | | | | | | | | | | | | | |=>RGB | |
* `------------------------------------------------' `------------------------------------------------'
*/
[RGB] = LAYOUT( \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, TAP_ANIM,XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_RST, XXXXXXX, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX \
)
};
bool isTapAnim = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case RGB_MOD:
if (record->event.pressed) {
isTapAnim = false;
}
break;
case RGB_RST:
#ifdef RGBLIGHT_ENABLE
if (record->event.pressed) {
eeconfig_update_rgblight_default();
rgblight_enable();
}
#endif
break;
case TAP_ANIM:
if (record->event.pressed) {
isTapAnim = !isTapAnim;
}
break;
}
if (isTapAnim) {
rgblight_mode_noeeprom(1);
uint16_t hue = (rgblight_config.hue + 5) % 360;
rgblight_sethsv_noeeprom(hue, rgblight_config.sat, rgblight_config.val);
}
return true;
}

@ -0,0 +1,5 @@
ifndef QUANTUM_DIR
include ../../../../Makefile
endif
RGBLIGHT_ENABLE = yes

@ -24,6 +24,4 @@
KC_##LT0, KC_##LT1, KC_##LT2, KC_##LT3, KC_##LT4, KC_##LT5, KC_##RT0, KC_##RT1, KC_##RT2, KC_##RT3, KC_##RT4, KC_##RT5 \ KC_##LT0, KC_##LT1, KC_##LT2, KC_##LT3, KC_##LT4, KC_##LT5, KC_##RT0, KC_##RT1, KC_##RT2, KC_##RT3, KC_##RT4, KC_##RT5 \
) )
#define KC_LAYOUT_ortho_5x14 KC_KEYMAP
#endif #endif

@ -0,0 +1,13 @@
{
"keyboard_name": "ErgoDash",
"url": "",
"maintainer": "qmk",
"width": 16,
"height": 6.25,
"layouts": {
"LAYOUT": {
"key_count": 68,
"layout": [{"label":"L00", "x":0, "y":0.375}, {"label":"L01", "x":1, "y":0.375}, {"label":"L02", "x":2, "y":0.125}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"L06", "x":6, "y":0.75}, {"label":"R00", "x":9, "y":0.75}, {"label":"R01", "x":10, "y":0.25}, {"label":"R02", "x":11, "y":0.125}, {"label":"R03", "x":12, "y":0}, {"label":"R04", "x":13, "y":0.125}, {"label":"R05", "x":14, "y":0.375}, {"label":"R06", "x":15, "y":0.375}, {"label":"L10", "x":0, "y":1.375}, {"label":"L11", "x":1, "y":1.375}, {"label":"L12", "x":2, "y":1.125}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"L16", "x":6, "y":1.75}, {"label":"R10", "x":9, "y":1.75}, {"label":"R11", "x":10, "y":1.25}, {"label":"R12", "x":11, "y":1.125}, {"label":"R13", "x":12, "y":1}, {"label":"R14", "x":13, "y":1.125}, {"label":"R15", "x":14, "y":1.375}, {"label":"R16", "x":15, "y":1.375}, {"label":"L20", "x":0, "y":2.375}, {"label":"L21", "x":1, "y":2.375}, {"label":"L22", "x":2, "y":2.125}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"L26", "x":6, "y":2.75}, {"label":"R20", "x":9, "y":2.75}, {"label":"R21", "x":10, "y":2.25}, {"label":"R22", "x":11, "y":2.125}, {"label":"R23", "x":12, "y":2}, {"label":"R24", "x":13, "y":2.125}, {"label":"R25", "x":14, "y":2.375}, {"label":"R26", "x":15, "y":2.375}, {"label":"L30", "x":0, "y":3.375}, {"label":"L31", "x":1, "y":3.375}, {"label":"L32", "x":2, "y":3.125}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3.125}, {"label":"L35", "x":5, "y":3.25}, {"label":"L36", "x":6.5, "y":4.25}, {"label":"R30", "x":8.5, "y":4.25}, {"label":"R31", "x":10, "y":3.25}, {"label":"R32", "x":11, "y":3.125}, {"label":"R33", "x":12, "y":3}, {"label":"R34", "x":13, "y":3.125}, {"label":"R35", "x":14, "y":3.375}, {"label":"R36", "x":15, "y":3.375}, {"label":"LT0", "x":0, "y":4.375}, {"label":"LT1", "x":1, "y":4.375}, {"label":"LT2", "x":2, "y":4.125}, {"label":"LT3", "x":3, "y":4}, {"label":"LT4", "x":5.5, "y":5.25}, {"label":"LT5", "x":6.5, "y":5.25}, {"label":"RT0", "x":8.5, "y":5.25}, {"label":"RT1", "x":9.5, "y":5.25}, {"label":"RT2", "x":12, "y":4}, {"label":"RT3", "x":13, "y":4.125}, {"label":"RT4", "x":14, "y":4.375}, {"label":"RT5", "x":15, "y":4.375}]
}
}
}

@ -17,12 +17,8 @@ enum custom_keycodes {
}; };
// Fillers to make layering more clear // Fillers to make layering more clear
#define KC_ KC_TRNS
#define _______ KC_TRNS #define _______ KC_TRNS
#define XXXXXXX KC_NO #define XXXXXXX KC_NO
#define KC_AJST ADJUST
#define KC_LOWR LOWER
#define KC_RASE RAISE
#define KC_JPN LALT(KC_GRV) #define KC_JPN LALT(KC_GRV)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -45,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \ KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL , KC_BSPC, 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_JPN , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_JPN , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, KC_AJST, KC_LOWR, KC_SPC , KC_ENT , KC_RASE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC , KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
), ),
/* Lower /* Lower
@ -54,9 +50,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | ~ | ! | @ | # | $ | % | _ | + | ^ | & | * | ( | ) | | | * | ~ | ! | @ | # | $ | % | _ | + | ^ | & | * | ( | ) | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | A | S | D | F | G | Del | Bksp | H | J | K | L | : | " | * | Tab | 1 | 2 | 3 | 4 | 5 | Del | Bksp | H | J | K | L | : | " |
* |------+------+------+------+------+------+-------------+------+------+------+------+------+------| * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | JPN | Enter| N | M | < | > | ? | Shift| * | Shift| 6 | 7 | 8 | 9 | 0 | JPN | Enter| N | M | < | > | ? | Shift|
* `-------------+------+------+------+------+------+------+------+------+------+------+-------------' * `-------------+------+------+------+------+------+------+------+------+------+------+-------------'
* | Ctrl | GUI | ALt |Adjust| |Lower | Space |Enter |Raise| | Home |PageDn|PageUp| End | * | Ctrl | GUI | ALt |Adjust| |Lower | Space |Enter |Raise| | Home |PageDn|PageUp| End |
* ,-------------------------------------------------------------------------------------------------. * ,-------------------------------------------------------------------------------------------------.
@ -66,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \ KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, KC_AJST, KC_LOWR, KC_SPC , KC_ENT , KC_RASE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \ KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC , KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
), ),
/* Raise /* Raise
@ -75,9 +71,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | ~ | ! | @ | # | $ | % | _ | + | ^ | & | * | ( | ) | | | * | ~ | ! | @ | # | $ | % | _ | + | ^ | & | * | ( | ) | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | A | S | D | F | G | Del | Bksp | H | J | K | L | : | " | * | Tab | 1 | 2 | 3 | 4 | 5 | Del | Bksp | H | J | K | L | : | " |
* |------+------+------+------+------+------+-------------+------+------+------+------+------+------| * |------+------+------+------+------+------+-------------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | JPN | Enter| N | M | < | > | ? | Shift| * | Shift| 6 | 7 | 8 | 9 | 0 | JPN | Enter| N | M | < | > | ? | Shift|
* `-------------+------+------+------+------+------+------+------+------+------+------+-------------' * `-------------+------+------+------+------+------+------+------+------+------+------+-------------'
* | Ctrl | GUI | ALt |Adjust| |Lower | Space |Enter |Raise| | Home |PageDn|PageUp| End | * | Ctrl | GUI | ALt |Adjust| |Lower | Space |Enter |Raise| | Home |PageDn|PageUp| End |
* ,-------------------------------------------------------------------------------------------------. * ,-------------------------------------------------------------------------------------------------.
@ -87,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \ KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \ KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_JPN , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, KC_AJST, KC_LOWR, KC_SPC , KC_ENT , KC_RASE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \ KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC , KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
), ),
/* Adjust /* Adjust

@ -54,7 +54,7 @@
{ L10, L11, L12, L13, L14, L15, L16 }, \ { L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \ { L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \ { L30, L31, L32, L33, L34, L35, L36 }, \
{ LT0, LT1, LT2, LT3, LT4, LT, KC_NO}, \ { LT0, LT1, LT2, LT3, LT4, LT5, KC_NO }, \
{ R00, R01, R02, R03, R04, R05, R06 }, \ { R00, R01, R02, R03, R04, R05, R06 }, \
{ R10, R11, R12, R13, R14, R15, R16 }, \ { R10, R11, R12, R13, R14, R15, R16 }, \
{ R20, R21, R22, R23, R24, R25, R26 }, \ { R20, R21, R22, R23, R24, R25, R26 }, \

@ -72,6 +72,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes CUSTOM_MATRIX = yes
LAYOUTS = ortho_5x14
DEFAULT_FOLDER = ergodash/rev1 DEFAULT_FOLDER = ergodash/rev1

@ -5,7 +5,7 @@
"width": 4, "width": 4,
"height": 5, "height": 5,
"layouts": { "layouts": {
"LAYOUT": { "LAYOUT_ortho_5x4": {
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K200", "x":0, "y":2}, {"label":"K201", "x":1, "y":2}, {"label":"K202", "x":2, "y":2}, {"label":"K203", "x":3, "y":2}, {"label":"K300", "x":0, "y":3}, {"label":"K301", "x":1, "y":3}, {"label":"K302", "x":2, "y":3}, {"label":"K303", "x":3, "y":3}, {"label":"K400", "x":0, "y":4}, {"label":"K401", "x":1, "y":4}, {"label":"K402", "x":2, "y":4}, {"label":"K403", "x":3, "y":4}] "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K200", "x":0, "y":2}, {"label":"K201", "x":1, "y":2}, {"label":"K202", "x":2, "y":2}, {"label":"K203", "x":3, "y":2}, {"label":"K300", "x":0, "y":3}, {"label":"K301", "x":1, "y":3}, {"label":"K302", "x":2, "y":3}, {"label":"K303", "x":3, "y":3}, {"label":"K400", "x":0, "y":4}, {"label":"K401", "x":1, "y":4}, {"label":"K402", "x":2, "y":4}, {"label":"K403", "x":3, "y":4}]
} }
} }

@ -5,7 +5,6 @@
#define SOLENOID_ENABLE #define SOLENOID_ENABLE
#define SOLENOID_PIN F6 #define SOLENOID_PIN F6
#undef SOLENOID_ACTIVE
#define SOLENOID_ACTIVE true #define SOLENOID_ACTIVE true
#endif #endif

@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
#define SOLENOID_ENABLE //#define SOLENOID_ENABLE
#define SOLENOID_PIN C6 //#define SOLENOID_PIN C6
/* Use I2C or Serial, not both */ /* Use I2C or Serial, not both */
@ -32,6 +32,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MASTER_LEFT #define MASTER_LEFT
// #define AUDIO_CLICKY
// #define AUDIO_CLICKY_ON
// #define C6_AUDIO
// #define AUDIO_CLICKY_FREQ_RANDOMNESS 0.1f
// #define AUDIO_CLICKY_FREQ_MAX 100.0f
// #define MASTER_RIGHT // #define MASTER_RIGHT
// #define EE_HANDS // #define EE_HANDS

@ -1,6 +1,6 @@
RGBLIGHT_ENABLE = no RGBLIGHT_ENABLE = no
BACKLIGHT_ENABLE = no BACKLIGHT_ENABLE = no
#AUDIO_ENABLE = yes
ifndef QUANTUM_DIR ifndef QUANTUM_DIR
include ../../../../Makefile include ../../../../Makefile
endif endif

@ -26,14 +26,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SOLENOID_ENABLE #define SOLENOID_ENABLE
#define SOLENOID_PIN F4 #define SOLENOID_PIN F4
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8
/* Use I2C or Serial, not both */ /* Use I2C or Serial, not both */
// #define USE_SERIAL #define USE_SERIAL
#define USE_I2C // #define USE_I2C
/* Select hand configuration */ /* Select hand configuration */
// #define MASTER_LEFT #define MASTER_LEFT
// #define _MASTER_RIGHT // #define _MASTER_RIGHT
#define EE_HANDS // #define EE_HANDS
#endif #endif

@ -3,79 +3,53 @@
extern keymap_config_t keymap_config; extern keymap_config_t keymap_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty [_QWERTY] = LAYOUT_kc(
* ,-----------------------------------------. ,-----------------------------------------. // ,-----------------------------. .-----------------------------.
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | TAB, Q , W , E , R , T , Y , U , I , O , P ,BSPC,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |Esc/~ | A | S | D | F | G | | H | J | K | L | ; | '/" | EXC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | LSFT, Z , X , C , V , B , N , M ,COMM, DOT,SLSH, ENT,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | Left | Up | Down |Right | LOWR,LCTL,LALT,LGUI,LOWR, SPC, SPC,RASE,LEFT,DOWN, UP ,RGHT
* `-----------------------------------------' '-----------------------------------------' // '-----------------------------' '-----------------------------'
*/
[_QWERTY] = LAYOUT( \
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_EXC, 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_ENT , \
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT \
), ),
/* Lower [_LOWER] = LAYOUT_kc(
* ,-----------------------------------------. ,-----------------------------------------. // ,-----------------------------. .-----------------------------.
* | ~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | TILD, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , DEL,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* | | | [ | ] | { | } | | | 4 | 5 | 6 | * | \ | xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,LBRC,RBRC,BSLS,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |Shift | | | copy |insert| | | | 1 | 2 | 3 | + | - | ,UNDO, CUT,XCPY,XINS,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx, ,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | 0 | . | = | _ | , , , , , , , , , , ,
* `-----------------------------------------' '-----------------------------------------' // '-----------------------------' '-----------------------------'
*/
[_LOWER] = LAYOUT( \
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, XXXXXXX, KC_4, KC_5, KC_6, KC_ASTR, KC_BSLS, \
_______, XXXXXXX, XXXXXXX, KC_XCPY, KC_XINS, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_PLUS, KC_MINS, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_EQL, KC_UNDS \
), ),
[_RAISE] = LAYOUT_kc(
/* Raise // ,-----------------------------. .-----------------------------.
* ,-----------------------------------------. ,-----------------------------------------. GRV,EXLM, AT ,HASH, DLR,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, ,
* | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bksp | // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |------+------+------+------+------+------| |------+------+------+------+------+------| xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, MINS, EQL,xxxx,LCBR,RCBR,PIPE,
* | | | | | | | | | | | | \ | | | // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |------+------+------+------+------+------| |------+------+------+------+------+------| ,xxxx,xxxx,xxxx,xxxx,xxxx, UNDS,PLUS,xxxx,xxxx,xxxx, ,
* |Shift | | | | | | | | | | | | | // |----+----+----+----+----+----| |----+----+----+----+----+----|
* |------+------+------+------+------+------| |------+------+------+------+------+------| , , , , , , , ,MNXT,VOLD,VOLU,MPLY
* |Adjust| Ctrl | Alt | GUI |Lower |Space | |Space |Raise | Next | Vol- | Vol+ | Play | // '-----------------------------' '-----------------------------'
* `-----------------------------------------' '-----------------------------------------'
*/
[_RAISE] = LAYOUT( \
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PIPE,\
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
), ),
/* Adjust (Lower + Raise) [_ADJUST] = LAYOUT_kc( \
* ,-----------------------------------------. ,-----------------------------------------. // ,-----------------------------. .-----------------------------.
* | | Reset| | | | | | ROOT | PPLY | PSEF | | | Del | xxxx,ROOT,PPLY,PSEF,xxxx,xxxx, RST,STOG,xxxx,xxxx,xxxx, DEL,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* | | | |Aud on|Audoff| | | F1 | F2 | F3 | F4 | F5 | F6 | RGB,RHUI,RSAI,RVAI, MOD,xxxx, F1 , F2 , F3 , F4 , F5 , F6 ,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* | | UNDO | CUT | COPY |PASTE | | | F7 | F8 | F9 | F10 | F11 | F12 | RBTH,RHUD,RSAD,RVAD,RMOD,xxxx, F7 , F8 , F9 , F10, F11, F12,
* |------+------+------+------+------+------| |------+------+------+------+------+------| // |----+----+----+----+----+----| |----+----+----+----+----+----|
* | | | | | | | | | | Home | | | End | ,xxxx,xxxx,xxxx, ,xxxx, xxxx, ,xxxx,xxxx,xxxx,xxxx
* `-----------------------------------------' '-----------------------------------------' // '-----------------------------' '-----------------------------'
*/
[_ADJUST] = LAYOUT( \
KC_STOG, KC_ROOT, KC_PPLY, KC_PSEF, _______, _______, RESET, _______, _______, _______, _______, KC_DEL, \
_______, _______, _______, AU_ON, AU_OFF, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \
_______, KC_UNDO, KC_CUT, KC_XCPY, KC_XINS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, _______, KC_END \
) )
}; };

@ -1,3 +1,5 @@
ifndef QUANTUM_DIR ifndef QUANTUM_DIR
include ../../../../Makefile include ../../../../Makefile
endif endif
RGBLIGHT_ENABLE = yes

@ -0,0 +1,13 @@
{
"keyboard_name": "Mini1800",
"url": "",
"maintainer": "qmk",
"bootloader": "",
"width": 19.5,
"height": 5.25,
"layouts": {
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back Space", "x":13, "y":0, "w":2}, {"label":"Num Lock", "x":15.5, "y":0}, {"label":"/", "x":16.5, "y":0}, {"label":"*", "x":17.5, "y":0}, {"label":"-", "x":18.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"7", "x":15.5, "y":1}, {"label":"8", "x":16.5, "y":1}, {"label":"9", "x":17.5, "y":1}, {"label":"+", "x":18.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":15.5, "y":2}, {"label":"5", "x":16.5, "y":2}, {"label":"6", "x":17.5, "y":2}, {"label":"+", "x":18.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"1", "x":15.5, "y":3}, {"label":"2", "x":16.5, "y":3}, {"label":"3", "x":17.5, "y":3}, {"label":"Enter", "x":18.5, "y":3, "h":2}, {"label":"\u2191", "x":14.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"0", "x":16.5, "y":4}, {"label":".", "x":17.5, "y":4}, {"label":"\u2190", "x":13.25, "y":4.25}, {"label":"\u2193", "x":14.25, "y":4.25}, {"label":"\u2192", "x":15.25, "y":4.25}]
}
}
}

@ -1,6 +1,6 @@
# DCompact Layout # DCompact Layout
**Dvorak, Layered, Mouse-Enabled, Compact** **Dvorak, Layered, Mouse-Enabled, Compact -- now with Plover~**
_See [the layout source](keymap.c) for the actual layout_ _See [the layout source](keymap.c) for the actual layout_
@ -11,7 +11,7 @@ layout:
- Provide minimal travel distance when typing English or coding - Provide minimal travel distance when typing English or coding
- Consistent muscle memory translation from standard QWERTY - Consistent muscle memory translation from standard QWERTY
- Statless typing experience - Stateless typing experience
- OS-agnostic features, macros, and key placement - OS-agnostic features, macros, and key placement
- Minimize dependence on mouse usage - Minimize dependence on mouse usage
@ -34,10 +34,10 @@ merge with those in the keyboard folder_
## Relevant Links ## Relevant Links
- !(Online Dvorak Layout Trainer)[https://learn.dvorak.nl/] - ![Online Dvorak Layout Trainer](https://learn.dvorak.nl/)
- !(Dvorak Wikipedia Page)[https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard] - ![Dvorak Wikipedia Page](https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard)
- !(QMK Docs)[https://docs.qmk.fm/#/] - ![QMK Docs](https://docs.qmk.fm/#/)
- !(QMK KeyCode Reference)[https://docs.qmk.fm/#/keycodes] - ![QMK KeyCode Reference](https://docs.qmk.fm/#/keycodes)
## Contact ## Contact

@ -16,6 +16,7 @@
#include "planck.h" #include "planck.h"
#include "action_layer.h" #include "action_layer.h"
#include "keymap_steno.h"
// Custom Keycodes and Combinations Used // Custom Keycodes and Combinations Used
#define DEL_SHF SFT_T(KC_DEL) #define DEL_SHF SFT_T(KC_DEL)
@ -33,17 +34,20 @@ enum planck_layers {
_LOWER, _LOWER,
_RAISE, _RAISE,
_FUNC, _FUNC,
_MOUSE, _PLOVER,
_ADJUST _ADJUST,
_MOUSE
}; };
enum planck_keycodes { enum planck_keycodes {
BASE = SAFE_RANGE, BASE = SAFE_RANGE,
PLOVER,
LOWER, LOWER,
RAISE, RAISE,
FUNC, FUNC,
MOUSE, MOUSE,
ADJUST ADJUST,
EXT_PLV
}; };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -56,14 +60,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* |Del/Sf| : ; | Q | J | K | X | B | M | W | V | Z | Bspc | * |Del/Sf| : ; | Q | J | K | X | B | M | W | V | Z | Bspc |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Fn | GUI | Alt |Lower |Shift |Space |Raise | Alt | GUI | Fn |Enter | * | Ctrl |Plover| GUI | Alt |Lower |Shift |Space |Raise | Alt | GUI | Fn |Enter |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_BASE] = { [_BASE] = {
{ 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_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_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS},
{ DEL_SHF, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSPC}, { DEL_SHF, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_BSPC},
{ KC_LCTL, FUNC, KC_LGUI, KC_LALT, LOWER, KC_LSFT, KC_SPC, RAISE, KC_RALT, KC_RGUI, FUNC, KC_ENT} { KC_LCTL, PLOVER, KC_LGUI, KC_LALT, LOWER, KC_LSFT, KC_SPC, RAISE, KC_RALT, KC_RGUI, FUNC, KC_ENT}
}, },
/* Lower /* Lower
@ -138,6 +142,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{ _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX} { _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX}
}, },
/* Plover layer (http://opensteno.org)
* ,-----------------------------------------------------------------------------------.
* | # | # | # | # | # | # | # | # | # | # | # | # |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | FN | S | T | P | H | * | * | F | P | L | T | D |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | S | K | W | R | * | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | E | U | PWR | RES1 | RES2 |
* `-----------------------------------------------------------------------------------'
*/
[_PLOVER] = {
{STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC },
{STN_FN, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR },
{XXXXXXX, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR },
{EXT_PLV, XXXXXXX, XXXXXXX, STN_A, STN_O, XXXXXXX, XXXXXXX, STN_E, STN_U, STN_PWR, STN_RE1, STN_RE2}
},
/* Adjust (Lower + Raise) /* Adjust (Lower + Raise)
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
* | | Reset| | | | | | | | | | Del | * | | Reset| | | | | | | | | | Del |
@ -158,6 +181,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
}; };
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case LOWER: case LOWER:
@ -188,6 +216,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
break; break;
case PLOVER:
if (!record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_on(_PLOVER);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
case MOUSE: case MOUSE:
if (record->event.pressed) { if (record->event.pressed) {
layer_on(_MOUSE); layer_on(_MOUSE);
@ -199,3 +246,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return true; return true;
} }
void matrix_init_user() {
steno_set_mode(STENO_MODE_GEMINI);
}

@ -2,3 +2,14 @@ ifndef QUANTUM_DIR
include ../../../../Makefile include ../../../../Makefile
endif endif
# https://beta.docs.qmk.fm/reference/config-options#feature-options
# Features Specifically Wanted
EXTRAKEY_ENABLE = yes
STENO_ENABLE = yes
NKRO_ENABLE = yes
AUDIO_ENABLE = yes
# Features taking up space
MOUSEKEY_ENABLE = no
MIDI_ENABLE = no
CONSOLE_ENABLE = no

@ -43,13 +43,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
#define MATRIX_ROW_PINS { D5, F1, C7, F2, C6, F3, C5, F4, C4, F5, C3, F6, C2, F7, C1 } #define MATRIX_ROW_PINS { D5, F1, C7, F2, C6, F3, C5, F4, C4, F5, C3, F6, C2, F7, C1 }
#define MATRIX_COL_PINS { D6, D7, E0, B7, D2, D3, D4, E6, F0, B4, B5, B6, C0, E7, E1 } #define MATRIX_COL_PINS { D6, D7, E0, E1, B7, D2, D3, D4, C0, B4, B5, B6, F0, E6, E7 }
#define UNUSED_PINS #define UNUSED_PINS
/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ /* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW #define DIODE_DIRECTION COL2ROW
// #define BACKLIGHT_PIN B7 // #define BACKLIGHT_PIN
// #define BACKLIGHT_BREATHING // #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3 // #define BACKLIGHT_LEVELS 3

@ -4,9 +4,9 @@ The ScrabblePad is a 15x15 ortholinear keyboard designed for use with
the XDA Scrabble Board sold by [Novelkeys](https://novelkeys.xyz). the XDA Scrabble Board sold by [Novelkeys](https://novelkeys.xyz).
It uses a [Teensy++ 2.0](https://www.pjrc.com/store/teensypp.html) It uses a [Teensy++ 2.0](https://www.pjrc.com/store/teensypp.html)
featuring an at90usb1286 8 bit microcontroller. featuring an at90usb1286 8 bit microcontroller. Usage requires modifying the Teensy by removing the LED on pin D6.
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [Donut Cables](https://donutcables.com/)
Hardware Supported: Teensy++ 2.0 and ScrabblePad PCB Hardware Supported: Teensy++ 2.0 and ScrabblePad PCB
Hardware Availability: [Donut Cables](https://donutcables.com/) Hardware Availability: [Donut Cables](https://donutcables.com/)

@ -0,0 +1,12 @@
{
"keyboard_name": "Techkeys SixKeyBoard",
"url": "",
"maintainer": "qmk",
"width": 3,
"height": 2,
"layouts": {
"LAYOUT": {
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}]
}
}
}

@ -1,12 +1,12 @@
#include "sixkeyboard.h" #include QMK_KEYBOARD_H
#include "matrix.h" #include "matrix.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = { [0] = LAYOUT(
{KC_A, KC_B, KC_C}, KC_A, KC_B, KC_C, \
{KC_D, KC_E, KC_F} KC_D, KC_E, KC_F \
} )
}; };
const uint16_t PROGMEM fn_actions[] = { const uint16_t PROGMEM fn_actions[] = {

@ -3,7 +3,7 @@ Techkeys SixKeyBoard
Keyboard Maintainer: QMK Community Keyboard Maintainer: QMK Community
Hardware Supported: Techkeys SixKeyBoard PCB Hardware Supported: Techkeys SixKeyBoard PCB
Hardware Availability: http://techkeys.us/collections/accessories/products/sixkeyboard Hardware Availability: [Techkeys](http://techkeys.us/collections/accessories/products/sixkeyboard)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):

@ -15,4 +15,20 @@
// instead of the obtuse 11x8 matrix. // instead of the obtuse 11x8 matrix.
/*
*
* A B C
*
* D E F
*
*/
#define LAYOUT( \
k00, k01, k02, \
k10, k11, k12 \
) { \
{ k00, k01, k02 }, \
{ k10, k11, k12 } \
}
#endif #endif

@ -38,7 +38,7 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
# Boot Section Size in *bytes* # Boot Section Size in *bytes*
OPT_DEFS += -DBOOTLOADER_SIZE=4096 BOOTLOADER = caterina
# Build Options # Build Options

@ -1,21 +1,19 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
#include "mtdjr.h" #include "mtdjr.h"
#define KC_LOCK TD(TD_ENDLOCK)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = KC_KEYMAP( [_QWERTY] = KC_KEYMAP(
// .--------------------------------------------------------------------------. // .--------------------------------------------------------------------------.
EXC, 1 , 2 , 3 , 4 , 5 ,PGUP,xxxx,PGDN, 6 , 7 , 8 , 9 , 0 ,BSPC, EXC, 1 , 2 , 3 , 4 , 5 ,PGUP,MPNT,PGDN, 6 , 7 , 8 , 9 , 0 ,BSPC,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
TAB, Q , W , E , R , T , INS,BSLS, DEL, Y , U , I , O , P ,QUOT, TAB, Q , W , E , R , T , INS,HOME, DEL, Y , U , I , O , P ,QUOT,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
LCTL, A , S , D , F , G ,HOME,PLUS,LOCK, H , J , K , L ,SCLN, ENT, LCTL, A , S , D , F , G , EQL,ELCK,MINS, H , J , K , L ,SCLN, ENT,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
LSFT, Z , X , C , V , B ,LBRC,MINS,RBRC, N , M ,COMM, DOT,SLSH,RSFT, LSFT, Z , X , C , V , B ,LBRC,BSLS,RBRC, N , M ,COMM, DOT,SLSH,ELCK,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
LOWR,LCTL,LALT,LGUI,xxxx, SPC, SPC,RASE,SPC, SPC,xxxx,LEFT,DOWN,UP ,RGHT LOWR,LCTL,LALT,LGUI,xxxx, SPC,LOWR,RASE,xxxx, SPC, APP,LEFT,DOWN, UP,RGHT
// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' // '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
), ),
@ -25,11 +23,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
xxxx,ROOT,PPLY,PSEF,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,ROOT,PPLY,PSEF,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,CALC,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,MUTE, xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,MUTE,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, ,xxxx,MPLY,xxxx,MPRV,VOLD,VOLU,MNXT ,xxxx,xxxx,xxxx,xxxx,xxxx, , ,xxxx,MPLY,xxxx,MNXT,VOLD,VOLU,MNXT
// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' // '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
), ),
@ -39,11 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
xxxx,xxxx,xxxx,xxxx, RST,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, xxxx,xxxx,xxxx,xxxx, RST,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
CAPS,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, BLI,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, CAPS,xxxx,xxxx,xxxx,xxxx,xxxx, BLI,xxxx, BLD,xxxx,xxxx,xxxx,XLCK,xxxx,xxxx,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
RGB,RHUI,RHUD,RSAI,RSAD,RVAI,RVAD, BLD,xxxx,xxxx,xxxx,xxxx,BTN1,BTN2,xxxx, RGB,RHUI,RHUD,RSAI,RSAD,RVAI,RVAD,xxxx,xxxx,xxxx,xxxx,xxxx,BTN1,MS_U,BTN2,
// |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----| // |----+----+----+----+----+----+----+----+----+----+----+----+----+----+----|
,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx, ,xxxx,xxxx,xxxx,MS_L,MS_D,MS_U,MS_R ,xxxx,xxxx,xxxx,xxxx,xxxx, , ,xxxx,xxxx,xxxx,xxxx,MS_L,MS_D,MS_R
// '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----' // '----+----+----+----+----+----+----+----+----+----+----+----+----+----+----'
) )
}; };

@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | Tab | Left | Down | Right | | | | | | Insert | Home | PgUp | | | * | | Tab | Left | Down | Right | | | | | | Insert | Home | PgUp | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | ShTab | Alt L | | Alt R | | | | | | ScLk | End | PgDn | | | * | | ShTab | Alt L | Shift | Alt R | | | | | | ScLk | End | PgDn | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | | | | RESET | * | | | | | | | | | | | | | | | RESET |
* '--------------------------------------------------------------------------------------------------------------------------------------' * '--------------------------------------------------------------------------------------------------------------------------------------'
@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
{ _______, UK_ESC, _C_LEFT, UK_UP , _C_RGHT, _______, _______, _______, _______, _______, UK_PSCR, UK_SLCK, UK_PAUS, _______, _______ }, { _______, UK_ESC, _C_LEFT, UK_UP , _C_RGHT, _______, _______, _______, _______, _______, UK_PSCR, UK_SLCK, UK_PAUS, _______, _______ },
{ _______, UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, _______, _______, _______, _______, _______, UK_INS, UK_HOME, UK_PGUP, _______, _______ }, { _______, UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, _______, _______, _______, _______, _______, UK_INS, UK_HOME, UK_PGUP, _______, _______ },
{ _______, _S_TAB, _A_LEFT, _______, _A_RGHT, _B_NAV, _______, _______, _______, _K_NAV, UK_SLCK, UK_END, UK_PGDN, _______, _______ }, { _______, _S_TAB, _A_LEFT, UK_LSFT, _A_RGHT, _B_NAV, _______, _______, _______, _K_NAV, UK_SLCK, UK_END, UK_PGDN, _______, _______ },
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET }, { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET },
}, },
}; };
@ -161,3 +161,51 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
} }
return MACRO_NONE; return MACRO_NONE;
}; };
bool CTRLDOWN = false;
bool ALTDOWN = false;
bool WINDOWN = false;
bool SHIFTDOWN = false;
bool TERMINALOPEN = false;
void matrix_scan_user(void) {
if (TERMINALOPEN) {
rgblight_effect_rainbow_swirl(128);
} else if (SHIFTDOWN) {
rgblight_effect_breathing(3);
} else if (CTRLDOWN) {
rgblight_effect_knight(3);
} else if (WINDOWN) {
rgblight_effect_snake(3);
} else {
rgblight_setrgb(0, 0, 0);
}
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case UK_LGUI:
case UK_RGUI:
WINDOWN = record->event.pressed;
TERMINALOPEN = false;
break;
case UK_LCTL:
case UK_RCTL:
CTRLDOWN = record->event.pressed;
break;
case UK_LSFT:
case UK_RSFT:
SHIFTDOWN = record->event.pressed;
break;
case UK_LALT:
case UK_RALT:
ALTDOWN = record-> event.pressed;
break;
case _TERM:
if (record->event.pressed) {
TERMINALOPEN = !TERMINALOPEN;
}
break;
}
return true;
}

@ -2,19 +2,57 @@
#ifdef SOLENOID_ENABLE #ifdef SOLENOID_ENABLE
#include "solenoid.h" #include "solenoid.h"
#endif
#ifndef RGB_MODE
#define RGB_MODE 16
#endif
#ifndef RGB_HUE
#define RGB_HUE 285
#endif
// Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC),
[TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)),
[TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
[TD_PRINT] = ACTION_TAP_DANCE_DOUBLE(LGUI(LSFT(KC_3)), LGUI(LSFT(KC_4))),
};
// Macros
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case ROOT:
SEND_STRING("sudo su -\n");
return false; break;
case PPLY:
SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
return false; break;
case PSEF:
SEND_STRING("ps -ef | grep ");
return false; break;
}
}
return MACRO_NONE;
};
void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
rgblight_enable_noeeprom();
rgblight_mode_noeeprom(RGB_MODE);
rgblight_sethsv (RGB_HUE, 255, 255);
#endif
#ifdef SOLENOID_ENABLE
solenoid_setup();
#endif
}
void solenoid_buzz_on(void); void matrix_scan_user(void) {
void solenoid_buzz_off(void); #ifdef SOLENOID_ENABLE
void solenoid_dwell_minus(void); solenoid_check();
void solenoid_dwell_plus(void);
void solenoid_toggle(void);
void solenoid_stop(void);
void solenoid_fire(void);
void solenoid_check(void);
void solenoid_setup(void);
void matrix_init_user(void);
void matrix_scan_user(void);
#endif #endif
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#ifdef SOLENOID_ENABLE #ifdef SOLENOID_ENABLE
@ -98,40 +136,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
}; };
uint32_t layer_state_set_user(uint32_t state) {
//Tap Dance Definitions #ifdef RGBLIGHT_ENABLE
qk_tap_dance_action_t tap_dance_actions[] = { switch (biton32(state)) {
[TD_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, KC_ESC), case _RAISE:
[TD_ALTLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, LGUI(KC_L)), rgblight_sethsv_noeeprom (240, 255, 255);
[TD_ENDLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_END, LGUI(KC_L)),
//[TD_PRNT] = ACTION_TAP_DANCE_DOUBLE(PRINT, PRINT_SEL)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case 0:
SEND_STRING("sudo su -\n");
return false; break;
case 1:
SEND_STRING("puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp\n");
return false; break;
case 2:
SEND_STRING("ps -ef | grep ");
return false; break;
case 3: // control + insert
return MACRO(D(LCTL), T(INS), U(LCTL), END);
break; break;
case 4: // shift + insert case _LOWER:
return MACRO(D(LSFT), T(INS), U(LSFT), END); rgblight_sethsv_noeeprom (0, 255, 255);
break; break;
case 5: // control + alt + delete case _ADJUST:
return MACRO(D(LCTL), D(RALT), T(DEL), U(LCTL), U(LALT), END); rgblight_sethsv_noeeprom (0, 0, 255);
break; break;
case 6: // lgui + L default:
return MACRO(D(LGUI), T(L), U(LGUI), END); rgblight_sethsv_noeeprom (RGB_HUE, 255, 255);
break; break;
} }
return state;
} }
return MACRO_NONE; #endif
};

@ -3,61 +3,79 @@
#include "quantum.h" #include "quantum.h"
#define _QWERTY 0 // Layers
#define _LOWER 1 enum user_enum {
#define _RAISE 2 // Layers
#define _SUPER 3
#define _ADJUST 16
enum user_layers {
QWERTY = SAFE_RANGE, QWERTY = SAFE_RANGE,
LOWER, LOWER,
RAISE, RAISE,
SUPER, SUPER,
ADJUST, ADJUST,
// Solenoid
SOLENOID_TOG,
SOLENOID_DWELL_MINUS,
SOLENOID_DWELL_PLUS,
SOLENOID_BUZZ_ON,
SOLENOID_BUZZ_OFF,
};
// Macro / Send String
enum user_macros {
ROOT,
PPLY,
PSEF,
}; };
// TapDance
enum user_tapdance { enum user_tapdance {
TD_ENDLOCK, TD_ENDLOCK,
TD_ALTLOCK, TD_ALTLOCK,
TD_PRINT,
TD_ESC, TD_ESC,
}; };
enum user_solenoid {
SOLENOID_TOG,
SOLENOID_DWELL_MINUS,
SOLENOID_DWELL_PLUS,
SOLENOID_BUZZ_ON,
SOLENOID_BUZZ_OFF,
};
#define KC_STOG SOLENOID_TOG // Layers
#define KC_SDM SOLENOID_DWELL_MINUS #define _QWERTY 0
#define KC_SDP SOLENOID_DWELL_PLUS #define _LOWER 1
#define KC_SBON SOLENOID_BUZZ_ON #define _RAISE 2
#define KC_SBOF SOLENOID_BUZZ_OFF #define _SUPER 3
#define _ADJUST 16
// Macros
#define KC_ROOT M(ROOT)
#define KC_PPLY M(PPLY)
#define KC_PSEF M(PSEF)
// Tapdance
#define KC_EXC TD(TD_ESC)
#define KC_ELCK TD(TD_ENDLOCK)
#define KC_ALCK TD(TD_ALTLOCK)
#define KC_MPNT TD(TD_PRINT)
// Custom Keycodes
#define KC_ KC_TRNS #define KC_ KC_TRNS
#define _______ KC_TRNS #define _______ KC_TRNS
#define XXXXXXX KC_NO #define XXXXXXX KC_NO
#define KC_xxxx KC_NO #define KC_xxxx KC_NO
#define KC_LOWR LOWER #define KC_LOWR LOWER
#define KC_RASE RAISE #define KC_RASE RAISE
#define KC_SUPR SUPER #define KC_SUPR SUPER
#define KC_RST RESET #define KC_RST RESET
// TapDance Keycodes // Key Combos
#define KC_EXC TD_ESC #define KC_XCPY LCTL(KC_INS)
#define KC_XINS LSFT(KC_INS)
#define KC_CAD LCTL(LALT(KC_DEL))
#define KC_XCAD LCTL(LALT(KC_DEL))
#define KC_XLCK LGUI(KC_L)
// Macro Declarations // Solenoid
#define KC_ROOT M(0) #define KC_STOG SOLENOID_TOG
#define KC_PPLY M(1) #define KC_SDM SOLENOID_DWELL_MINUS
#define KC_PSEF M(2) #define KC_SDP SOLENOID_DWELL_PLUS
#define KC_XCPY M(3) #define KC_SBON SOLENOID_BUZZ_ON
#define KC_XINS M(4) #define KC_SBOF SOLENOID_BUZZ_OFF
#define KC_CAD M(5)
#define UM_LOCK M(6)
// RGB and Backlighting // RGB and Backlighting
#define KC_RGB RGB_TOG #define KC_RGB RGB_TOG
@ -67,10 +85,17 @@ enum user_solenoid {
#define KC_RSAD RGB_SAD #define KC_RSAD RGB_SAD
#define KC_RVAI RGB_VAI #define KC_RVAI RGB_VAI
#define KC_RVAD RGB_VAD #define KC_RVAD RGB_VAD
#define KC_MOD RGB_MOD
#define KC_RMOD RGB_RMOD
#define KC_RPLN RGB_M_P
#define KC_RBTH RGB_M_B
#define KC_BLT BL_TOGG #define KC_BLT BL_TOGG
#define KC_BLS BL_STEP #define KC_BLS BL_STEP
#define KC_BLI BL_INC #define KC_BLI BL_INC
#define KC_BLD BL_DEC #define KC_BLD BL_DEC
#define KC_BLB BL_BRTG
#define KC_BLON BL_ON
#define KB_BLOF BL_OFF
#endif #endif

@ -4,13 +4,17 @@
#include <timer.h> #include <timer.h>
#include "pincontrol.h" #include "pincontrol.h"
#define SOLENOID_DEFAULT_DWELL 12 #define SOLENOID_DEFAULT_DWELL 12
#define SOLENOID_MAX_DWELL 100 #define SOLENOID_MAX_DWELL 100
#define SOLENOID_MIN_DWELL 4 #define SOLENOID_MIN_DWELL 4
#ifndef SOLENOID_ACTIVE #ifndef SOLENOID_ACTIVE
#define SOLENOID_ACTIVE false #define SOLENOID_ACTIVE false
#endif #endif
//#define SOLENOID_PIN F6 #ifndef SOLENOID_PIN
#define SOLENOID_PIN F6
#endif
bool solenoid_enabled = SOLENOID_ACTIVE; bool solenoid_enabled = SOLENOID_ACTIVE;
bool solenoid_on = false; bool solenoid_on = false;
@ -92,12 +96,4 @@ void solenoid_setup(void) {
pinMode(SOLENOID_PIN, PinDirectionOutput); pinMode(SOLENOID_PIN, PinDirectionOutput);
} }
void matrix_init_user(void) {
solenoid_setup();
}
void matrix_scan_user(void) {
solenoid_check();
}
#endif #endif

Loading…
Cancel
Save