diff options
author | Jay Greco <jayv.greco@gmail.com> | 2021-02-01 03:05:10 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-01 03:05:10 -0800 |
commit | 588fd8c2d07d57f2fd706089d8cbb54a3df0a687 (patch) | |
tree | bc3b57f8827fc46c444948d446532640667c521c /keyboards/nullbitsco | |
parent | 3f91b2b8f86a5b639688c6941e7f231a7b87300d (diff) | |
download | qmk_firmware-588fd8c2d07d57f2fd706089d8cbb54a3df0a687.tar.gz qmk_firmware-588fd8c2d07d57f2fd706089d8cbb54a3df0a687.zip |
[Keyboard] Add nullbitsco SCRAMBLE (#11078)
* Add SCRAMBLE
* Make requested changes to PR
* Add all layers to VIA keymap
Implement drashna's PR feedback in order to avoid random data within the layers in VIA.
* Make requested changes to PR
Implement fauxpark's PR feedback to clean up readme.md and rules.mk.
* Make changes based on PR feedback
-Changed VIA layers to enum
-Added info on how to enter the bootloader to readme
Diffstat (limited to 'keyboards/nullbitsco')
-rw-r--r-- | keyboards/nullbitsco/scramble/config.h | 42 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/info.json | 39 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/default/keymap.c | 41 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/oled/config.h | 22 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/oled/keymap.c | 85 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/oled/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/via/keymap.c | 61 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/keymaps/via/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/readme.md | 19 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/rules.mk | 23 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/scramble.c | 40 | ||||
-rw-r--r-- | keyboards/nullbitsco/scramble/scramble.h | 39 |
12 files changed, 413 insertions, 0 deletions
diff --git a/keyboards/nullbitsco/scramble/config.h b/keyboards/nullbitsco/scramble/config.h new file mode 100644 index 000000000..949c28026 --- /dev/null +++ b/keyboards/nullbitsco/scramble/config.h | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0x6E61 | ||
24 | #define PRODUCT_ID 0x6062 | ||
25 | |||
26 | #define DEVICE_VER 0x0001 | ||
27 | #define MANUFACTURER nullbits | ||
28 | #define PRODUCT SCRAMBLE | ||
29 | |||
30 | /* key matrix size */ | ||
31 | #define MATRIX_ROWS 2 | ||
32 | #define MATRIX_COLS 3 | ||
33 | |||
34 | #define DIRECT_PINS {{D4,D5,B1}, {C3,C2,C1}} | ||
35 | |||
36 | /* Set 0 if debouncing isn't needed */ | ||
37 | #define DEBOUNCE 10 | ||
38 | |||
39 | /* Optional encoder pins */ | ||
40 | #define ENCODERS_PAD_A { D6 } | ||
41 | #define ENCODERS_PAD_B { D7 } | ||
42 | #define TAP_CODE_DELAY 10 | ||
diff --git a/keyboards/nullbitsco/scramble/info.json b/keyboards/nullbitsco/scramble/info.json new file mode 100644 index 000000000..348db649c --- /dev/null +++ b/keyboards/nullbitsco/scramble/info.json | |||
@@ -0,0 +1,39 @@ | |||
1 | { | ||
2 | "keyboard_name": "SCRAMBLE switch tester", | ||
3 | "keyboard_folder": "nullbitsco/scramble", | ||
4 | "url": "https://nullbits.co/scramble", | ||
5 | "maintainer": "jaygreco", | ||
6 | "width": 3, | ||
7 | "height": 2, | ||
8 | "layouts": { | ||
9 | "LAYOUT": { | ||
10 | "layout": [ | ||
11 | { | ||
12 | "label": "n", | ||
13 | "x": 0, | ||
14 | "y": 0 | ||
15 | }, | ||
16 | { | ||
17 | "x": 1, | ||
18 | "y": 0 | ||
19 | }, | ||
20 | { | ||
21 | "x": 2, | ||
22 | "y": 0 | ||
23 | }, | ||
24 | { | ||
25 | "x": 0, | ||
26 | "y": 1 | ||
27 | }, | ||
28 | { | ||
29 | "x": 1, | ||
30 | "y": 1 | ||
31 | }, | ||
32 | { | ||
33 | "x": 2, | ||
34 | "y": 1 | ||
35 | } | ||
36 | ] | ||
37 | } | ||
38 | } | ||
39 | } | ||
diff --git a/keyboards/nullbitsco/scramble/keymaps/default/keymap.c b/keyboards/nullbitsco/scramble/keymaps/default/keymap.c new file mode 100644 index 000000000..81bd732db --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/default/keymap.c | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | #define _BASE 1 | ||
21 | |||
22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
23 | |||
24 | [_BASE] = LAYOUT( | ||
25 | KC_F13, KC_F14, KC_F15, | ||
26 | KC_F16, KC_F17, KC_F18 | ||
27 | ) | ||
28 | |||
29 | }; | ||
30 | |||
31 | void matrix_init_user(void) { | ||
32 | set_scramble_LED(LED_OFF); | ||
33 | } | ||
34 | |||
35 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
36 | if (clockwise) { | ||
37 | tap_code(KC_VOLU); | ||
38 | } else { | ||
39 | tap_code(KC_VOLD); | ||
40 | } | ||
41 | } | ||
diff --git a/keyboards/nullbitsco/scramble/keymaps/oled/config.h b/keyboards/nullbitsco/scramble/keymaps/oled/config.h new file mode 100644 index 000000000..5bfc9cff7 --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/oled/config.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #pragma once | ||
19 | // Alternate boot pins for accessing the bootloader, | ||
20 | // since the boot switch is blocked by the OLED. | ||
21 | #define BOOTMAGIC_LITE_ROW 1 | ||
22 | #define BOOTMAGIC_LITE_COLUMN 2 | ||
diff --git a/keyboards/nullbitsco/scramble/keymaps/oled/keymap.c b/keyboards/nullbitsco/scramble/keymaps/oled/keymap.c new file mode 100644 index 000000000..eac0a470f --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/oled/keymap.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | #define _BASE 1 | ||
21 | |||
22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
23 | |||
24 | [_BASE] = LAYOUT( | ||
25 | KC_F13, KC_F14, KC_F15, | ||
26 | KC_F16, KC_F17, KC_F18 | ||
27 | ) | ||
28 | |||
29 | }; | ||
30 | |||
31 | #ifdef OLED_DRIVER_ENABLE | ||
32 | static void render_logo(void) { | ||
33 | static const char PROGMEM nullbits_logo[] = { | ||
34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
37 | 0x00, 0x00, 0xf6, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xfe, 0xff, 0xfe, 0xf4, 0x00, | ||
38 | 0x00, 0x00, 0x00, 0xfe, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
39 | 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, | ||
43 | 0xe0, 0xe0, 0xe0, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, | ||
44 | 0x00, 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, | ||
45 | 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, | ||
46 | 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, | ||
47 | 0x00, 0x00, 0x00, 0x00, 0x01, 0xc3, 0xe3, 0xe3, 0xc3, 0x00, 0x00, 0xc0, 0xe0, 0xe0, 0xfe, 0xfe, | ||
48 | 0xff, 0xfe, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, | ||
49 | 0xc0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
50 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, | ||
51 | 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, | ||
52 | 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, | ||
53 | 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, | ||
54 | 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x03, 0x03, 0x07, 0x0f, 0xff, 0xff, 0xfe, | ||
55 | 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0xff, 0xff, | ||
56 | 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x00, 0x1e, 0x3f, 0x7f, 0xff, 0xfb, 0xf3, 0xf1, 0xe1, 0xe1, | ||
57 | 0xe1, 0xc1, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
58 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, | ||
59 | 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, | ||
60 | 0x00, 0x0f, 0x3f, 0x7f, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0x7f, 0x3f, 0x1f, 0x00, 0x00, | ||
61 | 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0x00, | ||
62 | 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x7f, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x7e, 0x3f, 0x3f, 0x1f, | ||
63 | 0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, | ||
64 | 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xfb, | ||
65 | 0x7f, 0x7f, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | ||
66 | }; | ||
67 | oled_write_raw_P(nullbits_logo, sizeof(nullbits_logo)); | ||
68 | } | ||
69 | |||
70 | void oled_task_user(void) { | ||
71 | render_logo(); | ||
72 | } | ||
73 | #endif | ||
74 | |||
75 | void matrix_init_user(void) { | ||
76 | set_scramble_LED(LED_OFF); | ||
77 | } | ||
78 | |||
79 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
80 | if (clockwise) { | ||
81 | tap_code(KC_VOLU); | ||
82 | } else { | ||
83 | tap_code(KC_VOLD); | ||
84 | } | ||
85 | } | ||
diff --git a/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk b/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk new file mode 100644 index 000000000..c58266213 --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk | |||
@@ -0,0 +1 @@ | |||
OLED_DRIVER_ENABLE = yes | |||
diff --git a/keyboards/nullbitsco/scramble/keymaps/via/keymap.c b/keyboards/nullbitsco/scramble/keymaps/via/keymap.c new file mode 100644 index 000000000..91a448cc1 --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/via/keymap.c | |||
@@ -0,0 +1,61 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | enum layer_names { | ||
21 | _BASE, | ||
22 | _VIA1, | ||
23 | _VIA2, | ||
24 | _VIA3 | ||
25 | }; | ||
26 | |||
27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
28 | |||
29 | [_BASE] = LAYOUT( | ||
30 | KC_F1, KC_F2, KC_F3, | ||
31 | KC_F4, KC_F5, KC_F6 | ||
32 | ), | ||
33 | |||
34 | [_VIA1] = LAYOUT( | ||
35 | _______, _______, _______, | ||
36 | _______, _______, _______ | ||
37 | ), | ||
38 | |||
39 | [_VIA2] = LAYOUT( | ||
40 | _______, _______, _______, | ||
41 | _______, _______, _______ | ||
42 | ), | ||
43 | |||
44 | [_VIA3] = LAYOUT( | ||
45 | _______, _______, _______, | ||
46 | _______, _______, _______ | ||
47 | ) | ||
48 | |||
49 | }; | ||
50 | |||
51 | void matrix_init_user(void) { | ||
52 | set_scramble_LED(LED_OFF); | ||
53 | } | ||
54 | |||
55 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
56 | if (clockwise) { | ||
57 | tap_code(KC_VOLU); | ||
58 | } else { | ||
59 | tap_code(KC_VOLD); | ||
60 | } | ||
61 | } \ No newline at end of file | ||
diff --git a/keyboards/nullbitsco/scramble/keymaps/via/rules.mk b/keyboards/nullbitsco/scramble/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/nullbitsco/scramble/keymaps/via/rules.mk | |||
@@ -0,0 +1 @@ | |||
VIA_ENABLE = yes | |||
diff --git a/keyboards/nullbitsco/scramble/readme.md b/keyboards/nullbitsco/scramble/readme.md new file mode 100644 index 000000000..6673b807d --- /dev/null +++ b/keyboards/nullbitsco/scramble/readme.md | |||
@@ -0,0 +1,19 @@ | |||
1 | # SCRAMBLE | ||
2 | |||
3 |  | ||
4 | |||
5 | A 6-switch key tester macropad built by nullbits. [More info at nullbits.co](https://nullbits.co/scramble/) | ||
6 | |||
7 | * Keyboard Maintainer: [Jay Greco](https://github.com/jaygreco) | ||
8 | * Hardware Supported: SCRAMBLE Rev1 | ||
9 | * Hardware Availability: [nullbits.co](https://nullbits.co/) | ||
10 | |||
11 | Note: If you are seeing issues with MacOS and keyboard hangs after sleep, make sure `NO_USB_STARTUP_CHECK = yes` is set in your rules.mk. | ||
12 | |||
13 | In order to enter the bootloader, hold switch #6 while plugging in the USB cable. The LED will stay on to indicate that it's in DFU mode. | ||
14 | |||
15 | Flashing example for this keyboard: | ||
16 | |||
17 | make nullbitsco/scramble:default | ||
18 | |||
19 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/nullbitsco/scramble/rules.mk b/keyboards/nullbitsco/scramble/rules.mk new file mode 100644 index 000000000..6fc0c4598 --- /dev/null +++ b/keyboards/nullbitsco/scramble/rules.mk | |||
@@ -0,0 +1,23 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega328p | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = USBasp | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
22 | AUDIO_ENABLE = no # Audio output | ||
23 | ENCODER_ENABLE = yes # Use rotary encoder | ||
diff --git a/keyboards/nullbitsco/scramble/scramble.c b/keyboards/nullbitsco/scramble/scramble.c new file mode 100644 index 000000000..3e981cfbb --- /dev/null +++ b/keyboards/nullbitsco/scramble/scramble.c | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | Copyright 2020 Jay Greco | ||
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 | |||
18 | #include QMK_KEYBOARD_H | ||
19 | |||
20 | // place overrides here | ||
21 | void set_scramble_LED(uint8_t mode) { | ||
22 | switch(mode) { | ||
23 | case LED_ON: | ||
24 | setPinOutput(PIN_LED); | ||
25 | writePin(PIN_LED, GPIO_STATE_HIGH); | ||
26 | break; | ||
27 | |||
28 | case LED_DIM: | ||
29 | setPinInput(PIN_LED); | ||
30 | break; | ||
31 | |||
32 | case LED_OFF: | ||
33 | setPinOutput(PIN_LED); | ||
34 | writePin(PIN_LED, GPIO_STATE_LOW); | ||
35 | break; | ||
36 | |||
37 | default: | ||
38 | break; | ||
39 | } | ||
40 | } | ||
diff --git a/keyboards/nullbitsco/scramble/scramble.h b/keyboards/nullbitsco/scramble/scramble.h new file mode 100644 index 000000000..5d3e1b010 --- /dev/null +++ b/keyboards/nullbitsco/scramble/scramble.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* Copyright 2020 Jay Greco | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #pragma once | ||
18 | |||
19 | #include "quantum.h" | ||
20 | |||
21 | // Indication LED settings | ||
22 | #define LED_ON 2 | ||
23 | #define LED_DIM 1 | ||
24 | #define LED_OFF 0 | ||
25 | |||
26 | #define GPIO_STATE_LOW 0 | ||
27 | #define GPIO_STATE_HIGH 1 | ||
28 | |||
29 | #define PIN_LED B2 | ||
30 | |||
31 | void set_scramble_LED(uint8_t mode); | ||
32 | |||
33 | #define LAYOUT( \ | ||
34 | K01, K02, K03, \ | ||
35 | K11, K12, K13 \ | ||
36 | ) { \ | ||
37 | {K01, K02, K03}, \ | ||
38 | {K11, K12, K13}, \ | ||
39 | } | ||