From 79b87f03572a3c29adcf791842d22932490892b3 Mon Sep 17 00:00:00 2001 From: Matt P Date: Mon, 13 Dec 2021 17:33:37 +0100 Subject: [PATCH] add configs --- keyboards/payne/kyria_1/.noci | 0 keyboards/payne/kyria_1/config.h | 85 +++++ keyboards/payne/kyria_1/info.json | 61 ++++ keyboards/payne/kyria_1/kyria_1.c | 109 ++++++ keyboards/payne/kyria_1/kyria_1.h | 76 +++++ keyboards/payne/kyria_1/kyria_1.json | 271 +++++++++++++++ keyboards/payne/kyria_1/readme.md | 21 ++ keyboards/payne/kyria_1/rules.mk | 32 ++ keyboards/payne/red_beast/README.md | 4 + keyboards/payne/red_beast/config.h | 73 ++++ ...d_dactyl_manuform_5x7_layout_5x7_mine.json | 315 ++++++++++++++++++ .../handwired_red_beast_default.json | 315 ++++++++++++++++++ keyboards/payne/red_beast/info.json | 87 +++++ .../payne/red_beast/keymaps/default/keymap.c | 80 +++++ keyboards/payne/red_beast/red_beast.c | 69 ++++ keyboards/payne/red_beast/red_beast.h | 44 +++ keyboards/payne/red_beast/rules.mk | 22 ++ 17 files changed, 1664 insertions(+) create mode 100644 keyboards/payne/kyria_1/.noci create mode 100644 keyboards/payne/kyria_1/config.h create mode 100644 keyboards/payne/kyria_1/info.json create mode 100644 keyboards/payne/kyria_1/kyria_1.c create mode 100644 keyboards/payne/kyria_1/kyria_1.h create mode 100644 keyboards/payne/kyria_1/kyria_1.json create mode 100644 keyboards/payne/kyria_1/readme.md create mode 100644 keyboards/payne/kyria_1/rules.mk create mode 100755 keyboards/payne/red_beast/README.md create mode 100755 keyboards/payne/red_beast/config.h create mode 100755 keyboards/payne/red_beast/handwired_dactyl_manuform_5x7_layout_5x7_mine.json create mode 100755 keyboards/payne/red_beast/handwired_red_beast_default.json create mode 100755 keyboards/payne/red_beast/info.json create mode 100755 keyboards/payne/red_beast/keymaps/default/keymap.c create mode 100755 keyboards/payne/red_beast/red_beast.c create mode 100755 keyboards/payne/red_beast/red_beast.h create mode 100755 keyboards/payne/red_beast/rules.mk diff --git a/keyboards/payne/kyria_1/.noci b/keyboards/payne/kyria_1/.noci new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/keyboards/payne/kyria_1/config.h b/keyboards/payne/kyria_1/config.h new file mode 100644 index 000000000000..60863683821a --- /dev/null +++ b/keyboards/payne/kyria_1/config.h @@ -0,0 +1,85 @@ +/* +Copyright 2019 Thomas Baart + +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 0x8D1D +#define PRODUCT_ID 0x9D9D +#define DEVICE_VER 0x0001 +#define MANUFACTURER splitKB +#define PRODUCT Kyria + +/* key matrix size */ +/* Rows are doubled up */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + +// wiring +#define MATRIX_ROW_PINS \ + { B4, E6, D7, D4 } +#define MATRIX_COL_PINS \ + { B6, B2, B3, B1, F7, F6, F5, F4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +#define EE_HANDS + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D2 + +#define RGB_DI_PIN D3 +#define RGBLED_SPLIT \ + { 10, 10 } +#define RGBLED_NUM 20 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +/* RGB matrix support */ +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs +# define RGB_MATRIX_SPLIT { 10, 10 } +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES + +// See list of all effects +// https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#rgb-matrix-effects-id-rgb-matrix-effects +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#endif + + diff --git a/keyboards/payne/kyria_1/info.json b/keyboards/payne/kyria_1/info.json new file mode 100644 index 000000000000..d362e4ad72ae --- /dev/null +++ b/keyboards/payne/kyria_1/info.json @@ -0,0 +1,61 @@ +{ + "keyboard_name": "Kyria", + "url": "https://splitkb.com", + "maintainer": "splitkb.com", + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.75}, + {"x":1, "y":0.75}, + {"x":2, "y":0.25}, + {"x":3, "y":0}, + {"x":4, "y":0.25}, + {"x":5, "y":0.5}, + {"x":10.5, "y":0.5}, + {"x":11.5, "y":0.25}, + {"x":12.5, "y":0}, + {"x":13.5, "y":0.25}, + {"x":14.5, "y":0.75}, + {"x":15.5, "y":0.75}, + {"x":0, "y":1.75}, + {"x":1, "y":1.75}, + {"x":2, "y":1.25}, + {"x":3, "y":1}, + {"x":4, "y":1.25}, + {"x":5, "y":1.5}, + {"x":10.5, "y":1.5}, + {"x":11.5, "y":1.25}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1.25}, + {"x":14.5, "y":1.75}, + {"x":15.5, "y":1.75}, + {"x":0, "y":2.75}, + {"x":1, "y":2.75}, + {"x":2, "y":2.25}, + {"x":3, "y":2}, + {"x":4, "y":2.25}, + {"x":5, "y":2.5}, + {"x":6, "y":3}, + {"x":7, "y":3.25}, + {"x":8.5, "y":3.25}, + {"x":9.5, "y":3}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2}, + {"x":13.5, "y":2.25}, + {"x":14.5, "y":2.75}, + {"x":15.5, "y":2.75}, + {"x":2.5, "y":3.25}, + {"x":3.5, "y":3.25}, + {"x":4.5, "y":3.5}, + {"x":5.5, "y":4}, + {"x":6.5, "y":4.25}, + {"x":9, "y":4.25}, + {"x":10, "y":4}, + {"x":11, "y":3.5}, + {"x":12, "y":3.25}, + {"x":13, "y":3.25} + ] + } + } +} diff --git a/keyboards/payne/kyria_1/kyria_1.c b/keyboards/payne/kyria_1/kyria_1.c new file mode 100644 index 000000000000..24870b8fcac1 --- /dev/null +++ b/keyboards/payne/kyria_1/kyria_1.c @@ -0,0 +1,109 @@ +/* Copyright 2019 Thomas Baart + * + * 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 "kyria_1.h" + +#ifdef SWAP_HANDS_ENABLE +// clang-format off +__attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}}, + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}}, + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}} +}; +// clang-format on +#endif + +#ifdef RGB_MATRIX_ENABLE +/* Map physical under glow LEDs for RGB matrix support */ +led_config_t g_led_config = { { + //Key Matrix to LED Index + { NO_LED, NO_LED, NO_LED, 4, NO_LED, NO_LED, 5, 9 }, + { NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 0, NO_LED, NO_LED, NO_LED, 7, 6, 8 }, + { NO_LED, NO_LED, 1, 2, NO_LED, NO_LED, NO_LED, NO_LED }, + + { NO_LED, NO_LED, NO_LED, 14, NO_LED, NO_LED, 15, 19 }, + { NO_LED, NO_LED, 13, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 10, NO_LED, NO_LED, NO_LED, 17, 16, 18 }, + { NO_LED, NO_LED, 11, 12, NO_LED, NO_LED, NO_LED, NO_LED }, +}, { + // LED Index to Physical Position + {91,40}, {77,56}, {63,56}, {77,24}, {63,8}, {21,8}, {21,40}, {35,40}, {7,40}, {7,8}, + {133,40}, {147,56}, {161,56}, {147,24}, {161,8}, {203,8}, {203,40}, {189,40}, {217,40}, {217,8} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif + +////////////// +// CUSTOM +////////////// + +// Predefined colors +// https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#colors-id-colors +void set_default_rgb(void) { + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + rgb_matrix_sethsv(HSV_CYAN); + + //rgb_matrix_set_speed(64); + //rgb_matrix_mode(RGB_MATRIX_RAINBOW_PINWHEELS); +} + +layer_state_t previous_layer_state = 0; + +uint32_t get_previous_layer(void) { + if (previous_layer_state) { + return get_highest_layer(previous_layer_state); + } + + return 0; +} + +void keyboard_post_init_user(void) { + set_default_rgb(); +} + +bool led_update_user(led_t led_state) { + + return true; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + set_default_rgb(); + break; + case 3: + if (get_previous_layer() != 4) { + rgb_matrix_set_speed(64); + rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON); + } + break; + default: // for any other layers, or the default layer + break; + } + + previous_layer_state = state; + return state; +} diff --git a/keyboards/payne/kyria_1/kyria_1.h b/keyboards/payne/kyria_1/kyria_1.h new file mode 100644 index 000000000000..152487f4b6cb --- /dev/null +++ b/keyboards/payne/kyria_1/kyria_1.h @@ -0,0 +1,76 @@ +/* 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. + */ + +/* Copyright 2019 Thomas Baart + * + * 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" + +/* 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( \ + L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \ + L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \ + L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \ + L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \ +) \ +{ \ + { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \ + { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \ + { L31, L30, L29, L28, L27, L26, L25, L24 }, \ + { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \ + { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \ + { R32, R33, R34, R35, R36, R37, R38, R39 }, \ + { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ +} + +#define LAYOUT_stack( \ + L00, L01, L02, L03, L04, L05, \ + L12, L13, L14, L15, L16, L17, \ + L24, L25, L26, L27, L28, L29, L30, L31, \ + L40, L41, L42, L43, L44, \ + \ + R06, R07, R08, R09, R10, R11, \ + R18, R19, R20, R21, R22, R23, \ + R32, R33, R34, R35, R36, R37, R38, R39, \ + R45, R46, R47, R48, R49 \ +) \ +{ \ + { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \ + { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \ + { L31, L30, L29, L28, L27, L26, L25, L24 }, \ + { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \ + { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \ + { R32, R33, R34, R35, R36, R37, R38, R39 }, \ + { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ +} + +#define LAYOUT_split_3x6_5 LAYOUT diff --git a/keyboards/payne/kyria_1/kyria_1.json b/keyboards/payne/kyria_1/kyria_1.json new file mode 100644 index 000000000000..c9613a78d057 --- /dev/null +++ b/keyboards/payne/kyria_1/kyria_1.json @@ -0,0 +1,271 @@ +{ + "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "payne/kyria_1", + "keymap": "kyria_1", + "layout": "LAYOUT", + "layers": [ + [ + "KC_TAB", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_LALT", + "KC_LGUI", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_INS", + "TO(3)", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_LBRC", + "KC_RBRC", + "KC_EQL", + "KC_MINS", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_QUOT", + "TO(3)", + "MO(2)", + "LT(1,KC_ENT)", + "LSFT_T(KC_BSPC)", + "LCTL_T(KC_DEL)", + "LALT_T(KC_ESC)", + "KC_LGUI", + "LSFT_T(KC_ENT)", + "KC_SPC", + "MO(1)", + "MO(2)" + ], + [ + "RESET", + "KC_NO", + "KC_NO", + "KC_MS_U", + "KC_NO", + "KC_WH_U", + "KC_VOLU", + "KC_HOME", + "KC_UP", + "KC_END", + "KC_PGUP", + "RESET", + "KC_NO", + "KC_CAPS", + "KC_MS_L", + "KC_MS_D", + "KC_MS_R", + "KC_WH_D", + "KC_MUTE", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_PGDN", + "KC_NO", + "KC_NO", + "KC_LGUI", + "KC_LSFT", + "KC_LCTL", + "KC_LALT", + "KC_APP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_VOLD", + "KC_BSLS", + "KC_SLSH", + "KC_QUES", + "KC_PIPE", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_LPRN", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_PSLS", + "KC_7", + "KC_8", + "KC_9", + "KC_PMNS", + "KC_NO", + "KC_RPRN", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_PAST", + "KC_4", + "KC_5", + "KC_6", + "KC_PPLS", + "KC_NO", + "KC_LBRC", + "KC_F11", + "KC_F12", + "KC_RBRC", + "KC_GRV", + "KC_TILD", + "KC_LPRN", + "KC_RPRN", + "KC_TRNS", + "KC_TRNS", + "KC_INS", + "KC_1", + "KC_2", + "KC_3", + "KC_PEQL", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_0", + "KC_PDOT" + ], + [ + "KC_TAB", + "MO(4)", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_F1", + "KC_F2", + "KC_UP", + "KC_F3", + "KC_F4", + "KC_VOLU", + "KC_ESC", + "KC_LSFT", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_F5", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_F9", + "KC_VOLD", + "TO(0)", + "KC_X", + "KC_1", + "KC_3", + "KC_2", + "KC_B", + "KC_C", + "KC_T", + "KC_TRNS", + "KC_TRNS", + "KC_P", + "KC_M", + "KC_I", + "KC_J", + "KC_L", + "TO(0)", + "KC_Z", + "KC_LCTL", + "KC_SPC", + "KC_V", + "KC_G", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_TRNS", + "KC_TRNS", + "KC_4", + "KC_5", + "KC_6", + "KC_7", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_QUOT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ] + ], + "author": "" +} \ No newline at end of file diff --git a/keyboards/payne/kyria_1/readme.md b/keyboards/payne/kyria_1/readme.md new file mode 100644 index 000000000000..5ce652589c79 --- /dev/null +++ b/keyboards/payne/kyria_1/readme.md @@ -0,0 +1,21 @@ +# Kyria + +![Kyria](https://cdn.shopify.com/s/files/1/0227/9171/6941/products/PlateCase_f1870016-98b8-43a9-8aed-3eaf073b367b_900x.jpg?v=1568934600) + +An ergonomical 40% split keyboard + +Keyboard Maintainer: [splitkb.com](https://github.com/splitkb) +Hardware Supported: Pro Micro 5V/16MHz and compatible. +Hardware Availability: [splitkb.com](https://splitkb.com) and partners. + +Make example for this keyboard (after setting up your build environment): + + make splitkb/kyria:default + +Example of flashing this keyboard: + + make splitkb/kyria/rev1: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). + +A build guide for the Kyria can be found at [docs.splitkb.com](https://docs.splitkb.com/hc/en-us/articles/360010552059-Kyria-Build-Guide-Introduction). diff --git a/keyboards/payne/kyria_1/rules.mk b/keyboards/payne/kyria_1/rules.mk new file mode 100644 index 000000000000..9c09c013bf49 --- /dev/null +++ b/keyboards/payne/kyria_1/rules.mk @@ -0,0 +1,32 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +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 +# 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 = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes # Split common +LTO_ENABLE = yes +OLED_ENABLE = no +OLED_DRIVER = SSD1306 # Enables the use of OLED displays +ENCODER_ENABLE = no # ENables the use of one or more encoders + +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support +RGB_MATRIX_SUPPORTED = yes + +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/payne/red_beast/README.md b/keyboards/payne/red_beast/README.md new file mode 100755 index 000000000000..0d6cb4745cac --- /dev/null +++ b/keyboards/payne/red_beast/README.md @@ -0,0 +1,4 @@ +1. Place the contents of this folder under `keyboards/handwired/red_beast` +2. Upload `handwired_dactyl_manuform_5x7_layout_5x7_mine.json` to the QMK configurator, and export a new one +3. Replace text occurence of `dactyl_manuform/5x7` in the exported file to `red_beast` +4. `qmk flash -bl dfu handwired_red_beast_default.json` in the root of a qmk firmware fork diff --git a/keyboards/payne/red_beast/config.h b/keyboards/payne/red_beast/config.h new file mode 100755 index 000000000000..9951b1ad8619 --- /dev/null +++ b/keyboards/payne/red_beast/config.h @@ -0,0 +1,73 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 0x444D +#define MANUFACTURER tshort +#define PRODUCT_ID 0x3537 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (5x7) + +/* mouse config */ +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* serial.c configuration for split keyboard */ +#define USE_SERIAL + +#define SOFT_SERIAL_PIN D0 + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 12 +#define MATRIX_COLS 7 + +// wiring of each half +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 } + +#define DIODE_DIRECTION COL2ROW + +//from Slavo +#define RGB_DI_PIN D3 +#define RGBLED_NUM 14 +#define RGBLED_SPLIT { 7, 7 } +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_LAYERS diff --git a/keyboards/payne/red_beast/handwired_dactyl_manuform_5x7_layout_5x7_mine.json b/keyboards/payne/red_beast/handwired_dactyl_manuform_5x7_layout_5x7_mine.json new file mode 100755 index 000000000000..fb44ff4c89ee --- /dev/null +++ b/keyboards/payne/red_beast/handwired_dactyl_manuform_5x7_layout_5x7_mine.json @@ -0,0 +1,315 @@ +{ + "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "handwired/dactyl_manuform/5x7", + "keymap": "handwired_dactyl_manuform_5x7_layout_5x7_mine", + "layout": "LAYOUT_5x7", + "layers": [ + [ + "KC_GRV", + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_ESC", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_LBRC", + "TO(3)", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_LPRN", + "KC_LGUI", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_LGUI", + "KC_LGUI", + "KC_LBRC", + "KC_RBRC", + "LCTL_T(KC_BSPC)", + "LSFT_T(KC_DEL)", + "LT(2,KC_ENT)", + "MO(1)", + "KC_TAB", + "KC_LALT", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_PSCR", + "KC_RBRC", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_BSLS", + "KC_RPRN", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_QUOT", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_EQL", + "KC_MINS", + "KC_LGUI", + "KC_LGUI", + "LSFT_T(KC_ENT)", + "KC_SPC", + "MO(1)", + "MO(2)", + "KC_LALT", + "KC_LGUI" + ], + [ + "KC_TRNS", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_UP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_TRNS", + "RESET", + "KC_CAPS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_END", + "KC_MSTP", + "KC_MPLY", + "KC_MPRV", + "KC_MNXT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_F11", + "KC_F12", + "RGB_TOG", + "KC_TRNS", + "KC_PAST", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", + "RGB_MOD", + "RESET", + "KC_PSLS", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PPLS", + "RGB_RMOD", + "KC_INS", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "KC_TRNS", + "KC_P0", + "KC_PDOT", + "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", + "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", + "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", + "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", + "KC_VOLU", + "KC_HOME", + "KC_UP", + "KC_END", + "KC_PGUP", + "KC_TRNS", + "KC_VOLD", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_PGDN", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_GRV", + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_ESC", + "KC_TAB", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "TO(0)", + "KC_LSFT", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_ENT", + "KC_NO", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LCTL", + "KC_SPC", + "KC_M", + "KC_I", + "KC_TAB", + "KC_LALT", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_PSCR", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_NO", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_NO", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_NO", + "KC_VOLD", + "KC_VOLU", + "KC_NO", + "KC_RSFT", + "LSFT_T(KC_ENT)", + "KC_SPC", + "KC_NO", + "TO(0)", + "KC_LALT", + "KC_LGUI" + ] + ], + "author": "" +} \ No newline at end of file diff --git a/keyboards/payne/red_beast/handwired_red_beast_default.json b/keyboards/payne/red_beast/handwired_red_beast_default.json new file mode 100755 index 000000000000..8e8b9949d8c1 --- /dev/null +++ b/keyboards/payne/red_beast/handwired_red_beast_default.json @@ -0,0 +1,315 @@ +{ + "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "payne/red_beast", + "keymap": "handwired_dactyl_manuform_5x7_layout_5x7_mine", + "layout": "LAYOUT_5x7", + "layers": [ + [ + "KC_GRV", + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_ESC", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_LBRC", + "TO(3)", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_LPRN", + "KC_LGUI", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_LGUI", + "KC_LGUI", + "KC_LBRC", + "KC_RBRC", + "LCTL_T(KC_BSPC)", + "LSFT_T(KC_DEL)", + "LT(2,KC_ENT)", + "MO(1)", + "KC_TAB", + "KC_LALT", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_PSCR", + "KC_RBRC", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_BSLS", + "KC_RPRN", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_QUOT", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_EQL", + "KC_MINS", + "KC_LGUI", + "KC_LGUI", + "LSFT_T(KC_ENT)", + "KC_SPC", + "MO(1)", + "MO(2)", + "KC_LALT", + "KC_LGUI" + ], + [ + "KC_TRNS", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_UP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_TRNS", + "RESET", + "KC_CAPS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_END", + "KC_MSTP", + "KC_MPLY", + "KC_MPRV", + "KC_MNXT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_F11", + "KC_F12", + "RGB_TOG", + "KC_TRNS", + "KC_PAST", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", + "RGB_MOD", + "RESET", + "KC_PSLS", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PPLS", + "RGB_RMOD", + "KC_INS", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "KC_TRNS", + "KC_P0", + "KC_PDOT", + "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", + "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", + "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", + "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", + "KC_VOLU", + "KC_HOME", + "KC_UP", + "KC_END", + "KC_PGUP", + "KC_TRNS", + "KC_VOLD", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_PGDN", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_GRV", + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_ESC", + "KC_TAB", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "TO(0)", + "KC_LSFT", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_ENT", + "KC_NO", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LCTL", + "KC_SPC", + "KC_M", + "KC_I", + "KC_TAB", + "KC_LALT", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_PSCR", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_NO", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_NO", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_NO", + "KC_VOLD", + "KC_VOLU", + "KC_NO", + "KC_RSFT", + "LSFT_T(KC_ENT)", + "KC_SPC", + "KC_NO", + "TO(0)", + "KC_LALT", + "KC_LGUI" + ] + ], + "author": "" +} \ No newline at end of file diff --git a/keyboards/payne/red_beast/info.json b/keyboards/payne/red_beast/info.json new file mode 100755 index 000000000000..33ba1b0e796b --- /dev/null +++ b/keyboards/payne/red_beast/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "Dactyl Manuform 5x7", + "url": "", + "maintainer": "qmk", + "width": 17, + "height": 8, + "layouts": { + "LAYOUT_5x7": { + "layout": [ + {"label":"L11", "x":0, "y":0}, + {"label":"L12", "x":1, "y":0}, + {"label":"L13", "x":2, "y":0}, + {"label":"L14", "x":3, "y":0}, + {"label":"L15", "x":4, "y":0}, + {"label":"L16", "x":5, "y":0}, + {"label":"L17", "x":6, "y":0}, + {"label":"L21", "x":0, "y":1}, + {"label":"L22", "x":1, "y":1}, + {"label":"L23", "x":2, "y":1}, + {"label":"L24", "x":3, "y":1}, + {"label":"L25", "x":4, "y":1}, + {"label":"L26", "x":5, "y":1}, + {"label":"L27", "x":6, "y":1}, + {"label":"L31", "x":0, "y":2}, + {"label":"L32", "x":1, "y":2}, + {"label":"L33", "x":2, "y":2}, + {"label":"L34", "x":3, "y":2}, + {"label":"L35", "x":4, "y":2}, + {"label":"L36", "x":5, "y":2}, + {"label":"L37", "x":6, "y":2}, + {"label":"L41", "x":0, "y":3}, + {"label":"L42", "x":1, "y":3}, + {"label":"L43", "x":2, "y":3}, + {"label":"L44", "x":3, "y":3}, + {"label":"L45", "x":4, "y":3}, + {"label":"L46", "x":5, "y":3}, + {"label":"L51", "x":0, "y":4}, + {"label":"L52", "x":1, "y":4}, + {"label":"L53", "x":2, "y":4}, + {"label":"L54", "x":3, "y":4}, + {"label":"L55", "x":4, "y":5}, + {"label":"L56", "x":5, "y":5}, + {"label":"L65", "x":6, "y":6}, + {"label":"L66", "x":7, "y":6}, + {"label":"L63", "x":6, "y":7}, + {"label":"L64", "x":7, "y":7}, + {"label":"R11", "x":10, "y":0}, + {"label":"R12", "x":11, "y":0}, + {"label":"R13", "x":12, "y":0}, + {"label":"R14", "x":13, "y":0}, + {"label":"R15", "x":14, "y":0}, + {"label":"R16", "x":15, "y":0}, + {"label":"R17", "x":16, "y":0}, + {"label":"R21", "x":10, "y":1}, + {"label":"R22", "x":11, "y":1}, + {"label":"R23", "x":12, "y":1}, + {"label":"R24", "x":13, "y":1}, + {"label":"R25", "x":14, "y":1}, + {"label":"R26", "x":15, "y":1}, + {"label":"R27", "x":16, "y":1}, + {"label":"R31", "x":10, "y":2}, + {"label":"R32", "x":11, "y":2}, + {"label":"R33", "x":12, "y":2}, + {"label":"R34", "x":13, "y":2}, + {"label":"R35", "x":14, "y":2}, + {"label":"R36", "x":15, "y":2}, + {"label":"R37", "x":16, "y":2}, + {"label":"R42", "x":11, "y":3}, + {"label":"R43", "x":12, "y":3}, + {"label":"R44", "x":13, "y":3}, + {"label":"R45", "x":14, "y":3}, + {"label":"R46", "x":15, "y":3}, + {"label":"R47", "x":16, "y":3}, + {"label":"R54", "x":13, "y":4}, + {"label":"R55", "x":14, "y":4}, + {"label":"R56", "x":15, "y":4}, + {"label":"R57", "x":16, "y":4}, + {"label":"R52", "x":11, "y":5}, + {"label":"R53", "x":12, "y":5}, + {"label":"R62", "x":9, "y":6}, + {"label":"R63", "x":10, "y":6}, + {"label":"R64", "x":9, "y":7}, + {"label":"R65", "x":10, "y":7} + ] + } + } +} diff --git a/keyboards/payne/red_beast/keymaps/default/keymap.c b/keyboards/payne/red_beast/keymaps/default/keymap.c new file mode 100755 index 000000000000..eb4deb6285f3 --- /dev/null +++ b/keyboards/payne/red_beast/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _FN 1 +#define _NUMPAD 2 + +// Some basic macros +#define TASK LCTL(LSFT(KC_ESC)) +#define TAB_R LCTL(KC_TAB) +#define TAB_L LCTL(LSFT(KC_TAB)) +#define TAB_RO LCTL(LSFT(KC_T)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_5x7( + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, + OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_CAPS, KC_LGUI, TAB_L, TAB_R, + TT(_FN), KC_SPC, + KC_END, KC_HOME, + KC_PSCR, TASK, + // right hand + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), + KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_BSPC, KC_ENT, + KC_PGUP, KC_PGDN, + KC_LCTL, KC_LALT), + +[_FN] = LAYOUT_5x7( + // left hand + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, _______, _______, _______, _______, + KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, + _______, _______, + _______, _______, + _______, _______, + // right hand + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_DEL, _______, + _______, _______, + _______, _______), + +[_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, + // right hand + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______), + +}; diff --git a/keyboards/payne/red_beast/red_beast.c b/keyboards/payne/red_beast/red_beast.c new file mode 100755 index 000000000000..f755f3a1f442 --- /dev/null +++ b/keyboards/payne/red_beast/red_beast.c @@ -0,0 +1,69 @@ +#include "red_beast.h" + +#define DIMM_BRIGHTNESS 180 +#define HSV_DIMM_CYAN 128, 255, DIMM_BRIGHTNESS +#define HSV_DIMM_RED 0, 255, DIMM_BRIGHTNESS +#define HSV_DIMM_YELLOW 43, 255, DIMM_BRIGHTNESS + +const rgblight_segment_t PROGMEM gaming_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 14, HSV_RED} +); + +const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 7, HSV_DIMM_YELLOW} +); + +const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST( + gaming_layer, + capslock_layer +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = rgb_layers; + //rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); + rgblight_sethsv(HSV_DIMM_CYAN); + rgblight_sethsv(rgblight_get_hue(), rgblight_get_sat(), 0); +} + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(1, led_state.caps_lock); + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + // Do something when pressed + uint8_t val = rgblight_get_val() ? 0 : DIMM_BRIGHTNESS; + rgblight_sethsv(rgblight_get_hue(), rgblight_get_sat(), val); + } else { + // Do something else when release + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} + +/*layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 0: + rgblight_sethsv(rgblight_get_hue(), rgblight_get_sat(), 0); + break; + case 3: + rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); + rgblight_sethsv(rgblight_get_hue(), rgblight_get_sat(), DIMM_BRIGHTNESS); + break; + default: // for any other layers, or the default layer + break; + } + + return state; +}*/ + +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, 3)); + return state; +} diff --git a/keyboards/payne/red_beast/red_beast.h b/keyboards/payne/red_beast/red_beast.h new file mode 100755 index 000000000000..e610956e2d94 --- /dev/null +++ b/keyboards/payne/red_beast/red_beast.h @@ -0,0 +1,44 @@ +#pragma once + +#include "quantum.h" + +#ifdef USE_I2C +#include +#ifdef __AVR__ + #include + #include +#endif +#endif + +#define LAYOUT_5x7( \ + L11, L12, L13, L14, L15, L16, L17, \ + L21, L22, L23, L24, L25, L26, L27, \ + L31, L32, L33, L34, L35, L36, L37, \ + L41, L42, L43, L44, L45, L46, \ + L51, L52, L53, L54, \ + L55, L56, \ + L65, L66, \ + L63, L64, \ + R11, R12, R13, R14, R15, R16, R17, \ + R21, R22, R23, R24, R25, R26, R27, \ + R31, R32, R33, R34, R35, R36, R37, \ + R42, R43, R44, R45, R46, R47, \ + R54, R55, R56, R57, \ + R52, R53, \ + R62, R63, \ + R64, R65 \ + ) \ + { \ + { L11, L12, L13, L14, L15, L16, L17 }, \ + { L21, L22, L23, L24, L25, L26, L27 }, \ + { L31, L32, L33, L34, L35, L36, L37 }, \ + { L41, L42, L43, L44, L45, L46, KC_NO }, \ + { L51, L52, L53, L54, L55, L56, KC_NO }, \ + { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \ + { R11, R12, R13, R14, R15, R16, R17 }, \ + { R21, R22, R23, R24, R25, R26, R27 }, \ + { R31, R32, R33, R34, R35, R36, R37 }, \ + { KC_NO, R42, R43, R44, R45, R46, R47 }, \ + { KC_NO, R52, R53, R54, R55, R56, R57 }, \ + { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \ +} diff --git a/keyboards/payne/red_beast/rules.mk b/keyboards/payne/red_beast/rules.mk new file mode 100755 index 000000000000..7ce4a9cc90c8 --- /dev/null +++ b/keyboards/payne/red_beast/rules.mk @@ -0,0 +1,22 @@ +BOOTLOADER = qmk-dfu +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +SPLIT_KEYBOARD = yes