summaryrefslogtreecommitdiffstats
path: root/users/ericgebhart/layers/keypads.h
blob: ab4100594d3e89d3b9547e2c188ad1a6fc0d2bc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
/*
  Copyright 2018-2022 Eric Gebhart <e.a.gebhart@gmail.com>

  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/>.
*/
/**********************************************_**********************************/
/*  KEYPADS.  Mostly all in Bepo and Qwerty versions                            */
/*      4 row Pads:                                                             */
/*         * The BEAKL 15,19 Number pad, for the left hand.                     */
/*         * The BEAKL Wi hex pad, Number pad.                                  */
/*         * Regular Number pad, for the right hand.                            */
/*         * 12 Function pad.                                                   */
/*      3 row pads:                                                             */
/*         keypad                                                               */
/*         function pad - 3x4, 12 function keys.                                */
/*                                                                              */
/*  LAYERS:                                                                     */
/*      4 Row:                                                                  */
/*         * BEAKL with a compact FuncPad on the right.                         */
/*         * Funcpad on the left, keypad on the right.                          */
/*      3 Row:                                                                  */
/*         * Funcpad on the left, keypad on the right.                          */
/*         * BEAKL with a compact FuncPad on the right.                         */
/*                                                                              */
/********************************************************************************/

// BEAKL 15 (numpad layer):
/*    +=*   ^%~ */
/*   ↹523:      */
/* - 7.104      */
/*   /698,      */

/* BEAKL27 (numpad layer): */
/*   ↹+/\*=  yxz */
/*    -523: ~FED */
/*    7.104 {CBA} */
/*    ,698⏎  []% */

// Keypads
#define ___KEYPAD_BEAKL_L1___  ___,    _PLUS,  _SLSH,  _ASTR, _EQL
#define ___KEYPAD_BEAKL_L2___  _MINS,  _5,     _2,     _3,   _COLN
#define ___KEYPAD_BEAKL_L3___  _7,     _DOT,   _1,     _0,   _4
#define ___KEYPAD_BEAKL_L4___  _COMM,  _6,     _9,     _8,   _COMM

#define ___6KEYPAD_BEAKL_L1___     ___, KEYPAD_BEAKL_L1
#define ___6KEYPAD_BEAKL_L2___     ___, KEYPAD_BEAKL_L2
#define ___6KEYPAD_BEAKL_L3___ KC_MINS, KEYPAD_BEAKL_L3
#define ___6KEYPAD_BEAKL_L4___     ___, KEYPAD_BEAKL_L4

// if there's room. the top row on the right.
#define ___KEYPAD_BEAKL_R1___     ___, KC_CIRC,  KC_PERC,  KC_TILD, ___



/// parts is parts.

#define ___KP_BKL_WI_L1___ _X_,    HEX_A,  HEX_B,  HEX_C,   _X_
#define ___KP_BKL_WI_L2___ _X_,    HEX_D,  HEX_E,  HEX_F,   _X_
#define ___KP_BKL_WI_L3___ _X_,    L_BRKT, R_BRKT, DELIM,   _X_

#define ___KP_BKL_WI_R1___ _SLSH, _4, _5, _9, _ASTR
#define ___KP_BKL_WI_R2___ _DOT , _1, _2, _3, _MINS
#define ___KP_BKL_WI_R3___ _COMM, _8, _6, _7, _PLUS

#define ___KEYPAD_1___ ___,  _7,  _8,    _9,     _PSLS
#define ___KEYPAD_2___ _DOT, _4,  _5,    _6,     _PAST
#define ___KEYPAD_3___ _0,   _1,  _2,    _3,     _PMNS

#define ___KEYPAD_miryoku_1___ _LBRC, _7,  _8,  _9,  _RBRC, ____5_
#define ___KEYPAD_miryoku_2___ _SCLN, _4,  _5,  _6,  _EQUAL, ____5_
#define ___KEYPAD_miryoku_3___ _GRV,  _1,  _2,  _3,  _BSLS, ____5_

// 4 Row keypads
#define ___5KEYPAD_1___ _X_, ___KEYPAD_1___
#define ___5KEYPAD_2___ _X_, ___KEYPAD_2___
#define ___5KEYPAD_3___ _X_, ___KEYPAD_3___
#define ___5KEYPAD_4___ _X_, _0,  _DOT,  _PEQL,  _PPLS

// Function pad.  Same idea as above, but for function keys.

// Funcpads are a bit weird. THey are KC values, so for
// this to work, there are BP_ versions of the F keys.
// I don't really use this, so maybe it'll go away in favor
// of something more useful.
// 4x3 and 3x4 funcpads.
// Only 4 columns, so the fifth can be added to either end.
#define ___4_FUNCPAD_1___   _F9, _F10, _F11, _F12
#define ___4_FUNCPAD_2___   _F5, _F6,  _F7,  _F8
#define ___4_FUNCPAD_3___   _F1, _F2,  _F3,  _F4

#define ___FUNCPAD_miryoku_1___   KC_F12, KC_F7, KC_F8, KC_F9, KC_PRINT_SCREEN
#define ___FUNCPAD_miryoku_2___   KC_F11, KC_F4, KC_F5, KC_F6, KC_SCROLL_LOCK
#define ___FUNCPAD_miryoku_3___   KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUSE

// For the left or right side.
#define ___5x4_FUNCPAD_T___   _TRNS, _F10,  _F11,  _F12, _TRNS
#define ___5x4_FUNCPAD_1___   _TRNS, _F7,   _F8,   _F9,  _TRNS
#define ___5x4_FUNCPAD_2___   _TRNS, _F4,   _F5,   _F6,  _TRNS
#define ___5x4_FUNCPAD_3___   _TRNS, _F1,   _F2,   _F3,  _TRNS


/********************************************************************************/
/* FUNCPAD and Keypad Layer chunks                                              */
/********************************************************************************/
// beakl wi is a hexpad numpad.
/* Beakle Wi, Hexpad and keypad - needs a zero somewhere.*/
#define CARTE_KP_BKL_WI                         \
  carte_de_map( "  ABC  /459* ",                \
                "  DEF  .123- ",                \
                "  {}|  ,867+ ")

#define ___KP_BKL_WI_3x10___                                    \
  CHUNK_LANG_MAP(___KP_BKL_WI_L1___, ___KP_BKL_WI_R1___,        \
                 ___KP_BKL_WI_L2___, ___KP_BKL_WI_R2___,        \
                 ___KP_BKL_WI_L3___, ___KP_BKL_WI_R3___)


// BEAKL 15 and a f1-f12 funcpad
#define CARTE_KP_BKL_FUNC                       \
  carte_de_map("    523:  F9-12",               \
               "  -7.104  F5-8",                \
               "   /798,  F1-4")

#define ___KP_BKL_FUNC_3x10___                                          \
  CHUNK_LANG_MAP(___KEYPAD_BEAKL_L2___, _TRNS, ___4_FUNCPAD_1___,       \
                 ___KEYPAD_BEAKL_L3___, _TRNS, ___4_FUNCPAD_2___,       \
                 ___KEYPAD_BEAKL_L4___, _TRNS, ___4_FUNCPAD_3___)

// BEAKL 15 and mods.
#define CARTE_KP_BKL_MODS                          \
  carte_de_map("    523:  SL Mods",                \
               "  -7.104  OS Mods",                \
               "   /798,   Enter")


#define ___KP_BKL_MODS_3x10___                                          \
  CHUNK_LANG_MAP(___KEYPAD_BEAKL_L2___, _TRNS, ___SML_MODS_R___,        \
                 ___KEYPAD_BEAKL_L3___, ___OS_MODS_R___,                \
                 ___KEYPAD_BEAKL_L4___, _TRNS, _ENT, _ENT, _ENT, _TRNS)

// 4 rows, BEAKL 15 and a f1-f12 funcpad
#define ___KP_BKL_FUNC_4x10___                                  \
  CHUNK_LANG_ROW(___KEYPAD_BEAKL_L1___, ___KEYPAD_BEAKL_R1___), \
    CHUNK_LANG_MAP(___KP_BKL_FUNC_3x10___)

// 4 rows, funcpad, regular keypad on right.
#define ___FP_KP_4x10___                                        \
  CHUNK_LANG_ROW(___5x4_FUNCPAD_T___,  ___5KEYPAD_1___),        \
    CHUNK_LANG_MAP(___5x4_FUNCPAD_1___,  ___5KEYPAD_2___,       \
                   ___5x4_FUNCPAD_2___,  ___5KEYPAD_3___,       \
                   ___5x4_FUNCPAD_3___,  ___5KEYPAD_4___)

#define CARTE_FP_KP                             \
  carte_de_map("  F9-12   789+",                \
               "  F5-8   .456*",                \
               "  F1-4   0123-")

// funcpad, regular keypad on right.
#define ___FP_KP_3x10___                                        \
  CHUNK_LANG_MAP(___4_FUNCPAD_1___, ___, ___5KEYPAD_1___,       \
                 ___4_FUNCPAD_2___, ___,  ___5KEYPAD_2___,      \
                 ___4_FUNCPAD_3___, ___,  ___5KEYPAD_3___)

#define CARTE_KP_FP                             \
  carte_de_map("   789+  F9-12",                \
               "  .456*  F5-8",                 \
               "  0123-  F1-4")
// regular keypad on left.
#define ___KP_FP_3x10___                                        \
  CHUNK_LANG_MAP(___5KEYPAD_1___,  ___, ___4_FUNCPAD_1___,      \
                 ___5KEYPAD_2___,  ___, ___4_FUNCPAD_2___,      \
                 ___5KEYPAD_3___,  ___, ___4_FUNCPAD_3___)

#define CARTE_MODS_KP                           \
  carte_de_map("  SMods   789+",                \
               "  OSMods .456*",                \
               "  F1-4   0123-")

// funcpad, regular keypad on right.
#define ___MODS_KP_3x10___                                    \
  CHUNK_LANG_MAP(___SML_MODS_L___, ___, ___5KEYPAD_1___,        \
                 ___OS_MODS_L___,       ___5KEYPAD_2___,     \
                 ___5___,               ___5KEYPAD_3___)

#define CARTE_KP_MODS                           \
  carte_de_map("   789+  SMods",                \
               "  .456*  OSMods",                 \
               "  0123-  ")

// regular keypad on left.
#define ___KP_MODS_3x10___                                      \
  CHUNK_LANG_MAP(___5KEYPAD_1___,  ___, ___SML_MODS_R___,       \
                 ___5KEYPAD_2___,  ___OS_MODS_L___,        \
                 ___5KEYPAD_3___,  ___, ___4___)

#define CARTE_FUN                           \
  carte_de_map("  F9-F12  SMods",                \
               "  F5-F8   OSMods",               \
               "  F1-F4   ")

#define ___FUN_3x10___                                                  \
  CHUNK_LANG_MAP(___4_FUNCPAD_1___, ___,  ___, ___SML_MODS_R___,        \
                 ___4_FUNCPAD_2___, ___,  ___OS_MODS_R___,              \
                 ___4_FUNCPAD_3___, ___,  ___5___)

#define CARTE_FUN_MIRYOKU                       \
  carte_de_map("F12 F7-F9 prt  SMods",          \
               "F11 F4-F6 scr  OSMods",         \
               "F10 F1-F3 pse  ")

#define ___FP_MIRYOKU_3x10___                           \
  ___FUNCPAD_miryoku_1___,  ___, ___SML_MODS_R___,     \
    ___FUNCPAD_miryoku_2___,  ___OS_MODS_R___,         \
    ___FUNCPAD_miryoku_3___,  ___5___

// wants . and 0 on left thumb.
#define CARTE_KP_MIRYOKU      \
  carte_de_map(" [789]",      \
               " ;456=",      \
               " `123\\")

#define ___KP_MIRYOKU_3x10___                                     \
  CHUNK_LANG_MAP(___KEYPAD_miryoku_1___,                          \
                 ___KEYPAD_miryoku_2___,                             \
                 ___KEYPAD_miryoku_3___)