diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2018-02-10 17:09:47 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-10 17:09:47 -0800 |
commit | 994d94140e16f60515f193337309d89af6e6695e (patch) | |
tree | b5f779a25f5a064e329bdb5944eeeb6a028b8e05 | |
parent | fa72d4aa5ad278bd830fdea6da4e6d1311bba96d (diff) | |
download | qmk_firmware-994d94140e16f60515f193337309d89af6e6695e.tar.gz qmk_firmware-994d94140e16f60515f193337309d89af6e6695e.zip |
Clueboard hotswap support (#2376)
-rw-r--r-- | keyboards/clueboard/66_hotswap/66_hotswap.c | 1 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/66_hotswap.h | 10 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/config.h | 63 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/gen1/config.h | 53 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/gen1/gen1.c | 63 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/gen1/gen1.h | 71 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/gen1/info.json | 3 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/gen1/rules.mk | 1 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/info.json | 12 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c | 36 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md | 11 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/keymaps/default/keymap.c | 36 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/keymaps/default/readme.md | 8 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/readme.md | 16 | ||||
-rw-r--r-- | keyboards/clueboard/66_hotswap/rules.mk | 23 |
15 files changed, 407 insertions, 0 deletions
diff --git a/keyboards/clueboard/66_hotswap/66_hotswap.c b/keyboards/clueboard/66_hotswap/66_hotswap.c new file mode 100644 index 000000000..cc38050a9 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/66_hotswap.c | |||
@@ -0,0 +1 @@ | |||
#include "66_hotswap.h" | |||
diff --git a/keyboards/clueboard/66_hotswap/66_hotswap.h b/keyboards/clueboard/66_hotswap/66_hotswap.h new file mode 100644 index 000000000..61c6fe359 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/66_hotswap.h | |||
@@ -0,0 +1,10 @@ | |||
1 | #ifndef CLUEBOARD_H | ||
2 | #define CLUEBOARD_H | ||
3 | |||
4 | #include "quantum.h" | ||
5 | |||
6 | #ifdef KEYBOARD_clueboard_66_hotswap_gen1 | ||
7 | #include "gen1.h" | ||
8 | #endif | ||
9 | |||
10 | #endif | ||
diff --git a/keyboards/clueboard/66_hotswap/config.h b/keyboards/clueboard/66_hotswap/config.h new file mode 100644 index 000000000..59a0abc7f --- /dev/null +++ b/keyboards/clueboard/66_hotswap/config.h | |||
@@ -0,0 +1,63 @@ | |||
1 | /* | ||
2 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
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 | #ifndef CLUEBOARD_66_CONFIG_H | ||
19 | #define CLUEBOARD_66_CONFIG_H | ||
20 | |||
21 | #include "config_common.h" | ||
22 | |||
23 | /* USB Device descriptor parameter */ | ||
24 | #define VENDOR_ID 0xC1ED | ||
25 | #define MANUFACTURER Clueboard | ||
26 | #define PRODUCT Clueboard 66% HotSwap | ||
27 | #define DESCRIPTION QMK keyboard firmware for Clueboard 66% | ||
28 | |||
29 | /* COL2ROW or ROW2COL */ | ||
30 | #define DIODE_DIRECTION COL2ROW | ||
31 | |||
32 | /* Set 0 if debouncing isn't needed */ | ||
33 | #define DEBOUNCING_DELAY 5 | ||
34 | |||
35 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
36 | #define LOCKING_SUPPORT_ENABLE | ||
37 | /* Locking resynchronize hack */ | ||
38 | #define LOCKING_RESYNC_ENABLE | ||
39 | |||
40 | /* key combination for command */ | ||
41 | #define IS_COMMAND() ( \ | ||
42 | keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ | ||
43 | ) | ||
44 | |||
45 | /* | ||
46 | * Feature disable options | ||
47 | * These options are also useful to firmware size reduction. | ||
48 | */ | ||
49 | |||
50 | /* disable debug print */ | ||
51 | //#define NO_DEBUG | ||
52 | |||
53 | /* disable print */ | ||
54 | //#define NO_PRINT | ||
55 | |||
56 | /* disable action features */ | ||
57 | //#define NO_ACTION_LAYER | ||
58 | //#define NO_ACTION_TAPPING | ||
59 | //#define NO_ACTION_ONESHOT | ||
60 | //#define NO_ACTION_MACRO | ||
61 | //#define NO_ACTION_FUNCTION | ||
62 | |||
63 | #endif | ||
diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h new file mode 100644 index 000000000..d8163f538 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/config.h | |||
@@ -0,0 +1,53 @@ | |||
1 | #ifndef CLUEBOARD_66_REV3_CONFIG_H | ||
2 | #define CLUEBOARD_66_REV3_CONFIG_H | ||
3 | |||
4 | #include "config_common.h" | ||
5 | |||
6 | #define PRODUCT_ID 0x2390 | ||
7 | #define DEVICE_VER 0x0001 | ||
8 | |||
9 | /* key matrix size */ | ||
10 | #define MATRIX_ROWS 10 | ||
11 | #define MATRIX_COLS 8 | ||
12 | |||
13 | // ROWS: Top to bottom, COLS: Left to right | ||
14 | /* Row pin configuration | ||
15 | * row: 0 1 2 3 4 5 6 7 8 9 | ||
16 | * pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2 | ||
17 | */ | ||
18 | |||
19 | #define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 } | ||
20 | /* Column pin configuration | ||
21 | * col: 0 1 2 3 4 5 6 7 | ||
22 | * pin: F0 F1 F4 F5 F6 F7 E6 B1 | ||
23 | */ | ||
24 | #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 } | ||
25 | #define UNUSED_PINS | ||
26 | |||
27 | /* Speaker configuration | ||
28 | */ | ||
29 | //#define SPEAKER_PIN B7 // FIXME: find the correct name for this define | ||
30 | |||
31 | /* Backlight configuration | ||
32 | */ | ||
33 | #define BACKLIGHT_LEVELS 1 | ||
34 | |||
35 | /* Underlight configuration | ||
36 | */ | ||
37 | #define RGB_DI_PIN D7 | ||
38 | #define RGBLED_NUM 26 // Number of LEDs | ||
39 | #define RGBLIGHT_HUE_STEP 32 | ||
40 | #define RGBLIGHT_SAT_STEP 17 | ||
41 | #define RGBLIGHT_VAL_STEP 17 | ||
42 | |||
43 | #define RGBLIGHT_ANIMATIONS | ||
44 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 | ||
45 | #define RGBLIGHT_EFFECT_BREATHE_MAX 200 | ||
46 | #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2 | ||
47 | #define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1 | ||
48 | #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 4 // How many LEDs wide to light up | ||
49 | #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 16 // The led to start at | ||
50 | #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 8 // How many LEDs to travel | ||
51 | #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4 // How many LEDs wide to light up | ||
52 | |||
53 | #endif | ||
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c new file mode 100644 index 000000000..01f74bc50 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c | |||
@@ -0,0 +1,63 @@ | |||
1 | #include "gen1.h" | ||
2 | #include <avr/io.h> | ||
3 | #include "backlight.h" | ||
4 | #include "print.h" | ||
5 | |||
6 | void matrix_init_kb(void) { | ||
7 | // put your keyboard start-up code here | ||
8 | // runs once when the firmware starts up | ||
9 | matrix_init_user(); | ||
10 | led_init_ports(); | ||
11 | |||
12 | // JTAG disable for PORT F. write JTD bit twice within four cycles. | ||
13 | MCUCR |= (1<<JTD); | ||
14 | MCUCR |= (1<<JTD); | ||
15 | } | ||
16 | |||
17 | |||
18 | void matrix_scan_kb(void) { | ||
19 | matrix_scan_user(); | ||
20 | } | ||
21 | |||
22 | void backlight_init_ports(void) { | ||
23 | print("init_backlight_pin()\n"); | ||
24 | // Set our LED pins as output | ||
25 | DDRD |= (1<<0); // Esc | ||
26 | DDRD |= (1<<4); // Page Up | ||
27 | DDRD |= (1<<1); // Arrows | ||
28 | |||
29 | // Set our LED pins low | ||
30 | PORTD &= ~(1<<0); // Esc | ||
31 | PORTD &= ~(1<<4); // Page Up | ||
32 | PORTD &= ~(1<<1); // Arrows | ||
33 | } | ||
34 | |||
35 | void backlight_set(uint8_t level) { | ||
36 | if ( level == 0 ) { | ||
37 | // Turn off light | ||
38 | PORTD |= (1<<0); // Esc | ||
39 | PORTD |= (1<<4); // Page Up | ||
40 | PORTD |= (1<<1); // Arrows | ||
41 | } else { | ||
42 | // Turn on light | ||
43 | PORTD &= ~(1<<0); // Esc | ||
44 | PORTD &= ~(1<<4); // Page Up | ||
45 | PORTD &= ~(1<<1); // Arrows | ||
46 | } | ||
47 | } | ||
48 | |||
49 | void led_init_ports() { | ||
50 | // * Set our LED pins as output | ||
51 | DDRB |= (1<<4); | ||
52 | } | ||
53 | |||
54 | void led_set_kb(uint8_t usb_led) { | ||
55 | DDRB |= (1<<4); | ||
56 | if (usb_led & (1<<USB_LED_CAPS_LOCK)) { | ||
57 | // Turn capslock on | ||
58 | PORTB |= (1<<4); | ||
59 | } else { | ||
60 | // Turn capslock off | ||
61 | PORTB &= ~(1<<4); | ||
62 | } | ||
63 | } | ||
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.h b/keyboards/clueboard/66_hotswap/gen1/gen1.h new file mode 100644 index 000000000..293620ac0 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.h | |||
@@ -0,0 +1,71 @@ | |||
1 | #ifndef gen1_H | ||
2 | #define gen1_H | ||
3 | |||
4 | #include "66_hotswap.h" | ||
5 | |||
6 | /* Clueboard matrix layout | ||
7 | * ,-----------------------------------------------------------. ,---. | ||
8 | * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 56 | | 57| | ||
9 | * |-----------------------------------------------------------| |---| | ||
10 | * | 10| 11| 12| 13| 14| 15| 16| 17| 60| 61| 62| 63| 64| 65| | 67| | ||
11 | * |-----------------------------------------------------------| `---' | ||
12 | * | 20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73| 74| 75| | ||
13 | * |------------------------------------------------------------. | ||
14 | * | 30| 31| 32| 33| 34| 35| 36| 37| 80| 81| 82| 83| 84| 85|86| | ||
15 | * |------------------------------------------------------------------. | ||
16 | * | 40| 41| 42| 43| 45| 46| 90| 92| 93| 94| 95| 96| 97| | ||
17 | * `------------------------------------------------------------------' | ||
18 | * ,-----------------------------------------------------------. ,---. | ||
19 | * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins| | ||
20 | * |-----------------------------------------------------------| |---| | ||
21 | * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del| | ||
22 | * |-----------------------------------------------------------| `---' | ||
23 | * |Caps | A| S| D| F| G| H| J| k| L| ;| '|Enter | | ||
24 | * |--------------------------------------------------------------. | ||
25 | * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up| | ||
26 | * |------------------------------------------------------------------. | ||
27 | * |Ctrl|Alt|Gui | Space| Space|Gui |Alt |Fn |Ctrl|Left|Down|Rgt| | ||
28 | * `------------------------------------------------------------------' | ||
29 | */ | ||
30 | // The first section contains all of the arguments | ||
31 | // The second converts the arguments into a two-dimensional array | ||
32 | |||
33 | #define LAYOUT( \ | ||
34 | k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \ | ||
35 | k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ | ||
36 | k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ | ||
37 | k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \ | ||
38 | k40, k41, k42, k45, k46, k90, k92, k93, k94, k95, k96, k97 \ | ||
39 | ) { \ | ||
40 | { k00, k01, k02, k03, k04, k05, k06, k07 }, \ | ||
41 | { k10, k11, k12, k13, k14, k15, k16, k17 }, \ | ||
42 | { k20, k21, k22, k23, k24, k25, k26, k27 }, \ | ||
43 | { k30, k31, k32, k33, k34, k35, k36, k37 }, \ | ||
44 | { k40, k41, k42, KC_NO, KC_NO, k45, k46, KC_NO }, \ | ||
45 | { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \ | ||
46 | { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ | ||
47 | { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ | ||
48 | { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \ | ||
49 | { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \ | ||
50 | } | ||
51 | |||
52 | #define LAYOUT_66_ansi( \ | ||
53 | k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \ | ||
54 | k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ | ||
55 | k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ | ||
56 | k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \ | ||
57 | k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \ | ||
58 | ) { \ | ||
59 | { k00, k01, k02, k03, k04, k05, k06, k07 }, \ | ||
60 | { k10, k11, k12, k13, k14, k15, k16, k17 }, \ | ||
61 | { k20, k21, k22, k23, k24, k25, k26, k27 }, \ | ||
62 | { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \ | ||
63 | { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \ | ||
64 | { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \ | ||
65 | { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ | ||
66 | { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ | ||
67 | { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \ | ||
68 | { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \ | ||
69 | } | ||
70 | |||
71 | #endif | ||
diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json new file mode 100644 index 000000000..be66fe3e9 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/info.json | |||
@@ -0,0 +1,3 @@ | |||
1 | { | ||
2 | "identifier":"c1ed:2390:0001" | ||
3 | } | ||
diff --git a/keyboards/clueboard/66_hotswap/gen1/rules.mk b/keyboards/clueboard/66_hotswap/gen1/rules.mk new file mode 100644 index 000000000..54a2685bf --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/rules.mk | |||
@@ -0,0 +1 @@ | |||
BACKLIGHT_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/clueboard/66_hotswap/info.json b/keyboards/clueboard/66_hotswap/info.json new file mode 100644 index 000000000..b98652cf9 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/info.json | |||
@@ -0,0 +1,12 @@ | |||
1 | { | ||
2 | "keyboard_name": "Clueboard 66% HotSwap", | ||
3 | "processor": "atmega32u4", | ||
4 | "bootloader": "atmel-dfu", | ||
5 | "width": 16.5, | ||
6 | "height": 5, | ||
7 | "layouts": { | ||
8 | "KEYMAP": { | ||
9 | "layout": [{"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"}, {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"}, {"x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK"}, {"x": 1.75, "y": 2, "w": 1, "label": "A"}, {"x": 2.75, "y": 2, "w": 1, "label": "S"}, {"x": 3.75, "y": 2, "w": 1, "label": "D"}, {"x": 4.75, "y": 2, "w": 1, "label": "F"}, {"x": 5.75, "y": 2, "w": 1, "label": "G"}, {"x": 6.75, "y": 2, "w": 1, "label": "H"}, {"x": 7.75, "y": 2, "w": 1, "label": "J"}, {"x": 8.75, "y": 2, "w": 1, "label": "K"}, {"x": 9.75, "y": 2, "w": 1, "label": "L"}, {"x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "w": 1, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 1, "label": "ISOHASH"}, {"x": 13.75, "y": 2, "w": 1.25, "label": "ENTER"}, {"x": 0, "y": 3, "w": 1.25, "label": "LSHIFT"}, {"x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH"}, {"x": 2.25, "y": 3, "w": 1, "label": "Z"}, {"x": 3.25, "y": 3, "w": 1, "label": "X"}, {"x": 4.25, "y": 3, "w": 1, "label": "C"}, {"x": 5.25, "y": 3, "w": 1, "label": "V"}, {"x": 6.25, "y": 3, "w": 1, "label": "B"}, {"x": 7.25, "y": 3, "w": 1, "label": "N"}, {"x": 8.25, "y": 3, "w": 1, "label": "M"}, {"x": 9.25, "y": 3, "w": 1, "label": "COMMA"}, {"x": 10.25, "y": 3, "w": 1, "label": "PERIOD"}, {"x": 11.25, "y": 3, "w": 1, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 1, "label": "JPBACKSLASH"}, {"x": 13.25, "y": 3, "w": 1.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "w": 1, "label": "UP"}, {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1, "label": "LALT"}, {"x": 2.25, "y": 4, "w": 1.25, "label": "LCMD"}, {"x": 3.5, "y": 4, "w": 1.25, "label": "MUHENKAN"}, {"x": 4.75, "y": 4, "w": 2, "label": "SPACE1"}, {"x": 6.75, "y": 4, "w": 2, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "HENKAN"}, {"x": 10, "y": 4, "w": 1.25, "label": "RCMD"}, {"x": 11.25, "y": 4, "w": 1, "label": "RCTRL"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "FN"}, {"x": 13.5, "y": 4, "w": 1, "label": "LEFT"}, {"x": 14.5, "y": 4, "w": 1, "label": "DOWN"}, {"x": 15.5, "y": 4, "w": 1, "label": "RIGHT"}] | ||
10 | } | ||
11 | } | ||
12 | } | ||
diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c new file mode 100644 index 000000000..977a3501b --- /dev/null +++ b/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c | |||
@@ -0,0 +1,36 @@ | |||
1 | #include "66_hotswap.h" | ||
2 | |||
3 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
4 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
5 | #define _BL 0 | ||
6 | #define _FL 1 | ||
7 | #define _CL 2 | ||
8 | |||
9 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
10 | /* Keymap _BL: Base Layer (Default Layer) | ||
11 | */ | ||
12 | [_BL] = LAYOUT_66_ansi( | ||
13 | KC_GESC,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_PGUP, \ | ||
14 | 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_PGDN, \ | ||
15 | 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, \ | ||
16 | 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, \ | ||
17 | KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), | ||
18 | |||
19 | /* Keymap _FL: Function Layer | ||
20 | */ | ||
21 | [_FL] = LAYOUT_66_ansi( | ||
22 | KC_GRV, 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_DEL, KC_VOLU, \ | ||
23 | _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ | ||
24 | _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ | ||
25 | _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ | ||
26 | _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), | ||
27 | |||
28 | /* Keymap _CL: Control layer | ||
29 | */ | ||
30 | [_CL] = LAYOUT_66_ansi( | ||
31 | BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \ | ||
32 | _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \ | ||
33 | _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ | ||
34 | _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ | ||
35 | _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), | ||
36 | }; | ||
diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md b/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md new file mode 100644 index 000000000..25b5d7eb1 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md | |||
@@ -0,0 +1,11 @@ | |||
1 |  | ||
2 | |||
3 | # Basic Clueboard 66% Hotswap Layout | ||
4 | |||
5 | This is the default layout that comes flashed on every Clueboard. For the most | ||
6 | part it's a straightforward and easy to follow layout. The only unusual key is | ||
7 | the key in the upper left, which sends Escape normally, but Grave when any of | ||
8 | the Ctrl, Alt, or GUI modifiers are held down. | ||
9 | |||
10 | This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community | ||
11 | layout. | ||
diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000..240eb0e97 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c | |||
@@ -0,0 +1,36 @@ | |||
1 | #include "66_hotswap.h" | ||
2 | |||
3 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
4 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
5 | #define _BL 0 | ||
6 | #define _FL 1 | ||
7 | #define _CL 2 | ||
8 | |||
9 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
10 | /* Keymap _BL: Base Layer (Default Layer) | ||
11 | */ | ||
12 | [_BL] = LAYOUT( | ||
13 | KC_GESC,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_PGUP, \ | ||
14 | 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_PGDN, \ | ||
15 | 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, \ | ||
16 | KC_LSFT,MO(_FL),KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,MO(_FL), KC_RSFT, KC_UP, \ | ||
17 | KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), | ||
18 | |||
19 | /* Keymap _FL: Function Layer | ||
20 | */ | ||
21 | [_FL] = LAYOUT( | ||
22 | KC_GRV, 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_DEL, KC_VOLU, \ | ||
23 | _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ | ||
24 | _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ | ||
25 | _______,MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,MO(_FL),_______, KC_PGUP, \ | ||
26 | _______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), | ||
27 | |||
28 | /* Keymap _CL: Control layer | ||
29 | */ | ||
30 | [_CL] = LAYOUT( | ||
31 | BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \ | ||
32 | _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \ | ||
33 | _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ | ||
34 | _______,MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,MO(_FL),_______, RGB_SAI, \ | ||
35 | _______,_______,_______, RGB_MOD,RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), | ||
36 | }; | ||
diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/readme.md b/keyboards/clueboard/66_hotswap/keymaps/default/readme.md new file mode 100644 index 000000000..66e523088 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/keymaps/default/readme.md | |||
@@ -0,0 +1,8 @@ | |||
1 |  | ||
2 | |||
3 | # Default Clueboard 66% Hotswap Layout | ||
4 | |||
5 | This is the default layout that comes flashed on every Clueboard. For the most | ||
6 | part it's a straightforward and easy to follow layout. The only unusual key is | ||
7 | the key in the upper left, which sends Escape normally, but Grave when any of | ||
8 | the Ctrl, Alt, or GUI modifiers are held down. | ||
diff --git a/keyboards/clueboard/66_hotswap/readme.md b/keyboards/clueboard/66_hotswap/readme.md new file mode 100644 index 000000000..014c761b0 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/readme.md | |||
@@ -0,0 +1,16 @@ | |||
1 | # Clueboard 66% HotSwap | ||
2 | |||
3 |  | ||
4 | |||
5 | A fully customizable 66% keyboard with Hot Swap sockets. | ||
6 | |||
7 | * Keyboard Maintainer: [Zach White](https://github.com/skullydazed) | ||
8 | * Hardware Supported: Clueboard 66% HotSwap PCB | ||
9 | * 2.9 | ||
10 | * Hardware Availability: [clueboard.co](https://clueboard.co/) | ||
11 | |||
12 | Make example for this keyboard (after setting up your build environment): | ||
13 | |||
14 | make clueboard/66_hotswap:default | ||
15 | |||
16 | See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. | ||
diff --git a/keyboards/clueboard/66_hotswap/rules.mk b/keyboards/clueboard/66_hotswap/rules.mk new file mode 100644 index 000000000..1a22696e4 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/rules.mk | |||
@@ -0,0 +1,23 @@ | |||
1 | DEFAULT_FOLDER = clueboard/66_hotswap/gen1 | ||
2 | LAYOUTS = 66_ansi | ||
3 | MCU = atmega32u4 | ||
4 | F_CPU = 16000000 | ||
5 | ARCH = AVR8 | ||
6 | F_USB = $(F_CPU) | ||
7 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
8 | OPT_DEFS += -DBOOTLOADER_SIZE=4096 | ||
9 | |||
10 | # Build Options | ||
11 | # comment out to disable the options. | ||
12 | # | ||
13 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
14 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
15 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
16 | CONSOLE_ENABLE = yes # Console for debug(+400) | ||
17 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
18 | NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
19 | AUDIO_ENABLE = no | ||
20 | RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality | ||
21 | MIDI_ENABLE = no # MIDI controls | ||
22 | UNICODE_ENABLE = no # Unicode | ||
23 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||