/* Copyright 2020 DmNosachev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once #include "quantum.h" #define XXX KC_NO /* This is a shortcut to help you visually see your layout. * * The first section contains all of the arguments representing the physical * layout of the board and position of the keys. * * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ /* ,---------------------------------------------------------------------------------------------------------, ,-----, | < | |NumLk| | f1 | f2 | f3 | f4 | f5 | | f6 | f7 | f8 | f9 | f10 | |RlUp |RlDn | |CurLk| |-------------------------------------------------------------------------------------------| |-----------| |-----|-----------------, | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = - | ^ | ^ | BS | |Home |Help | | * | / | - | + | |-------------------------------------------------------------------------------------------| |-----------| |-----------------------| | Tab | Q | W | E | R | T | Y | U | I | O | P | ~@ | {[ | Return | | Ins | Del | | 7 | 8 | 9 | = | |--------------------------------------------------------------------------------| | `-----------' |-----------------------| | Ctrl | A | S | D | F | G | H | J | K | L | +; | *: | }] | | | Up | | 4 | 5 | 6 | . | |--------------------------------------------------------------------------------`----------' |-----------| |-----------------------| | Shift | Z | X | C | V | B | N | M | , | . | ?/ | -- | Shift | |Left |Right| | 1 | 2 | 3 | , | |-------------------------------------------------------------------------------------------| |-----------| |-----------------------| |Caps | Opt |Kana | Cmd | Space1 | Space2 | Space3 | Enter | | Alt | | Down | | 0 | 000 | Enter | `-------------------------------------------------------------------------------------------' `-----------' '-----------------------' |Thumb1|Thumb2| `-------------' */ #define LAYOUT( \ K00, K01, K02, K03, K04, K05, K06, K07, K10, K11, K12, K13, K97, KA0, KD6, \ K14, K15, K16, K17, K20, K21, K22, K23, K24, K25, K26, K27, K30, K31, K74, KA1, KA2, KC0, KD0, KE0, KC1, \ K75, K32, K33, K34, K35, K36, K37, K40, K41, K42, K43, K44, K45, K76, KA3, KA4, KD1, KE1, KC2, KD2, \ K77, K47, K50, K51, K52, K53, K54, K55, K56, K57, K60, K80, K81, KB0, KE2, KC3, KD3, KE3, \ K82, K61, K62, K63, K64, K65, K66, K67, K70, K71, K72, K73, K83, KB1, KB2, KC4, KD4, KE4, KC5,\ K84, K85, K86, K87, K90, K91, K92, K93, K94, KB3, KD5, KE5, KC6, \ K95, K96 \ ) { \ { K00, K01, K02, K03, K04, K05, K06, K07 }, \ { K10, K11, K12, K13, K14, K15, K16, K17 }, \ { K20, K21, K22, K23, K24, K25, K26, K27 }, \ { K30, K31, K32, K33, K34, K35, K36, K37 }, \ { K40, K41, K42, K43, K44, K45, XXX, K47 }, \ { K50, K51, K52, K53, K54, K55, K56, K57 }, \ { K60, K61, K62, K63, K64, K65, K66, K67 }, \ { K70, K71, K72, K73, K74, K75, K76, K77 }, \ { K80, K81, K82, K83, K84, K85, K86, K87 }, \ { K90, K91, K92, K93, K94, K95, K96, K97 }, \ { KA0, KA1, KA2, KA3, KA4, XXX, XXX, XXX }, \ { KB0, KB1, KB2, KB3, XXX, XXX, XXX, XXX }, \ { KC0, KC1, KC2, KC3, KC4, KC5, KC6, XXX }, \ { KD0, KD1, KD2, KD3, KD4, KD5, KD6, XXX }, \ { KE0, KE1, KE2, KE3, KE4, KE5, XXX, XXX } \ } #define LAYOUT_debug( \ K00, K01, K02, K03, K04, K05, K06, K07, \ K10, K11, K12, K13, K14, K15, K16, K17, \ K20, K21, K22, K23, K24, K25, K26, K27, \ K30, K31, K32, K33, K34, K35, K36, K37, \ K40, K41, K42, K43, K44, K45, K46, K47, \ K50, K51, K52, K53, K54, K55, K56, K57, \ K60, K61, K62, K63, K64, K65, K66, K67, \ K70, K71, K72, K73, K74, K75, K76, K77, \ K80, K81, K82, K83, K84, K85, K86, K87, \ K90, K91, K92, K93, K94, K95, K96, K97, \ KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, \ KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7, \ KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7, \ KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7, \ KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 \ ) { \ { K00, K01, K02, K03, K04, K05, K06, K07 }, \ { K10, K11, K12, K13, K14, K15, K16, K17 }, \ { K20, K21, K22, K23, K24, K25, K26, K27 }, \ { K30, K31, K32, K33, K34, K35, K36, K37 }, \ { K40, K41, K42, K43, K44, K45, K46, K47 }, \ { K50, K51, K52, K53, K54, K55, K56, K57 }, \ { K60, K61, K62, K63, K64, K65, K66, K67 }, \ { K70, K71, K72, K73, K74, K75, K76, K77 }, \ { K80, K81, K82, K83, K84, K85, K86, K87 }, \ { K90, K91, K92, K93, K94, K95, K96, K97 }, \ { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7 }, \ { KB0, KB1, KB2, KB3, KB4, KB5, KB6, KB7 }, \ { KC0, KC1, KC2, KC3, KC4, KC5, KC6, KC7 }, \ { KD0, KD1, KD2, KD3, KD4, KD5, KD6, KD7 }, \ { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7 } \ }