summaryrefslogtreecommitdiffstats
path: root/keyboards/capsunlocked/cu80
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-07 20:20:33 +0000
committerQMK Bot <hello@qmk.fm>2021-03-07 20:20:33 +0000
commit43b47495e333a640903c029a35defda5b000502f (patch)
tree5f42ef0b263c5fc2e25cbca92388cd4f618c4884 /keyboards/capsunlocked/cu80
parentb15288fb87c9a5daf47278c84d0ee3bca241dabb (diff)
parent75fd6bd2690583ae62c43f0b9a930cd9f6d8dbb3 (diff)
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards/capsunlocked/cu80')
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h55
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json100
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c38
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md3
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c55
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk1
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md18
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk28
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c67
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h46
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/config.h52
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/info.json101
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c38
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/readme.md3
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/keymap.c55
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/rules.mk1
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/readme.md18
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/rules.mk28
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c64
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h46
20 files changed, 817 insertions, 0 deletions
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h b/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h
new file mode 100644
index 0000000000..fe07286963
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h
@@ -0,0 +1,55 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4355
+#define PRODUCT_ID 0x0082
+#define DEVICE_VER 0x0001
+#define MANUFACTURER CapsUnlocked
+#define PRODUCT CU80 v2 ANSI RGB
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
+#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+
+/* Define RGB */
+#define RGB_DI_PIN E6
+#define RGB_MATRIX_KEYPRESSES
+#define DRIVER_LED_TOTAL 87
+#define RGBLED_NUM 87
+#define RGBLIGHT_LIMIT_VAL 50
+
+
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json
new file mode 100644
index 0000000000..809b7d5cfa
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json
@@ -0,0 +1,100 @@
+{
+ "keyboard_name": "CapsUnlocked CU80 v2 ANSI RGB",
+ "maintainer": "rys",
+ "url": "https://caps-unlocked.com/cu80-round-2/",
+ "width": 18.25,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT_tkl_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":2, "y":0},
+ {"label":"F2", "x":3, "y":0},
+ {"label":"F3", "x":4, "y":0},
+ {"label":"F4", "x":5, "y":0},
+ {"label":"F5", "x":6.5, "y":0},
+ {"label":"F6", "x":7.5, "y":0},
+ {"label":"F7", "x":8.5, "y":0},
+ {"label":"F8", "x":9.5, "y":0},
+ {"label":"F9", "x":11, "y":0},
+ {"label":"F10", "x":12, "y":0},
+ {"label":"F11", "x":13, "y":0},
+ {"label":"F12", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+ {"label":"\u00ac", "x":0, "y":1.5},
+ {"label":"!", "x":1, "y":1.5},
+ {"label":"@", "x":2, "y":1.5},
+ {"label":"£", "x":3, "y":1.5},
+ {"label":"$", "x":4, "y":1.5},
+ {"label":"%", "x":5, "y":1.5},
+ {"label":"^", "x":6, "y":1.5},
+ {"label":"&", "x":7, "y":1.5},
+ {"label":"*", "x":8, "y":1.5},
+ {"label":"(", "x":9, "y":1.5},
+ {"label":")", "x":10, "y":1.5},
+ {"label":"_", "x":11, "y":1.5},
+ {"label":"+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.5},
+ {"label":"Home", "x":16.25, "y":1.5},
+ {"label":"PgUp", "x":17.25, "y":1.5},
+ {"label":"Tab", "x":0, "y":2.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.5},
+ {"label":"W", "x":2.5, "y":2.5},
+ {"label":"E", "x":3.5, "y":2.5},
+ {"label":"R", "x":4.5, "y":2.5},
+ {"label":"T", "x":5.5, "y":2.5},
+ {"label":"Y", "x":6.5, "y":2.5},
+ {"label":"U", "x":7.5, "y":2.5},
+ {"label":"I", "x":8.5, "y":2.5},
+ {"label":"O", "x":9.5, "y":2.5},
+ {"label":"P", "x":10.5, "y":2.5},
+ {"label":"{", "x":11.5, "y":2.5},
+ {"label":"}", "x":12.5, "y":2.5},
+ {"label":"|", "x":13.5, "y":2.5, "w":1.5},
+ {"label":"Delete", "x":15.25, "y":2.5},
+ {"label":"End", "x":16.25, "y":2.5},
+ {"label":"PgDn", "x":17.25, "y":2.5},
+ {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.5},
+ {"label":"S", "x":2.75, "y":3.5},
+ {"label":"D", "x":3.75, "y":3.5},
+ {"label":"F", "x":4.75, "y":3.5},
+ {"label":"G", "x":5.75, "y":3.5},
+ {"label":"H", "x":6.75, "y":3.5},
+ {"label":"J", "x":7.75, "y":3.5},
+ {"label":"K", "x":8.75, "y":3.5},
+ {"label":"L", "x":9.75, "y":3.5},
+ {"label":":", "x":10.75, "y":3.5},
+ {"label":"\"", "x":11.75, "y":3.5},
+ {"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
+ {"label":"Shift", "x":0, "y":4.5, "w":2.25},
+ {"label":"Z", "x":2.25, "y":4.5},
+ {"label":"X", "x":3.25, "y":4.5},
+ {"label":"C", "x":4.25, "y":4.5},
+ {"label":"V", "x":5.25, "y":4.5},
+ {"label":"B", "x":6.25, "y":4.5},
+ {"label":"N", "x":7.25, "y":4.5},
+ {"label":"M", "x":8.25, "y":4.5},
+ {"label":"<", "x":9.25, "y":4.5},
+ {"label":">", "x":10.25, "y":4.5},
+ {"label":"?", "x":11.25, "y":4.5},
+ {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
+ {"label":"Up", "x":16.25, "y":4.5},
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Win", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Win", "x":10, "y":5.5, "w":1.25},
+ {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
+ {"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
+ {"label":"Left", "x":15.25, "y":5.5},
+ {"label":"Down", "x":16.25, "y":5.5},
+ {"label":"Right", "x":17.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b27fe2c9be
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ 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,
+ 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,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
+
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
+ ),
+};
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md
new file mode 100644
index 0000000000..717c2c283a
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# The default ANSI keymap for the CU80
+
+This CU80 is keymap is for the fixed ANSI variant with fully populated bottom row.
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9d53b04cd2
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c
@@ -0,0 +1,55 @@
+/* Copyright 2021 CapsUnlocked
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ 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,
+ 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,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_ansi(
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
+
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
+ ),
+ [2] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT_tkl_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md b/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md
new file mode 100644
index 0000000000..302248f117
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md
@@ -0,0 +1,18 @@
+# CU80 v2 ANSI RGB
+
+The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with matrix RGB lighting, fixed ANSI layout and VIA support.
+
+This firmware adds RGB matrix support.
+
+To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in.
+
+* Keyboard maintainer: [rys](https://github.com/rys)
+* Hardware supported: CU80 v2 ANSI
+* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
+
+Make and flash example for this keyboard (after setting up your build environment):
+
+ make capsunlocked/cu80/v2_ansi_rgb:default:flash
+ make capsunlocked/cu80/v2_ansi_rgb:via:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk
new file mode 100644
index 0000000000..0473b7d414
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk
@@ -0,0 +1,28 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes # Enable RGB matrix
+RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812
+NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue
+
+
+LAYOUTS = tkl_ansi
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c
new file mode 100644
index 0000000000..7065d960f1
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c
@@ -0,0 +1,67 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "v2_ansi_rgb.h"
+#include "rgb_matrix_types.h"
+
+
+void matrix_init_kb(void) {
+ setPinOutput(E6);
+ matrix_init_user();
+}
+
+/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
+void rgb_matrix_indicators_kb(void) {
+ if (host_keyboard_led_state().caps_lock) {
+ rgb_matrix_set_color(62, 255, 255, 255);
+ }
+ if (host_keyboard_led_state().scroll_lock) {
+ rgb_matrix_set_color(14, 255, 255, 255);
+ }
+}
+
+/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */
+led_config_t g_led_config = {
+ {
+ { 0,NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
+ { 32,31 ,30 ,29 ,28 ,27 ,26 ,25 ,24 ,23 ,22 ,21 ,20 ,19 ,18 ,17 ,16 },
+ { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 },
+ { 62, 61, 60, 59,58,57,56,55,54,53,52,51,50 },
+ { 63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75 },
+ { 86 ,85 ,84 ,NO_LED, NO_LED ,83, NO_LED,NO_LED, NO_LED ,82 ,81 ,80 ,79 ,78 ,NO_LED,77 ,76 }
+
+ },
+ /*board layout accounting for led directions */
+ {
+ {0,0}, {28,0}, {42,0}, {56,0}, {71,0}, {85,0}, {99,0}, {113,0}, {127,0}, {141,0}, {155,0}, {169,0}, {184,0}, {198,0}, {212,0}, {226,0},
+ {226,13}, {212,13}, {198,13}, {184,13}, {169,13}, {155,13}, {141,13}, {127,13}, {113,13}, {99,13}, {85,13}, {71,13}, {56,13}, {42,13}, {28,13}, {14,13}, {0,13},
+ {0,26}, {14,26}, {28,26}, {42,26}, {56,26}, {71,26}, {85,26}, {99,26}, {113,26}, {127,26}, {141,26}, {155,26}, {169,26}, {184,26}, {198,26}, {212,26}, {226,26},
+ {169,38}, {155,38}, {141,38}, {127,38}, {113,38}, {99,38}, {85,38}, {71,38}, {56,38}, {42,38}, {28,38}, {14,38}, {0,38},
+ {0,51}, {28,51}, {42,51}, {56,51}, {71,51}, {85,51}, {99,51}, {113,51}, {127,51}, {141,51}, {155,51}, {169,51}, {212,51},
+ {226,64}, {212,64}, {184,64}, {169,64}, {155,64}, {141,64}, {127,64}, {71,64}, {28,64}, {14,64}, {0,64}
+
+ },
+ /* marks scroll and caps as function modifiers for led effects */
+ {
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
+ }
+};
diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h
new file mode 100644
index 0000000000..61aecfa008
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "quantum.h"
+
+/* This a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+
+#define LAYOUT_tkl_ansi( \
+ K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \
+ \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \
+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
+ K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K415, \
+ K500, K501, K502, K505, K509, K510, K511, K512, K513, K515, K516 \
+) { \
+ { K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \
+ { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, KC_NO, K415, KC_NO }, \
+ { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, K513, KC_NO, K515, K516 }, \
+}
diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h b/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h
new file mode 100644
index 0000000000..eb607ce88d
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h
@@ -0,0 +1,52 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4355
+#define PRODUCT_ID 0x0083
+#define DEVICE_VER 0x0001
+#define MANUFACTURER CapsUnlocked
+#define PRODUCT CU80 v2 ISO RGB
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 17
+
+#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
+#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* Define RGB */
+#define RGB_DI_PIN E6
+#define DRIVER_LED_TOTAL 88
+#define RGBLED_NUM 88
+#define RGB_MATRIX_KEYPRESSES
+#define RGBLIGHT_LIMIT_VAL 50
diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json
new file mode 100644
index 0000000000..75de023929
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json
@@ -0,0 +1,101 @@
+{
+ "keyboard_name": "CapsUnlocked CU80 v2 ISO RGB",
+ "maintainer": "rys",
+ "url": "https://caps-unlocked.com/cu80-round-2/",
+ "width": 18.25,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT_tkl_iso": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"F1", "x":2, "y":0},
+ {"label":"F2", "x":3, "y":0},
+ {"label":"F3", "x":4, "y":0},
+ {"label":"F4", "x":5, "y":0},
+ {"label":"F5", "x":6.5, "y":0},
+ {"label":"F6", "x":7.5, "y":0},
+ {"label":"F7", "x":8.5, "y":0},
+ {"label":"F8", "x":9.5, "y":0},
+ {"label":"F9", "x":11, "y":0},
+ {"label":"F10", "x":12, "y":0},
+ {"label":"F11", "x":13, "y":0},
+ {"label":"F12", "x":14, "y":0},
+ {"label":"PrtSc", "x":15.25, "y":0},
+ {"label":"Scroll Lock", "x":16.25, "y":0},
+ {"label":"Pause", "x":17.25, "y":0},
+ {"label":"\u00ac", "x":0, "y":1.5},
+ {"label":"!", "x":1, "y":1.5},
+ {"label":"\"", "x":2, "y":1.5},
+ {"label":"£", "x":3, "y":1.5},
+ {"label":"$", "x":4, "y":1.5},
+ {"label":"%", "x":5, "y":1.5},
+ {"label":"^", "x":6, "y":1.5},
+ {"label":"&", "x":7, "y":1.5},
+ {"label":"*", "x":8, "y":1.5},
+ {"label":"(", "x":9, "y":1.5},
+ {"label":")", "x":10, "y":1.5},
+ {"label":"_", "x":11, "y":1.5},
+ {"label":"+", "x":12, "y":1.5},
+ {"label":"Backspace", "x":13, "y":1.5, "w":2},
+ {"label":"Insert", "x":15.25, "y":1.5},
+ {"label":"Home", "x":16.25, "y":1.5},
+ {"label":"PgUp", "x":17.25, "y":1.5},
+ {"label":"Tab", "x":0, "y":2.5, "w":1.5},
+ {"label":"Q", "x":1.5, "y":2.5},
+ {"label":"W", "x":2.5, "y":2.5},
+ {"label":"E", "x":3.5, "y":2.5},
+ {"label":"R", "x":4.5, "y":2.5},
+ {"label":"T", "x":5.5, "y":2.5},
+ {"label":"Y", "x":6.5, "y":2.5},
+ {"label":"U", "x":7.5, "y":2.5},
+ {"label":"I", "x":8.5, "y":2.5},
+ {"label":"O", "x":9.5, "y":2.5},
+ {"label":"P", "x":10.5, "y":2.5},
+ {"label":"{", "x":11.5, "y":2.5},
+ {"label":"}", "x":12.5, "y":2.5},
+ {"label":"Delete", "x":15.25, "y":2.5},
+ {"label":"End", "x":16.25, "y":2.5},
+ {"label":"PgDn", "x":17.25, "y":2.5},
+ {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
+ {"label":"A", "x":1.75, "y":3.5},
+ {"label":"S", "x":2.75, "y":3.5},
+ {"label":"D", "x":3.75, "y":3.5},
+ {"label":"F", "x":4.75, "y":3.5},
+ {"label":"G", "x":5.75, "y":3.5},
+ {"label":"H", "x":6.75, "y":3.5},
+ {"label":"J", "x":7.75, "y":3.5},
+ {"label":"K", "x":8.75, "y":3.5},
+ {"label":"L", "x":9.75, "y":3.5},
+ {"label":":", "x":10.75, "y":3.5},
+ {"label":"@", "x":11.75, "y":3.5},
+ {"label":"~", "x":12.75, "y":3.5},
+ {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
+ {"label":"Shift", "x":0, "y":4.5, "w":1.25},
+ {"label":"|", "x":1.25, "y":4.5},
+ {"label":"Z", "x":2.25, "y":4.5},
+ {"label":"X", "x":3.25, "y":4.5},
+ {"label":"C", "x":4.25, "y":4.5},
+ {"label":"V", "x":5.25, "y":4.5},
+ {"label":"B", "x":6.25, "y":4.5},
+ {"label":"N", "x":7.25, "y":4.5},
+ {"label":"M", "x":8.25, "y":4.5},
+ {"label":"<", "x":9.25, "y":4.5},
+ {"label":">", "x":10.25, "y":4.5},
+ {"label":"?", "x":11.25, "y":4.5},
+ {"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
+ {"label":"Up", "x":16.25, "y":4.5},
+ {"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
+ {"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
+ {"label":"Win", "x":2.5, "y":5.5, "w":1.25},
+ {"label":"Space", "x":3.75, "y":5.5, "w":6.25},
+ {"label":"Win", "x":10, "y":5.5, "w":1.25},
+ {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
+ {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
+ {"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
+ {"label":"Left", "x":15.25, "y":5.5},
+ {"label":"Down", "x":16.25, "y":5.5},
+ {"label":"Right", "x":17.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c
new file mode 100644
index 0000000000..1b1caa8776
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+/*
+Copyright 2021 CapsUnlocked
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ 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_DEL, KC_END, KC_PGDN,
+ 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, KC_ENT,
+ 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, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_tkl_iso(