aboutsummaryrefslogtreecommitdiff
path: root/keyboards/bandominedoni/bandominedoni.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/bandominedoni/bandominedoni.h')
-rw-r--r--keyboards/bandominedoni/bandominedoni.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/keyboards/bandominedoni/bandominedoni.h b/keyboards/bandominedoni/bandominedoni.h
new file mode 100644
index 000000000..1eca4f8d9
--- /dev/null
+++ b/keyboards/bandominedoni/bandominedoni.h
@@ -0,0 +1,88 @@
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."
84bool is_keyboard_left(void);
85
86void encoder_action_unregister(void);
87
88void encoder_action_register(uint8_t index, bool clockwise);