keychron_qmk_firmware/keyboards/handwired/sono1/sono1.h

108 lines
5.7 KiB
C
Raw Normal View History

/* 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 } \
}