mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-27 11:38:58 +06:00
81 lines
4.7 KiB
C
81 lines
4.7 KiB
C
/* Copyright 2022 JasonRen(biu)
|
|
*
|
|
* 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 LAYOUT_60_tsangan_split_rshift( \
|
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K407, \
|
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
|
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, \
|
|
K400, K401, K402, K405, K410, K412, K413 \
|
|
) { \
|
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO }, \
|
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
|
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213 }, \
|
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313 }, \
|
|
{ K400, K401, K402, KC_NO, KC_NO, K405, KC_NO, K407, KC_NO, KC_NO, K410, KC_NO, K412, K413 } \
|
|
}
|
|
|
|
#define LAYOUT_all( \
|
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K407, \
|
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \
|
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
|
|
K400, K401, K402, K403, K404, K405, K408, K409, K410, K411, K412, K413 \
|
|
) { \
|
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
|
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
|
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \
|
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \
|
|
{ K400, K401, K402, K403, K404, K405, KC_NO, K407, K408, K409, K410, K411, K412, K413 } \
|
|
}
|
|
|
|
enum keyboard_keycodes {
|
|
#ifdef VIA_ENABLE
|
|
LOCK_GUI = USER00,
|
|
TOG_MACOS_KEYMAP,
|
|
KC_MISSION_CONTROL,
|
|
KC_LAUNCHPAD,
|
|
NEW_SAFE_RANGE = SAFE_RANGE // Important!
|
|
#else
|
|
LOCK_GUI = SAFE_RANGE,
|
|
TOG_MACOS_KEYMAP,
|
|
KC_MISSION_CONTROL,
|
|
KC_LAUNCHPAD,
|
|
NEW_SAFE_RANGE // Important!
|
|
#endif
|
|
};
|
|
|
|
#define KC_LG LOCK_GUI
|
|
#define KC_MACOS TOG_MACOS_KEYMAP
|
|
#define KC_MCTL KC_MISSION_CONTROL
|
|
#define KC_LPAD KC_LAUNCHPAD
|