[Keyboard] Remove the vision_division keyboard (#13571)
This commit is contained in:
		
							parent
							
								
									94065ca64a
								
							
						
					
					
						commit
						677222301e
					
				
					 10 changed files with 0 additions and 956 deletions
				
			
		| 
						 | 
				
			
			@ -1,84 +0,0 @@
 | 
			
		|||
/* Numeric Max / Numeric Normal - Full Grid
 | 
			
		||||
 * .-----------------------------------.       .--------------------------------------------------------------_--------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |   o   |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
//* Numeric Max / Homing Normal - Full Grid
 | 
			
		||||
 * .-----------------------------------.       .--------------------------------------------------------------_--------------------------------------------------------------.       .--------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '--------------------------'
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .--------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |   o   |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '--------------------------'
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
//* Numeric Max / Homing Normal - Traditional
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------.        .-----------------_-----------------.        .-----------------------------------.       .--------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------'        '-----------------------------------'        '-----------------------------------'       '--------------------------'
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .--------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+        |   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       '--------+--------+--------'
 | 
			
		||||
 * |        |        |        |        |   o   |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|                .--------.
 | 
			
		||||
 * |        |        |        |        |       |                 |        |        |        |        |        |        |        |        |        |        |                 |                |        |
 | 
			
		||||
 * |--------+--------+--------+        |       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       .--------+--------+--------.
 | 
			
		||||
 * |                 |        |        |       |        |        |        |        |        |        |                 |        |        |        |        |        |        |       |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '--------------------------'
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Numeric Max / Numeric Normal
 | 
			
		||||
 * .-----------------------------------.       .--------------------------------------------------------------_--------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |     1U / 2U     |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |  1U    |        |        |  1U    |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |  1U    |        |        |  1U    |
 | 
			
		||||
 * |  /     +--------+--------+  /     |   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |  /     +--------+--------+  /     |
 | 
			
		||||
 * |  2U    |        |        |  2U    |   o   |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |                 |       |  2U    |        |        |  2U    |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |     1U / 2U     |       |        |        |        |        |
 | 
			
		||||
 * |        '--------+--------'        |       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |        '--------+--------'        |
 | 
			
		||||
 * |  1U / 2UH / 2UV |  1U / 2UH / 2UV |       |        |        |        |        |        |        |     1U / 2U     |        |        |        |        |        |        |       |  1U / 2UH / 2UV |  1U / 2UH / 2UV |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Numeric Max / Numeric Max
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------_-----------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |        |        |        |        |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 * .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
 * |        |        |        |        |       |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |        |        |     1U / 2U     |       |        |        |        |        |
 | 
			
		||||
 * |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |  1U    |        |        |  1U    |       |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |       |  1U    |        |        |  1U    |
 | 
			
		||||
 * |  /     +--------+--------+  /     |   o   |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |  /     +--------+--------+  /     |
 | 
			
		||||
 * |  2U    |        |        |  2U    |   o   |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |        |        |                 |       |  2U    |        |        |  2U    |
 | 
			
		||||
 * |--------+--------+--------+--------|   o   |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|       |--------+--------+--------+--------|
 | 
			
		||||
 * |        |        |        |        |       |     1U / 2U     |        |        |        |        |        |        |        |        |        |        |        |        |     1U / 2U     |       |        |        |        |        |
 | 
			
		||||
 * |        '--------+--------'        |       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |        '--------+--------'        |
 | 
			
		||||
 * |  1U / 2UH / 2UV |  1U / 2UH / 2UV |       |        |        |        |        |        |        |     1U / 2U     |     1U / 2U     |        |        |        |        |        |        |       |  1U / 2UH / 2UV |  1U / 2UH / 2UV |
 | 
			
		||||
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -1,141 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
			
		||||
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef CONFIG_H
 | 
			
		||||
#define CONFIG_H
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
 | 
			
		||||
// Due to the configurability of this keyboard, matrix sizes are determined in the keymap's config.h
 | 
			
		||||
 | 
			
		||||
/* COL2ROW or ROW2COL */
 | 
			
		||||
#define DIODE_DIRECTION ROW2COL
 | 
			
		||||
 | 
			
		||||
#define BACKLIGHT_PIN B7
 | 
			
		||||
#define BACKLIGHT_BREATHING
 | 
			
		||||
#define BACKLIGHT_LEVELS 3
 | 
			
		||||
 | 
			
		||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
			
		||||
#define DEBOUNCE 0
 | 
			
		||||
 | 
			
		||||
#define MATRIX_MASKED
 | 
			
		||||
 | 
			
		||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
 | 
			
		||||
//#define MATRIX_HAS_GHOST
 | 
			
		||||
 | 
			
		||||
/* number of backlight levels */
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Force NKRO
 | 
			
		||||
 *
 | 
			
		||||
 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
 | 
			
		||||
 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
 | 
			
		||||
 * makefile for this to work.)
 | 
			
		||||
 *
 | 
			
		||||
 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
 | 
			
		||||
 * until the next keyboard reset.
 | 
			
		||||
 *
 | 
			
		||||
 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
 | 
			
		||||
 * fully operational during normal computer usage.
 | 
			
		||||
 *
 | 
			
		||||
 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
 | 
			
		||||
 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
 | 
			
		||||
 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
 | 
			
		||||
 * power-up.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
//#define FORCE_NKRO
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Magic Key Options
 | 
			
		||||
 *
 | 
			
		||||
 * Magic keys are hotkey commands that allow control over firmware functions of
 | 
			
		||||
 * the keyboard. They are best used in combination with the HID Listen program,
 | 
			
		||||
 * found here: https://www.pjrc.com/teensy/hid_listen.html
 | 
			
		||||
 *
 | 
			
		||||
 * The options below allow the magic key functionality to be changed. This is
 | 
			
		||||
 * useful if your keyboard/keypad is missing keys and you want magic key support.
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* control how magic key switches layers */
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
 | 
			
		||||
 | 
			
		||||
/* override magic key keymap */
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
 | 
			
		||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
 | 
			
		||||
//#define MAGIC_KEY_HELP1          H
 | 
			
		||||
//#define MAGIC_KEY_HELP2          SLASH
 | 
			
		||||
//#define MAGIC_KEY_DEBUG          D
 | 
			
		||||
//#define MAGIC_KEY_DEBUG_MATRIX   X
 | 
			
		||||
//#define MAGIC_KEY_DEBUG_KBD      K
 | 
			
		||||
//#define MAGIC_KEY_DEBUG_MOUSE    M
 | 
			
		||||
//#define MAGIC_KEY_VERSION        V
 | 
			
		||||
//#define MAGIC_KEY_STATUS         S
 | 
			
		||||
//#define MAGIC_KEY_CONSOLE        C
 | 
			
		||||
//#define MAGIC_KEY_LAYER0_ALT1    ESC
 | 
			
		||||
//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
 | 
			
		||||
//#define MAGIC_KEY_LAYER0         0
 | 
			
		||||
//#define MAGIC_KEY_LAYER1         1
 | 
			
		||||
//#define MAGIC_KEY_LAYER2         2
 | 
			
		||||
//#define MAGIC_KEY_LAYER3         3
 | 
			
		||||
//#define MAGIC_KEY_LAYER4         4
 | 
			
		||||
//#define MAGIC_KEY_LAYER5         5
 | 
			
		||||
//#define MAGIC_KEY_LAYER6         6
 | 
			
		||||
//#define MAGIC_KEY_LAYER7         7
 | 
			
		||||
//#define MAGIC_KEY_LAYER8         8
 | 
			
		||||
//#define MAGIC_KEY_LAYER9         9
 | 
			
		||||
//#define MAGIC_KEY_BOOTLOADER     PAUSE
 | 
			
		||||
//#define MAGIC_KEY_LOCK           CAPS
 | 
			
		||||
//#define MAGIC_KEY_EEPROM         E
 | 
			
		||||
//#define MAGIC_KEY_NKRO           N
 | 
			
		||||
//#define MAGIC_KEY_SLEEP_LED      Z
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
// #ifndef NO_DEBUG
 | 
			
		||||
// #  define NO_DEBUG
 | 
			
		||||
// #endif
 | 
			
		||||
 | 
			
		||||
/* disable print */
 | 
			
		||||
// #ifndef NO_PRINT
 | 
			
		||||
// #  define NO_PRINT
 | 
			
		||||
// #endif
 | 
			
		||||
 | 
			
		||||
/* Only print user print statements */
 | 
			
		||||
// #define USER_PRINT
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
//#define NO_ACTION_MACRO
 | 
			
		||||
//#define NO_ACTION_FUNCTION
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,77 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
// place overrides here
 | 
			
		||||
 | 
			
		||||
#include "matrix_types.h"
 | 
			
		||||
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID       0xFEED
 | 
			
		||||
#define DEVICE_VER      0x0001
 | 
			
		||||
#define MANUFACTURER    IBNobody
 | 
			
		||||
 | 
			
		||||
#define MATRIX_ROWS     6
 | 
			
		||||
#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
 | 
			
		||||
 | 
			
		||||
// !!! MAKE SURE THAT THE LEFT/RIGHT PCB DEFINES MATCH ON ALL OF THESE COLUMNS
 | 
			
		||||
 | 
			
		||||
//                                               **LEFT**                 **RIGHT**
 | 
			
		||||
#define PRODUCT_ID      GET_PID(                 NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
			
		||||
#define MATRIX_COLS     GET_MATRIX_COLS(         NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
			
		||||
#define MATRIX_COL_PINS GET_MATRIX_COL_PINS(     NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY)
 | 
			
		||||
 | 
			
		||||
#define LAYOUT(MATRIX_LAYER, \
 | 
			
		||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A,               k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
			
		||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A,               k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
			
		||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A,               k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
			
		||||
      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A,               k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
			
		||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A,               k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
			
		||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A,               k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_MASTER(MATRIX_LAYER,                      NUMERIC_NORMAL,          NUMERIC_MAX_TEENSY, \
 | 
			
		||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
			
		||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
			
		||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
			
		||||
      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
			
		||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
			
		||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Example Keymap Macros
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#define LAYOUT(MATRIX_LAYER, \
 | 
			
		||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
			
		||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
			
		||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
			
		||||
      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
			
		||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C, \
 | 
			
		||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B, k61C  \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_MASTER(MATRIX_LAYER,                      NUMERIC_MAX_TEENSY,      NUMERIC_MAX, \
 | 
			
		||||
      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
 | 
			
		||||
      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
 | 
			
		||||
      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
 | 
			
		||||
      k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
 | 
			
		||||
      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
 | 
			
		||||
      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C  \
 | 
			
		||||
)
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#define LAYOUT(MATRIX_LAYER, \
 | 
			
		||||
      k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, \
 | 
			
		||||
      k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, \
 | 
			
		||||
      k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, \
 | 
			
		||||
      k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, \
 | 
			
		||||
      k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, \
 | 
			
		||||
      k601, k602, k603, k604,       k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618,       k619, k61A, k61B  \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_MASTER(MATRIX_LAYER,                      NUMERIC_NORMAL,          HOMING_MAX_TEENSY, \
 | 
			
		||||
      k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \
 | 
			
		||||
      k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \
 | 
			
		||||
      k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \
 | 
			
		||||
      k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, KC_NO, \
 | 
			
		||||
      k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \
 | 
			
		||||
      k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO  \
 | 
			
		||||
)
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -1,367 +0,0 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
#include "led.h"
 | 
			
		||||
 | 
			
		||||
enum keyboard_layers {
 | 
			
		||||
  LAYER_QWERTY = 0,
 | 
			
		||||
  LAYER_UPPER,
 | 
			
		||||
  LAYER_LOWER,
 | 
			
		||||
  LAYER_FUNCTION,
 | 
			
		||||
  LAYER_MOUSE,
 | 
			
		||||
  LAYER_ADJUST,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  M_CP_CT = SAFE_RANGE,
 | 
			
		||||
  M_UPPER,
 | 
			
		||||
  M_LOWER,
 | 
			
		||||
  M_MOUSE,
 | 
			
		||||
  TIMBR_1,
 | 
			
		||||
  TIMBR_2,
 | 
			
		||||
  TIMBR_3,
 | 
			
		||||
  TIMBR_4,
 | 
			
		||||
  TMPO_UP,
 | 
			
		||||
  TMPO_DN,
 | 
			
		||||
  TMPO_DF
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SC_UNDO             LCTL(KC_Z)
 | 
			
		||||
#define SC_REDO             LCTL(KC_Y)
 | 
			
		||||
#define SC_CUT              LCTL(KC_X)
 | 
			
		||||
#define SC_COPY             LCTL(KC_C)
 | 
			
		||||
#define SC_PSTE             LCTL(KC_V)
 | 
			
		||||
#define SC_SELA             LCTL(KC_A)
 | 
			
		||||
#define SC_SAVE             LCTL(KC_S)
 | 
			
		||||
#define SC_OPEN             LCTL(KC_O)
 | 
			
		||||
#define SC_ACLS             LALT(KC_F4)
 | 
			
		||||
#define SC_CCLS             LCTL(KC_F4)
 | 
			
		||||
 | 
			
		||||
#define OS_SHFT             OSM(MOD_LSFT)
 | 
			
		||||
 | 
			
		||||
#define ________________    _______, _______
 | 
			
		||||
#define XXXXXXXXXXXXXXXX    XXXXXXX, XXXXXXX
 | 
			
		||||
 | 
			
		||||
const matrix_row_t matrix_mask[MATRIX_ROWS] =
 | 
			
		||||
{
 | 
			
		||||
//  1098765432109876543210987654321
 | 
			
		||||
  0b0000000001111111101111011111111,
 | 
			
		||||
  0b0000000001111111111111111111111,
 | 
			
		||||
  0b0000000001111111111111111111111,
 | 
			
		||||
  0b0000000001111111111111111111111,
 | 
			
		||||
  0b0000000001010111111111111111111,
 | 
			
		||||
  0b0000000001111101111111101011111,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
 | 
			
		||||
{
 | 
			
		||||
/* LAYER = LAYER_QWERTY
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | VOL DN | MUTE   | VOL UP | BACKLT |       | F1     | F2     | F3     | F4     | XXXXXX | F5     | F6     | F7     | F8     | XXXXXX | F9     | F10    | F11    | F12    |       | PRINT  | SCR LK | PAUSE  | FN     |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | NUM LK | KP /   | KP *   | KP -   |       | ESC    | `      | 1      | 2      | 3      | 4      | 5      | 6      | 7      | 8      | 9      | 0      | =      | BACKSP |       | INS    | HOME   | PG UP  | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | KP 7   | KP 8   | KP 9   | KP +   |       | TAB    | TAB    | Q      | W      | E      | R      | T      | Y      | U      | I      | O      | P      | -      | \      |       | DEL    | END    | PG DN  | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | KP 4   | KP 5   | KP 6   | KP +   |       | CAP LK | BACKSP | A      | S      | D      | F      | G      | H      | J      | K      | L      | ;      | '      | ENTER  |   o   | CP/CT  | UNDO   | PASTE  | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | KP 1   | KP 2   | KP 3   | KP Ent |       | LSHIFT | LSHIFT | Z      | X      | C      | V      | B      | N      | M      | ,      | .      | /      | RSHIFT | RSHIFT |       | XXXXXX | UP     | XXXXXX | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | KP 0   | KP ,   | KP .   | KP Ent |       | LCTRL  | XXXXXX | LWIN   | XXXXXX | LALT   | UPPER  | SPACE  . SPACE  | LOWER  | OSHIFT | RALT   | APP    | XXXXXX | RCTRL  |       | LEFT   | DOWN   | RIGHT  | XXXXXX |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
*/
 | 
			
		||||
KEYMAP(LAYER_QWERTY, \
 | 
			
		||||
    KC_VOLD, KC_MUTE, KC_VOLU, BL_STEP,         KC_F1  , KC_F2  , KC_F3  , KC_F4  , XXXXXXX, KC_F5  , KC_F6  , KC_F7  , KC_F8  , XXXXXXX, KC_F9  , KC_F10 , KC_F11 , KC_F12 ,         KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX , \
 | 
			
		||||
    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,         KC_ESC , KC_GRV , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   , KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_EQL , KC_BSPC,         KC_INS , KC_HOME, KC_PGUP, XXXXXXX , \
 | 
			
		||||
    KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS,         KC_TAB , KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_MINS, KC_BSLS,         KC_DEL , KC_END , KC_PGDN, XXXXXXX , \
 | 
			
		||||
    KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS,         KC_CAPS, KC_BSPC, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT, KC_ENT ,         M_CP_CT, SC_UNDO, SC_PSTE, XXXXXXX , \
 | 
			
		||||
    KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT,         KC_LSFT, 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_RSFT,         XXXXXXX, KC_UP  , XXXXXXX, XXXXXXX , \
 | 
			
		||||
    KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT,         KC_LCTL, XXXXXXX, KC_LGUI, XXXXXXX, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL,         KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX   \
 | 
			
		||||
),
 | 
			
		||||
/* LAYER = LAYER_LOWER
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | F13    | F14    | F15    | F16    | XXXXXX | F17    | F18    | F19    | F20    | XXXXXX | F21    | F22    | F23    | F24    |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | $      | {      | [      | (      | %      | #      | )      | ]      | }      | @      | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ^      | *      | +      | -      | /      | \      | _      | '      | "      | `      | ______ | ______ |   o   | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | |      | &      | !      | ~      | ;      | :      | =      | <      | >      | ?      | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER  | ______ | ______ | ______ | XXXXXX | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
*/
 | 
			
		||||
KEYMAP(LAYER_LOWER, \
 | 
			
		||||
    _______, _______, _______, _______,         KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 ,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT  , _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT  , KC_GT  , KC_QUES, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______,         _______, _______, _______, _______  \
 | 
			
		||||
),
 | 
			
		||||
/* LAYER = LAYER_UPPER
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | F13    | F14    | F15    | F16    | XXXXXX | F17    | F18    | F19    | F20    | XXXXXX | F21    | F22    | F23    | F24    |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | F1     | F2     | F3     | F4     | NUM LK | KP /   | KP 7   | KP 8   | KP 9   | KP -   | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | F5     | F6     | F7     | F8     | CAP LK | KP *   | KP 4   | KP 5   | KP 6   | KP +   | ______ | ______ |   o   | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | F9     | F10    | F11    | F12    | SCR LK | KP 0   | KP 1   | KP 2   | KP 3   | KP Ent | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | UPPER  | KP 0   . KP 0   | ______ | RALT   | KP .   | KP Ent | XXXXXX | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
*/
 | 
			
		||||
KEYMAP(LAYER_UPPER, \
 | 
			
		||||
    _______, _______, _______, _______,         KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 ,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_F5  , KC_F6  , KC_F7  , KC_F8  , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, KC_F9  , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______,         _______, _______, _______, _______  \
 | 
			
		||||
),
 | 
			
		||||
/* LAYER = LAYER_MOUSE
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | MS AC0 | MS WHU | MS AC2 | MS BT1 |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | MS WHL | MS WHD | MS WHU | MS BT2 |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |   o   | MS BT1 | MS BT2 | MS BT3 | MS BT3 |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | XXXXXX | MS U   | XXXXXX | MS BT4 |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | ______ | ______ | ______ | ______ |       | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ |       | MS L   | MS D   | MS R   | MS BT5 |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
*/
 | 
			
		||||
KEYMAP(LAYER_MOUSE, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         _______, _______, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         KC_ACL0, KC_WH_U, KC_ACL2, KC_BTN1, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         KC_WH_L, KC_WH_D, KC_WH_U, KC_BTN2, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN3, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         XXXXXXX, KC_MS_U, XXXXXXX, KC_BTN4, \
 | 
			
		||||
    _______, _______, _______, _______,         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,         KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5  \
 | 
			
		||||
),
 | 
			
		||||
/* LAYER = LAYER_ADJUST
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | VOICE- | AUDIO  | VOICE+ | MUSIC  |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
  .-----------------------------------.       .-----------------------------------------------------------------------------------------------------------------------------.       .-----------------------------------.
 | 
			
		||||
  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |   o   | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|   o   |--------|--------|--------+--------|
 | 
			
		||||
  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | RESET  | XXXXXX | MOUSE  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  |--------+--------+--------+--------|       |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|       |--------|--------|--------+--------|
 | 
			
		||||
  | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER  | XXXXXX . XXXXXX | LOWER  | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX |       | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
 | 
			
		||||
  '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 | 
			
		||||
*/
 | 
			
		||||
KEYMAP(LAYER_ADJUST, \
 | 
			
		||||
    MUV_DE , AU_TOG , MUV_IN , MU_TOG ,         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, 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, XXXXXXX, XXXXXXX, \
 | 
			
		||||
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET  , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
			
		||||
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,         XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX  \
 | 
			
		||||
),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
float tone_my_startup[][2] = SONG(ODE_TO_JOY);
 | 
			
		||||
float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
 | 
			
		||||
 | 
			
		||||
float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
 | 
			
		||||
float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
 | 
			
		||||
float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
 | 
			
		||||
 | 
			
		||||
float tone_audio_on[][2]   = SONG(CLOSE_ENCOUNTERS_5_NOTE);
 | 
			
		||||
float tone_music_on[][2]   = SONG(DOE_A_DEER);
 | 
			
		||||
float music_scale[][2]     = SONG(MUSIC_SCALE_SOUND);
 | 
			
		||||
 | 
			
		||||
float tone_caps_on[][2]    = SONG(CAPS_LOCK_ON_SOUND);
 | 
			
		||||
float tone_caps_off[][2]   = SONG(CAPS_LOCK_OFF_SOUND);
 | 
			
		||||
float tone_numlk_on[][2]   = SONG(NUM_LOCK_ON_SOUND);
 | 
			
		||||
float tone_numlk_off[][2]  = SONG(NUM_LOCK_OFF_SOUND);
 | 
			
		||||
float tone_scroll_on[][2]  = SONG(SCROLL_LOCK_ON_SOUND);
 | 
			
		||||
float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
 | 
			
		||||
 | 
			
		||||
#endif /* AUDIO_ENABLE */
 | 
			
		||||
 | 
			
		||||
void persistent_default_layer_set(uint16_t default_layer)
 | 
			
		||||
{
 | 
			
		||||
  eeconfig_update_default_layer(default_layer);
 | 
			
		||||
  default_layer_set(default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch(keycode) {
 | 
			
		||||
    case M_CP_CT:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            register_code(KC_LCTL);
 | 
			
		||||
            if (record->tap.count == 1) {
 | 
			
		||||
                register_code(KC_C);
 | 
			
		||||
                unregister_code(KC_C);
 | 
			
		||||
            } else if (record->tap.count == 2) {
 | 
			
		||||
                register_code(KC_X);
 | 
			
		||||
                unregister_code(KC_X);
 | 
			
		||||
            }
 | 
			
		||||
            unregister_code(KC_LCTL);
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
 | 
			
		||||
  case M_UPPER:
 | 
			
		||||
    if (record->event.pressed) {
 | 
			
		||||
      layer_on(LAYER_UPPER);
 | 
			
		||||
      breathing_period_set(2);
 | 
			
		||||
      breathing_pulse();
 | 
			
		||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
			
		||||
    } else {
 | 
			
		||||
      layer_off(LAYER_UPPER);
 | 
			
		||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
 | 
			
		||||
  case M_LOWER:
 | 
			
		||||
    if (record->event.pressed) {
 | 
			
		||||
      layer_on(LAYER_LOWER);
 | 
			
		||||
      breathing_period_set(2);
 | 
			
		||||
      breathing_pulse();
 | 
			
		||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
			
		||||
    } else {
 | 
			
		||||
      layer_off(LAYER_LOWER);
 | 
			
		||||
      update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
 | 
			
		||||
#ifdef MOUSEKEY_ENABLE
 | 
			
		||||
  case M_MOUSE:
 | 
			
		||||
    if (record->event.pressed) {
 | 
			
		||||
      layer_invert(LAYER_MOUSE);
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
#endif /* MOUSEKEY_ENABLE */
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
  case TIMBR_1:
 | 
			
		||||
    if (record->event.pressed) set_timbre(TIMBRE_12);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TIMBR_2:
 | 
			
		||||
    if (record->event.pressed) set_timbre(TIMBRE_25);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TIMBR_3:
 | 
			
		||||
    if (record->event.pressed) set_timbre(TIMBRE_50);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TIMBR_4:
 | 
			
		||||
    if (record->event.pressed) set_timbre(TIMBRE_75);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TMPO_UP:
 | 
			
		||||
    if (record->event.pressed) increase_tempo(10);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TMPO_DN:
 | 
			
		||||
    if (record->event.pressed) decrease_tempo(10);
 | 
			
		||||
    return false;
 | 
			
		||||
  case TMPO_DF:
 | 
			
		||||
    if (record->event.pressed) {
 | 
			
		||||
      set_timbre(TIMBRE_DEFAULT);
 | 
			
		||||
      set_tempo(TEMPO_DEFAULT);
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
#endif /* AUDIO_ENABLE */
 | 
			
		||||
 | 
			
		||||
  default:
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
void matrix_init_user(void)
 | 
			
		||||
{
 | 
			
		||||
  set_voice(default_voice);
 | 
			
		||||
  startup_user();
 | 
			
		||||
  println("Matrix Init");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void led_set_user(uint8_t usb_led)
 | 
			
		||||
{
 | 
			
		||||
  static uint8_t old_usb_led = 0;
 | 
			
		||||
 | 
			
		||||
  _delay_ms(10); // gets rid of tick
 | 
			
		||||
 | 
			
		||||
  if (!is_playing_notes())
 | 
			
		||||
  {
 | 
			
		||||
    if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If CAPS LK LED is turning on...
 | 
			
		||||
      PLAY_SONG(tone_caps_on);
 | 
			
		||||
    }
 | 
			
		||||
    else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If CAPS LK LED is turning off...
 | 
			
		||||
      PLAY_SONG(tone_caps_off);
 | 
			
		||||
    }
 | 
			
		||||
    else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If NUM LK LED is turning on...
 | 
			
		||||
      PLAY_SONG(tone_numlk_on);
 | 
			
		||||
    }
 | 
			
		||||
    else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If NUM LED is turning off...
 | 
			
		||||
      PLAY_SONG(tone_numlk_off);
 | 
			
		||||
    }
 | 
			
		||||
    else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If SCROLL LK LED is turning on...
 | 
			
		||||
      PLAY_SONG(tone_scroll_on);
 | 
			
		||||
    }
 | 
			
		||||
    else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
 | 
			
		||||
    {
 | 
			
		||||
      // If SCROLL LED is turning off...
 | 
			
		||||
      PLAY_SONG(tone_scroll_off);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  old_usb_led = usb_led;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void startup_user()
 | 
			
		||||
{
 | 
			
		||||
  _delay_ms(10); // gets rid of tick
 | 
			
		||||
  // PLAY_SONG(tone_my_startup);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void shutdown_user()
 | 
			
		||||
{
 | 
			
		||||
  // PLAY_SONG(tone_my_goodbye);
 | 
			
		||||
  _delay_ms(2000);
 | 
			
		||||
  stop_all_notes();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void audio_on_user(void)
 | 
			
		||||
{
 | 
			
		||||
  PLAY_SONG(tone_audio_on);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void music_on_user(void)
 | 
			
		||||
{
 | 
			
		||||
  PLAY_SONG(tone_music_on);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void music_scale_user(void)
 | 
			
		||||
{
 | 
			
		||||
  PLAY_SONG(music_scale);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif /* AUDIO_ENABLE */
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# The default keymap for vision_division
 | 
			
		||||
| 
						 | 
				
			
			@ -1,168 +0,0 @@
 | 
			
		|||
#ifndef MATRIX_TYPES_H
 | 
			
		||||
#define MATRIX_TYPES_H
 | 
			
		||||
 | 
			
		||||
// Because the vision/division keyboard allows for multiple PCB configurations, the configuration
 | 
			
		||||
// can get tricky. The PCB itself has 12 columns, but to achieve a full sized 14-column keyboard
 | 
			
		||||
// with a 4-column numeric pad on the left and a 3-column homing key cluster on the right, the
 | 
			
		||||
// right PCB must have its rightmost column cut off. Also either the rightmost two columns on the
 | 
			
		||||
// left PCB or the leftmost two columns on the right PCB need to be cut away.
 | 
			
		||||
//
 | 
			
		||||
//                          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 | 
			
		||||
// Left Numeric Max       = 1 2 3 4 _ 5 6 7 8 9 0 A B C
 | 
			
		||||
// Left Homing Max        =   2 3 4 _ 5 6 7 8 9 0 A B C
 | 
			
		||||
// Left Numeric Extended  = 1 2 3 4 _ 5 6 7 8 9 0 A B
 | 
			
		||||
// Left Homing Extended   =   2 3 4 _ 5 6 7 8 9 0 A B
 | 
			
		||||
// Left Numeric Normal    = 1 2 3 4 _ 5 6 7 8 9 0 A
 | 
			
		||||
// Left Homing Normal     =   2 3 4 _ 5 6 7 8 9 0 A
 | 
			
		||||
// Right Numeric Max      =                             1 2 3 4 5 6 7 8 _ 9 A B C
 | 
			
		||||
// Right Homing Max       =                             1 2 3 4 5 6 7 8 _ 9 A B
 | 
			
		||||
// Right Numeric Extended =                               2 3 4 5 6 7 8 _ 9 A B C
 | 
			
		||||
// Right Homing Extended  =                               2 3 4 5 6 7 8 _ 9 A B
 | 
			
		||||
// Right Numeric Normal   =                                 3 4 5 6 7 8 _ 9 A B C
 | 
			
		||||
// Right Homing Normal    =                                 3 4 5 6 7 8 _ 9 A B
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// A full keyboard would look like this:
 | 
			
		||||
//
 | 
			
		||||
// _Left_Numeric_Max__________|_Right_Homing_Normal
 | 
			
		||||
// 1 2 3 4 _ 5 6 7 8 9 0 A B C|3 4 5 6 7 8 _ 9 A B
 | 
			
		||||
//
 | 
			
		||||
// The ideal full keyboard would use a normal and max rather than two extended because the max
 | 
			
		||||
// size allows for a centered 2U space key.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define MATRIX_TYPE_ABSENT                      0
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_MAX                 1
 | 
			
		||||
#define MATRIX_TYPE_HOMING_MAX                  2
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_EXTENDED            3
 | 
			
		||||
#define MATRIX_TYPE_HOMING_EXTENDED             4
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_NORMAL              5
 | 
			
		||||
#define MATRIX_TYPE_HOMING_NORMAL               6
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_MAX_TEENSY          7
 | 
			
		||||
#define MATRIX_TYPE_HOMING_MAX_TEENSY           8
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_EXTENDED_TEENSY     9
 | 
			
		||||
#define MATRIX_TYPE_HOMING_EXTENDED_TEENSY      10
 | 
			
		||||
#define MATRIX_TYPE_NUMERIC_NORMAL_TEENSY       11
 | 
			
		||||
#define MATRIX_TYPE_HOMING_NORMAL_TEENSY        12
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Column Length
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COLS_ABSENT                       0
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_MAX                 12
 | 
			
		||||
#define MATRIX_COLS_HOMING_MAX                  11
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_EXTENDED            11
 | 
			
		||||
#define MATRIX_COLS_HOMING_EXTENDED             10
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_NORMAL              10
 | 
			
		||||
#define MATRIX_COLS_HOMING_NORMAL                9
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_MAX_TEENSY          12
 | 
			
		||||
#define MATRIX_COLS_HOMING_MAX_TEENSY           11
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_EXTENDED_TEENSY     11
 | 
			
		||||
#define MATRIX_COLS_HOMING_EXTENDED_TEENSY      10
 | 
			
		||||
#define MATRIX_COLS_NUMERIC_NORMAL_TEENSY       10
 | 
			
		||||
#define MATRIX_COLS_HOMING_NORMAL_TEENSY         9
 | 
			
		||||
 | 
			
		||||
// Left PCB Pin assignments
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_ABSENT
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_MAX                 C7, C5, C4, A7, A3, A6, A2, A5, A1, A0, A4, E6
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_MAX                      C5, C4, A7, A3, A6, A2, A5, A1, A0, A4, E6
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_EXTENDED            C7, C5, C4, A7, A3, A6, A2, A5, A1, A0, A4
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_EXTENDED                 C5, C4, A7, A3, A6, A2, A5, A1, A0, A4
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_NORMAL              C7, C5, C4, A7, A3, A6, A2, A5, A1, A0
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_NORMAL                   C5, C4, A7, A3, A6, A2, A5, A1, A0
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_MAX_TEENSY          C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_MAX_TEENSY               C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_EXTENDED_TEENSY     C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_EXTENDED_TEENSY          C0, E1, E0, F3, F2, F1, F0, B0, B1, B2
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_NUMERIC_NORMAL_TEENSY       C1, C0, E1, E0, F3, F2, F1, F0, B0, B1
 | 
			
		||||
#define MATRIX_COL_PINS_LEFT_HOMING_NORMAL_TEENSY            C0, E1, E0, F3, F2, F1, F0, B0, B1
 | 
			
		||||
 | 
			
		||||
// Right PCB Pin assignments
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_ABSENT
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_MAX                 E6, A4, A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_MAX                  E6, A4, A0, A1, A5, A2, A6, A3, A7, C4, C5
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_EXTENDED                A4, A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_EXTENDED                 A4, A0, A1, A5, A2, A6, A3, A7, C4, C5
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_NORMAL                      A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_NORMAL                       A0, A1, A5, A2, A6, A3, A7, C4, C5
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_MAX_TEENSY          B3, B2, B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_MAX_TEENSY           B3, B2, B1, B0, F0, F1, F2, F3, E0, E1, C0
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_EXTENDED_TEENSY         B2, B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_EXTENDED_TEENSY          B2, B1, B0, F0, F1, F2, F3, E0, E1, C0
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_NUMERIC_NORMAL_TEENSY               B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT_HOMING_NORMAL_TEENSY                B1, B0, F0, F1, F2, F3, E0, E1, C0
 | 
			
		||||
 | 
			
		||||
// Fetch Macros
 | 
			
		||||
 | 
			
		||||
#define GET_PID(LEFT_TYPE, RIGHT_TYPE) ( ( ( MATRIX_TYPE_ ## LEFT_TYPE ) << 8 ) + ( MATRIX_TYPE_ ## RIGHT_TYPE ) )
 | 
			
		||||
#define GET_MATRIX_COL(TYPE) MATRIX_COLS_ ## TYPE
 | 
			
		||||
#define GET_MATRIX_COLS(LEFT_TYPE, RIGHT_TYPE) ( ( GET_MATRIX_COL(LEFT_TYPE) ) + ( GET_MATRIX_COL(RIGHT_TYPE) ) )
 | 
			
		||||
#define GET_MATRIX_COL_PINS(LEFT_TYPE, RIGHT_TYPE) { MATRIX_COL_PINS_LEFT_ ## LEFT_TYPE, MATRIX_COL_PINS_RIGHT_ ## RIGHT_TYPE }
 | 
			
		||||
 | 
			
		||||
// Specialized Row Macros
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ROW_LEFT_ABSENT(                   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_MAX(              k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_MAX(               k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_EXTENDED(         k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_EXTENDED(          k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_NORMAL(           k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_NORMAL(            k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_MAX_TEENSY(       k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_MAX_TEENSY(        k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_EXTENDED_TEENSY(  k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_EXTENDED_TEENSY(   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_LEFT_NUMERIC_NORMAL_TEENSY(    k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A
 | 
			
		||||
#define LAYOUT_ROW_LEFT_HOMING_NORMAL_TEENSY(     k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_ABSENT(                  k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_MAX(             k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_MAX(              k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_EXTENDED(        k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_EXTENDED(         k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_NORMAL(          k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)             k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_NORMAL(           k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)             k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_MAX_TEENSY(      k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_MAX_TEENSY(       k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_EXTENDED_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_EXTENDED_TEENSY(  k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)        k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_NUMERIC_NORMAL_TEENSY(   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)             k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
 | 
			
		||||
#define LAYOUT_ROW_RIGHT_HOMING_NORMAL_TEENSY(    k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)             k03, k04, k05, k06, k07, k08, k09, k0A, k0B
 | 
			
		||||
 | 
			
		||||
// Changable Row Macro
 | 
			
		||||
 | 
			
		||||
#define _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, \
 | 
			
		||||
  k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_ROW_LEFT_ ## _LEFT_TYPE(   k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C ), \
 | 
			
		||||
LAYOUT_ROW_RIGHT_ ## _RIGHT_TYPE( k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C )
 | 
			
		||||
 | 
			
		||||
// Changable Master Macro
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_MASTER(_MATRIX_LAYER, _LEFT_TYPE, _RIGHT_TYPE, \
 | 
			
		||||
                                            k001, k002, k003, k004,       k005, k006, k007, k008, k009, k00A, k00B, k00C,       k011, k012, k013, k014, k015, k016, k017, k018,       k019, k01A, k01B, k01C, \
 | 
			
		||||
                                            k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C,       k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C, \
 | 
			
		||||
                                            k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C,       k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C, \
 | 
			
		||||
                                            k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C,       k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C, \
 | 
			
		||||
                                            k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C,       k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C, \
 | 
			
		||||
                                            k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C,       k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C  \
 | 
			
		||||
) \
 | 
			
		||||
[_MATRIX_LAYER] = { \
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k001, k002, k003, k004,       k005, k006, k007, k008, k009, k00A, k00B, k00C,       k011, k012, k013, k014, k015, k016, k017, k018,       k019, k01A, k01B, k01C ) },\
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k101, k102, k103, k104,       k105, k106, k107, k108, k109, k10A, k10B, k10C,       k111, k112, k113, k114, k115, k116, k117, k118,       k119, k11A, k11B, k11C ) },\
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k201, k202, k203, k204,       k205, k206, k207, k208, k209, k20A, k20B, k20C,       k211, k212, k213, k214, k215, k216, k217, k218,       k219, k21A, k21B, k21C ) },\
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k301, k302, k303, k304,       k305, k306, k307, k308, k309, k30A, k30B, k30C,       k311, k312, k313, k314, k315, k316, k317, k318,       k319, k31A, k31B, k31C ) },\
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k401, k402, k403, k404,       k405, k406, k407, k408, k409, k40A, k40B, k40C,       k411, k412, k413, k414, k415, k416, k417, k418,       k419, k41A, k41B, k41C ) },\
 | 
			
		||||
    { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k501, k502, k503, k504,       k505, k506, k507, k508, k509, k50A, k50B, k50C,       k511, k512, k513, k514, k515, k516, k517, k518,       k519, k51A, k51B, k51C ) },\
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif // MATRIX_TYPES_H
 | 
			
		||||
| 
						 | 
				
			
			@ -1,14 +0,0 @@
 | 
			
		|||
Vision Division
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
Full Size / Split Linear Keyboard PCB
 | 
			
		||||
 | 
			
		||||
Keyboard Maintainer: QMK Community  
 | 
			
		||||
Hardware Supported: Vision Division PCB  
 | 
			
		||||
Hardware Availability: https://geekhack.org/index.php?topic=83692.msg2227856#msg2227856
 | 
			
		||||
 | 
			
		||||
Make example for this keyboard (after setting up your build environment):
 | 
			
		||||
 | 
			
		||||
    make vision_division:default
 | 
			
		||||
 | 
			
		||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,30 +0,0 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = at90usb1286
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
#   Teensy       halfkay
 | 
			
		||||
#   Pro Micro    caterina
 | 
			
		||||
#   Atmel DFU    atmel-dfu
 | 
			
		||||
#   LUFA DFU     lufa-dfu
 | 
			
		||||
#   QMK DFU      qmk-dfu
 | 
			
		||||
#   ATmega32A    bootloadHID
 | 
			
		||||
#   ATmega328P   USBasp
 | 
			
		||||
BOOTLOADER = halfkay
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = full      # Virtual DIP switch configuration
 | 
			
		||||
MOUSEKEY_ENABLE = yes       # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = yes        # Console for debug
 | 
			
		||||
COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
			
		||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
NKRO_ENABLE = yes           # USB Nkey Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality on B7 by default
 | 
			
		||||
MIDI_ENABLE = no            # MIDI controls
 | 
			
		||||
UNICODE_ENABLE = no         # Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output 
 | 
			
		||||
| 
						 | 
				
			
			@ -1,68 +0,0 @@
 | 
			
		|||
#include "vision_division.h"
 | 
			
		||||
 | 
			
		||||
void matrix_init_kb(void) {
 | 
			
		||||
	// put your keyboard start-up code here
 | 
			
		||||
	// runs once when the firmware starts up
 | 
			
		||||
 | 
			
		||||
	matrix_init_user();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_kb(void) {
 | 
			
		||||
	// put your looping keyboard code here
 | 
			
		||||
	// runs every cycle (a lot)
 | 
			
		||||
 | 
			
		||||
	matrix_scan_user();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
	// put your per-action keyboard code here
 | 
			
		||||
	// runs for every action, just before processing by the firmware
 | 
			
		||||
 | 
			
		||||
	return process_record_user(keycode, record);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void led_set_kb(uint8_t usb_led) {
 | 
			
		||||
	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
 | 
			
		||||
 | 
			
		||||
  if (usb_led & (1 << USB_LED_CAPS_LOCK))
 | 
			
		||||
  {
 | 
			
		||||
    // HI
 | 
			
		||||
    DDRD  |= (1<<4);
 | 
			
		||||
    PORTD |= (1<<4);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    // Hi-Z
 | 
			
		||||
    DDRD  &= ~(1<<4);
 | 
			
		||||
    PORTD &= ~(1<<4);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (usb_led & (1 << USB_LED_NUM_LOCK))
 | 
			
		||||
  {
 | 
			
		||||
    // HI
 | 
			
		||||
    DDRD  |= (1<<5);
 | 
			
		||||
    PORTD |= (1<<5);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    // Hi-Z
 | 
			
		||||
    DDRD  &= ~(1<<5);
 | 
			
		||||
    PORTD &= ~(1<<5);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (usb_led & (1 << USB_LED_SCROLL_LOCK))
 | 
			
		||||
  {
 | 
			
		||||
    // HI
 | 
			
		||||
    DDRD  |= (1<<6);
 | 
			
		||||
    PORTD |= (1<<6);
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    // Hi-Z
 | 
			
		||||
    DDRD  &= ~(1<<6);
 | 
			
		||||
    PORTD &= ~(1<<6);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
	led_set_user(usb_led);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
#ifndef VISION_DIVISION_H
 | 
			
		||||
#define VISION_DIVISION_H
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue