summaryrefslogtreecommitdiffstats
path: root/keyboards/s7_elephant/s7_elephant.h
diff options
context:
space:
mode:
authorErovia <Erovia@users.noreply.github.com>2018-12-01 17:57:30 +0100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-12-01 17:57:30 +0100
commit0b0c98929b7d9375661a101740f2b1be8ca3e0fc (patch)
treea1720749ad9a6239f9da0b981f192ba3b3ea6553 /keyboards/s7_elephant/s7_elephant.h
parent75a51659abfbc68874f2e9326f0adf1258fc5458 (diff)
downloadqmk_firmware-0b0c98929b7d9375661a101740f2b1be8ca3e0fc.tar.gz
qmk_firmware-0b0c98929b7d9375661a101740f2b1be8ca3e0fc.tar.xz
Add support for S7 Elephant (#4511)
* Add support for S7 Elephant A high-end 70% custom keyboard designed and produced by jacky from Geekhack. * Polish S7 Elephant code Implement drashna's suggestions: - specify bootloader - remove unnecessary defines - use led_set_user() for LED logic * Correct info.json and s7_elephant.h Correct info.json and s7_elepant.h to follow QMK convention and fix a missing curly bracket.
Diffstat (limited to 'keyboards/s7_elephant/s7_elephant.h')
-rw-r--r--keyboards/s7_elephant/s7_elephant.h855
1 files changed, 855 insertions, 0 deletions
diff --git a/keyboards/s7_elephant/s7_elephant.h b/keyboards/s7_elephant/s7_elephant.h
new file mode 100644
index 000000000..c351ffdb9
--- /dev/null
+++ b/keyboards/s7_elephant/s7_elephant.h
@@ -0,0 +1,855 @@
+#ifndef S7_ELEPHANT_H
+#define S7_ELEPHANT_H
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+/* ANSI
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_1u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with small shift and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_ansi_7u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with blocker
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_ansi_blocker_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ANSI with blocker and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_lshift( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ANSI with blocker and small shift and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_ansi_blocker_7u_small_lshift_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_1u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* ISO with small backspace and 1u keys in the bottom row
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_1u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------------------------------'
+ */
+
+#define LAYOUT_iso_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+/* **************************************************************************************************************************************** */
+/* ISO with blocker
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_iso_blocker( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* ISO with blocker and small backspace
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | |
+ * `------' `-------------------------------------------------------------------------- -------------------'
+ */
+
+#define LAYOUT_iso_blocker_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
+}
+
+/* **************************************************************************************************************************************** */
+/* ISO with blocker and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_iso_blocker_7u( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+
+/* ISO with blocker and small backspace and 7u spacebar
+ * ,------. ,-------------------------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ | | | | | | | | | | | | | | | | | |
+ * |------| |------------------------------------------------------------------------------------ |-----|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | | | | | | | |
+ * |------| |-------------------------------------------------------------------------------------------------|
+ * | | | | | | | | | | | |
+ * `------' `--------------------------------------------------------------------------- ------------------'
+ */
+
+#define LAYOUT_iso_blocker_7u_small_bspc( \
+K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
+K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
+K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
+K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
+K400, K401, K402, K403, K407, K410, K413, K414, K415 \
+) { \
+{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
+{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
+{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
+{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
+{ K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
+}
+#endif