#pragma once #include "quantum.h" // readability #define XXX KC_NO #define LAYOUT( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \ K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \ { K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \ } #define LAYOUT_all( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \ K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \ { K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \ } #define LAYOUT_split_bs( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \ K500, K501, K502, K505, K508, K509, K511, K513, K515, K516, K517 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \ { K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, K509, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \ } #define LAYOUT_split_bs_tsangan( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \ K500, K501, K502, K505, K508, K511, K513, K515, K516, K517 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \ { K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, XXX, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \ } #define LAYOUT_tsangan( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, K116, K117, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, \ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K413, K416, \ K500, K501, K502, K505, K508, K511, K513, K515, K516, K517 \ ) { \ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, XXX, K015, K016, K017 }, \ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, XXX, K115, K116, K117 }, \ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, XXX, K214, K215, K216, K217 }, \ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, XXX, K313, XXX, XXX, XXX, XXX }, \ { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, XXX, XXX, K413, XXX, XXX, K416, XXX }, \ { K500, K501, K502, XXX, XXX, K505, XXX, XXX, K508, XXX, XXX, K511, XXX, K513, XXX, K515, K516, K517 } \ }