aboutsummaryrefslogtreecommitdiff
path: root/keyboards/planck
diff options
context:
space:
mode:
authorAdam Abrams <adamtabrams@gmail.com>2021-07-22 00:56:46 -0500
committerGitHub <noreply@github.com>2021-07-21 22:56:46 -0700
commitfbe782534a89f4a012522a6133970e8d768a3ed4 (patch)
tree223fab76209d17f64aeac3cdaa1f467abb3493f0 /keyboards/planck
parent665af4fa8db299e0af7618aeeb548e2a9b044a04 (diff)
downloadqmk_firmware-fbe782534a89f4a012522a6133970e8d768a3ed4.tar.gz
qmk_firmware-fbe782534a89f4a012522a6133970e8d768a3ed4.zip
[Keyboard] Add personal planck keymap (#13635)
Diffstat (limited to 'keyboards/planck')
-rw-r--r--keyboards/planck/keymaps/adamtabrams/config.h39
-rw-r--r--keyboards/planck/keymaps/adamtabrams/keymap.c279
-rw-r--r--keyboards/planck/keymaps/adamtabrams/readme.md89
-rw-r--r--keyboards/planck/keymaps/adamtabrams/rules.mk13
4 files changed, 420 insertions, 0 deletions
diff --git a/keyboards/planck/keymaps/adamtabrams/config.h b/keyboards/planck/keymaps/adamtabrams/config.h
new file mode 100644
index 000000000..0c275f20c
--- /dev/null
+++ b/keyboards/planck/keymaps/adamtabrams/config.h
@@ -0,0 +1,39 @@
1/* Copyright (C) 2021 Adam Abrams
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 3 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// General Configs
20#define NO_ACTION_ONESHOT
21#define FORCE_NKRO
22#define TAPPING_TOGGLE 3
23
24// Mouse Configs
25#define MK_3_SPEED
26#define MK_MOMENTARY_ACCEL
27#define MK_C_OFFSET_1 6
28#define MK_C_OFFSET_UNMOD 16
29#define MK_C_OFFSET_2 26
30// for MK_W lower is faster
31#define MK_W_INTERVAL_UNMOD 80
32
33// Tap-Hold Configs
34#define TAPPING_TERM 180
35#define PERMISSIVE_HOLD
36#define IGNORE_MOD_TAP_INTERRUPT
37#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
38#define TAPPING_FORCE_HOLD
39#define TAPPING_FORCE_HOLD_PER_KEY
diff --git a/keyboards/planck/keymaps/adamtabrams/keymap.c b/keyboards/planck/keymaps/adamtabrams/keymap.c
new file mode 100644
index 000000000..4b041aa2a
--- /dev/null
+++ b/keyboards/planck/keymaps/adamtabrams/keymap.c
@@ -0,0 +1,279 @@
1/* Copyright 2015-2017 Jack Humbert
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#include QMK_KEYBOARD_H
18#include "muse.h"
19
20
21enum planck_layers {
22 _QWERTY,
23 _COLEMAK,
24 _SIMPLE,
25 _NUMBER,
26 _ARROWS,
27 _CURSOR,
28 _SYSTEM,
29 _KBOARD,
30 _FMWARE
31};
32
33enum planck_keycodes {
34 QWERTY = SAFE_RANGE,
35 COLEMAK,
36 SIMPLE,
37 NORMAL
38};
39
40#define ARROWS TT(_ARROWS)
41#define CURSOR TT(_CURSOR)
42#define SYSTEM TT(_SYSTEM)
43#define KBOARD MO(_KBOARD)
44#define FMWARE MO(_FMWARE)
45
46#define NUMSPAC LT(_NUMBER, KC_SPC)
47#define SHFTESC LSFT_T(KC_ESC)
48#define SFTENTR SFT_T(KC_ENT)
49
50#define ALT__A ALT_T(KC_A)
51#define ALTSCLN ALT_T(KC_SCLN)
52#define ALT__O ALT_T(KC_O)
53#define GUI__S GUI_T(KC_S)
54#define GUI__L GUI_T(KC_L)
55#define GUI__R GUI_T(KC_R)
56#define GUI__I GUI_T(KC_I)
57#define SFT__D SFT_T(KC_D)
58#define SFT__K SFT_T(KC_K)
59#define SFT__S SFT_T(KC_S)
60#define SFT__E SFT_T(KC_E)
61#define CTL__F CTL_T(KC_F)
62#define CTL__J CTL_T(KC_J)
63#define CTL__T CTL_T(KC_T)
64#define CTL__N CTL_T(KC_N)
65
66#define ALTRGHT A(KC_RGHT)
67#define ALTLEFT A(KC_LEFT)
68#define CTLRGHT C(KC_RGHT)
69#define CTLLEFT C(KC_LEFT)
70
71const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
72
73/* ## Qwerty
74
75| Tab | Q | W | E | R | T | Y | U | I | O | P | -_ |
76| Bsp | A(A) | G(S) | S(D) | C(F) | G | H | C(J) | S(K) | G(L) | A(;) | '" |
77| ! | Z | X | C | V | B | N | M | , | . | / | Enter|
78| CTRL | GUI | ALT |System|Cursor|S(Esc)|N(Spc)|Arrows| Left | Down | Up | Right|
79 */
80
81[_QWERTY] = LAYOUT_planck_grid(
82 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
83 KC_BSPC, ALT__A, GUI__S, SFT__D, CTL__F, KC_G, KC_H, CTL__J, SFT__K, GUI__L, ALTSCLN, KC_QUOT,
84 KC_EXLM, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
85 KC_LCTL, KC_LGUI, KC_LALT, SYSTEM, CURSOR, SHFTESC, NUMSPAC, ARROWS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
86),
87
88/* ## Colemak
89
90| Tab | Q | W | F | P | B | J | L | U | Y | ; | -_ |
91| Bsp | A(A) | G(R) | S(S) | C(T) | G | M | C(N) | S(E) | G(I) | A(O) | '" |
92| ! | Z | X | C | D | V | K | H | , | . | / | Enter|
93| CTRL | GUI | ALT |System|Cursor|S(Esc)|N(Spc)|Arrows| Left | Down | Up | Right|
94 */
95
96[_COLEMAK] = LAYOUT_planck_grid(
97 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_MINS,
98 KC_BSPC, ALT__A, GUI__R, SFT__S, CTL__T, KC_G, KC_M, CTL__N, SFT__E, GUI__I, ALT__O, KC_QUOT,
99 KC_EXLM, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
100 KC_LCTL, KC_LGUI, KC_LALT, SYSTEM, CURSOR, SHFTESC, NUMSPAC, ARROWS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
101),
102
103/* ## Simple
104
105| Tab | Q | W | E | R | T | Y | U | I | O | P | Bsp |
106| Esc | A | S | D | F | G | H | J | K | L | ; | '" |
107| SHFT | Z | X | C | V | B | N | M | , | . | / |S(Ent)|
108| CTRL | GUI | ALT |System|Cursor| Spc |N(Spc)|Arrows| Left | Down | Up | Right|
109 */
110
111[_SIMPLE] = LAYOUT_planck_grid(
112 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
113 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
114 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENTR,
115 KC_LCTL, KC_LGUI, KC_LALT, SYSTEM, CURSOR, KC_SPC, NUMSPAC, ARROWS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
116),
117
118/* ## Number
119
120| | \| | & | = | + | @ | % | # | * | $ | ^ | |
121| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \` |
122| | | [ | { | ( | ~ | ! | ) | } | ] | \ | |
123| | | | | | | \\/ | | | | |Normal|
124 */
125
126[_NUMBER] = LAYOUT_planck_grid(
127 _______, KC_PIPE, KC_AMPR, KC_EQL, KC_PLUS, KC_AT, KC_PERC, KC_HASH, KC_ASTR, KC_DLR, KC_CIRC, _______,
128 _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
129 _______, XXXXXXX, KC_LBRC, KC_LCBR, KC_LPRN, KC_TILD, KC_EXLM, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, _______,
130 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NORMAL
131),
132
133
134/* ## Arrows
135
136| | |A(->) | | |A(<-) | | P_Up | P_Up |C(->) | | |
137| | | |P_Down| | | Left | Down | Up |Right |C(<-) | |
138| | | | |P_Down|A(<-) | | | | | | |
139| | | | | | | | \\/ | | | |Normal|
140 */
141
142[_ARROWS] = LAYOUT_planck_grid(
143 _______, _______, ALTRGHT, _______, _______, ALTLEFT, _______, KC_PGUP, KC_PGUP, CTLRGHT, _______, _______,
144 _______, _______, _______, KC_PGDN, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CTLLEFT, _______,
145 _______, _______, _______, _______, KC_PGDN, ALTLEFT, _______, _______, _______, _______, _______, _______,
146 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NORMAL
147),
148
149/* ## Cursor
150
151| | | |Wh_Dn |M_Btn2| | |Wh_Dn |Wh_Dn | | | |
152| |M_Acc2|M_Acc1|Wh_Up |M_Btn1| | M_L |M_Down| M_Up | M_R | | |
153| | | | |Wh_Up | | | | | | | |
154| | | | | \\/ | | | | | | |Normal|
155 */
156
157[_CURSOR] = LAYOUT_planck_grid(
158 _______, _______, _______, KC_WH_D, KC_BTN2, _______, _______, KC_WH_D, KC_WH_D, _______, _______, _______,
159 _______, KC_ACL2, KC_ACL1, KC_WH_U, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
160 _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______,
161 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NORMAL
162),
163
164/* ## System
165
166| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
167| | |Pr_Scn|Pr_Scn| | |Brght-| Vol- | Vol+ |Brght+| Mute | |
168| | | | | | | | Mute |P_Trac|N_Trac| | Play |
169|KBoard| | | \\/ | | | | |Simple|Qwerty|Colemk|Normal|
170 */
171
172[_SYSTEM] = LAYOUT_planck_grid(
173 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
174 _______, XXXXXXX, KC_PSCR, KC_PSCR, XXXXXXX, XXXXXXX, KC_BRID, KC_VOLD, KC_VOLU, KC_BRIU, KC_MUTE, _______,
175 _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPRV, KC_MNXT, XXXXXXX, KC_MPLY,
176 KBOARD, _______, _______, _______, _______, _______, _______, _______, SIMPLE, QWERTY, COLEMAK, NORMAL
177),
178
179/* ## KBoard
180
181|------| | | | | | | | | | | |
182| | | | | | | Hue- | Sat- | Sat+ | Hue+ |Mode+ | |
183| | | | | | | |Mode- |Brght-|Brght+| |RGB_Tg|
184| \\/ | | | \\/ | | | | | | | |FMWare|
185 */
186
187[_KBOARD] = LAYOUT_planck_grid(
188 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
189 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD, RGB_SAD, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX,
190 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, RGB_TOG,
191 _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, FMWARE
192),
193
194/* ## FMWare
195
196| | | |EEPROM|Reset | | | | | | | |
197| | |Reset |Debug | | | | | | | | |
198|------| | | | | | | | | | | |
199| \\/ | | | \\/ | | | | | | | | \\/ |
200 */
201
202[_FMWARE] = LAYOUT_planck_grid(
203 XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
204 XXXXXXX, XXXXXXX, RESET, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
205 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
206 _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______
207)
208
209};
210
211bool process_record_user(uint16_t keycode, keyrecord_t *record) {
212 switch (keycode) {
213 case QWERTY:
214 set_single_persistent_default_layer(_QWERTY);
215 return true;
216
217 case COLEMAK:
218 set_single_persistent_default_layer(_COLEMAK);
219 return true;
220
221 case SIMPLE:
222 set_single_persistent_default_layer(_SIMPLE);
223 return true;
224
225 case NORMAL:
226 layer_clear();
227 return false;
228 }
229 return true;
230}
231
232bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
233 switch (keycode) {
234 case SHFTESC:
235 case NUMSPAC:
236 case SFTENTR:
237 case ALT__A:
238 case ALTSCLN:
239 case ALT__O:
240 case GUI__S:
241 case GUI__L:
242 case GUI__R:
243 case GUI__I:
244 case SFT__D:
245 case SFT__K:
246 case SFT__S:
247 case SFT__E:
248 case CTL__F:
249 case CTL__J:
250 case CTL__T:
251 case CTL__N:
252 return true;
253 default:
254 return false;
255 }
256}
257
258bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
259 switch (keycode) {
260 case ALT__A:
261 case ALTSCLN:
262 case ALT__O:
263 case GUI__S:
264 case GUI__L:
265 case GUI__R:
266 case GUI__I:
267 case SFT__D:
268 case SFT__K:
269 case SFT__S:
270 case SFT__E:
271 case CTL__F:
272 case CTL__J:
273 case CTL__T:
274 case CTL__N:
275 return true;
276 default:
277 return false;
278 }
279}
diff --git a/keyboards/planck/keymaps/adamtabrams/readme.md b/keyboards/planck/keymaps/adamtabrams/readme.md
new file mode 100644
index 000000000..6512cb7d7
--- /dev/null
+++ b/keyboards/planck/keymaps/adamtabrams/readme.md
@@ -0,0 +1,89 @@
1## Normal - Qwerty
2
3|------|------|------|------|------|------|------|------|------|------|------|------|
4|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
5| Tab | Q | W | E | R | T | Y | U | I | O | P | -_ |
6| Bsp | A(A) | G(S) | S(D) | C(F) | G | H | C(J) | S(K) | G(L) | A(;) | '" |
7| ! | Z | X | C | V | B | N | M | , | . | / | Enter|
8| CTRL | GUI | ALT |System|Cursor|S(Esc)|N(Spc)|Arrows| Left | Down | Up | Right|
9
10- The `N` in `N(Spc)` stands for Number layer
11- Hold down a layer key to temporarily activate or tap twice to toggle on or off
12
13## Normal - Colemak
14
15|------|------|------|------|------|------|------|------|------|------|------|------|
16|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
17| Tab | Q | W | F | P | B | J | L | U | Y | ; | -_ |
18| Bsp | A(A) | G(R) | S(S) | C(T) | G | M | C(N) | S(E) | G(I) | A(O) | '" |
19| ! | Z | X | C | D | V | K | H | , | . | / | Enter|
20| CTRL | GUI | ALT |System|Cursor|S(Esc)|N(Spc)|Arrows| Left | Down | Up | Right|
21
22- The `N` in `N(Spc)` stands for Number layer
23- Hold down a layer key to temporarily activate or tap twice to toggle on or off
24
25## Normal - Simple
26
27|------|------|------|------|------|------|------|------|------|------|------|------|
28|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
29| Tab | Q | W | E | R | T | Y | U | I | O | P | Bsp |
30| Esc | A | S | D | F | G | H | J | K | L | ; | '" |
31| SHFT | Z | X | C | V | B | N | M | , | . | / |S(Ent)|
32| CTRL | GUI | ALT |System|Cursor| Spc |N(Spc)|Arrows| Left | Down | Up | Right|
33
34- The `N` in `N(Spc)` stands for Number layer
35- Hold down a layer key to temporarily activate or tap twice to toggle on or off
36
37## Number
38
39|------|------|------|------|------|------|------|------|------|------|------|------|
40|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
41| | \| | & | = | + | @ | % | # | * | $ | ^ | |
42| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \` |
43| | | [ | { | ( | ~ | ! | ) | } | ] | \ | |
44| | | | | | | \\/ | | | | |Normal|
45
46## Arrows
47
48|------|------|------|------|------|------|------|------|------|------|------|------|
49|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
50| | |A(->) | | |A(<-) | | P_Up | P_Up |C(->) | | |
51| | | |P_Down| | | Left | Down | Up |Right |C(<-) | |
52| | | | |P_Down|A(<-) | | | | | | |
53| | | | | | | | \\/ | | | |Normal|
54
55## Cursor
56
57|------|------|------|------|------|------|------|------|------|------|------|------|
58|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
59| | | |Wh_Dn |M_Btn2| | |Wh_Dn |Wh_Dn | | | |
60| |M_Acc2|M_Acc1|Wh_Up |M_Btn1| | M_L |M_Down| M_Up | M_R | | |
61| | | | |Wh_Up | | | | | | | |
62| | | | | \\/ | | | | | | |Normal|
63
64## System
65
66|------|------|------|------|------|------|------|------|------|------|------|------|
67|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
68| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
69| | |Pr_Scn|Pr_Scn| | |Brght-| Vol- | Vol+ |Brght+| Mute | |
70| | | | | | | | Mute |P_Trac|N_Trac| | Play |
71|KBoard| | | \\/ | | | | |Simple|Qwerty|Colemk|Normal|
72
73## KBoard
74
75|------|------|------|------|------|------|------|------|------|------|------|------|
76|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
77|------| | | | | | | | | | | |
78| | | | | | | Hue- | Sat- | Sat+ | Hue+ |Mode+ | |
79| | | | | | | |Mode- |Brght-|Brght+| |RGB_Tg|
80| \\/ | | | \\/ | | | | | | | |FMWare|
81
82## FMWare
83
84|------|------|------|------|------|------|------|------|------|------|------|------|
85|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|
86| | | |EEPROM|Reset | | | | | | | |
87| | |Reset |Debug | | | | | | | | |
88|------| | | | | | | | | | | |
89| \\/ | | | \\/ | | | | | | | | \\/ |
diff --git a/keyboards/planck/keymaps/adamtabrams/rules.mk b/keyboards/planck/keymaps/adamtabrams/rules.mk
new file mode 100644
index 000000000..31da4ef08
--- /dev/null
+++ b/keyboards/planck/keymaps/adamtabrams/rules.mk
@@ -0,0 +1,13 @@
1SRC += muse.c
2LTO_ENABLE = yes
3
4MOUSEKEY_ENABLE = yes
5EXTRAKEY_ENABLE = yes
6NKRO_ENABLE = yes
7RGBLIGHT_ENABLE = yes
8
9BOOTMAGIC_ENABLE = no
10COMMAND_ENABLE = no
11AUDIO_ENABLE = no
12ENCODER_ENABLE = no
13DIP_SWITCH_ENABLE = no