Remove userspace keymaps (#22544)
This commit is contained in:
parent
4908d4b1ca
commit
1ed03f498f
2738 changed files with 0 additions and 207314 deletions
|
@ -1,47 +0,0 @@
|
|||
/* Copyright 2022 Cameron Larsen <@cameronjlarsen>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
/* Select hand configuration */
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 135
|
||||
|
||||
#define CAPS_WORD_IDLE_TIMEOUT 5000 // Turn off Caps Word after 5 seconds.
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
|
@ -1,357 +0,0 @@
|
|||
/* Copyright 2022 Cameron Larsen <@cameronjlarsen>
|
||||
*
|
||||
* 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 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include <stdio.h>
|
||||
#include "features/oneshot.h"
|
||||
|
||||
enum layers {
|
||||
_QWERTY = 0,
|
||||
SYM,
|
||||
NAV,
|
||||
FUN,
|
||||
};
|
||||
// Aliases for readability
|
||||
#define QWERTY DF(_QWERTY)
|
||||
#define LA_SYM LT(SYM, KC_TAB)
|
||||
#define LA_NAV MO(NAV)
|
||||
|
||||
// One shot mods
|
||||
enum keycodes {
|
||||
OS_SHFT = QK_USER,
|
||||
OS_CTRL,
|
||||
OS_ALT,
|
||||
OS_GUI,
|
||||
};
|
||||
|
||||
// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
|
||||
// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
|
||||
// produces the key `tap` when tapped (i.e. pressed and released).
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* Base Layer: QWERTY
|
||||
*
|
||||
* Inspiration:
|
||||
*
|
||||
* https://github.com/serebrov/qmk_firmware/blob/custom/keyboards/kyria/keymaps/kyria-mini/keymap.c
|
||||
*
|
||||
* Notes:
|
||||
* - F & J enables CAPSWORD, disables after 5 seconds
|
||||
* - Left thumb CTRL and SHIFT are one shot
|
||||
* - Enter is moved to ; location and ; is moved to Sym layer
|
||||
* - ESC can be accessed by NAV and G
|
||||
* - BKSP is accessed by NAV and Enter
|
||||
* - Tab is accessed by tapping SYM layer
|
||||
* - FUN layer is accessed by holding NAV and SYM layers at the same time
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
* | Q | W | E | R | T | | Y | U | I | O | P |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | A | S | D | F | G | | H | J | K | L | Enter|
|
||||
* |------+------+------+------+------. ,------+------+------+------+------|
|
||||
* | Z | X | C | V | B | | N | M | , < | . > | / ? |
|
||||
* `------+------+------+------+------+------. ,------+------+------+------+-------------'
|
||||
* | OSM | OSM | Nav | | Sym | Space| GUI |
|
||||
* | Ctrl | Shift| | | Tab | | |
|
||||
* `---------------------' `--------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_split_3x5_3(
|
||||
KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P ,
|
||||
KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_ENT ,
|
||||
KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N, KC_M ,KC_COMM, KC_DOT , KC_SLSH,
|
||||
OS_CTRL, OS_SHFT, LA_NAV , LA_SYM , KC_SPC, OS_GUI
|
||||
),
|
||||
|
||||
/*
|
||||
* Sym Layer: Numbers and symbols
|
||||
*
|
||||
* Notes:
|
||||
* - Symbols are grouped together and shifted symbols from middle row are on bottom row
|
||||
* - Exception is angle brackets
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
* | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | ` | ( | ) | ' | = | | \ | - | [ | ] | ; |
|
||||
* |------+------+------+------+------+ +------+------+------+------+------|
|
||||
* | ~ | < | > | " | + | | | | _ | { | } | : |
|
||||
* `-------------+------+------+------+------. ,------+------+------+------+-------------'
|
||||
* | | | | | | | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[SYM] = LAYOUT_split_3x5_3(
|
||||
KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,
|
||||
KC_GRV , KC_LPRN, KC_RPRN, KC_QUOT, KC_EQL , KC_BSLS, KC_MINS, KC_LBRC, KC_RBRC, KC_SCLN,
|
||||
KC_TILD, KC_LABK, KC_RABK, KC_DQUO, KC_PLUS, KC_PIPE, KC_UNDS, KC_LCBR, KC_RCBR, KC_COLN,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
* Nav Layer: Navigation, Media
|
||||
*
|
||||
* Notes:
|
||||
* - Vim style navigation keys
|
||||
* - Volume and Media Keys
|
||||
* - BKSP on Enter
|
||||
* - DEL on /
|
||||
* - Esc on G
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
* | | | | BriUp| BriDn| | Home | PgDn | PgUp | End |PrtScr|
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | GUI | Alt | Ctrl | Shift| Esc | | ← | ↓ | ↑ | → | Bksp |
|
||||
* |------+------+------+------+------+ +------+------+------+------+------|
|
||||
* | | Vol- | Mute | Vol+ |NumLck| | MPrev| MPlay| MStop| MNext|Delete|
|
||||
* `-------------+------+------+------+------. ,------+------+------+------+-------------'
|
||||
* | | | | | | | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[NAV] = LAYOUT_split_3x5_3(
|
||||
_______, _______, _______, KC_BRIU, KC_BRID, KC_HOME, KC_PGDN, KC_PGUP, KC_END , KC_PSCR,
|
||||
OS_GUI , OS_ALT , OS_CTRL, OS_SHFT, KC_ESC , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_BSPC,
|
||||
_______, KC_VOLD, KC_MUTE, KC_VOLU, KC_NUM , KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, KC_DEL ,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*
|
||||
* Function Layer: Function keys
|
||||
*
|
||||
* Notes:
|
||||
* - F1-F10 on bottom row
|
||||
* - F11-F12 on index finger inner row
|
||||
* - Homerow mods
|
||||
* - Num keys on top row
|
||||
*
|
||||
* ,----------------------------------. ,----------------------------------.
|
||||
* | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | GUI | Alt | Ctrl | Shift| F11 | | F12 | Shift| Ctrl | Alt | GUI |
|
||||
* |------+------+------+------+------+ +------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
|
||||
* `-------------+------+------+------+------. ,------+------+------+------+-------------'
|
||||
* | | | | | | | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[FUN] = LAYOUT_split_3x5_3(
|
||||
KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,
|
||||
OS_GUI , OS_ALT , OS_CTRL, OS_SHFT, KC_F11 , KC_F12 , OS_SHFT, OS_CTRL, OS_ALT , OS_GUI ,
|
||||
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 ,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
enum combo_events {
|
||||
CAPS_COMBO
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM caps_combo[] = {KC_F, KC_J, COMBO_END};
|
||||
|
||||
combo_t key_combos[] = {
|
||||
[CAPS_COMBO] = COMBO_ACTION(caps_combo),
|
||||
// Other combos...C
|
||||
};
|
||||
|
||||
void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||
switch(combo_index) {
|
||||
case CAPS_COMBO:
|
||||
if (pressed) {
|
||||
caps_word_on(); // Activate Caps Word!
|
||||
}
|
||||
break;
|
||||
|
||||
// Other combos...
|
||||
}
|
||||
}
|
||||
|
||||
bool is_oneshot_cancel_key(uint16_t keycode){
|
||||
switch (keycode) {
|
||||
case LA_NAV:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool is_oneshot_ignored_key(uint16_t keycode){
|
||||
switch (keycode) {
|
||||
case LA_NAV:
|
||||
case LA_SYM:
|
||||
case OS_SHFT:
|
||||
case OS_CTRL:
|
||||
case OS_ALT:
|
||||
case OS_GUI:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
oneshot_state os_shft_state = os_up_unqueued;
|
||||
oneshot_state os_ctrl_state = os_up_unqueued;
|
||||
oneshot_state os_alt_state = os_up_unqueued;
|
||||
oneshot_state os_cmd_state = os_up_unqueued;
|
||||
|
||||
|
||||
|
||||
bool caps_word_press_user(uint16_t keycode) {
|
||||
switch (keycode) {
|
||||
// Keycodes that continue Caps Word, with shift applied.
|
||||
case KC_A ... KC_Z:
|
||||
case KC_MINS:
|
||||
add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
|
||||
return true;
|
||||
|
||||
// Keycodes that continue Caps Word, without shifting.
|
||||
case KC_1 ... KC_0:
|
||||
case KC_BSPC:
|
||||
case KC_DEL:
|
||||
case KC_UNDS:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false; // Deactivate Caps Word.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state){
|
||||
return update_tri_layer_state(state, SYM, NAV, FUN);
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (get_highest_layer(layer_state | default_layer_state)) {
|
||||
case _QWERTY:
|
||||
oled_write_ln_P(PSTR("QWERTY"), false);
|
||||
break;
|
||||
case SYM:
|
||||
oled_write_ln_P(PSTR("Sym"), false);
|
||||
break;
|
||||
case NAV:
|
||||
oled_write_ln_P(PSTR("Nav"), false);
|
||||
break;
|
||||
case FUN:
|
||||
oled_write_ln_P(PSTR("Function"), false);
|
||||
break;
|
||||
default:
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
}
|
||||
|
||||
char keylog_str[24] = {};
|
||||
|
||||
const char code_to_name[60] = {
|
||||
' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
|
||||
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
|
||||
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
|
||||
'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
|
||||
'#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
|
||||
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
||||
char name = ' ';
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
|
||||
(keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
|
||||
if (keycode < 60) {
|
||||
name = code_to_name[keycode];
|
||||
}
|
||||
|
||||
// update keylog
|
||||
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
|
||||
record->event.key.row, record->event.key.col,
|
||||
keycode, name);
|
||||
}
|
||||
|
||||
void oled_render_keylog(void) {
|
||||
oled_write(keylog_str, false);
|
||||
}
|
||||
|
||||
void render_bootmagic_status(bool status) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][2][3] = {
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
};
|
||||
if (status) {
|
||||
oled_write_ln_P(logo[0][0], false);
|
||||
oled_write_ln_P(logo[0][1], false);
|
||||
} else {
|
||||
oled_write_ln_P(logo[1][0], false);
|
||||
oled_write_ln_P(logo[1][1], false);
|
||||
}
|
||||
}
|
||||
|
||||
void oled_render_logo(void) {
|
||||
static const char PROGMEM crkbd_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
|
||||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
|
||||
0};
|
||||
oled_write_P(crkbd_logo, false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_layer_state();
|
||||
oled_render_keylog();
|
||||
} else {
|
||||
oled_render_logo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||
if (!process_caps_word(keycode, record)) { return false; }
|
||||
// Your macros ...
|
||||
update_oneshot(
|
||||
&os_shft_state, KC_LSFT, OS_SHFT,
|
||||
keycode, record
|
||||
);
|
||||
|
||||
update_oneshot(
|
||||
&os_ctrl_state, KC_LCTL, OS_CTRL,
|
||||
keycode, record
|
||||
);
|
||||
|
||||
update_oneshot(
|
||||
&os_alt_state, KC_LALT, OS_ALT,
|
||||
keycode, record
|
||||
);
|
||||
|
||||
update_oneshot(
|
||||
&os_cmd_state, KC_LGUI, OS_GUI,
|
||||
keycode, record
|
||||
);
|
||||
if (record->event.pressed) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,14 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = no
|
||||
BOOLOADER = atmel-dfu
|
||||
OLED_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
COMMAND_ENABLE = no # Disables the command feature
|
||||
COMBO_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
AUDIO_ENABLE = no
|
||||
MIDI_ENABLE = no
|
||||
BLUETOOTH_ENABLE = no
|
||||
BACKLIGHT_ENABLE = no
|
||||
CAPS_WORD_ENABLE = yes
|
||||
CUSTOM_ONESHOT_ENABLE = yes
|
|
@ -1,20 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#define EE_HANDS
|
||||
|
||||
#define OLED_DISABLE_TIMEOUT
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
|
||||
# define RGB_MATRIX_HUE_STEP 8
|
||||
# define RGB_MATRIX_SAT_STEP 8
|
||||
# define RGB_MATRIX_VAL_STEP 5
|
||||
# define RGB_MATRIX_SPD_STEP 10
|
||||
#endif
|
||||
|
||||
// comment out unnecessary layouts
|
||||
#define ENABLE_QWERTY
|
||||
#define ENABLE_COLEMAK
|
||||
#define ENABLE_DVORAK
|
||||
#define ENABLE_WORKMAN
|
|
@ -1,76 +0,0 @@
|
|||
#include "curry.h"
|
||||
|
||||
#define LAYOUT_crkbd_base( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
|
||||
) \
|
||||
LAYOUT_wrapper( \
|
||||
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
|
||||
MT_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
|
||||
OS_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, OS_RSFT, \
|
||||
QK_LEAD,OS_LALT, SP_LWER, ET_RAIS, KC_BSPC, KC_RGUI \
|
||||
)
|
||||
#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#if defined(ENABLE_QWERTY)
|
||||
[_QWERTY] = LAYOUT_crkbd_base_wrapper(
|
||||
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||
),
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_COLEMAK)
|
||||
[_COLEMAK] = LAYOUT_crkbd_base_wrapper(
|
||||
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
|
||||
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
|
||||
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
|
||||
),
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_DVORAK)
|
||||
[_DVORAK] = LAYOUT_crkbd_base_wrapper(
|
||||
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
|
||||
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
|
||||
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
|
||||
),
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_WORKMAN)
|
||||
[_WORKMAN] = LAYOUT_crkbd_base_wrapper(
|
||||
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
|
||||
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
|
||||
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
|
||||
),
|
||||
#endif
|
||||
|
||||
[_MODS] = LAYOUT_wrapper(
|
||||
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||
KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, KC_RSFT,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F12,
|
||||
KC_GRV, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
|
||||
_______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_wrapper(
|
||||
_______, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
|
||||
_______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
|
||||
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_wrapper(
|
||||
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
|
||||
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR,
|
||||
MG_NKRO, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL,
|
||||
_______, _______, _______, _______, TG_MODS, _______
|
||||
)
|
||||
};
|
|
@ -1,16 +0,0 @@
|
|||
# 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 # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
|
||||
OLED_ENABLE = yes
|
||||
|
||||
BOOTLOADER = atmel-dfu
|
||||
SPLIT_TRANSPORT = mirror
|
|
@ -1,133 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2021 Dane Evans
|
||||
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define CUSTOM_FONT
|
||||
|
||||
#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#define RGBLIGHT_SLEEP
|
||||
//
|
||||
#define RGBLIGHT_LAYERS
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#undef RGBLED_NUM
|
||||
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
//#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
//#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
//#define RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
//#define RGBLED_NUM 54
|
||||
//#define RGBLED_SPLIT 27
|
||||
//#define RGBLED_SPLIT { 27, 27 } // haven't figured out how to use this yet
|
||||
|
||||
#define RGBLED_NUM 27
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
|
||||
|
||||
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
|
||||
# define RGB_MATRIX_HUE_STEP 8
|
||||
# define RGB_MATRIX_SAT_STEP 8
|
||||
# define RGB_MATRIX_VAL_STEP 8
|
||||
# define RGB_MATRIX_SPD_STEP 10
|
||||
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
# define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define ENABLE_RGB_MATRIX_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
#endif
|
|
@ -1,396 +0,0 @@
|
|||
/* Copyright 2020 Dane Evans
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
// CRKBD
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
char layer_state_str[24];
|
||||
|
||||
|
||||
enum userspace_layers {
|
||||
_DEFAULTS = 0,
|
||||
_COLEMAK = 0,
|
||||
_COLEMAKDH,
|
||||
_QWERTY,
|
||||
_NUM,
|
||||
_SYM,
|
||||
_COMMAND,
|
||||
_NUMPAD,
|
||||
_SWITCH,
|
||||
_MOVE,
|
||||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// colemak
|
||||
[_COLEMAK] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_G, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// colemak DH
|
||||
[_COLEMAKDH] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_B, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// qwerty
|
||||
[_QWERTY] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, LT(_SWITCH,KC_Y), KC_U, KC_I, KC_O, KC_P, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_NUMPAD,KC_SCLN), KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
|
||||
|
||||
// numbers - L thumb
|
||||
[_NUM] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_COMMAND), KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// symbols - R thumb
|
||||
[_SYM] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, MO(_COMMAND), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// commands - both thumbs
|
||||
[_COMMAND] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, DF(1), DF(0), C(G(KC_LEFT)), KC_NO, KC_NO, C(G(KC_RGHT)), KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, DF(2), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// numpad
|
||||
[_NUMPAD] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_DEL,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
OSM(MOD_MEH), KC_NO, KC_TRNS, KC_ENT, KC_P0, KC_PDOT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// layer switcher
|
||||
[_SWITCH] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, QK_BOOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_SYSTEM_SLEEP, KC_NO, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
//`--------------------------' `--------------------------'
|
||||
|
||||
),
|
||||
|
||||
// amovement
|
||||
[_MOVE] = LAYOUT(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_ENT, KC_RGHT, KC_NO, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_APP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_DOWN, KC_PGDN, KC_DEL, KC_NO, KC_NO,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
|
||||
// it appears that these are different to the board numbering.
|
||||
// when you specify n here, it lightss up n+1 on the board diagram - actually may be an entirely different pattern
|
||||
|
||||
// _QWERTY,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_AZURE}
|
||||
);
|
||||
|
||||
// _COLEMAKDH,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_RED}
|
||||
);
|
||||
|
||||
// _NUM,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_TEAL}
|
||||
);
|
||||
// _SYMBOL,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_BLUE}
|
||||
);
|
||||
// _COMMAND,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_PURPLE}
|
||||
);
|
||||
|
||||
|
||||
//_NUMPAD
|
||||
//havent worked out how to do each side individually either
|
||||
const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_ORANGE}
|
||||
);
|
||||
const rgblight_segment_t PROGMEM layer_numpad_rh_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_ORANGE},
|
||||
{10, 5, HSV_BLUE},
|
||||
{15, 3, HSV_BLUE},
|
||||
{18, 3, HSV_BLUE}
|
||||
);
|
||||
|
||||
// _MOVE,
|
||||
// Light on inner column and underglow
|
||||
const rgblight_segment_t PROGMEM layer_move_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 10, HSV_PINK}
|
||||
);
|
||||
|
||||
// _SWITCHER // light up top row
|
||||
const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 6, HSV_GREEN},
|
||||
{9, 2, HSV_GREEN},
|
||||
{17, 2, HSV_GREEN},
|
||||
{23, 2, HSV_GREEN}
|
||||
);
|
||||
|
||||
|
||||
// Now define the array of layers. Later layers take precedence
|
||||
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
|
||||
layer_qwerty_lights,
|
||||
layer_colemakdh_lights,
|
||||
layer_num_lights,// overrides layer 1
|
||||
layer_symbol_lights,
|
||||
layer_command_lights,
|
||||
layer_numpad_lights,
|
||||
layer_numpad_rh_lights,
|
||||
layer_move_lights,
|
||||
layer_switcher_lights // Overrides other layers
|
||||
);
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Enable the LED layers
|
||||
rgblight_layers = my_rgb_layers;
|
||||
rgblight_mode(10);// haven't found a way to set this in a more useful way
|
||||
|
||||
}
|
||||
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY));
|
||||
rgblight_set_layer_state(1, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY));
|
||||
|
||||
rgblight_set_layer_state(2, layer_state_cmp(state, _NUM));
|
||||
rgblight_set_layer_state(3, layer_state_cmp(state, _SYM));
|
||||
rgblight_set_layer_state(4, layer_state_cmp(state, _COMMAND));
|
||||
rgblight_set_layer_state(5, layer_state_cmp(state, _NUMPAD));
|
||||
if (!is_keyboard_master())
|
||||
rgblight_set_layer_state(6, layer_state_cmp(state, _NUMPAD));
|
||||
rgblight_set_layer_state(7, layer_state_cmp(state, _MOVE));
|
||||
rgblight_set_layer_state(8, layer_state_cmp(state, _SWITCH));
|
||||
return state;
|
||||
}
|
||||
|
||||
/*
|
||||
bool led_update_user(led_t led_state) {
|
||||
rgblight_set_layer_state(0, led_state.caps_lock);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
// When add source files to SRC in rules.mk, you can use functions.
|
||||
const char *read_layer_state(void);
|
||||
const char *read_logo(void);
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record);
|
||||
const char *read_keylog(void);
|
||||
const char *read_keylogs(void);
|
||||
|
||||
|
||||
const char *read_mode_icon(bool swap);
|
||||
// const char *read_host_led_state(void);
|
||||
// void set_timelog(void);
|
||||
// const char *read_timelog(void);
|
||||
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
char string [24];
|
||||
switch (get_highest_layer(default_layer_state|layer_state))
|
||||
{
|
||||
case _QWERTY:
|
||||
oled_write_ln_P(PSTR("Layer: QWERTY"),false);
|
||||
break;
|
||||
case _COLEMAK:
|
||||
oled_write_ln_P(PSTR("Layer: COLEMAK"),false);
|
||||
break;
|
||||
case _COLEMAKDH:
|
||||
oled_write_ln_P(PSTR("Layer: COLEMAKDH"),false);
|
||||
break;
|
||||
case _NUM:
|
||||
oled_write_ln_P(PSTR("Layer: Numbers"),false);
|
||||
break;
|
||||
case _SYM:
|
||||
oled_write_ln_P(PSTR("Layer: Symbols"),false);
|
||||
break;
|
||||
case _COMMAND:
|
||||
oled_write_ln_P(PSTR("Layer: Command"),false);
|
||||
break;
|
||||
case _NUMPAD:
|
||||
oled_write_ln_P(PSTR("Layer: Numpad"),false);
|
||||
break;
|
||||
case _MOVE:
|
||||
oled_write_ln_P(PSTR("Layer: Movement"),false);
|
||||
break;
|
||||
case _SWITCH:
|
||||
oled_write_ln_P(PSTR("Layer: Layer Switch"),false);
|
||||
break;
|
||||
default:
|
||||
#if defined (LAYER_STATE_32BIT)
|
||||
snprintf(string, sizeof(string), "%ld",layer_state);
|
||||
#else
|
||||
snprintf(string, sizeof(string), "%d",layer_state);
|
||||
#endif
|
||||
oled_write_P(PSTR("Layer: Undef-"),false);
|
||||
oled_write_ln(string, false);
|
||||
}
|
||||
}
|
||||
|
||||
char keylog_str[24] = {};
|
||||
const char code_to_name[60] = {
|
||||
' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
|
||||
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
|
||||
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
|
||||
'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
|
||||
'#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
|
||||
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
||||
char name = ' ';
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
|
||||
(keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
|
||||
if (keycode < 60) {
|
||||
name = code_to_name[keycode];
|
||||
}
|
||||
|
||||
// update keylog
|
||||
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
|
||||
record->event.key.row, record->event.key.col,
|
||||
keycode, name);
|
||||
}
|
||||
|
||||
void oled_render_keylog(void) {
|
||||
oled_write(keylog_str, false);
|
||||
}
|
||||
|
||||
void render_bootmagic_status(bool status) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][2][3] = {
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
};
|
||||
if (status) {
|
||||
oled_write_ln_P(logo[0][0], false);
|
||||
oled_write_ln_P(logo[0][1], false);
|
||||
} else {
|
||||
oled_write_ln_P(logo[1][0], false);
|
||||
oled_write_ln_P(logo[1][1], false);
|
||||
}
|
||||
}
|
||||
|
||||
void oled_render_logo(void) {
|
||||
static const char PROGMEM crkbd_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
|
||||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
|
||||
0};
|
||||
oled_write_P(crkbd_logo, false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_layer_state();
|
||||
oled_render_keylog();
|
||||
} else {
|
||||
oled_render_logo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // OLED_ENABLE
|
|
@ -1,4 +0,0 @@
|
|||
MOUSEKEY_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
|
@ -1,24 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define SWAP_SCLN
|
||||
|
||||
// #define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 300
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# undef RGBLED_NUM
|
||||
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
# define RGBLED_NUM 27
|
||||
# define RGBLIGHT_LIMIT_VAL 100
|
||||
# define RGBLIGHT_HUE_STEP 10
|
||||
# define RGBLIGHT_SAT_STEP 17
|
||||
# define RGBLIGHT_VAL_STEP 17
|
||||
#endif // RGBLIGHT_ENABLE
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
|
@ -1,67 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#ifdef PROTOCOL_LUFA
|
||||
# include "split_util.h"
|
||||
#endif
|
||||
|
||||
#include "edvorakjp.h"
|
||||
|
||||
#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[L_EDVORAKJP_BASE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (get_highest_layer(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom(HSV_RED);
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv(HSV_RED);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
#endif
|
|
@ -1,56 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "oled.h"
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
void render_host_led_state(void) { oled_write(read_host_led_state(), false); }
|
||||
|
||||
void render_layer_state(void) {
|
||||
char layer_name[17];
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case L_EDVORAKJP_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_LOWER:
|
||||
oled_write_ln_P(PSTR("Lower"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
oled_write_ln_P(PSTR("Raise"), false);
|
||||
break;
|
||||
default:
|
||||
snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
|
||||
oled_write_ln(layer_name, false);
|
||||
}
|
||||
}
|
||||
|
||||
void render_logo(void) { oled_write(read_logo(), false); }
|
||||
|
||||
void render_mode_icon(bool is_windows) {
|
||||
static const char logo[][2][3] = {
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
};
|
||||
static char mode_icon[10];
|
||||
|
||||
snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]);
|
||||
oled_write(mode_icon, false);
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
// flips the display 180 degrees if offhand
|
||||
return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_left()) {
|
||||
render_mode_icon(!get_enable_kc_lang());
|
||||
render_layer_state();
|
||||
render_host_led_state();
|
||||
} else {
|
||||
render_logo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif // OLED_ENABLE
|
|
@ -1,17 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include "edvorakjp.h"
|
||||
|
||||
extern bool japanese_mode;
|
||||
|
||||
// method prototypes defined in crkbd/lib
|
||||
extern const char *read_host_led_state(void);
|
||||
extern const char *read_logo(void);
|
||||
extern const char *read_mode_icon(bool swap);
|
||||
|
||||
void render_host_led_state(void);
|
||||
void render_layer_state(void);
|
||||
void render_logo(void);
|
||||
void render_mode_icon(bool is_windows);
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation);
|
||||
void oled_task_user(void);
|
|
@ -1,21 +0,0 @@
|
|||
# edvorakjp
|
||||
|
||||
Epaew's Enhanced Dvorak layout for Japanese Programmer
|
||||
see [here](/users/edvorakjp) for more informations.
|
||||
|
||||
## License
|
||||
|
||||
Copyright 2018 Ryo Maeda epaew.333@gmail.com @epaew
|
||||
|
||||
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/>.
|
|
@ -1,28 +0,0 @@
|
|||
# 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 # Enable Bootmagic Lite
|
||||
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 = no # 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 = no # 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 = yes # Enable WS2812 RGB underlight.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
TAP_DANCE_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/host_led_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/mode_icon_reader.c \
|
||||
oled.c
|
|
@ -1,24 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// otherwise the other promicro v3 isn't found
|
||||
#define SPLIT_USB_DETECT
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
Copyright 2018-2022 Eric Gebhart <e.a.gebhart@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/>.
|
||||
*/
|
||||
|
||||
// See: users/ericgebhart.
|
|
@ -1,54 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
//#define QUICK_TAP_TERM 0
|
||||
//#define TAPPING_TERM 100
|
||||
|
||||
#define TAPPING_TERM 150
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# undef RGBLED_NUM
|
||||
# define RGBLIGHT_EFFECT_BREATHING
|
||||
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
# define RGBLIGHT_EFFECT_SNAKE
|
||||
# define RGBLIGHT_EFFECT_KNIGHT
|
||||
# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# define RGBLIGHT_EFFECT_TWINKLE
|
||||
# define RGBLED_NUM 27
|
||||
# define RGBLIGHT_LIMIT_VAL 120
|
||||
# define RGBLIGHT_HUE_STEP 10
|
||||
# define RGBLIGHT_SAT_STEP 17
|
||||
# define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
|
@ -1,160 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "hvp.c"
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
//Following line allows macro to read current RGB settings
|
||||
extern rgblight_config_t rgblight_config;
|
||||
#endif
|
||||
|
||||
// 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 _ADJUST 3
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------. ,-----------------------------------------.
|
||||
LT(_ADJUST,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC,
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
LSFT_T(KC_ESC), KC_A, KC_S, KC_D, LT(3,KC_F), KC_G, KC_H, KC_J, KC_K, KC_L,TD(TD1),TD(TD2),
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,TD(TD3),SC_SENT,
|
||||
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
|
||||
KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC), MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT
|
||||
//`--------------------' `--------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------. ,-----------------------------------------.
|
||||
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_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
|
||||
_______, _______, _______, _______, _______, _______
|
||||
//`--------------------' `--------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------. ,-----------------------------------------.
|
||||
KC_TAB,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_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS,
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD,
|
||||
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
|
||||
_______, _______, _______, _______, _______, _______
|
||||
//`--------------------' `--------------------'
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------. ,-----------------------------------------.
|
||||
_______,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
KC_F1,_______,_______,D_NAVI,_______,_______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
|
||||
//|------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
QK_BOOT,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
|
||||
//|------+------+------+------+------+------+------| |------+------+------+------+------+------+------|
|
||||
_______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______
|
||||
//`--------------------' `--------------------'
|
||||
)
|
||||
};
|
||||
|
||||
int RGB_current_mode;
|
||||
|
||||
// Setting ADJUST layer RGB back to default
|
||||
void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
|
||||
if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
|
||||
layer_on(layer3);
|
||||
} else {
|
||||
layer_off(layer3);
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
RGB_current_mode = rgblight_config.mode;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
// When add source files to SRC in rules.mk, you can use functions.
|
||||
const char *read_layer_state(void);
|
||||
const char *read_logo(void);
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record);
|
||||
const char *read_keylog(void);
|
||||
const char *read_keylogs(void);
|
||||
|
||||
// const char *read_mode_icon(bool swap);
|
||||
// const char *read_host_led_state(void);
|
||||
// void set_timelog(void);
|
||||
// const char *read_timelog(void);
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
// If you want to change the display of OLED, you need to change here
|
||||
oled_write(read_layer_state(), false);
|
||||
oled_write(read_keylog(), false);
|
||||
//oled_write_ln(read_keylogs(), false);
|
||||
//oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
|
||||
//oled_write_ln(read_host_led_state()), false;
|
||||
//oled_write_ln(read_timelog(), false);
|
||||
} else {
|
||||
oled_write(read_logo(), false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
#ifdef OLED_ENABLE
|
||||
set_keylog(keycode, record);
|
||||
#endif
|
||||
// set_timelog();
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
Keyboard: Corne Keyboard (CRKBD)
|
||||
Keys: A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.
|
||||
Layout: Swedish characters on main layer using tapdance. Built for eurkey keyboard layout.
|
||||
Flash instructions: Flash using avrdude, will req the hvp user space to compile.
|
||||
|
||||
> make crkbd:hvp:avrdude
|
||||
|
||||
Links:
|
||||
Github - https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd
|
||||
Eurkey layout - https://eurkey.steffen.bruentjen.eu/
|
|
@ -1,13 +0,0 @@
|
|||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/rgb_state_reader.c \
|
||||
./lib/layer_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/keylogger.c \
|
||||
# ./lib/mode_icon_reader.c \
|
||||
# ./lib/host_led_state_reader.c \
|
||||
# ./lib/timelogger.c \
|
||||
|
||||
TAP_DANCE_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
OLED_ENABLE = yes
|
||||
# LOCAL_GLCDFONT = yes
|
|
@ -1,49 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
//#define QUICK_TAP_TERM 0
|
||||
//#define TAPPING_TERM 100
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLED_NUM 27
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
|
@ -1,152 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "jarred.h"
|
||||
|
||||
#ifdef PROTOCOL_LUFA
|
||||
#include "lufa.h"
|
||||
#include "split_util.h"
|
||||
#endif
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
//Following line allows macro to read current RGB settings
|
||||
extern rgblight_config_t rgblight_config;
|
||||
#endif
|
||||
|
||||
#define LAYOUT_crkbd_base( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K31, K32, K33, K34, K35, K36 \
|
||||
)
|
||||
|
||||
#define LAYOUT_crkbd_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
|
||||
|
||||
#define QWERTY_4_CRKBD KC_LCTL, MO(_LW), KC_SPC, KC_ENT, MO(_LW), KC_RALT
|
||||
|
||||
#define BLANK_4_CRKBD KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QW] = LAYOUT_crkbd_wrapper(
|
||||
QWERTY_1_12,
|
||||
QWERTY_2_12,
|
||||
QWERTY_3_12,
|
||||
QWERTY_4_DOX
|
||||
),
|
||||
|
||||
[_LW] = LAYOUT_crkbd_wrapper(
|
||||
LOWER_1_12,
|
||||
LOWER_2_12,
|
||||
LOWER_3_12,
|
||||
LOWER_4_DOX
|
||||
),
|
||||
|
||||
[_NV] = LAYOUT_crkbd_wrapper(
|
||||
NAV_1_12,
|
||||
NAV_2_12,
|
||||
NAV_3_12,
|
||||
NAV_4_DOX
|
||||
),
|
||||
|
||||
[_NP] = LAYOUT_crkbd_wrapper(
|
||||
NUMPAD_1_12,
|
||||
NUMPAD_2_12,
|
||||
NUMPAD_3_12,
|
||||
NUMPAD_4_DOX
|
||||
),
|
||||
|
||||
[_MS] = LAYOUT_crkbd_wrapper(
|
||||
MOUSE_1_12,
|
||||
MOUSE_2_12,
|
||||
MOUSE_3_12,
|
||||
MOUSE_4_DOX
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
// When add source files to SRC in rules.mk, you can use functions.
|
||||
const char *read_logo(void);
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record);
|
||||
const char *read_keylog(void);
|
||||
const char *read_keylogs(void);
|
||||
|
||||
char matrix_line_str[24];
|
||||
|
||||
const char *read_layer_state(void) {
|
||||
uint8_t layer = get_highest_layer(layer_state);
|
||||
|
||||
strcpy(matrix_line_str, "Layer: ");
|
||||
|
||||
switch (layer)
|
||||
{
|
||||
case _QW:
|
||||
strcat(matrix_line_str, "Default");
|
||||
break;
|
||||
case _LW:
|
||||
strcat(matrix_line_str, "Lower");
|
||||
break;
|
||||
case _NV:
|
||||
strcat(matrix_line_str, "Navigation");
|
||||
break;
|
||||
case _NP:
|
||||
strcat(matrix_line_str, "Adjust");
|
||||
break;
|
||||
case _MS:
|
||||
strcat(matrix_line_str, "Mouse");
|
||||
break;
|
||||
default:
|
||||
sprintf(matrix_line_str + strlen(matrix_line_str), "Unknown (%d)", layer);
|
||||
}
|
||||
|
||||
return matrix_line_str;
|
||||
}
|
||||
|
||||
const char *read_usb_state(void) {
|
||||
|
||||
strcpy(matrix_line_str, "USB : ");
|
||||
|
||||
switch (USB_DeviceState) {
|
||||
case DEVICE_STATE_Unattached:
|
||||
strcat(matrix_line_str, "Unattached");
|
||||
break;
|
||||
case DEVICE_STATE_Suspended:
|
||||
strcat(matrix_line_str, "Suspended");
|
||||
break;
|
||||
case DEVICE_STATE_Configured:
|
||||
strcat(matrix_line_str, "Connected");
|
||||
break;
|
||||
case DEVICE_STATE_Powered:
|
||||
strcat(matrix_line_str, "Powered");
|
||||
break;
|
||||
case DEVICE_STATE_Default:
|
||||
strcat(matrix_line_str, "Default");
|
||||
break;
|
||||
case DEVICE_STATE_Addressed:
|
||||
strcat(matrix_line_str, "Addressed");
|
||||
break;
|
||||
default:
|
||||
strcat(matrix_line_str, "Invalid");
|
||||
}
|
||||
|
||||
return matrix_line_str;
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_write_ln(read_layer_state(), false);
|
||||
oled_write_ln(read_usb_state(), false);
|
||||
oled_write_ln(read_keylogs(), false);
|
||||
} else {
|
||||
oled_write(read_logo(), false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
# Jarred's CRKBD Layout
|
||||
|
||||
Check out [user space readme](../../../../users/jarred/readme.md) for more info
|
||||
|
||||
# Build
|
||||
|
||||
```
|
||||
make crkbd:jarred:avrdude
|
||||
```
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
# 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 # Enable Bootmagic Lite
|
||||
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 = no # 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 = no # 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 = yes # Enable WS2812 RGB underlight.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
OLED_ENABLE = yes
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/rgb_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/keylogger.c \
|
||||
#./lib/layer_state_reader.c \
|
||||
# ./lib/mode_icon_reader.c \
|
||||
# ./lib/host_led_state_reader.c \
|
||||
# ./lib/timelogger.c \
|
|
@ -1,99 +0,0 @@
|
|||
# ninjonas Keymap for [Corne Keyboard (crkbd)](https://github.com/foostan/crkbd)
|
||||
|
||||
## Keymap
|
||||
This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas).
|
||||
|
||||
More information about the crkbd keyboard can be found [here](https://thomasbaart.nl/2018/11/26/corne-keyboard-helidox-build-log/)
|
||||
|
||||
### QWERTY
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// Tab, Q, W, E, R, T, Y, U, I, O, P, \
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// ESC, A, S, D, F, G, H, J, K, L, ;, '
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// LShift, Z, X, C, V, B, N, M, ,, ., /, =
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// Cmd, Ctrl, Space, Enter, BackSP, Del
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
### DVORAK
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// Tab, ', ,, ., P, Y, F, G, C, R, L, \
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// ESC, A, O, E, U, I, D, H, T, N, S, /
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// LShift, ;, Q, J, K, X, B, M, W, V, Z, =
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// Cmd, Ctrl, Space, Enter, BackSP, Del
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
### COLEMAK
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// Tab, Q, W, F, P, G, J, L, U, Y, ;, \
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// ESC, A, R, S, T, D, H, N, E, I, O, '
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// LShift, Z, X, C, V, B, K, M, ,, ., /, =
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// Cmd, Ctrl, Space, Enter, BackSP, Del
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
### LOWER
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// , , KC_BRIU, Play, Mute, K_CSCN, PgUp, Home, Up, End, , K_MDSH
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , KC_BRID, Next, VolUp, , PgDn, Left, Down, Right, K_LOCK,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , Prev, VolDn, [, ], , , M_CODE, M_XXX1, M_PYNV,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , ,
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
### RAISE
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// `, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// ~, !, @, #, $, %, ^, &, *, (, ), _
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// F11, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F12
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , ,
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
### ADJUST
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// M_MAKE, EE_CLR , , , , , RGB_TOG, , , COLEMAK, DVORAK, QWERTY,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// M_VRSN, M_MALL, , RGB_SAI, RGB_HUI, RGB_VAI, , , , , , ,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// M_FLSH, , , RGB_SAD, RGB_HUD, RGB_VAD, RGB_M_P, RGB_M_B,RGB_M_SW, , , ,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , ,
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
|
||||
<!--
|
||||
### TEMPLATE
|
||||
```c
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
// , , , , , , , , , , ,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , , , , , , , ,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , , , , , , , ,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
// , , , , ,
|
||||
//`---------------------' `---------------------'
|
||||
```
|
||||
-->
|
|
@ -1,88 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#define MASTER_LEFT
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
|
||||
#define RGB_MATRIX_HUE_STEP 10
|
||||
#define RGB_MATRIX_SAT_STEP 10
|
||||
#define RGB_MATRIX_VAL_STEP 10
|
||||
#define RGB_MATRIX_SPD_STEP 10
|
||||
// #define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
|
||||
// BEGIN: Disable RGB Effects
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_COLOR
|
||||
//#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
//#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_VAL
|
||||
// #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# undef ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# undef ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
|
||||
// BEGIN: RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
// #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// END: RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
|
||||
// BEGIN: RGB_MATRIX_KEYPRESSES
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# undef ENABLE_RGB_MATRIX_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
// END: RGB_MATRIX_KEYPRESSES
|
||||
// END: Disable RGB Effects
|
||||
#endif
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
#define OLED_DISABLE_TIMEOUT
|
||||
|
||||
#define LAYOUT LAYOUT_split_3x6_3
|
|
@ -1,101 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "ninjonas.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_DVORAK] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________DVORAK_L3______________________, _____________________DVORAK_R3______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________COLEMAK_L3_____________________, _____________________COLEMAK_R3_____________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________LOWER_L3_______________________, _____________________LOWER_R3_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______,_______,_______, _______,_______,_______
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________SYM_LEFT_______________________, _____________________SYM_RIGHT______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______,_______,_______, _______,_______,_______
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_____________________ADJUST_L3______________________, _____________________ADJUST_R3______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______,_______,_______, _______,_______,_______
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
|
||||
[_NUMPAD] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
_______, _______, _______, _______, _______, _______, _____________________NUMPAD_1_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______, _______, _______, _______, _______, _______, _____________________NUMPAD_2_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______, _______, _______, _______, _______, _______, _____________________NUMPAD_3_______________________,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______,_______,_______, _______,_______,_______
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
/*
|
||||
[_TEMPLATE] = LAYOUT_wrapper(
|
||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||
_______,_______,_______, _______,_______,_______
|
||||
//`---------------------' `---------------------'
|
||||
),
|
||||
*/
|
||||
};
|
|
@ -1,7 +0,0 @@
|
|||
RGB_MATRIX_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = no
|
||||
OLED_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|
@ -1,95 +0,0 @@
|
|||
/* Copyright 2022 Olly Hayes (@ollyhayes)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define EE_HANDS
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 100
|
||||
|
||||
#define NO_ACTION_ONESHOT
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
|
||||
#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
|
||||
# define RGB_MATRIX_HUE_STEP 8
|
||||
# define RGB_MATRIX_SAT_STEP 8
|
||||
# define RGB_MATRIX_VAL_STEP 8
|
||||
# define RGB_MATRIX_SPD_STEP 10
|
||||
|
||||
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
# define ENABLE_RGB_MATRIX_SOLID_COLOR
|
||||
// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
// # define ENABLE_RGB_MATRIX_BREATHING
|
||||
// # define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
// # define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
// # define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
// # define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
// # define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
// # define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 200
|
||||
// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
// # define ENABLE_RGB_MATRIX_SPLASH
|
||||
// # define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
|
||||
#endif
|
|
@ -1,112 +0,0 @@
|
|||
/* Copyright 2022 Olly Hayes (@ollyhayes)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "ollyhayes.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_split_3x6_3(
|
||||
// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+
|
||||
NUM_SWITCH , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
|
||||
KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ENT ,
|
||||
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT ,
|
||||
KC_LCTL , MO(PUNC) , MO(ARR) , KC_SPC , MO(PUNC) , KC_RCTL
|
||||
// +------------+------+------+---------+----------+---------+--------+----------+---------+--------+---------+---------+
|
||||
),
|
||||
|
||||
[QWERTY] = LAYOUT_split_3x6_3(
|
||||
// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+
|
||||
KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_TRNS ,
|
||||
KC_TRNS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS ,
|
||||
KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||
// +---------+------+------+---------+---------+---------+---------+---------+---------+--------+---------+---------+
|
||||
),
|
||||
|
||||
[GAMES] = LAYOUT_split_3x6_3(
|
||||
// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+
|
||||
KC_TRNS , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_TRNS ,
|
||||
KC_TRNS , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_TRNS ,
|
||||
KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_TRNS ,
|
||||
KC_TRNS , KC_LALT , KC_SPACE , MO(ARR) , KC_TRNS , KC_TRNS
|
||||
// +---------+------+------+---------+---------+----------+---------+---------+---------+--------+---------+---------+
|
||||
),
|
||||
|
||||
[NUM] = LAYOUT_split_3x6_3(
|
||||
// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+
|
||||
KC_TRNS , MO(FUNCTIONS) , KC_1 , KC_2 , KC_3 , DF(BASE) , C(KC_GRV) , KC_7 , KC_8 , KC_9 , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , MO(MEDIA) , KC_4 , KC_5 , KC_6 , DF(GAMES) , KC_NO , KC_4 , KC_5 , KC_6 , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_0 , KC_7 , KC_8 , KC_9 , DF(QWERTY), KC_NO , KC_1 , KC_2 , KC_3 , KC_TRNS , KC_TRNS ,
|
||||
KC_DOT , KC_TRNS , KC_TAB , KC_TRNS , KC_0 , KC_DOT
|
||||
// +---------+---------------+------+--------+---------+-----------+-----------+------+--------+------+---------+---------+
|
||||
),
|
||||
|
||||
[FUNCTIONS] = LAYOUT_split_3x6_3(
|
||||
// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_F8 , KC_F9 , KC_F12 , KC_F12 , KC_F7 , KC_F8 , KC_F9 , KC_TRNS , KC_TRNS ,
|
||||
TG(FUNCTIONS) , KC_TRNS , KC_F4 , KC_F5 , KC_F6 , KC_F11 , KC_F11 , KC_F4 , KC_F5 , KC_F6 , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_F10 , KC_F10 , KC_F1 , KC_F2 , KC_F3 , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||
// +---------------+---------+---------+---------+---------+---------+---------+---------+---------+-------+---------+---------+
|
||||
),
|
||||
|
||||
[ARR] = LAYOUT_split_3x6_3(
|
||||
// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+
|
||||
KC_TRNS , KC_TRNS , KC_HOME , KC_PGUP , KC_PGDN , KC_END , KC_HOME , KC_PGDN , KC_PGUP , KC_END , KC_TRNS , KC_TRNS ,
|
||||
KC_ENT , KC_DEL , KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_DEL , KC_TRNS ,
|
||||
KC_TRNS , KC_INS , C(KC_LEFT), KC_LGUI , KC_LALT , C(KC_RGHT) , C(KC_LEFT), DOWN4 , UP4 , C(KC_RGHT), KC_INS , KC_TRNS ,
|
||||
KC_TRNS , KC_F12 , KC_TRNS , KC_TRNS , KC_F12 , KC_TRNS
|
||||
// +---------+---------+-----------+---------+---------+------------+-----------+---------+---------+-----------+---------+---------+
|
||||
),
|
||||
|
||||
[PUNC] = LAYOUT_split_3x6_3(
|
||||
// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+
|
||||
ALTTAB , S(KC_1) , S(KC_2) , UC(0x20ac), S(KC_4) , S(KC_5) , S(KC_6) , S(KC_7) , S(KC_8) , S(KC_9) , S(KC_0) , KC_TRNS ,
|
||||
KC_TRNS , S(KC_NUBS) , S(KC_GRV) , KC_LBRC , KC_RBRC , S(KC_NUHS) , KC_QUOT , S(KC_LBRC) , S(KC_RBRC) , KC_MINS , S(KC_EQL) , KC_TRNS ,
|
||||
KC_TRNS , KC_NUBS , KC_GRV , KC_LGUI , KC_LALT , KC_NUHS , S(KC_QUOT) , KC_LALT , KC_LGUI , S(KC_MINS) , KC_EQL , KC_TRNS ,
|
||||
KC_TRNS , MO(DUBPUNC) , KC_MPLY , KC_TRNS , MO(DUBPUNC) , KC_TRNS
|
||||
// +---------+------------+-----------+-----------+-------------+------------+------------+-------------+------------+------------+-----------+---------+
|
||||
),
|
||||
|
||||
[MEDIA] = LAYOUT_split_3x6_3(
|
||||
// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+
|
||||
QK_BOOT , RGB_RMOD , RGB_MOD , RGB_TOG , RGB_HUD , RGB_HUI , RGB_HUD , RGB_HUI , RGB_TOG , RGB_RMOD, RGB_MOD , KC_SLEP ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_VOLD , KC_VOLU , RGB_MODE_PLAIN , RGB_MODE_PLAIN , KC_VOLD , KC_VOLU , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , RGB_VAD , RGB_VAI , RGB_SAD , RGB_SAI , RGB_SAD , RGB_SAI , RGB_VAD , RGB_VAI , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||
// +------------+-----------+---------+---------+---------+----------------+----------------+---------+---------+---------+----------+---------+
|
||||
),
|
||||
|
||||
[DUBPUNC] = LAYOUT_split_3x6_3(
|
||||
// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , UC(0x00a3), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , U_UMLAUT , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , A_UMLAUT , KC_TRNS , UC(0x00df), UC(0x2713) , KC_TRNS , UC(0x00b0), KC_TRNS , KC_TRNS , KC_TRNS , O_UMLAUT , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , UC(0x2717), KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||
// +---------+----------+-----------+-----------+------------+---------+-----------+---------+----------+---------+----------+---------+
|
||||
)
|
||||
};
|
||||
|
||||
/*
|
||||
[TEMPLATE] = LAYOUT_split_3x6_3(
|
||||
// +--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
|
||||
KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
|
||||
// +--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
|
||||
),
|
||||
*/
|
|
@ -1,112 +0,0 @@
|
|||
/* Copyright 2022 Olly Hayes (@ollyhayes)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "ollyhayes.h"
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
#define L_BASE 0
|
||||
#define L_NUM 8
|
||||
#define L_FUNCTIONS 16
|
||||
#define L_ARR 32
|
||||
#define L_PUNC 64
|
||||
#define L_DUBPUNC 128
|
||||
#define L_MEDIA 256
|
||||
|
||||
#define DL_COLEMAK 1
|
||||
#define DL_QWERTY 2
|
||||
#define DL_GAMES 4
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (layer_state) {
|
||||
case L_BASE:
|
||||
switch (default_layer_state) {
|
||||
case DL_QWERTY:
|
||||
oled_write_ln_P(PSTR("Qwerty"), false);
|
||||
break;
|
||||
case DL_GAMES:
|
||||
oled_write_ln_P(PSTR("Games"), false);
|
||||
break;
|
||||
case DL_COLEMAK:
|
||||
default:
|
||||
oled_write_ln_P(PSTR("Colemak"), false);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case L_NUM:
|
||||
oled_write_ln_P(PSTR("Numbers"), false);
|
||||
break;
|
||||
case L_FUNCTIONS:
|
||||
case L_FUNCTIONS|L_NUM:
|
||||
oled_write_ln_P(PSTR("Functions"), false);
|
||||
break;
|
||||
case L_ARR:
|
||||
oled_write_ln_P(PSTR("Navigation"), false);
|
||||
break;
|
||||
case L_PUNC:
|
||||
oled_write_ln_P(PSTR("Punctuation"), false);
|
||||
break;
|
||||
case L_MEDIA:
|
||||
case L_MEDIA|L_NUM:
|
||||
oled_write_ln_P(PSTR("Media"), false);
|
||||
break;
|
||||
case L_DUBPUNC:
|
||||
case L_DUBPUNC|L_PUNC:
|
||||
oled_write_ln_P(PSTR("Specials"), false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void oled_render_timer(void) {
|
||||
static uint16_t microticks = 0;
|
||||
static uint16_t ticks = 0;
|
||||
|
||||
if (microticks++ % 1000 == 0) {
|
||||
ticks++;
|
||||
}
|
||||
|
||||
oled_write_P(PSTR("Ticks: "), false);
|
||||
oled_write_ln(get_u16_str(ticks, ' '), false);
|
||||
}
|
||||
|
||||
void oled_render_presses(void) {
|
||||
oled_write_P(PSTR("Presses: "), false);
|
||||
oled_write_ln(get_u16_str(key_presses, ' '), false);
|
||||
}
|
||||
|
||||
void oled_render_rgb_mode(void) {
|
||||
oled_write_P(PSTR("Animation: "), false);
|
||||
oled_write_ln(get_u8_str(rgb_matrix_get_mode(), ' '), false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_layer_state();
|
||||
}
|
||||
oled_render_timer();
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_presses();
|
||||
}
|
||||
oled_render_rgb_mode();
|
||||
return false;
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
# ollyhayes's keymap for [Corne Keyboard (crkbd)](https://github.com/foostan/crkbd)
|
||||
|
||||
## Keymap
|
||||
|
||||
After many years of changing my keymap often and reperatedly, I finally came to a stable version. I've been using this for a while now with only small tweaks every so often.
|
||||
|
||||
All layers are activated only whilst the layer key is held, except the default layers.
|
||||
|
||||
Lots of keys are repeated on both sides. I find this really useful for two reasons:
|
||||
|
||||
* I like to have the option to use the opposite hand to hold modifiers shift/ctrl etc as the hand pressing the key, I find this really comfortable.
|
||||
* When using the mouse, I like to be able to do common things with just my left hand.
|
||||
|
||||
### Colemak
|
||||
|
||||
The base layer:
|
||||
|
||||

|
||||
|
||||
### Navigation
|
||||
|
||||
All things for moving the cursor around, inspired by vim.
|
||||
|
||||
* `c←` is ctrl+left
|
||||
* `↓↓↓↓` is ↓ pressed four times
|
||||
|
||||

|
||||
|
||||
### Symbols
|
||||
|
||||
The shifted number row and all brackets and other symbols.
|
||||
|
||||
* `a/t` is alt-tab for window switching in windows/linux. Using some special code to release alt when the punc key is released, this works quite nicely.
|
||||
|
||||

|
||||
|
||||
### Specials
|
||||
|
||||
Some extra symbols (linux only for now) that work by sending UTF sequences. Layer activated by holding both punctuation layer keys.
|
||||
|
||||

|
||||
|
||||
### Numbers
|
||||
|
||||
Numbpads (left version is reversed so 1, 2, 3 are easy to reach with one hand (like on a regular keyboard).
|
||||
|
||||
Also the keys to switch the default layer are here.
|
||||
|
||||

|
||||
|
||||
### Functions
|
||||
|
||||
Function keys, nothing too interesting.
|
||||
|
||||

|
||||
|
||||
### Games (default layer)
|
||||
|
||||
Used for some games, qwerty with space bar and alt for the left hand.
|
||||
|
||||

|
||||
|
||||
### Qwerty (default layer)
|
||||
|
||||
Mostly for guests.
|
||||
|
||||

|
|
@ -1,16 +0,0 @@
|
|||
SRC += oled.c
|
||||
|
||||
OLED_ENABLE = yes
|
||||
|
||||
EXTRAKEY_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
# RGB_MATRIX_CUSTOM_USER = yes
|
||||
|
||||
VIRTSER_ENABLE = yes
|
||||
|
||||
LTO_ENABLE = yes
|
||||
|
||||
MOUSEKEY_ENABLE = no
|
|
@ -1,29 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2021 Daniel Perrett
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define TAPPING_TOGGLE 2
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#define COMBO_PDL
|
||||
#define COMBO_TERM 100
|
|
@ -1,62 +0,0 @@
|
|||
/* Copyright 2022 Daniel Perrett
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "pdl.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
MY_FESC, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC,
|
||||
KC_TAB, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, MY_SQUO,
|
||||
MY_SBSL, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, MY_CENT,
|
||||
KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN
|
||||
),
|
||||
[_PROXIM] = LAYOUT_wrapper(
|
||||
MY_FESC, _________________PROXIM_L1_________________, _________________PROXIM_R1_________________, KC_BSPC,
|
||||
KC_TAB, _________________PROXIM_L2_________________, _________________PROXIM_R2_________________, MY_ASCL,
|
||||
MY_SBSL, _________________PROXIM_L3_________________, _________________PROXIM_R3_________________, MY_CENT,
|
||||
KC_LCTL, NAVIGN, KC_SPC, MY_SSPC, NUMBRS, NAVIGN
|
||||
),
|
||||
[_NAVIGN] = LAYOUT_wrapper(
|
||||
_______, _________________NAVIGN_L1_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _________________NAVIGN_L2_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _________________NAVIGN_L3_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_PUNCTN] = LAYOUT_wrapper(
|
||||
_______, _______, _______, _______, _______, _______, _________________PUNCTN_R1_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________PUNCTN_R2_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________PUNCTN_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_NUMBRS] = LAYOUT_wrapper(
|
||||
_______, _________________NUMBRS_L1_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _________________NUMBRS_L2_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _________________NUMBRS_L3_________________, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_CODING] = LAYOUT_wrapper(
|
||||
_______, _______, _______, _______, _______, _______, _________________CODING_R1_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________CODING_R2_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______, _________________CODING_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_FUNCTN] = LAYOUT_wrapper(
|
||||
_______, _________________FUNCTN_L1_________________, _________________FUNCTN_R1_________________, MY_CAD,
|
||||
_______, _________________FUNCTN_L2_________________, _________________FUNCTN_R2_________________, KC_PSCR,
|
||||
_______, _________________FUNCTN_L3_________________, _________________FUNCTN_R3_________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2021 Rocco Meli <@RMeli>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define MASTER_LEFT // Left side is the master
|
||||
#define SPLIT_LED_STATE_ENABLE
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// RGB matrix options
|
||||
# define RGB_MATRIX_KEYPRESSES // enable keypress effects
|
||||
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
// Disable unwanted R2G effects (from r2g/config.h)
|
||||
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# undef ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# undef ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# undef ENABLE_RGB_MATRIX_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
// Enable effects
|
||||
# define ENABLE_RGB_MATRIX_SOLID_COLOR
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
// Default effect
|
||||
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
|
||||
# define RGB_MATRIX_DEFAULT_HUE 10
|
||||
# define RGB_MATRIX_DEFAULT_SAT 255
|
||||
# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
#endif
|
||||
|
||||
// https://github.com/qmk/qmk_firmware/blob/develop/docs/squeezing_avr.md
|
||||
#undef LOCKING_SUPPORT_ENABLE
|
||||
#undef LOCKING_RESYNC_ENABLE
|
||||
#define NO_MUSIC_MODE
|
||||
#define LAYER_STATE_8BIT // Limit to 8 layers
|
|
@ -1,129 +0,0 @@
|
|||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
|
||||
Copyright 2021 Rocco Meli <@RMeli>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#include "rmeli.h"
|
||||
|
||||
// + -------------------- +
|
||||
// + RGB MATRIX CALLBACKS |
|
||||
// + -------------------- +
|
||||
|
||||
// LED numbers:
|
||||
// https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md
|
||||
|
||||
// Change LED color to red when CAPS LOCK is active
|
||||
bool rgb_matrix_indicators_user(void) {
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
rgb_matrix_set_color(26, 255, 0, 0);
|
||||
// Only works with SPLIT_LED_STATE_ENABLE
|
||||
rgb_matrix_set_color(53, 255, 0, 0);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// + ---- +
|
||||
// + OLED |
|
||||
// + ---- +
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_render_rocco();
|
||||
} else {
|
||||
oled_render_meli();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// + ------- +
|
||||
// + KEY MAP |
|
||||
// + ------- +
|
||||
|
||||
// Layer names
|
||||
enum layer_names {
|
||||
_QWERTY,
|
||||
_COLEMAK_DH,
|
||||
_DWN,
|
||||
_UP,
|
||||
_CONFIG,
|
||||
};
|
||||
|
||||
// Layer names shortcuts
|
||||
#define _QWY 0
|
||||
#define _CMK 1
|
||||
#define _CFG 4
|
||||
|
||||
#define ______THUMB_LEFT_x3______ KC_LGUI, MO(_DWN), KC_SPC
|
||||
#define ______THUMB_RIGHT_x3_____ KC_ENT, MO(_UP), KC_RCTL
|
||||
|
||||
// LAYOUT
|
||||
//
|
||||
// |-----------------------------| |-----------------------------|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||
// | | | | | | | |
|
||||
// |--------------| |--------------|
|
||||
|
||||
// Define wrapper for standard CRKB layout
|
||||
#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
// clang-format off
|
||||
___________________QWERTY_L1_x6_____________________, ___________________QWERTY_R1_x6_____________________,
|
||||
___________________QWERTY_L2_x6_____________________, ___________________QWERTY_R2_x6_____________________,
|
||||
___________________QWERTY_L3_x6_____________________, ___________________QWERTY_R3_x6_____________________,
|
||||
______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____
|
||||
),
|
||||
|
||||
[_COLEMAK_DH] = LAYOUT_wrapper(
|
||||
________________COLEMAK_MOD_DH_L1_x6________________, ________________COLEMAK_MOD_DH_R1_x6________________,
|
||||
________________COLEMAK_MOD_DH_L2_x6________________, ________________COLEMAK_MOD_DH_R2_x6________________,
|
||||
________________COLEMAK_MOD_DH_L3_x6________________, ________________COLEMAK_MOD_DH_R3_x6________________,
|
||||
______THUMB_LEFT_x3______, ______THUMB_RIGHT_x3_____
|
||||
),
|
||||
|
||||
[_DWN] = LAYOUT_wrapper(
|
||||
_______, ______________NUMBER_LEFT_x5_______________, ______________NUMBER_RIGHT_x5______________, _______,
|
||||
_______, ______________UNICODE_L2_x5________________, ________________NAV_R2_x5__________________, XXXXXXX,
|
||||
_______, ______________UNICODE_L3_x5________________, ________________NAV_R3_x5__________________, _______,
|
||||
KC_LGUI, _______, _______, _______,MO(_CFG), _______
|
||||
),
|
||||
|
||||
[_UP] = LAYOUT_wrapper(
|
||||
___________________SYMBOL_LEFT_x6___________________, ___________________SYMBOL_RIGHT_x6__________________,
|
||||
_______, ____________NAV_VIM_x4____________, XXXXXXX, ____________________SYMBOL_R2_x6____________________,
|
||||
_______, _________________NONE_5x___________________, ____________________SYMBOL_R3_x6____________________,
|
||||
_______,MO(_CFG), _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_CONFIG] = LAYOUT_wrapper(
|
||||
QK_BOOT, _________________NONE_5x___________________, _______________CONFIG_R1_x5________________,DF(_QWY),
|
||||
RGB_TOG, ________________RGB_L2_x5__________________, _______________CONFIG_R2_x5________________, XXXXXXX,
|
||||
XXXXXXX, ________________RGB_L3_x5__________________, _______________CONFIG_R3_x5________________,DF(_CMK),
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
// clang-format on
|
|
@ -1,11 +0,0 @@
|
|||
OLED_ENABLE = yes
|
||||
|
||||
TAP_DANCE_ENABLE = yes
|
||||
AUTO_SHIFT_ENABLE = no // disable auto-shift with home row mods
|
||||
|
||||
UNICODEMAP_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
MAGIC_ENABLE = yes
|
||||
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
|
@ -1,49 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 300
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLED_NUM 27
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
|
@ -1,39 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "rs.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL ,
|
||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
KC_ESCC, 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_ENTS,
|
||||
//`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
|
||||
KC_LALT,KC_LGUI,KC_SPC , KC_BSPC,KC_CODE,KC_FN
|
||||
// `----+----+----' `+---+----+----'c
|
||||
),
|
||||
[_CODE] = LAYOUT(
|
||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
KC_GRV ,KC_EXLM, KC_AT ,KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_LPLT,KC_ASTR,KC_RPGT,KC_NEQL,_______,
|
||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
_______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MINS,KC_LBRC, KC_UP ,KC_RBRC,_______,KC_BSLS,
|
||||
//|----+----+----+----+----+----+ |----+----+----+----+----+----|
|
||||
_______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_AMPR,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_PIPE,
|
||||
//`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
|
||||
_______,_______,KC_DOT , _______,_______,_______
|
||||
// `----+----+----' `----+----+----'
|
||||
),
|
||||
[_FN] = LAYOUT(
|
||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
||||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11,
|
||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
||||
KC_LTOG,KC_LHUI,KC_LSAI,KC_LVAI,KC_LRST,KC_BRMU, KC_VOLU,_______,KC_PGUP,_______,_______,_______,
|
||||
//|----+----+----+----+----+----+ |----+----+----+----+----+----|
|
||||
KC_LMOD,KC_LHUD,KC_LSAD,KC_LVAD,KC_RST ,KC_BRMD, KC_VOLD,KC_CTRA,KC_PGDN,KC_CTRE,_______,_______,
|
||||
//`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
|
||||
_______,_______,_______, KC_MUTE,_______,_______
|
||||
// `----+----+----' `----+----+----'
|
||||
),
|
||||
};
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
#ifdef OLED_ENABLE
|
||||
#include QMK_KEYBOARD_H
|
||||
#ifdef PROTOCOL_LUFA
|
||||
#include "lufa.h"
|
||||
#include "split_util.h"
|
||||
#endif
|
||||
|
||||
// When add source files to SRC in rules.mk, you can use functions.
|
||||
const char *read_logo(void);
|
||||
const char *read_keylog(void);
|
||||
const char *read_keylogs(void);
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record);
|
||||
|
||||
void matrix_scan_user(void) { iota_gfx_task(); }
|
||||
|
||||
typedef struct {
|
||||
uint8_t state;
|
||||
char name[8];
|
||||
} LAYER_DISPLAY_NAME;
|
||||
|
||||
#define LAYER_DISPLAY_MAX 5
|
||||
const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = {
|
||||
{0, "Base"},
|
||||
{2, "Code"},
|
||||
{4, "Fn"},
|
||||
{6, "Fn+Code"},
|
||||
{__UINT8_MAX__, "?"},
|
||||
};
|
||||
static uint8_t layer_name_idx;
|
||||
static char layer_status_buf[24] = "Layer: Base\n";
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
// Following line allows macro to read current RGB settings
|
||||
extern rgblight_config_t rgblight_config;
|
||||
void update_keymap_status(void) {
|
||||
snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s RGB: %d\n",
|
||||
layer_display_name[layer_name_idx].name, rgblight_config.mode);
|
||||
}
|
||||
#else
|
||||
void update_keymap_status(void) {
|
||||
snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "Layer:%s\n",
|
||||
layer_display_name[layer_name_idx].name);
|
||||
}
|
||||
#endif
|
||||
|
||||
void matrix_init_user(void) {
|
||||
update_keymap_status();
|
||||
}
|
||||
|
||||
// declared in users/rs/rs.c
|
||||
void rgb_mod_changed_keymap(void) {
|
||||
update_keymap_status();
|
||||
}
|
||||
|
||||
// declared in users/rs/rs.c
|
||||
void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
for (layer_name_idx = 0; layer_name_idx < LAYER_DISPLAY_MAX; ++layer_name_idx) {
|
||||
if (state == 0 && layer_display_name[layer_name_idx].state == default_layer_state) {
|
||||
break;
|
||||
} else if (state != 0 && layer_display_name[layer_name_idx].state == state) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
update_keymap_status();
|
||||
return state;
|
||||
}
|
||||
|
||||
static inline void render_keymap_status(struct CharacterMatrix *matrix) {
|
||||
oled_write(layer_status_buf);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
render_keymap_status(matrix);
|
||||
oled_write_ln(read_keylog(), false);
|
||||
oled_write_ln(read_keylogs(), false);
|
||||
} else {
|
||||
oled_write(read_logo(), false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,19 +0,0 @@
|
|||
# RS40: Code Friendly 40% Keymap
|
||||
|
||||
This keymap is an evolution of my previous keymap optimized for coding with a 60% keyboards like the Iris. I tried to keep the simplicity of my previous keymap with all the keys necessary for coding on a single layer in addition to the base one.
|
||||
|
||||
Because I sometime have to use my internal keyboard I my macbook, a karabiner configuration is also provided to get most of the features of this keyboard, including the code layer / backspace on right command key etc.
|
||||
|
||||
See [rs readme](../../../../users/rs/readme.md) for a list of other keyboards supported by this keymap.
|
||||
|
||||
## Base Layer
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=E&_x:8%3B&=I%3B&@_y:-0.87&x:2%3B&=W&_x:1%3B&=R&_x:6%3B&=U&_x:1%3B&=O%3B&@_y:-0.8799999999999999&x:5%3B&=T&_x:4%3B&=Y%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=Q&_x:12%3B&=P&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=D&_x:8%3B&=K%3B&@_y:-0.8700000000000001&x:2%3B&=S&_x:1%3B&=F&_x:6%3B&=J&_x:1%3B&=L%3B&@_y:-0.8799999999999999&x:5%3B&=G&_x:4%3B&=H%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465&a:5%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=A&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%22%0A'%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=C&_x:8&a:5%3B&=%3C%0A,%3B&@_y:-0.8700000000000001&x:2&a:7%3B&=X&_x:1%3B&=V&_x:6%3B&=M&_x:1&a:5%3B&=%3E%0A.%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=B&_x:4%3B&=N%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=Z&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=Space%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code)
|
||||
|
||||
## Code Layer
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=%23&_x:8%3B&=*%3B&@_y:-0.87&x:2%3B&=%2F@&_x:1%3B&=$&_x:6&a:5%3B&=%3C%0A(&_x:1%3B&=%3E%0A)%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=%25&_x:4%3B&=%5E%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=Tab&_c=%236750f2&t=%2344b8b8%3B&=!&_x:12%3B&=!%2F=&_c=%233a1ee6&t=%23b84465&a:5%3B&=+%0A%2F=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=3&_x:8%3B&=↑%3B&@_y:-0.8700000000000001&x:2%3B&=2&_x:1%3B&=4&_x:6&a:5%3B&=%7B%0A%5B&_x:1%3B&=%7D%0A%5D%3B&@_y:-0.8799999999999999&x:5&a:7%3B&=5&_x:4&a:5%3B&=%2F_%0A-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Esc%0ACtrl&_c=%236750f2&t=%2344b8b8&a:7%3B&=1&_x:12&a:5%3B&=%2F:%0A%2F%3B&_c=%233a1ee6&t=%23b84465%3B&=%7C%0A%5C%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=8&_x:8%3B&=↓%3B&@_y:-0.8700000000000001&x:2%3B&=7&_x:1%3B&=9&_x:6%3B&=←&_x:1%3B&=→%3B&@_y:-0.8799999999999999&x:5%3B&=0&_x:4%3B&=%2F&%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=Shift&_c=%236750f2&t=%2344b8b8%3B&=6&_x:12&a:5%3B&=%3F%0A%2F%2F&_c=%233a1ee6&t=%23b84465&a:7%3B&=Enter%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=Alt%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=Cmd%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=.%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Back%20Space%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code)
|
||||
|
||||
## Fn Layer
|
||||
|
||||
[](http://www.keyboard-layout-editor.com/##@_backcolor=%23d8c1f5&switchMount=cherry&pcb:false&plate:true%3B&@_x:3&c=%236750f2&t=%2344b8b8&a:7%3B&=F3&_x:8%3B&=F8%3B&@_y:-0.87&x:2%3B&=F2&_x:1%3B&=F4&_x:6%3B&=F7&_x:1%3B&=F9%3B&@_y:-0.8799999999999999&x:5%3B&=F5&_x:4%3B&=F6%3B&@_y:-0.87&c=%233a1ee6&t=%23b84465%3B&=&_c=%236750f2&t=%2344b8b8%3B&=F1&_x:12%3B&=F10&_c=%233a1ee6&t=%23b84465%3B&=F11%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value+&_x:8%3B&=Page%20Up%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat+&_x:1%3B&=RGB%20Reset&_x:6%3B&=&_x:1%3B&=%3B&@_y:-0.8799999999999999&x:5%3B&=Bright+&_x:4%3B&=Vol+%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Toggle&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue+&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.3799999999999999&x:3&c=%236750f2&t=%2344b8b8%3B&=RGB%20Value-&_x:8%3B&=Page%20Down%3B&@_y:-0.8700000000000001&x:2%3B&=RGB%20Sat-&_x:1%3B&=Reset&_x:6%3B&=Ctrl+A&_x:1%3B&=Ctrl+E%3B&@_y:-0.8799999999999999&x:5%3B&=Bright-&_x:4%3B&=Vol-%3B&@_y:-0.8700000000000001&c=%233a1ee6&t=%23b84465%3B&=RGB%20Mode&_c=%236750f2&t=%2344b8b8%3B&=RGB%20Hue-&_x:12%3B&=&_c=%233a1ee6&t=%23b84465%3B&=%3B&@_y:-0.17999999999999972&x:11.75%3B&=Fn%3B&@_ry:0.25&y:2.95&x:3.3%3B&=%3B&@_r:12&ry:1.75&y:0.5&x:4.8%3B&=%3B&@_r:35&rx:6.5&ry:4.25&y:-0.75&x:-0.75&c=%23d12424&t=%23ffffff&h:1.5%3B&=%3B&@_r:-35&rx:13&y:-2.75&x:-3.0999999999999996&h:1.5%3B&=Mute%3B&@_r:-12&rx:0&ry:0&y:5.55&x:9.55&c=%233a1ee6&t=%23b84465%3B&=Code)
|
|
@ -1,31 +0,0 @@
|
|||
|
||||
# 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 # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # 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
|
||||
NKRO_ENABLE = no # 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 = no # 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 = yes # Enable WS2812 RGB underlight.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
TAP_DANCE_ENABLE = no
|
||||
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += oled.c \
|
||||
./lib/rgb_state_reader.c \
|
||||
./lib/layer_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/keylogger.c \
|
|
@ -1,58 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define QUICK_TAP_TERM 0
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
#undef PERMISSIVE_HOLD
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLED_NUM 27
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
#define SPLIT_WPM_ENABLE
|
|
@ -1,81 +0,0 @@
|
|||
/*
|
||||
* Copyright 2020 Drashna Jaelre <@drashna>
|
||||
* Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define GUI_ESC GUI_T(KC_ESC)
|
||||
#define CTL_ESC CTL_T(KC_ESC)
|
||||
#define SH_BKSP SFT_T(KC_BSPC)
|
||||
#define SP_RAIS LT(_UPPER, KC_SPC)
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_UPPER)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
#define TG_MODS TG(_MODS)
|
||||
//#define TG_GAME TG(_GAMEPAD)
|
||||
//#define OS_LWR OSL(_LOWER)
|
||||
//#define OS_RSE OSL(_UPPER)
|
||||
|
||||
//#define KC_SEC1 KC_SECRET_1
|
||||
//#define KC_SEC2 KC_SECRET_2
|
||||
//#define KC_SEC3 KC_SECRET_3
|
||||
//#define KC_SEC4 KC_SECRET_4
|
||||
//#define KC_SEC5 KC_SECRET_5
|
||||
|
||||
#define QWERTY KC_QWERTY
|
||||
#define DVORAK KC_DVORAK
|
||||
#define COLEMAK KC_COLEMAK
|
||||
#define WORKMAN KC_WORKMAN
|
||||
|
||||
#define KC_RESET QK_BOOT
|
||||
#define KC_RST KC_RESET
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
# define KC_C1R3 SH_TT
|
||||
#else // SWAP_HANDS_ENABLE
|
||||
# define KC_C1R3 KC_BSPC
|
||||
#endif // SWAP_HANDS_ENABLE
|
||||
|
||||
#define BK_LWER LT(_LOWER, KC_BSPC)
|
||||
#define SP_LWER LT(_LOWER, KC_SPC)
|
||||
#define DL_RAIS LT(_UPPER, KC_DEL)
|
||||
#define ET_RAIS LT(_UPPER, KC_ENTER)
|
||||
#define SFT_ENT SFT_T(KC_ENTER)
|
||||
#define SP_RAIS LT(_UPPER, KC_SPC)
|
||||
|
||||
/* OSM keycodes, to keep things clean and easy to change */
|
||||
#define KC_MLSF OSM(MOD_LSFT)
|
||||
#define KC_MRSF OSM(MOD_RSFT)
|
||||
|
||||
#define OS_LGUI OSM(MOD_LGUI)
|
||||
#define OS_RGUI OSM(MOD_RGUI)
|
||||
#define OS_LSFT OSM(MOD_LSFT)
|
||||
#define OS_RSFT OSM(MOD_RSFT)
|
||||
#define OS_LCTL OSM(MOD_LCTL)
|
||||
#define OS_RCTL OSM(MOD_RCTL)
|
||||
#define OS_LALT OSM(MOD_LALT)
|
||||
#define OS_RALT OSM(MOD_RALT)
|
||||
#define OS_MEH OSM(MOD_MEH)
|
||||
#define OS_HYPR OSM(MOD_HYPR)
|
||||
|
||||
#define ALT_APP ALT_T(KC_APP)
|
||||
|
||||
#define MG_NKRO MAGIC_TOGGLE_NKRO
|
||||
|
||||
#define UC_IRNY UC(0x2E2E)
|
||||
#define UC_CLUE UC(0x203D)
|
|
@ -1,211 +0,0 @@
|
|||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2020 Drashna Jaelre <@drashna>
|
||||
Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "snowe.h"
|
||||
|
||||
// Symbols chart
|
||||
// ↯ hyper key (ctrl, alt, shift, super)
|
||||
// ⌘ command
|
||||
// ⌥ option
|
||||
// ⌃ control
|
||||
// ⇧ shift
|
||||
// ⌫ backspace
|
||||
// ⌦ delete
|
||||
// ⎋ escape
|
||||
// ↩ enter
|
||||
|
||||
/* Wrapper
|
||||
* ,-----------------------------------------------. .-----------------------------------------------.
|
||||
* | Tab | K01 | K02 | K03 | K04 | K05 | | K06 | K07 | K08 | K09 | K0A | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | ⌘/⎋ | ⌃/K11 | K12 | K13 | K14 | K15 | | K16 | K17 | K18 | K19 | ⌥/K1A | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | ↯/⌦ | ⌥/K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | ⌃/K2A | |
|
||||
* `-----------------------. | | .-----------------------'
|
||||
* |-------+-------+-------| |-------+-------+-------|
|
||||
* | ⌃ | ⇧/↩ | ⌫/LWR | | ␣/RAY | ␣ | R ⌥ |
|
||||
* `-----------------------' '-----------------------'
|
||||
*/
|
||||
// clang-format off
|
||||
#define LAYOUT_crkbd_base( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
|
||||
) \
|
||||
LAYOUT_wrapper( \
|
||||
KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
|
||||
GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \
|
||||
HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \
|
||||
KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \
|
||||
)
|
||||
// clang-format on
|
||||
#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__)
|
||||
// clang-format off
|
||||
#define LAYOUT_crkbd_no_hold_shortcuts( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
|
||||
) \
|
||||
LAYOUT_wrapper( \
|
||||
KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \
|
||||
GUI_ESC, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
|
||||
KC_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_BSLS, \
|
||||
KC_LCTL, LOWER, KC_BSPC, KC_ENTER, SP_RAIS, KC_LALT \
|
||||
)
|
||||
// clang-format on
|
||||
#define LAYOUT_crkbd_no_hold_shortcuts_wrapper(...) LAYOUT_crkbd_no_hold_shortcuts(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------------. .-----------------------------------------------.
|
||||
* | | Q | W | E | R | T | | Y | U | I | O | P | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | Z | X | C | V | B | | N | M | , | . | / | |
|
||||
* `-----------------------. | | .-----------------------'
|
||||
* |-------+-------+-------| |-------+-------+-------|
|
||||
* | | | | | | | |
|
||||
* `-----------------------' '-----------------------'
|
||||
*/
|
||||
[_MAIN] = LAYOUT_crkbd_base_wrapper(
|
||||
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||
),
|
||||
[_GAMING] = LAYOUT_crkbd_no_hold_shortcuts_wrapper(
|
||||
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------. .-----------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | _ | + | [ | ] | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | ← | ↑ | ↓ | → | |
|
||||
* `-----------------------. | | .-----------------------'
|
||||
* |-------+-------+-------| |-------+-------+-------|
|
||||
* | | | | | | | |
|
||||
* `-----------------------' '-----------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
|
||||
KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
|
||||
_______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
/*
|
||||
* ,-----------------------------------------------. .-----------------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* `-----------------------. | | .-----------------------'
|
||||
* |-------+-------+-------| |-------+-------+-------|
|
||||
* | | | | | | | |
|
||||
* `-----------------------' '-----------------------'
|
||||
*/
|
||||
/* Raise
|
||||
* ,-----------------------------------------------. .-----------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | ← | ↑ | ↓ | → | |
|
||||
* |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
|
||||
* | | | | | | | | | home |pg down| pg up | end | |
|
||||
* `-----------------------. | | .-----------------------'
|
||||
* |-------+-------+-------| |-------+-------+-------|
|
||||
* | | | | | | | |
|
||||
* `-----------------------' '-----------------------'
|
||||
*/
|
||||
[_UPPER] = LAYOUT_wrapper(
|
||||
KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
|
||||
_______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
|
||||
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_wrapper(
|
||||
_______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET,
|
||||
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EE_CLR,
|
||||
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); }
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_LCTL:
|
||||
case KC_RCTL:
|
||||
#ifdef OCEAN_DREAM_ENABLE
|
||||
is_calm = (record->event.pressed) ? true : false;
|
||||
#endif
|
||||
#ifdef LUNA_ENABLE
|
||||
if (record->event.pressed) {
|
||||
isSneaking = true;
|
||||
} else {
|
||||
isSneaking = false;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case KC_SPC:
|
||||
#ifdef LUNA_ENABLE
|
||||
if (record->event.pressed) {
|
||||
isJumping = true;
|
||||
showedJump = false;
|
||||
} else {
|
||||
isJumping = false;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
// switch (keycode) {
|
||||
// case ALT_T(KC_A):
|
||||
// case SH_BKSP:
|
||||
// return TAPPING_TERM + 500;
|
||||
// default:
|
||||
// return TAPPING_TERM;
|
||||
// }
|
||||
//}
|
||||
//
|
||||
// bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
// if (keycode == ALT_T(KC_A) || keycode == SH_BKSP) {
|
||||
// return false;
|
||||
// }
|
||||
// switch (keycode) {
|
||||
// case QK_MOD_TAP ... QK_MOD_TAP_MAX:
|
||||
// return true;
|
||||
// default:
|
||||
// return false;
|
||||
// }
|
||||
//}
|
|
@ -1,25 +0,0 @@
|
|||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # 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
|
||||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
LEADER_ENABLE = no
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
RGBLIGHT_TWINKLE = no
|
||||
OLED_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
|
||||
OCEAN_DREAM_ENABLE = yes
|
||||
LUNA_ENABLE = no # disabled so travis build succeeds
|
||||
|
||||
# if firmware size over limit, try this option
|
||||
LTO_ENABLE = yes
|
||||
|
||||
WPM_ENABLE = yes
|
|
@ -1,123 +0,0 @@
|
|||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
//#define QUICK_TAP_TERM 0
|
||||
//#define TAPPING_TERM 100
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
|
||||
# define RGB_MATRIX_HUE_STEP 8
|
||||
# define RGB_MATRIX_SAT_STEP 8
|
||||
# define RGB_MATRIX_VAL_STEP 8
|
||||
# define RGB_MATRIX_SPD_STEP 10
|
||||
|
||||
/* Enable the animations you want/need. You may need to enable only a small number of these because *
|
||||
* they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# undef ENABLE_RGB_MATRIX_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# undef ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# undef ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
# undef ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# undef ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
# undef ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
# undef ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
# undef ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define ENABLE_RGB_MATRIX_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
#endif
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/keymaps/toinux/glcdfont.c"
|
||||
|
||||
#define SPLIT_LAYER_STATE_ENABLE
|
||||
// #define SPLIT_LED_STATE_ENABLE
|
||||
|
||||
#define LAYER_STATE_16BIT
|
||||
|
||||
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
|
@ -1,232 +0,0 @@
|
|||
// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
|
||||
// See gfxfont.h for newer custom bitmap font info.
|
||||
|
||||
#include "progmem.h"
|
||||
|
||||
// Standard ASCII 5x7 font
|
||||
const unsigned char font[] PROGMEM = {
|
||||
0x24, 0x7E, 0x24, 0x24, 0x7E, 0x24,
|
||||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
|
||||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
|
||||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
|
||||
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
|
||||
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
|
||||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
|
||||
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
|
||||
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
|
||||
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
|
||||
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
|
||||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
|
||||
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
|
||||
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
|
||||
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
|
||||
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
|
||||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
|
||||
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
|
||||
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
|
||||
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
|
||||
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
|
||||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
|
||||
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
|
||||
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
|
||||
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
|
||||
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
|
||||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
|
||||
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
|
||||
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
|
||||
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
|
||||
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
|
||||
0x20, 0xD4, 0x54, 0x78, 0x40, 0x00,
|
||||
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
|
||||
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
|
||||
0x48, 0x54, 0x54, 0x54, 0x28, 0x00,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
|
||||
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
|
||||
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
|
||||
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
|
||||
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
|
||||
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
|
||||
0x4C, 0x50, 0x50, 0x50, 0x3C, 0x00,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
|
||||
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
|
||||
0x83, 0xC3, 0xC3, 0xC3, 0x9B, 0x03,
|
||||
0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x36, 0x32, 0x32, 0x32, 0x32, 0x32,
|
||||
0x32, 0xE6, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFE,
|
||||
0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x80, 0x80, 0x80, 0x80, 0x9E, 0x81,
|
||||
0x80, 0x9E, 0x80, 0x80, 0x80, 0x80,
|
||||
0xFF, 0xEF, 0xD7, 0x0F, 0xDF, 0xDF,
|
||||
0xDF, 0xDF, 0x0F, 0xD7, 0xEF, 0xFF,
|
||||
0x01, 0x11, 0x29, 0xF1, 0x21, 0x21,
|
||||
0x21, 0x21, 0xF1, 0x29, 0x11, 0x01,
|
||||
0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xEF,
|
||||
0xDF, 0xBF, 0x7F, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFE, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFC, 0x02, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x09, 0x11,
|
||||
0x21, 0x41, 0x81, 0x01, 0x01, 0x01,
|
||||
0x01, 0x02, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x3E, 0xFF, 0xF8, 0xF8, 0xFF, 0x3E,
|
||||
0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0,
|
||||
0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63,
|
||||
0x07, 0x7F, 0x7F, 0x07, 0x7F, 0x7F,
|
||||
0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08,
|
||||
0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E,
|
||||
0x1F, 0x3F, 0x63, 0x63, 0x3F, 0x1F,
|
||||
0x73, 0x3B, 0x1F, 0x1F, 0x3B, 0x73,
|
||||
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x8F, 0x8C, 0x0C, 0x0C, 0x0F, 0x0C,
|
||||
0x8C, 0xAC, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x83, 0x82, 0x82, 0x9E, 0x88,
|
||||
0x84, 0x82, 0x81, 0x80, 0x80, 0x80,
|
||||
0xFF, 0xEF, 0xD7, 0xE0, 0xF7, 0xF7,
|
||||
0xF7, 0xF7, 0xE0, 0xD7, 0xEF, 0xFF,
|
||||
0x00, 0x10, 0x28, 0x1F, 0x08, 0x08,
|
||||
0x08, 0x08, 0x1F, 0x28, 0x10, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xEF,
|
||||
0xF7, 0xFB, 0xFD, 0xFE, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x10,
|
||||
0x08, 0x04, 0x02, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFF, 0xFF, 0xBD, 0x81, 0x81, 0x00,
|
||||
0x63, 0x7F, 0x7F, 0x63, 0x7F, 0x3E,
|
||||
0x3E, 0x7F, 0x77, 0x77, 0x77, 0x77,
|
||||
0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08,
|
||||
0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F,
|
||||
0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F,
|
||||
0x03, 0x7F, 0x7F, 0x63, 0x7F, 0x1F,
|
||||
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xD9, 0x99, 0x9B, 0x9E, 0x9E, 0x9B,
|
||||
0x99, 0xD9, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFC, 0xFD, 0xFD, 0xE1, 0xF7,
|
||||
0xFB, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x7F, 0xBF, 0xDF, 0xE1, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x40, 0x3C, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3F, 0x7F, 0xFF,
|
||||
0xFF, 0x1F, 0xDF, 0xDF, 0xC3, 0xF7,
|
||||
0xEF, 0xDF, 0xBF, 0x7F, 0xFF, 0xFF,
|
||||
0xFF, 0x7F, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3F, 0x40, 0x80,
|
||||
0x00, 0xE0, 0x20, 0x20, 0x3C, 0x08,
|
||||
0x10, 0x20, 0x40, 0x80, 0x00, 0x00,
|
||||
0x80, 0x40, 0x3F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x7F, 0xE3, 0xE3, 0x7F, 0x00,
|
||||
0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x07,
|
||||
0x1C, 0x3E, 0x77, 0x63, 0x63, 0x63,
|
||||
0x63, 0x73, 0x7B, 0x6F, 0x67, 0x63,
|
||||
0x08, 0x08, 0x7F, 0x3E, 0x1C, 0x08,
|
||||
0x08, 0x1C, 0x3E, 0x7F, 0x08, 0x08,
|
||||
0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F,
|
||||
0x7F, 0x7F, 0x03, 0x03, 0x7F, 0x7F,
|
||||
0x3E, 0x7F, 0x63, 0x63, 0x63, 0x63,
|
||||
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
|
@ -1,49 +0,0 @@
|
|||
/* Copyright 2022 @toinux
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
enum crkbd_layers {
|
||||
_BASE,
|
||||
_GAMING,
|
||||
_GAMING2,
|
||||
_ACCENTS,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_FUN,
|
||||
_NAV,
|
||||
_MOUSE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define CTRLSC LCTL_T(KC_ESC)
|
||||
#define QUORCTL RCTL_T(KC_QUOT)
|
||||
#define MOSCLN LT(_MOUSE,KC_SCLN)
|
||||
#define ACCENTS LT(_ACCENTS,KC_RALT)
|
||||
#define FUN LT(_FUN,KC_SPC)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define SPCNAV LT(_NAV,KC_SPC)
|
||||
#define SFTENT MT(MOD_RSFT,KC_ENT)
|
||||
#define TABLGUI LGUI_T(KC_TAB)
|
||||
#define BASE DF(_BASE)
|
||||
#define GAMING DF(_GAMING)
|
||||
#define GAMING2 MO(_GAMING2)
|
||||
|
||||
#define SC_F1 LSFT(LCTL(KC_F1))
|
||||
#define SC_F2 LSFT(LCTL(KC_F2))
|
||||
#define SC_F3 LSFT(LCTL(KC_F3))
|
||||
#define SC_F4 LSFT(LCTL(KC_F4))
|
|
@ -1,259 +0,0 @@
|
|||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2020 Drashna Jaelre <@drashna>
|
||||
Copyright 2022 @toinux
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "users/toinux/keymap_qwerty_fr.h"
|
||||
#include "keycodes.h"
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
#include "oled.h"
|
||||
#endif
|
||||
|
||||
// TEMPLATE
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | | | | | | | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | | | | | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | | | | | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// Base
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// |Tab/LGui| Q | W | E | R | T | | Y | U | I | O | P | Bksp |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | CtrlSc | A | S | D | F | G | | H | J | K | L | ;/Mous | '/Rctl |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | LALT | LOWER |Spc/FUN | | Spc/NAV| RAISE |ACCENTS |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_BASE] = LAYOUT_split_3x6_3(
|
||||
TABLGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
CTRLSC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, QUORCTL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT,
|
||||
KC_LALT, LOWER, FUN, SPCNAV, RAISE, ACCENTS
|
||||
|
||||
),
|
||||
|
||||
// Gaming
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | Ctrl | A | S | D | F | G | | H | J | K | L | ;/Mous | ' |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | Shift | Z | X | C | V | B | | N | M | , | . | / | SftEnT |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | LALT |GAMING2 | Space | | Spc/NAV| RAISE |ACCENTS |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_GAMING] = LAYOUT_split_3x6_3(
|
||||
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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT,
|
||||
KC_LALT, GAMING2, KC_SPC, SPCNAV, RAISE, ACCENTS
|
||||
|
||||
),
|
||||
|
||||
// Gaming 2
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | Tab | 1 | 2 | 3 | 4 | 5 | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | Esc | 6 | 7 | 8 | 9 | 0 | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | LGui | Base | | Vol- | Vol+ | Mute | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_GAMING2] = LAYOUT_split_3x6_3(
|
||||
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_LGUI, BASE, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Accents, see http://marin.jb.free.fr/qwerty-fr/
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | | â | é | è | ê | € | | û | ù | î | ô | œ | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | à | æ | ë | | « | | » | ü | ï | ö | ° | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | à | | ç | | | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_ACCENTS] = LAYOUT_split_3x6_3(
|
||||
_______, QF_ACIR, QF_EACU, QF_EGRV, QF_ECIR, QF_EURO, QF_UCIR, QF_UGRV, QF_ICIR, QF_OCIR, QF_OE, _______,
|
||||
_______, QF_AGRV, QF_AE, QF_EDIA, _______, QF_LDAQ, QF_RDAQ, QF_UDIA, QF_IDIA, QF_ODIA, QF_DEG, _______,
|
||||
_______, QF_AGRV, _______, QF_CCED, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Lower
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | SC_F1 | SC_F2 | SC_F3 | SC_F4 | | | | _ | + | { | } | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | Gaming | | Vol- | Vol+ | Mute | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_LOWER] = LAYOUT_split_3x6_3(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, SC_F1, SC_F2, SC_F3, SC_F4, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, GAMING, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Raise
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | | | | | | | - | = | [ | ] | \ |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | | | | | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_RAISE] = LAYOUT_split_3x6_3(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Functions and keypad
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | | F1 | F2 | F2 | F4 | | | | 7 | 8 | 9 | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | F5 | F6 | F7 | F8 | | | | 4 | 5 | 6 | - | / |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | F9 | F10 | F11 | F12 | | | | 1 | 2 | 3 | + | * |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | = | 0 | . |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_FUN] = LAYOUT_split_3x6_3(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_P7, KC_P8, KC_P9, XXXXXXX, _______,
|
||||
_______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS,
|
||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST,
|
||||
_______, _______, _______, KC_PENT, KC_P0, KC_PDOT
|
||||
|
||||
),
|
||||
|
||||
// Navigation and function keys
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | | F1 | F2 | F2 | F4 | | | | Pg Up | Up | Pg Dn | Ins | Del |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | F5 | F6 | F7 | F8 | | | Home | Left | Down | Right | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | F9 | F10 | F11 | F12 | | | Space | End | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_NAV] = LAYOUT_split_3x6_3(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_DEL,
|
||||
_______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,
|
||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_SPC, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Mouse
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | | | Wh up | Ms up | Wh dn | | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | Ms lft | Ms dn | Ms rgt | | | | btn1 | btn3 | btn2 | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | | | Wh lft | | Wh rgt | | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_MOUSE] = LAYOUT_split_3x6_3(
|
||||
_______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______,
|
||||
_______, _______, KC_WH_L, _______, KC_WH_R, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
// Adjust
|
||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
// | Reset | | | | | Print | | Num | Caps | Scroll | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | On/Off | Hue ↑ | Sat ↑ | Brght ↑| | | | | | | | | |
|
||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
// | Cycle | Hue ↓ | Sat ↓ | Brght ↓| | | | | | | | | |
|
||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||
// | | | | | | | |
|
||||
// `--------------------------' `--------------------------'
|
||||
[_ADJUST] = LAYOUT_split_3x6_3(
|
||||
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NUM, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case CTRLSC:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
if (record->event.pressed) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
#endif // OLED_ENABLE
|
||||
|
||||
switch (keycode) {
|
||||
case FUN:
|
||||
if (!host_keyboard_led_state().num_lock) {
|
||||
tap_code(KC_NUM_LOCK);
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
|
||||
rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR);
|
||||
rgb_matrix_sethsv_noeeprom(HSV_OFF);
|
||||
#endif
|
||||
}
|
|
@ -1,112 +0,0 @@
|
|||
/* Copyright 2022 @toinux
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keycodes.h"
|
||||
#include "oled.h"
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
|
||||
void oled_render_mod_status(void) {
|
||||
|
||||
const uint8_t modifiers = get_mods() | get_oneshot_mods();
|
||||
|
||||
for (uint8_t i = 0; i < 2; i++) {
|
||||
oled_set_cursor(9,i);
|
||||
oled_write_P(gui_icon[(modifiers & MOD_MASK_GUI) ? 1 : 0][i], false);
|
||||
oled_write_P(ctrl_icon[(modifiers & MOD_MASK_CTRL) ? 1 : 0][i], false);
|
||||
oled_set_cursor(9,i+2);
|
||||
oled_write_P(alt_icon[(modifiers & MOD_MASK_ALT) ? 1 : 0][i], false);
|
||||
oled_write_P(shift_icon[(modifiers & MOD_MASK_SHIFT) ? 1 : 0][i], false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
|
||||
char c = 0x9F - get_highest_layer(layer_state|default_layer_state);
|
||||
|
||||
oled_set_cursor(20,0);
|
||||
oled_write_char(0X00, false);
|
||||
|
||||
oled_set_cursor(20,1);
|
||||
oled_write_char(c, false);
|
||||
c += 32;
|
||||
oled_set_cursor(20,2);
|
||||
oled_write_char(c, false);
|
||||
c += 32;
|
||||
oled_set_cursor(20,3);
|
||||
oled_write_char(c, false);
|
||||
|
||||
}
|
||||
|
||||
void oled_render_led_state(void) {
|
||||
// oled_advance_page(false) instead of oled_write_ln_P to not break OLED_TIMEOUT
|
||||
oled_write_P(PSTR("NUM"), host_keyboard_led_state().num_lock);
|
||||
oled_advance_page(false);
|
||||
oled_write_P(PSTR("CAP"), host_keyboard_led_state().caps_lock);
|
||||
oled_advance_page(false);
|
||||
oled_write_P(PSTR("SCL"), host_keyboard_led_state().scroll_lock);
|
||||
oled_advance_page(false);
|
||||
}
|
||||
|
||||
uint8_t last_row = 0;
|
||||
uint8_t last_col = 0;
|
||||
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
||||
last_row = record->event.key.row;
|
||||
last_col = record->event.key.col;
|
||||
}
|
||||
|
||||
void oled_render_keylog(void) {
|
||||
oled_write_char(last_row + '0', false);
|
||||
oled_write_char('x', false);
|
||||
oled_write_char(last_col + '0', false);
|
||||
}
|
||||
|
||||
void oled_render_logo(void) {
|
||||
static const char PROGMEM kpu_logo[][3] = {
|
||||
{0x82, 0x83, 0},
|
||||
{0x80, 0x81, 0},
|
||||
{0xa0, 0xa1, 0},
|
||||
{0xc0, 0xc1, 0}
|
||||
};
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
oled_write_ln_P(kpu_logo[i], false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master ()) {
|
||||
oled_render_led_state();
|
||||
oled_render_keylog();
|
||||
oled_render_mod_status();
|
||||
oled_render_layer_state();
|
||||
} else {
|
||||
oled_render_logo();
|
||||
oled_scroll_right();
|
||||
oled_scroll_set_speed(4);
|
||||
}
|
||||
return false;
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
/* Copyright 2022 @toinux
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
static const char PROGMEM ctrl_icon[2][2][4] = {
|
||||
{
|
||||
// off
|
||||
{0x93, 0x94, 0x95, 0},
|
||||
{0xB3, 0xB4, 0xB5, 0},
|
||||
},
|
||||
{
|
||||
// on
|
||||
{0x8F ,0x90, 0x91, 0},
|
||||
{0xAF ,0xB0, 0xB1, 0},
|
||||
}
|
||||
};
|
||||
|
||||
static const char PROGMEM shift_icon[2][2][4] = {
|
||||
{
|
||||
// off
|
||||
{0xD3, 0xD4, 0xB5, 0},
|
||||
{0xA8, 0xA9, 0xD5, 0},
|
||||
},
|
||||
{
|
||||
// on
|
||||
{0xCF ,0xD0, 0xB1, 0},
|
||||
{0xC8 ,0xC9, 0xD1, 0},
|
||||
}
|
||||
};
|
||||
|
||||
static const char PROGMEM gui_icon[2][2][4] = {
|
||||
{
|
||||
// off
|
||||
{0x92, 0x8C, 0x8D, 0},
|
||||
{0xB2, 0xAC, 0xAD, 0},
|
||||
},
|
||||
{
|
||||
// on
|
||||
{0x8E ,0x8A, 0x8B, 0},
|
||||
{0xAE ,0xAA, 0xAB, 0},
|
||||
}
|
||||
};
|
||||
|
||||
static const char PROGMEM alt_icon[2][2][4] = {
|
||||
{
|
||||
// off
|
||||
{0xB2, 0xCC, 0xCD, 0},
|
||||
{0xD2, 0x88, 0x89, 0},
|
||||
},
|
||||
{
|
||||
// on
|
||||
{0xAE ,0xCA, 0xCB, 0},
|
||||
{0xCE ,0x86, 0x87, 0},
|
||||
}
|
||||
};
|
||||
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record);
|
|
@ -1,72 +0,0 @@
|
|||
/* Copyright 2022 @toinux
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keycodes.h"
|
||||
|
||||
static const char gaming_leds[] = {18, 22, 19, 16};
|
||||
static const char gaming2_leds[] = {23, 18, 17, 10, 9, 22, 19, 16, 11, 8};
|
||||
static const char nav_leds[] = {38, 43, 44, 46};
|
||||
static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40};
|
||||
static const char mouse_leds[] = {11, 16, 17, 19};
|
||||
static const char adjust_leds[] = {6, 33};
|
||||
|
||||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
rgb_matrix_set_color(26, RGB_RED);
|
||||
}
|
||||
switch(get_highest_layer(layer_state|default_layer_state)) {
|
||||
case _GAMING:
|
||||
if (is_keyboard_master()) {
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
rgb_matrix_set_color(gaming_leds[i], 0x88, 0x00, 0x00);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _GAMING2:
|
||||
if (is_keyboard_master()) {
|
||||
for (uint8_t i = 0; i < 10; i++) {
|
||||
rgb_matrix_set_color(gaming2_leds[i], RGB_GREEN);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _NAV:
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
rgb_matrix_set_color(nav_leds[i], RGB_BLUE);
|
||||
}
|
||||
break;
|
||||
case _FUN:
|
||||
for (uint8_t i = 0; i < 10; i++) {
|
||||
rgb_matrix_set_color(fun_leds[i], RGB_GREEN);
|
||||
}
|
||||
break;
|
||||
case _ADJUST:
|
||||
for (uint8_t i = 0; i < 2; i++) {
|
||||
rgb_matrix_set_color(adjust_leds[i], RGB_RED);
|
||||
}
|
||||
break;
|
||||
case _MOUSE:
|
||||
if (is_keyboard_master()) {
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
rgb_matrix_set_color(mouse_leds[i], RGB_PURPLE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
SRC += ./oled.c ./rgb.c
|
|
@ -1,46 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "tominabox1.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_wrapper(
|
||||
___________________CRKBD1__________________,
|
||||
___________________CRKBD2__________________,
|
||||
___________________CRKBD3__________________,
|
||||
___________________CRKBD4__________________
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_wrapper(
|
||||
___________________RAISE1__________________,
|
||||
___________________RAISE2__________________,
|
||||
___________________CRKBD_RAISE3____________,
|
||||
___________________CRKBD_RAISE4____________
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
_________________LOWER_1___________________,
|
||||
_________________LOWER_2___________________,
|
||||
___________________CRKBD_LOW3______________,
|
||||
___________________CRKBD_LOW4______________
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_wrapper(
|
||||
___________________ADJST1__________________,
|
||||
___________________CRKBD_ADJST2____________,
|
||||
___________________CRKBD_ADJST3____________,
|
||||
___________________CRKBD_ADJST4____________
|
||||
),
|
||||
|
||||
[_ARROW] = LAYOUT_wrapper(
|
||||
___________________ARROW1__________________,
|
||||
___________________ARROW2__________________,
|
||||
___________________ARROW3__________________,
|
||||
___________________ARROW4__________________
|
||||
),
|
||||
[_FKEY] = LAYOUT_wrapper(
|
||||
___________________FKEY1___________________,
|
||||
___________________FKEY2___________________,
|
||||
___________________CRKBD_FKEY3_____________,
|
||||
___________________CRKBD_FKEY4_____________
|
||||
)
|
||||
|
||||
};
|
|
@ -1,44 +0,0 @@
|
|||
// Copyright 2022 LucW (@luc-languagetools)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
// #define MASTER_LEFT
|
||||
#define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
//#define QUICK_TAP_TERM 0
|
||||
//#define TAPPING_TERM 100
|
||||
|
||||
// #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
|
||||
#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
|
||||
|
||||
// MOUSE SETTINGS
|
||||
// ==============
|
||||
|
||||
#define MOUSEKEY_TIME_TO_MAX 200
|
||||
|
||||
#define RGBLIGHT_LAYERS
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_LIMIT_VAL 90
|
||||
// #define RGBLIGHT_LIMIT_VAL 0
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
// #define ENABLE_RGB_MATRIX_SPLASH
|
||||
//#define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#endif
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
|
@ -1,289 +0,0 @@
|
|||
// Copyright 2022 LucW (@luc-languagetools)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include <stdio.h>
|
||||
#include "dvorak_42_key.h"
|
||||
|
||||
// to build: qmk compile -kb crkbd/rev1 -km dvorak_42_key
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
OSL(VSCODE), KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_TAB,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
OSL(SHELL_NAV), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, TD(TD_DEL_WORD_DEL),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
OSM(MOD_LSFT),KC_SEMICOLON, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, OSM(MOD_LSFT),
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
MO(BROWSER_CONTROL), MO(COMBINED),MO(KEYNAV), KC_ENTER, KC_SPACE, OSL(SHORTCUTS)
|
||||
//`--------------------------' `--------------------------'
|
||||
|
||||
),
|
||||
|
||||
[KEYNAV] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, RCTL(KC_ENTER), RCTL(KC_K), RCTL(KC_Z), RCTL(KC_S), RCTL(KC_N), KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DELETE,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, MO(KEYSEL), KC_TRNS, RSFT(KC_TAB), KC_TAB, RCTL(KC_F), LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, RCTL(KC_P), RCTL(KC_O), RCTL(KC_A), RCTL(KC_B), NP_DUPE_LINE, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDN, RCTL(KC_DELETE),
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
|
||||
[KEYSEL] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
|
||||
[SHELL_NAV] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
TO(BASE),SHELL_GIT_DIFF, SHELL_PGREP, SHELL_PLESS, SHELL_LESS, KC_TRNS, RCTL(KC_D), KC_HOME, KC_UP, KC_END, RCTL(KC_L), RCTL(KC_X),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
OSL(SHELL_SCREEN),SHELL_GIT_STATUS,SHELL_CDPRE,SHELL_LSLTR,SHELL_LS, SHELL_LSLA, LALT(KC_B), KC_LEFT, KC_DOWN, KC_RIGHT, LALT(KC_F), RCTL(KC_W),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS,SHELL_SCREEN_LIST, SHELL_SCREENRD, SHELL_SCREEN_NEW, SHELL_TAILF, KC_TRNS, RCTL(KC_U), LALT(KC_DOT), RCTL(KC_R), KC_BTN2, RCTL(KC_K), RCTL(KC_C),
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, LCTL(LSFT(KC_V)), KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[SHELL_SCREEN] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
TO(BASE),KC_TRNS, SCREEN_READREG_3, SCREEN_READREG_2, SCREEN_READREG_1,KC_TRNS, KC_TRNS, SCREEN_7, SCREEN_8, SCREEN_9, SCREEN_RENAME, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
TO(BASE),KC_TRNS,SCREEN_PASTEREG_3,SCREEN_PASTEREG_2,SCREEN_PASTEREG_1,SCREEN_DETACH, SCREEN_TAB_LEFT, SCREEN_4, SCREEN_5, SCREEN_6, SCREEN_TAB_RIGHT, SCREEN_COPY_MODE,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SCREEN_1, SCREEN_2, SCREEN_3, SCREEN_NUMBER, SCREEN_PASTE,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, SCREEN_KILL, SCREEN_NEW_TAB, SCREEN_0
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[VSCODE] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
TO(BASE), KC_TRNS, VS_FIND_FILES, VS_CMT_BLOCK, VS_CMT_LINE, VS_BM_LISTALL, VS_COPYLINEDOWN, VS_REFERENCES, VS_DEFINITION, VS_IMPLEMENTATION, VS_LINE, VS_BRACKET,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, VS_TOGGLE_TERMINAL, VS_FOCUS_TERMINAL, VS_FOCUS_EDITOR, VS_BM_LIST, VS_CLOSETAB, VS_TABLEFT, VS_TABRIGHT, VS_SYMBOLEDITOR, VS_FILE, VS_BACK,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, VS_BM_CLEARALL, VS_JUMPY, VS_BM_PREV, VS_BM_NEXT, VS_GROUP_1, VS_GROUP_2, VS_BM_TOGGLE,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, VS_DEL_LEFT, VS_DEL_RIGHT, VS_DEL_LINE, VS_JUMPY, VS_COMMANDS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[COMBINED] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, KC_PIPE,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_GRAVE, KC_LPRN, KC_RPRN, KC_LBRC, KC_RBRC, KC_UNDS, KC_MINUS, KC_4, KC_5, KC_6, KC_SLSH, KC_BSLS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_CIRC, KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, KC_DOT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
// chrome OS keyboard shortcuts: https://support.google.com/chromebook/answer/183101?hl=en
|
||||
// search key == windows key
|
||||
[BROWSER_CONTROL] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TRNS, KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
CO_WS_LEFT, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_DOWN, RCTL(KC_PGUP), RCTL(KC_PGDN), KC_MS_WH_DOWN, LALT(KC_LEFT), CO_WS_RIGHT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, RCTL(LSFT(KC_TAB)), RCTL(KC_TAB), WINDOWS10_WORKSPACE_LEFT, WINDOWS10_WORKSPACE_RIGHT, WINDOWS10_TASK_VIEW, KC_TRNS, RCTL(KC_1), RCTL(KC_9), LCTL(KC_L), KC_F5, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
|
||||
[SHORTCUTS] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MEH(KC_F1), MEH(KC_F2), MEH(KC_F3), MEH(KC_F4), MEH(KC_F5), MEH(KC_F6),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MEH(KC_F7), MEH(KC_F8), MEH(KC_F9), MEH(KC_F10), MEH(KC_F11), MEH(KC_F12),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, OSM(MOD_LSFT), OSM(MOD_LGUI), OSM(MOD_LALT), OSM(MOD_LCTL), KC_TRNS, MEH(KC_F13), MEH(KC_F14), MEH(KC_F15), MEH(KC_F16), MEH(KC_F17), MEH(KC_F18),
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(SHORTCUTS), TO(BASE)
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
/*
|
||||
// empty layer
|
||||
[15] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
*/
|
||||
|
||||
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
// return rotation;
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
|
||||
#define DISPLAY_LAYER_NAME(LAYER_NAME, LAYER_STRING) \
|
||||
if(get_highest_layer(layer_state) == LAYER_NAME) { \
|
||||
oled_write_ln_P(PSTR(LAYER_STRING), false); \
|
||||
return;\
|
||||
}\
|
||||
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
// if caps word is enabled, show
|
||||
if(is_caps_word_on()) {
|
||||
oled_write_ln_P(PSTR("CAPS WORD"), false);
|
||||
return;
|
||||
}
|
||||
DISPLAY_LAYER_NAME(SHORTCUTS, "SHORTCUTS");
|
||||
DISPLAY_LAYER_NAME(VSCODE, "VSCODE");
|
||||
DISPLAY_LAYER_NAME(COMBINED, "SYMBOLS");
|
||||
DISPLAY_LAYER_NAME(BROWSER_CONTROL, "BROWSER");
|
||||
DISPLAY_LAYER_NAME(SHELL_SCREEN, "SHELL SCREEN");
|
||||
DISPLAY_LAYER_NAME(SHELL_NAV, "SHELL NAV");
|
||||
DISPLAY_LAYER_NAME(KEYSEL, "KEYSEL");
|
||||
DISPLAY_LAYER_NAME(KEYNAV, "KEYNAV");
|
||||
DISPLAY_LAYER_NAME(BASE, "BASE");
|
||||
|
||||
}
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_off[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 0, 0}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_blue[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_BLUE}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_purple[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_PURPLE}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_red[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_RED}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_orange[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_ORANGE}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_yellow[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_YELLOW}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_green[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_GREEN}
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM rgb_layer_pink[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, RGBLED_NUM, HSV_PINK}
|
||||
);
|
||||
|
||||
|
||||
// Now define the array of layers. Later layers take precedence
|
||||
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
|
||||
rgb_layer_off,
|
||||
rgb_layer_blue,
|
||||
rgb_layer_purple,
|
||||
rgb_layer_red,
|
||||
rgb_layer_orange,
|
||||
rgb_layer_yellow,
|
||||
rgb_layer_green,
|
||||
rgb_layer_pink
|
||||
);
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// Enable the LED layers
|
||||
rgblight_layers = my_rgb_layers;
|
||||
}
|
||||
|
||||
layer_state_t default_layer_state_set_user(layer_state_t state) {
|
||||
rgblight_set_layer_state(0, layer_state_cmp(state, BASE));
|
||||
return state;
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
|
||||
rgblight_set_layer_state(1, layer_state_cmp(state, KEYNAV));
|
||||
rgblight_set_layer_state(2, layer_state_cmp(state, KEYSEL));
|
||||
|
||||
|
||||
rgblight_set_layer_state(3, layer_state_cmp(state, SHELL_NAV));
|
||||
rgblight_set_layer_state(4, layer_state_cmp(state, SHELL_SCREEN));
|
||||
|
||||
rgblight_set_layer_state(5, layer_state_cmp(state, SHORTCUTS));
|
||||
|
||||
rgblight_set_layer_state(6, layer_state_cmp(state, VSCODE));
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
void caps_word_set_user(bool active) {
|
||||
// will enable/disable rgb layer 7 based on whether caps word is active
|
||||
rgblight_set_layer_state(7, active);
|
||||
}
|
||||
|
||||
void render_bootmagic_status(bool status) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][2][3] = {
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
};
|
||||
if (status) {
|
||||
oled_write_ln_P(logo[0][0], false);
|
||||
oled_write_ln_P(logo[0][1], false);
|
||||
} else {
|
||||
oled_write_ln_P(logo[1][0], false);
|
||||
oled_write_ln_P(logo[1][1], false);
|
||||
}
|
||||
}
|
||||
|
||||
void oled_render_logo(void) {
|
||||
static const char PROGMEM crkbd_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
|
||||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
|
||||
0};
|
||||
oled_write_P(crkbd_logo, false);
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
if (is_keyboard_master( )) {
|
||||
oled_render_layer_state();
|
||||
} else {
|
||||
oled_render_logo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // OLED_ENABLE
|
|
@ -1,8 +0,0 @@
|
|||
# Copyright 2022 LucW (@luc-languagetools)
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
# RGB_MATRIX_ENABLE = no
|
||||
OLED_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
Loading…
Add table
Add a link
Reference in a new issue