Merge remote-tracking branch 'qmk/master' into merge-2022-07-11

This commit is contained in:
Ilya Zhuravlev
2022-07-11 18:40:32 -06:00
7121 changed files with 170387 additions and 28117 deletions
-2
View File
@@ -75,5 +75,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-2
View File
@@ -106,8 +106,6 @@
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
// #define WS2812_LED_N 2
// #define RGBLED_NUM WS2812_LED_N
+48
View File
@@ -0,0 +1,48 @@
/* Copyright 2015-2017 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
+261
View File
@@ -0,0 +1,261 @@
/* Copyright 2015-2017 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "muse.h"
enum planck_layers {
_QWERTY,
_COLEMAK,
_LOWER,
_RAISE,
_ADJUST
};
enum planck_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define SHENT MT(MOD_RSFT, KC_ENT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |shent |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_GESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHENT ,
_______,KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_planck_grid(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_GESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHENT ,
_______,KC_LCTL, KC_LALT,KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk| | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
print("mode just switched to qwerty and this is a huge string\n");
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
}
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update(bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
#else
tap_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
#else
tap_code(KC_PGUP);
#endif
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
static bool play_sound = false;
#endif
if (active) {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_song); }
#endif
layer_on(_ADJUST);
} else {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_gb_song); }
#endif
layer_off(_ADJUST);
}
#ifdef AUDIO_ENABLE
play_sound = true;
#endif
break;
}
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
}
}
return true;
}
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}
@@ -0,0 +1,2 @@
# Abhixec's Layout
@@ -0,0 +1 @@
SRC += muse.c
@@ -0,0 +1,34 @@
// Copyright 2021 Anton Kavalkou (@antosha417)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#endif
/*
* MIDI options
*/
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
#define TAPPING_TERM 200
#define IGNORE_MOD_TAP_INTERRUPT
#define COMBO_TERM 30
@@ -0,0 +1,452 @@
// Copyright 2021 Anton Kavalkou (@antosha417)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#include "sendstring_dvorak.h"
#include "muse.h"
enum layers {
_QWERTY,
_DVORAK,
_LOWER,
_RAISE,
_TOP,
_BOTTOM,
_ADJUST
};
float USSR_SONG[][2] = SONG(B__NOTE(_G6),
B__NOTE(_C7), W__NOTE(_G6), H__NOTE(_A6),
B__NOTE(_B6), W__NOTE(_E6), W__NOTE(_E6),
B__NOTE(_A6), W__NOTE(_G6), H__NOTE(_F6),
B__NOTE(_G6), W__NOTE(_C6), W__NOTE(_C6),
B__NOTE(_D6), W__NOTE(_D6), W__NOTE(_E6),
B__NOTE(_D6), W__NOTE(_D6), W__NOTE(_G6),
B__NOTE(_F6), W__NOTE(_G6), W__NOTE(_A6),
B__NOTE(_B6),
);
enum keycodes {
QWERTY = SAFE_RANGE,
RUS_LANG,
EN_LANG,
HEB_LANG,
BRUDERSCHAFT,
VIM_SAVE,
#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \
keycode,
#include "mod_tap_keys.h"
#undef MOD_TAP_KEY
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define TOP MO(_TOP)
#define BOTTOM MO(_BOTTOM)
#define LANG TG(_DVORAK)
#define KC_CAD LALT(LCTL(KC_DEL))
#define KC_CAH LALT(LCTL(KC_HOME))
#define E_SFT LSFT_T(KC_E)
#define D_SFT LSFT_T(KC_D)
#define A_ALT LALT_T(KC_A)
#define O_GUI LGUI_T(KC_O)
#define U_CTRL LCTL_T(KC_U)
#define T_SFT RSFT_T(KC_T)
#define K_SFT RSFT_T(KC_K)
#define S_ALT RALT_T(KC_S)
#define N_GUI RGUI_T(KC_N)
#define H_CTRL RCTL_T(KC_H)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | | Q | W | E | R | T | Y | U | I | O | P | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | A | S | D | F | G | H | J | K | L | ; | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Z | X | C | V | B | N | M | , | . | / | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |Bottom| SPC |Lower |Raise | SPC | TOP | | | |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
_______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, _______,
_______, A_ALTQ, S_GUIQ, D_SFT, F_CTLQ, KC_G, KC_H, J_CTLQ, K_SFT, L_GUIQ, SCLN_Q, _______,
_______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
_______, _______, _______, BOTTOM, KC_SPC, LOWER, RAISE, KC_SPC, TOP, _______, _______, _______
),
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | | ' | , | . | P | Y | F | G | C | R | L | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | A | O | E | U | I | D | H | T | N | S | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | ; | Q | J | K | X | B | M | W | V | Z | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_planck_grid(
_______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______,
_______, A_ALT, O_GUI, E_SFT, U_CTRL, KC_I, KC_D, H_CTRL, T_SFT, N_GUI, S_ALT, _______,
_______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | F11 | _ | - | ~ | % | ' | | ^ | ` | \ | | | - |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | [ | { | + | ( | = | * | ) | ! | } | ] | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | CAD | CAH | | LANG | | | EN | HEB | RUS | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | RCTL | | | | [{}] | | | PSCR | PGDN | PGUP | |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
KC_F11, KC_UNDS, KC_MINS, KC_TILD, KC_PERC, KC_QUOT, _______, KC_CIRC, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS,
KC_DEL, KC_LBRC, KC_LCBR, KC_PLUS, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_EXLM, KC_RCBR, KC_RBRC, KC_BSPC,
_______, KC_CAD, KC_CAH, _______, LANG, _______, _______, HEB_LANG, EN_LANG, RUS_LANG, _______, _______,
_______, KC_RCTL, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_PGDN, KC_PGUP, _______
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | F11 | | | $ | & | | : | ? | @ | # | / | F12 |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | 7 | 5 | 3 | 1 | 9 | 0 | 2 | 4 | 6 | 8 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F5 | F3 | F1 | F9 | F10 | F2 | F4 | F6 | F8 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | [{}] | | Vol- | End | Home | Vol+ |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_grid(
KC_F11, _______, _______, KC_DLR, KC_AMPR, _______, KC_COLON, KC_QUES, KC_AT, KC_HASH, KC_SLSH, KC_F12,
_______, KC_7, KC_5, KC_3, KC_1, KC_9, KC_0, KC_2, KC_4, KC_6, KC_8, KC_BSPC,
_______, KC_F7, KC_F5, KC_F3, KC_F1, KC_F9, KC_F10, KC_F2, KC_F4, KC_F6, KC_F8, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_HOME, KC_VOLU
),
/* TOP
* ,-----------------------------------------------------------------------------------
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | Down | Up | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | [{}] | | | |
* `-----------------------------------------------------------------------------------'
*/
[_TOP] = LAYOUT_planck_grid(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DOWN, KC_UP, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* BOTTOM
* ,-----------------------------------------------------------------------------------
* | | | | | | | | | | | -> | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | <- | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | vold | volu | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | [{}] | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_BOTTOM] = LAYOUT_planck_grid(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RGHT, _______,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Aud on|Audoff| | | | | | |Dvorak| | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Mus on|Musoff| | | | | | | | | USSR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | [{}] | [{}] | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, AU_ON, AU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, BRUDERSCHAFT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
void keyboard_post_init_user(void) {
layer_on(_DVORAK);
}
void set_english_language(void) {
layer_on(_DVORAK);
SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_1)))));
}
void set_russian_language(void) {
layer_off(_DVORAK);
SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_2)))));
}
void set_hebrew_language(void) {
layer_off(_DVORAK);
SEND_STRING(SS_LSFT(SS_LCTL(SS_LGUI(SS_TAP(X_3)))));
}
#define CASE(keycode, key_pressed_action, key_released_action) \
case (keycode): \
if (record->event.pressed) { \
key_pressed_action; \
} else { \
key_released_action; \
} \
return false; \
break;
#define CASE_PRESSED(keycode, key_pressed_action) CASE(keycode, key_pressed_action, {});
#define CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action) \
CASE(keycode, { \
keycode ## _TIMER = timer_read(); \
IS_ ## keycode ## _ACTIVE = true; \
}, { \
if(IS_ ## keycode ## _MOD_ACTIVE) { \
mod_off_action; \
} else if (IS_ ## keycode ## _ACTIVE) { \
tap_action; \
} \
IS_ ## keycode ## _MOD_ACTIVE = false; \
IS_ ## keycode ## _ACTIVE = false; \
});
#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \
uint16_t keycode ## _TIMER = 0; \
bool IS_ ## keycode ## _ACTIVE = false; \
bool IS_ ## keycode ## _MOD_ACTIVE = false;
#include "mod_tap_keys.h"
#undef MOD_TAP_KEY
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
CASE_PRESSED(BRUDERSCHAFT, PLAY_SONG(USSR_SONG));
CASE_PRESSED(EN_LANG, set_english_language());
CASE_PRESSED(RUS_LANG, set_russian_language());
CASE_PRESSED(HEB_LANG, set_hebrew_language());
CASE_PRESSED(VIM_SAVE, {set_english_language(); SEND_STRING(SS_TAP(X_ESC)SS_LSFT(SS_TAP(X_SCLN))SS_TAP(X_W)SS_TAP(X_ENT));});
#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \
CASE_MOD_TAP_KEY(keycode, tap_action, mod_off_action);
#include "mod_tap_keys.h"
#undef MOD_TAP_KEY
}
#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \
if (IS_ ## keycode ## _ACTIVE && !IS_ ## keycode ## _MOD_ACTIVE) { \
if (timer_elapsed(keycode ## _TIMER) <= TAPPING_TERM) { \
tap_action; \
IS_ ## keycode ## _ACTIVE = false; \
} \
}
#include "mod_tap_keys.h"
#undef MOD_TAP_KEY
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
#else
tap_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
#else
tap_code(KC_PGUP);
#endif
}
}
return false;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
layer_off(_ADJUST);
}
break;
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
#ifdef AUDIO_ENABLE
stop_all_notes();
#endif
}
}
return true;
}
void matrix_scan_user(void) {
#define MOD_TAP_KEY(keycode, tap_action, mod_on_action, mod_off_action) \
if (IS_ ## keycode ## _ACTIVE) { \
if (timer_elapsed(keycode ## _TIMER) > TAPPING_TERM) { \
mod_on_action; \
IS_ ## keycode ## _MOD_ACTIVE = true; \
} \
}
#include "mod_tap_keys.h"
#undef MOD_TAP_KEY
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
enum combo_events {
// combos for dvorak layer
RU_COMBO,
EN_COMBO,
HEB_COMBO,
ESC_COMBO,
TAB_COMBO,
ENT_COMBO,
DEL_COMBO,
SAVE_COMBO,
BSPC_COMBO,
BSPCW_COMBO,
// combos for qwerty layer
RUQ_COMBO,
ENQ_COMBO,
HEBQ_COMBO,
ESCQ_COMBO,
TABQ_COMBO,
ENTQ_COMBO,
DELQ_COMBO,
SAVEQ_COMBO,
BSPCQ_COMBO,
BSPCWQ_COMBO,
COMBO_LENGTH
};
uint16_t COMBO_LEN = COMBO_LENGTH;
const uint16_t PROGMEM ru_combo[] = {KC_R, U_CTRL, COMBO_END};
const uint16_t PROGMEM en_combo[] = {U_CTRL, S_ALT, COMBO_END};
const uint16_t PROGMEM heb_combo[] = {KC_I, KC_V, COMBO_END};
const uint16_t PROGMEM esc_combo[] = {H_CTRL, U_CTRL, COMBO_END};
const uint16_t PROGMEM tab_combo[] = {T_SFT, A_ALT, COMBO_END};
const uint16_t PROGMEM ent_combo[] = {E_SFT, N_GUI, COMBO_END};
const uint16_t PROGMEM del_combo[] = {KC_D, E_SFT, COMBO_END};
const uint16_t PROGMEM bspc_combo[] = {KC_C, H_CTRL, COMBO_END};
const uint16_t PROGMEM bspcw_combo[] = {N_GUI, U_CTRL, COMBO_END};
const uint16_t PROGMEM save_combo[] = {O_GUI, H_CTRL, COMBO_END};
const uint16_t PROGMEM ruq_combo[] = {KC_O, F_CTLQ, COMBO_END};
const uint16_t PROGMEM enq_combo[] = {F_CTLQ, SCLN_Q, COMBO_END};
const uint16_t PROGMEM hebq_combo[] = {KC_G, KC_DOT, COMBO_END};
const uint16_t PROGMEM escq_combo[] = {F_CTLQ, J_CTLQ, COMBO_END};
const uint16_t PROGMEM tabq_combo[] = {K_SFT, A_ALTQ, COMBO_END};
const uint16_t PROGMEM entq_combo[] = {D_SFT, L_GUIQ, COMBO_END};
const uint16_t PROGMEM delq_combo[] = {KC_H, D_SFT, COMBO_END};
const uint16_t PROGMEM bspcq_combo[] = {KC_I, J_CTLQ, COMBO_END};
const uint16_t PROGMEM bspcwq_combo[] = {L_GUIQ, F_CTLQ, COMBO_END};
const uint16_t PROGMEM saveq_combo[] = {S_GUIQ, J_CTLQ, COMBO_END};
combo_t key_combos[] = {
[RU_COMBO] = COMBO(ru_combo, RUS_LANG),
[EN_COMBO] = COMBO(en_combo, EN_LANG),
[HEB_COMBO] = COMBO(heb_combo, HEB_LANG),
[ESC_COMBO] = COMBO(esc_combo, KC_ESC),
[TAB_COMBO] = COMBO(tab_combo, KC_TAB),
[ENT_COMBO] = COMBO(ent_combo, KC_ENT),
[DEL_COMBO] = COMBO(del_combo, KC_DEL),
[BSPC_COMBO] = COMBO(bspc_combo, KC_BSPC),
[SAVE_COMBO] = COMBO(save_combo, VIM_SAVE),
[BSPCW_COMBO] = COMBO(bspcw_combo, A(KC_BSPC)),
[RUQ_COMBO] = COMBO(ruq_combo, RUS_LANG),
[ENQ_COMBO] = COMBO(enq_combo, EN_LANG),
[HEBQ_COMBO] = COMBO(hebq_combo, HEB_LANG),
[ESCQ_COMBO] = COMBO(escq_combo, KC_ESC),
[TABQ_COMBO] = COMBO(tabq_combo, KC_TAB),
[ENTQ_COMBO] = COMBO(entq_combo, KC_ENT),
[DELQ_COMBO] = COMBO(delq_combo, KC_DEL),
[BSPCQ_COMBO] = COMBO(bspcq_combo, KC_BSPC),
[SAVEQ_COMBO] = COMBO(saveq_combo, VIM_SAVE),
[BSPCWQ_COMBO] = COMBO(bspcwq_combo, A(KC_BSPC)),
};
@@ -0,0 +1,14 @@
// Copyright 2021 Anton Kavalkou (@antosha417)
// SPDX-License-Identifier: GPL-2.0-or-later
// MOD_TAP_KEY(key, tap_action, mod_on_action, mod_off_action)
MOD_TAP_KEY(S_GUIQ, tap_code(KC_S), {layer_on(_DVORAK); register_code(KC_LGUI);}, {layer_off(_DVORAK); unregister_code(KC_LGUI);})
MOD_TAP_KEY(L_GUIQ, tap_code(KC_L), {layer_on(_DVORAK); register_code(KC_RGUI);}, {layer_off(_DVORAK); unregister_code(KC_RGUI);})
MOD_TAP_KEY(F_CTLQ, tap_code(KC_F), {layer_on(_DVORAK); register_code(KC_LCTL);}, {layer_off(_DVORAK); unregister_code(KC_LCTL);})
MOD_TAP_KEY(J_CTLQ, tap_code(KC_J), {layer_on(_DVORAK); register_code(KC_RCTL);}, {layer_off(_DVORAK); unregister_code(KC_RCTL);})
MOD_TAP_KEY(A_ALTQ, tap_code(KC_A), {layer_on(_DVORAK); register_code(KC_LALT);}, {layer_off(_DVORAK); unregister_code(KC_LALT);})
MOD_TAP_KEY(SCLN_Q, tap_code(KC_SCLN), {layer_on(_DVORAK); register_code(KC_RALT);}, {layer_off(_DVORAK); unregister_code(KC_RALT);})
@@ -0,0 +1,11 @@
# How to install:
make planck/rev6:antosha417:flash
# Useful:
* [keycodes](https://docs.qmk.fm/#/keycodes)
* [string keycodes](https://github.com/qmk/qmk_firmware/blob/master/quantum/send_string_keycodes.h)
# Todo:
[ ] sync with corne
@@ -0,0 +1,4 @@
SRC += muse.c
AUDIO_ENABLE = yes
COMBO_ENABLE = yes
@@ -1,15 +0,0 @@
# Planck Layout
Current keymap is for rev4.
Audio is disabled in favor of RGB.
Check out [user readme](../../../../users/bbaserdem/README.md) for more info.
# Build
Get keyboard into reset mode, and then;
```
make planck/rev4:bbaserdem:dfu
```
Either use sudo or set up udev rules.
@@ -1,24 +0,0 @@
#ifndef CONFIG_KEYMAP_H
#define CONFIG_KEYMAP_H
#include "config_common.h"
// LED strip stuff
#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN B2
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 6
#define RGBLIGHT_SAT_STEP 12
#define RGBLIGHT_VAL_STEP 20
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 6
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 6
#define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 6
#define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 2000
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
#endif
#define ENCODER_RESOLUTION 4
#endif
@@ -1,28 +0,0 @@
/*
* PLANCK - Dvorak turkish
* Keymap by @bbaserdem
* Dvorak layout with multiple features
* Most of the code is in the "user" directory.
* Check qmk_firmware/users/bbaserdem for the main part of the code
*/
#include "planck.h"
#include "bbaserdem.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Main Dvorak layer
[_DV] = LAYOUT_planck_wrapper(DVORAK),
// Turkish and special character overlay
[_AL] = LAYOUT_planck_wrapper(ALTCHAR),
// Gaming layer
[_GA] = LAYOUT_planck_wrapper(GAME),
// Numbers layer
[_NU] = LAYOUT_planck_wrapper(NUMBERS),
// Settings layer
[_SE] = LAYOUT_planck_wrapper(SETTINGS),
// Mouse emulation layer
[_MO] = LAYOUT_planck_wrapper(MOUSE),
// Music mode
[_MU] = LAYOUT_planck_wrapper(MUSIC),
};
@@ -1,7 +0,0 @@
# Build options
BACKLIGHT_ENABLE = yes # Switch LEDs
MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
RGBLIGHT_ENABLE = yes # LED strips
TAP_DANCE_ENABLE = no # Use multi-tap features
AUDIO_ENABLE = yes # Audio stuff
+1 -1
View File
@@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -0,0 +1,3 @@
build
printout
scripts
@@ -0,0 +1,12 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#define ENABLE_COMPILE_KEYCODE
// Userspace defines
// #define SPLIT_SPACE
// #define NO_SPECIAL_SHIFT
#define LAYER_EN QGMLWB_EN
#define LAYER_NO QGMLWB_NO
@@ -0,0 +1,4 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#include "src/layouts.h"
@@ -0,0 +1,82 @@
# PROG-QGMLWB
The prog-qgmlwb layout is a QMK firmware layout for the Planck keyboard.
For letter placement, the layout uses the optimized QGMLWB layout from the [Carpalx project](http://mkweb.bcgsc.ca/carpalx).
> The carpalx project introduces a quantitative model for typing effort and applies it to (a) evaluate QWERTY and popular alternatives, such as Dvorak and Colemak and (b) find the keyboard layouts that minimize typing effort for a given set of input documents.
Carpalx named "QGMLWB" as the fully optimized layout according to the English alphabet, with an effort reduction of approximately 44.4%.
The programming part of the name is inspired by the modified version of Dvorak, [Programmer Dvorak](http://programmer-dvorak.appspot.com), where the symbols have been adjusted logically for developers.
The final layout swaps some Dvorak symbols and combines them with the QGMLWB letters, giving it the name **prog-qgmlwb**.
The layout includes an English and Norwegian layer, whereas the Norwegian one only adds the three letters; æ, ø, and å.
## Typing layers
![Typing layers](https://i.imgur.com/QaHnqW8.png)
## Adjust layer
![Adjust layer](https://i.imgur.com/63I69P0.png)
## Usage
### Clone the QMK Firmware repo
```bash
git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git <path/name>
```
### Move into this keymap
```bash
cd <path/name>/keyboards/planck/keymaps/prog_qgmlwb
```
### Initialize QMK the first time
Set default keyboard:
```bash
qmk config user.keyboard=planck/<rev>
```
Set default keymap:
```bash
qmk config user.keymap=prog_qgmlwb
```
Initialize libraries:
```bash
qmk setup
```
### Compile and flash the keyboard
```bash
qmk compile
qmk flash
```
## QMK documentation
Found in the QMK docs: <https://docs.qmk.fm>
## Printing layout
This keymap uses macros such that [qmk configurator](https://config.qmk.fm) cannot match its behavior. The images was designed using [Figma](https://figma.com).
## Future additions
Features disabled due to the lack of storage space in the Planck PCB version 5:
- Audio
- Plover mode
- Use alt codes to fix missing characters in the english layout
- Improve documentation of code and readme files
- Reimplement right version of modifier keys through raise+space
@@ -0,0 +1,6 @@
# Compiler source files
SRC += src/layouts.c
USER_NAME := davidkristoffersen
SIZE_OPTIMIZE = yes
@@ -0,0 +1,23 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
// Layouts enum
enum keyboard_layouts {
QGMLWB_NO,
QGMLWB_EN,
QWERTY,
COLEMAK,
DVORAK,
NORMAL_LOWER,
NORMAL_RAISE,
QGMLWB_LOWER,
QGMLWB_RAISE,
ADJUST,
NUMPAD,
};
@@ -0,0 +1,25 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#include "layouts.h"
#ifdef LAYER_NO
# include "sendstring_norwegian.h"
#endif
KEYMAP keymaps [][MATRIX_ROWS][MATRIX_COLS] = {
[QGMLWB_NO] = qgmlwb_no_map,
[QGMLWB_EN] = qgmlwb_en_map,
[QWERTY] = qwerty_map,
[COLEMAK] = colemak_map,
[DVORAK] = dvorak_map,
[NORMAL_LOWER] = normal_lower_map,
[NORMAL_RAISE] = normal_raise_map,
[QGMLWB_LOWER] = qgmlwb_lower_map,
[QGMLWB_RAISE] = qgmlwb_raise_map,
[ADJUST] = adjust_map,
[NUMPAD] = numpad_map,
};
@@ -0,0 +1,27 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include QMK_KEYBOARD_H
#include "davidkristoffersen.h"
#include "enums.h"
#include "normal.h"
#include "qgmlwb.h"
#include "special.h"
#define KEYMAP const uint16_t PROGMEM
// Layouts keycodes
#define lower MO(NORMAL_LOWER)
#define raise MO(NORMAL_RAISE)
#define QLower MO(QGMLWB_LOWER)
#define QRaise MO(QGMLWB_RAISE)
#define adjust MO(ADJUST)
#define numpad MO(NUMPAD)
extern KEYMAP keymaps [][MATRIX_ROWS][MATRIX_COLS];
@@ -0,0 +1,96 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "layouts.h"
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ;: |Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | ,< | .> | /? | Shift|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
* `-----------------------------------------------------------------------------------'
*/
#define qwerty_map LAYOUT_ortho_4x12(\
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,\
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT,\
KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
)
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O |Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
* `-----------------------------------------------------------------------------------'
*/
#define colemak_map LAYOUT_ortho_4x12(\
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,\
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,\
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,\
KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
)
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S |Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt |NumPad| GUI | Lower| Space| Space| Raise| Left | Down | Up | Right|
* `-----------------------------------------------------------------------------------'
*/
#define dvorak_map LAYOUT_ortho_4x12(\
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,\
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT,\
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_SLSH,\
KC_LCTL, KC_LALT, numpad, KC_LGUI, lower, KC_SPC, KC_SPC, raise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
)
/* Lower - Normal
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | End | Home | XXXX | XXXX | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
#define normal_lower_map LAYOUT_ortho_4x12(\
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,\
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,\
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_HOME, XXXXXXX, XXXXXXX, _______,\
_______, _______, _______, _______, _______, _______, _______, adjust, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY\
)
/* Raise - Normal
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | # | \ | PgDn | PgUp | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
#define normal_raise_map LAYOUT_ortho_4x12(\
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,\
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,\
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HASH, KC_BSLS, KC_PGDN, KC_PGUP, _______,\
_______, _______, _______, _______, adjust, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY\
)
@@ -0,0 +1,63 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "layouts.h"
/* QGMLWB
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | G | M | L | W | B | Y | U | V | '" | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | D | S | T | N | R | I | A | E | O | H |Return|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | F | J | K | P | ,; | .: | -_ | \| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt |NumPad| GUI | Lower|LSpace|RSpace| Raise| Left | Down | Up | Right|
* `-----------------------------------------------------------------------------------'
*/
// English Layout
#define qgmlwb_en_map LAYOUT_ortho_4x12(\
KC_TAB, KC_Q, KC_G, KC_M, KC_L, KC_W, KC_B, KC_Y, KC_U, KC_V, KC_QUOT, KC_BSPC,\
KC_ESC, KC_D, KC_S, KC_T, KC_N, KC_R, KC_I, KC_A, KC_E, KC_O, KC_H, KC_ENT,\
KC_LSFT, KC_Z, KC_X, KC_C, KC_F, KC_J, KC_K, KC_P, KC_COMM, KC_DOT, KC_MINS, KC_BSLS,\
KC_LCTL, KC_LALT, numpad, KC_LGUI, QLower, KC_LSPC, KC_RSPC, QRaise, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT\
)
// Norwegian Layout
#define qgmlwb_no_map qgmlwb_en_map
/* Lower - QGMLWB
* ,-----------------------------------------------------------------------------------.
* | ! | % | [ | { | ( | < | > | ) | } | ] | & | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | Mute | XXXX | Refr | XXXX | XXXX | XXXX | = | + | * | / | ~ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | Sleep|ScrLck| Caps |NumLck|PrtScr| Ins | End | Home | Æ | Ø | Å |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | |Adjust| Bri- | Vol- | Vol+ | Bri+ |
* `-----------------------------------------------------------------------------------'
*/
#define qgmlwb_lower_map LAYOUT_ortho_4x12(\
KC_EXLM, KC_PERC, KC_LBRC, KC_LCBR, KC_LPRN, KC_LT, KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_AMPR, _______,\
KC_DEL, KC_MUTE, XXXXXXX, KC_WREF, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_PLUS, KC_ASTR, KC_SLSH, KC_TILD,\
_______, KC_SLEP, KC_SLCK, KC_CAPS, KC_NLCK, KC_PSCR, KC_INS, KC_END, KC_HOME, KC_AE, KC_OE, KC_AA,\
_______, _______, _______, _______, _______, _______, _______, adjust, KC_BRID, KC_VOLD, KC_VOLU, KC_BRIU\
)
/* Raise - QGMLWB
* ,-----------------------------------------------------------------------------------.
* | ? | 9 | 7 | 5 | 3 | 1 | 0 | 2 | 4 | 6 | 8 | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del+ | F1 | F2 | F3 | F4 | F5 | F6 | # | @ | ^ | $ | ` |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |RShift| F7 | F8 | F9 | F10 | F11 | F12 | PgDn | PgUp | XXXX | XXXX | XXXX |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | RCtrl| RAlt | | |Adjust| | | | Prev | Stop | Play | Next |
* `-----------------------------------------------------------------------------------'
*/
#define qgmlwb_raise_map LAYOUT_ortho_4x12(\
KC_QUES, KC_9, KC_7, KC_5, KC_3, KC_1, KC_0, KC_2, KC_4, KC_6, KC_8, _______,\
S(KC_DEL), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_HASH, KC_AT, KC_CIRC, KC_DLR, KC_GRV,\
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX,\
_______, _______, _______, _______, adjust, _______, _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT\
)
@@ -0,0 +1,43 @@
// Copyright 2022 David Kristoffersen (@davidkristoffersen)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "layouts.h"
/* Adjust
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset| Debug| RGB |RGBMod| Hue- | Hue+ | Sat- | Sat+ | Bri- | Bri+ | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | XXXX |MusMod|AudOff| AudOn|AgNorm|AgSwap|Dvorak|Colmak|Qwerty|QgmlEN|QgmlNO|
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|MusOff| MusOn|MIDIOf|MIDIOn|TermOf|TermOn| T0 | T1 | T2 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | XXXX | XXXX | XXXX | XXXX |
* `-----------------------------------------------------------------------------------'
*/
#define adjust_map LAYOUT_ortho_4x12(\
QK_RBT, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_DEL,\
QK_MAKE, XXXXXXX, MU_MOD, AU_OFF, AU_ON, AG_NORM, AG_SWAP, DF(DVORAK), DF(COLEMAK), DF(QWERTY), DF(QGMLWB_EN), DF(QGMLWB_NO),\
_______, MUV_IN, MUV_DE, MU_OFF, MU_ON, MI_OFF, MI_ON, TERM_OFF, TERM_ON, KC_T0, KC_T1, KC_T2,\
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX\
)
/* Numpad
* ,-----------------------------------------------------------------------------------.
* | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 7 | 8 | 9 | / | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 4 | 5 | 6 | * | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | XXXX | XXXX | XXXX | XXXX | XXXX | XXXX | 1 | 2 | 3 | - | XXXX |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | XXXX | | | 0 | , | . | + | XXXX |
* `-----------------------------------------------------------------------------------'
*/
#define numpad_map LAYOUT_ortho_4x12(\
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_KP_SLASH, _______,\
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_4, KC_5, KC_6, KC_KP_ASTERISK, _______,\
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_2, KC_3, KC_KP_MINUS, XXXXXXX,\
_______, _______, _______, _______, XXXXXXX, _______, _______, KC_0, KC_COMM, KC_DOT, KC_KP_PLUS, XXXXXXX\
)
+1 -1
View File
@@ -3,7 +3,7 @@
#include QMK_KEYBOARD_H
#include "version.h"
#include "sendstring_jis.h"
#include "sendstring_japanese.h"
// JIS keyboard
#define JK_CIRC KC_EQL // ^
@@ -0,0 +1,35 @@
// Copyright 2022 Zac Scott (@scottzach1)
// SPDX-License-Identifier: GPL-2.0
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
/*
* MIDI options
*/
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
+110
View File
@@ -0,0 +1,110 @@
// Copyright 2022 Zac Scott (@scottzach1)
// SPDX-License-Identifier: GPL-2.0
#include QMK_KEYBOARD_H
enum planck_layers {
_COLEMAK,
_LOWER,
_RAISE,
_FUNCTION,
_DEBUG
};
#define xxxxxxx KC_NO
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define FUNCT MO(_FUNCTION)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak Mod-DH
* ,-----------------------------------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | B | J | L | U | Y | ; | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Func | A | R | S | T | G | M | N | E | I | O | Enter |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Shift | Z | X | C | D | V | K | H | , | . | / | \ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Ctrl | GUI | Alt | Shift | Space | Lower | Raise | Bkspc | Shift | - | = | Ctrl |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_QUOT,
FUNCT, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
KC_LCTL, KC_LGUI, KC_LALT, KC_LSFT, KC_SPC, LOWER, RAISE, KC_BSPC, KC_RSFT, KC_MINS, KC_EQL, KC_RCTL
),
/* Lower
* ,-----------------------------------------------------------------------------------------------------------.
* | Tab | | { | } | | | ` | 7 | 8 | 9 | 0 | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Func | | ( | ) | | | * | 4 | 5 | 6 | - | Enter |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Shift | | [ | ] | | | / | 1 | 2 | 3 | + | = |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Ctrl | GUI | Alt | Shift | Space | Lower | Func | Bkspc | 0 | . | = | Ctrl |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
_______, xxxxxxx, KC_LCBR, KC_RCBR, xxxxxxx, xxxxxxx, KC_GRV, KC_7, KC_8, KC_9, KC_0, _______,
_______, xxxxxxx, KC_LPRN, KC_RPRN, xxxxxxx, xxxxxxx, KC_ASTR, KC_4, KC_5, KC_6, KC_MINS, _______,
_______, xxxxxxx, KC_LBRC, KC_RBRC, xxxxxxx, xxxxxxx, KC_SLSH, KC_1, KC_2, KC_3, KC_PLUS, KC_EQL,
_______, _______, _______, _______, _______, _______, FUNCT, _______, KC_0, KC_DOT, _______, _______
),
/* Raise
* ,-----------------------------------------------------------------------------------------------------------.
* | Tab | | { | } | | | | Pg_Up | Up | Pg_Dn | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Func | | ( | ) | | | Home | Left | Down | Right | Del | Ent er |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Shift | | [ | ] | | | | End | Ins | Caps | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | Ctrl | GUI | Alt | Shift | Space | Func | Raise | Bkspc | | | | Ctr l |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
_______, xxxxxxx, KC_LCBR, KC_RCBR, xxxxxxx, xxxxxxx, xxxxxxx, KC_PGUP, KC_UP, KC_PGDN, _______, _______,
_______, xxxxxxx, KC_LPRN, KC_RPRN, xxxxxxx, xxxxxxx, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , _______,
_______, xxxxxxx, KC_LBRC, KC_RBRC, xxxxxxx, xxxxxxx, KC_SLSH, KC_END, KC_INS, KC_CAPS, xxxxxxx, xxxxxxx,
_______, _______, _______, _______, _______, FUNCT, _______, _______, _______, _______, _______, _______
),
/* Function
* ,-----------------------------------------------------------------------------------------------------------.
* | Esc | | Prev | Play | Next | | | F7 | F8 | F9 | F10 | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | Vol- | Vol+ | Mute | | | F4 | F5 | F6 | F11 | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | F1 | F2 | F3 | F12 | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | Funct | Funct | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_FUNCTION] = LAYOUT_ortho_4x12(
KC_ESC, xxxxxxx, KC_MPRV, KC_MPLY, KC_MNXT, xxxxxxx, xxxxxxx, KC_F7, KC_F8, KC_F9, KC_F10, xxxxxxx,
_______, xxxxxxx, KC_VOLD, KC_VOLU, KC_MUTE, xxxxxxx, xxxxxxx, KC_F4, KC_F5, KC_F6, KC_F11, _______,
_______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, KC_F1, KC_F2, KC_F3, KC_F12, _______,
_______, _______, _______, _______, _______, DEBUG, DEBUG, _______, _______, _______, _______, _______
),
/* Debug
* ,-----------------------------------------------------------------------------------------------------------.
* | Reset | Debug | | | | | | | | | | EEP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------------------------'
*/
[_DEBUG] = LAYOUT_ortho_4x12(
RESET, DEBUG, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, EEP_RST,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx
)
};
@@ -0,0 +1,76 @@
![Personal Planck Rev6](https://github.com/scottzach1/Planck/blob/master/img/img_05.jpg)
# Scottzach1 Planck Layout
Upstream: [scottzach1/planck](https://github.com/scottzach1/Planck)
This keyboard layout implements a personal variation of Colemak Mod-DH with M-K switched.
One notable change with this layout is space + backspace in line with the homing keys.
As such, Lower and Raise have been moved to occupy the middle two keys.
I have been using this layout happily daily now since June 2019.
```
Colemak Mod-DH
,-----------------------------------------------------------------------------------------------.
| Tab | Q | W | F | P | B | J | L | U | Y | ; | ' |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Func | A | R | S | T | G | M | N | E | I | O | Enter |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Shift | Z | X | C | D | V | K | H | , | . | / | \ |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Ctrl | GUI | Alt | Shift | Space | Lower | Raise | Bkspc | Shift | - | = | Ctrl |
`-----------------------------------------------------------------------------------------------'
```
```
Lower
,-----------------------------------------------------------------------------------------------.
| Tab | | { | } | | | ` | 7 | 8 | 9 | 0 | |
|-------+-------+-------+-------+-------+-------+-------+------+-------+-------+--------+-------|
| Func | | ( | ) | | | * | 4 | 5 | 6 | - | Enter |
|-------+-------+-------+-------+-------+-------+-------+------+-------+-------+--------+-------|
| Shift | | [ | ] | | | / | 1 | 2 | 3 | + | = |
|-------+-------+-------+-------+-------+-------+-------+------+-------+-------+--------+-------|
| Ctrl | GUI | Alt | Shift | Space | Lower | Func | Bksp | 0 | . | = | Ctrl |
`-----------------------------------------------------------------------------------------------'
```
```
Raise
,-----------------------------------------------------------------------------------------------.
| Tab | | { | } | | | | Pg_Up | Up | Pg_Dn | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Func | | ( | ) | | | Home | Left | Down | Right | Del | Enter |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Shift | | [ | ] | | | | End | Ins | Caps | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Ctrl | GUI | Alt | Shift | Space | Func | Raise | Bkspc | | | | Ctrl |
`-----------------------------------------------------------------------------------------------'
```
```
Function
,-----------------------------------------------------------------------------------------------.
| Esc | | Prev | Play | Next | | | F7 | F8 | F9 | F10 | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | Vol- | Vol+ | Mute | | | F4 | F5 | F6 | F11 | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | | | F1 | F2 | F3 | F12 | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | Funct | Funct | | | | | |
`-----------------------------------------------------------------------------------------------'
```
```
Debug
,-----------------------------------------------------------------------------------------------.
| Reset | Debug | | | | | | | | | | EEP |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | | | | | | | | | | | |
`-----------------------------------------------------------------------------------------------'
```
+1 -1
View File
@@ -13,7 +13,7 @@
#include QMK_KEYBOARD_H
#include "muse.h"
#include "keymap_italian_osx_ansi.h"
#include "keymap_italian_mac_ansi.h"
#include "sigul.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -0,0 +1,46 @@
/* Copyright 2015-2021 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#ifdef AUDIO_ENABLE
# define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
# define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND) }
#endif
/*
* MIDI options
*/
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
// Most tactile encoders have detents every 4 stages
#define ENCODER_RESOLUTION 4
@@ -0,0 +1,353 @@
/* Copyright 2015-2021 Jack Humbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "muse.h"
enum planck_layers {
_DVORAK,
_QWERTY,
_COLEMAK,
_LOWER,
_RAISE,
_PLOVER,
_ADJUST
};
enum planck_keycodes {
DVORAK = SAFE_RANGE,
QWERTY,
COLEMAK,
PLOVER,
BACKLIT,
EXT_PLV
};
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Dvorak
* ,-----------------------------------------------------------------------------------.
* | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_planck_grid(
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Colemak
* ,-----------------------------------------------------------------------------------.
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_planck_grid(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_LCTL, KC_LALT, BACKLIT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | Next | Vol- | Vol+ | Play |
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_planck_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Plover layer (http://opensteno.org)
* ,-----------------------------------------------------------------------------------.
* | # | # | # | # | # | # | # | # | # | # | # | # |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | T | P | H | * | * | F | P | L | T | D |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | K | W | R | * | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | | E | U | | | |
* `-----------------------------------------------------------------------------------'
*/
[_PLOVER] = LAYOUT_planck_grid(
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
/* Adjust (Lower + Raise)
* v------------------------RGB CONTROL--------------------v
* ,-----------------------------------------------------------------------------------.
* | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
_______, RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
break;
case QWERTY:
if (record->event.pressed) {
print("mode just switched to qwerty and this is a huge string\n");
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
#ifdef KEYBOARD_planck_rev5
writePinLow(E6);
#endif
} else {
unregister_code(KC_RSFT);
#ifdef KEYBOARD_planck_rev5
writePinHigh(E6);
#endif
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
}
return true;
}
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
muse_offset++;
} else {
muse_offset--;
}
} else {
if (clockwise) {
muse_tempo+=1;
} else {
muse_tempo-=1;
}
}
} else {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_DOWN);
#else
tap_code(KC_PGDN);
#endif
} else {
#ifdef MOUSEKEY_ENABLE
tap_code(KC_MS_WH_UP);
#else
tap_code(KC_PGUP);
#endif
}
}
return true;
}
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
static bool play_sound = false;
#endif
if (active) {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_song); }
#endif
layer_on(_ADJUST);
} else {
#ifdef AUDIO_ENABLE
if (play_sound) { PLAY_SONG(plover_gb_song); }
#endif
layer_off(_ADJUST);
}
#ifdef AUDIO_ENABLE
play_sound = true;
#endif
break;
}
case 1:
if (active) {
muse_mode = true;
} else {
muse_mode = false;
}
}
return true;
}
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
#endif
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
case RAISE:
case LOWER:
return false;
default:
return true;
}
}
@@ -0,0 +1,101 @@
# Planck Rev6 Layers
```
Dvorak
,-----------------------------------------------------------------------------------.
| Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | O | E | U | I | D | H | T | N | S | / |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
```
Qwerty
,-----------------------------------------------------------------------------------.
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
```
Colemak
,-----------------------------------------------------------------------------------.
| Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | R | S | T | D | H | N | E | I | O | " |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Alt | Brite | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
```
```
Lower
,-----------------------------------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
```
```
Raise
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
```
```
Adjust (Lower + Raise)
v------------------------RGB CONTROL--------------------v
,-----------------------------------------------------------------------------------.
| | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
|------+------+------+------+------+------+------+------+------+------+------+------|
| |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | | | | | |
`-----------------------------------------------------------------------------------'
```
```
Plover layer (http://opensteno.org)
,-----------------------------------------------------------------------------------.
| # | # | # | # | # | # | # | # | # | # | # | # |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | S | T | P | H | * | * | F | P | L | T | D |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | S | K | W | R | * | * | R | B | G | S | Z |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Exit | | | A | O | | | E | U | | | |
`-----------------------------------------------------------------------------------'
```
@@ -0,0 +1 @@
SRC += muse.c
+2 -2
View File
@@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Utility
* ,-----------------------------------------------------------------------------------.
* | |RESET |DEBUG | | | | | | | | |Del |
* | |QK_BOOT |DEBUG | | | | | | | | |Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[3] = LAYOUT_ortho_4x12 (
KC_TRNS, RESET, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, QK_BOOT, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+1 -1
View File
@@ -5,4 +5,4 @@ Predefined Layers:
- 0 - Default Planck QWERTY keymap (minus lighting control, plus SHIFT ENTER)
- 1 - Default Planck LOWER keymap
- 2 - Default Planck RAISE keymap
- 3 - UTILITY keymap (RESET, DEBUG)
- 3 - UTILITY keymap (QK_BOOT, DEBUG)
+3
View File
@@ -8,6 +8,9 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
{{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
};
# ifdef ENCODER_MAP_ENABLE
const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {0};
# endif
#endif
__attribute__ ((weak))
-3
View File
@@ -102,9 +102,6 @@
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/*
* WS2812 Underglow Matrix options
-2
View File
@@ -109,8 +109,6 @@
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/*
* WS2812 Underglow Matrix options