forked from mirrors/qmk_userspace
		
	[Keymap] 3w6 helltm keymap (with ascii art) (#15146)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								3491a386da
							
						
					
				
			
			
				commit
				
					
						fa35df0374
					
				
			
		
					 1 changed files with 160 additions and 0 deletions
				
			
		
							
								
								
									
										160
									
								
								keyboards/3w6/keymaps/helltm/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								keyboards/3w6/keymaps/helltm/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,160 @@
 | 
			
		|||
/* 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/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum layers
 | 
			
		||||
{
 | 
			
		||||
    _ALPHA_QWERTY = 0,
 | 
			
		||||
    _SYM,
 | 
			
		||||
    _NAV,
 | 
			
		||||
    _NUM,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    KC_THUMB_SWAP,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Space Enter swap */
 | 
			
		||||
bool swap_space_enter = false;
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
    */
 | 
			
		||||
    [_ALPHA_QWERTY] = LAYOUT(
 | 
			
		||||
        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_SCLN        ,
 | 
			
		||||
        LSFT_T(KC_Z), KC_X   , KC_C   , KC_V   , KC_B   ,                                    KC_N   , KC_M   , KC_COMM, KC_DOT , RSFT_T(KC_SLSH),
 | 
			
		||||
                                LT(_NUM, KC_LGUI), KC_LCTRL, KC_ENT,       KC_SPC, LT(_NAV, KC_BSPC), LT(_SYM, KC_DEL)
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
    * Symbols
 | 
			
		||||
    *              _____                                                   _____
 | 
			
		||||
    *       .-----|  #  |-----._____                           _____.-----|  *  |-----.
 | 
			
		||||
    * .-----|  @  |_____|  $  |  %  |                         |  ^  |  &  |_____|  (  |-----.
 | 
			
		||||
    * |  !  |-----|     |-----|_____|                         |_____|-----| [ { |-----|  )  |
 | 
			
		||||
    * |-----|     |_____|     |     |                         |  {  |  }  |_____| ] } |-----|
 | 
			
		||||
    * | ` ~ |-----|     |-----|_____|                         |_____|-----|     |-----| ' " |
 | 
			
		||||
    * |-----|     |_____|     |     |                         | - _ | = + |_____|  |  |-----|
 | 
			
		||||
    * |  ~  |-----'     '-----|_____|                         |_____|-----'     '-----| \ | |
 | 
			
		||||
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
 | 
			
		||||
    *  SHIFT           |     ||CTRL | /     /         \     \ | BSp ||     |           SHIFT
 | 
			
		||||
    *                  '-----':_____|/ ENT /           \ SPC \|_____:'-----'
 | 
			
		||||
    *                               '--.._/             \_..--'
 | 
			
		||||
    */
 | 
			
		||||
    [_SYM] = LAYOUT(
 | 
			
		||||
        KC_EXLM,         KC_AT  , KC_HASH, KC_DLR , KC_PERC,                                KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN        ,
 | 
			
		||||
        KC_GRV ,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_QUOT        ,
 | 
			
		||||
        LSFT_T(KC_TILD), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                                KC_MINS, KC_EQL , XXXXXXX, KC_PIPE, RSFT_T(KC_BSLS),
 | 
			
		||||
                                        XXXXXXX, _______, _______,                    _______, KC_BSPC, XXXXXXX
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
    * Navigation
 | 
			
		||||
    *              _____                                                   _____
 | 
			
		||||
    *       .-----|Mute |-----._____                           _____.-----| Up  |-----.
 | 
			
		||||
    * .-----|VDown|_____| VUp |     |                         |     |PDown|_____| PUp |-----.
 | 
			
		||||
    * | Esc |-----|Play |-----|_____|                         |_____|-----|Down |-----| BSp |
 | 
			
		||||
    * |-----|Prev |_____|Next |     |                         |Home |Left |_____|Right|-----|
 | 
			
		||||
    * | Tab |-----|Stop |-----|_____|                         |_____|-----|     |-----| ' " |
 | 
			
		||||
    * |-----|     |_____|     |Swap |                         |     |     |_____| End |-----|
 | 
			
		||||
    * | CPS |-----'     '-----|_____|                         |_____|-----'     '-----| Del |
 | 
			
		||||
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
 | 
			
		||||
    *  SHIFT           |     ||CTRL | /     /         \     \ | BSp ||     |           SHIFT
 | 
			
		||||
    *                  '-----':_____|/ ENT /           \ SPC \|_____:'-----'
 | 
			
		||||
    *                               '--.._/             \_..--'
 | 
			
		||||
    */
 | 
			
		||||
    [_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
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
    * Numbers
 | 
			
		||||
    *              _____                                                   _____
 | 
			
		||||
    *       .-----|  3  |-----._____                           _____.-----|  8  |-----.
 | 
			
		||||
    * .-----|  2  |_____|  4  |  5  |                         |  6  |  7  |_____|  9  |-----.
 | 
			
		||||
    * |  1  |-----| F3  |-----|_____|                         |_____|-----| F8  |-----|  0  |
 | 
			
		||||
    * |-----| F2  |_____| F4  | F5  |                         | F6  | F7  |_____| F9  |-----|
 | 
			
		||||
    * | F1  |-----| Scr |-----|_____|                         |_____|-----|     |-----| F10 |
 | 
			
		||||
    * |-----| TMg |_____|     |     |                         |     |     |_____| F11 |-----|
 | 
			
		||||
    * |Shift|-----'     '-----|_____|                         |_____|-----'     '-----| F12 |
 | 
			
		||||
    * '-----'          .-----. _____   .-.._           _..-.   _____ .-----.          '-----'
 | 
			
		||||
    *                  |     ||CTRL | /     /         \     \ | BSp ||     |           SHIFT
 | 
			
		||||
    *                  '-----':_____|/ ENT /           \ SPC \|_____:'-----'
 | 
			
		||||
    *                               '--.._/             \_..--'
 | 
			
		||||
    */
 | 
			
		||||
    [_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
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
 | 
			
		||||
        /* Space Enter swap */
 | 
			
		||||
        case KC_THUMB_SWAP:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                unregister_code(KC_SPC);
 | 
			
		||||
                unregister_code(KC_ENT);
 | 
			
		||||
                swap_space_enter = !swap_space_enter;
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_ENT:
 | 
			
		||||
            if (swap_space_enter) {
 | 
			
		||||
                if (record->event.pressed) {
 | 
			
		||||
                    register_code(KC_SPC);
 | 
			
		||||
                } else {
 | 
			
		||||
                    unregister_code(KC_SPC);
 | 
			
		||||
                }
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        case KC_SPC:
 | 
			
		||||
            if (swap_space_enter) {
 | 
			
		||||
                if (record->event.pressed) {
 | 
			
		||||
                    register_code(KC_ENT);
 | 
			
		||||
                } else {
 | 
			
		||||
                    unregister_code(KC_ENT);
 | 
			
		||||
                }
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue