diff options
Diffstat (limited to 'keyboards/wilba_tech/zeal60')
22 files changed, 977 insertions, 0 deletions
diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h new file mode 100644 index 000000000..7c5340e73 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/config.h | |||
| @@ -0,0 +1,138 @@ | |||
| 1 | /* Copyright 2017 Jason Williams (Wilba) | ||
| 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 | #pragma once | ||
| 17 | |||
| 18 | #include "config_common.h" | ||
| 19 | |||
| 20 | // USB Device descriptor parameter | ||
| 21 | #define VENDOR_ID 0x5A45 // ZealPC ("ZE") | ||
| 22 | #define PRODUCT_ID 0x0060 // Zeal60 | ||
| 23 | #define DEVICE_VER 0x0001 | ||
| 24 | #define MANUFACTURER ZealPC | ||
| 25 | #define PRODUCT Zeal60 | ||
| 26 | #define DESCRIPTION Zeal60 | ||
| 27 | |||
| 28 | // key matrix size | ||
| 29 | #define MATRIX_ROWS 5 | ||
| 30 | #define MATRIX_COLS 14 | ||
| 31 | |||
| 32 | // Zeal60 PCB default pin-out | ||
| 33 | #define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 } | ||
| 34 | #define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 } | ||
| 35 | #define UNUSED_PINS | ||
| 36 | |||
| 37 | // IS31FL3731 driver | ||
| 38 | #define DRIVER_COUNT 2 | ||
| 39 | #define DRIVER_LED_TOTAL 72 | ||
| 40 | |||
| 41 | // COL2ROW or ROW2COL | ||
| 42 | #define DIODE_DIRECTION COL2ROW | ||
| 43 | |||
| 44 | // Set 0 if debouncing isn't needed | ||
| 45 | #define DEBOUNCE 5 | ||
| 46 | |||
| 47 | // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap | ||
| 48 | #define LOCKING_SUPPORT_ENABLE | ||
| 49 | // Locking resynchronize hack | ||
| 50 | #define LOCKING_RESYNC_ENABLE | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Feature disable options | ||
| 54 | * These options are also useful to firmware size reduction. | ||
| 55 | */ | ||
| 56 | |||
| 57 | // disable debug print | ||
| 58 | //#define NO_DEBUG | ||
| 59 | |||
| 60 | // disable print | ||
| 61 | //#define NO_PRINT | ||
| 62 | |||
| 63 | // disable action features | ||
| 64 | //#define NO_ACTION_LAYER | ||
| 65 | //#define NO_ACTION_TAPPING | ||
| 66 | //#define NO_ACTION_ONESHOT | ||
| 67 | //#define NO_ACTION_MACRO | ||
| 68 | //#define NO_ACTION_FUNCTION | ||
| 69 | |||
| 70 | #define RGB_BACKLIGHT_ENABLED 1 | ||
| 71 | |||
| 72 | // This conditionally compiles the backlight code for Zeal60 specifics | ||
| 73 | #define RGB_BACKLIGHT_ZEAL60 | ||
| 74 | |||
| 75 | // enable/disable LEDs based on layout | ||
| 76 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 77 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 78 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 | ||
| 79 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 80 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 81 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
| 82 | |||
| 83 | // disable backlight when USB suspended (PC sleep/hibernate/shutdown) | ||
| 84 | #define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0 | ||
| 85 | |||
| 86 | // disable backlight after timeout in minutes, 0 = no timeout | ||
| 87 | #define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0 | ||
| 88 | |||
| 89 | // the default brightness | ||
| 90 | #define RGB_BACKLIGHT_BRIGHTNESS 255 | ||
| 91 | |||
| 92 | // the default effect (RGB test) | ||
| 93 | #define RGB_BACKLIGHT_EFFECT 255 | ||
| 94 | |||
| 95 | // the default effect speed (0-3) | ||
| 96 | #define RGB_BACKLIGHT_EFFECT_SPEED 0 | ||
| 97 | |||
| 98 | // the default color1 and color2 | ||
| 99 | #define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 } | ||
| 100 | #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } | ||
| 101 | |||
| 102 | // These define which keys in the matrix are alphas/mods | ||
| 103 | // Used for backlight effects so colors are different for | ||
| 104 | // alphas vs. mods | ||
| 105 | // Each value is for a row, bit 0 is column 0 | ||
| 106 | // Alpha=0 Mod=1 | ||
| 107 | #define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0010000000000001 | ||
| 108 | #define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001 | ||
| 109 | #define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0001000000000001 | ||
| 110 | #define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001 | ||
| 111 | #define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011110000000111 | ||
| 112 | |||
| 113 | #define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } | ||
| 114 | #define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } | ||
| 115 | #define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } | ||
| 116 | #define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 } | ||
| 117 | |||
| 118 | #define DYNAMIC_KEYMAP_LAYER_COUNT 4 | ||
| 119 | |||
| 120 | // EEPROM usage | ||
| 121 | |||
| 122 | // TODO: refactor with new user EEPROM code (coming soon) | ||
| 123 | #define EEPROM_MAGIC 0x451F | ||
| 124 | #define EEPROM_MAGIC_ADDR 32 | ||
| 125 | // Bump this every time we change what we store | ||
| 126 | // This will automatically reset the EEPROM with defaults | ||
| 127 | // and avoid loading invalid data from the EEPROM | ||
| 128 | #define EEPROM_VERSION 0x08 | ||
| 129 | #define EEPROM_VERSION_ADDR 34 | ||
| 130 | |||
| 131 | // Backlight config starts after EEPROM version | ||
| 132 | #define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 35 | ||
| 133 | // Dynamic keymap starts after backlight config (35+31) | ||
| 134 | #define DYNAMIC_KEYMAP_EEPROM_ADDR 66 | ||
| 135 | // Dynamic macro starts after dynamic keymaps (66+(4*5*14*2)) = (66+560) | ||
| 136 | #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 626 | ||
| 137 | #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 398 | ||
| 138 | #define DYNAMIC_KEYMAP_MACRO_COUNT 16 | ||
diff --git a/keyboards/wilba_tech/zeal60/info.json b/keyboards/wilba_tech/zeal60/info.json new file mode 100644 index 000000000..4a07cf389 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/info.json | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Zeal60", | ||
| 3 | "url": "https://zealpc.net", | ||
| 4 | "maintainer": "Wilba", | ||
| 5 | "bootloader": "atmel-dfu", | ||
| 6 | "width": 15, | ||
| 7 | "height": 5, | ||
| 8 | "layouts": { | ||
| 9 | "LAYOUT_all": { | ||
| 10 | "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] | ||
| 11 | }, | ||
| 12 | "LAYOUT_60_ansi": { | ||
| 13 | "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] | ||
| 14 | }, | ||
| 15 | "LAYOUT_60_iso": { | ||
| 16 | "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] | ||
| 17 | }, | ||
| 18 | "LAYOUT_60_ansi_split_bs_rshift": { | ||
| 19 | "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] | ||
| 20 | }, | ||
| 21 | "LAYOUT_60_hhkb": { | ||
| 22 | "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}] | ||
| 23 | } | ||
| 24 | } | ||
| 25 | } \ No newline at end of file | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/config.h b/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/config.h new file mode 100644 index 000000000..011cf5c5a --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/config.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
| 21 | |||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/keymap.c new file mode 100644 index 000000000..edb4f256b --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/ansi_split_bs_rshift/keymap.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | // ANSI split backspace/right shift layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 5 | |||
| 6 | // Default layer | ||
| 7 | [0] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 8 | KC_ESC, 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_BSLS, KC_DEL, | ||
| 9 | 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_BSPC, | ||
| 10 | 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, | ||
| 11 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_MO13, | ||
| 12 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, FN_MO23, KC_RCTL), | ||
| 13 | |||
| 14 | // Fn1 Layer | ||
| 15 | [1] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 16 | 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_INS, KC_DEL, | ||
| 17 | KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, | ||
| 18 | KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, | ||
| 19 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, | ||
| 20 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 21 | |||
| 22 | // Fn2 Layer | ||
| 23 | [2] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 24 | 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, | ||
| 25 | 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, | ||
| 26 | 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, | ||
| 27 | 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, | ||
| 28 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 29 | |||
| 30 | // Fn3 Layer (zeal60 Configuration) | ||
| 31 | [3] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 32 | KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, | ||
| 34 | 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, | ||
| 35 | 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, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | |||
| 38 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/crd/config.h b/keyboards/wilba_tech/zeal60/keymaps/crd/config.h new file mode 100644 index 000000000..a70f9da7e --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/crd/config.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 1 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
| 21 | |||
| 22 | #undef RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED | ||
| 23 | #define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 1 | ||
| 24 | |||
| 25 | #undef RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT | ||
| 26 | #define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 3 | ||
| 27 | |||
| 28 | #undef RGB_BACKLIGHT_EFFECT | ||
| 29 | #define RGB_BACKLIGHT_EFFECT 0 \ No newline at end of file | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c new file mode 100644 index 000000000..971782561 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/crd/keymap.c | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | // tsangan layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | enum keyboard_layers { | ||
| 5 | _BL = 0, // Base Layer | ||
| 6 | _FL, // Function Layer | ||
| 7 | _CL // Control Layer | ||
| 8 | }; | ||
| 9 | |||
| 10 | // Custom #defined keycodes (shorter macros for readability) | ||
| 11 | #define KC_CTES CTL_T(KC_ESC) | ||
| 12 | #define KC_RSUP RSFT_T(KC_UP) | ||
| 13 | #define KC_RGLT RCMD_T(KC_LEFT) | ||
| 14 | #define KC_RADN LT(_CL, KC_DOWN) | ||
| 15 | #define KC_RCRT RCTL_T(KC_RIGHT) | ||
| 16 | |||
| 17 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 18 | [_BL] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 19 | 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, XXXXXXX, | ||
| 20 | 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, | ||
| 21 | KC_CTES, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
| 22 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSUP, MO(_FL), | ||
| 23 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, XXXXXXX, KC_RGLT, KC_RADN, KC_RCRT | ||
| 24 | ), | ||
| 25 | [_FL] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 26 | 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_DEL, _______, | ||
| 27 | _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, _______, | ||
| 28 | _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 30 | _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 31 | ), | ||
| 32 | [_CL] = LAYOUT_60_ansi_split_bs_rshift( | ||
| 33 | _______, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, _______, _______, _______, _______, BR_DEC, BR_INC, _______, _______, | ||
| 34 | _______, _______, _______, S1_DEC, S1_INC, S2_DEC, S2_INC, _______, _______, _______, _______, ES_DEC, ES_INC, RESET, | ||
| 35 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 37 | _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 38 | ), | ||
| 39 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/default/config.h b/keyboards/wilba_tech/zeal60/keymaps/default/config.h new file mode 100644 index 000000000..f8478a3df --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/default/config.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/default/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/default/keymap.c new file mode 100644 index 000000000..3a13cf4d5 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/default/keymap.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | // Default layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 5 | |||
| 6 | // Default layer | ||
| 7 | [0] = LAYOUT_60_ansi( | ||
| 8 | KC_ESC, 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, | ||
| 9 | 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, | ||
| 10 | 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, | ||
| 11 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | ||
| 12 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO13, FN_MO23, KC_RCTL), | ||
| 13 | |||
| 14 | // Fn1 Layer | ||
| 15 | [1] = LAYOUT_60_ansi( | ||
| 16 | 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 , | ||
| 17 | KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, | ||
| 18 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, | ||
| 19 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, | ||
| 20 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 21 | |||
| 22 | // Fn2 Layer | ||
| 23 | [2] = LAYOUT_60_ansi( | ||
| 24 | 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, | ||
| 25 | 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, | ||
| 26 | 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, | ||
| 27 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 28 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 29 | |||
| 30 | // Fn3 Layer (zeal60 Configuration) | ||
| 31 | [3] = LAYOUT_60_ansi( | ||
| 32 | KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, | ||
| 34 | 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, | ||
| 35 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | |||
| 38 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/hhkb/config.h b/keyboards/wilba_tech/zeal60/keymaps/hhkb/config.h new file mode 100644 index 000000000..25f74d3d2 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/hhkb/config.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 1 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 1 | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/hhkb/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/hhkb/keymap.c new file mode 100644 index 000000000..5cedc6e5e --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/hhkb/keymap.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | // HHKB layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 5 | |||
| 6 | // Default layer | ||
| 7 | [0] = LAYOUT_60_hhkb( | ||
| 8 | KC_ESC, 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_BSLS, KC_GRV, | ||
| 9 | 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_BSPC, | ||
| 10 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, | ||
| 11 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_MO13, | ||
| 12 | KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO23), | ||
| 13 | |||
| 14 | // Fn1 Layer | ||
| 15 | [1] = LAYOUT_60_hhkb( | ||
| 16 | KC_PWR, 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_INS, KC_DEL, | ||
| 17 | KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, | ||
| 18 | KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, | ||
| 19 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, | ||
| 20 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 21 | |||
| 22 | // Fn2 Layer | ||
| 23 | [2] = LAYOUT_60_hhkb( | ||
| 24 | 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, | ||
| 25 | 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, | ||
| 26 | 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, | ||
| 27 | 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, | ||
| 28 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 29 | |||
| 30 | // Fn3 Layer (zeal60 Configuration) | ||
| 31 | [3] = LAYOUT_60_hhkb( | ||
| 32 | KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, | ||
| 34 | 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, | ||
| 35 | 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, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | |||
| 38 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/iso/config.h b/keyboards/wilba_tech/zeal60/keymaps/iso/config.h new file mode 100644 index 000000000..c96ef1f05 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/iso/config.h | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 1 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 1 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/iso/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/iso/keymap.c new file mode 100644 index 000000000..55120f05e --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/iso/keymap.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | // ISO layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 5 | |||
| 6 | // Default layer | ||
| 7 | [0] = LAYOUT_60_iso( | ||
| 8 | KC_ESC, 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, | ||
| 9 | 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_ENT, | ||
| 10 | 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_NUHS, | ||
| 11 | KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | ||
| 12 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO13, FN_MO23, KC_RCTL), | ||
| 13 | |||
| 14 | // Fn1 Layer | ||
| 15 | [1] = LAYOUT_60_iso( | ||
| 16 | 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 , | ||
| 17 | KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, | ||
| 18 | KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_TRNS, | ||
| 19 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, KC_TRNS, | ||
| 20 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 21 | |||
| 22 | // Fn2 Layer | ||
| 23 | [2] = LAYOUT_60_iso( | ||
| 24 | 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, | ||
| 25 | 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, | ||
| 26 | 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, | ||
| 27 | 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, | ||
| 28 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 29 | |||
| 30 | // Fn3 Layer (zeal60 Configuration) | ||
| 31 | [3] = LAYOUT_60_iso( | ||
| 32 | KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, | ||
| 34 | 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, | ||
| 35 | 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, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | |||
| 38 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/config.h b/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/config.h new file mode 100644 index 000000000..f1531eb34 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/config.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* enable/disable LEDs based on layout */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
| 21 | |||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/keymap.c new file mode 100644 index 000000000..2e342b497 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/ryanmaclean/keymap.c | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | // Ryan MacLean's layout for Zeal60 | ||
| 2 | // Note that LGUI and RGUI are swapped with LALT and RALT respectively, for use with Macs | ||
| 3 | // Also note that Control has replaced Caps Lock, and that pressing left or right shift once | ||
| 4 | // will output left parenthese and right parenthese respectively. | ||
| 5 | #include QMK_KEYBOARD_H | ||
| 6 | |||
| 7 | // [0,13] is either left key of split backspace (e.g. HHKB \| key) or 2U backspace | ||
| 8 | // [1,13] is either backslash or ISO Enter | ||
| 9 | // [2,12] is either ANSI Enter or key left of ISO Enter | ||
| 10 | // [2,13] is right key of split backspace (e.g. HHKB `~ key) | ||
| 11 | // [3,1] is right key of split left-shift (e.g ISO key) | ||
| 12 | // [3,13] is right key of split right-shift (e.g. HHKB Fn key) | ||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. KC_LSFT KC_LALT KC_LGUI KC_4 | ||
| 17 | { | ||
| 18 | switch(id) { | ||
| 19 | case 0: // macOS screenshot to capture are to clipboard - this would trigger when you hit a key mapped as M(0) | ||
| 20 | if (record->event.pressed) { | ||
| 21 | return MACRO( D(LSFT), D(LCTL), D(LGUI), T(4), U(LSFT), U(LCTL), U(LGUI), W(255), END ); // this sends the string 'hello' when the macro executes | ||
| 22 | } | ||
| 23 | break; | ||
| 24 | case 1: // macOS screenshot capture area to file - this would trigger when you hit a key mapped as M(1) | ||
| 25 | if (record->event.pressed) { | ||
| 26 | return MACRO( D(LSFT), D(LGUI), T(4), U(LSFT), U(LGUI), W(255), END ); // this sends the string 'hello' when the macro executes | ||
| 27 | } | ||
| 28 | break; | ||
| 29 | case 2: // macOS screenshot to clipboard - this would trigger when you hit a key mapped as M(2) | ||
| 30 | if (record->event.pressed) { | ||
| 31 | return MACRO( D(LSFT), D(LCTL), D(LGUI), T(3), U(LSFT), U(LCTL), U(LGUI), W(255), END ); // this sends the string 'hello' when the macro executes | ||
| 32 | } | ||
| 33 | break; | ||
| 34 | case 3: // macOS screenshot to file - this would trigger when you hit a key mapped as M(3) | ||
| 35 | if (record->event.pressed) { | ||
| 36 | return MACRO( D(LSFT), D(LGUI), T(3), U(LSFT), U(LGUI), W(255), END ); // this sends the string 'hello' when the macro executes | ||
| 37 | } | ||
| 38 | break; | ||
| 39 | } | ||
| 40 | return MACRO_NONE; | ||
| 41 | }; | ||
| 42 | |||
| 43 | #define CADETL MT(KC_LSFT, KC_LBRC) | ||
| 44 | #define CADETR MT(KC_RSFT, KC_RBRC) | ||
| 45 | |||
| 46 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 47 | |||
| 48 | // Default layer | ||
| 49 | [0] = { | ||
| 50 | {KC_ESC, 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_BSLS}, | ||
| 51 | {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_BSPC}, | ||
| 52 | {KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_GRV}, | ||
| 53 | {KC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, FN_MO13}, | ||
| 54 | {KC_LCTL, KC_LALT, KC_LGUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_RGUI, KC_RALT, KC_RCTL, FN_MO23} | ||
| 55 | }, | ||
| 56 | |||
| 57 | // Fn1 Layer | ||
| 58 | [1] = { | ||
| 59 | {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_TRNS}, | ||
| 60 | {KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL}, | ||
| 61 | {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS}, | ||
| 62 | {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, 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} | ||
| 64 | }, | ||
| 65 | |||
| 66 | // Fn2 Layer | ||
| 67 | [2] = { | ||
| 68 | {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}, | ||
| 69 | {KC_TRNS, M(2), M(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, | ||
| 70 | {KC_TRNS, M(1), M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, | ||
| 71 | {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}, | ||
| 72 | {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} | ||
| 73 | }, | ||
| 74 | |||
| 75 | // Fn3 Layer (zeal60 Configuration) | ||
| 76 | [3] = { | ||
| 77 | {KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS}, | ||
| 78 | {KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, | ||
| 79 | {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}, | ||
| 80 | {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}, | ||
| 81 | {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} | ||
| 82 | } | ||
| 83 | |||
| 84 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/Makefile b/keyboards/wilba_tech/zeal60/keymaps/tusing/Makefile new file mode 100644 index 000000000..762905da0 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/tusing/Makefile | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | # Build Options | ||
| 2 | # change to "no" to disable the options, or define them in the Makefile in | ||
| 3 | # the appropriate keymap folder that will get included automatically | ||
| 4 | # | ||
| 5 | RGBLIGHT_ENABLE = yes | ||
| 6 | AUDIO_ENABLE = no # Underglow cannot be used with audio. | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md b/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md new file mode 100644 index 000000000..edddf1c58 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/tusing/README.md | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | # RGB Underglow Strip on the Zeal60: A Guide | ||
| 2 | |||
| 3 | <img src="https://i.imgur.com/UuUdOCb.jpg" width="800"> | ||
| 4 | |||
| 5 | ## Requirements | ||
| 6 | |||
| 7 | - WS2812B RGB strip, preferably 60 LEDs/meter | ||
| 8 | - Wire, solder | ||
| 9 | - Tape, hot glue, or some sort of adhesive | ||
| 10 | |||
| 11 | ## A. Connecting the strip | ||
| 12 | You might find the [**full PCB image**](https://cdn.shopify.com/s/files/1/0490/7329/files/zeal60jumpers.png) helpful. Ignore the red boxes! | ||
| 13 | |||
| 14 | 1. Connect V+ to the receiving end of the thermistor labeled F1; connect GND to the board's GND pin. (*Avoid connecting +V to the board's +5V pin* - you will likely overload the thermistor, and you will limit your maximum brightness.) | ||
| 15 | |||
| 16 | <img src="https://i.imgur.com/jd7qivh.png" width="300"> | ||
| 17 | |||
| 18 | 2. Connect DI to PB0. | ||
| 19 | |||
| 20 | <img src="https://i.imgur.com/BiMyMLv.jpg" width="300"> | ||
| 21 | |||
| 22 | 3. Should look something like this when finished: | ||
| 23 | |||
| 24 | <img src="https://i.imgur.com/ngxYMuA.jpg" width="600"> | ||
| 25 | |||
| 26 | *Optional:* To allow considerably more light to escape, consider angling the strip outwards by using some sort of fulcrum under the strip. (I used a thick wire.) | ||
| 27 | |||
| 28 | ## B. Enabling the strip | ||
| 29 | 1. If it is not present already, add the following to your ***keymap's*** ```Makefile```: | ||
| 30 | |||
| 31 | ```Makefile | ||
| 32 | RGBLIGHT_ENABLE = yes | ||
| 33 | AUDIO_ENABLE = no #Underglow animations cannot be used with audio. | ||
| 34 | ``` | ||
| 35 | 2. If it is not present already, add the following to your *keymap's* ```config.h```, and edit the values as necessary: | ||
| 36 | |||
| 37 | ```c | ||
| 38 | // Set up RGB underglow. | ||
| 39 | #define RGB_DI_PIN B0 // The pin your RGB strip is wired to | ||
| 40 | #define RGBLIGHT_ANIMATIONS // Require for fancier stuff (not compatible with audio) | ||
| 41 | #define RGBLED_NUM 35 // Number of LEDs | ||
| 42 | #define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue | ||
| 43 | #define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat | ||
| 44 | #define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val | ||
| 45 | ``` | ||
| 46 | 3. If they are not present already, add the following keycodes to your keymap to control the RGB strip: ```RGB_TOG``` (on/off), ```RGB_MOD``` (step through modes), ```RGB_HUI```, ```RGB_HUD```, ```RGB_SAI```, ```RGB_SAD```, ```RGB_VAI```, ```RGB_VAD``` (HSV increase/decrease). Add these to your keymap. | ||
| 47 | |||
| 48 | ## C. Dealing with current limits | ||
| 49 | USB 2.0 ports on laptops provide up to 500mA max, but USB 3.0 ports can provide up to 900mA; USB 3.1 up to 1.5A; and powered USB hubs even more. We can run our keyboard at a higher brightness if we draw more power. **The Zeal60 uses 500mA at max brightness.** This means that **you have about 400mA remaining for the strip to use on a USB 3.0 port**; 1000mA free on a USB 3.1 port, so on and so forth. | ||
| 50 | |||
| 51 | ***Warning:*** **This means you will need to turn *off* your RGB strip before connecting to a USB 2.0 port**, as USB 2.0 cannot sustain the current necessary! | ||
| 52 | |||
| 53 | 1. If not present already, add the following to your keymap's ```config.h```. Change the numbers based on your needs. The ones below are safe underestimates. | ||
| 54 | |||
| 55 | ```c | ||
| 56 | // Enable current limiting for RGB underglow. | ||
| 57 | #define RGBSTRIP_CURRENT_LIMIT 400 // Strip current limit in mA. (USB amperage - 500mA for keyboard) | ||
| 58 | #define RGBSTRIP_MAX_CURRENT_PER_LIGHT 50 // mA per light when at max brightness. | ||
| 59 | ``` | ||
| 60 | *Example:* I use a USB port capable of providing 1800 mA. The keyboard uses 500mA, so my personal value (in the `tusing` keymap) for `RGBSTRIP_CURRENT_LIMIT` is 1300. The particular WS2812B RGB strip I have uses a maximum of 60 mA per LED, so that is my personal value for `RGBSTRIP_MAX_CURRENT_PER_LIGHT`. | ||
| 61 | 2. Toggle on the LED strip (```RGB_TOG```) and step through animations (```RGB_MOD```) to test it out! | ||
| 62 | |||
| 63 | ## D. Sources and resources | ||
| 64 | ### A. Connecting the strip. | ||
| 65 | * [In-depth description of connecting an RGB strip to the GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4d5or2/my_first_custom_build_satan_gh60_rbg_underglow_in/d1nz3o7/) | ||
| 66 | * [32U4 Pinout](https://40.media.tumblr.com/93b6bbd4113418c2b45459bb177e67c5/tumblr_mi49a20QMB1s5t695o1_1280.png) | ||
| 67 | * [Redditor describes connecting RGB strips on his Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4hbjw4/finally_finished_my_satan_gh60_also_granite_o/d2qn8zx/?context=3) | ||
| 68 | * [Another Redditor on RGB with the Satan GH60](https://www.reddit.com/r/MechanicalKeyboards/comments/4ewzdx/gh60_satan_with_the_rgb_mod/d251uu6/ ) | ||
| 69 | |||
| 70 | ### B. Enabling the strip. | ||
| 71 | * [QMK Wiki portion on underglow](https://github.com/jackhumbert/qmk_firmware/wiki#rgb-under-glow-mod) | ||
| 72 | * [Planck ```Makefile```, ```config.h```, and ```keymap.c``` config example](https://github.com/jackhumbert/qmk_firmware/tree/master/keyboards/planck/keymaps/yang) | ||
| 73 | * [Video demonstrating keycode functions and RGB modes on a KC60](https://www.youtube.com/watch?v=VKrpPAHlisY) | ||
| 74 | |||
| 75 | ### C. Dealing with current limits. | ||
| 76 | * [Discussion of cutting jumpers and adding resistors to lower current from Zeal60](https://www.reddit.com/r/MechanicalKeyboards/comments/5hou92/photos_zeal60_lets_just_say_santa_came_early_this/db23qid/) | ||
| 77 | * [A selection of 900mA-1.5A current hold fuses - look for an SMD 0805-sized fuse.](https://goo.gl/748avG) | ||
| 78 | * [Video detailing technique to solder 0805 resistors](https://www.youtube.com/watch?v=PU7wLcuqc-I&t=123s&list=FLheMlKEVQ5cmVXazUt6HrxQ&index=2) | ||
| 79 | * [QMK feature request to implement max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/issues/954) | ||
| 80 | * [Commit enabling max power draw limits in ```config.h```](https://github.com/jackhumbert/qmk_firmware/commit/83e613ad239459582ae28f78b6c81535b9b138d7) \ No newline at end of file | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h b/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h new file mode 100644 index 000000000..64aaece50 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/tusing/config.h | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | /* Enable/disable LEDs based on layout. */ | ||
| 4 | #undef RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 5 | #define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0 | ||
| 6 | |||
| 7 | #undef RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 8 | #define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0 | ||
| 9 | |||
| 10 | #undef RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 11 | #define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0 | ||
| 12 | |||
| 13 | #undef RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 14 | #define RGB_BACKLIGHT_USE_7U_SPACEBAR 0 | ||
| 15 | |||
| 16 | #undef RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 17 | #define RGB_BACKLIGHT_USE_ISO_ENTER 0 | ||
| 18 | |||
| 19 | #undef RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 20 | #define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0 | ||
| 21 | |||
| 22 | // Set up RGB underglow. | ||
| 23 | #define RGB_DI_PIN B0 // The pin your RGB strip is wired to | ||
| 24 | #define RGBLIGHT_ANIMATIONS // Require for fancier stuff (not compatible with audio) | ||
| 25 | #define RGBLED_NUM 35 // Number of LEDs | ||
| 26 | #define RGBLIGHT_HUE_STEP 5 // How much each press of rgb_hue changes hue | ||
| 27 | #define RGBLIGHT_SAT_STEP 10 // How much each press of rgb_sat changes sat | ||
| 28 | #define RGBLIGHT_VAL_STEP 10 // How much each press of rgb_val changes val | ||
| 29 | |||
| 30 | // Enable current limiting for RGB underglow. | ||
| 31 | #define RGBSTRIP_CURRENT_LIMIT 1300 // Strip current limit in mA. (USB amperage - 500mA for keyboard) | ||
| 32 | #define RGBSTRIP_MAX_CURRENT_PER_LIGHT 40 // mA per light when at max brightness. | ||
| 33 | |||
| 34 | // Scale brightnes according to BRIGHTNESS_CORRECTION_TABLE in quantum/rgblight.c. | ||
| 35 | // This allows to mitigate uneven brightness from LED underglow strips. | ||
| 36 | // #define LED_BRIGHTNESS_CORRECTION | ||
diff --git a/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c new file mode 100644 index 000000000..755ace861 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/keymaps/tusing/keymap.c | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | // Default layout for Zeal60 | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | |||
| 4 | // For readability. | ||
| 5 | #define _x_ KC_NO | ||
| 6 | #define AUD_PRV LCTL(KC_MPRV) // Previous music track | ||
| 7 | #define AUD_PLY LCTL(KC_MPLY) // Pause music | ||
| 8 | #define AUD_NXT LCTL(KC_MNXT) // Next music track | ||
| 9 | |||
| 10 | // Zeal60-specific keys: | ||
| 11 | // EF_INC, EF_DEC, // next/previous backlight effect | ||
| 12 | // H1_INC, H1_DEC, // Color 1 hue increase/decrease | ||
| 13 | // S1_INC, S1_DEC, // Color 1 saturation increase/decrease | ||
| 14 | // H2_INC, H2_DEC, // Color 2 hue increase/decrease | ||
| 15 | // S2_INC, S2_DEC, // Color 2 saturation increase/decrease | ||
| 16 | // BR_INC, BR_DEC, // backlight brightness increase/decrease | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | // Default layer: Pressing caps-lock momentarily switches to Layer 1. | ||
| 20 | // This is the default layer. Pressing an empty keycode on another layer will take you here. | ||
| 21 | [0] = { | ||
| 22 | {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}, | ||
| 23 | {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}, | ||
| 24 | {MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _x_ }, | ||
| 25 | {KC_LSFT, _x_ , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _x_ }, | ||
| 26 | {KC_LCTL, KC_LGUI, KC_LALT, _x_ , _x_ , _x_ , _x_ , KC_SPC, _x_ , _x_ , KC_LEFT, KC_UP, KC_DOWN, KC_RGHT} | ||
| 27 | }, | ||
| 28 | |||
| 29 | // Layer 1: Pressing enter switches to layer 2, where backlight controls live. | ||
| 30 | // This is a momentary layer: once you let go of caps, you'll be back in layer 1. | ||
| 31 | [1] = { | ||
| 32 | {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_DEL }, | ||
| 33 | {_______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_DEL, _______}, | ||
| 34 | {_______, AUD_PRV, AUD_PLY, AUD_NXT, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) , _x_ }, | ||
| 35 | {KC_CAPS, _x_ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _x_ }, | ||
| 36 | {KC_RCTL, KC_RGUI, KC_RALT, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , KC_HOME, KC_PGUP, KC_PGDN, KC_END} | ||
| 37 | }, | ||
| 38 | |||
| 39 | // Layer 2: Zeal60 and backlight configuration. (Get here quickly by pressing Caps+Enter from Layer 1.) | ||
| 40 | // This is a persistent layer. Get back to the default layer by pressing enter. | ||
| 41 | [2] = { | ||
| 42 | {RESET, EF_DEC, EF_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, _______, _______, _______, _______, _______, _______, _______}, | ||
| 43 | {_______, H1_DEC, H1_INC, S1_DEC, S1_INC, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
| 44 | {_______, H2_DEC, H2_INC, S2_DEC, S2_INC, _______, _______, _______, _______, _______, _______, _______, TO(0) , _x_ }, | ||
| 45 | {RGB_MOD, _x_ , RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _x_ }, | ||
| 46 | {RGB_TOG, RGB_VAD, RGB_VAI, _x_ , _x_ , _x_ , _x_ , _______, _x_ , _x_ , _______, _______, _______, _______} | ||
| 47 | } | ||
| 48 | }; | ||
diff --git a/keyboards/wilba_tech/zeal60/readme.md b/keyboards/wilba_tech/zeal60/readme.md new file mode 100644 index 000000000..21d55af39 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/readme.md | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | Zeal60 | ||
| 2 | ==== | ||
| 3 | |||
| 4 |  | ||
| 5 | |||
| 6 | This is a 60% PCB with per-key RGB LEDs and supports ANSI, ISO, winkey/winkeyless bottom row, HHKB-layout (split right shift and backspace). | ||
| 7 | |||
| 8 | Keyboard Maintainer: [Wilba](http://wilba.tech/) and on [github](https://github.com/Wilba6582) | ||
| 9 | Hardware Supported: Zeal60 PCB Rev 0-3 | ||
| 10 | Hardware Availability: https://zealpc.net/collections/group-buy-pre-orders/products/zeal60rgb | ||
| 11 | |||
| 12 | Make example for this keyboard (after setting up your build environment): | ||
| 13 | |||
| 14 | make wilba_tech/zeal60:default | ||
| 15 | |||
| 16 | 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). | ||
| 17 | |||
| 18 | |||
| 19 | RGB Backlight Configuration | ||
| 20 | ==== | ||
| 21 | |||
| 22 | A keymap (in the keymaps directory) can optionally configure which RGB backlight LEDs are used, depending on the needs of the layout, by adding a config.h file in the keymap's directory. | ||
| 23 | The following #define symbols will enable/disable a feature using 1 or 0. | ||
| 24 | |||
| 25 | RGB_BACKLIGHT_USE_SPLIT_BACKSPACE | ||
| 26 | |||
| 27 | Split backspace is being used, enables the right LED of the split backspace (the top-right corner) | ||
| 28 | |||
| 29 | RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT | ||
| 30 | |||
| 31 | Split left shift is being used (i.e. ISO layout), enables the right LED of the split left shift (the ISO key) | ||
| 32 | |||
| 33 | RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT | ||
| 34 | |||
| 35 | Split right shift is being used (i.e. HHKB style layouts), enables the right LED of the split right shift (the Fn key) | ||
| 36 | |||
| 37 | RGB_BACKLIGHT_USE_7U_SPACEBAR | ||
| 38 | |||
| 39 | A 7U spacebar is being used, controls the LEDs under the right stabilizer (of 7U spacebar) and right Alt (if 6.25U spacebar). | ||
| 40 | |||
| 41 | RGB_BACKLIGHT_USE_ISO_ENTER | ||
| 42 | |||
| 43 | An ISO Enter is being used. Only used to tweak the location of the LED being used under ANSI Enter/backslash | ||
| 44 | |||
| 45 | RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS | ||
| 46 | |||
| 47 | Disables the LEDs under HHKB corner blockers, useful for transparent cases. | ||
diff --git a/keyboards/wilba_tech/zeal60/rules.mk b/keyboards/wilba_tech/zeal60/rules.mk new file mode 100644 index 000000000..5d20659f8 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/rules.mk | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | |||
| 2 | |||
| 3 | # project specific files | ||
| 4 | SRC = keyboards/wilba_tech/wt_main.c \ | ||
| 5 | keyboards/wilba_tech/wt_rgb_backlight.c \ | ||
| 6 | quantum/color.c \ | ||
| 7 | drivers/issi/is31fl3731.c \ | ||
| 8 | drivers/avr/i2c_master.c | ||
| 9 | |||
| 10 | # MCU name | ||
| 11 | MCU = atmega32u4 | ||
| 12 | |||
| 13 | # Processor frequency. | ||
| 14 | # This will define a symbol, F_CPU, in all source code files equal to the | ||
| 15 | # processor frequency in Hz. You can then use this symbol in your source code to | ||
| 16 | # calculate timings. Do NOT tack on a 'UL' at the end, this will be done | ||
| 17 | # automatically to create a 32-bit value in your source code. | ||
| 18 | # | ||
| 19 | # This will be an integer division of F_USB below, as it is sourced by | ||
| 20 | # F_USB after it has run through any CPU prescalers. Note that this value | ||
| 21 | # does not *change* the processor frequency - it should merely be updated to | ||
| 22 | # reflect the processor speed set externally so that the code can use accurate | ||
| 23 | # software delays. | ||
| 24 | F_CPU = 16000000 | ||
| 25 | |||
| 26 | # | ||
| 27 | # LUFA specific | ||
| 28 | # | ||
| 29 | # Target architecture (see library "Board Types" documentation). | ||
| 30 | ARCH = AVR8 | ||
| 31 | |||
| 32 | # Input clock frequency. | ||
| 33 | # This will define a symbol, F_USB, in all source code files equal to the | ||
| 34 | # input clock frequency (before any prescaling is performed) in Hz. This value may | ||
| 35 | # differ from F_CPU if prescaling is used on the latter, and is required as the | ||
| 36 | # raw input clock is fed directly to the PLL sections of the AVR for high speed | ||
| 37 | # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' | ||
| 38 | # at the end, this will be done automatically to create a 32-bit value in your | ||
| 39 | # source code. | ||
| 40 | # | ||
| 41 | # If no clock division is performed on the input clock inside the AVR (via the | ||
| 42 | # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. | ||
| 43 | F_USB = $(F_CPU) | ||
| 44 | |||
| 45 | # Interrupt driven control endpoint task(+60) | ||
| 46 | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||
| 47 | |||
| 48 | # Boot Section | ||
| 49 | BOOTLOADER = atmel-dfu | ||
| 50 | |||
| 51 | # Do not put the microcontroller into power saving mode | ||
| 52 | # when we get USB suspend event. We want it to keep updating | ||
| 53 | # backlight effects. | ||
| 54 | OPT_DEFS += -DNO_SUSPEND_POWER_DOWN | ||
| 55 | |||
| 56 | # Build Options | ||
| 57 | # change to "no" to disable the options, or define them in the Makefile in | ||
| 58 | # the appropriate keymap folder that will get included automatically | ||
| 59 | # | ||
| 60 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 61 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 62 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 63 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 64 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 65 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 66 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 67 | MIDI_ENABLE = no # MIDI controls | ||
| 68 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 69 | UNICODE_ENABLE = no # Unicode | ||
| 70 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 71 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. | ||
| 72 | |||
| 73 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 74 | SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend | ||
| 75 | |||
| 76 | RAW_ENABLE = yes | ||
| 77 | DYNAMIC_KEYMAP_ENABLE = yes | ||
| 78 | CIE1931_CURVE = yes | ||
| 79 | |||
| 80 | LAYOUTS = 60_ansi 60_iso 60_hhkb 60_ansi_split_bs_rshift | ||
diff --git a/keyboards/wilba_tech/zeal60/zeal60.c b/keyboards/wilba_tech/zeal60/zeal60.c new file mode 100644 index 000000000..b8c2e2f83 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/zeal60.c | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | /* Copyright 2017 Jason Williams (Wilba) | ||
| 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 | #ifndef RGB_BACKLIGHT_ZEAL60 | ||
| 17 | #error RGB_BACKLIGHT_ZEAL60 not defined, you done goofed somehao, brah | ||
| 18 | #endif | ||
diff --git a/keyboards/wilba_tech/zeal60/zeal60.h b/keyboards/wilba_tech/zeal60/zeal60.h new file mode 100644 index 000000000..0d4f1b908 --- /dev/null +++ b/keyboards/wilba_tech/zeal60/zeal60.h | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | /* Copyright 2017 Jason Williams (Wilba) | ||
| 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 | #pragma once | ||
| 17 | |||
| 18 | #include "quantum.h" | ||
| 19 | #include "keyboards/wilba_tech/wt_rgb_backlight_keycodes.h" | ||
| 20 | #include "keyboards/wilba_tech/via_keycodes.h" | ||
| 21 | |||
| 22 | #define XXX KC_NO | ||
| 23 | |||
| 24 | #define LAYOUT_60_all( \ | ||
| 25 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ | ||
| 26 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | ||
| 27 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
| 28 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
| 29 | K40, K41, K42, K47, K4A, K4B, K4C, K4D \ | ||
| 30 | ) { \ | ||
| 31 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | ||
| 32 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | ||
| 33 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ | ||
| 34 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ | ||
| 35 | { K40, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, K4A, K4B, K4C, K4D } \ | ||
| 36 | } | ||
| 37 | |||
| 38 | #define LAYOUT_60_ansi( \ | ||
| 39 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||
| 40 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | ||
| 41 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
| 42 | K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ | ||
| 43 | K40, K41, K42, K47, K4A, K4B, K4C, K4D \ | ||
| 44 | ) { \ | ||
| 45 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | ||
| 46 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | ||
| 47 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX }, \ | ||
| 48 | { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \ | ||
| 49 | { K40, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, K4A, K4B, K4C, K4D } \ | ||
| 50 | } | ||
| 51 | |||
| 52 | #define LAYOUT_60_iso( \ | ||
| 53 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ | ||
| 54 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | ||
| 55 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
| 56 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ | ||
| 57 | K40, K41, K42, K47, K4A, K4B, K4C, K4D \ | ||
| 58 | ) { \ | ||
| 59 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | ||
| 60 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | ||
| 61 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX }, \ | ||
| 62 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX }, \ | ||
| 63 | { K40, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, K4A, K4B, K4C, K4D } \ | ||
| 64 | } | ||
| 65 | |||
| 66 | #define LAYOUT_60_ansi_split_bs_rshift( \ | ||
| 67 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ | ||
| 68 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | ||
| 69 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
| 70 | K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
| 71 | K40, K41, K42, K47, K4A, K4B, K4C, K4D \ | ||
| 72 | ) { \ | ||
| 73 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | ||
| 74 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | ||
| 75 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ | ||
| 76 | { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ | ||
| 77 | { K40, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, K4A, K4B, K4C, K4D } \ | ||
| 78 | } | ||
| 79 | |||
| 80 | #define LAYOUT_60_hhkb( \ | ||
| 81 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ | ||
| 82 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | ||
| 83 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | ||
| 84 | K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
| 85 | K41, K42, K47, K4B, K4C \ | ||
| 86 | ) { \ | ||
| 87 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | ||
| 88 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | ||
| 89 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ | ||
| 90 | { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ | ||
| 91 | { XXX, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, XXX, K4B, K4C, XXX } \ | ||
| 92 | } | ||
| 93 | |||
