From 42c240f6cfe697744cdf876ace1e7273f43db60d Mon Sep 17 00:00:00 2001 From: Danny Date: Wed, 26 Oct 2022 16:44:06 -0400 Subject: Add Sinc Rev. 3 (#18846) * Initial work on adding Sinc Rev. 3 * Add RGB Matrix support * Add encoder map support * Set I2C pins * Update LED locations for right half * Move USB definitions to info.json * Update RGB modes * Replace pin mappings for right half with correct ones * Move config.h back to rev1/rev2 due to addition of rev3 * Convert initial Rev. 3 config work to be data-driven * Convert RGB Matrix config to DD format * More config cleanup * Use full-duplex PIO * Add MCU/bootloader settings for Rev. 2 * Change ISO Enter location since it shares location with Backslash * Adjust build settings to reduce flash/EEPROM usage --- keyboards/keebio/sinc/rev3/config.h | 78 ++++++++++++ keyboards/keebio/sinc/rev3/halconf.h | 21 ++++ keyboards/keebio/sinc/rev3/info.json | 182 ++++++++++++++++++++++++++++ keyboards/keebio/sinc/rev3/mcuconf.h | 23 ++++ keyboards/keebio/sinc/rev3/rev3.h | 227 +++++++++++++++++++++++++++++++++++ keyboards/keebio/sinc/rev3/rules.mk | 2 + 6 files changed, 533 insertions(+) create mode 100644 keyboards/keebio/sinc/rev3/config.h create mode 100644 keyboards/keebio/sinc/rev3/halconf.h create mode 100644 keyboards/keebio/sinc/rev3/info.json create mode 100644 keyboards/keebio/sinc/rev3/mcuconf.h create mode 100644 keyboards/keebio/sinc/rev3/rev3.h create mode 100644 keyboards/keebio/sinc/rev3/rules.mk (limited to 'keyboards/keebio/sinc/rev3') diff --git a/keyboards/keebio/sinc/rev3/config.h b/keyboards/keebio/sinc/rev3/config.h new file mode 100644 index 0000000000..5d698b7aec --- /dev/null +++ b/keyboards/keebio/sinc/rev3/config.h @@ -0,0 +1,78 @@ +/* Copyright 2022 Danny Nguyen + +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 + +#define SPLIT_HAND_PIN GP4 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 +#define SERIAL_USART_PIN_SWAP +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN GP22 +#define I2C1_SDA_PIN GP23 + +#define RGBLIGHT_DEFAULT_VAL 120 +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +// RGB Matrix +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH + +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_SPLIT RGBLED_SPLIT +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keebio/sinc/rev3/halconf.h b/keyboards/keebio/sinc/rev3/halconf.h new file mode 100644 index 0000000000..a4c25c090a --- /dev/null +++ b/keyboards/keebio/sinc/rev3/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2022 QMK + * + * 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 + +#define HAL_USE_I2C TRUE + +#include_next "halconf.h" diff --git a/keyboards/keebio/sinc/rev3/info.json b/keyboards/keebio/sinc/rev3/info.json new file mode 100644 index 0000000000..37640dbf9b --- /dev/null +++ b/keyboards/keebio/sinc/rev3/info.json @@ -0,0 +1,182 @@ +{ + "keyboard_name": "Sinc Rev. 3", + "usb": { + "pid": "0x3267", + "device_version": "3.0.0" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "console": true, + "rgblight": false, + "backlight": false, + "rgb_matrix": true, + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP6" } + ] + } + }, + "matrix_pins": { + "right":{ + "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], + "rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"] + }, + }, + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"], + "rows": ["GP25", "GP19", "GP24", "GP17", "GP16", "GP26"] + }, + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP21", "pin_b": "GP20" } + ] + }, + "rgblight": { + "pin": "GP18", + "led_count": 113, + "max_brightness": 120, + "sleep": true, + "split": true, + "split_count": [56, 57] + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + { "flags": 4, "matrix": [5, 2], "x": 30, "y": 0 }, + { "flags": 2, "x": 42, "y": 6 }, + { "flags": 4, "matrix": [5, 3], "x": 45, "y": 0 }, + { "flags": 4, "matrix": [5, 4], "x": 58, "y": 0 }, + { "flags": 2, "x": 67, "y": 6 }, + { "flags": 4, "matrix": [5, 5], "x": 70, "y": 0 }, + { "flags": 4, "matrix": [5, 6], "x": 82, "y": 0 }, + { "flags": 4, "matrix": [5, 7], "x": 97, "y": 0 }, + { "flags": 2, "x": 103, "y": 6 }, + { "flags": 4, "matrix": [5, 8], "x": 109, "y": 0 }, + + { "flags": 4, "matrix": [0, 8], "x": 103, "y": 15 }, + { "flags": 4, "matrix": [0, 7], "x": 91, "y": 15 }, + { "flags": 4, "matrix": [0, 6], "x": 79, "y": 15 }, + { "flags": 4, "matrix": [0, 5], "x": 67, "y": 15 }, + { "flags": 4, "matrix": [0, 4], "x": 54, "y": 15 }, + { "flags": 4, "matrix": [0, 3], "x": 42, "y": 15 }, + { "flags": 4, "matrix": [0, 2], "x": 30, "y": 15 }, + + { "flags": 4, "matrix": [1, 2], "x": 33, "y": 27 }, + { "flags": 4, "matrix": [1, 3], "x": 48, "y": 27 }, + { "flags": 4, "matrix": [1, 4], "x": 61, "y": 27 }, + { "flags": 4, "matrix": [1, 5], "x": 73, "y": 27 }, + { "flags": 4, "matrix": [1, 6], "x": 85, "y": 27 }, + { "flags": 4, "matrix": [1, 7], "x": 97, "y": 27 }, + + { "flags": 4, "matrix": [2, 7], "x": 100, "y": 40 }, + { "flags": 4, "matrix": [2, 6], "x": 88, "y": 40 }, + { "flags": 4, "matrix": [2, 5], "x": 76, "y": 40 }, + { "flags": 4, "matrix": [2, 4], "x": 64, "y": 40 }, + { "flags": 4, "matrix": [2, 3], "x": 51, "y": 40 }, + { "flags": 4, "matrix": [2, 2], "x": 35, "y": 40 }, + + { "flags": 4, "matrix": [3, 2], "x": 38, "y": 52 }, + { "flags": 4, "matrix": [3, 4], "x": 58, "y": 52 }, + { "flags": 4, "matrix": [3, 5], "x": 70, "y": 52 }, + { "flags": 4, "matrix": [3, 6], "x": 82, "y": 52 }, + { "flags": 4, "matrix": [3, 7], "x": 94, "y": 52 }, + { "flags": 4, "matrix": [3, 8], "x": 106, "y": 52 }, + + { "flags": 2, "x": 106, "y": 64 }, + { "flags": 4, "matrix": [4, 7], "x": 98, "y": 64 }, + { "flags": 4, "matrix": [4, 5], "x": 77, "y": 64 }, + { "flags": 2, "x": 67, "y": 64 }, + { "flags": 4, "matrix": [4, 4], "x": 62, "y": 64 }, + { "flags": 4, "matrix": [4, 3], "x": 47, "y": 64 }, + { "flags": 2, "x": 39, "y": 64 }, + { "flags": 4, "matrix": [4, 2], "x": 32, "y": 64 }, + + { "flags": 4, "matrix": [4, 1], "x": 12, "y": 64 }, + { "flags": 2, "x": 6, "y": 64 }, + { "flags": 4, "matrix": [4, 0], "x": 0, "y": 64 }, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 52 }, + { "flags": 4, "matrix": [3, 1], "x": 12, "y": 52 }, + { "flags": 4, "matrix": [2, 1], "x": 12, "y": 40 }, + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 40 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 27 }, + { "flags": 4, "matrix": [1, 1], "x": 12, "y": 27 }, + { "flags": 4, "matrix": [0, 1], "x": 12, "y": 15 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 15 }, + { "flags": 4, "matrix": [5, 0], "x": 0, "y": 0 }, + { "flags": 2, "x": 9, "y": 0 }, + + { "flags": 2, "x": 224, "y": 6 }, + { "flags": 4, "matrix": [11, 8], "x": 224, "y": 0 }, + { "flags": 4, "matrix": [11, 7], "x": 212, "y": 0 }, + { "flags": 4, "matrix": [11, 6], "x": 197, "y": 0 }, + { "flags": 2, "x": 191, "y": 6 }, + { "flags": 4, "matrix": [11, 5], "x": 185, "y": 0 }, + { "flags": 4, "matrix": [11, 4], "x": 173, "y": 0 }, + { "flags": 2, "x": 166, "y": 6 }, + { "flags": 4, "matrix": [11, 3], "x": 160, "y": 0 }, + { "flags": 4, "matrix": [11, 2], "x": 145, "y": 0 }, + { "flags": 2, "x": 139, "y": 6 }, + { "flags": 4, "matrix": [11, 1], "x": 133, "y": 0 }, + + { "flags": 4, "matrix": [6, 0], "x": 127, "y": 15 }, + { "flags": 4, "matrix": [6, 1], "x": 139, "y": 15 }, + { "flags": 4, "matrix": [6, 2], "x": 151, "y": 15 }, + { "flags": 4, "matrix": [6, 3], "x": 163, "y": 15 }, + { "flags": 4, "matrix": [6, 4], "x": 176, "y": 15 }, + { "flags": 4, "matrix": [6, 5], "x": 188, "y": 15 }, + { "flags": 4, "matrix": [6, 6], "x": 200, "y": 15 }, + { "flags": 4, "matrix": [6, 7], "x": 212, "y": 15 }, + { "flags": 4, "matrix": [6, 8], "x": 224, "y": 15 }, + + { "flags": 4, "matrix": [7, 8], "x": 224, "y": 27 }, + { "flags": 4, "matrix": [7, 7], "x": 209, "y": 27 }, + { "flags": 4, "matrix": [7, 6], "x": 194, "y": 27 }, + { "flags": 4, "matrix": [7, 5], "x": 182, "y": 27 }, + { "flags": 4, "matrix": [7, 4], "x": 170, "y": 27 }, + { "flags": 4, "matrix": [7, 3], "x": 157, "y": 27 }, + { "flags": 4, "matrix": [7, 2], "x": 145, "y": 27 }, + { "flags": 4, "matrix": [7, 1], "x": 133, "y": 27 }, + { "flags": 4, "matrix": [7, 0], "x": 121, "y": 27 }, + + { "flags": 4, "matrix": [8, 0], "x": 124, "y": 40 }, + { "flags": 4, "matrix": [8, 1], "x": 136, "y": 40 }, + { "flags": 4, "matrix": [8, 2], "x": 148, "y": 40 }, + { "flags": 4, "matrix": [8, 3], "x": 160, "y": 40 }, + { "flags": 4, "matrix": [8, 4], "x": 173, "y": 40 }, + { "flags": 4, "matrix": [8, 5], "x": 185, "y": 40 }, + { "flags": 4, "matrix": [8, 7], "x": 204, "y": 40 }, + { "flags": 4, "matrix": [8, 8], "x": 224, "y": 40 }, + + { "flags": 4, "matrix": [9, 8], "x": 224, "y": 52 }, + { "flags": 4, "matrix": [9, 7], "x": 212, "y": 52 }, + { "flags": 4, "matrix": [9, 6], "x": 195, "y": 52 }, + { "flags": 4, "matrix": [9, 4], "x": 179, "y": 52 }, + { "flags": 4, "matrix": [9, 3], "x": 166, "y": 52 }, + { "flags": 4, "matrix": [9, 2], "x": 154, "y": 52 }, + { "flags": 4, "matrix": [9, 1], "x": 142, "y": 52 }, + { "flags": 4, "matrix": [9, 0], "x": 130, "y": 52 }, + + { "flags": 2, "x": 133, "y": 64 }, + { "flags": 4, "matrix": [10, 1], "x": 141, "y": 64 }, + { "flags": 2, "x": 160, "y": 64 }, + { "flags": 4, "matrix": [10, 2], "x": 163, "y": 64 }, + { "flags": 4, "matrix": [10, 3], "x": 176, "y": 64 }, + { "flags": 4, "matrix": [10, 4], "x": 188, "y": 64 }, + { "flags": 2, "x": 194, "y": 64 }, + { "flags": 4, "matrix": [10, 5], "x": 200, "y": 64 }, + { "flags": 4, "matrix": [10, 6], "x": 212, "y": 64 }, + { "flags": 4, "matrix": [10, 7], "x": 224, "y": 64 }, + { "flags": 2, "x": 224, "y": 55 } + ] + }, +} diff --git a/keyboards/keebio/sinc/rev3/mcuconf.h b/keyboards/keebio/sinc/rev3/mcuconf.h new file mode 100644 index 0000000000..5e47eac54f --- /dev/null +++ b/keyboards/keebio/sinc/rev3/mcuconf.h @@ -0,0 +1,23 @@ +/* + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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_next "mcuconf.h" + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/keebio/sinc/rev3/rev3.h b/keyboards/keebio/sinc/rev3/rev3.h new file mode 100644 index 0000000000..57d072398a --- /dev/null +++ b/keyboards/keebio/sinc/rev3/rev3.h @@ -0,0 +1,227 @@ +/* Copyright 2022 Danny Nguyen + +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 "sinc.h" +#include "quantum.h" + +#define LAYOUT_75( \ + LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, \ + LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ + LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \ + LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \ + LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \ + LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \ + ) \ + { \ + { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \ + { KC_NO, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { KC_NO, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, KC_NO } \ + } + +#define LAYOUT_80( \ + LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9, \ + LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ + LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ + LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \ + LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \ + LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \ + ) \ + { \ + { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \ + { KC_NO, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { KC_NO, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9 } \ + } + +#define LAYOUT_75_with_macro( \ + LF1, LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \ + LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { LF1, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, KC_NO } \ + } + +#define LAYOUT_80_with_macro( \ + LF1, LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9, \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \ + LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { LF1, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9 } \ + } + +#define LAYOUT_75_iso( \ + LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, \ + LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ + LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \ + LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \ + LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \ + LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \ + ) \ + { \ + { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { KC_NO, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { KC_NO, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RC8, KC_NO }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, RC7, KC_NO, KC_NO }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, KC_NO } \ + } + +#define LAYOUT_80_iso( \ + LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9, \ + LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ + LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \ + LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \ + LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \ + LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \ + ) \ + { \ + { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { KC_NO, KC_NO, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { KC_NO, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RC8, RB9 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, RC7, KC_NO, RC9 }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9 } \ + } + +#define LAYOUT_75_iso_with_macro( \ + LF1, LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \ + LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { LF1, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RC8, KC_NO }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, RC7, KC_NO, KC_NO }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, KC_NO } \ + } + +#define LAYOUT_80_iso_with_macro( \ + LF1, LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9, \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \ + LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { LF1, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RC8, RB9 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, RC7, KC_NO, RC9 }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9 } \ + } + +#define LAYOUT_all( \ + LF1, LF3, LF4, LF5, LF6, LF7, LF8, LF9, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9, \ + LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \ + LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \ + LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \ + LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \ + LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \ + ) \ + { \ + { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \ + { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \ + { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \ + { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \ + { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \ + { LF1, KC_NO, LF3, LF4, LF5, LF6, LF7, LF8, LF9 }, \ + { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \ + { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \ + { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \ + { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \ + { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 }, \ + { KC_NO, RF2, RF3, RF4, RF5, RF6, RF7, RF8, RF9 } \ + } diff --git a/keyboards/keebio/sinc/rev3/rules.mk b/keyboards/keebio/sinc/rev3/rules.mk new file mode 100644 index 0000000000..8fb51ec82d --- /dev/null +++ b/keyboards/keebio/sinc/rev3/rules.mk @@ -0,0 +1,2 @@ +SERIAL_DRIVER = vendor +WS2812_DRIVER = vendor -- cgit v1.2.3