diff options
-rw-r--r-- | keyboards/phantom/config.h | 6 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/default/Makefile | 37 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/default/config.h | 24 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/default/keymap.c | 145 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/default/readme.md | 45 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/rgbmod/Makefile | 37 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/rgbmod/config.h | 24 | ||||
-rw-r--r-- | keyboards/phantom/keymaps/rgbmod/keymap.c | 77 | ||||
-rw-r--r-- | keyboards/phantom/phantom.h | 129 | ||||
-rw-r--r-- | keyboards/phantom/rules.mk | 2 |
10 files changed, 405 insertions, 121 deletions
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h index e073cd8dc..5b7fa62ff 100644 --- a/keyboards/phantom/config.h +++ b/keyboards/phantom/config.h | |||
@@ -24,9 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
24 | #define VENDOR_ID 0xFEED | 24 | #define VENDOR_ID 0xFEED |
25 | #define PRODUCT_ID 0x6060 | 25 | #define PRODUCT_ID 0x6060 |
26 | #define DEVICE_VER 0x0003 | 26 | #define DEVICE_VER 0x0003 |
27 | #define MANUFACTURER PHANTOM | 27 | #define MANUFACTURER bpiphany |
28 | #define PRODUCT PHANTOM RGB MOD | 28 | #define PRODUCT PHANTOM |
29 | #define DESCRIPTION QMK keyboard firmware for PHANTOM TKL | 29 | #define DESCRIPTION QMK keyboard firmware for PHANTOM |
30 | 30 | ||
31 | /* key matrix size */ | 31 | /* key matrix size */ |
32 | #define MATRIX_ROWS 6 | 32 | #define MATRIX_ROWS 6 |
diff --git a/keyboards/phantom/keymaps/default/Makefile b/keyboards/phantom/keymaps/default/Makefile new file mode 100644 index 000000000..555ac79fa --- /dev/null +++ b/keyboards/phantom/keymaps/default/Makefile | |||
@@ -0,0 +1,37 @@ | |||
1 | # Copyright 2013 Jun Wako <wakojun@gmail.com> | ||
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 | # QMK Build Options | ||
18 | # change to "no" to disable the options, or define them in the Makefile in | ||
19 | # the appropriate keymap folder that will get included automatically | ||
20 | # | ||
21 | BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) | ||
22 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
23 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
24 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
25 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
26 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
27 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
28 | MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) | ||
29 | AUDIO_ENABLE = no # Audio output on port C6 | ||
30 | UNICODE_ENABLE = no # Unicode | ||
31 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
32 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | ||
33 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
34 | |||
35 | ifndef QUANTUM_DIR | ||
36 | include ../../../../Makefile | ||
37 | endif | ||
diff --git a/keyboards/phantom/keymaps/default/config.h b/keyboards/phantom/keymaps/default/config.h new file mode 100644 index 000000000..a3828f7d5 --- /dev/null +++ b/keyboards/phantom/keymaps/default/config.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /* Copyright 2017 Mathias Andersson <wraul@dbox.se> | ||
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 | #ifndef CONFIG_USER_H | ||
18 | #define CONFIG_USER_H | ||
19 | |||
20 | #include "../../config.h" | ||
21 | |||
22 | // place overrides here | ||
23 | |||
24 | #endif | ||
diff --git a/keyboards/phantom/keymaps/default/keymap.c b/keyboards/phantom/keymaps/default/keymap.c index a4fc319ac..1568d0a14 100644 --- a/keyboards/phantom/keymaps/default/keymap.c +++ b/keyboards/phantom/keymaps/default/keymap.c | |||
@@ -1,7 +1,22 @@ | |||
1 | /* Copyright 2017 Mathias Andersson <wraul@dbox.se> | ||
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 | */ | ||
1 | #include "phantom.h" | 16 | #include "phantom.h" |
2 | 17 | ||
3 | // Used for SHIFT_ESC | 18 | // Helpful defines |
4 | #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) | 19 | #define _______ KC_TRNS |
5 | 20 | ||
6 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 21 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
7 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 22 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
@@ -11,92 +26,52 @@ | |||
11 | #define _FL 1 | 26 | #define _FL 1 |
12 | 27 | ||
13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 28 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
14 | /* Keymap _BL: (Base Layer) Default Layer | 29 | [_BL] = KEYMAP( |
15 | * ,-----------------------------------------------------------------------------. | 30 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_BRK, \ |
16 | * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| | 31 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ |
17 | * |-----------------------------------------------------------| |--------------| | 32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ |
18 | * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| | 33 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ |
19 | * |-----------------------------------------------------------| |--------------| | 34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ |
20 | * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| | 35 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ |
21 | * |-----------------------------------------------------------| `--------------' | 36 | ), |
22 | * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 37 | [_FL] = KEYMAP( |
23 | * |-----------------------------------------------------------| ,----. | 38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ |
24 | * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | | 39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
25 | * |-----------------------------------------------------------| ,-------------. | 40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, _______, _______, _______, \ |
26 | * |Ctrl|Gui |Alt | Space |ALT |GUI |_FL |CTRL | |Lft| Dn |Rig | | 41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
27 | * `-----------------------------------------------------------' `-------------' | 42 | _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
28 | */ | 43 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ |
29 | [_BL] = KEYMAP( | 44 | ), |
30 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ | ||
31 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DELETE, KC_END, KC_PGDN, \ | ||
33 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ | ||
34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ | ||
35 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), | ||
36 | |||
37 | /* Keymap _FL: Function Layer | ||
38 | * ,-----------------------------------------------------------------------------. | ||
39 | * | | | | | | | | | | | | | | | | | | | | | ||
40 | * |-----------------------------------------------------------| |--------------| | ||
41 | * | | | | | | | | | | | | | | Reset | | | | | | ||
42 | * |-----------------------------------------------------------| |--------------| | ||
43 | * | | | | | | | | | | | | | | | | | | | | ||
44 | * |-----------------------------------------------------------| `--------------' | ||
45 | * | | | | | | | | | | | | | | | ||
46 | * |-----------------------------------------------------------| ,----. | ||
47 | * | | F1| F2| F3| F4| F5|F6 |F7 |F8 | | | | | | | ||
48 | * |-----------------------------------------------------------| ,-------------. | ||
49 | * | | | | | | | | | | | | | | ||
50 | * `-----------------------------------------------------------' `-------------' | ||
51 | */ | ||
52 | [_FL] = KEYMAP( | ||
53 | #ifdef RGBLIGHT_ENABLE | ||
54 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
55 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
56 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
57 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, \ | ||
58 | KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
59 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
60 | #else | ||
61 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
62 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
63 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
64 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, \ | ||
65 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
66 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
67 | #endif | ||
68 | }; | 45 | }; |
69 | 46 | ||
70 | enum function_id { | 47 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
71 | SHIFT_ESC, | 48 | { |
49 | // MACRODOWN only works in this function | ||
50 | switch(id) { | ||
51 | case 0: | ||
52 | if (record->event.pressed) { | ||
53 | register_code(KC_RSFT); | ||
54 | } else { | ||
55 | unregister_code(KC_RSFT); | ||
56 | } | ||
57 | break; | ||
58 | } | ||
59 | return MACRO_NONE; | ||
72 | }; | 60 | }; |
73 | 61 | ||
74 | const uint16_t PROGMEM fn_actions[] = { | ||
75 | [0] = ACTION_FUNCTION(SHIFT_ESC), | ||
76 | }; | ||
77 | 62 | ||
78 | void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | 63 | void matrix_init_user(void) { |
79 | static uint8_t shift_esc_shift_mask; | 64 | |
80 | switch (id) { | 65 | } |
81 | case SHIFT_ESC: | 66 | |
82 | shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; | 67 | void matrix_scan_user(void) { |
83 | if (record->event.pressed) { | 68 | |
84 | if (shift_esc_shift_mask) { | 69 | } |
85 | add_key(KC_GRV); | 70 | |
86 | send_keyboard_report(); | 71 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
87 | } else { | 72 | return true; |
88 | add_key(KC_ESC); | 73 | } |
89 | send_keyboard_report(); | 74 | |
90 | } | 75 | void led_set_user(uint8_t usb_led) { |
91 | } else { | 76 | |
92 | if (shift_esc_shift_mask) { | ||
93 | del_key(KC_GRV); | ||
94 | send_keyboard_report(); | ||
95 | } else { | ||
96 | del_key(KC_ESC); | ||
97 | send_keyboard_report(); | ||
98 | } | ||
99 | } | ||
100 | break; | ||
101 | } | ||
102 | } | 77 | } |
diff --git a/keyboards/phantom/keymaps/default/readme.md b/keyboards/phantom/keymaps/default/readme.md new file mode 100644 index 000000000..f58f4f0f3 --- /dev/null +++ b/keyboards/phantom/keymaps/default/readme.md | |||
@@ -0,0 +1,45 @@ | |||
1 | # Keymap for a standard winkey ANSI configuration of the Phantom | ||
2 | |||
3 | A basic keymap intended for a Phantom using the standard ANSI layout. | ||
4 | |||
5 | See [keymap.c](keymap.c) for details. | ||
6 | |||
7 | ## Layers | ||
8 | |||
9 | The keymap have two layers. To access the functions on the second layer, hold down `Fn` and press the corresponding key. | ||
10 | |||
11 | ### Layer 1: Default Layer | ||
12 | ,---. ,---------------. ,---------------. ,---------------. ,-----------. | ||
13 | |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| | ||
14 | `---' `---------------' `---------------' `---------------' `-----------' | ||
15 | ,-----------------------------------------------------------. ,-----------. | ||
16 | |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU| | ||
17 | |-----------------------------------------------------------| |-----------| | ||
18 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD| | ||
19 | |-----------------------------------------------------------| '-----------' | ||
20 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | | ||
21 | |-----------------------------------------------------------| ,---. | ||
22 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | |Up | | ||
23 | |-----------------------------------------------------------| ,-----------. | ||
24 | |Ctl|Gui|Alt| Space |Alt|Gui|Fn |Ctl| |Lef|Dow|Rig| | ||
25 | `-----------------------------------------------------------' `-----------' | ||
26 | |||
27 | ### Layer 2: Function Layer | ||
28 | ,---. ,---------------. ,---------------. ,---------------. ,-----------. | ||
29 | | | | | | | | | | | | | |Stp|Ply|Prv|Nxt| |Mut|Vo-|Vo+| | ||
30 | `---' `---------------' `---------------' `---------------' `-----------' | ||
31 | ,-----------------------------------------------------------. ,-----------. | ||
32 | | | | | | | | | | | | | | | | | | | | | ||
33 | |-----------------------------------------------------------| |-----------| | ||
34 | | | | | | | | | | | | | | | | | | | | | ||
35 | |-----------------------------------------------------------| '-----------' | ||
36 | | | | | | | | | | | | | | Media | | ||
37 | |-----------------------------------------------------------| ,---. | ||
38 | | | | |Cal| | | | | | | | | | | | ||
39 | |-----------------------------------------------------------| ,-----------. | ||
40 | | | | | | | | | | | | | | | ||
41 | `-----------------------------------------------------------' `-----------' | ||
42 | |||
43 | ## Building | ||
44 | |||
45 | To build the firmware with the default keymap, run `make default`. | ||
diff --git a/keyboards/phantom/keymaps/rgbmod/Makefile b/keyboards/phantom/keymaps/rgbmod/Makefile new file mode 100644 index 000000000..38c23a1b8 --- /dev/null +++ b/keyboards/phantom/keymaps/rgbmod/Makefile | |||
@@ -0,0 +1,37 @@ | |||
1 | # Copyright 2013 Jun Wako <wakojun@gmail.com> | ||
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 | # QMK Build Options | ||
18 | # change to "no" to disable the options, or define them in the Makefile in | ||
19 | # the appropriate keymap folder that will get included automatically | ||
20 | # | ||
21 | BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) | ||
22 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
23 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
24 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
25 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
26 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
27 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
28 | MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) | ||
29 | AUDIO_ENABLE = no # Audio output on port C6 | ||
30 | UNICODE_ENABLE = no # Unicode | ||
31 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
32 | RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | ||
33 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
34 | |||
35 | ifndef QUANTUM_DIR | ||
36 | include ../../../../Makefile | ||
37 | endif | ||
diff --git a/keyboards/phantom/keymaps/rgbmod/config.h b/keyboards/phantom/keymaps/rgbmod/config.h new file mode 100644 index 000000000..a3828f7d5 --- /dev/null +++ b/keyboards/phantom/keymaps/rgbmod/config.h | |||
@@ -0,0 +1,24 @@ | |||
1 | /* Copyright 2017 Mathias Andersson <wraul@dbox.se> | ||
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 | #ifndef CONFIG_USER_H | ||
18 | #define CONFIG_USER_H | ||
19 | |||
20 | #include "../../config.h" | ||
21 | |||
22 | // place overrides here | ||
23 | |||
24 | #endif | ||
diff --git a/keyboards/phantom/keymaps/rgbmod/keymap.c b/keyboards/phantom/keymaps/rgbmod/keymap.c new file mode 100644 index 000000000..baef27a26 --- /dev/null +++ b/keyboards/phantom/keymaps/rgbmod/keymap.c | |||
@@ -0,0 +1,77 @@ | |||
1 | /* Copyright 2017 Mathias Andersson <wraul@dbox.se> | ||
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 | #include "phantom.h" | ||
17 | |||
18 | // Helpful defines | ||
19 | #define _______ KC_TRNS | ||
20 | |||
21 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
22 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
23 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
24 | // entirely and just use numbers. | ||
25 | #define _BL 0 | ||
26 | #define _FL 1 | ||
27 | |||
28 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
29 | [_BL] = KEYMAP( | ||
30 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ | ||
31 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ | ||
32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ | ||
33 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ | ||
34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ | ||
35 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ | ||
36 | ), | ||
37 | [_FL] = KEYMAP( | ||
38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, \ | ||
40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | ||
41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, \ | ||
42 | _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, \ | ||
43 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
44 | ), | ||
45 | }; | ||
46 | |||
47 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
48 | { | ||
49 | // MACRODOWN only works in this function | ||
50 | switch(id) { | ||
51 | case 0: | ||
52 | if (record->event.pressed) { | ||
53 | register_code(KC_RSFT); | ||
54 | } else { | ||
55 | unregister_code(KC_RSFT); | ||
56 | } | ||
57 | break; | ||
58 | } | ||
59 | return MACRO_NONE; | ||
60 | }; | ||
61 | |||
62 | |||
63 | void matrix_init_user(void) { | ||
64 | |||
65 | } | ||
66 | |||
67 | void matrix_scan_user(void) { | ||
68 | |||
69 | } | ||
70 | |||
71 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
72 | return true; | ||
73 | } | ||
74 | |||
75 | void led_set_user(uint8_t usb_led) { | ||
76 | |||
77 | } | ||
diff --git a/keyboards/phantom/phantom.h b/keyboards/phantom/phantom.h index 420826bec..784fca21f 100644 --- a/keyboards/phantom/phantom.h +++ b/keyboards/phantom/phantom.h | |||
@@ -1,40 +1,105 @@ | |||
1 | /* Copyright 2017 Mathias Andersson <wraul@dbox.se> | ||
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 | */ | ||
1 | #ifndef PHANTOM_H | 16 | #ifndef PHANTOM_H |
2 | #define PHANTOM_H | 17 | #define PHANTOM_H |
3 | 18 | ||
4 | #include "quantum.h" | 19 | #include "quantum.h" |
5 | 20 | ||
6 | /* Phantom matrix layout | 21 | // Keymap utilizing all the possible keys on the PCB. |
7 | * ,-----------------------------------------------------------------------------. | 22 | #define KEYMAP_7BIT( \ |
8 | * |00 |02| 03| 04| 05| | 06| 07| 08| 09| | 0a|0b |0c |0d | |0e |0f |0g | | 23 | K00, K53, K02, K03, K04, K05, K56, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ |
9 | * |-----------------------------------------------------------| |--------------| | 24 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ |
10 | * | 01| 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1d | |1e |1f |1g | | 25 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ |
11 | * |-----------------------------------------------------------| |--------------| | 26 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, \ |
12 | * |20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c| 2d| | 2e | 2f | 2g | | 27 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, \ |
13 | * |-----------------------------------------------------------| `--------------' | 28 | K50, K51, K52, K54, K55, K57, K58, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ |
14 | * |30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | | 29 | ) { \ |
15 | * |-----------------------------------------------------------| ,----. | 30 | /* 0 1 2 3 4 5 6 7 8 9 A B C D E F G */ \ |
16 | * | 40 | 42| 43| 44| 45| 46| 47| 48| 49| 4a| 4b| 4d | | 4f | | 31 | /* 0 */ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ |
17 | * |-----------------------------------------------------------| ,-------------. | 32 | /* 1 */ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ |
18 | * | 50 | 51 | 52 | 57 |5a | 5b | 5c | 5d | | 5e| 5f | 5g | | 33 | /* 2 */ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ |
19 | * `-----------------------------------------------------------' `-------------' | 34 | /* 3 */ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G }, \ |
20 | */ | 35 | /* 4 */ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G }, \ |
21 | // The first section contains all of the arguments | 36 | /* 5 */ { K50, K51, K52, K53, K54, K55, K56, K57, K58, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G } \ |
22 | // The second converts the arguments into a two-dimensional array | ||
23 | #define KEYMAP( \ | ||
24 | k00, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ | ||
25 | k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1d, k1e, k1f, k1g, \ | ||
26 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \ | ||
27 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ | ||
28 | k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4d, k4f, \ | ||
29 | k50, k51, k52, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g \ | ||
30 | ) \ | ||
31 | { \ | ||
32 | {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g}, \ | ||
33 | {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1d, k1d, k1e, k1f, k1g}, \ | ||
34 | {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g}, \ | ||
35 | {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3d, k3d, k3d, k3d}, \ | ||
36 | {k40, k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4d, k4d, k4f, k4f, k4f}, \ | ||
37 | {k50, k51, k52, k57, k57, k57, k57, k57, k57, k57, k5a, k5b, k5c, k5d, k5e, k5f, k5g} \ | ||
38 | } | 37 | } |
39 | 38 | ||
39 | |||
40 | // Keymap for a standard ANSI layout. | ||
41 | #define KEYMAP( \ | ||
42 | K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
43 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ | ||
44 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ | ||
45 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ | ||
46 | K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ | ||
47 | K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
48 | ) KEYMAP_7BIT( \ | ||
49 | K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
50 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ | ||
51 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ | ||
52 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO, \ | ||
53 | K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ | ||
54 | K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
55 | ) | ||
56 | |||
57 | #define KEYMAP_WINKEYLESS( \ | ||
58 | K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
59 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ | ||
60 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ | ||
61 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ | ||
62 | K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ | ||
63 | K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
64 | ) KEYMAP_7BIT( \ | ||
65 | K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
66 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ | ||
67 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ | ||
68 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO, \ | ||
69 | K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ | ||
70 | K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
71 | ) | ||
72 | |||
73 | #define KEYMAP_ISO( \ | ||
74 | K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
75 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ | ||
76 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ | ||
77 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
78 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ | ||
79 | K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
80 | ) KEYMAP_7BIT( \ | ||
81 | K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
82 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ | ||
83 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \ | ||
84 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO, \ | ||
85 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ | ||
86 | K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
87 | ) | ||
88 | |||
89 | #define KEYMAP_ISO_WINKEYLESS( \ | ||
90 | K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
91 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ | ||
92 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ | ||
93 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
94 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ | ||
95 | K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
96 | ) KEYMAP_7BIT( \ | ||
97 | K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ | ||
98 | K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ | ||
99 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \ | ||
100 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO, \ | ||
101 | K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ | ||
102 | K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G \ | ||
103 | ) | ||
104 | |||
40 | #endif | 105 | #endif |
diff --git a/keyboards/phantom/rules.mk b/keyboards/phantom/rules.mk index 23b42cf98..c07593961 100644 --- a/keyboards/phantom/rules.mk +++ b/keyboards/phantom/rules.mk | |||
@@ -61,7 +61,7 @@ SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend | |||
61 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | 61 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work |
62 | NKRO_ENABLE ?= yes # USB Nkey Rollover | 62 | NKRO_ENABLE ?= yes # USB Nkey Rollover |
63 | BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality | 63 | BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality |
64 | RGBLIGHT_ENABLE ?= yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | 64 | RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. |
65 | MIDI_ENABLE ?= no # MIDI support (+2400 to 4200, depending on config) | 65 | MIDI_ENABLE ?= no # MIDI support (+2400 to 4200, depending on config) |
66 | UNICODE_ENABLE ?= no # Unicode | 66 | UNICODE_ENABLE ?= no # Unicode |
67 | BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID | 67 | BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID |