[Keyboard] Add handwired Split 5x7 (#18128)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									b719a16b03
								
							
						
					
					
						commit
						56b93a3ad8
					
				
					 17 changed files with 699 additions and 0 deletions
				
			
		
							
								
								
									
										20
									
								
								keyboards/handwired/stef9998/split_5x7/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								keyboards/handwired/stef9998/split_5x7/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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 "config_common.h"
 | 
			
		||||
							
								
								
									
										97
									
								
								keyboards/handwired/stef9998/split_5x7/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								keyboards/handwired/stef9998/split_5x7/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,97 @@
 | 
			
		|||
{
 | 
			
		||||
  "keyboard_name": "Split_5x7",
 | 
			
		||||
  "url": "",
 | 
			
		||||
  "maintainer": "stef9998",
 | 
			
		||||
  "manufacturer": "Stef9998",
 | 
			
		||||
  "usb": {
 | 
			
		||||
    "vid": "0x57EF",
 | 
			
		||||
    "pid": "0x6063",
 | 
			
		||||
    "device_version": "1.0.0"
 | 
			
		||||
  },
 | 
			
		||||
  "layouts": {
 | 
			
		||||
    "LAYOUT": {
 | 
			
		||||
      "layout": [
 | 
			
		||||
        {"label":"Esc", "x":0, "y":0},
 | 
			
		||||
        {"label":"1", "x":1, "y":0},
 | 
			
		||||
        {"label":"2", "x":2, "y":0},
 | 
			
		||||
        {"label":"3", "x":3, "y":0},
 | 
			
		||||
        {"label":"4", "x":4, "y":0},
 | 
			
		||||
        {"label":"5", "x":5, "y":0},
 | 
			
		||||
        {"label":"F1", "x":6, "y":0},
 | 
			
		||||
 | 
			
		||||
        {"label":"Tab", "x":0, "y":1},
 | 
			
		||||
        {"label":"Q", "x":1, "y":1},
 | 
			
		||||
        {"label":"W", "x":2, "y":1},
 | 
			
		||||
        {"label":"E", "x":3, "y":1},
 | 
			
		||||
        {"label":"R", "x":4, "y":1},
 | 
			
		||||
        {"label":"T", "x":5, "y":1},
 | 
			
		||||
        {"label":"[", "x":6, "y":1},
 | 
			
		||||
 | 
			
		||||
        {"label":"Caps Lock", "x":0, "y":2},
 | 
			
		||||
        {"label":"A", "x":1, "y":2},
 | 
			
		||||
        {"label":"S", "x":2, "y":2},
 | 
			
		||||
        {"label":"D", "x":3, "y":2},
 | 
			
		||||
        {"label":"F", "x":4, "y":2},
 | 
			
		||||
        {"label":"G", "x":5, "y":2},
 | 
			
		||||
        {"label":"=", "x":6, "y":2},
 | 
			
		||||
 | 
			
		||||
        {"label":"Shift", "x":0, "y":3},
 | 
			
		||||
        {"label":"Z", "x":1, "y":3},
 | 
			
		||||
        {"label":"X", "x":2, "y":3},
 | 
			
		||||
        {"label":"C", "x":3, "y":3},
 | 
			
		||||
        {"label":"V", "x":4, "y":3},
 | 
			
		||||
        {"label":"B", "x":5, "y":3},
 | 
			
		||||
        {"label":"F3", "x":6, "y":3},
 | 
			
		||||
 | 
			
		||||
        {"label":"Ctrl", "x":0, "y":4},
 | 
			
		||||
        {"label":"Ctrl", "x":1, "y":4},
 | 
			
		||||
        {"label":"Gui", "x":2, "y":4, "w":1.25},
 | 
			
		||||
        {"label":"Alt", "x":3.25, "y":4, "w":1.25},
 | 
			
		||||
        {"label":"Space", "x":4.5, "y":4, "w":1.5},
 | 
			
		||||
        {"label":"F5", "x":6, "y":4},
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        {"label":"F2", "x":14, "y":0},
 | 
			
		||||
        {"label":"6", "x":9, "y":0},
 | 
			
		||||
        {"label":"7", "x":10, "y":0},
 | 
			
		||||
        {"label":"8", "x":11, "y":0},
 | 
			
		||||
        {"label":"9", "x":12, "y":0},
 | 
			
		||||
        {"label":"0", "x":13, "y":0},
 | 
			
		||||
        {"label":"Backspace", "x":14, "y":0},
 | 
			
		||||
 | 
			
		||||
        {"label":"]", "x":8, "y":1},
 | 
			
		||||
        {"label":"Y", "x":9, "y":1},
 | 
			
		||||
        {"label":"U", "x":10, "y":1},
 | 
			
		||||
        {"label":"I", "x":11, "y":1},
 | 
			
		||||
        {"label":"O", "x":12, "y":1},
 | 
			
		||||
        {"label":"P", "x":13, "y":1},
 | 
			
		||||
        {"label":"\\", "x":14, "y":1},
 | 
			
		||||
 | 
			
		||||
        {"label":"-", "x":8, "y":2},
 | 
			
		||||
        {"label":"H", "x":9, "y":2},
 | 
			
		||||
        {"label":"J", "x":10, "y":2},
 | 
			
		||||
        {"label":"K", "x":11, "y":2},
 | 
			
		||||
        {"label":"L", "x":12, "y":2},
 | 
			
		||||
        {"label":";", "x":13, "y":2},
 | 
			
		||||
        {"label":"Enter", "x":14, "y":2},
 | 
			
		||||
 | 
			
		||||
        {"label":"F4", "x":8, "y":3},
 | 
			
		||||
        {"label":"N", "x":9, "y":3},
 | 
			
		||||
        {"label":"M", "x":10, "y":3},
 | 
			
		||||
        {"label":",", "x":11, "y":3},
 | 
			
		||||
        {"label":".", "x":12, "y":3},
 | 
			
		||||
        {"label":"/", "x":13, "y":3},
 | 
			
		||||
        {"label":"Shift", "x":14, "y":3},
 | 
			
		||||
 | 
			
		||||
        {"label":"F5", "x":8, "y":4},
 | 
			
		||||
        {"label":"Space", "x":9, "y":4, "w":1.5},
 | 
			
		||||
        {"label":"AltGr", "x":10.5, "y":4, "w":1.25},
 | 
			
		||||
        {"label":"Fn", "x":11.75, "y":4, "w":1.25},
 | 
			
		||||
        {"label":"Ctrl", "x":13, "y":4},
 | 
			
		||||
        {"label":"Ctrl", "x":13, "y":4}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial, not both */
 | 
			
		||||
// #define USE_SERIAL
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
// #define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
#define EE_HANDS
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,96 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
// 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.
 | 
			
		||||
// You can also skip layer-names entirely and just use numbers.
 | 
			
		||||
enum custom_layer {
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _FN,
 | 
			
		||||
    _SYM, //symbols & numbers
 | 
			
		||||
    _CFG, //config
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    QWERTY = SAFE_RANGE,
 | 
			
		||||
    FN,
 | 
			
		||||
    SYM,
 | 
			
		||||
    CONFIG,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Shortcut to make keymap more readable
 | 
			
		||||
#define KC_FN MO(_FN)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
[_QWERTY] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    QK_GESC ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,KC_NO   ,                          KC_NO   ,KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_BSPC ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    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_BSLS ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    KC_CAPS ,KC_A    ,KC_S    ,KC_D    ,KC_F    ,KC_G    ,KC_EQL  ,                          KC_MINS ,KC_H    ,KC_J    ,KC_K    ,KC_L    ,KC_SCLN ,KC_ENT  ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,SH_OS   ,                          KC_NO   ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    KC_LCTL ,KC_LCPO ,KC_LGUI   ,KC_LALT   ,KC_SPC       ,MO(_SYM),                          MO(_SYM),KC_SPC       ,KC_RALT   ,MO(_FN)   ,KC_RCPC ,KC_RCTL
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_FN] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,                          _______ ,KC_PGUP ,KC_HOME ,KC_UP   ,KC_END  ,KC_PSCR ,XXXXXXX ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_HASH ,KC_DLR  ,KC_LBRC ,KC_RBRC ,KC_GRV  ,_______ ,                          _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,KC_QUOT ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,                          _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_SYM] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    KC_GRV  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_F11  ,                          KC_F12  ,KC_F6   ,KC_F7   ,KC_F8   ,KC_F9   ,KC_F10  ,KC_DEL ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_EXLM ,KC_AT   ,KC_HASH ,KC_DLR  ,KC_PERC ,_______ ,                          _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,_______ ,                          _______ ,KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_MINS ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_MSEL ,KC_MPLY ,XXXXXXX , KC_MPRV, KC_MNXT,_______ ,                          _______ ,KC_MSEL ,KC_MPLY , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    QK_BOOT ,_______ ,_______   ,_______   ,_______      ,TG(_CFG),                          TG(_CFG),_______      ,_______   ,_______   ,_______ ,QK_BOOT
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_CFG] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    TG(_CFG),_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||

 | 
			
		||||
 | 
			
		||||
# Default Layout
 | 
			
		||||
 | 
			
		||||
This is the default layout.
 | 
			
		||||
For the most part it's a straightforward and easy to follow layout.
 | 
			
		||||
The only thing to note is the apostrophe key which is on the second layer under return.
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial, not both */
 | 
			
		||||
//#define USE_SERIAL
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
// #define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
#define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#define LCPO_KEYS KC_LCTL,KC_TRNS,KC_LBRC
 | 
			
		||||
#define RCPC_KEYS KC_RCTL,KC_TRNS,KC_RBRC
 | 
			
		||||
 | 
			
		||||
#define TAPPING_TERM_PER_KEY
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
 | 
			
		||||
							
								
								
									
										188
									
								
								keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,188 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
// 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.
 | 
			
		||||
enum custom_layer {
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _HOMEMOD,
 | 
			
		||||
    _FN,
 | 
			
		||||
    _SYM, //symbols & numbers
 | 
			
		||||
    _SPARE,
 | 
			
		||||
    _CFG, //config
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    QWERTY = SAFE_RANGE,
 | 
			
		||||
    HOMEMOD,
 | 
			
		||||
    FN,
 | 
			
		||||
    SYM,
 | 
			
		||||
    SPARE,
 | 
			
		||||
    CONFIG,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Shortcut to make keymap more readable
 | 
			
		||||
#define KC_FN MO(_FN)
 | 
			
		||||
 | 
			
		||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case KC_LSPO:
 | 
			
		||||
            // Do not force the mod-tap key press to be handled as a modifier
 | 
			
		||||
            // if any other key was pressed while the mod-tap key is held down.
 | 
			
		||||
            return false;
 | 
			
		||||
//        case MT(MOD_LSFT,KC_9):
 | 
			
		||||
//            return false;
 | 
			
		||||
        case KC_RSPC:
 | 
			
		||||
            return false;
 | 
			
		||||
        default:
 | 
			
		||||
            // Force the mod-tap key press to be handled as a modifier if any
 | 
			
		||||
            // other key was pressed while the mod-tap key is held down.
 | 
			
		||||
            return true;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
//    return update_tri_layer_state(state, _ESS, _SYM, _SYM_ESS);
 | 
			
		||||
//}
 | 
			
		||||
 | 
			
		||||
//Modified from default, cause I want CapsLock to still be there even when I swap hands
 | 
			
		||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
{ {0, 5},  {1, 5},  {2, 5},  {3, 5}, {4, 5}, {5, 5}, {6, 5}},
 | 
			
		||||
{ {0, 6},  {1, 6},  {2, 6},  {3, 6}, {4, 6}, {5, 6}, {6, 6}},
 | 
			
		||||
{ {0, 2},  {1, 7},  {2, 7},  {3, 7}, {4, 7}, {5, 7}, {6, 7}}, // caps won't be switched, because of extend
 | 
			
		||||
{ {0, 8},  {1, 8},  {2, 8},  {3, 8}, {4, 8}, {5, 8}, {6, 8}},
 | 
			
		||||
{ {0, 9},  {1, 9},  {2, 9},  {3, 9}, {4, 9}, {5, 9}, {6, 9}},
 | 
			
		||||
 | 
			
		||||
{ {0, 0},  {1, 0},  {2, 0},  {3, 0}, {4, 0}, {5, 0}, {6, 0}},
 | 
			
		||||
{ {0, 1},  {1, 1},  {2, 1},  {3, 1}, {4, 1}, {5, 1}, {6, 1}},
 | 
			
		||||
{ {0, 2},  {1, 2},  {2, 2},  {3, 2}, {4, 2}, {5, 2}, {6, 2}},
 | 
			
		||||
{ {0, 3},  {1, 3},  {2, 3},  {3, 3}, {4, 3}, {5, 3}, {6, 3}},
 | 
			
		||||
{ {0, 4},  {1, 4},  {2, 4},  {3, 4}, {4, 4}, {5, 4}, {6, 4}},
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case SH_T(KC_SPC):
 | 
			
		||||
            return TAPPING_TERM + 300;
 | 
			
		||||
        default:
 | 
			
		||||
            return TAPPING_TERM;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
[_QWERTY] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    QK_GESC ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,KC_NO   ,                          KC_NO   ,KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_BSPC ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    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_BSLS ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    KC_CAPS ,KC_A    ,KC_S    ,KC_D    ,KC_F    ,KC_G    ,KC_EQL  ,                          KC_MINS ,KC_H    ,KC_J    ,KC_K    ,KC_L    ,KC_SCLN ,KC_ENT  ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    KC_LSPO ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,SH_OS   ,                          KC_NO   ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSPC ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    KC_LCTL ,KC_LCPO ,KC_LGUI   ,KC_LALT   ,SH_T(KC_SPC) ,MO(_SYM),                          MO(_SYM),KC_SPC       ,KC_RALT   ,MO(_FN)   ,KC_RCPC ,KC_RCTL
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_HOMEMOD] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
_______ ,_______ ,RALT_T(KC_S),LCTL_T(KC_D),LSFT_T(KC_F),LT(_SYM,KC_G),_______ ,           _______ ,LT(_SYM,KC_H),RSFT_T(KC_J),RCTL_T(KC_K),LALT_T(KC_L),_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    KC_LSFT ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_RSFT ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_FN] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ ,                          _______ ,KC_PGUP ,KC_HOME ,KC_UP   ,KC_END  ,KC_PSCR ,XXXXXXX ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_HASH ,KC_DLR  ,KC_LBRC ,KC_RBRC ,KC_GRV  ,_______ ,                          _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ ,                          _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_SYM] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    KC_GRV  ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_F11  ,                          KC_F12  ,KC_F6   ,KC_F7   ,KC_F8   ,KC_F9   ,KC_F10  ,KC_DEL ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_EXLM ,KC_AT   ,KC_HASH ,KC_DLR  ,KC_PERC ,_______ ,                          _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    CAPSWRD ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,_______ ,                          _______ ,KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_QUOT ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,KC_MSEL ,KC_MPLY ,XXXXXXX ,KC_EQL  ,KC_PLUS ,_______ ,                          _______ ,KC_UNDS ,KC_MINS , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    QK_BOOT ,_______ ,_______   ,_______   ,_______      ,TG(_CFG),                          TG(_CFG),_______      ,_______   ,_______   ,_______ ,QK_BOOT
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_CFG] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    TG(_CFG),_______ ,TG(_HOMEMOD),_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_1    ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
[_SPARE] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    XXXXXXX ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,XXXXXXX ,                          XXXXXXX ,KC_F6   ,KC_F7   ,KC_F8   ,KC_F9   ,KC_F10  ,XXXXXXX ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI ,                          RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,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 ,XXXXXXX      ,XXXXXXX   ,XXXXXXX   ,XXXXXXX ,XXXXXXX
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
[_] = LAYOUT(
 | 
			
		||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐                         ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,                          _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
 | 
			
		||||
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤                         ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
 | 
			
		||||
    _______ ,_______ ,_______   ,_______   ,_______      ,_______ ,                          _______ ,_______      ,_______   ,_______   ,_______ ,_______
 | 
			
		||||
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘                         └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
 | 
			
		||||
),
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||

 | 
			
		||||
 | 
			
		||||
# The keymap I currently use
 | 
			
		||||
Pretty much a default qwerty on a 60%-ish with some function-layers
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
CAPS_WORD_ENABLE = yes
 | 
			
		||||
SWAP_HANDS_ENABLE = yes
 | 
			
		||||
							
								
								
									
										26
									
								
								keyboards/handwired/stef9998/split_5x7/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/handwired/stef9998/split_5x7/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
# Split_5x7
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
A handwired Split keyboard with the unusual layout of 5x7 on either side.
 | 
			
		||||
 | 
			
		||||
3d print files will be made available soon. 
 | 
			
		||||
 | 
			
		||||
* Keyboard Maintainer: [Stefan](https://github.com/stef9998)
 | 
			
		||||
* Hardware Supported: Pro Micro
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make handwired/stef9998/split_5x7/rev1:default
 | 
			
		||||
 | 
			
		||||
Flashing example for left side:
 | 
			
		||||
 | 
			
		||||
    make handwired/stef9998/split_5x7/rev1:default:avrdude-split-left
 | 
			
		||||
 | 
			
		||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
			
		||||
 | 
			
		||||
## Bootloader
 | 
			
		||||
 | 
			
		||||
How to enter the bootloader:
 | 
			
		||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT`.\
 | 
			
		||||
In the default keymap it's accessible by pressing either of the buttons bringing you to layer `_SYM` and then pressing one of the outer Ctrl's.
 | 
			
		||||
							
								
								
									
										58
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,58 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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 "config_common.h"
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#define MATRIX_ROWS 10
 | 
			
		||||
#define MATRIX_COLS 7
 | 
			
		||||
 | 
			
		||||
// wiring of each half
 | 
			
		||||
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
 | 
			
		||||
#define MATRIX_COL_PINS { B2, B6, B1, B3, F7, F5, F6 }
 | 
			
		||||
 | 
			
		||||
#define MATRIX_ROW_PINS_RIGHT { B5, B4, E6, D7, C6 }
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT { F5, F6, F7, B1, B3, B2, B6 }
 | 
			
		||||
 | 
			
		||||
/* COL2ROW or ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
/* Set 0 if debouncing isn't needed */
 | 
			
		||||
#define DEBOUNCE 5
 | 
			
		||||
 | 
			
		||||
/* serial.c configuration for split keyboard */
 | 
			
		||||
#define SOFT_SERIAL_PIN D0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
// #define NO_DEBUG
 | 
			
		||||
 | 
			
		||||
/* disable print */
 | 
			
		||||
// #define NO_PRINT
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
							
								
								
									
										17
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rev1.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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 "split_5x7.h"
 | 
			
		||||
							
								
								
									
										40
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rev1.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rev1.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 stef9998
 | 
			
		||||
 | 
			
		||||
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 "split_5x7.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
  k00, k01, k02, k03, k04, k05, k06,                k07, k08, k09, k10, k11, k12, k13, \
 | 
			
		||||
  k14, k15, k16, k17, k18, k19, k20,                k21, k22, k23, k24, k25, k26, k27, \
 | 
			
		||||
  k28, k29, k30, k31, k32, k33, k34,                k35, k36, k37, k38, k39, k40, k41, \
 | 
			
		||||
  k42, k43, k44, k45, k46, k47, k48,                k49, k50, k51, k52, k53, k54, k55, \
 | 
			
		||||
  k56, k57, k58, k59,      k61, k62,                k63, k64,      k66, k67, k68, k69  \
 | 
			
		||||
) \
 | 
			
		||||
{ \
 | 
			
		||||
    { k00, k01, k02, k03, k04  , k05, k06 }, \
 | 
			
		||||
    { k14, k15, k16, k17, k18  , k19, k20 }, \
 | 
			
		||||
    { k28, k29, k30, k31, k32  , k33, k34 }, \
 | 
			
		||||
    { k42, k43, k44, k45, k46  , k47, k48 }, \
 | 
			
		||||
    { k56, k57, k58, k59, KC_NO, k61, k62 }, \
 | 
			
		||||
    { k13, k12, k11, k10, k09  , k08, k07 }, \
 | 
			
		||||
    { k27, k26, k25, k24, k23  , k22, k21 }, \
 | 
			
		||||
    { k41, k40, k39, k38, k37  , k36, k35 }, \
 | 
			
		||||
    { k55, k54, k53, k52, k51  , k50, k49 }, \
 | 
			
		||||
    { k69, k68, k67, k66, KC_NO, k64, k63 }  \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								keyboards/handwired/stef9998/split_5x7/rev1/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
# Disable unsupported hardware
 | 
			
		||||
AUDIO_SUPPORTED = no
 | 
			
		||||
BACKLIGHT_SUPPORTED = no
 | 
			
		||||
RGBLIGHT_SUPPORTED = no
 | 
			
		||||
							
								
								
									
										22
									
								
								keyboards/handwired/stef9998/split_5x7/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								keyboards/handwired/stef9998/split_5x7/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = atmega32u4
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = caterina
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
 | 
			
		||||
SPLIT_KEYBOARD = yes
 | 
			
		||||
 | 
			
		||||
DEFAULT_FOLDER = handwired/stef9998/split_5x7/rev1
 | 
			
		||||
							
								
								
									
										33
									
								
								keyboards/handwired/stef9998/split_5x7/split_5x7.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								keyboards/handwired/stef9998/split_5x7/split_5x7.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
 | 
			
		||||
 *
 | 
			
		||||
 * 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 "split_5x7.h"
 | 
			
		||||
 | 
			
		||||
#ifdef SWAP_HANDS_ENABLE
 | 
			
		||||
__attribute__ ((weak))
 | 
			
		||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
{{0, 5},  {1, 5},  {2, 5},  {3, 5}, {4, 5}, {5, 5}, {6, 5}},
 | 
			
		||||
{{0, 6},  {1, 6},  {2, 6},  {3, 6}, {4, 6}, {5, 6}, {6, 6}},
 | 
			
		||||
{{0, 7},  {1, 7},  {2, 7},  {3, 7}, {4, 7}, {5, 7}, {6, 7}},
 | 
			
		||||
{{0, 8},  {1, 8},  {2, 8},  {3, 8}, {4, 8}, {5, 8}, {6, 8}},
 | 
			
		||||
{{0, 9},  {1, 9},  {2, 9},  {3, 9}, {4, 9}, {5, 9}, {6, 9}},
 | 
			
		||||
 | 
			
		||||
{{0, 0},  {1, 0},  {2, 0},  {3, 0}, {4, 0}, {5, 0}, {6, 0}},
 | 
			
		||||
{{0, 1},  {1, 1},  {2, 1},  {3, 1}, {4, 1}, {5, 1}, {6, 1}},
 | 
			
		||||
{{0, 2},  {1, 2},  {2, 2},  {3, 2}, {4, 2}, {5, 2}, {6, 2}},
 | 
			
		||||
{{0, 3},  {1, 3},  {2, 3},  {3, 3}, {4, 3}, {5, 3}, {6, 3}},
 | 
			
		||||
{{0, 4},  {1, 4},  {2, 4},  {3, 4}, {4, 4}, {5, 4}, {6, 4}},
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										23
									
								
								keyboards/handwired/stef9998/split_5x7/split_5x7.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/handwired/stef9998/split_5x7/split_5x7.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
#if defined(KEYBOARD_handwired_stef9998_split_5x7_rev1)
 | 
			
		||||
#     include "rev1.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue