~ruther/qmk_firmware

495a2f0ec3db6f2f18207c8ce9d230a1f2a5ac3b — HellTM 3 years ago 7e58ab8
[Keymap] 3w6 helltm keymap combos (#15393)

A keyboards/3w6/keymaps/helltm/combos.def => keyboards/3w6/keymaps/helltm/combos.def +18 -0
@@ 0,0 1,18 @@
CB(open_round_brackets_combo, KC_LPRN, KC_R, KC_T)
CB(open_square_brackets_combo, KC_LBRC, KC_F, KC_G)
CB(open_curly_brackets_combo, KC_LCBR, KC_V, KC_B)
CB(close_round_brackets_combo, KC_RPRN, KC_Y, KC_U)
CB(close_square_brackets_combo, KC_RBRC, KC_H, KC_J)
CB(close_curly_brackets_combo, KC_RCBR, KC_N, KC_M)

CB(esc_combo, KC_ESC, KC_Q, KC_A)
CB(tab_combo, KC_TAB, KC_A, LSFT_T(KC_Z))

CB(single_quote_combo, KC_QUOT, KC_P, KC_SCLN)
CB(double_quote_combo, KC_DQUO, KC_SCLN, RSFT_T(KC_SLSH))

CB(plus_combo, KC_PLUS, KC_T, KC_G)
CB(asterisk_combo, KC_ASTR, KC_G, KC_B)

CB(minus_combo, KC_MINS, KC_Y, KC_H)
CB(equal_combo, KC_EQL, KC_H, KC_N)

A keyboards/3w6/keymaps/helltm/combos.h => keyboards/3w6/keymaps/helltm/combos.h +35 -0
@@ 0,0 1,35 @@
/* Copyright 2021 HellSingCoder
 *
 * 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 CB(name, action, ...) C_##name,
enum user_combos {
#include "combos.def"
    COMBO_LENGTH
};
#undef CB
uint16_t COMBO_LEN = COMBO_LENGTH;

#define CB(name, action, ...) const uint16_t PROGMEM name##_combo[] = {__VA_ARGS__, COMBO_END};
#include "combos.def"
#undef CB

combo_t key_combos[COMBO_LENGTH] = {
#define CB(name, action, ...) COMBO(name##_combo, action),
#include "combos.def"
#undef CB
};

A keyboards/3w6/keymaps/helltm/config.h => keyboards/3w6/keymaps/helltm/config.h +20 -0
@@ 0,0 1,20 @@
/* Copyright 2021 HellSingCoder
 *
 * 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

/* Combo timer */
#define COMBO_TERM 15

M keyboards/3w6/keymaps/helltm/keymap.c => keyboards/3w6/keymaps/helltm/keymap.c +30 -22
@@ 16,6 16,10 @@

#include QMK_KEYBOARD_H

#ifdef COMBO_ENABLE
#   include "combos.h"
#endif

enum layers
{
    _ALPHA_QWERTY = 0,


@@ 35,18 39,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    /*
    * QWERTY
    *              _____                                                   _____
    *       .-----|  E  |-----._____                           _____.-----|  I  |-----.
    * .-----|  W  |_____|  R  |  T  |                         |  Y  |  U  |_____|  O  |-----.
    * |  Q  |-----|  D  |-----|_____|                         |_____|-----|  K  |-----|  P  |
    * |-----|  S  |_____|  F  |  G  |                         |  H  |  J  |_____|  L  |-----|
    * |  A  |-----|  C  |-----|_____|                         |_____|-----| , < |-----| ; : |
    * |-----|  X  |_____|  V  |  B  |                         |  N  |  M  |_____| . > |-----|
    * |  Z  |-----'     '-----|_____|                         |_____|-----'     '-----| / ? |
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
    *  SHIFT           | WIN ||CTRL | /     /         \     \ | BSp || Del |           SHIFT
    *                  '-----':_____|/ ENT /           \ SPC \|_____:'-----'
    *                    NUM        '--.._/             \_..--' NAV    SYM
    *
    *                                          _____________________         _____________________
    *                                       __|__                   |       |                   __|__
    *                              _____   |     |                  v       v                  |     |   _____
    *                       .-----|  E  |-----._____                                         _____.-----|  I  |-----.
    *                 .-----|  W  |_____|  R  |  T  |  __           (       )           __  |  Y  |  U  |_____|  O  |-----.
    *             __  |  Q  |-----|  D  |-----|_____|  __|--> +                   - <--|__  |_____|-----|  K  |-----|  P  |  __
    *    ESC  <--|__  |-----|  S  |_____|  F  |  G  |               [       ]               |  H  |  J  |_____|  L  |-----|  __|--> '
    *             __  |  A  |-----|  C  |-----|_____|  __                               __  |_____|-----| , < |-----| ; : |  __
    *    TAB  <--|__  |-----|  X  |_____|  V  |  B  |  __|--> *     {       }     = <--|__  |  N  |  M  |_____| . > |-----|  __|--> "
    *                 |  Z  |-----'     '-----|_____|                                       |_____|-----'     '-----| / ? |
    *                 '-----'          .-----. _____   .-.._                           _..-.   _____ .-----.        '-----'
    *                    |             | WIN ||CTRL | /     /                         \     \ | BSp || Del |           |
    *                  SHIFT           '-----':_____|/ ENT /                           \ SPC \|_____:'-----'         SHIFT
    *                                     |         '--.._/                             \_..--'  |      |
    *                                    NUM                                                    NAV    SYM
    */
    [_ALPHA_QWERTY] = LAYOUT(
        KC_Q,         KC_W   , KC_E   , KC_R   , KC_T   ,                                    KC_Y   , KC_U   , KC_I   , KC_O   , KC_P           ,


@@ 85,7 93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * | Esc |-----|Play |-----|_____|                         |_____|-----|Down |-----| BSp |
    * |-----|Prev |_____|Next |     |                         |Home |Left |_____|Right|-----|
    * | Tab |-----|Stop |-----|_____|                         |_____|-----|     |-----| ' " |
    * |-----|     |_____|     |Swap |                         |     |     |_____| End |-----|
    * |-----|     |_____|     |     |                         |     |     |_____| End |-----|
    * | CPS |-----'     '-----|_____|                         |_____|-----'     '-----| Del |
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
    *  SHIFT           |     ||CTRL | /     /         \     \ | BSp ||     |           SHIFT


@@ 93,10 101,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    *                               '--.._/             \_..--'
    */
    [_NAV] = LAYOUT(
        KC_ESC         , KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX      ,                                XXXXXXX, KC_PGDN, KC_UP  , KC_PGUP, KC_BSPC,
        KC_TAB         , KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX      ,                                KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUOT,
        LSFT_T(KC_CAPS), XXXXXXX, KC_MSTP, XXXXXXX, KC_THUMB_SWAP,                                XXXXXXX, XXXXXXX, XXXXXXX, KC_END , RSFT_T(KC_DEL) ,
                                              XXXXXXX, _______, _______,                    _______, KC_BSPC, XXXXXXX
        KC_ESC         , KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX,                                XXXXXXX, KC_PGDN, KC_UP  , KC_PGUP, KC_BSPC,
        KC_TAB         , KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX,                                KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUOT,
        LSFT_T(KC_CAPS), XXXXXXX, KC_MSTP, XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, KC_END , RSFT_T(KC_DEL) ,
                                        XXXXXXX, _______, _______,                    _______, KC_BSPC, XXXXXXX
    ),

    /*


@@ 107,7 115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |  1  |-----| F3  |-----|_____|                         |_____|-----| F8  |-----|  0  |
    * |-----| F2  |_____| F4  | F5  |                         | F6  | F7  |_____| F9  |-----|
    * | F1  |-----| Scr |-----|_____|                         |_____|-----|     |-----| F10 |
    * |-----| TMg |_____|     |     |                         |     |     |_____| F11 |-----|
    * |-----| TMg |_____|     |Swap |                         |     |     |_____| F11 |-----|
    * |Shift|-----'     '-----|_____|                         |_____|-----'     '-----| F12 |
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
    *                  |     ||CTRL | /     /         \     \ | BSp ||     |           SHIFT


@@ 115,10 123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    *                               '--.._/             \_..--'
    */
    [_NUM] = LAYOUT(
        KC_1   , KC_2       , KC_3      , KC_4   , KC_5   ,                                KC_6   , KC_7   , KC_8   , KC_9   , KC_0   ,
        KC_F1  , KC_F2      , KC_F3     , KC_F4  , KC_F5  ,                                KC_F6  , KC_F7  , KC_F8  , KC_F9  , KC_F10 ,
        KC_LSFT, LCA(KC_DEL), SWIN(KC_S), XXXXXXX, XXXXXXX,                                XXXXXXX, XXXXXXX, XXXXXXX, KC_F11 , RSFT_T(KC_F12) ,
                                       XXXXXXX, _______, _______,                    _______, KC_BSPC, XXXXXXX
        KC_1   , KC_2       , KC_3      , KC_4   , KC_5         ,                                KC_6   , KC_7   , KC_8   , KC_9   , KC_0   ,
        KC_F1  , KC_F2      , KC_F3     , KC_F4  , KC_F5        ,                                KC_F6  , KC_F7  , KC_F8  , KC_F9  , KC_F10 ,
        KC_LSFT, LCA(KC_DEL), SWIN(KC_S), XXXXXXX, KC_THUMB_SWAP,                                XXXXXXX, XXXXXXX, XXXXXXX, KC_F11 , RSFT_T(KC_F12) ,
                                             XXXXXXX, _______, _______,                    _______, KC_BSPC, XXXXXXX
    ),
};


A keyboards/3w6/keymaps/helltm/rules.mk => keyboards/3w6/keymaps/helltm/rules.mk +2 -0
@@ 0,0 1,2 @@
# Combos
COMBO_ENABLE = yes