[Keymap] Minor cleanup of bcat keymaps and userspace (#13224)
This commit is contained in:
		
							parent
							
								
									4d42fb2031
								
							
						
					
					
						commit
						853344235a
					
				
					 15 changed files with 198 additions and 38 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -6,18 +22,19 @@ enum layer {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
#define LY_FUNC MO(LAYER_FUNCTION)
 | 
			
		||||
#define KY_LOCK LCA(KC_L)  /* Cinnamon lock screen */
 | 
			
		||||
#define KY_LOCK LCA(KC_L) /* Cinnamon lock screen */
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT(
 | 
			
		||||
        KC_MPLY,  KC_VOLU,  KC_MSTP,
 | 
			
		||||
        KC_MPRV,  KC_VOLD,  KC_MNXT,
 | 
			
		||||
        KY_LOCK,  KC_MUTE,  LY_FUNC
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    [LAYER_FUNCTION] = LAYOUT(
 | 
			
		||||
        EEP_RST,  _______,  RESET,
 | 
			
		||||
        _______,  _______,  _______,
 | 
			
		||||
        _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ enum layer {
 | 
			
		|||
#define KY_ZMRST LCTL(KC_0)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281 */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT(
 | 
			
		||||
        KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_LBRC,  KC_RBRC,  KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_BSPC,
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_END,   KC_PGDN,  KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
 | 
			
		||||
        XXXXXXX,  XXXXXXX,  KC_LALT,  KC_LCTL,  LY_LWR,   KC_SPC,   XXXXXXX,  XXXXXXX,  KC_ENT,   LY_RSE,   KC_RALT,  KC_RGUI,  XXXXXXX,  XXXXXXX
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415 */
 | 
			
		||||
    [LAYER_LOWER] = LAYOUT(
 | 
			
		||||
        MC_ALTT,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,  _______,  _______,  KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,  _______,  _______,  KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862 */
 | 
			
		||||
    [LAYER_RAISE] = LAYOUT(
 | 
			
		||||
        KC_CAPS,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     _______,  _______,  KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   _______,  _______,  KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */
 | 
			
		||||
    [LAYER_ADJUST] = LAYOUT(
 | 
			
		||||
        _______,  NK_TOGG,  KC_MPLY,  KC_VOLU,  KC_MSTP,  _______,  _______,  _______,  EEP_RST,  RESET,    _______,  _______,  _______,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -65,8 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  _______,  _______,  KC_MUTE,  _______,  _______,  _______,  _______,  RGB_HUI,  RGB_SAD,  RGB_SAI,  RGB_HUD,  RGB_SPD,  _______,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  RGB_TOG,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
 | 
			
		||||
    return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
 | 
			
		||||
}
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) { return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -8,17 +24,18 @@ enum layer {
 | 
			
		|||
#define LY_SECND MO(LAYER_SECOND)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    [LAYER_FIRST] = LAYOUT(
 | 
			
		||||
        KC_MUTE,  LY_SECND, BL_BRTG,
 | 
			
		||||
        KC_F4,    KC_F5,    KC_F6,
 | 
			
		||||
        KC_F1,    KC_F2,    KC_F3
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    [LAYER_SECOND] = LAYOUT(
 | 
			
		||||
        EEP_RST,  _______,  RESET,
 | 
			
		||||
        KC_F10,   KC_F11,   KC_F12,
 | 
			
		||||
        KC_F7,    KC_F8,    KC_F9
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		||||
| 
						 | 
				
			
			@ -26,20 +43,17 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		|||
        /* Top-left encoder (volume) */
 | 
			
		||||
        case 0:
 | 
			
		||||
            tap_code(clockwise ? KC_VOLU : KC_VOLD);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
            return false;
 | 
			
		||||
        /* Top-right encoder (backlight brightness) */
 | 
			
		||||
        case 1:
 | 
			
		||||
#if defined(BACKLIGHT_ENABLE)
 | 
			
		||||
            if (clockwise) {
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
                backlight_increase();
 | 
			
		||||
#endif
 | 
			
		||||
            } else {
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
                backlight_decrease();
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
            return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,25 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Quefrency lacks I2C resistors on the right PCB, so the right half doesn't
 | 
			
		||||
/* Quefrency lacks I2C resistors on the right PCB, so the right half doesn't
 | 
			
		||||
 * work independently. (Presumably the floating I2C lines cause a problem.)
 | 
			
		||||
 * Using serial seems sufficiently fast in practice and allows both halves to
 | 
			
		||||
 * be used independently.
 | 
			
		||||
 * Using serial seems sufficiently fast in practice and allows both halves to be
 | 
			
		||||
 * used independently.
 | 
			
		||||
 */
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14,4 +29,5 @@
 | 
			
		|||
 | 
			
		||||
/* Set up RGB lighting so it works with either side as master. */
 | 
			
		||||
#undef RGBLED_SPLIT
 | 
			
		||||
#define RGBLED_SPLIT { 8, 9 }
 | 
			
		||||
#define RGBLED_SPLIT \
 | 
			
		||||
    { 8, 9 }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +24,7 @@ enum layer {
 | 
			
		|||
#define LY_FN MO(LAYER_FUNCTION)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/60a262432bb340b37d364a4424f3037b */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT_65(
 | 
			
		||||
        KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSLS,  KC_GRV,   KC_HOME,
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +33,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,                      KC_UP,    KC_END,
 | 
			
		||||
        KC_LCTL,  KC_LGUI,  KC_LALT,  LY_FN,    KC_SPC,                       KC_SPC,   XXXXXXX,  KC_RALT,  LY_FN,    KC_RCTL,            KC_LEFT,  KC_DOWN,  KC_RGHT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Function layer: http://www.keyboard-layout-editor.com/#/gists/59636898946da51f91fb290f8e078b4d */
 | 
			
		||||
    [LAYER_FUNCTION] = LAYOUT_65(
 | 
			
		||||
        _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL,   RGB_HUI,
 | 
			
		||||
| 
						 | 
				
			
			@ -25,4 +41,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   _______,  KC_MUTE,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,                      RGB_VAI,  RGB_HUD,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,                      _______,  _______,  _______,  _______,  _______,            RGB_RMOD, RGB_VAD,  RGB_MOD
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ enum layer {
 | 
			
		|||
#define KY_ZMRST LCTL(KC_0)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT(
 | 
			
		||||
        KC_EQL,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,                         KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_WBAK,  KC_WFWD,  KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
 | 
			
		||||
                                      KC_LALT,  KC_LCTL,  LY_LWR,   KC_SPC,   KC_ENT,   LY_RSE,   KC_RALT,  KC_RGUI
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
 | 
			
		||||
    [LAYER_LOWER] = LAYOUT(
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,                      _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,  _______,  _______,  KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV,
 | 
			
		||||
                                      _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/912be7955f781cdaf692cc4d4c0b5823 */
 | 
			
		||||
    [LAYER_RAISE] = LAYOUT(
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,                      _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +59,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   _______,  _______,  KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS,
 | 
			
		||||
                                      _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/8f6a3f08350a9bbe1d414b22bca4e6c7 */
 | 
			
		||||
    [LAYER_ADJUST] = LAYOUT(
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,                      _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -69,8 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  _______,  _______,  KC_MUTE,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
                                      _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
 | 
			
		||||
    return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
 | 
			
		||||
}
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) { return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +26,7 @@ enum layer {
 | 
			
		|||
#define LY_FN2 MO(LAYER_FUNCTION_2)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/327b41b5a933b3d44bf60ca9822e85dc */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT_60_ansi_split_bs_rshift(
 | 
			
		||||
        KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSLS,  KC_GRV,
 | 
			
		||||
| 
						 | 
				
			
			@ -36,4 +53,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  _______,  _______,  KC_MUTE,  _______,  BL_DEC,   _______,  RGB_SPD,  RGB_HUD,  RGB_SAD,  RGB_VAD,  _______,                      _______,
 | 
			
		||||
        _______,  _______,  _______,                                _______,                                          _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +26,7 @@ enum layer {
 | 
			
		|||
#define LY_FN2 MO(LAYER_FUNCTION_2)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/86b33d75aa6f56d8781ab3d8475f4e77 */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT_60_tsangan_hhkb(
 | 
			
		||||
        KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSLS,  KC_GRV,
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +35,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,                      LY_FN1,
 | 
			
		||||
        KC_LCTL,  LY_FN2,   KC_LALT,                                KC_SPC,                                           KC_RALT,  KC_RGUI,            KC_RCTL
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Function 1 layer: http://www.keyboard-layout-editor.com/#/gists/f6311fd7e315de781143b80eb040a551 */
 | 
			
		||||
    [LAYER_FUNCTION_1] = LAYOUT_60_tsangan_hhkb(
 | 
			
		||||
        _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL,
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +43,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   _______,  _______,  _______,  _______,  _______,  _______,  KC_END,   KC_PGDN,  KC_DOWN,  _______,                      _______,
 | 
			
		||||
        _______,  _______,  _______,                                _______,                                          _______,  _______,            _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Function 2 layer: http://www.keyboard-layout-editor.com/#/gists/65ac939caec878401603bc36290852d4 */
 | 
			
		||||
    [LAYER_FUNCTION_2] = LAYOUT_60_tsangan_hhkb(
 | 
			
		||||
        _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_INS,   KC_DEL,
 | 
			
		||||
| 
						 | 
				
			
			@ -36,4 +51,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  _______,  _______,  KC_MUTE,  _______,  BL_DEC,   _______,  RGB_SPD,  RGB_HUD,  RGB_SAD,  RGB_VAD,  _______,                      _______,
 | 
			
		||||
        _______,  _______,  _______,                                _______,                                          _______,  _______,            _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
enum layer {
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +24,7 @@ enum layer {
 | 
			
		|||
#define LY_FN MO(LAYER_FUNCTION)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/dd675b40cc4df2c7bb78847ac29f5988 */
 | 
			
		||||
    [LAYER_DEFAULT] = LAYOUT_65_ansi_blocker_split_bs(
 | 
			
		||||
        KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSLS,  KC_GRV,   KC_HOME,
 | 
			
		||||
| 
						 | 
				
			
			@ -25,4 +42,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   _______,  KC_MUTE,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,                      _______,  _______,
 | 
			
		||||
        _______,  _______,  _______,                      _______,                                _______,  _______,                      _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,7 @@ enum layer {
 | 
			
		|||
#define KY_ZMRST LCTL(KC_0)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    // clang-format off
 | 
			
		||||
    /* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
 | 
			
		||||
    [LAYER_DEFAULT] = 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,
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,                         KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,
 | 
			
		||||
                                                KC_LCTL,  LY_LWR,   KC_SPC,   KC_ENT,   LY_RSE,   KC_RALT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
 | 
			
		||||
    [LAYER_LOWER] = LAYOUT_split_3x6_3(
 | 
			
		||||
        MC_ALTT,  KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,                      KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_APP,   KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_LGUI,                      KC_BSLS,  KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_GRV,
 | 
			
		||||
                                                _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
 | 
			
		||||
    [LAYER_RAISE] = LAYOUT_split_3x6_3(
 | 
			
		||||
        KC_CAPS,  KC_1,     KC_2,     KC_3,     KC_4,     KC_5,                         KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,                       KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F12,   KC_INS,
 | 
			
		||||
                                                _______,  _______,  _______,  _______,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee */
 | 
			
		||||
    [LAYER_ADJUST] = LAYOUT_split_3x6_3(
 | 
			
		||||
        _______,  NK_TOGG,  KC_MPLY,  KC_VOLU,  KC_MSTP,  _______,                      EEP_RST,  RESET,    _______,  _______,  _______,  _______,
 | 
			
		||||
| 
						 | 
				
			
			@ -65,8 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______,  _______,  _______,  KC_MUTE,  _______,  _______,                      RGB_HUI,  RGB_SAD,  RGB_SAI,  RGB_HUD,  RGB_SPD,  _______,
 | 
			
		||||
                                                _______,  _______,  _______,  RGB_TOG,  _______,  _______
 | 
			
		||||
    ),
 | 
			
		||||
    // clang-format on
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) {
 | 
			
		||||
    return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
 | 
			
		||||
}
 | 
			
		||||
layer_state_t layer_state_set_keymap(layer_state_t state) { return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,10 @@
 | 
			
		|||
# bcat's split 3x6 + 3 thumb keys layout
 | 
			
		||||
 | 
			
		||||
(See also the
 | 
			
		||||
[BlueMicro](https://github.com/jpconstantineau/BlueMicro_BLE/tree/master/firmware/keyboards/crkbd/keymaps/bcat)
 | 
			
		||||
and [ZMK](https://github.com/bcat/zmk-config/blob/master/config/corne.keymap)
 | 
			
		||||
versions of this keymap.)
 | 
			
		||||
 | 
			
		||||
This is my favorite split ergo layout for typing, featuring the traditional
 | 
			
		||||
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
 | 
			
		||||
by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,19 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "bcat.h"
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,24 @@
 | 
			
		|||
/* Copyright 2021 Jonathan Rascher
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
enum user_keycodes {
 | 
			
		||||
enum user_keycode {
 | 
			
		||||
    MC_ALTT = SAFE_RANGE,
 | 
			
		||||
    KEYMAP_SAFE_RANGE,
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,7 +15,7 @@ Columnar-staggered split ergo layout, preferred for typing. Used on Crkbd.
 | 
			
		|||
* [60% Tsangan
 | 
			
		||||
HHKB](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat):
 | 
			
		||||
Row-staggered layout, preferred for gaming. Used on ai03 Polaris, CannonKeys
 | 
			
		||||
AN-C, CannonKeys Instant60.
 | 
			
		||||
AN-C, CannonKeys Instant60, DZ60.
 | 
			
		||||
 | 
			
		||||
## Other keymaps
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue