Merge remote-tracking branch 'qmk/master' into merge-2022-07-11
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||

|
||||
|
||||
## Adjust layer
|
||||
|
||||

|
||||
|
||||
## 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\
|
||||
)
|
||||
@@ -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
|
||||
Executable
+110
@@ -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 @@
|
||||

|
||||
|
||||
# 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 |
|
||||
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
|
||||
| | | | | | | | | | | | |
|
||||
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
|
||||
| | | | | | | | | | | | |
|
||||
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
|
||||
| | | | | | | | | | | | |
|
||||
`-----------------------------------------------------------------------------------------------'
|
||||
```
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user