diff options
Diffstat (limited to 'keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h')
| -rw-r--r-- | keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h | 721 |
1 files changed, 721 insertions, 0 deletions
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h new file mode 100644 index 000000000..aad9ec233 --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h | |||
| @@ -0,0 +1,721 @@ | |||
| 1 | /* | ||
| 2 | * License (GPL): | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | |||
| 17 | * © 2019,2020 by Jos Boersema | ||
| 18 | * | ||
| 19 | */ | ||
| 20 | |||
| 21 | |||
| 22 | // ------------------------------------- ⬇ -------------------------------------- | ||
| 23 | // Configuration: | ||
| 24 | // ------------------------------------- ⬇ -------------------------------------- | ||
| 25 | |||
| 26 | // (For the non-coders: “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment. | ||
| 27 | // Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation. | ||
| 28 | // “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled | ||
| 29 | // /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation. | ||
| 30 | // (The documentation here is geared toward people who have no understanding about programming.) | ||
| 31 | |||
| 32 | /* | ||
| 33 | -------------------------------------------------------------------------------------- | ||
| 34 | ---- | ||
| 35 | -- | ||
| 36 | - | ||
| 37 | Table of Contents: | ||
| 38 | |||
| 39 | -0- ➡ Compact configuration file ⬅ | ||
| 40 | |||
| 41 | -1- ➡ Letters / Numbers & Symbols layouts ⬅ | ||
| 42 | • Qwerty | ||
| 43 | • Qwerty with Base arrows | ||
| 44 | • Dvorak | ||
| 45 | • Dvorak descramble mode | ||
| 46 | • Colemak | ||
| 47 | • Workman | ||
| 48 | • Numpad | ||
| 49 | |||
| 50 | -2- ➡ Eviscerations ( ① / ② ) ⬅ | ||
| 51 | • Single layout | ||
| 52 | |||
| 53 | -3- ➡ Startup settings ⬅ | ||
| 54 | • Alternate Base | ||
| 55 | • Leds on/off at startup. | ||
| 56 | • Speed measuring | ||
| 57 | • Text size counting ⬅ | ||
| 58 | |||
| 59 | -4- ➡ How many hardware keys 1st row ⬅ | ||
| 60 | |||
| 61 | -5- ⚠ ≠ Minivan ⬅ | ||
| 62 | |||
| 63 | -6- ➡ Defining the meaning of the additional hardware keys ⬅ | ||
| 64 | • Defining the additional key for 'South paw' (also called 'Command') | ||
| 65 | • Defining 'Arrow' hardware layout additional keys | ||
| 66 | |||
| 67 | -7- ➡ Arrows/Navigation cluster ⬅ | ||
| 68 | • Navigation cluster configuration | ||
| 69 | • VI editor arrows | ||
| 70 | |||
| 71 | -8- ➡ Number pad Configuration⬅ | ||
| 72 | |||
| 73 | -9- ➡ Speed measuring ⬅ | ||
| 74 | |||
| 75 | -10- ➡ Some alternative keys ⬅ | ||
| 76 | • Right Alt or hold(_RAR) on Base | ||
| 77 | • GUI left/right | ||
| 78 | • Alternate currency symbol | ||
| 79 | • Check boxes or Pointers | ||
| 80 | • Switch _ACC/_BON and *left* side _NSY/_DRA hold keys | ||
| 81 | • Switch _PAD and _MOV on Left Shift toggle | ||
| 82 | • Switch _FUN and _RAR on Right Shift toggle | ||
| 83 | |||
| 84 | -11- ➡ Eviscerations ( ② / ② ) ⬅ | ||
| 85 | • Removing the numbers pad _PAD layer | ||
| 86 | • Removing one or more of the Unicode layers _ACC, _DRA or_BON | ||
| 87 | • Removing groups of characters | ||
| 88 | |||
| 89 | -12- ➡ Leds ⬅ | ||
| 90 | - | ||
| 91 | -- | ||
| 92 | ---- | ||
| 93 | -------------------------------------------------------------------------------------- | ||
| 94 | */ | ||
| 95 | |||
| 96 | /* -0- ➡ Compact configuration file ⬅ | ||
| 97 | * | ||
| 98 | * If you _activate_ this, this whole heavily documented configuration block below | ||
| 99 | * gets skipped, and instead a bare bones configuration file with all these same options | ||
| 100 | * gets read. There is no functional difference. | ||
| 101 | * | ||
| 102 | * (You can use the compact configuration if you like that better. It can make communicating | ||
| 103 | * a configuration easier. The fully documented configuration is left in a state of default | ||
| 104 | * when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad, | ||
| 105 | * basic 44 Minivan keys. The compact version its state is whatever it is.) | ||
| 106 | */ | ||
| 107 | #define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an). | ||
| 108 | #ifndef MINIFAN_CONFIG_COMPACT // (don't alter this) | ||
| 109 | |||
| 110 | |||
| 111 | /* -1- ➡ Letters / Numbers & Symbols layouts ⬅ | ||
| 112 | * | ||
| 113 | * Here you can configure what letters layer (BASE layer), and number&symbols layer you | ||
| 114 | * want. This is a dual layout system, so you can choose a second pair as well. You can | ||
| 115 | * switch between them with a key on the _RAR layer. All the other layers are the same, | ||
| 116 | * regardless of your choice in letter/number&symbol layers. | ||
| 117 | * | ||
| 118 | * The letters layer is the BASE layer, from which you also reach all other layers. | ||
| 119 | * The letters it has is the alphabet in its simplest form: abcdefghijklmnopqrstuvwxyz. | ||
| 120 | * The numbers & symbols layer has what you find on any regular keyboard: 123… !@#… []/… | ||
| 121 | * The numbers & symbols layer is made to fit the Letters layer, due to small differences | ||
| 122 | * between layouts like Qwerty and Dvorak (in this case the symbols ‛-’, ‛/’, ‛?’, and ‛_’). | ||
| 123 | * | ||
| 124 | * Example: A Qwerty letters layer, with a fitting numbers & symbols layer, as ‛Default’. | ||
| 125 | * A Dvorak letters layer, with a fitting numbers & symbols layer, as ‛Alternate’. | ||
| 126 | * | ||
| 127 | * You will be asked to configure one layout as ‛Default’ and another as ‛Alternate’. | ||
| 128 | * | ||
| 129 | * A bases layout may have locally re-defined one or more of the common layers. If you | ||
| 130 | * choose two bases layouts who re-define the same common layer locally, you will need | ||
| 131 | * to choose either one by commenting out the other. | ||
| 132 | */ | ||
| 133 | // | ||
| 134 | // • Qwerty | ||
| 135 | // (a regular Qwerty layout) | ||
| 136 | // _Activate_ one of these two, _remove_ the other. | ||
| 137 | #define BASE_QWERTY__DEF_BASE // _Activate_ if you want Qwerty on the ‛Default’ spot | ||
| 138 | //#define BASE_QWERTY__ALT_BASE // _Activate_ if you want Qwerty on the ‛Alternate’ spot | ||
| 139 | // Note: you still need to set if you have the additional ‛arrow’ hardware key. You | ||
| 140 | // can ignore what it should be defined as, because it will be a plain arrow on Base. | ||
| 141 | // | ||
| 142 | // • Qwerty with Base arrows | ||
| 143 | // (provides direct access to arrows) | ||
| 144 | // _Activate_ one of these two, _remove_ the other. | ||
| 145 | //#define BASE_QWERTY_BASEARROW__DEF_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Default’ spot | ||
| 146 | //#define BASE_QWERTY_BASEARROW__ALT_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Alternate’ spot | ||
| 147 | // | ||
| 148 | // • Dvorak | ||
| 149 | // (a regular Dvorak layout) | ||
| 150 | // _Activate_ one of these two, _remove_ the other. | ||
| 151 | //#define BASE_DVORAK__DEF_BASE // _Activate_ if you want Dvorak on the ‛Default’ spot | ||
| 152 | //#define BASE_DVORAK__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot | ||
| 153 | // | ||
| 154 | // • Dvorak descramble mode | ||
| 155 | // (Dvorak for a computer already remapping to Dvorak) | ||
| 156 | // This layout is only available on ‛Alternate’, because of the special _HALF_ descramble mode. | ||
| 157 | //#define BASE_DVORAK_DESCRAMBLE__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot | ||
| 158 | // | ||
| 159 | // • Colemak | ||
| 160 | // (a regular Colemak layout) | ||
| 161 | // _Activate_ one of these two, _remove_ the other. | ||
| 162 | //#define BASE_COLEMAK__DEF_BASE // _Activate_ if you want Colemak on the ‛Default’ spot | ||
| 163 | //#define BASE_COLEMAK__ALT_BASE // _Activate_ if you want Colemak on the ‛Alternate’ spot | ||
| 164 | // | ||
| 165 | // • Workman | ||
| 166 | // (a regular Workman layout) | ||
| 167 | // _Activate_ one of these two, _remove_ the other. | ||
| 168 | //#define BASE_WORKMAN__DEF_BASE // _Activate_ if you want Workman on the ‛Default’ spot | ||
| 169 | //#define BASE_WORKMAN__ALT_BASE // _Activate_ if you want Workman on the ‛Alternate’ spot | ||
| 170 | // | ||
| 171 | // • Numpad | ||
| 172 | // (a numerical keypad, one for left hand and one for right hand) | ||
| 173 | // _Activate_ to get Numpad on Alternate. There is no option for Numpad on ‛Default’ base. | ||
| 174 | #define BASE_NUMPAD__ALT_BASE // _Activate_ if you want Numpad on the ‛Alternate’ spot | ||
| 175 | // ➡ ➡ ➡ This Base layer has configuration options at the top of its file. See ./base_numpad.c | ||
| 176 | // | ||
| 177 | /* -2- ➡ Eviscerations ( ① / ② ) ⬅ | ||
| 178 | */ | ||
| 179 | /* • Single layout | ||
| 180 | * | ||
| 181 | * Removes the ‛Alternate’ base layers, and removes the switch key on _RAR. | ||
| 182 | * ⚠ You have to not define a ‛Alternate’ base layer pair. Define only a ‛Default’ pair. | ||
| 183 | */ | ||
| 184 | //#define MINIFAN_SINGLE_LAYOUT // _Activate_ to only have the ‛Default’ base layers, _remove_ to also have ‛Alternate’. | ||
| 185 | |||
| 186 | |||
| 187 | /* -3- ➡ Startup settings ⬅ | ||
| 188 | */ | ||
| 189 | /* • Alternate Base | ||
| 190 | * | ||
| 191 | * You can define which of the two BASE layers is on when powering up the keyboard. | ||
| 192 | */ | ||
| 193 | //#define STARTUP_ALTERNATE // Example: For BASES_QWERTY_DVORAK defined: _remove_ is startup in Qwerty, _active_ is | ||
| 194 | // startup in Dvorak | ||
| 195 | /* • Leds on/off at startup. | ||
| 196 | */ | ||
| 197 | //#define STARTUP_SIDE_LEDS_OFF // _Activate_ to have side leds be off at keyboard startup (when you plug it in / computer powers on). | ||
| 198 | //#define STARTUP_MID_LED_OFF // _Activate_ to have middle led be off at keyboard startup. | ||
| 199 | // | ||
| 200 | /* • Speed measuring | ||
| 201 | */ | ||
| 202 | //#define STARTUP_SPEED // _Activate_ for default speed measuring on, _remove_ to set off at startup. | ||
| 203 | // | ||
| 204 | /* • Text size counting ⬅ | ||
| 205 | */ | ||
| 206 | //#define STARTUP_COUNT // _Activate_ for default character/word counting on, _remove_ to set off at startup. | ||
| 207 | |||
| 208 | |||
| 209 | |||
| 210 | /* -4- ➡ How many hardware keys 1st row ⬅ | ||
| 211 | * | ||
| 212 | * Define how many keys your keyboard has. | ||
| 213 | */ | ||
| 214 | // Default (12x12x12x8 keys) | ||
| 215 | //'Command' (12x12x12x9 keys) + key on the left | ||
| 216 | //'Arrow' (12x12x12x9 keys) + key on the right | ||
| 217 | //'South paw' + 'Arrow' (12x12x12x10 keys) | ||
| 218 | //#define MORE_KEY__COMMAND // Additional key 1st row on the left. This hardware layout is called 'Command' or 'South paw'. | ||
| 219 | //#define MORE_KEY__ARROW // Additional key 1st row (counting from row with space-bar) on the right, called 'Arrow' layout. | ||
| 220 | // | ||
| 221 | // See below for how to define your additional key(s). | ||
| 222 | |||
| 223 | |||
| 224 | /* -5- ⚠ ≠ Minivan ⬅ | ||
| 225 | * | ||
| 226 | * This section is for when you want to flash this keymap unto a board with more | ||
| 227 | * keys than the Minivan has. | ||
| 228 | * | ||
| 229 | * Trans-Minivan keymap: 12x12x12x11, 12x12x12x12, 12x12x12x13 keys | ||
| 230 | * Example board: Planck (12x12x12x12) | ||
| 231 | * | ||
| 232 | * It is assumed that you enabled MORE_KEY__ARROW and | ||
| 233 | * MORE_KEY__COMMAND, to get to 12x12x12x10 keys. With this you | ||
| 234 | * can get to one, two or three more keys on row 1, without manually | ||
| 235 | * editing all layers. You could first edit the definition on layers that you have | ||
| 236 | * a specific meaning for these keys, and let the rest be patched with the definitions | ||
| 237 | * here. | ||
| 238 | * | ||
| 239 | * It can help to inspect the preprocessing with > gcc -E keymap.c | less | ||
| 240 | * | ||
| 241 | * Planck keyboard | ||
| 242 | * | ||
| 243 | * The identifier TRANSMINIVAN_MIDLEFT could help compile the layout on a Planck keyboard, | ||
| 244 | * if it has a two unit large spacebar. You compile without TRANSMINIVAN_LEFTSIDE in that case. | ||
| 245 | * All keys on the left, row 1 (closest to the user) shift one unit to the left, with TRANS_MIDLEFT | ||
| 246 | * inserted on what would be the left key of the two unit spacebar (assuming that is a key). | ||
| 247 | * | ||
| 248 | * Other keyboards formats | ||
| 249 | * | ||
| 250 | * It is always possible to just padd the rows somewhere, if you have even more keys. On the other | ||
| 251 | * hand, to try to cut this layout down to fewer keys than it has at minimum (12x12x12x8), is likely | ||
| 252 | * going to reduce its functionality, and will require some puzzling to keep a well organized BASE | ||
| 253 | * layer, and have “hold key” layer switching work correctly. | ||
| 254 | * | ||
| 255 | * FIXME: not been compiled or tested for any boards. | ||
| 256 | */ | ||
| 257 | //#define TRANSMINIVAN_LAYOUT ....... // Set this to something with the needed amount of keycodes. | ||
| 258 | // Your values are inserted here: [ _LTR ] = LAYOUT_redefined ( | ||
| 259 | // ^^^^^^^^^^^^^^^^ (throughout all layers) | ||
| 260 | //#define TRANSMINIVAN_LEFTSIDE // _Activate_ to get yet one more key on the left side row 1 | ||
| 261 | #define TRANS_LEFT XXXXXXX // Define what the TRANSMINIVAN_LEFTSIDE key should be, where it is not otherwise defined. | ||
| 262 | // (Ignored if TRANSMINIVAN_LEFTSIDE is _removed_). | ||
| 263 | // | ||
| 264 | //#define TRANSMINIVAN_MIDLEFT // _Activate_ to get yet one more key on the first key from center, row 1. | ||
| 265 | #define TRANS_MIDLEFT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be on all layers at once. | ||
| 266 | // (Ignored if TRANSMINIVAN_MIDLEFT is _removed_). | ||
| 267 | // | ||
| 268 | //#define TRANSMINIVAN_RIGHTSIDE // _Activate_ to get yet one more key on the right side row 1 | ||
| 269 | #define TRANS_RIGHT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be, where it is not otherwise defined. | ||
| 270 | // (Ignored if TRANSMINIVAN_RIGHTSIDE is _removed_). | ||
| 271 | |||
| 272 | |||
| 273 | /* -6- ➡ Defining the meaning of the additional hardware keys ⬅ | ||
| 274 | * | ||
| 275 | * Some possibilities you might like: | ||
| 276 | * | ||
| 277 | * ① Number-pad and F-keys layers are only on a toggle. If you want them accessible on a hold key, you can use | ||
| 278 | * these additional hardware keys. Make sure to use a transparent key on that location on those layers. | ||
| 279 | * | ||
| 280 | * ② You can use the right side additional key for quick access to an arrow/navigation cluster (see below). | ||
| 281 | * | ||
| 282 | * ③ Other uses, such as a delete key and/or a special interface key your system needs. | ||
| 283 | */ | ||
| 284 | /* • Defining the additional key for 'South paw' (also called 'Command') | ||
| 285 | * | ||
| 286 | * Left side additional key. This is ignored if MORE_KEY__COMMAND is not defined. | ||
| 287 | */ | ||
| 288 | // Configure here what this key is on the BASE layers (excluding Base Numpad compile option). | ||
| 289 | //#define MORE_key1_BASE TG ( _RAR ) // _Activate_ this to get a toggle to layer _RAR. MO(_RAR) does not follow a BASE switch by ‛Other Base’. | ||
| 290 | //#define MORE_key1_BASE KC_DEL // Could be useful if you like to toggle to certain layers and stay there for a while. | ||
| 291 | #define MORE_key1_BASE KC__XGUI // (Default) (Using KC__XGUI makes sure it is the *other* GUI, relative to KC__YGUI.) | ||
| 292 | // | ||
| 293 | // Configure here what this key is on all other layers | ||
| 294 | //#define MORE_key1 KC_DEL // Configure here what this key is on all other layers (and Base Numpad). | ||
| 295 | #define MORE_key1 KC__XGUI // (Default) | ||
| 296 | // | ||
| 297 | // | ||
| 298 | /* • Defining 'Arrow' hardware layout additional keys | ||
| 299 | * | ||
| 300 | * You can create an arrow-cluster with your additional MORE_key2 hardware key on the _MOV layer. | ||
| 301 | * Either way: this new key can toggle to _MOV layer, with the key that on the _MOV layer becomes the down-arrow, | ||
| 302 | * in the middle of an arrow cluster. To do that, uncomment MOREKEY2_ARROW_CLUSTER. | ||
| 303 | * The keys that are by default defined on those keys on _MOV layer, will now be overwritten (they are not typically | ||
| 304 | * that much used there). | ||
| 305 | * | ||
| 306 | * Arrow cluster for 'arrow' layout: _activate_ MOREKEY2_ARROW_CLUSTER and _activate_ #define MORE_key2 _MOV_UP | ||
| 307 | * No arrow cluster for 'arrow' layout: _remove_ MOREKEY2_ARROW_CLUSTER, and set MORE_key2 to whatever you want. | ||
| 308 | */ | ||
| 309 | #define MOREKEY2_ARROW_CLUSTER // Arrow cluster on _MOV layer. This is ignored if MORE_KEY__ARROW is not defined. | ||
| 310 | // This will cost you 'Right Alt' and 'GUI' on the _MOV layer. | ||
| 311 | //#define MOREKEY2_ADD_NAVIGATION // Additional navigation keys around arrow cluster MOREKEY2_ARROW_CLUSTER. Ignored if MOREKEY2_ARROW_CLUSTER is not defined. | ||
| 312 | // Note: this will cause mouse buttons 'BTN4' and 'BTN5' on the _MOV layer to be moved. | ||
| 313 | /* | ||
| 314 | * Define the key you want on the additional key. Leave it to _MOV_UP if you want an arrow cluster, easily | ||
| 315 | * accessed with this key. | ||
| 316 | * | ||
| 317 | * If you want to be able to type all arrow cluster keys with both GUI keys, than you cannot have this additional | ||
| 318 | * arrow cluster around the ‛arrow’ additional hardware key, because it eats away the GUI just to the left of | ||
| 319 | * that additional hardware key. | ||
| 320 | * | ||
| 321 | * For typing both GUIs with the navigation cluster, you also need the left side additional hardware key. In this | ||
| 322 | * case, you can still set the optional hardware key on the right to _MOV_UP, but that is marginally useful | ||
| 323 | * as you already have that on Left Shift. | ||
| 324 | * | ||
| 325 | * When aiming to type all normally available keys on a 100% keyboard with all modifiers including GUIs, you | ||
| 326 | * could use the right hand side optional hardware key (‛arrow’), because it causes the right side GUI to be | ||
| 327 | * available there. (This kind of stuff affects rare or even never used keyboard shortcuts.) | ||
| 328 | */ | ||
| 329 | #define MORE_key2 _MOV_UP // Right side additional key. This is ignored if MORE_KEY__ARROW is not defined. | ||
| 330 | //#define MORE_key2 KC_DEL // More or less a random suggestion. Harmonizes well with “.DEL” on Numbers Pad. | ||
| 331 | // It is convenient to have an uncluttered Delete key on the Base layer. | ||
| 332 | //#define MORE_key2 <...your choice...> // Right side additional key. | ||
| 333 | // | ||
| 334 | |||
| 335 | |||
| 336 | /* -7- ➡ Arrows/Navigation cluster ⬅ | ||
| 337 | */ | ||
| 338 | /* • Navigation cluster configuration | ||
| 339 | * | ||
| 340 | * _Activate_ below line to use a "WASD" type layout (on the spot where WASD is in Qwerty). | ||
| 341 | * _Remove_ if you prefer a flat type layout, with arrows in a row, on the right hand. | ||
| 342 | */ | ||
| 343 | #define ARROWS_TRIANGLE // Implies mouse is also similarly in a triangle. | ||
| 344 | /* | ||
| 345 | * • VI editor arrows | ||
| 346 | * | ||
| 347 | * Vi is a famous editor, with its own peculiar text cursor movement arrangement (arrows). | ||
| 348 | * This option modifies the flat arrows layout on the right hand, to be like the “HJKL” | ||
| 349 | * arrows in the editor vi(1). “HJKL” meaning: the 7th to 10th key on the 3rd row. | ||
| 350 | * The arrows on the additional MOREKEY2_ARROW_CLUSTER also get harmonized to be like vi. | ||
| 351 | */ | ||
| 352 | //#define VI_SWITCHERYDOO // You have to _remove_ ARROWS_TRIANGLE, or this gets ignored. | ||
| 353 | |||
| 354 | |||
| 355 | /* -8- ➡ Number pad Configuration⬅ | ||
| 356 | * | ||
| 357 | * This concerns the Numbers Pad layer, which is part of the common layers (not the Bse | ||
| 358 | * layer, which also has a Numbers Pad option). | ||
| 359 | * | ||
| 360 | * There are two compile versions for the number pad layer ‛_PAD’, in the common layers. | ||
| 361 | * | ||
| 362 | * _Activate_ the below to have the numbers pad _PAD layer resemble the squared layout of | ||
| 363 | * a numerical keyboard, allowing to type all numbers with the right hand. | ||
| 364 | * _Remove_ the below to have the numbers in this layer follow the layout of the _NSY layer, | ||
| 365 | * with the numbers on a line from left to right on the home row, across both hands. | ||
| 366 | */ | ||
| 367 | //#define NUMPAD_COMMON_SQUARE // _Activate_ to resemble a one handed numerical keyboard. | ||
| 368 | |||
| 369 | |||
| 370 | /* -9- ➡ Speed measuring ⬅ | ||
| 371 | */ | ||
| 372 | /* | ||
| 373 | * Led color configuration. You can see the speed you have configured below directly on the keyboard, | ||
| 374 | * after you compiled and flashed it. | ||
| 375 | * Set speed measuring to <off>. | ||
| 376 | * Hold the 'Report' key for one second, then release. The keyboard prints a number, which is the | ||
| 377 | * amount of characters per second for which that color is then being shown. Hold it again for | ||
| 378 | * a second, and it increments. Toggle speed measuring on/off to restart. | ||
| 379 | * You can play with the below settings until you like the result. | ||
| 380 | * | ||
| 381 | * The default values (8, 160 respectively) are starting at blue, avoiding confusion with default | ||
| 382 | * cyan for BASE layer, going to purple and further avoiding confusion with text size counting. | ||
| 383 | * Very fast typers could reach red, and then it goes further to yellow, etc. | ||
| 384 | */ | ||
| 385 | #define SPEED_COUNTDOWN 25 // After how many keypresses to update the effect(s). | ||
| 386 | #define SPEED_HUE_STEP 8 // For each key/sec faster, the hue value of HSV goes this step further. | ||
| 387 | #define SPEED_HUE_START 160 // The starting hue for 0 k/s (0 = 255 = red). | ||
| 388 | /* | ||
| 389 | * Speed report in words-per-minute (wpm) rather than keystrokes-per-second (k/s). wpm = k/s * ⁶⁰/₅ = k/s * 12 | ||
| 390 | */ | ||
| 391 | #define WORDS_PER_MINUTE // _Activate_ to get speed report in words-per-minute, _remove_ to get it in keystrokes-per-second (k/s). | ||
| 392 | |||
| 393 | |||
| 394 | /* -10- ➡ Some alternative keys ⬅ | ||
| 395 | */ | ||
| 396 | /* | ||
| 397 | * • Right Alt or hold(_RAR) on Base | ||
| 398 | * | ||
| 399 | * _Activate_ below line to get Right-Alt or Alt-Gr (same thing) on Base. | ||
| 400 | * A short tap results in RAlt briefly pressed, plus Right-Arrow. | ||
| 401 | * When pressed with another key, however short, results only in RAlt, and no Right-Arrow. | ||
| 402 | * Held a little longer than tapping it, results in only RAlt being pressed, no Right-Arrow. | ||
| 403 | * | ||
| 404 | * _Remove_ to have a layer hold key to the _RAR layer there, instead of RAlt, together with tapped Right-Arrow. | ||
| 405 | */ | ||
| 406 | //#define BASE_RIGHT_ALT // _Activate_ to get Right-Alt instead of _RAR on Base layer. | ||
| 407 | /* | ||
| 408 | * • GUI left/right | ||
| 409 | * | ||
| 410 | * _Activate_ below line to have LGUI (also called OS or Win key, etc) where RGUI is, | ||
| 411 | * and RGUI where LGUI is. | ||
| 412 | */ | ||
| 413 | //#define SWITCH_GUIS // _Activate_ this if you want LGUI on the BASE layer rather than RGUI, despite that spot being on the right. | ||
| 414 | /* | ||
| 415 | * • Alternate currency symbol | ||
| 416 | * | ||
| 417 | * _Activate_ the below to get a Euro symbol, where ƒ (Dutch Guilder) is on the default map (_DRA layer). | ||
| 418 | */ | ||
| 419 | #define UNICODE_CURRENCY 0x20ac // Hex number, euro symbol €. The unicode hex number for position ƒ in the default keymap. | ||
| 420 | /* | ||
| 421 | * • Check boxes or Pointers | ||
| 422 | * | ||
| 423 | * You can have these symbols (checkboxes): ☐ ☒ ☑ 🗹 | ||
| 424 | * or these (pointers): ⮘ ⮙ ⮚ ⮛ | ||
| 425 | */ | ||
| 426 | //#define POINT_ON_CHECKBOXES // _Activate_ to get arrows, _remove_ to get checkboxes on _DRA layer. | ||
| 427 | /* | ||
| 428 | * • Switch _ACC/_BON and *left* side _NSY/_DRA hold keys | ||
| 429 | * | ||
| 430 | * If you type a lot of _ACC layer (accented keys), and not much _DRA layer, you might like to | ||
| 431 | * switch the _ACC hold key, and the left side _NSY key, if you find it awkward to reach to the | ||
| 432 | * left with your thumb. These two keys are next to each other. Only the Base layer is affected. | ||
| 433 | */ | ||
| 434 | //#define SWITCH_HOLD_ACC_NSY // _Activate_ to switch the *left* _NSY and _ACC layer hold keys, on Base layer. | ||
| 435 | /* | ||
| 436 | * • Switch _PAD and _MOV on Left Shift toggle | ||
| 437 | * | ||
| 438 | * Recommended if you use _MOV more than _PAD | ||
| 439 | */ | ||
| 440 | //#define SWITCH_LSHIFT_PAD_MOV // _Activate_ to make _MOV layer be on the fast tap, and _PAD on a short hold toggle | ||
| 441 | /* | ||
| 442 | * • Switch _FUN and _RAR on Right Shift toggle | ||
| 443 | * | ||
| 444 | * Recommended if you use _RAR more than _FUN | ||
| 445 | */ | ||
| 446 | //#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle | ||
| 447 | |||
| 448 | |||
| 449 | /* -11- ➡ Eviscerations ( ② / ② ) ⬅ | ||
| 450 | */ | ||
| 451 | /* • Removing the numbers pad _PAD layer | ||
| 452 | * | ||
| 453 | * You may have no use for this common layer, if you have a numerical keypad on the Alternate Base already. | ||
| 454 | * | ||
| 455 | * ⚠ Note: ./base_numpad.h can overrides this setting, if compiled with that ‛Base layers’. | ||
| 456 | */ | ||
| 457 | //#define REMOVE_PAD // _Activate_ to strip out the _PAD layer, _remove_ to have the _PAD layer. | ||
| 458 | // | ||
| 459 | /* • Removing one or more of the Unicode layers _ACC, _DRA or_BON | ||
| 460 | */ | ||
| 461 | /* Removes the _ACC layer, optionally redirect its key. This can save some 750 bytes. | ||
| 462 | */ | ||
| 463 | //#define REMOVE_ACC // _Activate_ to strip out the _ACC layer, _remove_ to have the _ACC layer. | ||
| 464 | /* Unless REMOVE_ACC is _active_, the next defines which redirect the _ACC key(s) are ignored. */ | ||
| 465 | //#define _ACC_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead. | ||
| 466 | //#define _ACC_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _ACC, go to _DRA instead. | ||
| 467 | /* | ||
| 468 | * | ||
| 469 | * Removes the _DRA layer, optionally redirect its key. Also saves some 750 bytes. | ||
| 470 | */ | ||
| 471 | //#define REMOVE_DRA // _Activate_ to strip out the _DRA layer, _remove_ to have the _DRA layer. | ||
| 472 | /* Unless REMOVE_DRA is _active_, the next defines which redirect the _DRA key(s) are ignored. */ | ||
| 473 | //#define _DRA_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _ACC, go to _ACC instead. | ||
| 474 | //#define _DRA_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead. | ||
| 475 | /* | ||
| 476 | * | ||
| 477 | * Removes the _BON layer, optionally redirect its key. Also saves some 750 bytes. | ||
| 478 | */ | ||
| 479 | //#define REMOVE_BON // _Activate_ to strip out the _BON layer, _remove_ to have the _BON layer. | ||
| 480 | /* Unless REMOVE_BON is _active_, the next defines which redirect the _BON key(s) are ignored. */ | ||
| 481 | //#define _BON_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _BON, go to _ACC instead. | ||
| 482 | //#define _BON_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _BON, go to _DRA instead. | ||
| 483 | /* | ||
| 484 | * | ||
| 485 | * • Removing groups of characters | ||
| 486 | */ | ||
| 487 | /* | ||
| 488 | * The below cut out an amount of symbols on a given layer, to simplify and/or reduce firmware size a little. | ||
| 489 | */ | ||
| 490 | //#define ALL_DRA_BON_EVISCERATIONS // _Activate_ this to _remove_ the below all at once. (Seems to save only ±114 bytes) | ||
| 491 | // | ||
| 492 | #define BOX_DRAWINGS // _Activate_ to get box drawings on _BON. Horizontal lines (━─┄┅) on _DRA are not affected. | ||
| 493 | // Affected on rows 2 and 3: ┣┫┏┗┃┇┛┓ | ||
| 494 | // Full, 3rd row, boxdr.: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ┏ ⑤ ┓ ⑥ ┃ ⑦ ┇ ⑧ ╋ ⑨ ⓪ ∞ — | ||
| 495 | // Full, 2nd row, boxdr.: LSht ‹ › ÷ ☞ ┗ ≠ ┛ ✗ ┣ ✓ ┫ ⚠ « » RSht | ||
| 496 | // | ||
| 497 | // 3rd row, no boxdrawing: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⓪ ∞ — | ||
| 498 | // 2nd row, no boxdrawing: LSht ‹ › ÷ ☞ ≠ ✗ ✓ ⚠ « » RSht | ||
| 499 | // | ||
| 500 | #define SUB_SCRIPT_NUMS // _Activate_ to get subscript numbers (₁₂₃…₀) on _DRA. | ||
| 501 | // Affected on row 3: ₁₂₃₄₅₆₇₈₉₀ | ||
| 502 | // Thinned out 3rd row: xxx ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁰ xxx | ||
| 503 | // Full 3rd row: xxx ¹₁ ²₂ ³₃ ⁴₄ ⁵₅ ⁶₆ ⁷₇ ⁸₈ ⁹₉ ⁰₀ xxx | ||
| 504 | // | ||
| 505 | #define FULL_DRA_2NDROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 2nd row. | ||
| 506 | // Affected: 「 」 〇 § · 🗹 《 》 | ||
| 507 | // Full 2nd row: LSht 「━ 」─ °〇 •§ …· ☐ ☒ ☑ 🗹 ¿¡ 《┄ 》┅ Rsht | ||
| 508 | // Thinned out 2nd row: LSht ━ ─ ° • … ☐ ☑ ☑ ¿¡ ┄ ┅ RSht | ||
| 509 | // | ||
| 510 | #define FULL_DRA_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 4th row. | ||
| 511 | // Affected 4th row: „ ≤ ≥ ∅ ¢ ƒ ❦ 🙂 🙁 👍 👎 ⁽ ₍ ⁾ ₎ | ||
| 512 | // Full 4th row: BASE “„ ”≤ £≥ ∅ ¢ ±ƒ ❦ ♥ 🙂🙁 👍👎 ⁽₍ ⁾₎ Bkspc | ||
| 513 | // Thinned out 4th row: BASE “ ” £ ± ♥ Bkspc | ||
| 514 | // | ||
| 515 | #define FULL_BON_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _BON, 4th row. | ||
| 516 | // Affected 4th row: 🛠 ¤ ∑ ‱ ٭ 😊 ⍨ ⃰ ⁻ ⁺ 🄯 © | ||
| 517 | // Full 4th row: BASE ‛🛠 ’⬆ ¤ 🄯 ∑ © ‰‱ ★٭ 😊⍨ × ⃰ √ ⁻⁺ Bkspc | ||
| 518 | // Thinned out 4th row: BASE ‛ ’⬆ ‰ ★ × Bkspc | ||
| 519 | // | ||
| 520 | |||
| 521 | |||
| 522 | /* -12- ➡ Leds ⬅ | ||
| 523 | * | ||
| 524 | * Leds off for the Default Base Layer. | ||
| 525 | * Implies: no indication on Default Base for: Caps-lock, typing speed, typing amount done of a limit. | ||
| 526 | * Speed / typing amount will be visible by going to another layer. | ||
| 527 | */ | ||
| 528 | //#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer. | ||
| 529 | |||
| 530 | // ------------------------------------- ⬆ -------------------------------------- | ||
| 531 | // Below here no more comfortable configuration options..... | ||
| 532 | // There may be configuration options in the layout ./bases_....h file you chose. | ||
| 533 | // ------------------------------------- ⬆ -------------------------------------- | ||
| 534 | |||
| 535 | #else // (ignore this) | ||
| 536 | # include "./minifan_config_compact.h" | ||
| 537 | #endif // MINIFAN_CONFIG_COMPACT | ||
| 538 | |||
| 539 | |||
| 540 | // ------------------------------------- ⬇ -------------------------------------- | ||
| 541 | // Base layer headers | ||
| 542 | // ------------------------------------- ⬇ -------------------------------------- | ||
| 543 | |||
| 544 | // * Numpad * | ||
| 545 | # if defined(BASE_NUMPAD__ALT_BASE) | ||
| 546 | # include "./base_numpad.h" // Numbers pad header | ||
| 547 | # endif | ||
| 548 | // * Qwerty Base Arrow * | ||
| 549 | # if defined(BASE_QWERTY_BASEARROW__DEF_BASE) || defined(BASE_QWERTY_BASEARROW__ALT_BASE) | ||
| 550 | # include "./base_qwerty_basearrow.h" // Your Keymap header/configuration file. | ||
| 551 | # endif | ||
| 552 | |||
| 553 | // // ⬇ insert your ./base_YOUR_KEYMAP.h #include here: | ||
| 554 | |||
| 555 | // * YOUR KEYMAP * | ||
| 556 | // # if defined(BASE_YOUR_KEYMAP__DEF_BASE) || defined(BASE_YOUR_KEYMAP__ALT_BASE) | ||
| 557 | // # include "./base_YOUR_KEYMAP.h" // Your Keymap header/configuration file. | ||
| 558 | // # endif | ||
| 559 | |||
| 560 | // // ⬆ | ||
| 561 | |||
| 562 | // ------------------------------------- ⬆ -------------------------------------- | ||
| 563 | // Base layer headers are best #included here, so the preprocessor statements | ||
| 564 | // following the user configuration block can pick up on anything that was set. | ||
| 565 | // | ||
| 566 | // Example: base_numpad.h _activate_ ‛REMOVE_PAD’. Based upon that, the preprocessor | ||
| 567 | // constant ‛_PAD’ is changed into ‛_FUN’ in the below statements. | ||
| 568 | // ------------------------------------- ⬆ -------------------------------------- | ||
| 569 | |||
| 570 | |||
| 571 | |||
| 572 | // The below sets some things up based on the above #defines. | ||
| 573 | |||
| 574 | // This is sort of a hack. It re-defines _ALT_BASE and _ALT_NSY to point to the same | ||
| 575 | // layer as _DEF_BASE and _DEF_NSY, because there are quite a few references to the | ||
| 576 | // former and putting #if then around each one complicated the code even more. If needed, | ||
| 577 | // it can be changed later. This option already reduces firmware size, so we should be | ||
| 578 | // well below the maximum. | ||
| 579 | # ifdef MINIFAN_SINGLE_LAYOUT | ||
| 580 | # define _ALT_BASE _DEF_BASE | ||
| 581 | # define _ALT_NSY _DEF_NSY | ||
| 582 | # endif | ||
| 583 | |||
| 584 | // This triggers the compilation of special _HALF_ descramble mode, where you access | ||
| 585 | // the Unicode layers without passing them through the descramble system (middle led | ||
| 586 | // lit on _RAR_ when cycling through the base layers with ‛Other Base’ key). | ||
| 587 | # ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE | ||
| 588 | # define DVORAK_DESCRAMBLE_HALF | ||
| 589 | # endif | ||
| 590 | |||
| 591 | // Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster. | ||
| 592 | # if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ARROW_CLUSTER) | ||
| 593 | # undef MOREKEY2_ARROW_CLUSTER | ||
| 594 | # endif | ||
| 595 | |||
| 596 | # if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ADD_NAVIGATION) | ||
| 597 | # undef MOREKEY2_ADD_NAVIGATION | ||
| 598 | # endif | ||
| 599 | # if !defined(MOREKEY2_ARROW_CLUSTER) && defined(MOREKEY2_ADD_NAVIGATION) | ||
| 600 | # undef MOREKEY2_ADD_NAVIGATION // Only navigation keys, when the are arrows defined. | ||
| 601 | # endif | ||
| 602 | |||
| 603 | // When choosing 'triangle' arrows, then they go left. Not 'triangle' arrows, than right. | ||
| 604 | # ifdef ARROWS_TRIANGLE | ||
| 605 | /* _Activate_ below line to put the arrows on the left, comment out to have arrows right. */ | ||
| 606 | # define ARROWS_LEFT // Implies mouse is right | ||
| 607 | # endif | ||
| 608 | |||
| 609 | |||
| 610 | // Set up user GUI choice: | ||
| 611 | # ifndef SWITCH_GUIS | ||
| 612 | # define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions.. | ||
| 613 | # define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right. | ||
| 614 | # endif | ||
| 615 | |||
| 616 | # ifdef SWITCH_GUIS | ||
| 617 | # define KC__XGUI KC_RGUI | ||
| 618 | # define KC__YGUI KC_LGUI | ||
| 619 | # endif | ||
| 620 | |||
| 621 | |||
| 622 | // Define the layout macro for the amount of hardware keys. | ||
| 623 | // These for Minivan are defined up in the code tree. | ||
| 624 | # if !defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW) | ||
| 625 | # define LAYOUT_redefined LAYOUT // Default (8 keys on 1st row) | ||
| 626 | # endif | ||
| 627 | |||
| 628 | # if !defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW) | ||
| 629 | # define LAYOUT_redefined LAYOUT_arrow // Additional key 1st row on the right. 'Arrow' | ||
| 630 | # endif | ||
| 631 | |||
| 632 | # if defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW) | ||
| 633 | # define LAYOUT_redefined LAYOUT_command // Additional key 1st row on the left. 'Command' | ||
| 634 | # endif | ||
| 635 | |||
| 636 | # if defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW) | ||
| 637 | # define LAYOUT_redefined LAYOUT_arrow_command // Additional keys 1st row both left and right. 'Arrow' + 'Command' | ||
| 638 | # endif | ||
| 639 | |||
| 640 | # ifdef TRANSMINIVAN_LAYOUT | ||
| 641 | # undef LAYOUT_redefined | ||
| 642 | # define LAYOUT_redefined TRANSMINIVAN_LAYOUT | ||
| 643 | # endif | ||
| 644 | |||
| 645 | |||
| 646 | // Process user config setting for speed measuring | ||
| 647 | # ifdef STARTUP_SPEED | ||
| 648 | # define SPEED_INIT_VALUE TRUE | ||
| 649 | # else | ||
| 650 | # define SPEED_INIT_VALUE FALSE | ||
| 651 | # endif | ||
| 652 | // Process user config setting for text size measuring | ||
| 653 | # ifdef STARTUP_COUNT | ||
| 654 | # define COUNT_INIT_VALUE TRUE | ||
| 655 | # else | ||
| 656 | # define COUNT_INIT_VALUE FALSE | ||
| 657 | # endif | ||
| 658 | |||
| 659 | |||
| 660 | // Get all key reductions at once | ||
| 661 | # ifdef ALL_DRA_BON_EVISCERATIONS | ||
| 662 | # ifdef BOX_DRAWINGS | ||
| 663 | # undef BOX_DRAWINGS | ||
| 664 | # endif | ||
| 665 | |||
| 666 | # ifdef SUB_SCRIPT_NUMS | ||
| 667 | # undef SUB_SCRIPT_NUMS | ||
| 668 | # endif | ||
| 669 | |||
| 670 | # ifdef FULL_DRA_2NDROW | ||
| 671 | # undef FULL_DRA_2NDROW | ||
| 672 | # endif | ||
| 673 | |||
| 674 | # ifdef FULL_DRA_4THROW | ||
| 675 | # undef FULL_DRA_4THROW | ||
| 676 | # endif | ||
| 677 | |||
| 678 | # ifdef FULL_BON_4THROW | ||
| 679 | # undef FULL_BON_4THROW | ||
| 680 | # endif | ||
| 681 | # endif | ||
| 682 | |||
| 683 | // This resolves compiling “TO (_BON)” on the _FUN layer. | ||
| 684 | # ifdef REMOVE_BON | ||
| 685 | # undef _BON | ||
| 686 | # ifdef _BON_KEY_ALT_LAYER | ||
| 687 | # define _BON _BON_KEY_ALT_LAYER // To what user wants | ||
| 688 | # else | ||
| 689 | # define _BON _FUN // void behavior | ||
| 690 | # endif | ||
| 691 | # endif | ||
| 692 | |||
| 693 | // This resolves compiling “TO (_PAD)” on the _FUN layer. | ||
| 694 | # ifdef REMOVE_PAD | ||
| 695 | # undef _PAD | ||
| 696 | # define _PAD _FUN // void behavior | ||
| 697 | # endif | ||
| 698 | |||
| 699 | // If the _ACC layer hold key has no function anymore because the layers _ACC and _BON to which it | ||
| 700 | // switches have been removed, and no alternative use been set, that key reverts to being KC_DEL, | ||
| 701 | // and the whole macro CHOLTAP_ACCE it normally activates gets cut. | ||
| 702 | # if defined(REMOVE_ACC) \ | ||
| 703 | && !defined(_ACC_KEY_ALT_LAYER) \ | ||
| 704 | && defined(REMOVE_BON) \ | ||
| 705 | && !defined(_BON_KEY_ALT_LAYER) | ||
| 706 | # define CHOLTAP_ACCE KC_DEL // replaces in the keymap | ||
| 707 | # define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros | ||
| 708 | # endif | ||
| 709 | |||
| 710 | // Here all Unicode layers _ACC, _DRA and _BON have been removed, and none of their key(s) has | ||
| 711 | // been re-assigned to a useful purpose. That makes that whole system redundant, so it is simplified. | ||
| 712 | # if defined(REMOVE_ACC) \ | ||
| 713 | && !defined(_ACC_KEY_ALT_LAYER) \ | ||
| 714 | && defined(REMOVE_DRA) \ | ||
| 715 | && !defined(_DRA_KEY_ALT_LAYER) \ | ||
| 716 | && defined(REMOVE_BON) \ | ||
| 717 | && !defined(_BON_KEY_ALT_LAYER) | ||
| 718 | # define CHOLTAP_ACCE KC_DEL // replaces in the keymap | ||
| 719 | # define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros | ||
| 720 | # define DUO_HOLD_BASIC // cuts out the long DUO_HOLD macro, replaces it with a simple 'descramble'-aware hold(_NSY/_DDN) | ||
| 721 | # endif | ||
