~ruther/qmk_firmware

705c775a4a433249081321cea0c2def2627817dc — IBNobody 9 years ago 4807fee
Nightly

Only major change to qmk was the addition of A0-A7 pins for the AT90USB
A keyboards/vision_division/Potential Layouts.txt => keyboards/vision_division/Potential Layouts.txt +84 -0
@@ 0,0 1,84 @@
/* 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 |
 * '-----------------------------------'       '-----------------------------------------------------------------------------------------------------------------------------------------------'       '-----------------------------------'
 */

M keyboards/vision_division/config.h => keyboards/vision_division/config.h +2 -42
@@ 20,52 20,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x2525
#define DEVICE_VER      0x0001
#define MANUFACTURER    You
#define PRODUCT         Vision Division
#define DESCRIPTION     Split or Full Keyboard
#define MATRIX_EXTENDED

/* key matrix size */
#ifdef MATRIX_EXTENDED
	#define MATRIX_ROWS 6
	#define MATRIX_COLS 24
#else 
	#define MATRIX_ROWS 6
	#define MATRIX_COLS 12
#endif

/*
 * Keyboard Matrix Assignments
 *
 * Change this to how you wired your keyboard
 * COLS: AVR pins used for columns, left to right
 * ROWS: AVR pins used for rows, top to bottom
 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 *
*/
// Due to the configurability of this keyboard, matrix sizes are determined in the keymap's config.h

#ifdef MATRIX_EXTENDED
 // Note that the extended colums are reversed because the second PCB has col 1 on the far right.
	#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
	#define MATRIX_COL_PINS { C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3, E6, A4, A0, A1, A5, A2, A6, A3, A7, C4, C5, C7}
#else #ifdef MATRIX_LEFT 
	#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
	#define MATRIX_COL_PINS { C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3 }


	#define MATRIX_COL_PINS { B3, B2, B1, B0, F0, F1, F2, F3, E0, E1, C0, C1 }
#endif

#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
 

// #define BACKLIGHT_PIN B7
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3

M keyboards/vision_division/keymaps/default/config.h => keyboards/vision_division/keymaps/default/config.h +35 -1
@@ 2,7 2,41 @@
#define CONFIG_USER_H

#include "../../config.h"
#include "matrix_types.h"

// place overrides here

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      GET_PID(NUMERIC_MAX_TEENSY, NUMERIC_MAX)
#define DEVICE_VER      0x0001
#define MANUFACTURER    IBNobody
#define PRODUCT         Vision Division
#define DESCRIPTION     Full / Split Keyboard


#define MATRIX_ROWS 6
#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }

#define MATRIX_COLS GET_MATRIX_COLS(NUMERIC_MAX_TEENSY, NUMERIC_MAX)
#define MATRIX_COL_PINS GET_MATRIX_COL_PINS(NUMERIC_MAX_TEENSY, NUMERIC_MAX)

#define UNUSED_PINS

#define KEYMAP( \
      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  \
) \
KEYMAP_MASTER(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  \
) \

#endif
\ No newline at end of file

M keyboards/vision_division/keymaps/default/keymap.c => keyboards/vision_division/keymaps/default/keymap.c +24 -4
@@ 1,10 1,30 @@
#include "vision_division.h"




const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP( /* Base */
  KC_A,  KC_1,  KC_H, \
    KC_TAB,  KC_SPC   \
),

  [0] = KEYMAP( \
    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_A,    KC_B,    KC_C,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT, \
    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, \
    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_A,    KC_B,    KC_C,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT, \
    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, \
    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_A,    KC_B,    KC_C,    KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT, \
    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12  \
)

/*
      KC_VOLU, KC_MUTE, KC_VOLU, KC_F24,           KC_F20,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12     k119, k11A, k11B, k11C, \
      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_MINS, KC_EQL,  KC_BSPC, KC_BSPC,       k219, k21A, k21B, k21C, \
      KC_KP_7, KC_KP_8, KC_KP_9, KC_F23,           KC_F19,  KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,       k319, k31A, k31B, k31C, \
      KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS,          KC_F18,  KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,  KC_ENT,  KC_PGUP,       k419, k41A, k41B, k41C, \
      KC_KP_1, KC_KP_2, KC_KP_3, KC_F22,           KC_F17,  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, KC_UP,   KC_PGDN,       k519, k51A, k51B, k51C. \
      KC_KP_0, KC_F21,  KC_PDOT, KC_PENT,          KC_F16,  KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC,  KC_SPC,  M_LOWER, OS_SHFT, KC_RALT, KC_APP,  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT,       k619, k61A, k61B, k61C  \

    ) //-----, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------, -------,

*/
};

const uint16_t PROGMEM fn_actions[] = {

A keyboards/vision_division/matrix_types.h => keyboards/vision_division/matrix_types.h +167 -0
@@ 0,0 1,167 @@
#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 KEYMAP_ROW_LEFT_ABSENT(                   k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)

#define KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_ROW_RIGHT_ABSENT(                  k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)

#define KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 KEYMAP_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 \
) \
KEYMAP_ROW_LEFT_ ## LEFT_TYPE(k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C), KEYMAP_ROW_RIGHT_ ## RIGHT_TYPE(k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C)

// Changable Master Macro

#define KEYMAP_MASTER(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  \
) \
{ \
    { KEYMAP_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 ) },\
    { KEYMAP_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 ) },\
    { KEYMAP_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 ) },\
    { KEYMAP_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 ) },\
    { KEYMAP_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 ) },\
    { KEYMAP_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
\ No newline at end of file

M keyboards/vision_division/vision_division.h => keyboards/vision_division/vision_division.h +0 -114
@@ 3,118 3,4 @@

#include "quantum.h"

// This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout
// The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array
#define KEYMAP_EXTENDED( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
{ \
    { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C },\
    { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C },\
    { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C },\
    { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C },\
    { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C },\
    { k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C },\
}

#define KEYMAP_LEFT( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
{ \
    { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C },\
    { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C },\
    { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C },\
    { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C },\
    { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C },\
    { k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C },\
}

#define KEYMAP_RIGHT( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
{ \
    { k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C },\
    { k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C },\
    { k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C },\
    { k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C },\
    { k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C },\
    { k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C },\
}

#ifdef MATRIX_EXTENDED
#define KEYMAP( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
KEYMAP_EXTENDED( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
)
#endif

#ifdef MATRIX_LEFT
#define KEYMAP( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
KEYMAP_LEFT( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
)
#endif

#ifdef MATRIX_RIGHT
#define KEYMAP( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
) \
KEYMAP_RIGHT( \
      k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k010, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
      k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k110, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C \
      k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k210, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C \
      k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k310, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C \
      k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k410, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C \
      k500, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k510, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
)

#endif


#endif

M quantum/config_common.h => quantum/config_common.h +9 -0
@@ 45,6 45,15 @@
#define F5 0xF5
#define F6 0xF6
#define F7 0xF7
#define A0 0xA0
#define A1 0xA1
#define A2 0xA2
#define A3 0xA3
#define A4 0xA4
#define A5 0xA5
#define A6 0xA6
#define A7 0xA7


/* USART configuration */
#ifdef BLUETOOTH_ENABLE