mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-24 01:17:07 +06:00
1c75385d76
* Add omnikeyish keyboard support. * remove out of date comment * PCB Rev 1.1 moved Row5's pin to E6, because the teensy++ hangs an onboard LED off D6. * Move string.h include to .c file * Add pcb kicad link. * Add info.json * Move macro programming to numlock's keyposition, the most useless key on the post model M layout. Force numlock enabled on host at init time, so you're not stuck without a numpad (hopefully) * Make the macro blink function toggle LEDs from their previous state. * Use incorrect but code style compliant opening curly bracing style. * Make PCB rev 1.1 the default Omnikeyish config, as the author has the only rev 1.0 boards that'll ever be. * Fix silly spelling error in 3 defines * First set of review changes. * Layout macro and keymap defined using it. * Layout macros for the northgate factory plates. * minor rearrangements * ALL the layouts. * Forgot ultra-t in info.json
160 lines
16 KiB
C
160 lines
16 KiB
C
#pragma once
|
|
|
|
#include "quantum.h"
|
|
|
|
enum keycodes {
|
|
QWERTY = SAFE_RANGE,
|
|
DYNAMIC_MACRO_RANGE
|
|
};
|
|
|
|
#include "dynamic_macro.h"
|
|
|
|
#define ____ KC_NO
|
|
|
|
/* Every possible switch positions on the PCB. Depending on plate and keycap choice, some of these positions will be blocked by other keys. */
|
|
#define LAYOUT_all( \
|
|
K101, K102, K103, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K123, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419, K420, K421, K422, K423, \
|
|
K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K615, K616, K617, K618, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, K103, ____, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, K123 }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, K615, K616, K617, K618, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
/* Northgate Factory Plates. Most are based on internet research, user beware. */
|
|
#define LAYOUT_101 ( \
|
|
K103, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
|
|
K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316 K317, K318, K319, K320, K321, K322, K323, \
|
|
K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K420, K421, K422, \
|
|
K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K518, K520, K521, K522, K523, \
|
|
K603, K605, K610, K613, K616, K617, K618, K619, K620, K622 \
|
|
) { \
|
|
{ ____, ____, K103, ____ K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ ____, ____, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ ____, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ ____, ____, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, ____, ____, ____, K420, K421, K422, ____ }, \
|
|
{ ____, ____, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, ____, K518, ____, K520, K521, K522, K523 }, \
|
|
{ ____, ____, K603, ____, K605, ____, ____, ____, ____, K610, ____, ____, K613, ____, ____, K616, K617, K618, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_102_rev1( \
|
|
K101, K102, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K518, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K618, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, ____, ____, ____, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, ____, K518, ____, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, K618, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_102_rev3( \
|
|
K101, K102, K103, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K518, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K618, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, K103, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, ____, ____, ____, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, ____, K518, ____, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, K618, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_plus_rev1( \
|
|
K101, K102, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K417, K418, K419, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, K417, K418, K419, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, ____, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_plus_rev3( \
|
|
K101, K102, K103, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K417, K418, K419, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, K103, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, K417, K418, K419, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, ____, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_ultra_rev1( \
|
|
K101, K102, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K417, K418, K419, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, ____, ____, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, K417, K418, K419, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, ____, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_ultra_rev3( \
|
|
K101, K102, K103, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K417, K418, K419, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, K103, ____, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, K417, K418, K419, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, ____, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|
|
#define LAYOUT_ultra_t( \
|
|
K101, K102, K103, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \
|
|
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223, \
|
|
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K317, K318, K319, K320, K321, K322, K323, \
|
|
K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K416, K420, K421, K422, K423, \
|
|
K501, K502, K503, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K518, K520, K521, K522, K523, \
|
|
K601, K602, K603, K604, K605, K610, K613, K614, K616, K617, K618, K619, K620, K622 \
|
|
) { \
|
|
{ K101, K102, K103, ____, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, ____, ____, ____, ____ }, \
|
|
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, K223 }, \
|
|
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, ____, K317, K318, K319, K320, K321, K322, K323 }, \
|
|
{ K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, ____, K416, ____, ____, ____, K420, K421, K422, K423 }, \
|
|
{ K501, K502, K503, ____, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, ____, K518, ____, K520, K521, K522, K523 }, \
|
|
{ K601, K602, K603, K604, K605, ____, ____, ____, ____, K610, ____, ____, K613, K614, ____, K616, K617, K618, K619, K620, ____, K622, ____ } \
|
|
}
|
|
|