diff options
Diffstat (limited to 'keyboards/bandominedoni/bandominedoni.h')
| -rw-r--r-- | keyboards/bandominedoni/bandominedoni.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/keyboards/bandominedoni/bandominedoni.h b/keyboards/bandominedoni/bandominedoni.h new file mode 100644 index 000000000..8e2470826 --- /dev/null +++ b/keyboards/bandominedoni/bandominedoni.h | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | /* Copyright 2021 3araht | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "quantum.h" | ||
| 20 | |||
| 21 | /* This is a shortcut to help you visually see your layout. | ||
| 22 | * | ||
| 23 | * The first section contains all of the arguments representing the physical | ||
| 24 | * layout of the board and position of the keys. | ||
| 25 | * | ||
| 26 | * The second converts the arguments into a two-dimensional array which | ||
| 27 | * represents the switch matrix. | ||
| 28 | */ | ||
| 29 | |||
| 30 | // oc: for Open Close selection pedal | ||
| 31 | // fn: function layer | ||
| 32 | |||
| 33 | #define LAYOUT( \ | ||
| 34 | l00, l01, l02, l03, l04, \ | ||
| 35 | l10, l11, l12, l13, l14, l15, l16, \ | ||
| 36 | l20, l21, l22, l23, l24, l25, l26, \ | ||
| 37 | l30, l31, l32, l33, l34, l35, l36, \ | ||
| 38 | l40, l41, l42, l43, l44, l45, l46, l47, \ | ||
| 39 | \ | ||
| 40 | oc, r00, r01, r02, r03, fn, \ | ||
| 41 | r10, r11, r12, r13, r14, ccw, cw,\ | ||
| 42 | r20, r21, r22, r23, r24, r25, \ | ||
| 43 | r30, r31, r32, r33, r34, r35, r36, r37, \ | ||
| 44 | r40, r41, r42, r43, r44, r45, r46, r47, \ | ||
| 45 | r50, r51, r52, r53, r54, r55, r56, r57, r58 \ | ||
| 46 | ) { \ | ||
| 47 | { l40, l00, l01, l02, l03, l04, KC_NO }, \ | ||
| 48 | { l10, l11, l12, l13, l14, l15, l16 }, \ | ||
| 49 | { l20, l21, l22, l23, l24, l25, l26 }, \ | ||
| 50 | { l30, l31, l32, l33, l34, l35, l36 }, \ | ||
| 51 | { l41, l42, l43, l44, l45, l46, l47 }, \ | ||
| 52 | { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, ccw, cw }, \ | ||
| 53 | { r50, r40, r31, r20, r10, r00, r30 }, \ | ||
| 54 | { r51, r41, r32, r21, r11, r01, oc }, \ | ||
| 55 | { r52, r42, r33, r22, r12, r02, fn }, \ | ||
| 56 | { r53, r43, r34, r23, r13, r03, r58 }, \ | ||
| 57 | { r54, r44, r35, r24, r14, r47, r57 }, \ | ||
| 58 | { r55, r45, r36, r25, r37, r46, r56 } \ | ||
| 59 | } | ||
| 60 | |||
| 61 | // Uncomment below if a pedal used for Open/Close is normally-on type (such as Yamaha's.) | ||
| 62 | // #define PEDAL_NORMALLY_CLOSED | ||
| 63 | |||
| 64 | #ifdef PEDAL_NORMALLY_CLOSED | ||
| 65 | # define MO_SWAP MO(_OPEN) | ||
| 66 | # define DF_SWAP DF(_CLOSE) | ||
| 67 | # define TG_SWAP TG(_OPEN) | ||
| 68 | #else | ||
| 69 | # define MO_SWAP MO(_CLOSE) | ||
| 70 | # define DF_SWAP DF(_OPEN) | ||
| 71 | # define TG_SWAP TG(_CLOSE) | ||
| 72 | #endif | ||
| 73 | |||
| 74 | // Long press: go to _FN layer, tap: MUTE | ||
| 75 | #define FN_MUTE LT(_FN, KC_MUTE) | ||
| 76 | #define DF_QWER DF(_QWERTY) | ||
| 77 | #define MIS_EIS LT(_MISC,KC_LANG2) | ||
| 78 | #define MIS_KAN LT(_MISC,KC_LANG1) | ||
| 79 | |||
| 80 | |||
| 81 | // Overriding is_keyboard_left() in qmk_firmware/quantum/split_common/split_util.c to limit the handedness check only once. | ||
| 82 | // reason: bandoMIneDonI has no space on right hand side to use "SPLIT_HAND_MATRIX_GRID". | ||
| 83 | // However, It enables to decide the handedness by the HW by adding one condition: "not to press any keys (especially r30) dusing startup." | ||
| 84 | bool is_keyboard_left(void); | ||
