mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-26 17:01:41 +00:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f139c3db8d | ||
![]() |
48321c3eee | ||
![]() |
e424944a57 | ||
![]() |
4658786436 | ||
![]() |
6c74d734c2 | ||
![]() |
ad1a868701 | ||
![]() |
9db908f7d1 | ||
![]() |
added1f062 | ||
![]() |
e8e999dcc0 | ||
![]() |
4464d90f4d | ||
![]() |
2dacf25f28 | ||
![]() |
bfa34d02b0 | ||
![]() |
0b82d08e8d | ||
![]() |
fdeb7f7665 | ||
![]() |
141a52982e | ||
![]() |
ac5326595c |
@@ -7,6 +7,7 @@
|
||||
#define KEYSEL 2
|
||||
#define MOUSE 3
|
||||
#define COMBINED 4
|
||||
#define BROWSER_CONTROL 5
|
||||
|
||||
// macros
|
||||
#define MOUSE_TOGGLE 1
|
||||
@@ -39,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, },
|
||||
{KC_A, KC_O, KC_E, KC_U, KC_I, KC_TRNS, KC_D, KC_H, KC_T, KC_N, KC_S, },
|
||||
{KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(KEYNAV), KC_B, KC_M, KC_W, KC_V, KC_Z, },
|
||||
{OSM(MOD_LSFT), OSM(MOD_LCTL), M(MOUSE_TOGGLE), MO(KEYSEL), MO(COMBINED), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT), }
|
||||
{OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT), }
|
||||
},
|
||||
|
||||
[KEYNAV] = {
|
||||
@@ -70,6 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_BTN1, KC_BTN2, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), }
|
||||
},
|
||||
|
||||
[BROWSER_CONTROL] = {
|
||||
{KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_TRNS, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, },
|
||||
{KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), },
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, },
|
||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), RSFT(RCTL(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS, }
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
58
keyboards/contra/config.h
Executable file
58
keyboards/contra/config.h
Executable file
@@ -0,0 +1,58 @@
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Cartel
|
||||
#define PRODUCT Contra
|
||||
#define DESCRIPTION Keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 12
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { F6, B3, B2, B6 }
|
||||
#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* number of backlight levels */
|
||||
|
||||
#ifdef BACKLIGHT_PIN
|
||||
#define BACKLIGHT_LEVELS 0
|
||||
#endif
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCING_DELAY 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() ( \
|
||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||
)
|
||||
|
||||
/* prevent stuck modifiers */
|
||||
#define PREVENT_STUCK_MODIFIERS
|
||||
|
||||
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 0
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
#endif
|
1
keyboards/contra/contra.c
Executable file
1
keyboards/contra/contra.c
Executable file
@@ -0,0 +1 @@
|
||||
#include "contra.h"
|
46
keyboards/contra/contra.h
Executable file
46
keyboards/contra/contra.h
Executable file
@@ -0,0 +1,46 @@
|
||||
#ifndef KB_H
|
||||
#define KB_H
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_grid( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_mit( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
|
||||
K300, K301, K302, K303, K304, K305, K307, K308, K309, K310, K311 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K305, K307, K308, K309, K310, K311 } \
|
||||
}
|
||||
|
||||
#define KC_LAYOUT_grid( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \
|
||||
) \
|
||||
LAYOUT_grid( \
|
||||
KC_##K000, KC_##K001, KC_##K002, KC_##K003, KC_##K004, KC_##K005, KC_##K006, KC_##K007, KC_##K008, KC_##K009, KC_##K010, KC_##K011, \
|
||||
KC_##K100, KC_##K101, KC_##K102, KC_##K103, KC_##K104, KC_##K105, KC_##K106, KC_##K107, KC_##K108, KC_##K109, KC_##K110, KC_##K111, \
|
||||
KC_##K200, KC_##K201, KC_##K202, KC_##K203, KC_##K204, KC_##K205, KC_##K206, KC_##K207, KC_##K208, KC_##K209, KC_##K210, KC_##K211, \
|
||||
KC_##K300, KC_##K301, KC_##K302, KC_##K303, KC_##K304, KC_##K305, KC_##K306, KC_##K307, KC_##K308, KC_##K309, KC_##K310, KC_##K311 \
|
||||
)
|
||||
#define KEYMAP LAYOUT_grid
|
||||
#define LAYOUT_ortho_4x12 LAYOUT_grid
|
||||
#define KC_LAYOUT_ortho_4x12 KC_LAYOUT_grid
|
||||
|
||||
#endif
|
30
keyboards/contra/keymaps/dana/config.h
Normal file
30
keyboards/contra/keymaps/dana/config.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 190
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
#define MIDI_ADVANCED
|
||||
|
||||
#endif
|
37
keyboards/contra/keymaps/dana/keymap.c
Normal file
37
keyboards/contra/keymaps/dana/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||
// this is the style you want to emulate.
|
||||
|
||||
#include "contra.h"
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | Cmd |Lower | Space |Raise | Enter| Cmd | Alt |Ctrl |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[0] = {
|
||||
{ MI_C_4, MI_Cs_4, MI_D_4, MI_Ds_4, MI_E_4, MI_F_4, MI_Fs_4, MI_G_4, MI_Gs_4, MI_A_4, MI_As_4, MI_B_4 },
|
||||
{ MI_C_3, MI_Cs_3, MI_D_3, MI_Ds_3, MI_E_3, MI_F_3, MI_Fs_3, MI_G_3, MI_Gs_3, MI_A_3, MI_As_3, MI_B_3 },
|
||||
{ MI_C_2, MI_Cs_2, MI_D_2, MI_Ds_2, MI_E_2, MI_F_2, MI_Fs_2, MI_G_2, MI_Gs_2, MI_A_2, MI_As_2, MI_B_2 },
|
||||
{ MI_C_1, MI_Cs_1, MI_D_1, MI_Ds_1, MI_E_1, MI_F_1, MI_Fs_1, MI_G_1, MI_Gs_1, MI_A_1, MI_As_1, MI_B_1 }
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
6
keyboards/contra/keymaps/dana/readme.md
Normal file
6
keyboards/contra/keymaps/dana/readme.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Dana musical MIDI keyboard layout
|
||||
|
||||
Has the contra mapped as a MIDI keyboard, where each row is an octave.
|
||||
|
||||
The keyboard has only MIDI, nothing else!
|
||||
|
25
keyboards/contra/keymaps/dana/rules.mk
Normal file
25
keyboards/contra/keymaps/dana/rules.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = yes # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
42
keyboards/contra/keymaps/default/config.h
Normal file
42
keyboards/contra/keymaps/default/config.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#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
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
|
||||
/* 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
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||
|
||||
#endif
|
264
keyboards/contra/keymaps/default/keymap.c
Normal file
264
keyboards/contra/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,264 @@
|
||||
/* 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 "contra.h"
|
||||
#include "action_layer.h"
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum planck_layers {
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_DVORAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_PLOVER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
PLOVER,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
EXT_PLV
|
||||
};
|
||||
|
||||
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 | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = {
|
||||
{KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC},
|
||||
{KC_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 },
|
||||
{BACKLIT, 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] = {
|
||||
{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 },
|
||||
{BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT}
|
||||
},
|
||||
|
||||
/* 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 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = {
|
||||
{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 },
|
||||
{BACKLIT, 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] = {
|
||||
{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] = {
|
||||
{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] = {
|
||||
{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)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = {
|
||||
{_______, 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
|
||||
|
||||
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;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
PORTE &= ~(1<<6);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
PORTE |= (1<<6);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
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;
|
||||
}
|
2
keyboards/contra/keymaps/default/readme.md
Normal file
2
keyboards/contra/keymaps/default/readme.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# The Default Contra Layout
|
||||
|
16
keyboards/contra/readme.md
Normal file
16
keyboards/contra/readme.md
Normal file
@@ -0,0 +1,16 @@
|
||||
CONTRA
|
||||
===
|
||||
|
||||

|
||||
|
||||
A 40% keyboard by
|
||||
|
||||
Keyboard Maintainer: The QMK Community
|
||||
Hardware Supported: CONTRA
|
||||
Hardware Availability: [CARTEL](https://cartel.ltd/projects/contra/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make contra:dana
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
61
keyboards/contra/rules.mk
Executable file
61
keyboards/contra/rules.mk
Executable file
@@ -0,0 +1,61 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Processor frequency.
|
||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||
# automatically to create a 32-bit value in your source code.
|
||||
#
|
||||
# This will be an integer division of F_USB below, as it is sourced by
|
||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
||||
# does not *change* the processor frequency - it should merely be updated to
|
||||
# reflect the processor speed set externally so that the code can use accurate
|
||||
# software delays.
|
||||
F_CPU = 16000000
|
||||
|
||||
#
|
||||
# LUFA specific
|
||||
#
|
||||
# Target architecture (see library "Board Types" documentation).
|
||||
ARCH = AVR8
|
||||
|
||||
# Input clock frequency.
|
||||
# This will define a symbol, F_USB, in all source code files equal to the
|
||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||
# at the end, this will be done automatically to create a 32-bit value in your
|
||||
# source code.
|
||||
#
|
||||
# If no clock division is performed on the input clock inside the AVR (via the
|
||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
||||
F_USB = $(F_CPU)
|
||||
|
||||
# Interrupt driven control endpoint task(+60)
|
||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||
|
||||
|
||||
# Boot Section Size in *bytes*
|
||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit planck_grid
|
||||
LAYOUTS_HAS_RGB = no
|
@@ -9,6 +9,12 @@
|
||||
|
||||
#define _______ KC_TRNS
|
||||
|
||||
enum {
|
||||
TD_SPC_ENT = 0,
|
||||
TD_KC_LSFT_CAPS,
|
||||
TD_KC_RSFT_CAPS
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
@@ -49,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(_L1), \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, TD(LT(_L3,KC_SPACE)),BL_TOGG,TD(TD_SPC_ENT), KC_RGUI, TO(_L2), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LT(_L3,KC_SPACE),BL_TOGG,TD(TD_SPC_ENT), KC_RGUI, TO(_L2), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
/* Keymap _L1: (Layer 1) This is function layer 1
|
||||
* This layer is activated while the Fn key is being held down.
|
||||
@@ -121,13 +127,6 @@ void matrix_scan_user(void) {
|
||||
// Empty
|
||||
};
|
||||
|
||||
//Tap Dance Declarations
|
||||
enum {
|
||||
TD_SPC_ENT = 0,
|
||||
TD_KC_LSFT_CAPS = 0,
|
||||
TD_KC_RSFT_CAPS = 0
|
||||
};
|
||||
|
||||
//Tap Dance Definitions
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
|
||||
|
@@ -54,4 +54,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https:/
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
|
||||
AUTO_SHIFT_ENABLE = yes # If the time depressed is greater than or equal to the AUTO_SHIFT_TIMEOUT, then a shifted version of the key is emitted. If the time is less than the AUTO_SHIFT_TIMEOUT time, then the normal state is emitted
|
||||
TAP_DANCE_ENABLE = yes
|
@@ -6,6 +6,8 @@
|
||||
|
||||
// to build this keymap
|
||||
// make ergodox_ez:dvorak_42_key:teensy
|
||||
// flashing from rpi:
|
||||
// sudo teensy_loader_cli -v -w .build/ergodox_ez_dvorak_42_key.hex --mcu atmega32u4
|
||||
|
||||
// keeping fork up to date:
|
||||
// https://help.github.com/articles/configuring-a-remote-for-a-fork/
|
||||
@@ -317,7 +319,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// thumb cluster
|
||||
KC_TRNS,KC_TRNS,
|
||||
KC_TRNS,
|
||||
KC_TRNS,KC_TRNS,KC_TAB),
|
||||
KC_TRNS,KC_TRNS,KC_TRNS),
|
||||
|
||||
|
||||
[MOUSE] = KEYMAP(
|
||||
|
@@ -2,14 +2,19 @@
|
||||
|
||||
A basic ErgoDox layout with Planck-like tri-layer support.
|
||||
|
||||

|
||||

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

|
||||
- LCD colors are linked together, like the default KLL firmware
|
||||
|
||||
## Building and flashing
|
||||
|
11
keyboards/ergodox_infinity/keymaps/dudeofawesome/config.h
Normal file
11
keyboards/ergodox_infinity/keymaps/dudeofawesome/config.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#undef TAPPING_TOGGLE
|
||||
|
||||
#include "../../config.h"
|
||||
#include "dudeofawesome.h"
|
||||
|
||||
#include "./visualizer.h"
|
||||
|
||||
#endif
|
@@ -4,40 +4,41 @@
|
||||
#include "version.h"
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_DVORAK,
|
||||
_WORKMAN,
|
||||
_GAME,
|
||||
_MOUSE,
|
||||
_NUM,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_QWERTY,
|
||||
_WORKMAN,
|
||||
_DVORAK,
|
||||
_COLEMAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_GAME,
|
||||
_MOUSE,
|
||||
_NUM,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
DVORAK,
|
||||
WORKMAN,
|
||||
LOWER,
|
||||
RAISE,
|
||||
GAME,
|
||||
MOUSE,
|
||||
NUM,
|
||||
EPRM,
|
||||
VRSN,
|
||||
RGB_SLD
|
||||
QWERTY = SAFE_RANGE,
|
||||
WORKMAN,
|
||||
DVORAK,
|
||||
COLEMAK,
|
||||
LOWER,
|
||||
RAISE,
|
||||
GAME,
|
||||
MOUSE,
|
||||
EPRM,
|
||||
VRSN,
|
||||
RGB_SLD,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap 0: Basic QWERTY layer
|
||||
*
|
||||
* ,---------------------------------------------. ,---------------------------------------------.
|
||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||
* | Tab | Q | W | E | R | T | [{ | | ]} | Y | U | I | O | P | BSPC |
|
||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
* | ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | '" |
|
||||
* | ESC | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
|
||||
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | Enter |
|
||||
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||
@@ -53,32 +54,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRACKET,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
||||
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
LOWER, KC_BSPACE, KC_LGUI,
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_RBRACKET, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
|
||||
KC_FN1, KC_N, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), KC_ENTER,
|
||||
KC_FN1, KC_N, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||
|
||||
TG(_NUM), TG(_MOUSE),
|
||||
TT(_NUM), TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_LGUI, KC_SPACE, RAISE
|
||||
KC_LGUI, RAISE, KC_SPACE
|
||||
),
|
||||
|
||||
/* Keymap 0: Basic Workman layer
|
||||
*
|
||||
* ,---------------------------------------------. ,--------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||
* | Tab | Q | D | R | W | B | [{ | | ]} | J | F | U | P | ; | BSPC |
|
||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
* | ESC | A | S | H | T | G |------| |------| Y | N | E | O | I | ' |
|
||||
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||
* | LShift | Z | X | M | C | V | | | | K | L | , | . | / | Enter |
|
||||
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||
* | Num |Ctrl | Alt |LGUI |Lower| |Raise|Left |Down | Up |Right |
|
||||
* `------------------------------' `------------------------------'
|
||||
* ,------------. ,------------.
|
||||
* |Play |Mouse | | Num |Mouse|
|
||||
* ,----|-----|------| |------+-----+-----.
|
||||
* | | | Alt | | Alt | | |
|
||||
* |BSPC|LOWER|------| |------|RAISE|Space|
|
||||
* | | | LGUI | | LGUI | | |
|
||||
* `-----------------' `------------------'
|
||||
*/
|
||||
[_WORKMAN] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_LBRACKET,
|
||||
KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_FN1,
|
||||
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_RBRACKET, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, KC_BSPACE,
|
||||
KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
|
||||
KC_FN1, KC_K, KC_L, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||
|
||||
TT(_NUM), TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_LGUI, RAISE, KC_SPACE
|
||||
),
|
||||
|
||||
/* Keymap 0: Basic Dvorak layer
|
||||
*
|
||||
* ,---------------------------------------------. ,--------------------------------------------.
|
||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||
* | Tab | ' | , | . | P | Y | [{ | | ]} | F | G | C | R | L | BSPC |
|
||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
@@ -98,38 +144,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_LBRACKET,
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I,
|
||||
KC_LSPO, KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, KC_FN1,
|
||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
KC_LSFT, KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, KC_FN1,
|
||||
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_RBRACKET, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPACE,
|
||||
KC_D, KC_H, KC_T, KC_N, KC_S, LT(MOUSE, KC_SLSH),
|
||||
KC_FN1, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENTER,
|
||||
KC_FN1, KC_B, KC_M, KC_W, KC_V, KC_Z, RSFT_T(KC_ENT),
|
||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||
|
||||
TG(_NUM), TG(_MOUSE),
|
||||
TT(_NUM), TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_LGUI, RAISE, KC_SPACE
|
||||
),
|
||||
|
||||
/* Keymap 0: Basic Workman layer
|
||||
/* Keymap 0: Basic Colemak layer
|
||||
*
|
||||
* ,---------------------------------------------. ,--------------------------------------------.
|
||||
* | - | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | = |
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Esc | | Esc | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |--------+-----+-----+-----+-----+------------| |------+-----+-----+-----+-----+-----+--------|
|
||||
* | Tab | Q | D | R | W | B | [{ | | ]} | J | F | U | P | ; | BSPC |
|
||||
* | Tab | Q | W | F | P | G | [{ | | ]} | J | L | U | Y | ; | BSPC |
|
||||
* |--------+-----+-----+-----+-----+-----| | | |-----+-----+-----+-----+-----+--------|
|
||||
* | ESC | A | S | H | T | G |------| |------| Y | N | E | O | I | '" |
|
||||
* | ESC | A | R | S | T | D |------| |------| H | N | E | I | O | ' |
|
||||
* |--------+-----+-----+-----+-----+-----| L1 | | L1 |-----+-----+-----+-----+-----+--------|
|
||||
* | LShift | Z | X | M | C | V | | | | K | L | , | . | / | Enter |
|
||||
* | LShift | Z | X | C | V | B | | | | K | M | , | . | / | Enter |
|
||||
* `--------+-----+-----+-----+-----+------------' `------------+-----+-----+-----+-----+--------'
|
||||
* | Num |Ctrl | Alt |LGUI |Lower| |Raise|Left |Down | Up |Right |
|
||||
* `------------------------------' `------------------------------'
|
||||
@@ -141,28 +187,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | LGUI | | LGUI | | |
|
||||
* `-----------------' `------------------'
|
||||
*/
|
||||
[_WORKMAN] = LAYOUT_ergodox(
|
||||
[_COLEMAK] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
KC_MINUS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_LBRACKET,
|
||||
KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G,
|
||||
KC_LSPO, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_FN1,
|
||||
TG(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRACKET,
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_FN1,
|
||||
TT(_NUM), KC_LCTL, KC_LALT, KC_LGUI, LOWER,
|
||||
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_MPLY, TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
KC_BSPACE, LOWER, KC_LGUI,
|
||||
|
||||
// right hand
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL,
|
||||
KC_RBRACKET, KC_J, KC_F, KC_U, KC_P, KC_SCOLON, KC_BSPACE,
|
||||
KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOTE,
|
||||
KC_FN1, KC_K, KC_L, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), KC_ENTER,
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_RBRACKET, KC_J, KC_L, KC_U, KC_Y, KC_SCOLON, KC_BSPACE,
|
||||
KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOTE,
|
||||
KC_FN1, KC_K, KC_M, KC_COMM, KC_DOT, LT(_MOUSE, KC_SLSH), RSFT_T(KC_ENT),
|
||||
RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,
|
||||
|
||||
NUM, TG(_MOUSE),
|
||||
TT(_NUM), TG(_MOUSE),
|
||||
KC_LALT,
|
||||
KC_LGUI, RAISE, KC_SPACE
|
||||
KC_LGUI, RAISE, KC_SPACE
|
||||
),
|
||||
|
||||
/* Lower
|
||||
@@ -176,7 +222,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* | | | | | | | | Play | Vol- | Vol+ | Next |
|
||||
* `-----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |Animat| | |Toggle|Solid |
|
||||
@@ -189,9 +235,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LOWER] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_F6,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
@@ -199,11 +245,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||
_______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
KC_F5, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||
_______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
@@ -221,7 +267,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |---------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
|
||||
* `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* | | | | | | | | Play | Vol- | Vol+ | Next |
|
||||
* `-----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* |Animat| | |Toggle|Solid |
|
||||
@@ -234,9 +280,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_RAISE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F6,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
_______, _______,
|
||||
@@ -244,11 +290,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MNXT,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
@@ -262,7 +308,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
|
||||
* | |Reset |Debug | | | | | | | |TRM on|TRMoff| | | Del |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | |AG Nrm|------| |------|AG Swp|QWERTY|Wrkman|Dvorak| | |
|
||||
* | CPSLCK | | | | |AG Nrm|------| |------|AG Swp|QWERTY|Wrkman|Dvorak| | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | | | | | | | | | | | Prev | Next | | |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
@@ -280,7 +326,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// left hand
|
||||
VRSN, _______, _______, _______, _______, _______, _______,
|
||||
_______, RESET, DEBUG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, AG_NORM,
|
||||
KC_CAPS, _______, _______, _______, _______, AG_NORM,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
@@ -291,7 +337,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL,
|
||||
AG_SWAP, QWERTY, WORKMAN, DVORAK, _______, _______,
|
||||
AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
@@ -386,24 +432,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
|
||||
TG(_MOUSE), TG(_NUM),
|
||||
TG(_MOUSE), TT(_NUM),
|
||||
_______,
|
||||
_______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
/* Keymap 2: NUMPAD
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | |
|
||||
* | | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | | ✗ | ✗ | ✗ | / | * | - | |
|
||||
* |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
|
||||
* | | ! | @ | { | } | | | | | | | 7 | 8 | 9 | * | |
|
||||
* | | ✗ | Home | Up | End | PgUp | | | | ✗ | 7 | 8 | 9 | + | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | # | $ | ( | ) | ` |------| |------| | 4 | 5 | 6 | + | |
|
||||
* | | ✗ | Left | Down | Right| PgDn |------| |------| ✗ | 4 | 5 | 6 | + | ✗ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | | % | ^ | [ | ] | ~ | | | | | 1 | 2 | 3 | \ | |
|
||||
* | | / | * | - | + | Enter| | | | ✗ | 1 | 2 | 3 | Enter| Enter |
|
||||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|
||||
* | | | | | | | . | 0 | 0 | = | |
|
||||
* | | | | | ✗ | | 0 | 0 | . | Enter| = |
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
@@ -415,22 +460,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
[_NUM] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11,
|
||||
_______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______,
|
||||
_______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV,
|
||||
_______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, KC_NO, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO,
|
||||
_______, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN,
|
||||
_______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_PENT, KC_NO,
|
||||
_______, _______, _______, _______, KC_NO,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
|
||||
// right hand
|
||||
KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
_______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, _______,
|
||||
_______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, _______,
|
||||
_______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, _______,
|
||||
KC_KP_DOT, KC_KP_0, KC_KP_0, KC_KP_EQUAL, _______,
|
||||
KC_NO, KC_NO, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, _______,
|
||||
KC_NO, KC_NO, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
|
||||
KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_NO,
|
||||
KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_PENT, KC_PEQL,
|
||||
|
||||
_______, _______,
|
||||
_______,
|
||||
@@ -444,15 +489,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
}
|
||||
break;
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed) { // For resetting EEPROM
|
||||
eeconfig_init();
|
||||
}
|
||||
break;
|
||||
if (record->event.pressed) { // For resetting EEPROM
|
||||
eeconfig_init();
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
@@ -461,23 +506,24 @@ 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 WORKMAN:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_WORKMAN);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
@@ -494,7 +540,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
@@ -511,19 +556,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case EPRM:
|
||||
if (record->event.pressed) {
|
||||
eeconfig_init();
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case VRSN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RGB_SLD:
|
||||
if (record->event.pressed) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
@@ -531,7 +573,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
#endif
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -550,19 +591,19 @@ void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
ergodox_led_lower_off();
|
||||
ergodox_led_raise_off();
|
||||
ergodox_led_adjust_off();
|
||||
|
||||
switch (layer) {
|
||||
case _LOWER:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_led_lower_on();
|
||||
break;
|
||||
case _RAISE:
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_led_raise_on();
|
||||
break;
|
||||
case _ADJUST:
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_led_adjust_on();
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#error This visualizer needs that LCD is enabled
|
||||
#endif
|
||||
|
||||
#include "visualizer.h"
|
||||
#include "./visualizer.h"
|
||||
#include "visualizer_keyframes.h"
|
||||
#include "lcd_keyframes.h"
|
||||
#include "lcd_backlight_keyframes.h"
|
||||
@@ -295,17 +295,17 @@ void ergodox_board_led_on(void){
|
||||
// No board led support
|
||||
}
|
||||
|
||||
void ergodox_right_led_1_on(void){
|
||||
void ergodox_led_lower_on(void){
|
||||
user_data_keyboard.led_on |= (1u << 0);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_2_on(void){
|
||||
void ergodox_led_raise_on(void){
|
||||
user_data_keyboard.led_on |= (1u << 1);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_3_on(void){
|
||||
void ergodox_led_adjust_on(void){
|
||||
user_data_keyboard.led_on |= (1u << 2);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
@@ -314,32 +314,32 @@ void ergodox_board_led_off(void){
|
||||
// No board led support
|
||||
}
|
||||
|
||||
void ergodox_right_led_1_off(void){
|
||||
void ergodox_led_lower_off(void){
|
||||
user_data_keyboard.led_on &= ~(1u << 0);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_2_off(void){
|
||||
void ergodox_led_raise_off(void){
|
||||
user_data_keyboard.led_on &= ~(1u << 1);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_3_off(void){
|
||||
void ergodox_led_adjust_off(void){
|
||||
user_data_keyboard.led_on &= ~(1u << 2);
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_1_set(uint8_t n) {
|
||||
void ergodox_led_lower_set(uint8_t n) {
|
||||
user_data_keyboard.led1 = n;
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_2_set(uint8_t n) {
|
||||
void ergodox_led_raise_set(uint8_t n) {
|
||||
user_data_keyboard.led2 = n;
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
||||
void ergodox_right_led_3_set(uint8_t n) {
|
||||
void ergodox_led_adjust_set(uint8_t n) {
|
||||
user_data_keyboard.led3 = n;
|
||||
visualizer_set_user_data(&user_data_keyboard);
|
||||
}
|
||||
|
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2017 Fred Sundvik
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef VISUALIZER_H_
|
||||
#define VISUALIZER_H_
|
||||
|
||||
#include "visualizer.h"
|
||||
#include "led.h"
|
||||
|
||||
void ergodox_led_lower_on (void);
|
||||
void ergodox_led_raise_on (void);
|
||||
void ergodox_led_adjust_on (void);
|
||||
|
||||
void ergodox_led_lower_off (void);
|
||||
void ergodox_led_raise_off (void);
|
||||
void ergodox_led_adjust_off (void);
|
||||
|
||||
void ergodox_led_lower_set (uint8_t n);
|
||||
void ergodox_led_raise_set (uint8_t n);
|
||||
void ergodox_led_adjust_set (uint8_t n);
|
||||
|
||||
#endif /* VISUALIZER_H_ */
|
@@ -5,22 +5,28 @@
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _FUNC 3
|
||||
#define _ADJUST 16
|
||||
#define _DYN 6
|
||||
enum jj40_layers {
|
||||
_QWERTY,
|
||||
_MAC,
|
||||
_LOWER,
|
||||
_MLWR,
|
||||
_RAISE,
|
||||
_MRSE,
|
||||
_FUNC,
|
||||
_MFNC,
|
||||
_ADJUST,
|
||||
_DYN
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
enum jj40_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
MAC,
|
||||
FUNC,
|
||||
MFNC,
|
||||
LOWER,
|
||||
MLWR,
|
||||
RAISE,
|
||||
MRSE,
|
||||
DYNAMIC_MACRO_RANGE
|
||||
};
|
||||
|
||||
@@ -117,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = KEYMAP(\
|
||||
M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
||||
M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
||||
TG(_MAC), _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
||||
),
|
||||
|
||||
/* DYN: Macro Recording and Playback
|
||||
@@ -139,11 +145,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
||||
),
|
||||
|
||||
[_MAC]= KEYMAP(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______\
|
||||
),
|
||||
|
||||
[_MLWR] = KEYMAP(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
||||
),
|
||||
|
||||
[_MRSE] = KEYMAP(\
|
||||
_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) ,\
|
||||
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
|
||||
[_MFNC]= KEYMAP(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\
|
||||
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
@@ -179,10 +212,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case MLWR:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
layer_on(_MLWR);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
layer_off(_MLWR);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case MRSE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
layer_on(_MRSE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
layer_off(_MRSE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case MFNC:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_FUNC);
|
||||
layer_on(_MFNC);
|
||||
} else {
|
||||
layer_off(_FUNC);
|
||||
layer_off(_MFNC);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch(id) {
|
||||
// These would trigger when you hit a key mapped as M(0)
|
||||
@@ -201,6 +266,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
END
|
||||
);
|
||||
}
|
||||
case 2: // Word Select - MAC
|
||||
if (record->event.pressed) {
|
||||
return MACRO(
|
||||
DOWN(KC_LALT), DOWN(KC_RIGHT), UP(KC_RIGHT), DOWN(KC_LSFT), DOWN(KC_LEFT), UP(KC_LEFT), UP(KC_LSFT), UP(KC_LALT),
|
||||
END
|
||||
);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
@@ -1,12 +1,12 @@
|
||||
# AJP10304 Custom JJ40 Layout
|
||||
###Based on my Planck layout of the same name.
|
||||
|
||||
**Note:** In the tables below where there are two characters on a key,
|
||||
**Note:** In the tables below where there are two characters on a key,
|
||||
the second is the output when shift is applied.
|
||||
|
||||
|
||||
**Note:** The below tables assume a UK layout.
|
||||
|
||||
##### Main Qwerty Layer
|
||||
##### Main Qwerty Layer
|
||||
|
||||
* Tab: when held, operates as shift.
|
||||
* Enter: when held, operates as shift.
|
||||
@@ -33,7 +33,7 @@ Activated when `fn` held in the above `qwerty` layer.
|
||||
Activated when `Lower` is held in the above `qwerty` layer.
|
||||
|
||||
* Numbers are along the top row, their shifted counterparts are on row 2.
|
||||
* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
|
||||
* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
|
||||
* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
@@ -42,45 +42,47 @@ Activated when `Lower` is held in the above `qwerty` layer.
|
||||
| ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
|
||||
| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
|
||||
| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
|
||||
|
||||
|
||||
##### Raise Layer
|
||||
Activated when `Raise` is held in the above `qwerty` layer.
|
||||
|
||||
|
||||
* Preferred layer for typing brackets.
|
||||
* Allows for cursor navigation to be used solely with the right hand.
|
||||
* WRDSEL: Select the word where the cursor is.
|
||||
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||
| | | | | | | | | | | | |
|
||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
|
||||
| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
|
||||
| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
|
||||
| | | | { | } | ||<| LEFT | DOWN |RIGHT |>||ZOOM -|
|
||||
| | | | | | Alt | Enter |Raise | | | | |
|
||||
|
||||
| | | | | | Alt | Enter |Raise | | | | |
|
||||
|
||||
##### Lower + Raise
|
||||
Activated when `Lower` and `Raise` are held together the above `qwerty` layer.
|
||||
|
||||
* Audio controls in the same position as cursor keys from the `Raise` layer.
|
||||
* Audio controls in the same position as cursor keys from the `Raise` layer.
|
||||
* ????: Runs a macro for outputting a text string. Do not use this store passwords.
|
||||
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
||||
* CAPS: Toggle caps lock.
|
||||
* DYN: Enter `DYN` layer.
|
||||
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
|
||||
MRSE with RAISE and MFNC with FUNC respectively.
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||
| | | | | | | | | | | | |
|
||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
||||
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
||||
| | | | | | | | Prev | Vol- | Next | | |
|
||||
| MAC | | | | | | | Prev | Vol- | Next | | |
|
||||
| | | | | | | | | DYN | | | |
|
||||
|
||||
|
||||
##### DYN
|
||||
Activated when `DYN` held along with `Lower` and `Raise`
|
||||
Allows recording of macros. To start recording the macro, press either REC1 or REC2.
|
||||
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
|
||||
Allows recording of macros. To start recording the macro, press either REC1 or REC2.
|
||||
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||
| | | | | | | | | | | | |
|
||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||
| | | | | | REC1 | REC2 | | | | | |
|
||||
| | | | | | PLAY1| PLAY2| | | | | |
|
||||
| | | | | | STOP | STOP | | | | | |
|
||||
|
@@ -117,6 +117,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
//keyevent_t event = record->event;
|
||||
|
||||
/*KNOPS_MACRO*/
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -133,6 +134,8 @@ void led_set_user(uint8_t usb_led) {
|
||||
bool process_record_user (uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
/*KNOPS_PROCESS_STATE*/
|
||||
|
||||
return NULL;
|
||||
|
||||
}
|
||||
|
||||
|
@@ -5,22 +5,28 @@
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _FUNC 3
|
||||
#define _ADJUST 16
|
||||
#define _DYN 6
|
||||
enum planck_layers {
|
||||
_QWERTY,
|
||||
_MAC,
|
||||
_LOWER,
|
||||
_MLWR,
|
||||
_RAISE,
|
||||
_MRSE,
|
||||
_FUNC,
|
||||
_MFNC,
|
||||
_ADJUST,
|
||||
_DYN
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
MAC,
|
||||
FUNC,
|
||||
MFNC,
|
||||
LOWER,
|
||||
MLWR,
|
||||
RAISE,
|
||||
MRSE,
|
||||
DYNAMIC_MACRO_RANGE
|
||||
};
|
||||
|
||||
@@ -117,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = {
|
||||
{M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL },
|
||||
{KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ }
|
||||
{M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL },
|
||||
{KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ },
|
||||
{TG(_MAC), _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ }
|
||||
},
|
||||
|
||||
/* DYN: Macro Recording and Playback
|
||||
@@ -141,8 +147,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
[_MAC]= {
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______}
|
||||
},
|
||||
|
||||
[_MLWR] = {
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
|
||||
},
|
||||
|
||||
[_MRSE] = {
|
||||
{_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) },
|
||||
{_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
||||
},
|
||||
|
||||
[_MFNC]= {
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) },
|
||||
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
@@ -179,10 +213,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case MLWR:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
layer_on(_MLWR);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
layer_off(_MLWR);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case MRSE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
layer_on(_MRSE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
layer_off(_MRSE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case MFNC:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_FUNC);
|
||||
layer_on(_MFNC);
|
||||
} else {
|
||||
layer_off(_FUNC);
|
||||
layer_off(_MFNC);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch(id) {
|
||||
// These would trigger when you hit a key mapped as M(0)
|
||||
@@ -201,6 +267,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
END
|
||||
);
|
||||
}
|
||||
case 2: // Word Select - MAC
|
||||
if (record->event.pressed) {
|
||||
return MACRO(
|
||||
DOWN(KC_LALT), DOWN(KC_RIGHT), UP(KC_RIGHT), DOWN(KC_LSFT), DOWN(KC_LEFT), UP(KC_LEFT), UP(KC_LSFT), UP(KC_LALT),
|
||||
END
|
||||
);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
@@ -65,12 +65,14 @@ Activated when `Lower` and `Raise` are held together the above `qwerty` layer.
|
||||
* Reset: Enter bootloader for flashing firmware to the keyboard.
|
||||
* CAPS: Toggle caps lock.
|
||||
* DYN: Enter `DYN` layer.
|
||||
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
|
||||
MRSE with RAISE and MFNC with FUNC respectively.
|
||||
|
||||
| | | | | | | | | | | | |
|
||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
|
||||
| ???? | Reset|Qwerty| | | | | | | | | Del |
|
||||
| CAPS | | | | | | | Mute | Vol+ | Play | | |
|
||||
| | | | | | | | Prev | Vol- | Next | | |
|
||||
| MAC | | | | | | | Prev | Vol- | Next | | |
|
||||
| | | | | | | | | DYN | | | |
|
||||
|
||||
##### DYN
|
||||
|
@@ -3,8 +3,10 @@
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define BACKLIGHT_BREATHING
|
||||
#define BREATHING_PERIOD 3
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
|
@@ -126,14 +126,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
breathing_self_disable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_self_disable();
|
||||
#endif
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DATA:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DATA);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_enable();
|
||||
#endif
|
||||
}
|
||||
@@ -144,7 +146,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
layer_on(_LOWER);
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_enable();
|
||||
#endif
|
||||
}
|
||||
@@ -153,7 +155,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
layer_off(_LOWER);
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
breathing_self_disable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_self_disable();
|
||||
#endif
|
||||
}
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
@@ -164,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
layer_on(_RAISE);
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_enable();
|
||||
#endif
|
||||
}
|
||||
@@ -173,7 +177,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
layer_off(_RAISE);
|
||||
uint8_t default_layer = biton32(default_layer_state);
|
||||
if (default_layer == _QWERTY) {
|
||||
breathing_self_disable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_self_disable();
|
||||
#endif
|
||||
}
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
@@ -182,7 +188,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
backlight_step();
|
||||
#endif
|
||||
} else {
|
||||
|
@@ -27,7 +27,10 @@
|
||||
#include "../../config.h"
|
||||
|
||||
#define LEADER_TIMEOUT 300
|
||||
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define BACKLIGHT_BREATHING
|
||||
#endif
|
||||
|
||||
/* cbbrowne user configuration */
|
||||
|
||||
|
@@ -219,7 +219,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_RAISE);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
@@ -235,7 +235,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_LOWER);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
|
@@ -12,7 +12,9 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define BACKLIGHT_BREATHING
|
||||
#endif
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
|
@@ -123,22 +123,30 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch(id) {
|
||||
case MACRO_BREATH_TOGGLE:
|
||||
if (record->event.pressed) {
|
||||
breathing_toggle();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_toggle();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case MACRO_BREATH_SPEED_INC:
|
||||
if (record->event.pressed) {
|
||||
breathing_period_inc();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_inc();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case MACRO_BREATH_SPEED_DEC:
|
||||
if (record->event.pressed) {
|
||||
breathing_period_dec();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_dec();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case MACRO_BREATH_DEFAULT:
|
||||
if (record->event.pressed) {
|
||||
breathing_period_default();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_default();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -1,10 +1,18 @@
|
||||
SUBPROJECT_DEFAULT = rev4
|
||||
|
||||
MOUSEKEY_ENABLE = yes
|
||||
BLUETOOTH_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
AUDIO_ENABLE = yes
|
||||
|
||||
ifeq ($(MCU),at90usb1286)
|
||||
BOOTMAGIC_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
BLUETOOTH_ENABLE = no
|
||||
else
|
||||
BLUETOOTH_ENABLE = yes
|
||||
endif
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
||||
|
@@ -25,9 +25,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MATRIX_COLS 12
|
||||
|
||||
/* Planck PCB default pin-out */
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
||||
#define UNUSED_PINS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
@@ -69,7 +71,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Only print user print statements */
|
||||
#define USER_PRINT
|
||||
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define BACKLIGHT_BREATHING
|
||||
#endif
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
|
@@ -316,28 +316,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
case MACRO_BREATH_TOGGLE:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_toggle();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_SPEED_INC:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_inc();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_SPEED_DEC:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_dec();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_DEFAULT:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_default();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -352,8 +360,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(LAYER_UPPER);
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||
}
|
||||
else
|
||||
@@ -367,8 +377,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(LAYER_LOWER);
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||
}
|
||||
else
|
||||
@@ -381,14 +393,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
case MACRO_FUNCTION:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
#endif
|
||||
layer_on(LAYER_FUNCTION);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
#endif
|
||||
layer_off(LAYER_FUNCTION);
|
||||
}
|
||||
break;
|
||||
|
@@ -26,9 +26,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MATRIX_COLS 12
|
||||
|
||||
/* Planck PCB default pin-out */
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
|
||||
#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
|
||||
#define UNUSED_PINS
|
||||
#endif
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
@@ -64,7 +66,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Only print user print statements */
|
||||
#define USER_PRINT
|
||||
|
||||
#ifndef LIGHT_CONFIG_H
|
||||
#define BACKLIGHT_BREATHING
|
||||
#endif
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
|
@@ -325,28 +325,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
case MACRO_BREATH_TOGGLE:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_toggle();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_SPEED_INC:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_inc();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_SPEED_DEC:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_dec();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case MACRO_BREATH_DEFAULT:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_default();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -361,8 +369,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(LAYER_UPPER);
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||
}
|
||||
else
|
||||
@@ -376,8 +386,10 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(LAYER_LOWER);
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
#endif
|
||||
update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
|
||||
}
|
||||
else
|
||||
@@ -390,14 +402,18 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
case MACRO_FUNCTION:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
#endif
|
||||
layer_on(LAYER_FUNCTION);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
#ifdef BACKLIGHT_BREATHING
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
#endif
|
||||
layer_off(LAYER_FUNCTION);
|
||||
}
|
||||
break;
|
||||
|
@@ -36,7 +36,7 @@ F_USB = $(F_CPU)
|
||||
|
||||
# Bootloader
|
||||
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
||||
# different sizes, comment this out, and the correct address will be loaded
|
||||
# different sizes, comment this out, and the correct address will be loaded
|
||||
# automatically (+60). See bootloader.mk for all options.
|
||||
ifeq ($(strip $(KEYBOARD)), planck/rev3)
|
||||
BOOTLOADER = atmel-dfu
|
||||
@@ -55,7 +55,7 @@ endif
|
||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
@@ -76,5 +76,6 @@ API_SYSEX_ENABLE = no
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit planck_grid
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
DEFAULT_FOLDER = planck/rev5
|
||||
|
@@ -1,27 +1,20 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "config_common.h"
|
||||
#include "../../config.h"
|
||||
#include "dudeofawesome.h"
|
||||
|
||||
#define TAPPING_TOGGLE 2
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
#define STARTUP_SONG SONG(PLANCK_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
|
||||
#define WORKMAN_SOUND \
|
||||
E__NOTE(_GS7), \
|
||||
ED_NOTE(_E7), \
|
||||
S__NOTE(_REST), \
|
||||
E__NOTE(_A6), \
|
||||
S__NOTE(_REST), \
|
||||
ED_NOTE(_GS6),
|
||||
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(WORKMAN_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(WORKMAN_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
#endif
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
|
@@ -213,63 +213,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case WORKMAN:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_WORKMAN);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
PORTE &= ~(1<<6);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
PORTE |= (1<<6);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return true;
|
||||
return false;
|
||||
case WORKMAN:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_WORKMAN);
|
||||
}
|
||||
return false;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
PORTE &= ~(1<<6);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
PORTE |= (1<<6);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
bool numpadActive = false;
|
||||
|
||||
float tone_numpad_on[][2] = SONG(NUMPAD_ON_SOUND);
|
||||
|
||||
void matrix_scan_user (void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
||||
switch (layer) {
|
||||
case _NUMPAD:
|
||||
if (!numpadActive) {
|
||||
numpadActive = true;
|
||||
PLAY_SONG(tone_numpad_on);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (numpadActive) {
|
||||
numpadActive = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -10,7 +10,7 @@
|
||||
- Dvorak
|
||||
- Colemak
|
||||
- Numpad layer
|
||||

|
||||

|
||||
- Audio
|
||||
|
||||
## Building and flashing
|
||||
|
@@ -0,0 +1,5 @@
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = yes # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
|
@@ -14,7 +14,7 @@
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"identifier": "FEED:6061:0002"
|
||||
}
|
||||
"identifier": "FEED:6061:0002",
|
||||
"bootloader": "qmk-dfu"
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#include "rgb.h"
|
||||
#include "s60_x.h"
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
|
@@ -4,6 +4,9 @@
|
||||
#include "../../config.h"
|
||||
|
||||
// place overrides here
|
||||
#ifdef DEBOUNCING_DELAY
|
||||
#undef DEBOUNCING_DELAY
|
||||
#endif
|
||||
#define DEBOUNCING_DELAY 2
|
||||
#define MOUSEKEY_INTERVAL 10
|
||||
#define MOUSEKEY_DELAY 0
|
||||
|
@@ -1,5 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
||||
|
@@ -1,5 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
||||
|
45
keyboards/viterbi/keymaps/fido/config.h
Normal file
45
keyboards/viterbi/keymaps/fido/config.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2018 Danny Nguyen <danny@keeb.io>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
#ifndef MASTER_LEFT
|
||||
#define MASTER_RIGHT
|
||||
#endif
|
||||
// #define EE_HANDS
|
||||
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 2
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#endif
|
74
keyboards/viterbi/keymaps/fido/keymap.c
Normal file
74
keyboards/viterbi/keymaps/fido/keymap.c
Normal file
@@ -0,0 +1,74 @@
|
||||
#include "viterbi.h"
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#include "rgblight.h"
|
||||
#endif
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _FN 1
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
#define _______ KC_TRNS
|
||||
|
||||
#define KC_FN1 MO(_FN)
|
||||
#define KC_WD_L LCTL(KC_LEFT)
|
||||
#define KC_WD_R LCTL(KC_RGHT)
|
||||
#define KC_RTOG RGB_TOG
|
||||
#define KC_RMOD RGB_MOD
|
||||
#define KC_RHUI RGB_HUI
|
||||
#define KC_RHUD RGB_HUD
|
||||
#define KC_RSAI RGB_SAI
|
||||
#define KC_RSAD RGB_SAD
|
||||
#define KC_RVAI RGB_VAI
|
||||
#define KC_RVAD RGB_VAD
|
||||
#define KC_RST RESET
|
||||
#define KC_CTLZ LCTL(KC_Z)
|
||||
#define KC_CTLX LCTL(KC_X)
|
||||
#define KC_CTLC LCTL(KC_C)
|
||||
#define KC_CTLV LCTL(KC_V)
|
||||
#define KC_ATAB LALT(KC_TAB)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = KC_KEYMAP(
|
||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||
1 , 2 , 3 , 4 , 5 , 6 ,ESC , DEL , 7 , 8 , 9 , 0 ,MINS,EQL ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
RBRC, Q , W , E , R , T ,TAB , BSPC, Y , U , I , O , P ,LBRC,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
GRV , A , S , D , F , G ,LALT, CAPS, H , J , K , L ,SCLN,QUOT,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
BSLS, Z , X , C , V , B ,LSFT, RSFT, N , M ,COMM,DOT ,SLSH,ENT ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
INS ,PSCR,MENU,LGUI,LCTL,SPC ,FN1 , FN1 ,SPC ,RCTL,RALT, , ,
|
||||
//`----+----+----+----+----+----+----' `----+----+----+----+----+----+----'
|
||||
),
|
||||
|
||||
[_FN] = KC_KEYMAP(
|
||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||
F1 , F2 , F3 , F4 , F5 , F6 , , , F7 , F8 , F9 ,F10 ,F11 ,F12 ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
,PGUP,WD_L, UP ,WD_R, ,ATAB, ,RMOD,RHUI,RSAI,RVAI, , ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
,HOME,LEFT,DOWN,RGHT, , , , ,RHUD,RSAD,RVAD, , ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
,CTLZ,CTLX,CTLC,CTLV, , , ,MUTE,VOLD,VOLU, , , ,
|
||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
, , , , , , , , , , , , ,
|
||||
//`----+----+----+----+----+----+----' `----+----+----+----+----+----+----'
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
||||
rgblight_enable();
|
||||
} else {
|
||||
rgblight_disable();
|
||||
}
|
||||
#endif //RGBLIGHT_ENABLE
|
||||
}
|
1
keyboards/viterbi/keymaps/fido/rules.mk
Normal file
1
keyboards/viterbi/keymaps/fido/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
@@ -1,5 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
||||
|
@@ -1,41 +0,0 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "split_util.h"
|
||||
#include "progmem.h"
|
||||
#include "print.h"
|
||||
#include "rgblight.h"
|
||||
|
||||
#ifdef USE_I2C
|
||||
# include "i2c.h"
|
||||
#else // USE_SERIAL
|
||||
# include "serial.h"
|
||||
#endif
|
||||
|
||||
|
||||
rgblight_config_t rgblight_config;
|
||||
|
||||
void rgblight_slave_update(void) {
|
||||
//rgblight_effect_christmas();
|
||||
}
|
||||
|
||||
|
||||
void rgblight_set(void) {
|
||||
if (rgblight_config.enable) {
|
||||
#ifdef RGBW
|
||||
ws2812_setleds_rgbw(led, RGBLED_NUM);
|
||||
#else
|
||||
ws2812_setleds(led, RGBLED_NUM);
|
||||
#endif
|
||||
} else {
|
||||
for (uint8_t i = 0; i < RGBLED_NUM; i++) {
|
||||
led[i].r = 0;
|
||||
led[i].g = 0;
|
||||
led[i].b = 0;
|
||||
}
|
||||
#ifdef RGBW
|
||||
ws2812_setleds_rgbw(led, RGBLED_NUM);
|
||||
#else
|
||||
ws2812_setleds(led, RGBLED_NUM);
|
||||
#endif
|
||||
}
|
||||
}
|
@@ -1,6 +0,0 @@
|
||||
#ifndef SPLIT_RGB_H
|
||||
#define SPLIT_RGB_H
|
||||
|
||||
void rgblight_slave_update(void);
|
||||
|
||||
#endif
|
@@ -10,7 +10,7 @@ using Bootmapper Client to change any keyboard settings, since not all the
|
||||
USB report options are supported.
|
||||
|
||||
Here is the default layout, it is fairly simple with a few function keys:
|
||||

|
||||

|
||||
If you have a different layout (since there were many options during the GB), please feel free to contribute!
|
||||
|
||||
Keyboard maintainer: [Andrew](https://github.com/sparkyman215)
|
||||
@@ -29,27 +29,18 @@ This firmware was modified from [ps2avrGB](https://github.com/qmk/qmk_firmware/t
|
||||
|
||||
## Installing and Building
|
||||
|
||||
First, install the requirements. These commands are for OSX, but all you
|
||||
need is the AVR toolchain and `bootloadHID` for flashing:
|
||||
|
||||
```
|
||||
$ brew cask install crosspack-avr
|
||||
$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
||||
```
|
||||
|
||||
In order to use the `./program` script, which can reboot the board into
|
||||
the bootloader, you'll need Python 2 with PyUSB installed:
|
||||
|
||||
```
|
||||
$ pip install pyusb
|
||||
```
|
||||
Since the YMD96 uses an ATmega32a chip instead of the 32u4, you need to download [HIDBootFlash v.1.0](http://vusb.wikidot.com/project:hidbootflash) for Windows. If anyone knows of a Linux/Mac bootflasher that works, edit this readme!
|
||||
On Windows, I use [MINGw](http://www.mingw.org/) to compile the keymaps. On Linux, you can simply use the terminal.
|
||||
|
||||
Once you have those two pieces of software:
|
||||
Build the keyboard with
|
||||
```
|
||||
$ make ymd96:default
|
||||
$ make ymd96-default
|
||||
```
|
||||
If you make your own layout, change the `default` word to whatever your layout is.
|
||||
|
||||
And flash the compiled hex file with `HIDBootFlash`. Simply put the board in flashing mode by plugging it in while holding control, and click `find device`. Then you can specify the .hex file and flash it to the device.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
From my experience, it's really hard to brick these boards. But these
|
||||
@@ -60,3 +51,5 @@ tricks have been useful when it got stuck in a weird scenario.
|
||||
done, just reflash the board with the original firmware.
|
||||
2. Sometimes USB hubs can act weird, so try connecting the board directly
|
||||
to your computer or plugging/unplugging the USB hub.
|
||||
|
||||
Lastly, if you still need help, you can add me on Discord and I'll be happy to help.
|
||||
|
@@ -31,10 +31,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MATRIX_COLS 15
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
#define RGBLED_NUM 20
|
||||
#define RGB_DI_PIN C4
|
||||
#define RGBLED_NUM 18
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_VAL_STEP 20
|
||||
|
||||
#define NO_UART 1
|
||||
#define BOOTLOADHID_BOOTLOADER 1
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
|
||||
|
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | 7 | 8 | 9 | - | 18 keys
|
||||
* | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | 4 | 5 | 6 | + | 17 keys
|
||||
* | LShft | Z | X | C | V | B | N | M | , | . | / | RShft | 1 | 2 | 3 | En | 16 keys
|
||||
* | Ctrl | Win | Alt | Space | Fn | Win | Left | Down | Up | Right| 0 | . | ter | 12 keys
|
||||
* | Ctrl | Win | Alt | Space | Fn | Win | Left | Down | Up | Right| 0 | . | | 12 keys
|
||||
*/
|
||||
|
||||
[_DEFLT] = KEYMAP(
|
||||
@@ -46,17 +46,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Layer 1, raise layer
|
||||
* | | | | | | | | | | | | | | | | | | | |
|
||||
* | | | | | | | | | | | | | | | | | | |
|
||||
* | | | | | | | | | | | | | | | | | | |
|
||||
* | | |rgb_up|rgb_dn|rgb_mo| | | | | | F22 | F23 | F24 | | | | | |
|
||||
* | | | | | | | | | | | | | | | | | |
|
||||
* | | | | | | | | | VolDn| VolUp| Mute | Play/Pause | | | | |
|
||||
* | | | | | | | | | | | | | |
|
||||
* | | | | | | |MPrev | | | MNext| | | |
|
||||
*/
|
||||
[_RAISE] = KEYMAP(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_F22, KC_F23, KC_F24, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD,KC_VOLU, KC_MUTE, KC_MPLY, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, RGB_VAI, RGB_VAD, RGB_MOD, ______, ______, ______, ______, ______, KC_F22, KC_F23, KC_F24, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD,KC_VOLU, KC_MUTE, KC_MPLY, ______, ______, ______, ______, \
|
||||
______, ______, ______, ______, ______, ______, KC_MPRV, ______, ______, KC_MNXT, ______, ______ \
|
||||
)
|
||||
};
|
@@ -183,6 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
/*
|
||||
* Led Configuration
|
||||
*/
|
||||
@@ -222,6 +223,7 @@ static inline void mod_layer_with_rgb(keyrecord_t *record, uint8_t layer) {
|
||||
bf_set_led(currentLayer);
|
||||
};
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Custom keycodes
|
||||
@@ -240,12 +242,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
SEND_STRING(" ");
|
||||
}
|
||||
return false; break;
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
case BF_NUMS:
|
||||
mod_layer_with_rgb(record, NUMS);
|
||||
return false; break;
|
||||
case BF_MOVE:
|
||||
mod_layer_with_rgb(record, MOVE);
|
||||
return false; break;
|
||||
#endif
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -255,7 +259,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
* Active Routines
|
||||
*/
|
||||
void matrix_init_user(void) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
bf_set_led(QWERTY);
|
||||
#endif
|
||||
};
|
||||
|
||||
// Runs constantly in the background, in a loop.
|
||||
|
@@ -6,8 +6,9 @@ DEBUG_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
ifdef RGBLIGHT_ENABLE
|
||||
RGBLIGHT_ANIMATION = yes
|
||||
endif
|
||||
|
||||
ifeq (${FORCE_NKRO},yes)
|
||||
OPT_DEFS += -DFORCE_NKRO
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# Enable RGB if not a Planck
|
||||
ifeq (,$(findstring planck,$(KEYBOARD)))
|
||||
ifeq ($(LAYOUTS_HAS_RGB),yes)
|
||||
RGBLIGHT_ENABLE = yes
|
||||
endif
|
||||
|
122
quantum/keymap_extras/keymap_italian.h
Normal file
122
quantum/keymap_extras/keymap_italian.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/* Copyright 2015-2016 Matthias Schmidtt
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef KEYMAP_ITALIAN
|
||||
#define KEYMAP_ITALIAN
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define IT_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
||||
|
||||
|
||||
#define IT_A KC_A
|
||||
#define IT_B KC_B
|
||||
#define IT_C KC_C
|
||||
#define IT_D KC_D
|
||||
#define IT_E KC_E
|
||||
#define IT_F KC_F
|
||||
#define IT_G KC_G
|
||||
#define IT_H KC_H
|
||||
#define IT_I KC_I
|
||||
#define IT_J KC_J
|
||||
#define IT_K KC_K
|
||||
#define IT_L KC_L
|
||||
#define IT_M KC_M
|
||||
#define IT_N KC_N
|
||||
#define IT_O KC_O
|
||||
#define IT_P KC_P
|
||||
#define IT_Q KC_Q
|
||||
#define IT_R KC_R
|
||||
#define IT_S KC_S
|
||||
#define IT_T KC_T
|
||||
#define IT_U KC_U
|
||||
#define IT_V KC_V
|
||||
#define IT_W KC_W
|
||||
#define IT_X KC_X
|
||||
#define IT_Y KC_Y
|
||||
#define IT_Z KC_Z
|
||||
|
||||
#define IT_0 KC_0
|
||||
#define IT_1 KC_1
|
||||
#define IT_2 KC_2
|
||||
#define IT_3 KC_3
|
||||
#define IT_4 KC_4
|
||||
#define IT_5 KC_5
|
||||
#define IT_6 KC_6
|
||||
#define IT_7 KC_7
|
||||
#define IT_8 KC_8
|
||||
#define IT_9 KC_9
|
||||
|
||||
#define IT_DOT KC_DOT
|
||||
#define IT_COMM KC_COMM
|
||||
|
||||
#define IT_EACC KC_LBRC // è, é, [, {
|
||||
#define IT_PLUS KC_RBRC // +, *, ], }
|
||||
#define IT_OACC KC_SCLN // ò, ç, @,
|
||||
#define IT_AACC KC_QUOT // à, °, #,
|
||||
#define IT_UACC KC_BSLS // ù, §, ,
|
||||
#define IT_IACC KC_EQL // ì, ^, ,
|
||||
|
||||
#define IT_APOS KC_MINS // ', ?, ,
|
||||
|
||||
|
||||
|
||||
#define IT_BKSL KC_GRAVE // backslash \, |
|
||||
|
||||
|
||||
#define IT_ACUT // accent acute ´ and grave `
|
||||
|
||||
#define IT_LESS KC_NUBS // < and > and |
|
||||
#define IT_MINS KC_SLSH // - and _
|
||||
|
||||
// shifted characters
|
||||
#define IT_PIPE LSFT(IT_BKSL) // °
|
||||
#define IT_EXLM LSFT(KC_1) // !
|
||||
#define IT_DQOT LSFT(KC_2) // "
|
||||
#define IT_STRL LSFT(KC_3) // £
|
||||
#define IT_DLR LSFT(KC_4) // $
|
||||
#define IT_PERC LSFT(KC_5) // %
|
||||
#define IT_AMPR LSFT(KC_6) // &
|
||||
#define IT_SLSH LSFT(KC_7) // /
|
||||
#define IT_LPRN LSFT(KC_8) // (
|
||||
#define IT_RPRN LSFT(KC_9) // )
|
||||
#define IT_EQL LSFT(KC_0) // =
|
||||
#define IT_QST LSFT(IT_APOS) // ?
|
||||
#define IT_CRC LSFT(IT_IACC) // ^
|
||||
#define IT_ASTR LSFT(IT_PLUS) // *
|
||||
#define IT_MORE LSFT(IT_LESS) // >
|
||||
#define IT_COLN LSFT(IT_DOT) // :
|
||||
#define IT_SCLN LSFT(IT_COMM) // ;
|
||||
#define IT_UNDS LSFT(IT_MINS) // _
|
||||
|
||||
// Alt Gr-ed characters
|
||||
#define IT_LCBR ALGR(KC_7) // {
|
||||
#define IT_LBRC ALGR(IT_EACC) // [
|
||||
#define IT_RBRC ALGR(IT_PLUS) // ]
|
||||
#define IT_RCBR ALGR(KC_0) // }
|
||||
#define IT_AT ALGR(IT_OACC) // @
|
||||
#define IT_EURO ALGR(KC_E) // €
|
||||
#define IT_PIPE LSFT(IT_BKSL) // |
|
||||
#define IT_SHRP ALGR(IT_AACC) // #
|
||||
|
||||
#define IT_X_PLUS X_RBRACKET // #
|
||||
|
||||
#endif
|
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
__attribute__ ((weak))
|
||||
combo_t key_combos[] = {
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
|
||||
};
|
||||
|
||||
|
@@ -1,6 +1,9 @@
|
||||
#ifndef USERSPACE
|
||||
#define USERSPACE
|
||||
|
||||
#ifdef TAPPING_TOGGLE
|
||||
#undef TAPPING_TOGGLE
|
||||
#endif
|
||||
#define TAPPING_TOGGLE 2
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
@@ -11,6 +14,12 @@
|
||||
E__NOTE(_A6), \
|
||||
S__NOTE(_REST), \
|
||||
ED_NOTE(_GS6),
|
||||
|
||||
#define NUMPAD_ON_SOUND \
|
||||
E__NOTE(_C6), \
|
||||
ED_NOTE(_BF5), \
|
||||
S__NOTE(_C6), \
|
||||
ED_NOTE(_BF5),
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if brew --version 2>&1 > /dev/null; then
|
||||
if ! brew --version 2>&1 > /dev/null; then
|
||||
echo "Error! Homebrew not installed or broken!"
|
||||
echo -n "Would you like to install homebrew now? [y/n] "
|
||||
while read ANSWER; do
|
||||
|
Reference in New Issue
Block a user