From c71ecb0addf78e4a49a91c8c9c95d92fe4b70abf Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Sat, 19 Jun 2021 17:54:28 -0700 Subject: [PATCH 1/3] initial commit --- .../titan65/{ => hotswap}/config.h | 2 +- .../titan65/{titan65.c => hotswap/hotswap.c} | 2 +- .../titan65/{titan65.h => hotswap/hotswap.h} | 0 .../titan65/{ => hotswap}/info.json | 2 +- .../{ => hotswap}/keymaps/default/keymap.c | 0 .../{ => hotswap}/keymaps/via/keymap.c | 0 .../{ => hotswap}/keymaps/via/rules.mk | 0 .../titan65/{ => hotswap}/readme.md | 0 .../phase_studio/titan65/hotswap/rules.mk | 26 ++++++ keyboards/phase_studio/titan65/rules.mk | 27 +------ .../phase_studio/titan65/soldered/config.h | 45 +++++++++++ .../phase_studio/titan65/soldered/info.json | 81 +++++++++++++++++++ .../titan65/soldered/keymaps/default/keymap.c | 36 +++++++++ .../titan65/soldered/keymaps/via/keymap.c | 51 ++++++++++++ .../titan65/soldered/keymaps/via/rules.mk | 2 + .../phase_studio/titan65/soldered/readme.md | 24 ++++++ .../phase_studio/titan65/soldered/rules.mk | 24 ++++++ .../phase_studio/titan65/soldered/soldered.c | 51 ++++++++++++ .../phase_studio/titan65/soldered/soldered.h | 35 ++++++++ 19 files changed, 379 insertions(+), 29 deletions(-) rename keyboards/phase_studio/titan65/{ => hotswap}/config.h (97%) rename keyboards/phase_studio/titan65/{titan65.c => hotswap/hotswap.c} (99%) rename keyboards/phase_studio/titan65/{titan65.h => hotswap/hotswap.h} (100%) rename keyboards/phase_studio/titan65/{ => hotswap}/info.json (98%) rename keyboards/phase_studio/titan65/{ => hotswap}/keymaps/default/keymap.c (100%) rename keyboards/phase_studio/titan65/{ => hotswap}/keymaps/via/keymap.c (100%) rename keyboards/phase_studio/titan65/{ => hotswap}/keymaps/via/rules.mk (100%) rename keyboards/phase_studio/titan65/{ => hotswap}/readme.md (100%) create mode 100644 keyboards/phase_studio/titan65/hotswap/rules.mk create mode 100644 keyboards/phase_studio/titan65/soldered/config.h create mode 100644 keyboards/phase_studio/titan65/soldered/info.json create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/via/rules.mk create mode 100644 keyboards/phase_studio/titan65/soldered/readme.md create mode 100644 keyboards/phase_studio/titan65/soldered/rules.mk create mode 100644 keyboards/phase_studio/titan65/soldered/soldered.c create mode 100644 keyboards/phase_studio/titan65/soldered/soldered.h diff --git a/keyboards/phase_studio/titan65/config.h b/keyboards/phase_studio/titan65/hotswap/config.h similarity index 97% rename from keyboards/phase_studio/titan65/config.h rename to keyboards/phase_studio/titan65/hotswap/config.h index 4104c2ec2c7d..9a9e74bf1b9b 100644 --- a/keyboards/phase_studio/titan65/config.h +++ b/keyboards/phase_studio/titan65/hotswap/config.h @@ -23,7 +23,7 @@ #define PRODUCT_ID 0xBB91 #define DEVICE_VER 0x0001 #define MANUFACTURER Phase Studio -#define PRODUCT Titan 65 +#define PRODUCT Titan 65 (hotswap) /* key matrix size */ #define MATRIX_ROWS 5 diff --git a/keyboards/phase_studio/titan65/titan65.c b/keyboards/phase_studio/titan65/hotswap/hotswap.c similarity index 99% rename from keyboards/phase_studio/titan65/titan65.c rename to keyboards/phase_studio/titan65/hotswap/hotswap.c index b43c1b4346cf..bc96b2d323be 100644 --- a/keyboards/phase_studio/titan65/titan65.c +++ b/keyboards/phase_studio/titan65/hotswap/hotswap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "titan65.h" +#include "hotswap.h" #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { diff --git a/keyboards/phase_studio/titan65/titan65.h b/keyboards/phase_studio/titan65/hotswap/hotswap.h similarity index 100% rename from keyboards/phase_studio/titan65/titan65.h rename to keyboards/phase_studio/titan65/hotswap/hotswap.h diff --git a/keyboards/phase_studio/titan65/info.json b/keyboards/phase_studio/titan65/hotswap/info.json similarity index 98% rename from keyboards/phase_studio/titan65/info.json rename to keyboards/phase_studio/titan65/hotswap/info.json index d9e613ee8763..71c3e9dcf717 100644 --- a/keyboards/phase_studio/titan65/info.json +++ b/keyboards/phase_studio/titan65/hotswap/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Titan 65", + "keyboard_name": "Titan 65 (hotswap)", "url": "", "maintainer": "drashna", "width": 16, diff --git a/keyboards/phase_studio/titan65/keymaps/default/keymap.c b/keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c similarity index 100% rename from keyboards/phase_studio/titan65/keymaps/default/keymap.c rename to keyboards/phase_studio/titan65/hotswap/keymaps/default/keymap.c diff --git a/keyboards/phase_studio/titan65/keymaps/via/keymap.c b/keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c similarity index 100% rename from keyboards/phase_studio/titan65/keymaps/via/keymap.c rename to keyboards/phase_studio/titan65/hotswap/keymaps/via/keymap.c diff --git a/keyboards/phase_studio/titan65/keymaps/via/rules.mk b/keyboards/phase_studio/titan65/hotswap/keymaps/via/rules.mk similarity index 100% rename from keyboards/phase_studio/titan65/keymaps/via/rules.mk rename to keyboards/phase_studio/titan65/hotswap/keymaps/via/rules.mk diff --git a/keyboards/phase_studio/titan65/readme.md b/keyboards/phase_studio/titan65/hotswap/readme.md similarity index 100% rename from keyboards/phase_studio/titan65/readme.md rename to keyboards/phase_studio/titan65/hotswap/readme.md diff --git a/keyboards/phase_studio/titan65/hotswap/rules.mk b/keyboards/phase_studio/titan65/hotswap/rules.mk new file mode 100644 index 000000000000..02f2c7d01b40 --- /dev/null +++ b/keyboards/phase_studio/titan65/hotswap/rules.mk @@ -0,0 +1,26 @@ +# 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 = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +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 +RGB_MATRIX_DRIVER = WS2812 + + +AUDIO_SUPPORTED = no +RGBLIGHT_SUPPORTED = no +RGB_MATRIX_SUPPORTED = yes diff --git a/keyboards/phase_studio/titan65/rules.mk b/keyboards/phase_studio/titan65/rules.mk index 02f2c7d01b40..d55ca35d7a1b 100644 --- a/keyboards/phase_studio/titan65/rules.mk +++ b/keyboards/phase_studio/titan65/rules.mk @@ -1,26 +1 @@ -# 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 = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -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 -RGB_MATRIX_DRIVER = WS2812 - - -AUDIO_SUPPORTED = no -RGBLIGHT_SUPPORTED = no -RGB_MATRIX_SUPPORTED = yes +DEFAULT_FOLDER = phase_studio/titan65/hotswap diff --git a/keyboards/phase_studio/titan65/soldered/config.h b/keyboards/phase_studio/titan65/soldered/config.h new file mode 100644 index 000000000000..6ecde7d1f361 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5054 +#define PRODUCT_ID 0xBB92 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Phase Studio +#define PRODUCT Titan 65 (soldered) + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B6, C6, C7, F7, E6 } +#define MATRIX_COL_PINS { D3, D5, D4, D6, D7, B4, B5, F6, F5, F4, F1, F0, B0, B1, B2, B3 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/phase_studio/titan65/soldered/info.json b/keyboards/phase_studio/titan65/soldered/info.json new file mode 100644 index 000000000000..00173cc999bb --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "Titan 65 (soldered)", + "url": "", + "maintainer": "drashna", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (B4,B0)", "x":0, "y":0}, + {"label":"K01 (B4,B1)", "x":1, "y":0}, + {"label":"K02 (B4,B2)", "x":2, "y":0}, + {"label":"K03 (B4,B3)", "x":3, "y":0}, + {"label":"K04 (B4,B7)", "x":4, "y":0}, + {"label":"K05 (B4,D0)", "x":5, "y":0}, + {"label":"K06 (B4,D1)", "x":6, "y":0}, + {"label":"K07 (B4,D2)", "x":7, "y":0}, + {"label":"K08 (B4,D3)", "x":8, "y":0}, + {"label":"K09 (B4,D5)", "x":9, "y":0}, + {"label":"K0A (B4,F0)", "x":10, "y":0}, + {"label":"K0B (B4,F1)", "x":11, "y":0}, + {"label":"K0C (B4,C7)", "x":12, "y":0}, + {"label":"K0E (B4,F5)", "x":13, "y":0}, + {"label":"K0E (B4,F5)", "x":13, "y":0, "w":2}, + {"label":"K0F (B4,F6)", "x":15, "y":0}, + {"label":"K10 (B5,B0)", "x":0, "y":1, "w":1.5}, + {"label":"K12 (B5,B2)", "x":1.5, "y":1}, + {"label":"K13 (B5,B3)", "x":2.5, "y":1}, + {"label":"K14 (B5,B7)", "x":3.5, "y":1}, + {"label":"K15 (B5,D0)", "x":4.5, "y":1}, + {"label":"K16 (B5,D1)", "x":5.5, "y":1}, + {"label":"K17 (B5,D2)", "x":6.5, "y":1}, + {"label":"K18 (B5,D3)", "x":7.5, "y":1}, + {"label":"K19 (B5,D5)", "x":8.5, "y":1}, + {"label":"K1A (B5,F0)", "x":9.5, "y":1}, + {"label":"K1B (B5,F1)", "x":10.5, "y":1}, + {"label":"K1C (B5,C7)", "x":11.5, "y":1}, + {"label":"K1D (B5,F4)", "x":12.5, "y":1}, + {"label":"K1E (B5,F5)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1F (B5,F6)", "x":15, "y":1}, + {"label":"K20 (B6,B0)", "x":0, "y":2, "w":1.75}, + {"label":"K22 (B6,B2)", "x":1.75, "y":2}, + {"label":"K23 (B6,B3)", "x":2.75, "y":2}, + {"label":"K24 (B6,B7)", "x":3.75, "y":2}, + {"label":"K25 (B6,D0)", "x":4.75, "y":2}, + {"label":"K26 (B6,D1)", "x":5.75, "y":2}, + {"label":"K27 (B6,D2)", "x":6.75, "y":2}, + {"label":"K28 (B6,D3)", "x":7.75, "y":2}, + {"label":"K29 (B6,D5)", "x":8.75, "y":2}, + {"label":"K2A (B6,F0)", "x":9.75, "y":2}, + {"label":"K2B (B6,F1)", "x":10.75, "y":2}, + {"label":"K2C (B6,C7)", "x":11.75, "y":2}, + {"label":"K2D (B6,F4)", "x":12.75, "y":2, "w":2.25}, + {"label":"K2F (B6,F6)", "x":15, "y":2}, + {"label":"K31 (C6,B1)", "x":0, "y":3, "w":2.25}, + {"label":"K32 (C6,B2)", "x":2.25, "y":3}, + {"label":"K33 (C6,B3)", "x":3.25, "y":3}, + {"label":"K34 (C6,B7)", "x":4.25, "y":3}, + {"label":"K35 (C6,D0)", "x":5.25, "y":3}, + {"label":"K36 (C6,D1)", "x":6.25, "y":3}, + {"label":"K37 (C6,D2)", "x":7.25, "y":3}, + {"label":"K38 (C6,D3)", "x":8.25, "y":3}, + {"label":"K39 (C6,D5)", "x":9.25, "y":3}, + {"label":"K3A (C6,F0)", "x":10.25, "y":3}, + {"label":"K3B (C6,F1)", "x":11.25, "y":3}, + {"label":"K3D (C6,F4)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3E (C6,F5)", "x":14, "y":3}, + {"label":"K3F (C6,F6)", "x":15, "y":3}, + {"label":"K40 (F7,B0)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (F7,B1)", "x":1.25, "y":4}, + {"label":"K42 (F7,B2)", "x":2.25, "y":4, "w":1.25}, + {"label":"K46 (F7,D1)", "x":3.5, "y":4, "w":6.25}, + {"label":"K4A (F7,F0)", "x":9.75, "y":4, "w":1.25}, + {"label":"K4B (F7,F1)", "x":11, "y":4, "w":1.25}, + {"label":"K4D (F7,F4)", "x":13, "y":4}, + {"label":"K4E (F7,F5)", "x":14, "y":4}, + {"label":"K4F (F7,F6)", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c b/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c new file mode 100644 index 000000000000..7751c0a0dd20 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 . + */ + +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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, KC_DEL, KC_HOME, + 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_PGUP, + 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_NUBS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, LT(1, KC_END), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c b/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c new file mode 100644 index 000000000000..678dcfc91a1e --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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, KC_DEL, KC_HOME, + 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_PGUP, + 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_NUBS, KC_ENT, KC_PGDN, + KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, LT(1, KC_END), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/phase_studio/titan65/soldered/keymaps/via/rules.mk b/keyboards/phase_studio/titan65/soldered/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/phase_studio/titan65/soldered/readme.md b/keyboards/phase_studio/titan65/soldered/readme.md new file mode 100644 index 000000000000..2d09592be76c --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/readme.md @@ -0,0 +1,24 @@ +# Titan 65 + +A 65% ANSI keyboard with per key RGB + +* Keyboard Maintainer: [Drashna Jaelre](/~https://github.com/drashna) +* Hardware Supported: atmega32u4 based PCB +* Hardware Availability: TBD + +Make example for this keyboard (after setting up your build environment): + + make phase_studio/titan65:default + +Flashing example for this keyboard: + + make phase_studio/titan65:default: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). + +## Bootloader + +To enter the bootloader, hold down the top left most key when plugging in the USB cable. + +Alternatively, the default keymap has a RESET key if yo hold down the "home" (right most, second from botton) key and hit the top right most key. diff --git a/keyboards/phase_studio/titan65/soldered/rules.mk b/keyboards/phase_studio/titan65/soldered/rules.mk new file mode 100644 index 000000000000..6bfb47d732d8 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/rules.mk @@ -0,0 +1,24 @@ +# 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 = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +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 + + +AUDIO_SUPPORTED = no +RGBLIGHT_SUPPORTED = no +RGB_MATRIX_SUPPORTED = no diff --git a/keyboards/phase_studio/titan65/soldered/soldered.c b/keyboards/phase_studio/titan65/soldered/soldered.c new file mode 100644 index 000000000000..31ddc2d04c42 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/soldered.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 . + */ + +#include "soldered.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { + { + { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED, 65, 66 }, + { 51, NO_LED, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, .38, 37 }, + { 23, NO_LED, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, NO_LED, 36 }, + { NO_LED, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, NO_LED, 11, 10, 9 }, + { 0, 1, NO_LED, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, NO_LED, 6, 7, 8 } + }, { + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }, + { 224, 48 }, { 210, 48 }, { 189, 48 }, { 154, 48 }, { 139, 48 }, { 124, 48 }, { 109, 48 }, { 94, 48 }, { 79, 48 }, { 64, 48 }, { 49, 48 }, { 34, 48 }, { 22, 48 }, { 5, 48 }, + { 6, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 181, 32 }, { 201, 32 }, { 224, 32 }, + { 224, 16 }, { 206, 16 },{ 188, 16 }, { 173, 16 }, { 158, 16 }, { 143, 16 }, { 128, 16 }, { 113, 16 }, { 98, 16 }, { 83, 16 }, { 68, 16 }, { 53, 16 }, { 38, 16 }, { 22, 16 }, { 4, 16 }, + { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 } + }, { + 1, 1, 1, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1 + } +}; + +void suspend_power_down_kb(void) { + rgb_matrix_set_suspend_state(true); + suspend_power_down_user(); +} + +void suspend_wakeup_init_kb(void) { + rgb_matrix_set_suspend_state(false); + suspend_wakeup_init_user(); +} +#endif diff --git a/keyboards/phase_studio/titan65/soldered/soldered.h b/keyboards/phase_studio/titan65/soldered/soldered.h new file mode 100644 index 000000000000..0e6004d97917 --- /dev/null +++ b/keyboards/phase_studio/titan65/soldered/soldered.h @@ -0,0 +1,35 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ +} From a3dbdc965028c890c58bd48caf2c595aa44ecc54 Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Sun, 20 Jun 2021 08:31:44 -0700 Subject: [PATCH 2/3] add additional layouts --- .../phase_studio/titan65/soldered/soldered.c | 34 --------- .../phase_studio/titan65/soldered/soldered.h | 76 ++++++++++++++++--- 2 files changed, 66 insertions(+), 44 deletions(-) diff --git a/keyboards/phase_studio/titan65/soldered/soldered.c b/keyboards/phase_studio/titan65/soldered/soldered.c index 31ddc2d04c42..65aee33f6b52 100644 --- a/keyboards/phase_studio/titan65/soldered/soldered.c +++ b/keyboards/phase_studio/titan65/soldered/soldered.c @@ -15,37 +15,3 @@ */ #include "soldered.h" - -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { - { - { 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, NO_LED, 65, 66 }, - { 51, NO_LED, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, .38, 37 }, - { 23, NO_LED, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, NO_LED, 36 }, - { NO_LED, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, NO_LED, 11, 10, 9 }, - { 0, 1, NO_LED, 2, NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, 4, 5, NO_LED, 6, 7, 8 } - }, { - { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }, - { 224, 48 }, { 210, 48 }, { 189, 48 }, { 154, 48 }, { 139, 48 }, { 124, 48 }, { 109, 48 }, { 94, 48 }, { 79, 48 }, { 64, 48 }, { 49, 48 }, { 34, 48 }, { 22, 48 }, { 5, 48 }, - { 6, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 181, 32 }, { 201, 32 }, { 224, 32 }, - { 224, 16 }, { 206, 16 },{ 188, 16 }, { 173, 16 }, { 158, 16 }, { 143, 16 }, { 128, 16 }, { 113, 16 }, { 98, 16 }, { 83, 16 }, { 68, 16 }, { 53, 16 }, { 38, 16 }, { 22, 16 }, { 4, 16 }, - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 } - }, { - 1, 1, 1, 4, 1, 1, 1, 1, 1, - 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1 - } -}; - -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} -#endif diff --git a/keyboards/phase_studio/titan65/soldered/soldered.h b/keyboards/phase_studio/titan65/soldered/soldered.h index 0e6004d97917..f312337970ec 100644 --- a/keyboards/phase_studio/titan65/soldered/soldered.h +++ b/keyboards/phase_studio/titan65/soldered/soldered.h @@ -21,15 +21,71 @@ #define ___ KC_NO #define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ - k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ - k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ ) { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ - { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ - { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ - { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, \ + k30, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, ___, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, ___, k2e, k2f }, \ + { k30, ___, ___, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_ansi_split_bspc( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, \ + k30, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, ___, k2e, k2f }, \ + { k30, ___, ___, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, ___, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, ___, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_iso_split_bspc( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1f, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k42, k43, k47, k4b, k4c, k4d, k4e, k4f \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, ___, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, ___, k1f }, \ + { k20, ___, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, k4e, k4f } \ } From 4cd0c3df20f7564b90ad1375dcb3980787ba6857 Mon Sep 17 00:00:00 2001 From: Drashna Jael're Date: Sun, 20 Jun 2021 09:31:15 -0700 Subject: [PATCH 3/3] Fix info.json --- keyboards/phase_studio/titan65/soldered/info.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/keyboards/phase_studio/titan65/soldered/info.json b/keyboards/phase_studio/titan65/soldered/info.json index 00173cc999bb..fbf4b0685788 100644 --- a/keyboards/phase_studio/titan65/soldered/info.json +++ b/keyboards/phase_studio/titan65/soldered/info.json @@ -5,7 +5,7 @@ "width": 16, "height": 5, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"label":"K00 (B4,B0)", "x":0, "y":0}, {"label":"K01 (B4,B1)", "x":1, "y":0}, @@ -21,7 +21,8 @@ {"label":"K0B (B4,F1)", "x":11, "y":0}, {"label":"K0C (B4,C7)", "x":12, "y":0}, {"label":"K0E (B4,F5)", "x":13, "y":0}, - {"label":"K0E (B4,F5)", "x":13, "y":0, "w":2}, + {"label":"K0E (B4,F5)", "x":13, "y":0}, + {"label":"K0E (B4,F5)", "x":14, "y":0}, {"label":"K0F (B4,F6)", "x":15, "y":0}, {"label":"K10 (B5,B0)", "x":0, "y":1, "w":1.5}, {"label":"K12 (B5,B2)", "x":1.5, "y":1}, @@ -52,7 +53,8 @@ {"label":"K2C (B6,C7)", "x":11.75, "y":2}, {"label":"K2D (B6,F4)", "x":12.75, "y":2, "w":2.25}, {"label":"K2F (B6,F6)", "x":15, "y":2}, - {"label":"K31 (C6,B1)", "x":0, "y":3, "w":2.25}, + {"label":"K30 (C6,B1)", "x":0, "y":3, "w":1.25}, + {"label":"K30 (C6,B1)", "x":1.25, "y":3}, {"label":"K32 (C6,B2)", "x":2.25, "y":3}, {"label":"K33 (C6,B3)", "x":3.25, "y":3}, {"label":"K34 (C6,B7)", "x":4.25, "y":3},