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
This commit is contained in:
		
							parent
							
								
									8ea8a4edcb
								
							
						
					
					
						commit
						42c240f6cf
					
				
					 15 changed files with 609 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -5,8 +5,6 @@
 | 
			
		|||
    "usb": {
 | 
			
		||||
        "vid": "0xCB10"
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "features": {
 | 
			
		||||
        "audio": false,
 | 
			
		||||
        "bootmagic": true,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,3 +37,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
    _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
  )
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_MAP_ENABLE
 | 
			
		||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
 | 
			
		||||
	[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
 | 
			
		||||
	[1] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD), ENCODER_CCW_CW(KC_MNXT, KC_MPRV) },
 | 
			
		||||
	[2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
 | 
			
		||||
	[3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) },
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +1,3 @@
 | 
			
		|||
VIA_ENABLE = yes
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
ENCODER_MAP_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,3 +31,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
// Set right column, left macro, 1.75u shift, split spaces, and 5x1u on by default
 | 
			
		||||
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
 | 
			
		||||
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
 | 
			
		||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
 | 
			
		||||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
        "pid": "0x1267",
 | 
			
		||||
        "device_version": "1.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "debounce": 5,
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "features": {
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +53,16 @@
 | 
			
		|||
        "led_count" : 16,
 | 
			
		||||
        "split_count": [8, 8],
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "all": true,
 | 
			
		||||
            "alternating": true,
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "christmas": true,
 | 
			
		||||
            "knight": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true,
 | 
			
		||||
            "rgb_test": true,
 | 
			
		||||
            "snake": true,
 | 
			
		||||
            "static_gradient": true,
 | 
			
		||||
            "twinkle": true
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										34
									
								
								keyboards/keebio/sinc/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/keebio/sinc/rev2/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
/* Copyright 2021 Danny Nguyen <danny@keeb.io>
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
// wiring of each half
 | 
			
		||||
#define SPLIT_HAND_PIN F7
 | 
			
		||||
 | 
			
		||||
/* 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
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB LED */
 | 
			
		||||
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
 | 
			
		||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
 | 
			
		||||
 | 
			
		||||
// Set right column, left macro, 1.75u shift, split spaces, and 5x1u on by default
 | 
			
		||||
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
 | 
			
		||||
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
 | 
			
		||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
 | 
			
		||||
| 
						 | 
				
			
			@ -4,6 +4,8 @@
 | 
			
		|||
        "pid": "0x2267",
 | 
			
		||||
        "device_version": "2.0.0"
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "debounce": 5,
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "features": {
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +53,16 @@
 | 
			
		|||
        "led_count" : 16,
 | 
			
		||||
        "split_count": [8, 8],
 | 
			
		||||
        "animations": {
 | 
			
		||||
            "all": true,
 | 
			
		||||
            "alternating": true,
 | 
			
		||||
            "breathing": true,
 | 
			
		||||
            "christmas": true,
 | 
			
		||||
            "knight": true,
 | 
			
		||||
            "rainbow_mood": true,
 | 
			
		||||
            "rainbow_swirl": true,
 | 
			
		||||
            "rgb_test": true,
 | 
			
		||||
            "snake": true,
 | 
			
		||||
            "static_gradient": true,
 | 
			
		||||
            "twinkle": true
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										78
									
								
								keyboards/keebio/sinc/rev3/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								keyboards/keebio/sinc/rev3/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
/* Copyright 2022 Danny Nguyen <danny@keeb.io>
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										21
									
								
								keyboards/keebio/sinc/rev3/halconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/keebio/sinc/rev3/halconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#define HAL_USE_I2C TRUE
 | 
			
		||||
 | 
			
		||||
#include_next "halconf.h"
 | 
			
		||||
							
								
								
									
										182
									
								
								keyboards/keebio/sinc/rev3/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								keyboards/keebio/sinc/rev3/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 }
 | 
			
		||||
          ]
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								keyboards/keebio/sinc/rev3/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/keebio/sinc/rev3/mcuconf.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2022 Charly Delay <charly@codesink.dev> (@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 <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include_next "mcuconf.h"
 | 
			
		||||
 | 
			
		||||
#undef RP_I2C_USE_I2C1
 | 
			
		||||
#define RP_I2C_USE_I2C1 TRUE
 | 
			
		||||
							
								
								
									
										227
									
								
								keyboards/keebio/sinc/rev3/rev3.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										227
									
								
								keyboards/keebio/sinc/rev3/rev3.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,227 @@
 | 
			
		|||
/* Copyright 2022 Danny Nguyen <danny@keeb.io>
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "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 } \
 | 
			
		||||
  }
 | 
			
		||||
							
								
								
									
										2
									
								
								keyboards/keebio/sinc/rev3/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/keebio/sinc/rev3/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
SERIAL_DRIVER = vendor
 | 
			
		||||
WS2812_DRIVER = vendor
 | 
			
		||||
| 
						 | 
				
			
			@ -17,6 +17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#include "sinc.h"
 | 
			
		||||
#include "split_util.h"
 | 
			
		||||
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
bool led_update_kb(led_t led_state) {
 | 
			
		||||
    if (!led_update_user(led_state)) { return false; }
 | 
			
		||||
    // Only update if left half
 | 
			
		||||
| 
						 | 
				
			
			@ -25,6 +26,7 @@ bool led_update_kb(led_t led_state) {
 | 
			
		|||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void eeconfig_init_kb(void) {
 | 
			
		||||
#ifdef BACKLIGHT_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -35,6 +37,7 @@ void eeconfig_init_kb(void) {
 | 
			
		|||
    eeconfig_init_user();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_ENABLE
 | 
			
		||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		||||
    if (!encoder_update_user(index, clockwise)) { return false; }
 | 
			
		||||
    if (index == 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -52,3 +55,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		|||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,3 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
#ifdef KEYBOARD_keebio_sinc_rev2
 | 
			
		||||
    #include "rev2.h"
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef KEYBOARD_keebio_sinc_rev3
 | 
			
		||||
    #include "rev3.h"
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue