Add encoder map for Iris Rev. 5 VIA (#20412)
This commit is contained in:
		
							parent
							
								
									d054112de1
								
							
						
					
					
						commit
						9f492f6dfa
					
				
					 12 changed files with 12 additions and 598 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
// Copyright 2023 Danny Nguyen (@nooges)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
#define _QWERTY 0
 | 
			
		||||
#define _LOWER 1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,6 @@
 | 
			
		|||
// Copyright 2023 Danny Nguyen (@nooges)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum custom_layer {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Iris Rev. 5",
 | 
			
		||||
    "keyboard_name": "Iris Rev. 5a",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "pid": "0x5256",
 | 
			
		||||
        "device_version": "5.0.0"
 | 
			
		||||
        "pid": "0x5356",
 | 
			
		||||
        "device_version": "5.1.0"
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["F1", "F4", "D3", "D2", "B7", "D4"],
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Iris Rev. 6",
 | 
			
		||||
    "keyboard_name": "Iris Rev. 6b",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "pid": "0x6256",
 | 
			
		||||
        "device_version": "6.0.0"
 | 
			
		||||
        "pid": "0x6456",
 | 
			
		||||
        "device_version": "6.2.0"
 | 
			
		||||
    },
 | 
			
		||||
    "rgb_matrix": {
 | 
			
		||||
        "driver": "WS2812"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,88 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
#define SPLIT_HAND_PIN D5
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB LED */
 | 
			
		||||
#    define RGBLED_NUM 68
 | 
			
		||||
#    define RGBLED_SPLIT { 34, 34 }
 | 
			
		||||
#    define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#    define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#    define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
#    define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
 | 
			
		||||
#    define RGBLIGHT_SLEEP         /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 | 
			
		||||
/*== enabled animations ==*/
 | 
			
		||||
#    define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#    define RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
#    define RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#    define RGBLIGHT_EFFECT_CHRISTMAS
 | 
			
		||||
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RGB_TEST
 | 
			
		||||
#    define RGBLIGHT_EFFECT_ALTERNATING
 | 
			
		||||
#    define RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#    define RGBLIGHT_DEFAULT_VAL 120
 | 
			
		||||
#    define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
 | 
			
		||||
// RGB Matrix
 | 
			
		||||
//#    ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#        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_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#        define RGB_MATRIX_SPLIT { 34, 34 }
 | 
			
		||||
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#        define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
//#    endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,105 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Iris Rev. 6a",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "pid": "0x6356",
 | 
			
		||||
        "device_version": "6.1.0"
 | 
			
		||||
    },
 | 
			
		||||
    "rgb_matrix": {
 | 
			
		||||
        "driver": "WS2812"
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
 | 
			
		||||
        "rows": ["B1", "F0", "F5", "B4", "D7"]
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "encoder": {
 | 
			
		||||
        "rotary": [
 | 
			
		||||
            {"pin_a": "B3", "pin_b": "B2"}
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "E6"
 | 
			
		||||
    },
 | 
			
		||||
    "split": {
 | 
			
		||||
        "soft_serial_pin": "D0",
 | 
			
		||||
        "matrix_pins": {
 | 
			
		||||
            "right": {
 | 
			
		||||
                "cols": ["D4", "D6", "D7", "C7", "F1", "F4"],
 | 
			
		||||
                "rows": ["B1", "F0", "F5", "B4", "B5"]
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 9, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 10, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 12, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 13, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 14, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 9, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 10, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 12, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 13, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 9, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 10, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 12, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 13, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 14, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6.15, "y": 3.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 7.85, "y": 3.75},
 | 
			
		||||
                {"matrix": [8, 5], "x": 9, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 10, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 12, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 13, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 14, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 2], "x": 3.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 4.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5.6, "y": 4.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 4], "x": 8.4, "y": 4.75},
 | 
			
		||||
                {"matrix": [9, 3], "x": 9.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 2], "x": 10.5, "y": 4.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,86 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
    // Key Matrix to LED Index
 | 
			
		||||
    // Left Half
 | 
			
		||||
    { 0, 1, 2, 3, 4, 5 },
 | 
			
		||||
    { 11, 10, 9, 8, 7, 6 },
 | 
			
		||||
    { 12, 13, 14, 15, 16, 17 },
 | 
			
		||||
    { 23, 22, 21, 20, 19, 18 },
 | 
			
		||||
    { NO_LED, NO_LED, 24, 25, 26, 27 },
 | 
			
		||||
    // Right Half
 | 
			
		||||
    { 34, 35, 36, 37, 38, 39 },
 | 
			
		||||
    { 45, 44, 43, 42, 41, 40 },
 | 
			
		||||
    { 46, 47, 48, 49, 50, 51 },
 | 
			
		||||
    { 57, 56, 55, 54, 53, 52 },
 | 
			
		||||
    { NO_LED, NO_LED, 58, 59, 60, 61 }
 | 
			
		||||
}, {
 | 
			
		||||
    // LED Index to Physical Position
 | 
			
		||||
    // Left Half
 | 
			
		||||
    { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 },
 | 
			
		||||
    { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 },
 | 
			
		||||
    { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 },
 | 
			
		||||
    { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 },
 | 
			
		||||
    { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 },
 | 
			
		||||
    { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
 | 
			
		||||
    // Right Half
 | 
			
		||||
    { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
 | 
			
		||||
    { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
 | 
			
		||||
    { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
 | 
			
		||||
    { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
 | 
			
		||||
    { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
 | 
			
		||||
    { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
 | 
			
		||||
}, {
 | 
			
		||||
    // LED Index to Flag
 | 
			
		||||
    // Left Half
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
          4, 4, 4, 4,
 | 
			
		||||
    2, 2, 2, 2, 2, 2,
 | 
			
		||||
    // Right Half
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4,
 | 
			
		||||
    2, 2, 2, 2, 2, 2
 | 
			
		||||
 | 
			
		||||
} };
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_ENABLE
 | 
			
		||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		||||
    if (!encoder_update_user(index, clockwise)) { return false; }
 | 
			
		||||
    if (index == 0) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_VOLU);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_VOLD);
 | 
			
		||||
        }
 | 
			
		||||
    } else if (index == 1) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_PGDN);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_PGUP);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,17 +0,0 @@
 | 
			
		|||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no        # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = yes        # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
SPLIT_KEYBOARD = yes
 | 
			
		||||
ENCODER_ENABLE = yes
 | 
			
		||||
RGB_MATRIX_ENABLE = yes
 | 
			
		||||
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -1,88 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
#define SPLIT_HAND_PIN D5
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB LED */
 | 
			
		||||
#    define RGBLED_NUM 68
 | 
			
		||||
#    define RGBLED_SPLIT { 34, 34 }
 | 
			
		||||
#    define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
#    define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
#    define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
#    define RGBLIGHT_LIMIT_VAL 120 /* The maximum brightness level */
 | 
			
		||||
#    define RGBLIGHT_SLEEP         /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 | 
			
		||||
/*== enabled animations ==*/
 | 
			
		||||
#    define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#    define RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
#    define RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#    define RGBLIGHT_EFFECT_CHRISTMAS
 | 
			
		||||
#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#    define RGBLIGHT_EFFECT_RGB_TEST
 | 
			
		||||
#    define RGBLIGHT_EFFECT_ALTERNATING
 | 
			
		||||
#    define RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#    define RGBLIGHT_DEFAULT_VAL 120
 | 
			
		||||
#    define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
 | 
			
		||||
// RGB Matrix
 | 
			
		||||
//#    ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
#        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_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
#        define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
			
		||||
#        define RGB_MATRIX_SPLIT { 34, 34 }
 | 
			
		||||
#        define RGB_DISABLE_WHEN_USB_SUSPENDED
 | 
			
		||||
#        define RGB_MATRIX_KEYPRESSES
 | 
			
		||||
//#    endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,105 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
    "keyboard_name": "Iris Rev. 6b",
 | 
			
		||||
    "usb": {
 | 
			
		||||
        "pid": "0x6456",
 | 
			
		||||
        "device_version": "6.2.0"
 | 
			
		||||
    },
 | 
			
		||||
    "rgb_matrix": {
 | 
			
		||||
        "driver": "WS2812"
 | 
			
		||||
    },
 | 
			
		||||
    "matrix_pins": {
 | 
			
		||||
        "cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
 | 
			
		||||
        "rows": ["B1", "F0", "F5", "B4", "D7"]
 | 
			
		||||
    },
 | 
			
		||||
    "diode_direction": "COL2ROW",
 | 
			
		||||
    "encoder": {
 | 
			
		||||
        "rotary": [
 | 
			
		||||
            {"pin_a": "B3", "pin_b": "B2"}
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    "ws2812": {
 | 
			
		||||
        "pin": "E6"
 | 
			
		||||
    },
 | 
			
		||||
    "split": {
 | 
			
		||||
        "soft_serial_pin": "D0",
 | 
			
		||||
        "matrix_pins": {
 | 
			
		||||
            "right": {
 | 
			
		||||
                "cols": ["D4", "D6", "D7", "C7", "F1", "F4"],
 | 
			
		||||
                "rows": ["B1", "F0", "F5", "B4", "B5"]
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "processor": "atmega32u4",
 | 
			
		||||
    "bootloader": "atmel-dfu",
 | 
			
		||||
    "layouts": {
 | 
			
		||||
        "LAYOUT": {
 | 
			
		||||
            "layout": [
 | 
			
		||||
                {"matrix": [0, 0], "x": 0, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 1], "x": 1, "y": 0.375},
 | 
			
		||||
                {"matrix": [0, 2], "x": 2, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 3], "x": 3, "y": 0},
 | 
			
		||||
                {"matrix": [0, 4], "x": 4, "y": 0.125},
 | 
			
		||||
                {"matrix": [0, 5], "x": 5, "y": 0.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [5, 5], "x": 9, "y": 0.25},
 | 
			
		||||
                {"matrix": [5, 4], "x": 10, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 3], "x": 11, "y": 0},
 | 
			
		||||
                {"matrix": [5, 2], "x": 12, "y": 0.125},
 | 
			
		||||
                {"matrix": [5, 1], "x": 13, "y": 0.375},
 | 
			
		||||
                {"matrix": [5, 0], "x": 14, "y": 0.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [1, 0], "x": 0, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 1], "x": 1, "y": 1.375},
 | 
			
		||||
                {"matrix": [1, 2], "x": 2, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 3], "x": 3, "y": 1},
 | 
			
		||||
                {"matrix": [1, 4], "x": 4, "y": 1.125},
 | 
			
		||||
                {"matrix": [1, 5], "x": 5, "y": 1.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [6, 5], "x": 9, "y": 1.25},
 | 
			
		||||
                {"matrix": [6, 4], "x": 10, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 3], "x": 11, "y": 1},
 | 
			
		||||
                {"matrix": [6, 2], "x": 12, "y": 1.125},
 | 
			
		||||
                {"matrix": [6, 1], "x": 13, "y": 1.375},
 | 
			
		||||
                {"matrix": [6, 0], "x": 14, "y": 1.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [2, 0], "x": 0, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 1], "x": 1, "y": 2.375},
 | 
			
		||||
                {"matrix": [2, 2], "x": 2, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 3], "x": 3, "y": 2},
 | 
			
		||||
                {"matrix": [2, 4], "x": 4, "y": 2.125},
 | 
			
		||||
                {"matrix": [2, 5], "x": 5, "y": 2.25},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [7, 5], "x": 9, "y": 2.25},
 | 
			
		||||
                {"matrix": [7, 4], "x": 10, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 3], "x": 11, "y": 2},
 | 
			
		||||
                {"matrix": [7, 2], "x": 12, "y": 2.125},
 | 
			
		||||
                {"matrix": [7, 1], "x": 13, "y": 2.375},
 | 
			
		||||
                {"matrix": [7, 0], "x": 14, "y": 2.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [3, 0], "x": 0, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 1], "x": 1, "y": 3.375},
 | 
			
		||||
                {"matrix": [3, 2], "x": 2, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 3], "x": 3, "y": 3},
 | 
			
		||||
                {"matrix": [3, 4], "x": 4, "y": 3.125},
 | 
			
		||||
                {"matrix": [3, 5], "x": 5, "y": 3.25},
 | 
			
		||||
                {"matrix": [4, 5], "x": 6.15, "y": 3.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 5], "x": 7.85, "y": 3.75},
 | 
			
		||||
                {"matrix": [8, 5], "x": 9, "y": 3.25},
 | 
			
		||||
                {"matrix": [8, 4], "x": 10, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 3], "x": 11, "y": 3},
 | 
			
		||||
                {"matrix": [8, 2], "x": 12, "y": 3.125},
 | 
			
		||||
                {"matrix": [8, 1], "x": 13, "y": 3.375},
 | 
			
		||||
                {"matrix": [8, 0], "x": 14, "y": 3.375},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [4, 2], "x": 3.5, "y": 4.25},
 | 
			
		||||
                {"matrix": [4, 3], "x": 4.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [4, 4], "x": 5.6, "y": 4.75},
 | 
			
		||||
 | 
			
		||||
                {"matrix": [9, 4], "x": 8.4, "y": 4.75},
 | 
			
		||||
                {"matrix": [9, 3], "x": 9.5, "y": 4.375},
 | 
			
		||||
                {"matrix": [9, 2], "x": 10.5, "y": 4.25}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,85 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
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/>.
 | 
			
		||||
*/
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
led_config_t g_led_config = { {
 | 
			
		||||
    // Key Matrix to LED Index
 | 
			
		||||
    // Left Half
 | 
			
		||||
    { 0, 1, 2, 3, 4, 5 },
 | 
			
		||||
    { 11, 10, 9, 8, 7, 6 },
 | 
			
		||||
    { 12, 13, 14, 15, 16, 17 },
 | 
			
		||||
    { 23, 22, 21, 20, 19, 18 },
 | 
			
		||||
    { NO_LED, NO_LED, 24, 25, 26, 27 },
 | 
			
		||||
    // Right Half (mirrored, i.e. LEDs 39 and 40 are the leftmost column).
 | 
			
		||||
    { 34, 35, 36, 37, 38, 39 },
 | 
			
		||||
    { 45, 44, 43, 42, 41, 40 },
 | 
			
		||||
    { 46, 47, 48, 49, 50, 51 },
 | 
			
		||||
    { 57, 56, 55, 54, 53, 52 },
 | 
			
		||||
    { NO_LED, NO_LED, 58, 59, 60, 61 }
 | 
			
		||||
}, {
 | 
			
		||||
    // LED Index to Physical Position
 | 
			
		||||
    // Left Half
 | 
			
		||||
    { 0, 5 }, { 16, 5 }, { 32, 2 }, { 48, 0 }, { 64, 2 }, { 80, 3 },
 | 
			
		||||
    { 80, 17 }, { 64, 15 }, { 48, 13 }, { 32, 15 }, { 16, 18 }, { 0, 18 },
 | 
			
		||||
    { 0, 32 }, { 16, 32 }, { 32, 28 }, { 48, 27 }, { 64, 28 }, { 80, 30 },
 | 
			
		||||
    { 80, 43 }, { 64, 42 }, { 48, 40 }, { 32, 42 }, { 16, 45 }, { 0, 45 },
 | 
			
		||||
    { 56, 47 }, { 72, 58 }, { 90, 64 }, { 98, 52 },
 | 
			
		||||
    { 80, 58 }, { 40, 50 }, { 8, 43 }, { 8, 5 }, { 40, 1 }, { 72, 3 },
 | 
			
		||||
    // Right Half
 | 
			
		||||
    { 224, 5 }, { 208, 5 }, { 192, 2 }, { 176, 0 }, { 160, 2 }, { 144, 3 },
 | 
			
		||||
    { 144, 18 }, { 160, 18 }, { 176, 15 }, { 192, 13 }, { 208, 15 }, { 224, 17 },
 | 
			
		||||
    { 224, 32 }, { 208, 32 }, { 192, 28 }, { 176, 27 }, { 160, 28 }, { 144, 30 },
 | 
			
		||||
    { 144, 45 }, { 160, 45 }, { 176, 42 }, { 192, 40 }, { 208, 42 }, { 224, 43 },
 | 
			
		||||
    { 168, 47 }, { 152, 58 }, { 134, 64 }, { 126, 52 },
 | 
			
		||||
    { 144, 58 }, { 184, 50 }, { 216, 43 }, { 216, 5 }, { 184, 1 }, { 152, 3 }
 | 
			
		||||
}, {
 | 
			
		||||
    // LED Index to Flag
 | 
			
		||||
    // Left Half
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
          4, 4, 4, 4,
 | 
			
		||||
    2, 2, 2, 2, 2, 2,
 | 
			
		||||
    // Right Half
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4, 4, 4,
 | 
			
		||||
    4, 4, 4, 4,
 | 
			
		||||
    2, 2, 2, 2, 2, 2
 | 
			
		||||
 | 
			
		||||
} };
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef ENCODER_ENABLE
 | 
			
		||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
 | 
			
		||||
    if (!encoder_update_user(index, clockwise)) { return false; }
 | 
			
		||||
    if (index == 0) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_VOLU);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_VOLD);
 | 
			
		||||
        }
 | 
			
		||||
    } else if (index == 1) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_PGDN);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_PGUP);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,17 +0,0 @@
 | 
			
		|||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
			
		||||
MOUSEKEY_ENABLE = no        # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = yes        # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Enable N-Key Rollover
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output
 | 
			
		||||
SPLIT_KEYBOARD = yes
 | 
			
		||||
ENCODER_ENABLE = yes
 | 
			
		||||
RGB_MATRIX_ENABLE = yes
 | 
			
		||||
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue