Skip to content

Commit

Permalink
Add initial skeletyl keymap
Browse files Browse the repository at this point in the history
  • Loading branch information
halcyonCorsair committed Jun 27, 2022
1 parent befd248 commit c8d9e6a
Show file tree
Hide file tree
Showing 3 changed files with 272 additions and 0 deletions.
80 changes: 80 additions & 0 deletions keyboards/bastardkb/skeletyl/keymaps/halcyoncorsair/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/* Copyright 2019 Thomas Baart <[email protected]>
*
* 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_PER_KEY // See bottom of keymap.c

// // Lets you roll mod-tap keys
// #define IGNORE_MOD_TAP_INTERRUPT
// Prevent normal rollover on alphas from accidentally triggering mods.
#define IGNORE_MOD_TAP_INTERRUPT

// // Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
// #define TAPPING_FORCE_HOLD

// This prevents accidental repeats of the tap-hold keys when typing quickly.
#define TAPPING_FORCE_HOLD_PER_KEY

// Disable PERMISSIVE_HOLD
#undef PERMISSIVE_HOLD

// Other settings //
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY

#define TAPPING_TOGGLE 2

// Recommended for heavy chording.
#define QMK_KEYS_PER_SCAN 4 // 18

// Set tapping term
#ifdef TAPPING_TERM
# undef TAPPING_TERM
#endif // TAPPING_TERM
#define TAPPING_TERM 200

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
// #ifdef DEBOUNCE
// # undef DEBOUNCE
// #endif
// #define DEBOUNCE 10 // Default for kyria is 5

// Combos
#define COMBO_ONLY_FROM_LAYER 0
#define COMBO_TERM 30
#define COMBO_TERM_PER_COMBO

// Space saving measures
// - See https://docs.qmk.fm/#/squeezing_avr?id=rgb-settings for some rgb stuff
// to disable as well
#define NO_MUSIC_MODE // No music on the kyria
// #define LAYER_STATE_8BIT

#undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE

#ifdef RGB_MATRIX_ENABLE
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 // same as bkb default

// # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Sets the default mode, if none has been set
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // same as bkb default
# define RGB_MATRIX_STARTUP_HUE 0
# define RGB_MATRIX_STARTUP_SAT 255
# define RGB_MATRIX_STARTUP_SPD 127
// # undef RGB_DISABLE_WHEN_USB_SUSPENDED
// # define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
#endif
172 changes: 172 additions & 0 deletions keyboards/bastardkb/skeletyl/keymaps/halcyoncorsair/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
/* Copyright 2021 Elliot Pahl <[email protected]>
*
* 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 "version.h"
#include "halcyoncorsair.h"
#ifdef CONSOLE_ENABLED
#include "print.h"
#endif

// TODO: Shift, KC_GRV, KC_DEL, KC_ESC, KC_INS, KC_CAPS?, ADJUST

// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* Base Layer: Colemak DH
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | \ | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Esc/` |A/Ctrl| R/Alt| S/GUI| T/SFT| G | | M | N/SFT| E/GUI| I/Alt|O/Ctrl| ' " |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | Z | X | C | D | V |Spotlt|CapsLk| | 1pass|Adjust| K | H | , < | . > | / ? | - _ |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| Meh | Nav | Space| Bksp | | Tab | Enter| Sym |Repeat| Play |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_COLEMAK_DH] = LAYOUT_split_3x5_3(
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
HOME_A, HOME_R, HOME_S, HOME_T, KC_G, KC_M, HOME_N, HOME_E, HOME_I, HOME_O,
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH,
NAV, KC_SPC, KC_BSPC, KC_TAB, KC_ENT, SYM
),


[_QWERTY] = LAYOUT_split_3x5_3(
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT,
HOME_A, HOME_R, HOME_S, HOME_T, KC_G, KC_M, HOME_N, HOME_E, HOME_I, HOME_O,
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH,
NAV, KC_SPC, KC_BSPC, KC_TAB, KC_ENT, SYM
),
/*
* winter nebs: NUM/symb, swapped numbers
*
* ,-------------------------------------------. ,-------------------------------------------.
* | ` | 4 | 3 | 2 | 1 | 5 | | 9 | 0 | 6 | 7 | 8 | | \ |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | DEL | $ | + | ( | ) | @ | | | | - | = | _ | * | ' " |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | ! | # | { | } | ~ | | | | | | & | [ | ] | % | ^ | - _ |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_SYM] = LAYOUT_split_3x5_3(
KC_4, KC_3, KC_2, KC_1, KC_5, KC_9, KC_0, KC_6, KC_7, KC_8,
HOME_DLR,HOME_PLUS,HOME_LPRN,HOME_RPRN,KC_AT, KC_PIPE, HOME_MINS,HOME_EQL,HOME_UNDS,HOME_ASTR,
KC_EXLM, KC_SCLN, KC_LCBR, KC_RCBR, KC_TILD, KC_AMPR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC,
_______, _______, _______, _______, _______, _______
),
/*
* Nav Layer: Media, navigation
*
* ,------------------------------------------. ,-------------------------------------------.
* | F13 | F9 | F10 | F11 | F12 | | | PgUp | Home | ↑ | End | VolUp| Delete |
* |-------+------+------+------+------+------| |------+------+------+------+------+--------|
* | F14 |F5/CTL|F6/ALT|F7/GUI|F8/SFT| | | PgDn | ← | ↓ | → | VolDn|Capslock|
* |-------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | F15 | F1 | F2 | F3 | F4 |P-Text| | | | |Selwrd| XXX |M Prev|M Play|M Next| Mute | Insert |
* `---------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | Num | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_NAV] = LAYOUT_split_3x5_3(
KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PGUP, MHOME, KC_UP, MEND, KC_VOLU,
HOME_F5, HOME_F6, HOME_F7, HOME_F8, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD,
KC_F1, KC_F2, KC_F3, KC_F4, PTXT, KC_ESC, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE,
_______, _______, _______, _______, KC_BSPC, ADJUST
),

/*
* Adjust Layer: Default layer settings, RGB
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | | | | | | | | | | | RESET |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | |Colmak|QWERTY| | | TOG | SAI | HUI | VAI | MOD | DEBUG |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | SAD | HUD | VAD | RMOD | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | |Bright|Bright| | | |
* | | | | | | | Up | Down | | | |
* `----------------------------------' `----------------------------------'
*/
[_ADJUST] = LAYOUT_split_3x5_3(
QK_BOOT, _______, _______, _______, _______, _______, _______, EEP_RST, DEBUG, QK_BOOT,
DEBUG, _______, COLEMAK, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD,
EEP_RST, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,
_______, _______, _______, KC_BRID, KC_BRIU, _______
),

// /*
// * Layer template
// *
// * ,-------------------------------------------. ,-------------------------------------------.
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
// * | | | | | | | | | | | | | | | | | |
// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
// * | | | | | | | | | | | |
// * | | | | | | | | | | | |
// * `----------------------------------' `----------------------------------'
// */
// [_LAYERINDEX] = LAYOUT(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______
// ),
};

#ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
// Immediately select the hold action when another key is pressed.
return true;
default:
// Do not select the hold action when another key is pressed.
return false;
}
}
#endif

/*
* Per key tapping term settings
*/
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case HOME_A:
return TAPPING_TERM + 40;
case HOME_I:
case HOME_R:
case HOME_O:
case QHOME_S:
return TAPPING_TERM + 30;
case HOME_T:
case HOME_N:
return TAPPING_TERM - 20;
// case SYM_ENT:
// // Very low tapping term to make sure I don't hit Enter accidentally.
// return TAPPING_TERM - 85;
default:
return TAPPING_TERM;
}
};
20 changes: 20 additions & 0 deletions keyboards/bastardkb/skeletyl/keymaps/halcyoncorsair/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
COMBO_ENABLE = yes
# LEADER_ENABLE = no # 162
# NKRO_ENABLE = no # 316
# SWAP_HANDS_ENABLE = no # 570

# Userspace features
MY_CAPS_WORD_ENABLE = yes
REPEAT_KEY_ENABLE = yes # 276
SELECT_WORD_ENABLE = yes

# Need to reduce firmware size
# LTO_ENABLE = yes
# CONSOLE_ENABLE = no
# COMMAND_ENABLE = no
# MOUSEKEY_ENABLE = no
# EXTRAKEY_ENABLE = no // this includes media keys and system volue control
# SPACE_CADET_ENABLE = no
# GRAVE_ESC_ENABLE = no # 82
# MAGIC_ENABLE = no
# MUSIC_ENABLE = no

0 comments on commit c8d9e6a

Please sign in to comment.