Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54f1cdfb1e | ||
|
|
a730cf6718 | ||
|
|
f139c3db8d | ||
|
|
48321c3eee | ||
|
|
e424944a57 | ||
|
|
4658786436 | ||
|
|
6c74d734c2 | ||
|
|
ad1a868701 | ||
|
|
9db908f7d1 | ||
|
|
added1f062 | ||
|
|
e8e999dcc0 | ||
|
|
4464d90f4d |
No files matched your search
@@ -7,6 +7,7 @@
|
|||||||
#define KEYSEL 2
|
#define KEYSEL 2
|
||||||
#define MOUSE 3
|
#define MOUSE 3
|
||||||
#define COMBINED 4
|
#define COMBINED 4
|
||||||
|
#define BROWSER_CONTROL 5
|
||||||
|
|
||||||
// macros
|
// macros
|
||||||
#define MOUSE_TOGGLE 1
|
#define MOUSE_TOGGLE 1
|
||||||
@@ -39,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
{KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, },
|
{KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, },
|
||||||
{KC_A, KC_O, KC_E, KC_U, KC_I, KC_TRNS, KC_D, KC_H, KC_T, KC_N, KC_S, },
|
{KC_A, KC_O, KC_E, KC_U, KC_I, KC_TRNS, KC_D, KC_H, KC_T, KC_N, KC_S, },
|
||||||
{KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(KEYNAV), KC_B, KC_M, KC_W, KC_V, KC_Z, },
|
{KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(KEYNAV), KC_B, KC_M, KC_W, KC_V, KC_Z, },
|
||||||
{OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL), MO(COMBINED), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT), }
|
{OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT), }
|
||||||
},
|
},
|
||||||
|
|
||||||
[KEYNAV] = {
|
[KEYNAV] = {
|
||||||
@@ -70,6 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
{KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_BTN1, KC_BTN2, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), }
|
{KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_BTN1, KC_BTN2, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), }
|
||||||
},
|
},
|
||||||
|
|
||||||
|
[BROWSER_CONTROL] = {
|
||||||
|
{KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_TRNS, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, },
|
||||||
|
{KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), },
|
||||||
|
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, },
|
||||||
|
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), RSFT(RCTL(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS, }
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,12 @@
|
|||||||
|
|
||||||
#define _______ KC_TRNS
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
|
enum {
|
||||||
|
TD_SPC_ENT = 0,
|
||||||
|
TD_KC_LSFT_CAPS,
|
||||||
|
TD_KC_RSFT_CAPS
|
||||||
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -49,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(_L1), \
|
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(_L1), \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, TD(LT(_L3,KC_SPACE)),BL_TOGG,TD(TD_SPC_ENT), KC_RGUI, TO(_L2), KC_LEFT, KC_DOWN, KC_RIGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, LT(_L3,KC_SPACE),BL_TOGG,TD(TD_SPC_ENT), KC_RGUI, TO(_L2), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||||
|
|
||||||
/* Keymap _L1: (Layer 1) This is function layer 1
|
/* Keymap _L1: (Layer 1) This is function layer 1
|
||||||
* This layer is activated while the Fn key is being held down.
|
* This layer is activated while the Fn key is being held down.
|
||||||
@@ -121,13 +127,6 @@ void matrix_scan_user(void) {
|
|||||||
// Empty
|
// Empty
|
||||||
};
|
};
|
||||||
|
|
||||||
//Tap Dance Declarations
|
|
||||||
enum {
|
|
||||||
TD_SPC_ENT = 0,
|
|
||||||
TD_KC_LSFT_CAPS = 0,
|
|
||||||
TD_KC_RSFT_CAPS = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
//Tap Dance Definitions
|
//Tap Dance Definitions
|
||||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||||
|
|
||||||
|
|||||||
@@ -55,3 +55,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|||||||
AUDIO_ENABLE = no
|
AUDIO_ENABLE = no
|
||||||
RGBLIGHT_ENABLE = yes
|
RGBLIGHT_ENABLE = yes
|
||||||
AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
|
AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
|
||||||
|
TAP_DANCE_ENABLE = yes
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
// to build this keymap
|
// to build this keymap
|
||||||
// make ergodox_ez:dvorak_42_key:teensy
|
// make ergodox_ez:dvorak_42_key:teensy
|
||||||
|
// flashing from rpi:
|
||||||
|
// sudo teensy_loader_cli -v -w .build/ergodox_ez_dvorak_42_key.hex --mcu atmega32u4
|
||||||
|
|
||||||
// keeping fork up to date:
|
// keeping fork up to date:
|
||||||
// https://help.github.com/articles/configuring-a-remote-for-a-fork/
|
// https://help.github.com/articles/configuring-a-remote-for-a-fork/
|
||||||
@@ -317,7 +319,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// thumb cluster
|
// thumb cluster
|
||||||
KC_TRNS,KC_TRNS,
|
KC_TRNS,KC_TRNS,
|
||||||
KC_TRNS,
|
KC_TRNS,
|
||||||
KC_TRNS,KC_TRNS,KC_TAB),
|
KC_TRNS,KC_TRNS,KC_TRNS),
|
||||||
|
|
||||||
|
|
||||||
[MOUSE] = KEYMAP(
|
[MOUSE] = KEYMAP(
|
||||||
|
|||||||
@@ -2,14 +2,19 @@
|
|||||||
|
|
||||||
A basic ErgoDox layout with Planck-like tri-layer support.
|
A basic ErgoDox layout with Planck-like tri-layer support.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
- Base Layers
|
||||||
|
- QWERTY
|
||||||
|
- Workman
|
||||||
|
- Dvorak
|
||||||
|
- Colemak
|
||||||
- Planck-like tri-layer
|
- Planck-like tri-layer
|
||||||
- Workman layout
|
|
||||||
- In-progress gaming layer
|
- In-progress gaming layer
|
||||||
- Numpad
|
- Numpad layer
|
||||||
|

|
||||||
- LCD colors are linked together, like the default KLL firmware
|
- LCD colors are linked together, like the default KLL firmware
|
||||||
|
|
||||||
## Building and flashing
|
## Building and flashing
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#ifndef CONFIG_USER_H
|
||||||
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
|
#undef TAPPING_TOGGLE
|
||||||
|
|
||||||
|
#include "../../config.h"
|
||||||
|
#include "dudeofawesome.h"
|
||||||
|
|
||||||
|
#include "./visualizer.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -4,40 +4,41 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
enum custom_layers {
|
enum custom_layers {
|
||||||
_QWERTY,
|
_QWERTY,
|
||||||
_DVORAK,
|
_WORKMAN,
|
||||||
_WORKMAN,
|
_DVORAK,
|
||||||
_GAME,
|
_COLEMAK,
|
||||||
_MOUSE,
|
_LOWER,
|
||||||
_NUM,
|
_RAISE,
|
||||||
_LOWER,
|
_ADJUST,
|
||||||
_RAISE,
|
_GAME,
|
||||||
_ADJUST,
|
_MOUSE,
|
||||||
|
_NUM,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum custom_keycodes {
|
enum custom_keycodes {
|
||||||
QWERTY = SAFE_RANGE,
|
QWERTY = SAFE_RANGE,
|
||||||
DVORAK,
|
WORKMAN,
|
||||||
WORKMAN,
|
DVORAK,
|
||||||
LOWER,
|
COLEMAK,
|
||||||
RAISE,
|
LOWER,
|
||||||
GAME,
|
RAISE,
|
||||||
MOUSE,
|
GAME,
|
||||||
NUM,
|
MOUSE,
|
||||||
EPRM,
|
EPRM,
|
||||||
VRSN,
|
VRSN,
|
||||||
RGB_SLD
|
RGB_SLD,
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap 0: Basic QWERTY layer
|
/* Keymap 0: Basic QWERTY layer
|
||||||
*
|
*
|
||||||
* ,---------------------------------------------. ,---------------------------------------------.
|
* ,---------------------------------------------. ,---------------------------------------------.
|
||||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||||
* | Tab | Q | W | E | R | T | [{ | | ]} | Y | U | I | O | P | BSPC |
|
* | Tab | Q | W | E | R | T | [{ | | ]} | Y | U | I | O | P | BSPC |
|
||||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||||
* | ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | '" |
|
* | ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||||
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | Enter |
|
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | Enter |
|
||||||
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||||
@@ -53,32 +54,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_QWERTY] = LAYOUT_ergodox(
|
[_QWERTY] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRACKET,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRACKET,
|
||||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
||||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||||
|
|
||||||
KC_MPLY, TG(_MOUSE),
|
KC_MPLY, TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
LOWER, KC_BSPACE, KC_LGUI,
|
KC_BSPACE, LOWER, KC_LGUI,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||||
KC_RBRACKET, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
|
KC_RBRACKET, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
|
||||||
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
|
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
|
||||||
KC_FN1, KC_N, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), KC_ENTER,
|
KC_FN1, KC_N, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||||
|
|
||||||
TG(_NUM), TG(_MOUSE),
|
TT(_NUM), TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
KC_LGUI, KC_SPACE, RAISE
|
KC_LGUI, RAISE, KC_SPACE
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Keymap 0: Basic Workman layer
|
||||||
|
*
|
||||||
|
* ,---------------------------------------------. ,--------------------------------------------.
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||||
|
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||||
|
* | Tab | Q | D | R | W | B | [{ | | ]} | J | F | U | P | ; | BSPC |
|
||||||
|
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||||
|
* | ESC | A | S | H | T | G |------| |------| Y | N | E | O | I | ' |
|
||||||
|
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||||
|
* | LShift | Z | X | M | C | V | | | | K | L | , | . | / | Enter |
|
||||||
|
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||||
|
* | Num |Ctrl | Alt |LGUI |Lower| |Raise|Left |Down | Up |Right |
|
||||||
|
* `------------------------------' `------------------------------'
|
||||||
|
* ,------------. ,------------.
|
||||||
|
* |Play |Mouse | | Num |Mouse|
|
||||||
|
* ,----|-----|------| |------+-----+-----.
|
||||||
|
* | | | Alt | | Alt | | |
|
||||||
|
* |BSPC|LOWER|------| |------|RAISE|Space|
|
||||||
|
* | | | LGUI | | LGUI | | |
|
||||||
|
* `-----------------' `------------------'
|
||||||
|
*/
|
||||||
|
[_WORKMAN] = LAYOUT_ergodox(
|
||||||
|
// left hand
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||||
|
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_LBRACKET,
|
||||||
|
KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_FN1,
|
||||||
|
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||||
|
|
||||||
|
KC_MPLY, TG(_MOUSE),
|
||||||
|
KC_LALT,
|
||||||
|
KC_BSPACE, LOWER, KC_LGUI,
|
||||||
|
|
||||||
|
// right hand
|
||||||
|
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||||
|
KC_RBRACKET, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, KC_BSPACE,
|
||||||
|
KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
|
||||||
|
KC_FN1, KC_K, KC_L, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||||
|
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||||
|
|
||||||
|
TT(_NUM), TG(_MOUSE),
|
||||||
|
KC_LALT,
|
||||||
|
KC_LGUI, RAISE, KC_SPACE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Keymap 0: Basic Dvorak layer
|
/* Keymap 0: Basic Dvorak layer
|
||||||
*
|
*
|
||||||
* ,---------------------------------------------. ,--------------------------------------------.
|
* ,---------------------------------------------. ,--------------------------------------------.
|
||||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||||
* | Tab | ' | , | . | P | Y | [{ | | ]} | F | G | C | R | L | BSPC |
|
* | Tab | ' | , | . | P | Y | [{ | | ]} | F | G | C | R | L | BSPC |
|
||||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||||
@@ -98,38 +144,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_DVORAK] = LAYOUT_ergodox(
|
[_DVORAK] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_LBRACKET,
|
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_LBRACKET,
|
||||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||||
KC_LSPO, KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, KC_FN1,
|
KC_LSFT, KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, KC_FN1,
|
||||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||||
|
|
||||||
KC_MPLY, TG(_MOUSE),
|
KC_MPLY, TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
KC_BSPACE, LOWER, KC_LGUI,
|
KC_BSPACE, LOWER, KC_LGUI,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||||
KC_RBRACKET, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPACE,
|
KC_RBRACKET, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPACE,
|
||||||
KC_D, KC_H, KC_T, KC_N, KC_S, LT(MOUSE, KC_SLSH),
|
KC_D, KC_H, KC_T, KC_N, KC_S, LT(MOUSE, KC_SLSH),
|
||||||
KC_FN1, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENTER,
|
KC_FN1, KC_B, KC_M, KC_W, KC_V, KC_Z, RSFT_T(KC_ENT),
|
||||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||||
|
|
||||||
TG(_NUM), TG(_MOUSE),
|
TT(_NUM), TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
KC_LGUI, RAISE, KC_SPACE
|
KC_LGUI, RAISE, KC_SPACE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Keymap 0: Basic Workman layer
|
/* Keymap 0: Basic Colemak layer
|
||||||
*
|
*
|
||||||
* ,---------------------------------------------. ,--------------------------------------------.
|
* ,---------------------------------------------. ,--------------------------------------------.
|
||||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||||
* | Tab | Q | D | R | W | B | [{ | | ]} | J | F | U | P | ; | BSPC |
|
* | Tab | Q | W | F | P | G | [{ | | ]} | J | L | U | Y | ; | BSPC |
|
||||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||||
* | ESC | A | S | H | T | G |------| |------| Y | N | E | O | I | '" |
|
* | ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' |
|
||||||
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||||
* | LShift | Z | X | M | C | V | | | | K | L | , | . | / | Enter |
|
* | LShift | Z | X | C | V | B | | | | K | M | , | . | / | Enter |
|
||||||
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||||
* | Num |Ctrl | Alt |LGUI |Lower| |Raise|Left |Down | Up |Right |
|
* | Num |Ctrl | Alt |LGUI |Lower| |Raise|Left |Down | Up |Right |
|
||||||
* `------------------------------' `------------------------------'
|
* `------------------------------' `------------------------------'
|
||||||
@@ -141,28 +187,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | | LGUI | | LGUI | | |
|
* | | | LGUI | | LGUI | | |
|
||||||
* `-----------------' `------------------'
|
* `-----------------' `------------------'
|
||||||
*/
|
*/
|
||||||
[_WORKMAN] = LAYOUT_ergodox(
|
[_COLEMAK] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||||
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_LBRACKET,
|
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRACKET,
|
||||||
KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G,
|
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||||
KC_LSPO, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_FN1,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
||||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||||
|
|
||||||
KC_MPLY, TG(_MOUSE),
|
KC_MPLY, TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
KC_BSPACE, LOWER, KC_LGUI,
|
KC_BSPACE, LOWER, KC_LGUI,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||||
KC_RBRACKET, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, KC_BSPACE,
|
KC_RBRACKET, KC_J, KC_L, KC_U, KC_Y, KC_SCOLON, KC_BSPACE,
|
||||||
KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
|
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOTE,
|
||||||
KC_FN1, KC_K, KC_L, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), KC_ENTER,
|
KC_FN1, KC_K, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||||
|
|
||||||
NUM, TG(_MOUSE),
|
TT(_NUM), TG(_MOUSE),
|
||||||
KC_LALT,
|
KC_LALT,
|
||||||
KC_LGUI, RAISE, KC_SPACE
|
KC_LGUI, RAISE, KC_SPACE
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Lower
|
/* Lower
|
||||||
@@ -176,7 +222,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||||
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO ~ |ISO | | Home | End | |
|
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO ~ |ISO | | Home | End | |
|
||||||
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
* | | | | | | | | Play | Vol- | Vol+ | Next |
|
||||||
* `-----------------------------------' `----------------------------------'
|
* `-----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,-------------.
|
* ,-------------. ,-------------.
|
||||||
* |Animat| | |Toggle|Solid |
|
* |Animat| | |Toggle|Solid |
|
||||||
@@ -189,9 +235,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
[_LOWER] = LAYOUT_ergodox(
|
[_LOWER] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F6,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@@ -199,11 +245,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______,
|
_______, _______, _______,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||||
_______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
KC_F5, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||||
KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
_______, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||||
_______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
_______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
@@ -221,7 +267,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||||
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||||
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
* | | | | | | | | Play | Vol- | Vol+ | Next |
|
||||||
* `-----------------------------------' `----------------------------------'
|
* `-----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,-------------.
|
* ,-------------. ,-------------.
|
||||||
* |Animat| | |Toggle|Solid |
|
* |Animat| | |Toggle|Solid |
|
||||||
@@ -234,9 +280,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
[_RAISE] = LAYOUT_ergodox(
|
[_RAISE] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F6,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
@@ -244,11 +290,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______,
|
_______, _______, _______,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
_______, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||||
_______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
_______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
@@ -262,7 +308,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||||
* | |Reset |Debug | | | | | | | |TRM on|TRMoff| | | Del |
|
* | |Reset |Debug | | | | | | | |TRM on|TRMoff| | | Del |
|
||||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
* | | | | | |AG Nrm|------| |------|AG Swp|QWERTY|Wrkman|Dvorak| | |
|
* | CPSLCK | | | | |AG Nrm|------| |------|AG Swp|QWERTY|Wrkman|Dvorak| | |
|
||||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
* | | | | | | | | | | | | Prev | Next | | |
|
* | | | | | | | | | | | | Prev | Next | | |
|
||||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
@@ -280,7 +326,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// left hand
|
// left hand
|
||||||
VRSN, _______, _______, _______, _______, _______, _______,
|
VRSN, _______, _______, _______, _______, _______, _______,
|
||||||
_______, RESET, DEBUG, _______, _______, _______, _______,
|
_______, RESET, DEBUG, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, AG_NORM,
|
KC_CAPS, _______, _______, _______, _______, AG_NORM,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
@@ -291,7 +337,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// right hand
|
// right hand
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
|
_______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
|
||||||
AG_SWAP, QWERTY, WORKMAN, DVORAK, _______, _______,
|
AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
@@ -386,24 +432,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
TG(_MOUSE), TG(_NUM),
|
TG(_MOUSE), TT(_NUM),
|
||||||
_______,
|
_______,
|
||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
/* Keymap 2: NUMPAD
|
/* Keymap 2: NUMPAD
|
||||||
*
|
*
|
||||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||||
* | | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | |
|
* | | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | | ✗ | ✗ | ✗ | / | * | - | |
|
||||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||||
* | | ! | @ | { | } | | | | | | | 7 | 8 | 9 | * | |
|
* | | ✗ | Home | Up | End | PgUp | | | | ✗ | 7 | 8 | 9 | + | |
|
||||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
* | | # | $ | ( | ) | ` |------| |------| | 4 | 5 | 6 | + | |
|
* | | ✗ | Left | Down | Right| PgDn |------| |------| ✗ | 4 | 5 | 6 | + | ✗ |
|
||||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||||
* | | % | ^ | [ | ] | ~ | | | | | 1 | 2 | 3 | \ | |
|
* | | / | * | - | + | Enter| | | | ✗ | 1 | 2 | 3 | Enter| Enter |
|
||||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||||
* | | | | | | | . | 0 | 0 | = | |
|
* | | | | | ✗ | | 0 | 0 | . | Enter| = |
|
||||||
* `----------------------------------' `----------------------------------'
|
* `----------------------------------' `----------------------------------'
|
||||||
* ,-------------. ,-------------.
|
* ,-------------. ,-------------.
|
||||||
* | | | | | |
|
* | | | | | |
|
||||||
@@ -415,22 +460,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_NUM] = LAYOUT_ergodox(
|
[_NUM] = LAYOUT_ergodox(
|
||||||
// left hand
|
// left hand
|
||||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
_______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______,
|
_______, KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO,
|
||||||
_______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
|
_______, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN,
|
||||||
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______,
|
_______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_PENT, KC_NO,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, KC_NO,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
_______, _______, _______,
|
_______, _______, _______,
|
||||||
|
|
||||||
// right hand
|
// right hand
|
||||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
KC_NO, KC_NO, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, _______,
|
||||||
_______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, _______,
|
KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
|
||||||
_______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, _______,
|
KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_NO,
|
||||||
_______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, _______,
|
KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT,
|
||||||
KC_KP_DOT, KC_KP_0, KC_KP_0, KC_KP_EQUAL, _______,
|
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_PEQL,
|
||||||
|
|
||||||
_______, _______,
|
_______, _______,
|
||||||
_______,
|
_______,
|
||||||
@@ -444,15 +489,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
// MACRODOWN only works in this function
|
// MACRODOWN only works in this function
|
||||||
switch(id) {
|
switch(id) {
|
||||||
case 0:
|
case 0:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (record->event.pressed) { // For resetting EEPROM
|
if (record->event.pressed) { // For resetting EEPROM
|
||||||
eeconfig_init();
|
eeconfig_init();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return MACRO_NONE;
|
return MACRO_NONE;
|
||||||
};
|
};
|
||||||
@@ -461,23 +506,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case QWERTY:
|
case QWERTY:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
print("mode just switched to qwerty and this is a huge string\n");
|
|
||||||
set_single_persistent_default_layer(_QWERTY);
|
set_single_persistent_default_layer(_QWERTY);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case WORKMAN:
|
case WORKMAN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
set_single_persistent_default_layer(_WORKMAN);
|
set_single_persistent_default_layer(_WORKMAN);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case DVORAK:
|
case DVORAK:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
set_single_persistent_default_layer(_DVORAK);
|
set_single_persistent_default_layer(_DVORAK);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
case COLEMAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
set_single_persistent_default_layer(_COLEMAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
case LOWER:
|
case LOWER:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
layer_on(_LOWER);
|
layer_on(_LOWER);
|
||||||
@@ -494,7 +540,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case RAISE:
|
case RAISE:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
layer_on(_RAISE);
|
layer_on(_RAISE);
|
||||||
@@ -511,19 +556,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case EPRM:
|
case EPRM:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
eeconfig_init();
|
eeconfig_init();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case VRSN:
|
case VRSN:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
case RGB_SLD:
|
case RGB_SLD:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
@@ -531,7 +573,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -550,19 +591,19 @@ void matrix_scan_user(void) {
|
|||||||
uint8_t layer = biton32(layer_state);
|
uint8_t layer = biton32(layer_state);
|
||||||
|
|
||||||
ergodox_board_led_off();
|
ergodox_board_led_off();
|
||||||
ergodox_right_led_1_off();
|
ergodox_led_lower_off();
|
||||||
ergodox_right_led_2_off();
|
ergodox_led_raise_off();
|
||||||
ergodox_right_led_3_off();
|
ergodox_led_adjust_off();
|
||||||
|
|
||||||
switch (layer) {
|
switch (layer) {
|
||||||
case _LOWER:
|
case _LOWER:
|
||||||
ergodox_right_led_1_on();
|
ergodox_led_lower_on();
|
||||||
break;
|
break;
|
||||||
case _RAISE:
|
case _RAISE:
|
||||||
ergodox_right_led_2_on();
|
ergodox_led_raise_on();
|
||||||
break;
|
break;
|
||||||
case _ADJUST:
|
case _ADJUST:
|
||||||
ergodox_right_led_3_on();
|
ergodox_led_adjust_on();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#error This visualizer needs that LCD is enabled
|
#error This visualizer needs that LCD is enabled
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "visualizer.h"
|
#include "./visualizer.h"
|
||||||
#include "visualizer_keyframes.h"
|
#include "visualizer_keyframes.h"
|
||||||
#include "lcd_keyframes.h"
|
#include "lcd_keyframes.h"
|
||||||
#include "lcd_backlight_keyframes.h"
|
#include "lcd_backlight_keyframes.h"
|
||||||
@@ -295,17 +295,17 @@ void ergodox_board_led_on(void){
|
|||||||
// No board led support
|
// No board led support
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_1_on(void){
|
void ergodox_led_lower_on(void){
|
||||||
user_data_keyboard.led_on |= (1u << 0);
|
user_data_keyboard.led_on |= (1u << 0);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_2_on(void){
|
void ergodox_led_raise_on(void){
|
||||||
user_data_keyboard.led_on |= (1u << 1);
|
user_data_keyboard.led_on |= (1u << 1);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_3_on(void){
|
void ergodox_led_adjust_on(void){
|
||||||
user_data_keyboard.led_on |= (1u << 2);
|
user_data_keyboard.led_on |= (1u << 2);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
@@ -314,32 +314,32 @@ void ergodox_board_led_off(void){
|
|||||||
// No board led support
|
// No board led support
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_1_off(void){
|
void ergodox_led_lower_off(void){
|
||||||
user_data_keyboard.led_on &= ~(1u << 0);
|
user_data_keyboard.led_on &= ~(1u << 0);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_2_off(void){
|
void ergodox_led_raise_off(void){
|
||||||
user_data_keyboard.led_on &= ~(1u << 1);
|
user_data_keyboard.led_on &= ~(1u << 1);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_3_off(void){
|
void ergodox_led_adjust_off(void){
|
||||||
user_data_keyboard.led_on &= ~(1u << 2);
|
user_data_keyboard.led_on &= ~(1u << 2);
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_1_set(uint8_t n) {
|
void ergodox_led_lower_set(uint8_t n) {
|
||||||
user_data_keyboard.led1 = n;
|
user_data_keyboard.led1 = n;
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_2_set(uint8_t n) {
|
void ergodox_led_raise_set(uint8_t n) {
|
||||||
user_data_keyboard.led2 = n;
|
user_data_keyboard.led2 = n;
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ergodox_right_led_3_set(uint8_t n) {
|
void ergodox_led_adjust_set(uint8_t n) {
|
||||||
user_data_keyboard.led3 = n;
|
user_data_keyboard.led3 = n;
|
||||||
visualizer_set_user_data(&user_data_keyboard);
|
visualizer_set_user_data(&user_data_keyboard);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2017 Fred Sundvik
|
||||||
|
*
|
||||||
|
* 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 VISUALIZER_H_
|
||||||
|
#define VISUALIZER_H_
|
||||||
|
|
||||||
|
#include "visualizer.h"
|
||||||
|
#include "led.h"
|
||||||
|
|
||||||
|
void ergodox_led_lower_on (void);
|
||||||
|
void ergodox_led_raise_on (void);
|
||||||
|
void ergodox_led_adjust_on (void);
|
||||||
|
|
||||||
|
void ergodox_led_lower_off (void);
|
||||||
|
void ergodox_led_raise_off (void);
|
||||||
|
void ergodox_led_adjust_off (void);
|
||||||
|
|
||||||
|
void ergodox_led_lower_set (uint8_t n);
|
||||||
|
void ergodox_led_raise_set (uint8_t n);
|
||||||
|
void ergodox_led_adjust_set (uint8_t n);
|
||||||
|
|
||||||
|
#endif /* VISUALIZER_H_ */
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -5,22 +5,28 @@
|
|||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
enum jj40_layers {
|
||||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
_QWERTY,
|
||||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
_MAC,
|
||||||
// entirely and just use numbers.
|
_LOWER,
|
||||||
#define _QWERTY 0
|
_MLWR,
|
||||||
#define _LOWER 1
|
_RAISE,
|
||||||
#define _RAISE 2
|
_MRSE,
|
||||||
#define _FUNC 3
|
_FUNC,
|
||||||
#define _ADJUST 16
|
_MFNC,
|
||||||
#define _DYN 6
|
_ADJUST,
|
||||||
|
_DYN
|
||||||
|
};
|
||||||
|
|
||||||
enum planck_keycodes {
|
enum jj40_keycodes {
|
||||||
QWERTY = SAFE_RANGE,
|
QWERTY = SAFE_RANGE,
|
||||||
|
MAC,
|
||||||
FUNC,
|
FUNC,
|
||||||
|
MFNC,
|
||||||
LOWER,
|
LOWER,
|
||||||
|
MLWR,
|
||||||
RAISE,
|
RAISE,
|
||||||
|
MRSE,
|
||||||
DYNAMIC_MACRO_RANGE
|
DYNAMIC_MACRO_RANGE
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -117,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-----------------------------------------------------------------------------------'
|
* `-----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = KEYMAP(\
|
[_ADJUST] = KEYMAP(\
|
||||||
M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
||||||
KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
||||||
_______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
TG(_MAC), _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
||||||
),
|
),
|
||||||
|
|
||||||
/* DYN: Macro Recording and Playback
|
/* DYN: Macro Recording and Playback
|
||||||
@@ -139,11 +145,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______,\
|
_______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______,\
|
||||||
_______, _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, _______, _______, _______, _______, _______,\
|
_______, _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, _______, _______, _______, _______, _______,\
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MAC]= KEYMAP(\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______\
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MLWR] = KEYMAP(\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MRSE] = KEYMAP(\
|
||||||
|
_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) ,\
|
||||||
|
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MFNC]= KEYMAP(\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\
|
||||||
|
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
)
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
void persistant_default_layer_set(uint16_t default_layer) {
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
eeconfig_update_default_layer(default_layer);
|
eeconfig_update_default_layer(default_layer);
|
||||||
default_layer_set(default_layer);
|
default_layer_set(default_layer);
|
||||||
@@ -179,10 +212,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
case MLWR:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_LOWER);
|
||||||
|
layer_on(_MLWR);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_LOWER);
|
||||||
|
layer_off(_MLWR);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case MRSE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_RAISE);
|
||||||
|
layer_on(_MRSE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_RAISE);
|
||||||
|
layer_off(_MRSE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case MFNC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_FUNC);
|
||||||
|
layer_on(_MFNC);
|
||||||
|
} else {
|
||||||
|
layer_off(_FUNC);
|
||||||
|
layer_off(_MFNC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||||
switch(id) {
|
switch(id) {
|
||||||
// These would trigger when you hit a key mapped as M(0)
|
// These would trigger when you hit a key mapped as M(0)
|
||||||
@@ -201,6 +266,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|||||||
END
|
END
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
case 2: // Word Select - MAC
|
||||||
|
if (record->event.pressed) {
|
||||||
|
return MACRO(
|
||||||
|
DOWN(KC_LALT), DOWN(KC_RIGHT), UP(KC_RIGHT), DOWN(KC_LSFT), DOWN(KC_LEFT), UP(KC_LEFT), UP(KC_LSFT), UP(KC_LALT),
|
||||||
|
END
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return MACRO_NONE;
|
return MACRO_NONE;
|
||||||
};
|
};
|
||||||
@@ -66,12 +66,14 @@ Activated when `Lower` and `Raise` are held together the above `qwerty` layer.
|
|||||||
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
||||||
* CAPS: Toggle caps lock.
|
* CAPS: Toggle caps lock.
|
||||||
* DYN: Enter `DYN` layer.
|
* DYN: Enter `DYN` layer.
|
||||||
|
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
|
||||||
|
MRSE with RAISE and MFNC with FUNC respectively.
|
||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
||||||
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
||||||
| | | | | | | | Prev | Vol- | Next | | |
|
| MAC | | | | | | | Prev | Vol- | Next | | |
|
||||||
| | | | | | | | | DYN | | | |
|
| | | | | | | | | DYN | | | |
|
||||||
|
|
||||||
##### DYN
|
##### DYN
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|||||||
//keyevent_t event = record->event;
|
//keyevent_t event = record->event;
|
||||||
|
|
||||||
/*KNOPS_MACRO*/
|
/*KNOPS_MACRO*/
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -134,6 +135,8 @@ bool process_record_user (uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
/*KNOPS_PROCESS_STATE*/
|
/*KNOPS_PROCESS_STATE*/
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -5,7 +5,10 @@
|
|||||||
#include "rev1.h"
|
#include "rev1.h"
|
||||||
#endif
|
#endif
|
||||||
#ifdef KEYBOARD_orthodox_rev3
|
#ifdef KEYBOARD_orthodox_rev3
|
||||||
#include "rev3.h"
|
#include "rev3.h"
|
||||||
|
#endif
|
||||||
|
#ifdef KEYBOARD_orthodox_rev3_teensy
|
||||||
|
#include "rev3_teensy.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Used to create a keymap using only KC_ prefixed keys
|
// Used to create a keymap using only KC_ prefixed keys
|
||||||
|
|||||||
@@ -45,11 +45,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define MATRIX_COL_PINS { D7, F4, F5, F6, F7, B1, B3, B2, B6 }
|
#define MATRIX_COL_PINS { D7, F4, F5, F6, F7, B1, B3, B2, B6 }
|
||||||
//#define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4, D7 }
|
//#define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4, D7 }
|
||||||
|
|
||||||
/*/
|
|
||||||
//TEENSY
|
|
||||||
#define MATRIX_ROW_PINS { D0, C6, C7, }
|
|
||||||
#define MATRIX_COL_PINS { D2, F5, F6, F7, B6, B5, B4, D7, D6 }
|
|
||||||
/*/
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
/* COL2ROW or ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
@@ -70,7 +65,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
/* key combination for command */
|
/* key combination for command */
|
||||||
#define IS_COMMAND() ( \
|
#define IS_COMMAND() ( \
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* ws2812 RGB LED */
|
/* ws2812 RGB LED */
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
BACKLIGHT_ENABLE = no
|
BACKLIGHT_ENABLE = no
|
||||||
|
BOOTLOADER = caterina
|
||||||
@@ -70,7 +70,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
/* key combination for command */
|
/* key combination for command */
|
||||||
#define IS_COMMAND() ( \
|
#define IS_COMMAND() ( \
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
|
||||||
)
|
)
|
||||||
|
|
||||||
/* ws2812 RGB LED */
|
/* ws2812 RGB LED */
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
BACKLIGHT_ENABLE = no
|
BACKLIGHT_ENABLE = no
|
||||||
|
BOOTLOADER = caterina
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
This is the c configuration file for the subproject
|
||||||
|
|
||||||
|
Copyright 2012 Jun Wako <[email protected]>
|
||||||
|
Copyright 2015 Jack Humbert
|
||||||
|
Copyright 2017 Art Ortenburger
|
||||||
|
|
||||||
|
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 REV3_TEENSY_CONFIG_H
|
||||||
|
#define REV3_TEENSY_CONFIG_H
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x3060
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER deductivemonkee
|
||||||
|
#define PRODUCT Monkeebs Orthodox Rev.3 (Teensy)
|
||||||
|
#define DESCRIPTION Bananadox
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
// Rows are doubled-up
|
||||||
|
#define MATRIX_ROWS 6
|
||||||
|
#define MATRIX_COLS 9
|
||||||
|
|
||||||
|
// wiring of each half
|
||||||
|
|
||||||
|
//REV.3 TEENSY
|
||||||
|
#define MATRIX_ROW_PINS { B0, C6, C7, }
|
||||||
|
#define MATRIX_COL_PINS { D2, F5, F6, D6, D7, B4, B5, B6, F7 }
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* define if matrix has ghost */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* number of backlight levels */
|
||||||
|
// #define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCING_DELAY 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
// #define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
// #define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* key combination for command */
|
||||||
|
#define IS_COMMAND() ( \
|
||||||
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_LGUI)) \
|
||||||
|
)
|
||||||
|
|
||||||
|
/* ws2812 RGB LED */
|
||||||
|
//#define RGB_DI_PIN D3
|
||||||
|
//#define RGBLIGHT_TIMER
|
||||||
|
//#define RGBLED_NUM 16 // Number of LEDs
|
||||||
|
//#define ws2812_PORTREG PORTD
|
||||||
|
//#define ws2812_DDRREG DDRD
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* disable debug print */
|
||||||
|
// #define NO_DEBUG
|
||||||
|
|
||||||
|
/* disable print */
|
||||||
|
// #define NO_PRINT
|
||||||
|
|
||||||
|
/* disable action features */
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT
|
||||||
|
//#define NO_ACTION_MACRO
|
||||||
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
This is the source file for the subproject
|
||||||
|
|
||||||
|
Copyright 2012 Jun Wako <[email protected]>
|
||||||
|
Copyright 2015 Jack Humbert
|
||||||
|
Copyright 2017 Art Ortenburger
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "orthodox.h"
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
|
||||||
|
//// // green led on
|
||||||
|
//// DDRD |= (1<<5);
|
||||||
|
//// PORTD &= ~(1<<5);
|
||||||
|
|
||||||
|
//// // orange led on
|
||||||
|
//// DDRB |= (1<<0);
|
||||||
|
//// PORTB &= ~(1<<0);
|
||||||
|
|
||||||
|
matrix_init_user();
|
||||||
|
};
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
This is the header file for the subproject
|
||||||
|
|
||||||
|
Copyright 2012 Jun Wako <[email protected]>
|
||||||
|
Copyright 2015 Jack Humbert
|
||||||
|
Copyright 2017 Art Ortenburger
|
||||||
|
|
||||||
|
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 REV3_TEENSY_H
|
||||||
|
#define REV3_TEENSY_H
|
||||||
|
|
||||||
|
#include "orthodox.h"
|
||||||
|
|
||||||
|
//void promicro_bootloader_jmp(bool program);
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
//void promicro_bootloader_jmp(bool program);
|
||||||
|
|
||||||
|
#define KEYMAP( \
|
||||||
|
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
|
||||||
|
L10, L11, L12, L13, L14, L15, L16, L18, R10, R12, R13, R14, R15, R16, R17, R18, \
|
||||||
|
L20, L21, L22, L23, L24, L25, L26, L27, L28, R20, R21, R22, R23, R24, R25, R26, R27, R28 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ L00, L01, L02, L03, L04, L05 }, \
|
||||||
|
{ L10, L11, L12, L13, L14, L15, L16, KC_NO, L18}, \
|
||||||
|
{ L20, L21, L22, L23, L24, L25, L26, L27, L28 }, \
|
||||||
|
{ R05, R04, R03, R02, R01, R00 }, \
|
||||||
|
{ R18, R17, R16, R15, R14, R13, R12, KC_NO, R10 }, \
|
||||||
|
{ R28, R27, R26, R25, R24, R23, R22, R21, R20 } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
BACKLIGHT_ENABLE = no
|
||||||
|
BOOTLOADER = halfkay
|
||||||
@@ -4,7 +4,6 @@ SRC += matrix.c \
|
|||||||
serial.c
|
serial.c
|
||||||
|
|
||||||
# MCU name
|
# MCU name
|
||||||
#MCU = at90usb1287
|
|
||||||
MCU = atmega32u4
|
MCU = atmega32u4
|
||||||
|
|
||||||
# Processor frequency.
|
# Processor frequency.
|
||||||
@@ -43,7 +42,6 @@ F_USB = $(F_CPU)
|
|||||||
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
||||||
# different sizes, comment this out, and the correct address will be loaded
|
# different sizes, comment this out, and the correct address will be loaded
|
||||||
# automatically (+60). See bootloader.mk for all options.
|
# automatically (+60). See bootloader.mk for all options.
|
||||||
BOOTLOADER = caterina
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
# Interrupt driven control endpoint task(+60)
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||||
|
|||||||
@@ -5,22 +5,28 @@
|
|||||||
|
|
||||||
extern keymap_config_t keymap_config;
|
extern keymap_config_t keymap_config;
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
enum planck_layers {
|
||||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
_QWERTY,
|
||||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
_MAC,
|
||||||
// entirely and just use numbers.
|
_LOWER,
|
||||||
#define _QWERTY 0
|
_MLWR,
|
||||||
#define _LOWER 1
|
_RAISE,
|
||||||
#define _RAISE 2
|
_MRSE,
|
||||||
#define _FUNC 3
|
_FUNC,
|
||||||
#define _ADJUST 16
|
_MFNC,
|
||||||
#define _DYN 6
|
_ADJUST,
|
||||||
|
_DYN
|
||||||
|
};
|
||||||
|
|
||||||
enum planck_keycodes {
|
enum planck_keycodes {
|
||||||
QWERTY = SAFE_RANGE,
|
QWERTY = SAFE_RANGE,
|
||||||
|
MAC,
|
||||||
FUNC,
|
FUNC,
|
||||||
|
MFNC,
|
||||||
LOWER,
|
LOWER,
|
||||||
|
MLWR,
|
||||||
RAISE,
|
RAISE,
|
||||||
|
MRSE,
|
||||||
DYNAMIC_MACRO_RANGE
|
DYNAMIC_MACRO_RANGE
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -117,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `-----------------------------------------------------------------------------------'
|
* `-----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = {
|
[_ADJUST] = {
|
||||||
{M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL },
|
{M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL },
|
||||||
{KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ },
|
{KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ },
|
||||||
{_______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ },
|
{TG(_MAC), _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ },
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ }
|
{_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ }
|
||||||
},
|
},
|
||||||
|
|
||||||
/* DYN: Macro Recording and Playback
|
/* DYN: Macro Recording and Playback
|
||||||
@@ -141,8 +147,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
[_MAC]= {
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______}
|
||||||
|
},
|
||||||
|
|
||||||
|
[_MLWR] = {
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||||
|
},
|
||||||
|
|
||||||
|
[_MRSE] = {
|
||||||
|
{_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) },
|
||||||
|
{_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) },
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
||||||
|
},
|
||||||
|
|
||||||
|
[_MFNC]= {
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) },
|
||||||
|
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||||
|
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
void persistant_default_layer_set(uint16_t default_layer) {
|
void persistant_default_layer_set(uint16_t default_layer) {
|
||||||
eeconfig_update_default_layer(default_layer);
|
eeconfig_update_default_layer(default_layer);
|
||||||
@@ -179,10 +213,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
case MLWR:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_LOWER);
|
||||||
|
layer_on(_MLWR);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_LOWER);
|
||||||
|
layer_off(_MLWR);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case MRSE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_RAISE);
|
||||||
|
layer_on(_MRSE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_RAISE);
|
||||||
|
layer_off(_MRSE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case MFNC:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_FUNC);
|
||||||
|
layer_on(_MFNC);
|
||||||
|
} else {
|
||||||
|
layer_off(_FUNC);
|
||||||
|
layer_off(_MFNC);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||||
switch(id) {
|
switch(id) {
|
||||||
// These would trigger when you hit a key mapped as M(0)
|
// These would trigger when you hit a key mapped as M(0)
|
||||||
@@ -201,6 +267,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|||||||
END
|
END
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
case 2: // Word Select - MAC
|
||||||
|
if (record->event.pressed) {
|
||||||
|
return MACRO(
|
||||||
|
DOWN(KC_LALT), DOWN(KC_RIGHT), UP(KC_RIGHT), DOWN(KC_LSFT), DOWN(KC_LEFT), UP(KC_LEFT), UP(KC_LSFT), UP(KC_LALT),
|
||||||
|
END
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return MACRO_NONE;
|
return MACRO_NONE;
|
||||||
};
|
};
|
||||||
@@ -65,12 +65,14 @@ Activated when `Lower` and `Raise` are held together the above `qwerty` layer.
|
|||||||
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
||||||
* CAPS: Toggle caps lock.
|
* CAPS: Toggle caps lock.
|
||||||
* DYN: Enter `DYN` layer.
|
* DYN: Enter `DYN` layer.
|
||||||
|
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
|
||||||
|
MRSE with RAISE and MFNC with FUNC respectively.
|
||||||
|
|
||||||
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
||||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||||
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
||||||
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
||||||
| | | | | | | | Prev | Vol- | Next | | |
|
| MAC | | | | | | | Prev | Vol- | Next | | |
|
||||||
| | | | | | | | | DYN | | | |
|
| | | | | | | | | DYN | | | |
|
||||||
|
|
||||||
##### DYN
|
##### DYN
|
||||||
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
#define BREATHING_PERIOD 3
|
#define BREATHING_PERIOD 3
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||||
|
|||||||
@@ -126,14 +126,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
case QWERTY:
|
case QWERTY:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
set_single_persistent_default_layer(_QWERTY);
|
set_single_persistent_default_layer(_QWERTY);
|
||||||
breathing_self_disable();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_self_disable();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case DATA:
|
case DATA:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
set_single_persistent_default_layer(_DATA);
|
set_single_persistent_default_layer(_DATA);
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_enable();
|
breathing_enable();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -144,7 +146,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
layer_on(_LOWER);
|
layer_on(_LOWER);
|
||||||
uint8_t default_layer = biton32(default_layer_state);
|
uint8_t default_layer = biton32(default_layer_state);
|
||||||
if (default_layer == _QWERTY) {
|
if (default_layer == _QWERTY) {
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_enable();
|
breathing_enable();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -153,7 +155,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
layer_off(_LOWER);
|
layer_off(_LOWER);
|
||||||
uint8_t default_layer = biton32(default_layer_state);
|
uint8_t default_layer = biton32(default_layer_state);
|
||||||
if (default_layer == _QWERTY) {
|
if (default_layer == _QWERTY) {
|
||||||
breathing_self_disable();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_self_disable();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
@@ -164,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
layer_on(_RAISE);
|
layer_on(_RAISE);
|
||||||
uint8_t default_layer = biton32(default_layer_state);
|
uint8_t default_layer = biton32(default_layer_state);
|
||||||
if (default_layer == _QWERTY) {
|
if (default_layer == _QWERTY) {
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_enable();
|
breathing_enable();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -173,7 +177,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
layer_off(_RAISE);
|
layer_off(_RAISE);
|
||||||
uint8_t default_layer = biton32(default_layer_state);
|
uint8_t default_layer = biton32(default_layer_state);
|
||||||
if (default_layer == _QWERTY) {
|
if (default_layer == _QWERTY) {
|
||||||
breathing_self_disable();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_self_disable();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
@@ -182,7 +188,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
case BACKLIT:
|
case BACKLIT:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
register_code(KC_RSFT);
|
register_code(KC_RSFT);
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
backlight_step();
|
backlight_step();
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -27,7 +27,10 @@
|
|||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
#define LEADER_TIMEOUT 300
|
#define LEADER_TIMEOUT 300
|
||||||
|
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
|
#endif
|
||||||
|
|
||||||
/* cbbrowne user configuration */
|
/* cbbrowne user configuration */
|
||||||
|
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(_RAISE);
|
layer_on(_RAISE);
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_set(2);
|
breathing_period_set(2);
|
||||||
breathing_pulse();
|
breathing_pulse();
|
||||||
#endif
|
#endif
|
||||||
@@ -235,7 +235,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(_LOWER);
|
layer_on(_LOWER);
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_set(2);
|
breathing_period_set(2);
|
||||||
breathing_pulse();
|
breathing_pulse();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -12,7 +12,9 @@
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
|
#endif
|
||||||
#define TAPPING_TERM 150
|
#define TAPPING_TERM 150
|
||||||
|
|
||||||
#define MUSIC_MASK (keycode != KC_NO)
|
#define MUSIC_MASK (keycode != KC_NO)
|
||||||
|
|||||||
@@ -123,22 +123,30 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|||||||
switch(id) {
|
switch(id) {
|
||||||
case MACRO_BREATH_TOGGLE:
|
case MACRO_BREATH_TOGGLE:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
breathing_toggle();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_toggle();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MACRO_BREATH_SPEED_INC:
|
case MACRO_BREATH_SPEED_INC:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
breathing_period_inc();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_period_inc();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MACRO_BREATH_SPEED_DEC:
|
case MACRO_BREATH_SPEED_DEC:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
breathing_period_dec();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_period_dec();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MACRO_BREATH_DEFAULT:
|
case MACRO_BREATH_DEFAULT:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
breathing_period_default();
|
#ifdef BACKLIGHT_BREATHING
|
||||||
|
breathing_period_default();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,18 @@
|
|||||||
SUBPROJECT_DEFAULT = rev4
|
SUBPROJECT_DEFAULT = rev4
|
||||||
|
|
||||||
MOUSEKEY_ENABLE = yes
|
MOUSEKEY_ENABLE = yes
|
||||||
BLUETOOTH_ENABLE = yes
|
|
||||||
EXTRAKEY_ENABLE = yes
|
EXTRAKEY_ENABLE = yes
|
||||||
AUDIO_ENABLE = yes
|
AUDIO_ENABLE = yes
|
||||||
|
|
||||||
|
ifeq ($(MCU),at90usb1286)
|
||||||
|
BOOTMAGIC_ENABLE = no
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
|
COMMAND_ENABLE = no
|
||||||
|
BLUETOOTH_ENABLE = no
|
||||||
|
else
|
||||||
|
BLUETOOTH_ENABLE = yes
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef QUANTUM_DIR
|
ifndef QUANTUM_DIR
|
||||||
include ../../../../Makefile
|
include ../../../../Makefile
|
||||||
endif
|
endif
|
||||||
@@ -25,9 +25,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define MATRIX_COLS 12
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
/* Planck PCB default pin-out */
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MIDI options
|
* MIDI options
|
||||||
@@ -69,7 +71,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* Only print user print statements */
|
/* Only print user print statements */
|
||||||
#define USER_PRINT
|
#define USER_PRINT
|
||||||
|
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
|
#endif
|
||||||
|
|
||||||
/* disable action features */
|
/* disable action features */
|
||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
|
|||||||
@@ -316,28 +316,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
case MACRO_BREATH_TOGGLE:
|
case MACRO_BREATH_TOGGLE:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_toggle();
|
breathing_toggle();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_SPEED_INC:
|
case MACRO_BREATH_SPEED_INC:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_inc();
|
breathing_period_inc();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_SPEED_DEC:
|
case MACRO_BREATH_SPEED_DEC:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_dec();
|
breathing_period_dec();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_DEFAULT:
|
case MACRO_BREATH_DEFAULT:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_default();
|
breathing_period_default();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -352,8 +360,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(LAYER_UPPER);
|
layer_on(LAYER_UPPER);
|
||||||
breathing_period_set(2);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_pulse();
|
breathing_period_set(2);
|
||||||
|
breathing_pulse();
|
||||||
|
#endif
|
||||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -367,8 +377,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(LAYER_LOWER);
|
layer_on(LAYER_LOWER);
|
||||||
breathing_period_set(2);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_pulse();
|
breathing_period_set(2);
|
||||||
|
breathing_pulse();
|
||||||
|
#endif
|
||||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -381,14 +393,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
case MACRO_FUNCTION:
|
case MACRO_FUNCTION:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
breathing_period_set(3);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_enable();
|
breathing_period_set(3);
|
||||||
|
breathing_enable();
|
||||||
|
#endif
|
||||||
layer_on(LAYER_FUNCTION);
|
layer_on(LAYER_FUNCTION);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
breathing_period_set(1);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_self_disable();
|
breathing_period_set(1);
|
||||||
|
breathing_self_disable();
|
||||||
|
#endif
|
||||||
layer_off(LAYER_FUNCTION);
|
layer_off(LAYER_FUNCTION);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -26,9 +26,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define MATRIX_COLS 12
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
/* Planck PCB default pin-out */
|
/* Planck PCB default pin-out */
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
||||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Prevent use of disabled MIDI features in the keymap */
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
//#define MIDI_ENABLE_STRICT 1
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
@@ -64,7 +66,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* Only print user print statements */
|
/* Only print user print statements */
|
||||||
#define USER_PRINT
|
#define USER_PRINT
|
||||||
|
|
||||||
|
#ifndef LIGHT_CONFIG_H
|
||||||
#define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
|
#endif
|
||||||
|
|
||||||
/* disable action features */
|
/* disable action features */
|
||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
|
|||||||
@@ -325,28 +325,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
case MACRO_BREATH_TOGGLE:
|
case MACRO_BREATH_TOGGLE:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_toggle();
|
breathing_toggle();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_SPEED_INC:
|
case MACRO_BREATH_SPEED_INC:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_inc();
|
breathing_period_inc();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_SPEED_DEC:
|
case MACRO_BREATH_SPEED_DEC:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_dec();
|
breathing_period_dec();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MACRO_BREATH_DEFAULT:
|
case MACRO_BREATH_DEFAULT:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_period_default();
|
breathing_period_default();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -361,8 +369,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(LAYER_UPPER);
|
layer_on(LAYER_UPPER);
|
||||||
breathing_period_set(2);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_pulse();
|
breathing_period_set(2);
|
||||||
|
breathing_pulse();
|
||||||
|
#endif
|
||||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -376,8 +386,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
layer_on(LAYER_LOWER);
|
layer_on(LAYER_LOWER);
|
||||||
breathing_period_set(2);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_pulse();
|
breathing_period_set(2);
|
||||||
|
breathing_pulse();
|
||||||
|
#endif
|
||||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -390,14 +402,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||||||
case MACRO_FUNCTION:
|
case MACRO_FUNCTION:
|
||||||
if (record->event.pressed)
|
if (record->event.pressed)
|
||||||
{
|
{
|
||||||
breathing_period_set(3);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_enable();
|
breathing_period_set(3);
|
||||||
|
breathing_enable();
|
||||||
|
#endif
|
||||||
layer_on(LAYER_FUNCTION);
|
layer_on(LAYER_FUNCTION);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
breathing_period_set(1);
|
#ifdef BACKLIGHT_BREATHING
|
||||||
breathing_self_disable();
|
breathing_period_set(1);
|
||||||
|
breathing_self_disable();
|
||||||
|
#endif
|
||||||
layer_off(LAYER_FUNCTION);
|
layer_off(LAYER_FUNCTION);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,27 +1,20 @@
|
|||||||
#ifndef CONFIG_USER_H
|
#ifndef CONFIG_USER_H
|
||||||
#define CONFIG_USER_H
|
#define CONFIG_USER_H
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "../../config.h"
|
||||||
|
#include "dudeofawesome.h"
|
||||||
|
|
||||||
#define TAPPING_TOGGLE 2
|
#define TAPPING_TOGGLE 2
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||||
|
|
||||||
#define WORKMAN_SOUND \
|
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||||
E__NOTE(_GS7), \
|
SONG(WORKMAN_SOUND), \
|
||||||
ED_NOTE(_E7), \
|
SONG(COLEMAK_SOUND), \
|
||||||
S__NOTE(_REST), \
|
SONG(DVORAK_SOUND) \
|
||||||
E__NOTE(_A6), \
|
}
|
||||||
S__NOTE(_REST), \
|
|
||||||
ED_NOTE(_GS6),
|
|
||||||
|
|
||||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
|
||||||
SONG(WORKMAN_SOUND), \
|
|
||||||
SONG(COLEMAK_SOUND), \
|
|
||||||
SONG(DVORAK_SOUND) \
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MUSIC_MASK (keycode != KC_NO)
|
#define MUSIC_MASK (keycode != KC_NO)
|
||||||
|
|||||||
@@ -213,63 +213,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
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 QWERTY:
|
case QWERTY:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
set_single_persistent_default_layer(_QWERTY);
|
set_single_persistent_default_layer(_QWERTY);
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case WORKMAN:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
set_single_persistent_default_layer(_WORKMAN);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case COLEMAK:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
set_single_persistent_default_layer(_COLEMAK);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case DVORAK:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
set_single_persistent_default_layer(_DVORAK);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case LOWER:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case RAISE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case BACKLIT:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
register_code(KC_RSFT);
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
|
||||||
backlight_step();
|
|
||||||
#endif
|
|
||||||
PORTE &= ~(1<<6);
|
|
||||||
} else {
|
|
||||||
unregister_code(KC_RSFT);
|
|
||||||
PORTE |= (1<<6);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return true;
|
return false;
|
||||||
|
case WORKMAN:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
set_single_persistent_default_layer(_WORKMAN);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case COLEMAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
set_single_persistent_default_layer(_COLEMAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case DVORAK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
set_single_persistent_default_layer(_DVORAK);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case LOWER:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_LOWER);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case RAISE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
layer_on(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
} else {
|
||||||
|
layer_off(_RAISE);
|
||||||
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
case BACKLIT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_RSFT);
|
||||||
|
#ifdef BACKLIGHT_ENABLE
|
||||||
|
backlight_step();
|
||||||
|
#endif
|
||||||
|
PORTE &= ~(1<<6);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_RSFT);
|
||||||
|
PORTE |= (1<<6);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bool numpadActive = false;
|
||||||
|
|
||||||
|
float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND);
|
||||||
|
|
||||||
|
void matrix_scan_user (void) {
|
||||||
|
uint8_t layer = biton32(layer_state);
|
||||||
|
|
||||||
|
switch (layer) {
|
||||||
|
case _NUMPAD:
|
||||||
|
if (!numpadActive) {
|
||||||
|
numpadActive = true;
|
||||||
|
PLAY_SONG(tone_numpad_on);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (numpadActive) {
|
||||||
|
numpadActive = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
- Dvorak
|
- Dvorak
|
||||||
- Colemak
|
- Colemak
|
||||||
- Numpad layer
|
- Numpad layer
|
||||||

|

|
||||||
- Audio
|
- Audio
|
||||||
|
|
||||||
## Building and flashing
|
## Building and flashing
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
AUDIO_ENABLE = yes # Audio output on port C6
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"identifier": "FEED:6061:0002"
|
"identifier": "FEED:6061:0002",
|
||||||
|
"bootloader": "qmk-dfu"
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "rgb.h"
|
#include "s60_x.h"
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
#ifdef DEBOUNCING_DELAY
|
||||||
|
#undef DEBOUNCING_DELAY
|
||||||
|
#endif
|
||||||
#define DEBOUNCING_DELAY 2
|
#define DEBOUNCING_DELAY 2
|
||||||
#define MOUSEKEY_INTERVAL 10
|
#define MOUSEKEY_INTERVAL 10
|
||||||
#define MOUSEKEY_DELAY 0
|
#define MOUSEKEY_DELAY 0
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
/*
|
/*
|
||||||
* Led Configuration
|
* Led Configuration
|
||||||
*/
|
*/
|
||||||
@@ -222,6 +223,7 @@ static inline void mod_layer_with_rgb(keyrecord_t *record, uint8_t layer) {
|
|||||||
bf_set_led(currentLayer);
|
bf_set_led(currentLayer);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Custom keycodes
|
* Custom keycodes
|
||||||
@@ -240,12 +242,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
SEND_STRING(" ");
|
SEND_STRING(" ");
|
||||||
}
|
}
|
||||||
return false; break;
|
return false; break;
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
case BF_NUMS:
|
case BF_NUMS:
|
||||||
mod_layer_with_rgb(record, NUMS);
|
mod_layer_with_rgb(record, NUMS);
|
||||||
return false; break;
|
return false; break;
|
||||||
case BF_MOVE:
|
case BF_MOVE:
|
||||||
mod_layer_with_rgb(record, MOVE);
|
mod_layer_with_rgb(record, MOVE);
|
||||||
return false; break;
|
return false; break;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -255,7 +259,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
* Active Routines
|
* Active Routines
|
||||||
*/
|
*/
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
bf_set_led(QWERTY);
|
bf_set_led(QWERTY);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
// Runs constantly in the background, in a loop.
|
// Runs constantly in the background, in a loop.
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ DEBUG_ENABLE = no
|
|||||||
CONSOLE_ENABLE = no
|
CONSOLE_ENABLE = no
|
||||||
TAP_DANCE_ENABLE = no
|
TAP_DANCE_ENABLE = no
|
||||||
MOUSEKEY_ENABLE = no
|
MOUSEKEY_ENABLE = no
|
||||||
RGBLIGHT_ENABLE = yes
|
ifdef RGBLIGHT_ENABLE
|
||||||
RGBLIGHT_ANIMATION = yes
|
RGBLIGHT_ANIMATION = yes
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq (${FORCE_NKRO},yes)
|
ifeq (${FORCE_NKRO},yes)
|
||||||
OPT_DEFS += -DFORCE_NKRO
|
OPT_DEFS += -DFORCE_NKRO
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
/* Copyright 2015-2016 Matthias Schmidtt
|
||||||
|
*
|
||||||
|
* 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 KEYMAP_ITALIAN
|
||||||
|
#define KEYMAP_ITALIAN
|
||||||
|
|
||||||
|
#include "keymap.h"
|
||||||
|
|
||||||
|
// Alt gr
|
||||||
|
#define ALGR(kc) RALT(kc)
|
||||||
|
#define IT_ALGR KC_RALT
|
||||||
|
|
||||||
|
// normal characters
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IT_A KC_A
|
||||||
|
#define IT_B KC_B
|
||||||
|
#define IT_C KC_C
|
||||||
|
#define IT_D KC_D
|
||||||
|
#define IT_E KC_E
|
||||||
|
#define IT_F KC_F
|
||||||
|
#define IT_G KC_G
|
||||||
|
#define IT_H KC_H
|
||||||
|
#define IT_I KC_I
|
||||||
|
#define IT_J KC_J
|
||||||
|
#define IT_K KC_K
|
||||||
|
#define IT_L KC_L
|
||||||
|
#define IT_M KC_M
|
||||||
|
#define IT_N KC_N
|
||||||
|
#define IT_O KC_O
|
||||||
|
#define IT_P KC_P
|
||||||
|
#define IT_Q KC_Q
|
||||||
|
#define IT_R KC_R
|
||||||
|
#define IT_S KC_S
|
||||||
|
#define IT_T KC_T
|
||||||
|
#define IT_U KC_U
|
||||||
|
#define IT_V KC_V
|
||||||
|
#define IT_W KC_W
|
||||||
|
#define IT_X KC_X
|
||||||
|
#define IT_Y KC_Y
|
||||||
|
#define IT_Z KC_Z
|
||||||
|
|
||||||
|
#define IT_0 KC_0
|
||||||
|
#define IT_1 KC_1
|
||||||
|
#define IT_2 KC_2
|
||||||
|
#define IT_3 KC_3
|
||||||
|
#define IT_4 KC_4
|
||||||
|
#define IT_5 KC_5
|
||||||
|
#define IT_6 KC_6
|
||||||
|
#define IT_7 KC_7
|
||||||
|
#define IT_8 KC_8
|
||||||
|
#define IT_9 KC_9
|
||||||
|
|
||||||
|
#define IT_DOT KC_DOT
|
||||||
|
#define IT_COMM KC_COMM
|
||||||
|
|
||||||
|
#define IT_EACC KC_LBRC // è, é, [, {
|
||||||
|
#define IT_PLUS KC_RBRC // +, *, ], }
|
||||||
|
#define IT_OACC KC_SCLN // ò, ç, @,
|
||||||
|
#define IT_AACC KC_QUOT // à, °, #,
|
||||||
|
#define IT_UACC KC_BSLS // ù, §, ,
|
||||||
|
#define IT_IACC KC_EQL // ì, ^, ,
|
||||||
|
|
||||||
|
#define IT_APOS KC_MINS // ', ?, ,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define IT_BKSL KC_GRAVE // backslash \, |
|
||||||
|
|
||||||
|
|
||||||
|
#define IT_ACUT // accent acute ´ and grave `
|
||||||
|
|
||||||
|
#define IT_LESS KC_NUBS // < and > and |
|
||||||
|
#define IT_MINS KC_SLSH // - and _
|
||||||
|
|
||||||
|
// shifted characters
|
||||||
|
#define IT_PIPE LSFT(IT_BKSL) // °
|
||||||
|
#define IT_EXLM LSFT(KC_1) // !
|
||||||
|
#define IT_DQOT LSFT(KC_2) // "
|
||||||
|
#define IT_STRL LSFT(KC_3) // £
|
||||||
|
#define IT_DLR LSFT(KC_4) // $
|
||||||
|
#define IT_PERC LSFT(KC_5) // %
|
||||||
|
#define IT_AMPR LSFT(KC_6) // &
|
||||||
|
#define IT_SLSH LSFT(KC_7) // /
|
||||||
|
#define IT_LPRN LSFT(KC_8) // (
|
||||||
|
#define IT_RPRN LSFT(KC_9) // )
|
||||||
|
#define IT_EQL LSFT(KC_0) // =
|
||||||
|
#define IT_QST LSFT(IT_APOS) // ?
|
||||||
|
#define IT_CRC LSFT(IT_IACC) // ^
|
||||||
|
#define IT_ASTR LSFT(IT_PLUS) // *
|
||||||
|
#define IT_MORE LSFT(IT_LESS) // >
|
||||||
|
#define IT_COLN LSFT(IT_DOT) // :
|
||||||
|
#define IT_SCLN LSFT(IT_COMM) // ;
|
||||||
|
#define IT_UNDS LSFT(IT_MINS) // _
|
||||||
|
|
||||||
|
// Alt Gr-ed characters
|
||||||
|
#define IT_LCBR ALGR(KC_7) // {
|
||||||
|
#define IT_LBRC ALGR(IT_EACC) // [
|
||||||
|
#define IT_RBRC ALGR(IT_PLUS) // ]
|
||||||
|
#define IT_RCBR ALGR(KC_0) // }
|
||||||
|
#define IT_AT ALGR(IT_OACC) // @
|
||||||
|
#define IT_EURO ALGR(KC_E) // €
|
||||||
|
#define IT_PIPE LSFT(IT_BKSL) // |
|
||||||
|
#define IT_SHRP ALGR(IT_AACC) // #
|
||||||
|
|
||||||
|
#define IT_X_PLUS X_RBRACKET // #
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/* Copyright 2018 Daniel Rodríguez
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
/* Sendstring definitions for the Spanish layout */
|
||||||
|
#ifndef SENDSTRING_SPANISH
|
||||||
|
#define SENDSTRING_SPANISH
|
||||||
|
|
||||||
|
#include "keymap_spanish.h"
|
||||||
|
|
||||||
|
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
|
0, 1, 1, 1, 1, 1, 1, 0,
|
||||||
|
1, 1, 1, 0, 0, 0, 0, 1,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
|
0, 0, 1, 1, 0, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
|
|
||||||
|
1, 1, 1, 0, 0, 0, 1, 1,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Until an ALT table/functionality is added, the following symbols will not work:
|
||||||
|
# @ [ ] { } | ~
|
||||||
|
*/
|
||||||
|
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
||||||
|
/* , ! " # $ % & ' */
|
||||||
|
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
|
||||||
|
/* ( ) * + , - . / */
|
||||||
|
KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
/* 8 9 : ; < = > ? */
|
||||||
|
KC_8, KC_9, KC_DOT, KC_COMM, KC_NUBS, KC_0, KC_NUBS, ES_APOS,
|
||||||
|
/* @ A B C D E F G */
|
||||||
|
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
/* X Y Z [ \ ] ^ _ */
|
||||||
|
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, ES_GRV, ES_MINS,
|
||||||
|
ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
combo_t key_combos[] = {
|
combo_t key_combos[COMBO_COUNT] = {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
#ifndef USERSPACE
|
#ifndef USERSPACE
|
||||||
#define USERSPACE
|
#define USERSPACE
|
||||||
|
|
||||||
|
#ifdef TAPPING_TOGGLE
|
||||||
|
#undef TAPPING_TOGGLE
|
||||||
|
#endif
|
||||||
#define TAPPING_TOGGLE 2
|
#define TAPPING_TOGGLE 2
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
@@ -11,6 +14,12 @@
|
|||||||
E__NOTE(_A6), \
|
E__NOTE(_A6), \
|
||||||
S__NOTE(_REST), \
|
S__NOTE(_REST), \
|
||||||
ED_NOTE(_GS6),
|
ED_NOTE(_GS6),
|
||||||
|
|
||||||
|
#define NUMPAD_ON_SOUND \
|
||||||
|
E__NOTE(_C6), \
|
||||||
|
ED_NOTE(_BF5), \
|
||||||
|
S__NOTE(_C6), \
|
||||||
|
ED_NOTE(_BF5),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Reference in new issue
Block a user