keychron_qmk_firmware/keyboards/kbdfans/kbd8x_mk2/kbd8x_mk2.h

96 lines
5.6 KiB
C
Raw Normal View History

/* Copyright 2019 Ryota Goto
*
* 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"
/* This 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.
*/
#define LAYOUT( \
K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K066, K027, K037, K028, \
K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, \
K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
) \
{ \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
{ KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
{ K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
{ K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
{ K060, K061, K062, K063, K064, K065, K066, KC_NO, KC_NO }, \
{ K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
{ K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
{ K090, K091, K092, K093, K094, K095, K096, K097, KC_NO }, \
{ K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
}
#define LAYOUT_tkl_ansi( \
K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
K080, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K097, \
K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
) \
{ \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
{ KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
{ K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
{ K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
{ K060, K061, K062, K063, K064, K065, KC_NO, KC_NO, KC_NO }, \
{ K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
{ K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
{ KC_NO, K091, K092, K093, K094, K095, KC_NO, K097, KC_NO }, \
{ K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
}
#define LAYOUT_tkl_iso( \
K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K047, K057, K048, \
K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K056, K076, \
K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K097, \
K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
) \
{ \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
{ KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
{ K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
{ K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
{ K060, K061, K062, K063, K064, K065, KC_NO, KC_NO, KC_NO }, \
{ K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
{ K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
{ K090, K091, K092, K093, K094, K095, KC_NO, K097, KC_NO }, \
{ K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
}