diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 60f1cbd837fa..18daef1e1ab3 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -313,6 +313,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]')) SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgblight/rgblight.c + SRC += $(QUANTUM_DIR)/rgblight/rgblight_drivers.c CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes endif @@ -883,18 +884,16 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]')) NO_USB_STARTUP_CHECK := yes COMMON_VPATH += $(DRIVER_PATH)/bluetooth - SRC += outputselect.c + SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le) SPI_DRIVER_REQUIRED = yes ANALOG_DRIVER_REQUIRED = yes - SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c - SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp + SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le_spi.cpp endif ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42) UART_DRIVER_REQUIRED = yes - SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c SRC += $(DRIVER_PATH)/bluetooth/rn42.c endif endif @@ -907,6 +906,12 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes) endif endif +ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes) + ifeq ($(strip $(DIP_SWITCH_MAP_ENABLE)), yes) + OPT_DEFS += -DDIP_SWITCH_MAP_ENABLE + endif +endif + VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor WS2812_DRIVER ?= bitbang diff --git a/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson new file mode 100644 index 000000000000..50c49274be12 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson @@ -0,0 +1,339 @@ +{ + "aliases": { +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ | │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¿ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ ´ │ + │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ñ │ { │ } │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "KC_GRV": { + "key": "ES_PIPE", + "label": "|", + } + "KC_1": { + "key": "ES_1", + "label": "1", + } + "KC_2": { + "key": "ES_2", + "label": "2", + } + "KC_3": { + "key": "ES_3", + "label": "3", + } + "KC_4": { + "key": "ES_4", + "label": "4", + } + "KC_5": { + "key": "ES_5", + "label": "5", + } + "KC_6": { + "key": "ES_6", + "label": "6", + } + "KC_7": { + "key": "ES_7", + "label": "7", + } + "KC_8": { + "key": "ES_8", + "label": "8", + } + "KC_9": { + "key": "ES_9", + "label": "9", + } + "KC_0": { + "key": "ES_0", + "label": "0", + } + "KC_MINS": { + "key": "ES_QUOT", + "label": "'", + } + "KC_EQL": { + "key": "ES_IQUE", + "label": "¿", + } + "KC_Q": { + "key": "ES_Q", + "label": "Q", + } + "KC_W": { + "key": "ES_W", + "label": "W", + } + "KC_E": { + "key": "ES_E", + "label": "E", + } + "KC_R": { + "key": "ES_R", + "label": "R", + } + "KC_T": { + "key": "ES_T", + "label": "T", + } + "KC_Y": { + "key": "ES_Y", + "label": "Y", + } + "KC_U": { + "key": "ES_U", + "label": "U", + } + "KC_I": { + "key": "ES_I", + "label": "I", + } + "KC_O": { + "key": "ES_O", + "label": "O", + } + "KC_P": { + "key": "ES_P", + "label": "P", + } + "KC_LBRC": { + "key": "ES_ACUT", + "label": "´ (dead)", + } + "KC_RBRC": { + "key": "ES_PLUS", + "label": "+", + } + "KC_A": { + "key": "ES_A", + "label": "A", + } + "KC_S": { + "key": "ES_S", + "label": "S", + } + "KC_D": { + "key": "ES_D", + "label": "D", + } + "KC_F": { + "key": "ES_F", + "label": "F", + } + "KC_G": { + "key": "ES_G", + "label": "G", + } + "KC_H": { + "key": "ES_H", + "label": "H", + } + "KC_J": { + "key": "ES_J", + "label": "J", + } + "KC_K": { + "key": "ES_K", + "label": "K", + } + "KC_L": { + "key": "ES_L", + "label": "L", + } + "KC_SCLN": { + "key": "ES_NTIL", + "label": "Ñ", + } + "KC_QUOT": { + "key": "ES_LCBR", + "label": "{", + } + "KC_NUHS": { + "key": "ES_RCBR", + "label": "}", + } + "KC_NUBS": { + "key": "ES_LABK", + "label": "<", + } + "KC_Z": { + "key": "ES_Z", + "label": "Z", + } + "KC_X": { + "key": "ES_X", + "label": "X", + } + "KC_C": { + "key": "ES_C", + "label": "C", + } + "KC_V": { + "key": "ES_V", + "label": "V", + } + "KC_B": { + "key": "ES_B", + "label": "B", + } + "KC_N": { + "key": "ES_N", + "label": "N", + } + "KC_M": { + "key": "ES_M", + "label": "M", + } + "KC_COMM": { + "key": "ES_COMM", + "label": ",", + } + "KC_DOT": { + "key": "ES_DOT", + "label": ".", + } + "KC_SLSH": { + "key": "ES_MINS", + "label": "-", + } +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ° │ ! │ " │ # │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¡ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "S(ES_PIPE)": { + "key": "ES_MORD", + "label": "°", + } + "S(ES_1)": { + "key": "ES_EXLM", + "label": "!", + } + "S(ES_2)": { + "key": "ES_DQUO", + "label": "\"", + } + "S(ES_3)": { + "key": "ES_NUMB", + "label": "#", + } + "S(ES_4)": { + "key": "ES_DLR", + "label": "$", + } + "S(ES_5)": { + "key": "ES_PERC", + "label": "%", + } + "S(ES_6)": { + "key": "ES_AMPR", + "label": "&", + } + "S(ES_7)": { + "key": "ES_SLSH", + "label": "/", + } + "S(ES_8)": { + "key": "ES_LPRN", + "label": "(", + } + "S(ES_9)": { + "key": "ES_RPRN", + "label": ")", + } + "S(ES_0)": { + "key": "ES_EQL", + "label": "=", + } + "S(ES_QUOT)": { + "key": "ES_QUES", + "label": "?", + } + "S(ES_IQUE)": { + "key": "ES_IEXL", + "label": "¡", + } + "S(ES_ACUT)": { + "key": "ES_DIAE", + "label": "¨ (dead)", + } + "S(ES_PLUS)": { + "key": "ES_ASTR", + "label": "*", + } + "S(ES_LCBR)": { + "key": "ES_LBRC", + "label": "[", + } + "S(ES_RCBR)": { + "key": "ES_RBRC", + "label": "]", + } + "S(ES_LABK)": { + "key": "ES_RABK", + "label": ">", + } + "S(ES_COMM)": { + "key": "ES_SCLN", + "label": ";", + } + "S(ES_DOT)": { + "key": "ES_COLN", + "label": ":", + } + "S(ES_MINS)": { + "key": "ES_UNDS", + "label": "_", + } +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ¬ │ │ │ │ │ │ │ │ │ │ │ \ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ @ │ │ │ │ │ │ │ │ │ │ │ ~ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ ^ │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "ALGR(ES_PIPE)": { + "key": "ES_NOT", + "label": "¬", + } + "ALGR(ES_QUOT)": { + "key": "ES_BSLS", + "label": "\\", + } + "ALGR(ES_Q)": { + "key": "ES_AT", + "label": "@", + } + "ALGR(ES_PLUS)": { + "key": "ES_TILD", + "label": "~", + } + "ALGR(ES_LCBR)": { + "key": "ES_CIRC", + "label": "^", + } + } +} \ No newline at end of file diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson index 4a9f06c0da58..71902c92d68c 100644 --- a/data/mappings/defaults.hjson +++ b/data/mappings/defaults.hjson @@ -45,6 +45,11 @@ "bootloader": "rp2040", "processor": "RP2040" }, + "imera": { + "processor": "RP2040", + "bootloader": "rp2040", + "board": "QMK_PM2040" + }, "kb2040": { "board": "QMK_PM2040", "bootloader": "rp2040", diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 26b437b51335..45c50a92424b 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -74,12 +74,12 @@ "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"}, // LED Matrix - "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "led_matrix.sleep", "value_type": "bool"}, "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"}, "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "bool"}, "LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"}, "LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false}, "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"}, + "LED_MATRIX_SLEEP": {"info_key": "led_matrix.sleep", "value_type": "bool"}, "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"}, "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"}, "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"}, @@ -122,7 +122,6 @@ "PS2_DATA_PIN": {"info_key": "ps2.data_pin"}, // RGB Matrix - "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "rgb_matrix.sleep", "value_type": "bool"}, "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"}, "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"}, "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "bool"}, @@ -130,6 +129,7 @@ "RGB_MATRIX_LED_PROCESS_LIMIT": {"info_key": "rgb_matrix.led_process_limit", "value_type": "int", "to_json": false}, "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"}, "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"}, + "RGB_MATRIX_SLEEP": {"info_key": "rgb_matrix.sleep", "value_type": "bool"}, "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"}, "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"}, "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"}, @@ -142,12 +142,12 @@ "RGB_MATRIX_DEFAULT_SPD": {"info_key": "rgb_matrix.default.speed", "value_type": "int"}, // RGBLight - "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"}, "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"}, "RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"}, "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"}, "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"}, "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"}, + "RGBLIGHT_LED_COUNT": {"info_key": "rgblight.led_count", "value_type": "int"}, "RGBLIGHT_LED_MAP": {"info_key": "rgblight.led_map", "value_type": "array.int"}, "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"}, "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"}, @@ -218,12 +218,14 @@ "DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true, "replace_with": "DEBOUNCE"}, "DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true}, "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_invalid.ignore_mod_tap_interrupt", "value_type": "bool", "invalid": true}, - "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true} + "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true}, + "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.led_matrix_sleep", "invalid": true, "replace_with": "LED_MATRIX_SLEEP"}, "NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true}, "NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true}, "PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true}, "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}, "RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"}, + "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "_invalid.rgb_matrix_sleep", "invalid": true, "replace_with": "RGB_MATRIX_SLEEP"}, "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true}, "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true}, "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true}, diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 90f32ee6acca..fbc90d1606aa 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -185,6 +185,9 @@ "eek": { "target": "eek/silk_down" }, + "era/klein": { + "target": "era/sirind/klein_sd" + }, "ergodone": { "target": "ktec/ergodone" }, @@ -332,6 +335,9 @@ "kyria": { "target": "splitkb/kyria" }, + "laser_ninja/pumpkin_pad": { + "target": "laser_ninja/pumpkinpad" + }, "lattice60": { "target": "keyhive/lattice60" }, @@ -948,6 +954,12 @@ "launchpad/rev1": { "target": "maple_computing/launchpad/rev1" }, + "lefty": { + "target": "smoll/lefty/rev2" + }, + "lefty/rev1": { + "target": "smoll/lefty/rev1" + }, "lck75": { "target": "lyso1/lck75" }, @@ -1101,6 +1113,9 @@ "pursuit40": { "target": "checkerboards/pursuit40" }, + "pw88": { + "target": "smoll/pw88" + }, "qaz": { "target": "tominabox1/qaz" }, @@ -1299,6 +1314,9 @@ "vn66": { "target": "hnahkb/vn66" }, + "w1_at": { + "target": "geonworks/w1_at" + }, "wallaby": { "target": "kkatano/wallaby" }, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 299695808486..32d737a1d874 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -43,7 +43,7 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris"] + "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"] }, "pin_compatible": { "type": "string", diff --git a/docs/audio_driver.md b/docs/audio_driver.md index a0bbb22e1962..03c0a824dfe7 100644 --- a/docs/audio_driver.md +++ b/docs/audio_driver.md @@ -116,19 +116,32 @@ Additionally, in the board config, you'll want to make changes to enable the DAC | Define | Defaults | Description | | -------------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `AUDIO_DAC_SAMPLE_MAX` | `4095U` | Highest value allowed. Lower value means lower volume. And 4095U is the upper limit, since this is limited to a 12 bit value. Only effects non-pregenerated samples. | -| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when notplaying anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. | +| `AUDIO_DAC_OFF_VALUE` | `AUDIO_DAC_SAMPLE_MAX / 2` | The value of the DAC when not playing anything. Some setups may require a high (`AUDIO_DAC_SAMPLE_MAX`) or low (`0`) value here. | | `AUDIO_MAX_SIMULTANEOUS_TONES` | __see next table__ | The number of tones that can be played simultaneously. A value that is too high may freeze the controller or glitch out when too many tones are being played. | | `AUDIO_DAC_SAMPLE_RATE` | __see next table__ | Effective bit rate of the DAC (in hertz), higher limits simultaneous tones, and lower sacrifices quality. | +| `AUDIO_DAC_BUFFER_SIZE` | __see next table__ | Number of samples generated every refill. Too few may cause excessive CPU load; too many may cause freezes, RAM or flash exhaustion or lags during matrix scanning. | -There are a number of predefined quality settings that you can use, with "sane minimum" being the default. You can use custom values by simply defining the sample rate and number of simultaneous tones, instead of using one of the listed presets. +There are a number of predefined quality settings that you can use, with "sane minimum" being the default. You can use custom values by simply defining the sample rate, number of simultaneous tones and buffer size, instead of using one of the listed presets. -| Define | Sample Rate | Simultaneous tones | -| --------------------------------- | ----------- | ------------------- | -| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` | -| `AUDIO_DAC_QUALITY_LOW` | `22040U` | `4` | -| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` | -| `AUDIO_DAC_QUALITY_VERY_HIGH` | `88200U` | `1` | -| `AUDIO_DAC_QUALITY_SANE_MINIMUM` | `16384U` | `8` | +| Define | Sample Rate | Simultaneous tones | Buffer size | +| --------------------------------- | ----------- | ------------------- | ----------- | +| `AUDIO_DAC_QUALITY_VERY_LOW` | `11025U` | `8` | `64U` | +| `AUDIO_DAC_QUALITY_LOW` | `22050U` | `4` | `128U` | +| `AUDIO_DAC_QUALITY_HIGH` | `44100U` | `2` | `256U` | +| `AUDIO_DAC_QUALITY_VERY_HIGH` | `88200U` | `1` | `256U` | +| `AUDIO_DAC_QUALITY_SANE_MINIMUM` | `16384U` | `8` | `64U` | + +#### Notes on buffer size :id=buffer-size + +By default, the buffer size attempts to keep to these constraints: + +* The interval between buffer refills can't be too short, since the microcontroller would then only be servicing buffer refills and would freeze up. +* On the additive driver, the interval between buffer refills can't be too long, since matrix scanning would suffer lengthy pauses every so often, which would delay key presses or releases or lose some short taps altogether. +* The interval between buffer refills is kept to a minimum, which allows notes to stop as soon as possible after they should. +* For greater compatibility, the buffer size should be a power of 2. +* The buffer size being too large causes resource exhaustion leading to build failures or freezing at runtime: RAM usage (on the additive driver) or flash usage (on the basic driver). + +You can lower the buffer size if you need a bit more space in your firmware, or raise it if your keyboard freezes up. ```c @@ -186,6 +199,11 @@ with all this information, the configuration would contain these lines: ChibiOS uses GPIOv1 for the F103, which only knows of one alternate function. On 'larger' STM32s, GPIOv2 or GPIOv3 are used; with them it is also necessary to configure `AUDIO_PWM_PAL_MODE` to the correct alternate function for the selected pin, timer and timer-channel. +You can also use the Complementary output (`TIMx_CHyN`) for PWM on supported controllers. To enable this functionality, you will need to make the following changes: +```c +// config.h: +#define AUDIO_PWM_COMPLEMENTARY_OUTPUT +``` ### PWM software :id=pwm-software diff --git a/docs/config_options.md b/docs/config_options.md index 8119b9e356fa..bf57c7b0bdf1 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -223,7 +223,7 @@ If you define these options you will enable the associated feature, which may in * Adds ability to [blink](feature_rgblight.md?id=lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action). * `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` * If defined, then [lighting layers](feature_rgblight?id=overriding-rgb-lighting-onoff-status) will be shown even if RGB Light is off. -* `#define RGBLED_NUM 12` +* `#define RGBLIGHT_LED_COUNT 12` * number of LEDs * `#define RGBLIGHT_SPLIT` * Needed if both halves of the board have RGB LEDs wired directly to the RGB output pin on the controllers instead of passing the output of the left half to the input of the right half @@ -439,7 +439,7 @@ Use these to enable or disable building certain features. The more you have enab * `UNICODE_ENABLE` * Unicode * `BLUETOOTH_ENABLE` - * Current options are bluefruit_le, rn42 + * Enable Bluetooth driver. Also requires `BLUETOOTH_DRIVER`. Set to onr of `bluefruit_le`, `rn42` or `custom`. * `SPLIT_KEYBOARD` * Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common * `CUSTOM_MATRIX` diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md index 864128183508..027b23dc1dd7 100644 --- a/docs/faq_keymap.md +++ b/docs/faq_keymap.md @@ -119,9 +119,9 @@ Japanese JIS keyboard specific keys like `無変換(Muhenkan)`, `変換(Henkan)` https://pqrs.org/osx/karabiner/seil.html -## RN-42 Bluetooth Doesn't Work with Karabiner +## RN-42 Bluetooth Doesn't Work with Karabiner on OSX -Karabiner - Keymapping tool on Mac OSX - ignores inputs from RN-42 module by default. You have to enable this option to make Karabiner working with your keyboard. +Karabiner - Keymapping tool on Mac OSX - ignores inputs from RN-42 module by default. You have to enable this option to make Karabiner work with your keyboard. https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237 See these for the detail of this problem. diff --git a/docs/feature_bluetooth.md b/docs/feature_bluetooth.md index 5fac06fba756..a6a8b8bdec73 100644 --- a/docs/feature_bluetooth.md +++ b/docs/feature_bluetooth.md @@ -1,46 +1,157 @@ # Bluetooth -## Bluetooth Known Supported Hardware +This feature allows you to integrate into a Bluetooth module to create a Bluetooth keyboard for wireless operation. -Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input. +## Supported Modules -|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip| -|----------------------------------------------------------------|--------------------|---------------|---------------------------------|--------------| -|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = rn42` |RN-42 | -|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = bluefruit_le`|nRF51822 | +Currently on the following modules are supported: -Not Supported Yet but possible: -* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514) -* HC-05 boards flashed with RN-42 firmware. They apparently both use the CSR BC417 Chip. Flashing it with RN-42 firmware gives it HID capability. -* Sparkfun Bluetooth Mate -* HM-13 based boards +| Board | Module based on | Bluetooth Protocol | Connection Type | rules.mk |Bluetooth Chip | +|--------------------------------------------------------------------|---------------------|-----------------------------|-----------------|---------------------------------|----------------| +|[Sparkfun BlueSMiRF Silver](https://www.sparkfun.com/products/12577)|Roving Networks RN-42|Bluetooth 2.1 *"Classic"* |UART |`BLUETOOTH_DRIVER = rn42` |RN421| +|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633) |Raytac MDBT40-256RV3 |Bluettoth 4.1 BLE2|SPI |`BLUETOOTH_DRIVER = bluefruit_le`|nRF51822 | + +> 1 RN42 based are modules mostly retired or EOL as the BT2.1 spec is deprecated and withdrawn as of July 2020. +> +> 2 BLE is needed to connect to iOS devices. + +Not supported yet, but possible: + +* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). +* HC-05, HC-06 and HC-08 modules. +* Modules based on Nordic nRF51*, nRF52* and nRF53* SoC's - however in most cases one will also need to develop firmware for those modules. + +> **NOTE:** QMK does not currently support MCU sleep modes, and this may impact the longevity of battery based builds. + +## Driver configuration ### Adafruit BLE SPI Friend -Currently The only bluetooth chipset supported by QMK is the Adafruit Bluefruit SPI Friend. It's a Nordic nRF51822 based chip running Adafruit's custom firmware. Data is transmitted via Adafruit's SDEP over Hardware SPI. The [Feather 32u4 Bluefruit LE](https://www.adafruit.com/product/2829) is supported as it's an AVR mcu connected via SPI to the Nordic BLE chip with Adafruit firmware. If Building a custom board with the SPI friend it would be easiest to just use the pin selection that the 32u4 feather uses but you can change the pins in the config.h options with the following defines: -* `#define BLUEFRUIT_LE_RST_PIN D4` -* `#define BLUEFRUIT_LE_CS_PIN B4` -* `#define BLUEFRUIT_LE_IRQ_PIN E6` -A Bluefruit UART friend can be converted to an SPI friend, however this [requires](https://github.com/qmk/qmk_firmware/issues/2274) some reflashing and soldering directly to the MDBT40 chip. +To enable support for the Adafruit Bluefruit LE SPI Friend, add this to your `rules.mk` file: + +```make +NKRO_ENABLE = no # ** Required +BLUETOOTH_ENABLE = yes +BLUETOOTH_DRIVER = bluefruit_le +``` + +> ** This module does no support [N-Key Rollover (NKRO)](reference_glossary.md#n-key-rollover-nkro); + +The Adafruit Bluefruit SPI Friend is a module based on the MDBT30 module, using a Nordic nRF51822 chip, and is flashed with Adafruit's custom firmware that using AT Command sets. +Data is transmitted via Adafruit's [SDEP](https://learn.adafruit.com/introducing-the-adafruit-bluefruit-spi-breakout/sdep-spi-data-transport) data packets. + +#### SPI Configuration + +QMK’s `spi_master` must already be correctly configured for the platform you’re building for. +In addition, you will also need to define the following items in `config.h``: + +| Variable | Description | Default | +|------------------------|-------------------------------------------|---------| +| `BLUEFRUIT_LE_RST_PIN` | Used to perform a reset on initialization | D4 | +| `BLUEFRUIT_LE_CS_PIN` | SPI SS/CI "Chip Select" pin | B4 | +| `BLUEFRUIT_LE_IRQ_PIN` | Module Interrupt Request pin | E6 | + +> Defaults are based on the [Adafruit Feather 32u4 Bluefruit](https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/overview). + +## Keycodes + +The following keycodes will allow you change the output selector for the keyboard. +This allows for switching between USB and Bluetooth on keyboards that support both. + +| Key | Aliases | Description | +|---------------------|---------|----------------------------------------------------------| +|`QK_OUTPUT_AUTO` |`OU_AUTO`|Automatically switch between USB and Bluetooth *(Default)*| +|`QK_OUTPUT_USB` |`OU_USB` |USB only | +|`QK_OUTPUT_BLUETOOTH`|`OU_BT` |Bluetooth only | + +## Output Interface Selection + +The above keycodes will in turn call the output selector API to direct all key, mouse, consumer, and system output events to the selected interface: + +```c +send_output_t set_send_output(send_output_t send_output); +send_output_t get_send_output(void); +``` + +The *`send_output`* variable should be one of: + +```c +enum send_output_t { + SEND_OUTPUT_AUTO, // Selection is USB if USB cable connected, else is Bluetooth is Bluetooth is connected. (Default) + SEND_OUTPUT_NONE, // No output is sent. + SEND_OUTPUT_USB, // Output is always USB. + SEND_OUTPUT_BLUETOOTH, // Output is always Bluetooth. + SEND_OUTPUT_BOTH // Output is sent to both USb and Bluetooth (used for testing). +}; +``` + +You can change the initial state with the following define in the `config.h` file: - -## Bluetooth Rules.mk Options +```c +#define SEND_OUTPUT_DEFAULT SEND_OUTPUT_AUTO +``` -The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](reference_glossary.md#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`. +Vendor and keymap code can also use the keyboard-level and user-level (to either perform ancillary functions on the setting, or overrode the setting) by creating the following functions in the `kb_name.c` or the `keymap.c` files: -Add the following to your `rules.mk`: +```c +send_output_t set_send_output_kb(send_output_t send_output); // kb-level function usually in the `kb_name.c file`. Should also call `set_send_output_user`. +send_output_t set_send_output_user(send_output_t send_output); // user-level function usually in `keymap.c` file. +``` + +## Bluetooth Driver API + +### Custom Bluetooth Driver + +You can create your own Bluetooth driver (or for that matter any alternate output interface) with the `bluetooth_driver` variable, and the `bluetooth_driver_t` struct. + +Then, to enable a custom Bluetooth driver add this to your `rules.mk` file: ```make BLUETOOTH_ENABLE = yes -BLUETOOTH_DRIVER = bluefruit_le # or rn42 +BLUETOOTH_DRIVER = custom +``` + +#### Example + +You create your own Bluetooth driver by creating compliant functions and referencing these with within the `bluetooth_driver` variable. + +In your `kb_name.c` file, create that variable as such: + +```c +const bluetooth_driver_t bluetooth_driver = { + .init = xyz_bt_init, + .task = xyz_bt_task, // Optional + .is_connected = xyz_bt_is_connected, // Optional + .send_keyboard = xyz_bt_send_keyboard, + .send_mouse = xyz_bt_send_mouse, + .send_consumer = xyz_bt_send_consumer, + .send_system = xyz_bt_send_system, // Optional +}; ``` -## Bluetooth Keycodes +> *Optional* items can be set to `NULL`. + +Then code for the following functions: + +```c +/* Initialize the Bluetooth system. */ +void xyz_bt_init(void) {} -This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both. +/* Perform housekeeping tasks. Called every loop. (Optional) */ +void xyz_bt_task(void) {} -|Key |Aliases |Description | -|---------------------|---------|----------------------------------------------| -|`QK_OUTPUT_AUTO` |`OU_AUTO`|Automatically switch between USB and Bluetooth| -|`QK_OUTPUT_USB` |`OU_USB` |USB only | -|`QK_OUTPUT_BLUETOOTH`|`OU_BT` |Bluetooth only | +/* Detects if BT is connected, also used by `SEND_OUTPUT_AUTO`. (Optional) */ +bool xyz_bt_is_connected(void) {} + +/* Send a keyboard report. */ +void xyz_bt_send_keyboard(report_keyboard_t *report) {} + +/* Send a mouse report. */ +void xyz_bt_send_mouse(report_mouse_t *report) {} + +/* Send a consumer usage. */ +void xyz_bt_send_consumer(uint16_t usage) {} + +/* Send a system usage. (Optional) */ +void xyz_bt_send_system(uint16_t usage) {} +``` diff --git a/docs/feature_converters.md b/docs/feature_converters.md index 11bdbed576b5..62c214e2462c 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -19,6 +19,7 @@ The following converters are available at this time: | `promicro` | `elite_pi` | | `promicro` | `helios` | | `promicro` | `liatris` | +| `promicro` | `imera` | | `promicro` | `michi` | | `elite_c` | `stemcell` | | `elite_c` | `rp2040_ce` | @@ -82,6 +83,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co | [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | | [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | | [Liatris](https://splitkb.com/products/liatris) | `liatris` | +| [Imera](https://splitkb.com/products/imera) | `imera` | | [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` | Converter summary: @@ -99,6 +101,7 @@ Converter summary: | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | | `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | | `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` | +| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` | | `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` | ### Proton C :id=proton_c diff --git a/docs/feature_dip_switch.md b/docs/feature_dip_switch.md index 6fbe91657d50..0e31f5acae83 100644 --- a/docs/feature_dip_switch.md +++ b/docs/feature_dip_switch.md @@ -20,6 +20,27 @@ or #define DIP_SWITCH_MATRIX_GRID { {0,6}, {1,6}, {2,6} } // List of row and col pairs ``` +## DIP Switch map :id=dip-switch-map + +DIP Switch mapping may be added to your `keymap.c`, which replicates the normal keyswitch functionality, but with dip switches. Add this to your keymap's `rules.mk`: + +```make +DIP_SWITCH_MAP_ENABLE = yes +``` + +Your `keymap.c` will then need a dip switch mapping defined (for two dip switches): + +```c +#if defined(DIP_SWITCH_MAP_ENABLE) +const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { + DIP_SWITCH_OFF_ON(DF(0), DF(1)), + DIP_SWITCH_OFF_ON(EC_NORM, EC_SWAP) +}; +#endif +``` + +?> This should only be enabled at the keymap level. + ## Callbacks The callback functions can be inserted into your `.c`: diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index b1ce09d34946..9b23ce888443 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -54,7 +54,7 @@ For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either Define these arrays listing all the LEDs in your `.c`: ```c -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -357,7 +357,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ ```c #define LED_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define LED_MATRIX_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off -#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define LED_MATRIX_SLEEP // turn off effects when suspended #define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs diff --git a/docs/feature_macros.md b/docs/feature_macros.md index c7d6c1a918a5..f0533f14fef9 100644 --- a/docs/feature_macros.md +++ b/docs/feature_macros.md @@ -69,9 +69,9 @@ The current list of available languages is: | **italian_osx_iso** | **jis** | **latvian** | **lithuanian_azerty** | | **lithuanian_qwerty** | **norman** | **norwegian** | **portuguese** | | **portuguese_osx_iso** | **romanian** | **serbian_latin** | **slovak** | -| **slovenian** | **spanish_dvorak** | **spanish** | **swedish** | -| **turkish_f** | **turkish_q** | **uk** | **us_international** | -| **workman** | **workman_zxcvm** | +| **slovenian** | **spanish_dvorak** | **spanish_latin_america** | **spanish** | +| **swedish** | **turkish_f** | **turkish_q** | **uk** | +| **us_international** | **workman** | **workman_zxcvm** | ### Macro Basics diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 0ac0069ff8b6..6fddf1fddab6 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -69,10 +69,29 @@ The Analog Joystick is an analog (ADC) driven sensor. There are a variety of jo | `ANALOG_JOYSTICK_Y_AXIS_PIN` | (Required) The pin used for the horizontal/Y axis. | _not defined_ | | `ANALOG_JOYSTICK_AXIS_MIN` | (Optional) Sets the lower range to be considered movement. | `0` | | `ANALOG_JOYSTICK_AXIS_MAX` | (Optional) Sets the upper range to be considered movement. | `1023` | +| `ANALOG_JOYSTICK_AUTO_AXIS` | (Optional) Sets ranges to be considered movement automatically. | _not defined_ | | `ANALOG_JOYSTICK_SPEED_REGULATOR` | (Optional) The divisor used to slow down movement. (lower makes it faster) | `20` | | `ANALOG_JOYSTICK_READ_INTERVAL` | (Optional) The interval in milliseconds between reads. | `10` | | `ANALOG_JOYSTICK_SPEED_MAX` | (Optional) The maximum value used for motion. | `2` | | `ANALOG_JOYSTICK_CLICK_PIN` | (Optional) The pin wired up to the press switch of the analog stick. | _not defined_ | +| `ANALOG_JOYSTICK_WEIGHTS` | (Optional) Use custom weights for lever positions. | _not defined_ | +| `ANALOG_JOYSTICK_CUTOFF` | (Optional) Cut off movement when joystick returns to start position. | _not defined_ | + +If `ANALOG_JOYSTICK_AUTO_AXIS` is used, then `ANALOG_JOYSTICK_AXIS_MIN` and `ANALOG_JOYSTICK_AXIS_MAX` are ignored. + +By default analog joystick implementation uses `x^2` weighting for lever positions. `ANALOG_JOYSTICK_WEIGHTS` allows to experiment with different configurations that might feel better. + +E.g. This is weights for `((x-0.4)^3+0.064)/0.282`: + +```c +#define ANALOG_JOYSTICK_WEIGHTS {0,2,4,5,7,8,9,10,12,13,14,15,15,16,17,18,18,19,19,20,20,21,21,21,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,25,25,25,26,26,26,27,28,28,29,29,30,31,32,33,34,35,36,37,38,40,41,43,44,46,48,49,51,53,56,58,60,62,65,68,70,73,76,79,82,85,89,92,96,100} +``` + +You can use following JS code to generate weights for different formulas: + +```js +JSON.stringify(Array.from(Array(101).keys()).map(x => Math.ceil((((x/100-0.4)**3+0.064)/0.282*100)))) +``` ### Azoteq IQS5XX Trackpad @@ -158,12 +177,13 @@ This supports the Cirque Pinnacle 1CA027 Touch Controller, which is used in the #### Common settings -| Setting | Description | Default | -| -------------------------------- | ---------------------------------------------------------- | ------------------------------------------- | -| `CIRQUE_PINNACLE_DIAMETER_MM` | (Optional) Diameter of the trackpad sensor in millimeters. | `40` | -| `CIRQUE_PINNACLE_ATTENUATION` | (Optional) Sets the attenuation of the sensor data. | `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_4X` | -| `CIRQUE_PINNACLE_CURVED_OVERLAY` | (Optional) Applies settings tuned for curved overlay. | _not defined_ | -| `CIRQUE_PINNACLE_POSITION_MODE` | (Optional) Mode of operation. | _not defined_ | +| Setting | Description | Default | +| ------------------------------------ | ---------------------------------------------------------- | ------------------------------------------- | +| `CIRQUE_PINNACLE_DIAMETER_MM` | (Optional) Diameter of the trackpad sensor in millimeters. | `40` | +| `CIRQUE_PINNACLE_ATTENUATION` | (Optional) Sets the attenuation of the sensor data. | `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_4X` | +| `CIRQUE_PINNACLE_CURVED_OVERLAY` | (Optional) Applies settings tuned for curved overlay. | _not defined_ | +| `CIRQUE_PINNACLE_POSITION_MODE` | (Optional) Mode of operation. | _not defined_ | +| `CIRQUE_PINNACLE_SKIP_SENSOR_CHECK` | (Optional) Skips sensor presence check | _not defined_ | **`CIRQUE_PINNACLE_ATTENUATION`** is a measure of how much data is suppressed in regards to sensitivity. The higher the attenuation, the less sensitive the touchpad will be. diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 824ff50648a2..5a67f64c1b58 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -55,7 +55,7 @@ For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either Define these arrays listing all the LEDs in your `.c`: ```c -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -139,7 +139,7 @@ Currently only 4 drivers are supported, but it would be trivial to support all 8 Define these arrays listing all the LEDs in your `.c`: ```c -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -218,7 +218,7 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const is31fl3736_led_t PROGMEM g_is31fl3736_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -292,7 +292,7 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -501,7 +501,7 @@ Here is an example using 2 drivers. Define these arrays listing all the LEDs in your `.c`: ```c -const aw20216s_led_t PROGMEM g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Each AW20216S channel is controlled by a register at some offset between 0x00 * and 0xD7 inclusive. * See drivers/led/aw20216s.h for the mapping between register offsets and @@ -869,7 +869,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master ```c #define RGB_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 8a64454b0db5..b7ba0757317b 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -33,13 +33,13 @@ RGBLIGHT_DRIVER = apa102 At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these. -|Define |Description | -|---------------|-------------------------------------------------------------------------| -|`WS2812_DI_PIN`|The pin connected to the data pin of the LEDs (WS2812) | -|`APA102_DI_PIN`|The pin connected to the data pin of the LEDs (APA102) | -|`APA102_CI_PIN`|The pin connected to the clock pin of the LEDs (APA102) | -|`RGBLED_NUM` |The number of LEDs connected | -|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half| +|Define |Description | +|--------------------|-------------------------------------------------------------------------| +|`WS2812_DI_PIN` |The pin connected to the data pin of the LEDs (WS2812) | +|`APA102_DI_PIN` |The pin connected to the data pin of the LEDs (APA102) | +|`APA102_CI_PIN` |The pin connected to the clock pin of the LEDs (APA102) | +|`RGBLIGHT_LED_COUNT`|The number of LEDs connected | +|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half| Then you should be able to use the keycodes below to change the RGB lighting to your liking. @@ -152,28 +152,28 @@ Use these defines to add or remove animations from the firmware. When you are ru The following options are used to tweak the various animations: -|Define |Default |Description | -|------------------------------------|-------------|-----------------------------------------------------------------------------------------------| -|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined*|If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 | -|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 | -|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`40` |How long (in milliseconds) to wait between animation steps for the "Christmas" animation | -|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation | -|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel | -|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation | -|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by | -|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls | -|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation | -|`RGBLIGHT_EFFECT_TWINKLE_LIFE` |`200` |Adjusts how quickly each LED brightens and dims when twinkling (in animation steps) | -|`RGBLIGHT_EFFECT_TWINKLE_PROBABILITY`|`1/127` |Adjusts how likely each LED is to twinkle (on each animation step) | +|Define |Default |Description | +|------------------------------------|--------------------|-----------------------------------------------------------------------------------------------| +|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined* |If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 | +|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 | +|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`40` |How long (in milliseconds) to wait between animation steps for the "Christmas" animation | +|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation | +|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLIGHT_LED_COUNT`|The number of LEDs to have the "Knight" animation travel | +|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation | +|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by | +|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls | +|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation | +|`RGBLIGHT_EFFECT_TWINKLE_LIFE` |`200` |Adjusts how quickly each LED brightens and dims when twinkling (in animation steps) | +|`RGBLIGHT_EFFECT_TWINKLE_PROBABILITY`|`1/127` |Adjusts how likely each LED is to twinkle (on each animation step) | ### Example Usage to Reduce Memory Footprint 1. Use `#undef` to selectively disable animations. The following would disable two animations and save about 4KiB: ```diff - #undef RGBLED_NUM + #undef RGBLIGHT_LED_COUNT +#undef RGBLIGHT_EFFECT_STATIC_GRADIENT +#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLED_NUM 12 + #define RGBLIGHT_LED_COUNT 12 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 ``` @@ -386,10 +386,10 @@ rgblight_set(); // Utility functions do not call rgblight_set() automatically, s #### direct operation |Function |Description | |--------------------------------------------|-------------| -|`rgblight_setrgb_at(r, g, b, index)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) | -|`rgblight_sethsv_at(h, s, v, index)` |Set a single LED to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) | -|`rgblight_setrgb_range(r, g, b, start, end)`|Set a continuous range of LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)| -|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)| +|`rgblight_setrgb_at(r, g, b, index)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `index` is between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM) | +|`rgblight_sethsv_at(h, s, v, index)` |Set a single LED to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `index` is between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM) | +|`rgblight_setrgb_range(r, g, b, start, end)`|Set a continuous range of LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `start`(included) and `stop`(excluded) are between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM)| +|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLIGHT_LED_COUNT` (not written to EEPROM)| |`rgblight_setrgb(r, g, b)` |Set effect range LEDs to the given RGB value where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) | |`rgblight_setrgb_master(r, g, b)` |Set the LEDs on the master side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) | |`rgblight_setrgb_slave(r, g, b)` |Set the LEDs on the slave side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) | @@ -519,7 +519,7 @@ By defining `RGBLIGHT_LED_MAP` as in the example below, you can specify the LED ```c // config.h -#define RGBLED_NUM 4 +#define RGBLIGHT_LED_COUNT 4 #define RGBLIGHT_LED_MAP { 3, 2, 1, 0 } ``` @@ -541,7 +541,7 @@ In addition to setting the Clipping Range, you can use `RGBLIGHT_LED_MAP` togeth ```c // config.h -#define RGBLED_NUM 8 +#define RGBLIGHT_LED_COUNT 8 #define RGBLIGHT_LED_MAP { 7, 6, 5, 4, 3, 2, 1, 0 } // some source diff --git a/docs/hardware_drivers.md b/docs/hardware_drivers.md index a157501326db..f0fb1069948f 100644 --- a/docs/hardware_drivers.md +++ b/docs/hardware_drivers.md @@ -33,3 +33,7 @@ Support for up to a single driver with room for expansion. Each driver can contr ## 24xx series external I2C EEPROM Support for an external I2C-based EEPROM instead of using the on-chip EEPROM. For more information on how to setup the driver see the [EEPROM Driver](eeprom_driver.md) page. + +## BlueFruit LE SPI + +Support for Bluetooth is provided by the inclusion of the BlueFruit LE SPI module driver. For more information on how to setup the driver see the [Bluetooth](feature_bluetooth.md) page. diff --git a/docs/hardware_keyboard_guidelines.md b/docs/hardware_keyboard_guidelines.md index fb434e157652..684ccc73f681 100644 --- a/docs/hardware_keyboard_guidelines.md +++ b/docs/hardware_keyboard_guidelines.md @@ -169,11 +169,11 @@ The `post_rules.mk` file can interpret `features` of a keyboard-level before `co ifeq ($(strip $(RGBLED_OPTION_TYPE)),backlight) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_NUM=30 + OPT_DEFS += -DRGBLIGHT_LED_COUNT=30 endif ifeq ($(strip $(RGBLED_OPTION_TYPE)),underglow) RGBLIGHT_ENABLE = yes - OPT_DEFS += -DRGBLED_NUM=6 + OPT_DEFS += -DRGBLIGHT_LED_COUNT=6 endif ``` diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 181abf8bb37b..dc855b1bf67f 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -19,18 +19,20 @@ The QMK CLI can be used to convert from normal images such as PNG files or anima Supported devices: -| Display Panel | Panel Type | Size | Comms Transport | Driver | -|---------------|--------------------|------------------|-----------------|------------------------------------------| -| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` | -| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` | -| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` | -| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` | -| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` | -| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` | -| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` | -| SH1106 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` | -| SH1106 (I2C) | Monochrome OLED | 128x64 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` | -| Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += surface` | +| Display Panel | Panel Type | Size | Comms Transport | Driver | +|----------------|--------------------|------------------|-----------------|------------------------------------------| +| GC9A01 | RGB LCD (circular) | 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += gc9a01_spi` | +| ILI9163 | RGB LCD | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9163_spi` | +| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` | +| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` | +| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` | +| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` | +| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` | +| SH1106 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` | +| SH1106 (I2C) | Monochrome OLED | 128x64 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` | +| SSD1306 (SPI) | Monochrome OLED | 128x64 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += sh1106_spi` | +| SSD1306 (I2C) | Monochrome OLED | 128x32 | I2C | `QUANTUM_PAINTER_DRIVERS += sh1106_i2c` | +| Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += surface` | ## Quantum Painter Configuration :id=quantum-painter-config @@ -433,6 +435,10 @@ The maximum number of displays of each type can be configured by changing the fo Native color format mono2 is compatible with SH1106 +#### ** SSD1306 ** + +SSD1306 and SH1106 are almost entirely identical, to the point of being indisinguishable by Quantum Painter. Enable SH1106 support in Quantum Painter and create SH1106 devices in firmware to perform drawing operations on SSD1306 displays. + ### ** Surface ** diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index 84751a512ccd..0a51c85853ae 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -67,6 +67,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q |Slovenian |`keymap_slovenian.h` |`sendstring_slovenian.h` | |Spanish |`keymap_spanish.h` |`sendstring_spanish.h` | |Spanish (Dvorak) |`keymap_spanish_dvorak.h` |`sendstring_spanish_dvorak.h` | +|Spanish (Latin America) |`keymap_spanish_latin_america.h` |`sendstring_spanish_latin_america.h`| |Swedish |`keymap_swedish.h` |`sendstring_swedish.h` | |Swedish (macOS, ANSI) |`keymap_swedish_mac_ansi.h` | | |Swedish (macOS, ISO) |`keymap_swedish_mac_iso.h` | | diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index af015b4b18a1..c3b9e5595e11 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -210,6 +210,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers: * [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) * [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop) * [Liatris](https://splitkb.com/products/liatris) +* [Imera](https://splitkb.com/products/imera) * [Michi](https://github.com/ci-bus/michi-promicro-rp2040) There are other, non-Pro Micro compatible boards out there. The most popular being: diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le_spi.cpp similarity index 100% rename from drivers/bluetooth/bluefruit_le.cpp rename to drivers/bluetooth/bluefruit_le_spi.cpp diff --git a/drivers/bluetooth/bluetooth.c b/drivers/bluetooth/bluetooth.c index d5382401e7e5..d492baec4c36 100644 --- a/drivers/bluetooth/bluetooth.c +++ b/drivers/bluetooth/bluetooth.c @@ -1,5 +1,5 @@ /* - * Copyright 2022 + * Copyright 2024 * * 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 @@ -15,48 +15,79 @@ * along with this program. If not, see . */ +#include +#include #include "bluetooth.h" +#include "usb_util.h" -#if defined(BLUETOOTH_BLUEFRUIT_LE) -# include "bluefruit_le.h" -#elif defined(BLUETOOTH_RN42) -# include "rn42.h" -#endif +/* Each driver needs to define the struct + * const rgb_matrix_driver_t rgb_matrix_driver; + * All members (except `task`, `is_connected` and `send_system`) must be provided. + * Keyboard custom drivers can define this in their own files, it should only + * be here if shared between boards. + */ -void bluetooth_init(void) { #if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_init(); +const bluetooth_driver_t bluetooth_driver = { + .init = bluefruit_le_init, + .task = bluefruit_le_task, + .is_connected = bluefruit_le_is_connected, + .send_keyboard = bluefruit_le_send_keyboard, + .send_mouse = bluefruit_le_send_mouse, + .send_consumer = bluefruit_le_send_consumer, + .send_system = NULL, +}; +# ifdef ENABLE_NKRO +# error BlueFruit LE does not support NKRO, do not declare `ENABLE_NKRO` +# endif + #elif defined(BLUETOOTH_RN42) - rn42_init(); +const bluetooth_driver_t bluetooth_driver = { + .init = rn42_init, + .task = NULL, + .is_connected = NULL, + .send_keyboard = rn42_send_keyboard, + .send_mouse = rn42_send_mouse, + .send_consumer = rn42_send_consumer, + .send_system = NULL, +}; +# ifdef ENABLE_NKRO +# error RN42 does not support NKRO, do not declare `ENABLE_NKRO` +# endif + #endif -} -void bluetooth_task(void) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_task(); +#ifndef SEND_OUTPUT_DEFAULT +# define SEND_OUTPUT_DEFAULT SEND_OUTPUT_AUTO #endif + +send_output_t desired_send_output = SEND_OUTPUT_DEFAULT; + +send_output_t set_send_output(send_output_t send_output) { + desired_send_output = set_send_output_kb(send_output); + return desired_send_output; } -void bluetooth_send_keyboard(report_keyboard_t *report) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_keyboard(report); -#elif defined(BLUETOOTH_RN42) - rn42_send_keyboard(report); -#endif +__attribute__((weak)) send_output_t set_send_output_kb(send_output_t send_output) { + return set_send_output_user(send_output); } -void bluetooth_send_mouse(report_mouse_t *report) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_mouse(report); -#elif defined(BLUETOOTH_RN42) - rn42_send_mouse(report); -#endif +__attribute__((weak)) send_output_t set_send_output_user(send_output_t send_output) { + return send_output; } -void bluetooth_send_consumer(uint16_t usage) { -#if defined(BLUETOOTH_BLUEFRUIT_LE) - bluefruit_le_send_consumer(usage); -#elif defined(BLUETOOTH_RN42) - rn42_send_consumer(usage); -#endif +send_output_t get_send_output(void) { + if (desired_send_output == SEND_OUTPUT_AUTO) { + // only if USB is **disconnected** + if (usb_connected_state()) { + return SEND_OUTPUT_USB; + } + if ((NULL != bluetooth_driver.is_connected) && (bluetooth_driver.is_connected())) { + return SEND_OUTPUT_BLUETOOTH; + } else { + return SEND_OUTPUT_NONE; + } + } else { + return desired_send_output; + } } diff --git a/drivers/bluetooth/bluetooth.h b/drivers/bluetooth/bluetooth.h index 2e4d0df5381a..32d523e9c59a 100644 --- a/drivers/bluetooth/bluetooth.h +++ b/drivers/bluetooth/bluetooth.h @@ -1,5 +1,5 @@ /* - * Copyright 2022 + * Copyright 2024 * * 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 @@ -18,35 +18,58 @@ #pragma once #include +#include #include "report.h" -/** - * \brief Initialize the Bluetooth system. - */ -void bluetooth_init(void); +#if defined(BLUETOOTH_BLUEFRUIT_LE) +# include "bluefruit_le.h" +#elif defined(BLUETOOTH_RN42) +# include "rn42.h" +#endif -/** - * \brief Perform housekeeping tasks. - */ -void bluetooth_task(void); +// clang-format off -/** - * \brief Send a keyboard report. - * - * \param report The keyboard report to send. - */ -void bluetooth_send_keyboard(report_keyboard_t *report); +typedef enum send_output_t { + SEND_OUTPUT_AUTO, + SEND_OUTPUT_NONE, + SEND_OUTPUT_USB, + SEND_OUTPUT_BLUETOOTH, + SEND_OUTPUT_BOTH +} send_output_t; -/** - * \brief Send a mouse report. - * - * \param report The mouse report to send. - */ -void bluetooth_send_mouse(report_mouse_t *report); +// clang-format on -/** - * \brief Send a consumer usage. - * - * \param usage The consumer usage to send. - */ -void bluetooth_send_consumer(uint16_t usage); +typedef struct { + /* Initialize the Bluetooth system. */ + void (*init)(void); + + /* Perform housekeeping tasks. (Optional) */ + void (*task)(void); + + /* Detects if BT is connected, also used by `SEND_OUTPUT_AUTO`. (Optional) */ + bool (*is_connected)(void); + + /* Send a keyboard report. */ + void (*send_keyboard)(report_keyboard_t *report); + +#ifdef NKRO_ENABLE + /* Send a NKRO report. (Optional & dependant on `NKRO_ENABLE` ) */ + void (*send_nkro)(report_keyboard_t *report); +#endif + + /* Send a mouse report. */ + void (*send_mouse)(report_mouse_t *report); + + /* Send a consumer usage. */ + void (*send_consumer)(uint16_t usage); + + /* Send a system usage. (Optional) */ + void (*send_system)(uint16_t usage); +} bluetooth_driver_t; + +send_output_t set_send_output(send_output_t send_output); +send_output_t set_send_output_kb(send_output_t send_output); +send_output_t set_send_output_user(send_output_t send_output); +send_output_t get_send_output(void); + +extern const bluetooth_driver_t bluetooth_driver; diff --git a/drivers/bluetooth/bluetooth_legacy.c b/drivers/bluetooth/bluetooth_legacy.c new file mode 100644 index 000000000000..891ccceecfa9 --- /dev/null +++ b/drivers/bluetooth/bluetooth_legacy.c @@ -0,0 +1,58 @@ +/* + * Copyright 2022 + * + * 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 . + */ + +/** DEPRECATED: Provided for backward compatibility */ + +#include +#include "bluetooth.h" +#include "bluetooth_legacy.h" + +__attribute__((weak)) void bluetooth_init(void) { + bluetooth_driver.init(); +} + +__attribute__((weak)) void bluetooth_task(void) { + if (NULL != bluetooth_driver.task) { + bluetooth_driver.task(); + } +} + +__attribute__((weak)) void bluetooth_send_keyboard(report_keyboard_t *report) { + bluetooth_driver.send_keyboard(report); +} + +#ifdef NKRO_ENABLE +__attribute__((weak)) void bluetooth_send_nkro(report_keyboard_t *report) { + if (NULL != bluetooth_driver.send_nkro) { + bluetooth_driver.send_nkro(report); + } +} +#endif + +__attribute__((weak)) void bluetooth_send_mouse(report_mouse_t *report) { + bluetooth_driver.send_mouse(report); +} + +__attribute__((weak)) void bluetooth_send_consumer(uint16_t usage) { + bluetooth_driver.send_consumer(usage); +} + +__attribute__((weak)) void bluetooth_send_system(uint16_t usage) { + if (NULL != bluetooth_driver.send_system) { + bluetooth_driver.send_system(usage); + } +} diff --git a/drivers/bluetooth/bluetooth_legacy.h b/drivers/bluetooth/bluetooth_legacy.h new file mode 100644 index 000000000000..ba5837255278 --- /dev/null +++ b/drivers/bluetooth/bluetooth_legacy.h @@ -0,0 +1,56 @@ +/* + * Copyright 2022 + * + * 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 . + */ + +/** DEPRECATED: Provided for backward compatibility */ + +#pragma once + +#pragma message "`bluetooth.h` is deprecated" + +#include +#include "report.h" + +/** + * \brief Initialize the Bluetooth system. + */ +void bluetooth_init(void); + +/** + * \brief Perform housekeeping tasks. + */ +void bluetooth_task(void); + +/** + * \brief Send a keyboard report. + * + * \param report The keyboard report to send. + */ +void bluetooth_send_keyboard(report_keyboard_t *report); + +/** + * \brief Send a mouse report. + * + * \param report The mouse report to send. + */ +void bluetooth_send_mouse(report_mouse_t *report); + +/** + * \brief Send a consumer usage. + * + * \param usage The consumer usage to send. + */ +void bluetooth_send_consumer(uint16_t usage); diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c deleted file mode 100644 index b986ba274e9d..000000000000 --- a/drivers/bluetooth/outputselect.c +++ /dev/null @@ -1,70 +0,0 @@ -/* -Copyright 2017 Priyadi Iman Nurcahyo -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include "outputselect.h" -#include "usb_util.h" - -#ifdef BLUETOOTH_BLUEFRUIT_LE -# include "bluefruit_le.h" -#endif - -uint8_t desired_output = OUTPUT_DEFAULT; - -/** \brief Set Output - * - * FIXME: Needs doc - */ -void set_output(uint8_t output) { - set_output_user(output); - desired_output = output; -} - -/** \brief Set Output User - * - * FIXME: Needs doc - */ -__attribute__((weak)) void set_output_user(uint8_t output) {} - -/** \brief Auto Detect Output - * - * FIXME: Needs doc - */ -uint8_t auto_detect_output(void) { - if (usb_connected_state()) { - return OUTPUT_USB; - } - -#ifdef BLUETOOTH_BLUEFRUIT_LE - if (bluefruit_le_is_connected()) { - return OUTPUT_BLUETOOTH; - } -#endif - -#ifdef BLUETOOTH_ENABLE - return OUTPUT_BLUETOOTH; // should check if BT is connected here -#endif - - return OUTPUT_NONE; -} - -/** \brief Where To Send - * - * FIXME: Needs doc - */ -uint8_t where_to_send(void) { - if (desired_output == OUTPUT_AUTO) { - return auto_detect_output(); - } - return desired_output; -} diff --git a/drivers/bluetooth/outputselect.h b/drivers/bluetooth/outputselect.h deleted file mode 100644 index c4548e1122ad..000000000000 --- a/drivers/bluetooth/outputselect.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright 2017 Priyadi Iman Nurcahyo -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 - -enum outputs { - OUTPUT_AUTO, - - OUTPUT_NONE, - OUTPUT_USB, - OUTPUT_BLUETOOTH -}; - -#ifndef OUTPUT_DEFAULT -# define OUTPUT_DEFAULT OUTPUT_AUTO -#endif - -void set_output(uint8_t output); -void set_output_user(uint8_t output); -uint8_t auto_detect_output(void); -uint8_t where_to_send(void); diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 527519eb8a95..4d8f69cdcd08 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -71,11 +71,6 @@ void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) { apa102_end_frame(num_leds); } -// Overwrite the default rgblight_call_driver to use apa102 driver -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { - apa102_setleds(start_led, num_leds); -} - void static apa102_init(void) { setPinOutput(APA102_DI_PIN); setPinOutput(APA102_CI_PIN); diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h index cd0a19d44547..e3b269883df5 100644 --- a/drivers/led/apa102.h +++ b/drivers/led/apa102.h @@ -19,6 +19,12 @@ #include "color.h" +#if defined(RGBLIGHT_APA102) +# define APA102_LED_COUNT RGBLIGHT_LED_COUNT +#elif defined(RGB_MATRIX_APA102) +# define APA102_LED_COUNT RGB_MATRIX_LED_COUNT +#endif + #ifndef APA102_DEFAULT_BRIGHTNESS # define APA102_DEFAULT_BRIGHTNESS 31 #endif diff --git a/drivers/led/issi/is31fl3218-simple.c b/drivers/led/issi/is31fl3218-simple.c index ce28c51d189f..d9faa8677db8 100644 --- a/drivers/led/issi/is31fl3218-simple.c +++ b/drivers/led/issi/is31fl3218-simple.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#include "is31fl3218.h" +#include "is31fl3218-simple.h" #include #include "i2c_master.h" @@ -28,8 +28,7 @@ # define IS31FL3218_I2C_PERSISTENCE 0 #endif -// Reusable buffer for transfers -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining. uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT]; @@ -39,27 +38,27 @@ uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0}; bool g_led_control_registers_update_required = false; void is31fl3218_write_register(uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); #endif } void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { - g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); + i2c_transfer_buffer[0] = IS31FL3218_REG_PWM; + memcpy(i2c_transfer_buffer + 1, pwm_buffer, 18); #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); } #else - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); #endif } diff --git a/drivers/led/issi/is31fl3218-simple.h b/drivers/led/issi/is31fl3218-simple.h index 94928178092d..e0a71f138752 100644 --- a/drivers/led/issi/is31fl3218-simple.h +++ b/drivers/led/issi/is31fl3218-simple.h @@ -43,6 +43,8 @@ extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT]; void is31fl3218_init(void); +void is31fl3218_write_register(uint8_t reg, uint8_t data); + void is31fl3218_set_value(int index, uint8_t value); void is31fl3218_set_value_all(uint8_t value); diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c index 39db09d51864..9bfdc9c44dab 100644 --- a/drivers/led/issi/is31fl3218.c +++ b/drivers/led/issi/is31fl3218.c @@ -28,8 +28,7 @@ # define IS31FL3218_I2C_PERSISTENCE 0 #endif -// Reusable buffer for transfers -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // IS31FL3218 has 18 PWM outputs and a fixed I2C address, so no chaining. uint8_t g_pwm_buffer[IS31FL3218_PWM_REGISTER_COUNT]; @@ -39,27 +38,27 @@ uint8_t g_led_control_registers[IS31FL3218_LED_CONTROL_REGISTER_COUNT] = {0}; bool g_led_control_registers_update_required = false; void is31fl3218_write_register(uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 2, IS31FL3218_I2C_TIMEOUT); #endif } void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) { - g_twi_transfer_buffer[0] = IS31FL3218_REG_PWM; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); + i2c_transfer_buffer[0] = IS31FL3218_REG_PWM; + memcpy(i2c_transfer_buffer + 1, pwm_buffer, 18); #if IS31FL3218_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3218_I2C_PERSISTENCE; i++) { - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); } #else - i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, g_twi_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); + i2c_transmit(IS31FL3218_I2C_ADDRESS << 1, i2c_transfer_buffer, 19, IS31FL3218_I2C_TIMEOUT); #endif } diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h index ffa7f36d6159..13916ffaf1b2 100644 --- a/drivers/led/issi/is31fl3218.h +++ b/drivers/led/issi/is31fl3218.h @@ -45,6 +45,8 @@ extern const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT]; void is31fl3218_init(void); +void is31fl3218_write_register(uint8_t reg, uint8_t data); + void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index 8dbfc3cd31e1..14743717d41e 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -33,8 +33,7 @@ # define IS31FL3731_I2C_PERSISTENCE 0 #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. @@ -48,41 +47,45 @@ uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) { break; } } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); #endif } +void is31fl3731_select_page(uint8_t addr, uint8_t page) { + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, page); +} + void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes bank is already selected + // assumes page 0 is already selected // transmit PWM registers in 9 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { // set the first register, e.g. 0x24, 0x34, 0x44, etc. - g_twi_transfer_buffer[0] = 0x24 + i; + i2c_transfer_buffer[0] = 0x24 + i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); #endif } } @@ -123,8 +126,7 @@ void is31fl3731_init(uint8_t addr) { // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // select "function register" bank - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FUNCTION); // enable software shutdown is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00); @@ -142,8 +144,7 @@ void is31fl3731_init(uint8_t addr) { // audio sync off is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00); - // select bank 0 - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FRAME_1); // turn off all LEDs in the LED control register for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { @@ -160,16 +161,15 @@ void is31fl3731_init(uint8_t addr) { is31fl3731_write_register(addr, i, 0x00); } - // select "function register" bank - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FUNCTION); // disable software shutdown is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01); - // select bank 0 and leave it selected. - // most usage after initialization is just writing PWM buffers in bank 0 + // select page 0 and leave it selected. + // most usage after initialization is just writing PWM buffers in page 0 // as there's not much point in double-buffering - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FRAME_1); } void is31fl3731_set_value(int index, uint8_t value) { diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index 4d173847dd9d..ff970a3e5ea4 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -103,6 +103,7 @@ extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT]; void is31fl3731_init_drivers(void); void is31fl3731_init(uint8_t addr); void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_select_page(uint8_t addr, uint8_t page); void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3731_set_value(int index, uint8_t value); diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 1ab8997731f7..9a7d0b5ecabd 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -32,8 +32,7 @@ # define IS31FL3731_I2C_PERSISTENCE 0 #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3731 PWM registers 0x24-0xB3. // Storing them like this is optimal for I2C transfers to the registers. @@ -47,39 +46,43 @@ uint8_t g_led_control_registers[IS31FL3731_DRIVER_COUNT][IS31FL3731_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3731_DRIVER_COUNT] = {false}; void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3731_I2C_TIMEOUT); #endif } +void is31fl3731_select_page(uint8_t addr, uint8_t page) { + is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, page); +} + void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes bank is already selected + // assumes page 0 is already selected // transmit PWM registers in 9 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3731_PWM_REGISTER_COUNT; i += 16) { // set the first register, e.g. 0x24, 0x34, 0x44, etc. - g_twi_transfer_buffer[0] = 0x24 + i; + i2c_transfer_buffer[0] = 0x24 + i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x24-0x33, 0x34-0x43, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3731_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3731_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3731_I2C_TIMEOUT); #endif } } @@ -120,8 +123,7 @@ void is31fl3731_init(uint8_t addr) { // then set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // select "function register" bank - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FUNCTION); // enable software shutdown is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x00); @@ -139,8 +141,7 @@ void is31fl3731_init(uint8_t addr) { // audio sync off is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_AUDIO_SYNC, 0x00); - // select bank 0 - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FRAME_1); // turn off all LEDs in the LED control register for (int i = 0; i < IS31FL3731_LED_CONTROL_REGISTER_COUNT; i++) { @@ -157,16 +158,15 @@ void is31fl3731_init(uint8_t addr) { is31fl3731_write_register(addr, i, 0x00); } - // select "function register" bank - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FUNCTION); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FUNCTION); // disable software shutdown is31fl3731_write_register(addr, IS31FL3731_FUNCTION_REG_SHUTDOWN, 0x01); - // select bank 0 and leave it selected. - // most usage after initialization is just writing PWM buffers in bank 0 + // select page 0 and leave it selected. + // most usage after initialization is just writing PWM buffers in page 0 // as there's not much point in double-buffering - is31fl3731_write_register(addr, IS31FL3731_REG_COMMAND, IS31FL3731_COMMAND_FRAME_1); + is31fl3731_select_page(addr, IS31FL3731_COMMAND_FRAME_1); } void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index b45cb2b07dc8..f125fbc64fbd 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -104,6 +104,7 @@ extern const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT]; void is31fl3731_init_drivers(void); void is31fl3731_init(uint8_t addr); void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3731_select_page(uint8_t addr, uint8_t page); void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 9f2444c253a5..889d9ef389c7 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -43,7 +43,7 @@ #endif #ifndef IS31FL3733_CS_PULLDOWN -# define IS31FL3733_CSPULLDOWN IS31FL3733_PDR_0_OHM +# define IS31FL3733_CS_PULLDOWN IS31FL3733_PDR_0_OHM #endif #ifndef IS31FL3733_GLOBAL_CURRENT @@ -63,11 +63,10 @@ # define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3733 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3733_write_pwm_buffer() but it's @@ -80,45 +79,50 @@ bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif return true; } +void is31fl3733_select_page(uint8_t addr, uint8_t page) { + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, page); +} + bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assumes PG1 is already selected. + // Assumes page 1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif @@ -163,32 +167,23 @@ void is31fl3733_init(uint8_t addr, uint8_t sync) { // then disable software shutdown. // Sync is passed so set it according to the datasheet. - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - // Select PG1 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_FUNCTION); - // Select PG3 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -239,11 +234,9 @@ void is31fl3733_set_led_control_register(uint8_t index, bool value) { void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - // If any of the transactions fail we risk writing dirty PG0, + // If any of the transactions fail we risk writing dirty page 0, // refresh page 0 just in case. if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; @@ -254,9 +247,8 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index c37b1fe5f2c2..dcb33e448f66 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -117,6 +117,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT]; void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t addr, uint8_t sync); bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3733_select_page(uint8_t addr, uint8_t page); bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_value(int index, uint8_t value); diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index 5857a800d7e2..f7162a0ce53f 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -62,11 +62,10 @@ # define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3733 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3733_write_pwm_buffer() but it's @@ -79,45 +78,50 @@ bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif return true; } +void is31fl3733_select_page(uint8_t addr, uint8_t page) { + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, page); +} + bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assumes PG1 is already selected. + // Assumes page 1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif @@ -162,32 +166,23 @@ void is31fl3733_init(uint8_t addr, uint8_t sync) { // then disable software shutdown. // Sync is passed so set it according to the datasheet. - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - // Select PG1 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_FUNCTION); - // Select PG3 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3733_write_register(addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -254,11 +249,9 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1. - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_PWM); - // If any of the transactions fail we risk writing dirty PG0, + // If any of the transactions fail we risk writing dirty page 0, // refresh page 0 just in case. if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; @@ -269,9 +262,8 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); + is31fl3733_select_page(addr, IS31FL3733_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index 20804b016bd3..907b9669c685 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -142,6 +142,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT]; void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t addr, uint8_t sync); bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3733_select_page(uint8_t addr, uint8_t page); bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3736-simple.c b/drivers/led/issi/is31fl3736-simple.c index e1cce3c48a33..ac5e0fb4530e 100644 --- a/drivers/led/issi/is31fl3736-simple.c +++ b/drivers/led/issi/is31fl3736-simple.c @@ -47,11 +47,10 @@ # define IS31FL3736_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3736 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3736_write_pwm_buffer() but it's @@ -63,38 +62,43 @@ uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false}; void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); #endif } +void is31fl3736_select_page(uint8_t addr, uint8_t page) { + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, page); +} + void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes PG1 is already selected + // assumes page 1 is already selected // transmit PWM registers in 12 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); #endif } } @@ -135,32 +139,23 @@ void is31fl3736_init(uint8_t addr) { // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); - // Select PG1 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_FUNCTION); - // Select PG3 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -217,9 +212,7 @@ void is31fl3736_set_led_control_register(uint8_t index, bool value) { void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; @@ -228,9 +221,8 @@ void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3736-simple.h b/drivers/led/issi/is31fl3736-simple.h index a73a87254590..5e80eb646ab1 100644 --- a/drivers/led/issi/is31fl3736-simple.h +++ b/drivers/led/issi/is31fl3736-simple.h @@ -112,6 +112,7 @@ extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT]; void is31fl3736_init_drivers(void); void is31fl3736_init(uint8_t addr); void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3736_select_page(uint8_t addr, uint8_t page); void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3736_set_value(int index, uint8_t value); diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index 30ab796f3e35..0d7b08e7e881 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -47,11 +47,10 @@ # define IS31FL3736_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3736 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3736_write_pwm_buffer() but it's @@ -63,38 +62,43 @@ uint8_t g_led_control_registers[IS31FL3736_DRIVER_COUNT][IS31FL3736_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3736_DRIVER_COUNT] = {false}; void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3736_I2C_TIMEOUT); #endif } +void is31fl3736_select_page(uint8_t addr, uint8_t page) { + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, page); +} + void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes PG1 is already selected + // assumes page 1 is already selected // transmit PWM registers in 12 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3736_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3736_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3736_I2C_TIMEOUT); #endif } } @@ -135,32 +139,23 @@ void is31fl3736_init(uint8_t addr) { // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_REG_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITELOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); - // Select PG1 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3736_PWM_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_FUNCTION); - // Select PG3 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3736_write_register(addr, IS31FL3736_FUNCTION_REG_SW_PULLUP, IS31FL3736_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -234,9 +229,7 @@ void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_PWM); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_PWM); is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; @@ -245,9 +238,8 @@ void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND_WRITE_LOCK, IS31FL3736_COMMAND_WRITE_LOCK_MAGIC); - is31fl3736_write_register(addr, IS31FL3736_REG_COMMAND, IS31FL3736_COMMAND_LED_CONTROL); + is31fl3736_select_page(addr, IS31FL3736_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3736_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3736_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index a5710d7ed41e..5f0b11e46adf 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -126,6 +126,7 @@ extern const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT]; void is31fl3736_init_drivers(void); void is31fl3736_init(uint8_t addr); void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3736_select_page(uint8_t addr, uint8_t page); void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3737-simple.c b/drivers/led/issi/is31fl3737-simple.c index 7f641f4ca5d0..967a102b4861 100644 --- a/drivers/led/issi/is31fl3737-simple.c +++ b/drivers/led/issi/is31fl3737-simple.c @@ -49,11 +49,10 @@ # define IS31FL3737_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3737 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3737_write_pwm_buffer() but it's @@ -66,38 +65,43 @@ uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false}; void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); #endif } +void is31fl3737_select_page(uint8_t addr, uint8_t page) { + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, page); +} + void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes PG1 is already selected + // assumes page 1 is already selected // transmit PWM registers in 12 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); #endif } } @@ -138,32 +142,23 @@ void is31fl3737_init(uint8_t addr) { // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); - // Select PG1 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_FUNCTION); - // Select PG3 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -214,9 +209,7 @@ void is31fl3737_set_led_control_register(uint8_t index, bool value) { void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; @@ -225,9 +218,8 @@ void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3737-simple.h b/drivers/led/issi/is31fl3737-simple.h index 2658702b1b58..a11d2ef4234e 100644 --- a/drivers/led/issi/is31fl3737-simple.h +++ b/drivers/led/issi/is31fl3737-simple.h @@ -102,6 +102,7 @@ extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT]; void is31fl3737_init_drivers(void); void is31fl3737_init(uint8_t addr); void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3737_select_page(uint8_t addr, uint8_t page); void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3737_set_value(int index, uint8_t value); diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index a458431952cd..76d17c2b849e 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -49,11 +49,10 @@ # define IS31FL3737_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3737 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3737_write_pwm_buffer() but it's @@ -66,38 +65,43 @@ uint8_t g_led_control_registers[IS31FL3737_DRIVER_COUNT][IS31FL3737_LED_CONTROL_ bool g_led_control_registers_update_required[IS31FL3737_DRIVER_COUNT] = {false}; void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3737_I2C_TIMEOUT); #endif } +void is31fl3737_select_page(uint8_t addr, uint8_t page) { + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, page); +} + void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // assumes PG1 is already selected + // assumes page 1 is already selected // transmit PWM registers in 12 transfers of 16 bytes - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // iterate over the pwm_buffer contents at 16 byte intervals for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // copy the data from i to i+15 // device will auto-increment register for data after the first byte // thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 16); + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 16); #if IS31FL3737_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3737_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 17, IS31FL3737_I2C_TIMEOUT); #endif } } @@ -138,32 +142,23 @@ void is31fl3737_init(uint8_t addr) { // Set up the mode and other settings, clear the PWM registers, // then disable software shutdown. - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); - // Select PG1 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3737_PWM_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, 0x00); } - // Unlock the command register. - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_FUNCTION); - // Select PG3 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3737_write_register(addr, IS31FL3737_FUNCTION_REG_SW_PULLUP, IS31FL3737_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -230,9 +225,7 @@ void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_PWM); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_PWM); is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]); g_pwm_buffer_update_required[index] = false; @@ -241,9 +234,8 @@ void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND_WRITE_LOCK, IS31FL3737_COMMAND_WRITE_LOCK_MAGIC); - is31fl3737_write_register(addr, IS31FL3737_REG_COMMAND, IS31FL3737_COMMAND_LED_CONTROL); + is31fl3737_select_page(addr, IS31FL3737_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3737_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3737_write_register(addr, i, g_led_control_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index 8de3bf4ef52a..a707808b51fc 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -119,6 +119,7 @@ extern const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT]; void is31fl3737_init_drivers(void); void is31fl3737_init(uint8_t addr); void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3737_select_page(uint8_t addr, uint8_t page); void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31fl3741-simple.c b/drivers/led/issi/is31fl3741-simple.c index f7009853ba62..3e9b3d8b2527 100644 --- a/drivers/led/issi/is31fl3741-simple.c +++ b/drivers/led/issi/is31fl3741-simple.c @@ -23,6 +23,7 @@ #include "wait.h" #define IS31FL3741_PWM_REGISTER_COUNT 351 +#define IS31FL3741_SCALING_REGISTER_COUNT 351 #ifndef IS31FL3741_I2C_TIMEOUT # define IS31FL3741_I2C_TIMEOUT 100 @@ -52,11 +53,10 @@ # define IS31FL3741_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20] = {0xFF}; +uint8_t i2c_transfer_buffer[20] = {0xFF}; // These buffers match the IS31FL3741 and IS31FL3741A PWM registers. -// The scaling buffers match the PG2 and PG3 LED On/Off registers. +// The scaling buffers match the page 2 and 3 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3741_write_pwm_buffer() but it's @@ -65,59 +65,62 @@ uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false}; bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false}; -uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; +uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_SCALING_REGISTER_COUNT]; void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); #endif } +void is31fl3741_select_page(uint8_t addr, uint8_t page) { + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, page); +} + bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assume PG0 is already selected + // Assume page 0 is already selected for (int i = 0; i < 342; i += 18) { if (i == 180) { - // unlock the command register and select PG1 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_1); } - g_twi_transfer_buffer[0] = i % 180; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18); + i2c_transfer_buffer[0] = i % 180; + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 18); #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif } // transfer the left cause the total number is 351 - g_twi_transfer_buffer[0] = 162; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9); + i2c_transfer_buffer[0] = 162; + memcpy(i2c_transfer_buffer + 1, pwm_buffer + 342, 9); #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif @@ -162,11 +165,7 @@ void is31fl3741_init(uint8_t addr) { // then disable software shutdown. // Unlock the command register. - // Unlock the command register. - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - - // Select PG4 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_FUNCTION); // Set to Normal operation is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION); @@ -218,9 +217,7 @@ void is31fl3741_set_led_control_register(uint8_t index, bool value) { void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // unlock the command register and select PG2 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_0); is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); } @@ -236,20 +233,16 @@ void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t value) { void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_scaling_registers_update_required[index]) { - // unlock the command register and select PG2 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_SCALING_0); - // CS1_SW1 to CS30_SW6 are on PG2 + // CS1_SW1 to CS30_SW6 are on page 2 for (int i = CS1_SW1; i <= CS30_SW6; ++i) { is31fl3741_write_register(addr, i, g_scaling_registers[index][i]); } - // unlock the command register and select PG3 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_SCALING_1); - // CS1_SW7 to CS39_SW9 are on PG3 + // CS1_SW7 to CS39_SW9 are on page 3 for (int i = CS1_SW7; i <= CS39_SW9; ++i) { is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3741-simple.h b/drivers/led/issi/is31fl3741-simple.h index 34608a37e005..462543a5bb34 100644 --- a/drivers/led/issi/is31fl3741-simple.h +++ b/drivers/led/issi/is31fl3741-simple.h @@ -104,6 +104,7 @@ extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT]; void is31fl3741_init_drivers(void); void is31fl3741_init(uint8_t addr); void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3741_select_page(uint8_t addr, uint8_t page); bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3741_set_value(int index, uint8_t value); diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index efcfa77b468e..08b86f917167 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -23,6 +23,7 @@ #include "wait.h" #define IS31FL3741_PWM_REGISTER_COUNT 351 +#define IS31FL3741_SCALING_REGISTER_COUNT 351 #ifndef IS31FL3741_I2C_TIMEOUT # define IS31FL3741_I2C_TIMEOUT 100 @@ -52,11 +53,10 @@ # define IS31FL3741_GLOBAL_CURRENT 0xFF #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20] = {0xFF}; +uint8_t i2c_transfer_buffer[20] = {0xFF}; // These buffers match the IS31FL3741 and IS31FL3741A PWM registers. -// The scaling buffers match the PG2 and PG3 LED On/Off registers. +// The scaling buffers match the page 2 and 3 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3741_write_pwm_buffer() but it's @@ -65,59 +65,62 @@ uint8_t g_pwm_buffer[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; bool g_pwm_buffer_update_required[IS31FL3741_DRIVER_COUNT] = {false}; bool g_scaling_registers_update_required[IS31FL3741_DRIVER_COUNT] = {false}; -uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_PWM_REGISTER_COUNT]; +uint8_t g_scaling_registers[IS31FL3741_DRIVER_COUNT][IS31FL3741_SCALING_REGISTER_COUNT]; void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, IS31FL3741_I2C_TIMEOUT); #endif } +void is31fl3741_select_page(uint8_t addr, uint8_t page) { + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); + is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, page); +} + bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { - // Assume PG0 is already selected + // Assume page 0 is already selected for (int i = 0; i < 342; i += 18) { if (i == 180) { - // unlock the command register and select PG1 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_1); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_1); } - g_twi_transfer_buffer[0] = i % 180; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + i, 18); + i2c_transfer_buffer[0] = i % 180; + memcpy(i2c_transfer_buffer + 1, pwm_buffer + i, 18); #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 19, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif } // transfer the left cause the total number is 351 - g_twi_transfer_buffer[0] = 162; - memcpy(g_twi_transfer_buffer + 1, pwm_buffer + 342, 9); + i2c_transfer_buffer[0] = 162; + memcpy(i2c_transfer_buffer + 1, pwm_buffer + 342, 9); #if IS31FL3741_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3741_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 10, IS31FL3741_I2C_TIMEOUT) != 0) { return false; } #endif @@ -162,11 +165,7 @@ void is31fl3741_init(uint8_t addr) { // then disable software shutdown. // Unlock the command register. - // Unlock the command register. - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - - // Select PG4 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_FUNCTION); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_FUNCTION); // Set to Normal operation is31fl3741_write_register(addr, IS31FL3741_FUNCTION_REG_CONFIGURATION, IS31FL3741_CONFIGURATION); @@ -232,9 +231,7 @@ void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // unlock the command register and select PG2 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_PWM_0); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_PWM_0); is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]); } @@ -252,20 +249,16 @@ void is31fl3741_set_pwm_buffer(const is31fl3741_led_t *pled, uint8_t red, uint8_ void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_scaling_registers_update_required[index]) { - // unlock the command register and select PG2 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_0); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_SCALING_0); - // CS1_SW1 to CS30_SW6 are on PG2 + // CS1_SW1 to CS30_SW6 are on page 2 for (int i = CS1_SW1; i <= CS30_SW6; ++i) { is31fl3741_write_register(addr, i, g_scaling_registers[index][i]); } - // unlock the command register and select PG3 - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND_WRITE_LOCK, IS31FL3741_COMMAND_WRITE_LOCK_MAGIC); - is31fl3741_write_register(addr, IS31FL3741_REG_COMMAND, IS31FL3741_COMMAND_SCALING_1); + is31fl3741_select_page(addr, IS31FL3741_COMMAND_SCALING_1); - // CS1_SW7 to CS39_SW9 are on PG3 + // CS1_SW7 to CS39_SW9 are on page 3 for (int i = CS1_SW7; i <= CS39_SW9; ++i) { is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); } diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 6466696b606f..5151d81c37b1 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -121,6 +121,7 @@ extern const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT]; void is31fl3741_init_drivers(void); void is31fl3741_init(uint8_t addr); void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3741_select_page(uint8_t addr, uint8_t page); bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index d6b9bce93d7c..048db286b623 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -31,8 +31,7 @@ # define ISSI_PERSISTENCE 0 #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the PWM & scaling registers. // Storing them like this is optimal for I2C transfers to the registers. @@ -45,15 +44,15 @@ bool g_scaling_buffer_update_required[DRIVER_COUNT] = {false}; // For writing of single register entry void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data) { // Set register address and register data ready to write - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if ISSI_PERSISTENCE > 0 for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break; } #else - i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); + i2c_transmit(addr << 1, i2c_transfer_buffer, 2, ISSI_TIMEOUT); #endif } @@ -64,18 +63,18 @@ bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t // Split the buffer into chunks to transfer for (int i = 0; i < buffer_size; i += transfer_size) { // Set the first entry of transfer buffer to the first register we want to write - g_twi_transfer_buffer[0] = i + start_reg_addr; + i2c_transfer_buffer[0] = i + start_reg_addr; // Copy the section of our source buffer into the transfer buffer after first register address - memcpy(g_twi_transfer_buffer + 1, source_buffer + i, transfer_size); + memcpy(i2c_transfer_buffer + 1, source_buffer + i, transfer_size); #if ISSI_PERSISTENCE > 0 for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, transfer_size + 1, ISSI_TIMEOUT) != 0) { return false; } #endif diff --git a/drivers/led/snled27351-simple.c b/drivers/led/snled27351-simple.c index b2054c96d54f..7b7a82f90f2f 100644 --- a/drivers/led/snled27351-simple.c +++ b/drivers/led/snled27351-simple.c @@ -37,8 +37,7 @@ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the SNLED27351 PWM registers. // The control buffers match the PG0 LED On/Off registers. @@ -54,47 +53,51 @@ bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { return false; } #endif return true; } +void snled27351_select_page(uint8_t addr, uint8_t page) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, page); +} + bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. for (int i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. for (int j = 0; j < 16; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + i2c_transfer_buffer[1 + j] = pwm_buffer[i + j]; } #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 17, SNLED27351_I2C_TIMEOUT) != 0) { return false; } #endif @@ -133,8 +136,8 @@ void snled27351_init_drivers(void) { } void snled27351_init(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); // Setting internal channel pulldown/pullup @@ -147,33 +150,35 @@ void snled27351_init(uint8_t addr) { snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE); // Setting Iref snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0); - // Set LED CONTROL PAGE (Page 0) - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { snled27351_write_register(addr, i, 0x00); } - // Set PWM PAGE (Page 1) - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + snled27351_select_page(addr, SNLED27351_COMMAND_PWM); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { snled27351_write_register(addr, i, 0x00); } - // Set CURRENT PAGE (Page 4) + snled27351_select_page(addr, SNLED27351_COMMAND_CURRENT_TUNE); + uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE; - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE); for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { snled27351_write_register(addr, i, current_tune_reg_list[i]); } + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + // Enable LEDs ON/OFF - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { snled27351_write_register(addr, i, 0xFF); } - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); } @@ -215,7 +220,7 @@ void snled27351_set_led_control_register(uint8_t index, bool value) { void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + snled27351_select_page(addr, SNLED27351_COMMAND_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. @@ -228,7 +233,8 @@ void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) { snled27351_write_register(addr, i, g_led_control_registers[index][i]); } @@ -250,15 +256,15 @@ void snled27351_flush(void) { } void snled27351_sw_return_normal(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); } void snled27351_sw_shutdown(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); // Write SW Sleep Register diff --git a/drivers/led/snled27351-simple.h b/drivers/led/snled27351-simple.h index 2fc62a6f0a74..0a4d2469f083 100644 --- a/drivers/led/snled27351-simple.h +++ b/drivers/led/snled27351-simple.h @@ -155,6 +155,7 @@ extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT]; void snled27351_init_drivers(void); void snled27351_init(uint8_t addr); +void snled27351_select_page(uint8_t addr, uint8_t page); bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); diff --git a/drivers/led/snled27351.c b/drivers/led/snled27351.c index 71992b73224b..d985e4c5f12e 100644 --- a/drivers/led/snled27351.c +++ b/drivers/led/snled27351.c @@ -37,8 +37,7 @@ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[65]; +uint8_t i2c_transfer_buffer[65]; // These buffers match the SNLED27351 PWM registers. // The control buffers match the PG0 LED On/Off registers. @@ -54,23 +53,27 @@ bool g_led_control_registers_update_required[SNLED27351_DRIVER_COUNT] bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 2, SNLED27351_I2C_TIMEOUT) != 0) { return false; } #endif return true; } +void snled27351_select_page(uint8_t addr, uint8_t page) { + snled27351_write_register(addr, SNLED27351_REG_COMMAND, page); +} + bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. @@ -78,22 +81,22 @@ bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { // Iterate over the pwm_buffer contents at 64 byte intervals. for (uint8_t i = 0; i < SNLED27351_PWM_REGISTER_COUNT; i += 64) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // Copy the data from i to i+63. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. for (uint8_t j = 0; j < 64; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + i2c_transfer_buffer[1 + j] = pwm_buffer[i + j]; } #if SNLED27351_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < SNLED27351_I2C_PERSISTENCE; i++) { - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { + if (i2c_transmit(addr << 1, i2c_transfer_buffer, 65, SNLED27351_I2C_TIMEOUT) != 0) { return false; } #endif @@ -132,8 +135,8 @@ void snled27351_init_drivers(void) { } void snled27351_init(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); // Setting internal channel pulldown/pullup @@ -146,33 +149,34 @@ void snled27351_init(uint8_t addr) { snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SLEW_RATE_CONTROL_MODE_2, SNLED27351_SLEW_RATE_CONTROL_MODE_2_DSL_ENABLE | SNLED27351_SLEW_RATE_CONTROL_MODE_2_SSL_ENABLE); // Setting Iref snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SLEEP, 0); - // Set LED CONTROL PAGE (Page 0) - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { snled27351_write_register(addr, i, 0x00); } - // Set PWM PAGE (Page 1) - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + snled27351_select_page(addr, SNLED27351_COMMAND_PWM); + for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { snled27351_write_register(addr, i, 0x00); } - // Set CURRENT PAGE (Page 4) + snled27351_select_page(addr, SNLED27351_COMMAND_CURRENT_TUNE); + uint8_t current_tune_reg_list[SNLED27351_LED_CURRENT_TUNE_LENGTH] = SNLED27351_CURRENT_TUNE; - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_CURRENT_TUNE); for (int i = 0; i < SNLED27351_LED_CURRENT_TUNE_LENGTH; i++) { snled27351_write_register(addr, i, current_tune_reg_list[i]); } - // Enable LEDs ON/OFF - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_ON_OFF_LENGTH; i++) { snled27351_write_register(addr, i, 0xFF); } - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); } @@ -230,7 +234,7 @@ void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bo void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_PWM); + snled27351_select_page(addr, SNLED27351_COMMAND_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. @@ -243,7 +247,8 @@ void snled27351_update_pwm_buffers(uint8_t addr, uint8_t index) { void snled27351_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_LED_CONTROL); + snled27351_select_page(addr, SNLED27351_COMMAND_LED_CONTROL); + for (int i = 0; i < SNLED27351_LED_CONTROL_REGISTER_COUNT; i++) { snled27351_write_register(addr, i, g_led_control_registers[index][i]); } @@ -265,15 +270,15 @@ void snled27351_flush(void) { } void snled27351_sw_return_normal(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to normal mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_NORMAL); } void snled27351_sw_shutdown(uint8_t addr) { - // Select to function page - snled27351_write_register(addr, SNLED27351_REG_COMMAND, SNLED27351_COMMAND_FUNCTION); + snled27351_select_page(addr, SNLED27351_COMMAND_FUNCTION); + // Setting LED driver to shutdown mode snled27351_write_register(addr, SNLED27351_FUNCTION_REG_SOFTWARE_SHUTDOWN, SNLED27351_SOFTWARE_SHUTDOWN_SSD_SHUTDOWN); // Write SW Sleep Register diff --git a/drivers/led/snled27351.h b/drivers/led/snled27351.h index 77337f177b77..8260df1ce18d 100644 --- a/drivers/led/snled27351.h +++ b/drivers/led/snled27351.h @@ -169,6 +169,7 @@ extern const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT]; void snled27351_init_drivers(void); void snled27351_init(uint8_t addr); +void snled27351_select_page(uint8_t addr, uint8_t page); bool snled27351_write_register(uint8_t addr, uint8_t reg, uint8_t data); bool snled27351_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); diff --git a/drivers/painter/sh1106/qp_sh1106.c b/drivers/painter/sh1106/qp_sh1106.c index 7cb6e398fac5..4117115aec47 100644 --- a/drivers/painter/sh1106/qp_sh1106.c +++ b/drivers/painter/sh1106/qp_sh1106.c @@ -44,7 +44,7 @@ __attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotat } // clang-format off - const uint8_t sh1106_init_sequence[] = { + uint8_t sh1106_init_sequence[] = { // Command, Delay, N, Data[N] SH1106_SET_MUX_RATIO, 0, 1, 0x3F, SH1106_DISPLAY_OFFSET, 0, 1, 0x00, @@ -61,6 +61,16 @@ __attribute__((weak)) bool qp_sh1106_init(painter_device_t device, painter_rotat }; // clang-format on + // If the display height is anything other than the default 64 pixels, change SH1106_SET_MUX_RATIO data byte to the correct value + if (driver->oled.base.panel_height != 64) { + sh1106_init_sequence[3] = driver->oled.base.panel_height - 1; + } + + // For 128x32 or 96x16 displays, change SH1106_COM_PADS_HW_CFG data byte from alternative (0x12) to sequential (0x02) configuration + if (driver->oled.base.panel_height <= 32) { + sh1106_init_sequence[20] = 0x02; + } + qp_comms_bulk_command_sequence(device, sh1106_init_sequence, sizeof(sh1106_init_sequence)); return true; } @@ -203,4 +213,4 @@ painter_device_t qp_sh1106_make_i2c_device(uint16_t panel_width, uint16_t panel_ return NULL; } -#endif // QUANTUM_PAINTER_SH1106_SPI_ENABLE +#endif // QUANTUM_PAINTER_SH1106_I2C_ENABLE diff --git a/drivers/painter/sh1106/qp_sh1106_opcodes.h b/drivers/painter/sh1106/qp_sh1106_opcodes.h index a2e100d7702c..bf86ba4c2c89 100644 --- a/drivers/painter/sh1106/qp_sh1106_opcodes.h +++ b/drivers/painter/sh1106/qp_sh1106_opcodes.h @@ -16,7 +16,7 @@ #define SH1106_COM_PADS_HW_CFG 0xDA #define SH1106_SET_CONTRAST 0x81 #define SH1106_SET_PRECHARGE_PERIOD 0xD9 -#define SH1106_VCOM_DETECT 0xDB +#define SH1106_VCOM_DESELECT_LEVEL 0xDB #define SH1106_ALL_ON_RESUME 0xA4 #define SH1106_NON_INVERTING_DISPLAY 0xA6 #define SH1106_DEACTIVATE_SCROLL 0x2E diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c index 12256a8e7ab2..4aede4eacdf5 100644 --- a/drivers/sensors/analog_joystick.c +++ b/drivers/sensors/analog_joystick.c @@ -22,17 +22,28 @@ #include // Set Parameters +#ifndef ANALOG_JOYSTICK_AUTO_AXIS uint16_t minAxisValue = ANALOG_JOYSTICK_AXIS_MIN; uint16_t maxAxisValue = ANALOG_JOYSTICK_AXIS_MAX; +#else +int16_t minAxisValues[2]; +int16_t maxAxisValues[2]; +#endif uint8_t maxCursorSpeed = ANALOG_JOYSTICK_SPEED_MAX; uint8_t speedRegulator = ANALOG_JOYSTICK_SPEED_REGULATOR; // Lower Values Create Faster Movement +#ifdef ANALOG_JOYSTICK_WEIGHTS +int8_t weights[101] = ANALOG_JOYSTICK_WEIGHTS; +#endif + int16_t xOrigin, yOrigin; uint16_t lastCursor = 0; -int16_t axisCoordinate(pin_t pin, uint16_t origin) { +uint8_t prevValues[2] = {0, 0}; + +int16_t axisCoordinate(pin_t pin, uint16_t origin, uint8_t axis) { int8_t direction; int16_t distanceFromOrigin; int16_t range; @@ -43,12 +54,27 @@ int16_t axisCoordinate(pin_t pin, uint16_t origin) { return 0; } else if (origin > position) { distanceFromOrigin = origin - position; - range = origin - minAxisValue; - direction = -1; +#ifdef ANALOG_JOYSTICK_AUTO_AXIS + if (position < minAxisValues[axis]) { + minAxisValues[axis] = position; + } + range = origin - minAxisValues[axis]; +#else + range = origin - minAxisValue; +#endif + direction = -1; } else { distanceFromOrigin = position - origin; - range = maxAxisValue - origin; - direction = 1; + +#ifdef ANALOG_JOYSTICK_AUTO_AXIS + if (position > maxAxisValues[axis]) { + maxAxisValues[axis] = position; + } + range = maxAxisValues[axis] - origin; +#else + range = maxAxisValue - origin; +#endif + direction = 1; } float percent = (float)distanceFromOrigin / range; @@ -62,14 +88,29 @@ int16_t axisCoordinate(pin_t pin, uint16_t origin) { } } -int8_t axisToMouseComponent(pin_t pin, int16_t origin, uint8_t maxSpeed) { - int16_t coordinate = axisCoordinate(pin, origin); +int8_t axisToMouseComponent(pin_t pin, int16_t origin, uint8_t maxSpeed, uint8_t axis) { + int16_t coordinate = axisCoordinate(pin, origin, axis); + int8_t result; +#ifndef ANALOG_JOYSTICK_WEIGHTS if (coordinate != 0) { float percent = (float)coordinate / 100; - return percent * maxCursorSpeed * (abs(coordinate) / speedRegulator); + result = percent * maxCursorSpeed * (abs(coordinate) / speedRegulator); } else { return 0; } +#else + result = weights[abs(coordinate)] * (coordinate < 0 ? -1 : 1) * maxCursorSpeed / speedRegulator; +#endif + +#ifdef ANALOG_JOYSTICK_CUTOFF + uint8_t pv = prevValues[axis]; + prevValues[axis] = abs(result); + if (pv > abs(result)) { + return 0; + } +#endif + + return result; } report_analog_joystick_t analog_joystick_read(void) { @@ -77,8 +118,8 @@ report_analog_joystick_t analog_joystick_read(void) { if (timer_elapsed(lastCursor) > ANALOG_JOYSTICK_READ_INTERVAL) { lastCursor = timer_read(); - report.x = axisToMouseComponent(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin, maxCursorSpeed); - report.y = axisToMouseComponent(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin, maxCursorSpeed); + report.x = axisToMouseComponent(ANALOG_JOYSTICK_X_AXIS_PIN, xOrigin, maxCursorSpeed, 0); + report.y = axisToMouseComponent(ANALOG_JOYSTICK_Y_AXIS_PIN, yOrigin, maxCursorSpeed, 1); } #ifdef ANALOG_JOYSTICK_CLICK_PIN report.button = !readPin(ANALOG_JOYSTICK_CLICK_PIN); @@ -93,4 +134,11 @@ void analog_joystick_init(void) { // Account for drift xOrigin = analogReadPin(ANALOG_JOYSTICK_X_AXIS_PIN); yOrigin = analogReadPin(ANALOG_JOYSTICK_Y_AXIS_PIN); + +#ifdef ANALOG_JOYSTICK_AUTO_AXIS + minAxisValues[0] = xOrigin - 100; + minAxisValues[1] = yOrigin - 100; + maxAxisValues[0] = xOrigin + 100; + maxAxisValues[1] = yOrigin + 100; +#endif } diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index 3131805c2000..b5c1abdebce4 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -216,6 +216,13 @@ void cirque_pinnacle_cursor_smoothing(bool enable) { RAP_Write(HOSTREG__FEEDCONFIG3, feedconfig3); } +// Check sensor is connected +bool cirque_pinnacle_connected(void) { + uint8_t zidle = 0; + RAP_ReadBytes(HOSTREG__ZIDLE, &zidle, 1); + return zidle == HOSTREG__ZIDLE_DEFVAL; +} + /* Pinnacle-based TM040040/TM035035/TM023023 Functions */ void cirque_pinnacle_init(void) { #if defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) @@ -274,6 +281,10 @@ void cirque_pinnacle_init(void) { } cirque_pinnacle_enable_feed(true); + +#ifndef CIRQUE_PINNACLE_SKIP_SENSOR_CHECK + touchpad_init = cirque_pinnacle_connected(); +#endif } pinnacle_data_t cirque_pinnacle_read_data(void) { diff --git a/drivers/ws2812.h b/drivers/ws2812.h index 1527df23d371..134de51c5039 100644 --- a/drivers/ws2812.h +++ b/drivers/ws2812.h @@ -56,9 +56,9 @@ # define WS2812_TRST_US 280 #endif -#if defined(RGBLED_NUM) -# define WS2812_LED_COUNT RGBLED_NUM -#elif defined(RGB_MATRIX_LED_COUNT) +#if defined(RGBLIGHT_WS2812) +# define WS2812_LED_COUNT RGBLIGHT_LED_COUNT +#elif defined(RGB_MATRIX_WS2812) # define WS2812_LED_COUNT RGB_MATRIX_LED_COUNT #endif diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h index 29d684ac0815..9a7761e30de6 100644 --- a/keyboards/1k/keymaps/default/rgblite.h +++ b/keyboards/1k/keymaps/default/rgblite.h @@ -7,8 +7,8 @@ #include "color.h" static inline void rgblite_setrgb(RGB rgb) { - rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; - ws2812_setleds(leds, RGBLED_NUM); + rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}}; + ws2812_setleds(leds, RGBLIGHT_LED_COUNT); } static void rgblite_increase_hue(void) { diff --git a/keyboards/1upkeyboards/1upocarina/config.h b/keyboards/1upkeyboards/1upocarina/config.h index 4431ef6bdbcf..a7190820cf33 100644 --- a/keyboards/1upkeyboards/1upocarina/config.h +++ b/keyboards/1upkeyboards/1upocarina/config.h @@ -19,7 +19,7 @@ #define RGB_MATRIX_LED_COUNT 32 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/1upkeyboards/1upslider8/config.h b/keyboards/1upkeyboards/1upslider8/config.h index 059d16f3fab0..fd945e148821 100644 --- a/keyboards/1upkeyboards/1upslider8/config.h +++ b/keyboards/1upkeyboards/1upslider8/config.h @@ -25,5 +25,5 @@ #define RGB_MATRIX_LED_COUNT 8 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/1upsuper16v3/config.h b/keyboards/1upkeyboards/1upsuper16v3/config.h index 41e1679d4887..fe4110ebba6d 100644 --- a/keyboards/1upkeyboards/1upsuper16v3/config.h +++ b/keyboards/1upkeyboards/1upsuper16v3/config.h @@ -18,5 +18,5 @@ #define RGB_MATRIX_LED_COUNT 48 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/pi40/config.h b/keyboards/1upkeyboards/pi40/config.h index 361982d153e4..9b2915ebd427 100644 --- a/keyboards/1upkeyboards/pi40/config.h +++ b/keyboards/1upkeyboards/pi40/config.h @@ -13,7 +13,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_FRAMEBUFFER_EFFECTS #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/1upkeyboards/pi50/config.h b/keyboards/1upkeyboards/pi50/config.h index 4c17e6a4f0b2..7a053d5ae496 100644 --- a/keyboards/1upkeyboards/pi50/config.h +++ b/keyboards/1upkeyboards/pi50/config.h @@ -11,7 +11,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/1upkeyboards/pi60/config.h b/keyboards/1upkeyboards/pi60/config.h index 6bbbb2293c0b..c54d2e4a7a43 100644 --- a/keyboards/1upkeyboards/pi60/config.h +++ b/keyboards/1upkeyboards/pi60/config.h @@ -6,7 +6,7 @@ #define RGB_MATRIX_LED_COUNT 21 //#define RGB_MATRIX_FRAMEBUFFER_EFFECTS //#define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h index b7c4d5e8bc87..5048b1387c96 100644 --- a/keyboards/1upkeyboards/pi60_hse/config.h +++ b/keyboards/1upkeyboards/pi60_hse/config.h @@ -6,7 +6,7 @@ #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/1upkeyboards/pi60_rgb/config.h b/keyboards/1upkeyboards/pi60_rgb/config.h index b0747bd56d8e..e4bd31797264 100644 --- a/keyboards/1upkeyboards/pi60_rgb/config.h +++ b/keyboards/1upkeyboards/pi60_rgb/config.h @@ -6,7 +6,7 @@ #define RGB_MATRIX_LED_COUNT 61 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index 73d8badc5e5d..fefd463686e0 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -22,7 +22,7 @@ #define RGB_MATRIX_LED_COUNT 20 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h index e4609962f1f8..03f7842f450d 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h @@ -19,7 +19,7 @@ #define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h index e4609962f1f8..03f7842f450d 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h @@ -19,7 +19,7 @@ #define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/25keys/zinc/rev1/post_config.h b/keyboards/25keys/zinc/rev1/post_config.h index 3d51de9e4c16..42d2d7e46c8b 100644 --- a/keyboards/25keys/zinc/rev1/post_config.h +++ b/keyboards/25keys/zinc/rev1/post_config.h @@ -24,35 +24,35 @@ along with this program. If not, see . #define RGBLIGHT_SPLIT #ifdef RGBLED_BACK #ifdef RGBLED_CONT - #define RGBLED_NUM 48 + #define RGBLIGHT_LED_COUNT 48 #define RGBLED_SPLIT { 24, 24 } #else - #define RGBLED_NUM 24 + #define RGBLIGHT_LED_COUNT 24 #endif #else #ifdef RGBLED_BOTH #ifdef RGBLED_CONT - #define RGBLED_NUM 60 + #define RGBLIGHT_LED_COUNT 60 #define RGBLED_SPLIT { 30, 30 } #else - #define RGBLED_NUM 30 + #define RGBLIGHT_LED_COUNT 30 #endif #else #ifdef RGBLED_CONT - #define RGBLED_NUM 12 + #define RGBLIGHT_LED_COUNT 12 #define RGBLED_SPLIT { 6, 6 } #else - #define RGBLED_NUM 6 + #define RGBLIGHT_LED_COUNT 6 #endif #endif #endif #endif #ifndef IOS_DEVICE_ENABLE - #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) + #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12)) #define RGBLIGHT_LIMIT_VAL 255 #else - #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) + #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32)) #define RGBLIGHT_LIMIT_VAL 130 #else #define RGBLIGHT_LIMIT_VAL 120 @@ -60,10 +60,10 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 17 #else - #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) + #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12)) #define RGBLIGHT_LIMIT_VAL 90 #else - #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) + #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32)) #define RGBLIGHT_LIMIT_VAL 45 #else #define RGBLIGHT_LIMIT_VAL 35 diff --git a/keyboards/25keys/zinc/reva/post_config.h b/keyboards/25keys/zinc/reva/post_config.h index 3d51de9e4c16..42d2d7e46c8b 100644 --- a/keyboards/25keys/zinc/reva/post_config.h +++ b/keyboards/25keys/zinc/reva/post_config.h @@ -24,35 +24,35 @@ along with this program. If not, see . #define RGBLIGHT_SPLIT #ifdef RGBLED_BACK #ifdef RGBLED_CONT - #define RGBLED_NUM 48 + #define RGBLIGHT_LED_COUNT 48 #define RGBLED_SPLIT { 24, 24 } #else - #define RGBLED_NUM 24 + #define RGBLIGHT_LED_COUNT 24 #endif #else #ifdef RGBLED_BOTH #ifdef RGBLED_CONT - #define RGBLED_NUM 60 + #define RGBLIGHT_LED_COUNT 60 #define RGBLED_SPLIT { 30, 30 } #else - #define RGBLED_NUM 30 + #define RGBLIGHT_LED_COUNT 30 #endif #else #ifdef RGBLED_CONT - #define RGBLED_NUM 12 + #define RGBLIGHT_LED_COUNT 12 #define RGBLED_SPLIT { 6, 6 } #else - #define RGBLED_NUM 6 + #define RGBLIGHT_LED_COUNT 6 #endif #endif #endif #endif #ifndef IOS_DEVICE_ENABLE - #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) + #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12)) #define RGBLIGHT_LIMIT_VAL 255 #else - #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) + #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32)) #define RGBLIGHT_LIMIT_VAL 130 #else #define RGBLIGHT_LIMIT_VAL 120 @@ -60,10 +60,10 @@ along with this program. If not, see . #endif #define RGBLIGHT_VAL_STEP 17 #else - #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12)) + #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12)) #define RGBLIGHT_LIMIT_VAL 90 #else - #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32)) + #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32)) #define RGBLIGHT_LIMIT_VAL 45 #else #define RGBLIGHT_LIMIT_VAL 35 diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h index 49bd09eb7e5e..d6c5e10cc178 100644 --- a/keyboards/3keyecosystem/2key2/config.h +++ b/keyboards/3keyecosystem/2key2/config.h @@ -24,7 +24,7 @@ along with this program. If not, see . #define RGB_MATRIX_DEFAULT_SPD 20 #define RGB_MATRIX_DEFAULT_VAL 128 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c index e3b8d71a9042..55af271f3b1d 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c +++ b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include "rev_a.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_2, J_2, L_2 }, //D402 { 0, K_3, J_3, L_3 }, //D403 { 0, K_4, J_4, L_4 }, //D404 diff --git a/keyboards/fortitude60/keymaps/default/config.h b/keyboards/4pplet/waffling60/rev_e_iso/config.h similarity index 87% rename from keyboards/fortitude60/keymaps/default/config.h rename to keyboards/4pplet/waffling60/rev_e_iso/config.h index 7e9b510ff693..521ddf96a183 100644 --- a/keyboards/fortitude60/keymaps/default/config.h +++ b/keyboards/4pplet/waffling60/rev_e_iso/config.h @@ -1,5 +1,5 @@ /* -Copyright 2017 Danny Nguyen +Copyright 2023 Stefan Sundin "4pplet" 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 @@ -14,5 +14,7 @@ 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 WS2812_EXTERNAL_PULLUP + diff --git a/keyboards/4pplet/waffling60/rev_e_iso/info.json b/keyboards/4pplet/waffling60/rev_e_iso/info.json new file mode 100644 index 000000000000..e53dcab891cd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/info.json @@ -0,0 +1,408 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "waffling60 Rev E ISO HS", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "key_lock": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B2", "A4", "A3", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], + "rows": ["B14", "A9", "B6", "B5", "B4"] + }, + "processor": "STM32F072", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 17 + }, + "url": "https://github.com/4pplet/waffling60", + "usb": { + "device_version": "0.0.5", + "pid": "0x0016", + "vid": "0x4444" + }, + "ws2812": { + "pin": "A8" + }, + "community_layouts": [ + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl_split_bs_rshift" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4, "y": 4, "w": 3}, + {"matrix": [4, 6], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 3}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/keymap.c b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/keymap.c new file mode 100644 index 000000000000..545e1e974fb1 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUHS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c new file mode 100644 index 000000000000..3254764a0c51 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), +// basic function layer +[1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) } +}; +#endif diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md new file mode 100644 index 000000000000..9ccedf98e30e --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for 4pplet Waffling60 Rev E ISO + +``` + ┌───────┐ + 2u Backspace │1D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2D │ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤ +│40 │41 │42 │44 │46 │48 │4B │4C │4D │ +└─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬───────────────────────────────────────┬───┬─────┐ +│40 │41 │46 │4C │4D │ 10u Spacebar +└─────┴───┴───────────────────────────────────────┴───┴─────┘ +``` \ No newline at end of file diff --git a/keyboards/4pplet/waffling60/rev_e_iso/readme.md b/keyboards/4pplet/waffling60/rev_e_iso/readme.md new file mode 100644 index 000000000000..03fa4889c62b --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/readme.md @@ -0,0 +1,26 @@ +# waffling60 Rev. E ISO + +A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent layout support. Revision E adds underglow and rotary encoder support. + +More info: https://github.com/4pplet/waffling60 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling60](https://github.com/4pplet/waffling60) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling60/rev_e_iso:default + +Flashing example for this keyboard: + + make 4pplet/waffling60/rev_e_iso:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +How to enter bootloader (DFU): +* Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter DFU. When in DFU, it's ready to flash the firmware. If using a APM MCU it will not automatically reset after flash. Simply short the reset-header for a very short time to just reset the PCB, alternatively unplug and repluck the USB-cable to the keyboard. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling60/rev_e_iso/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/rules.mk new file mode 100644 index 000000000000..04fe1eba2acd --- /dev/null +++ b/keyboards/4pplet/waffling60/rev_e_iso/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/abko/ak84bt/ak84bt.c b/keyboards/abko/ak84bt/ak84bt.c index a51f1f458f6a..86f28a1bb293 100644 --- a/keyboards/abko/ak84bt/ak84bt.c +++ b/keyboards/abko/ak84bt/ak84bt.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, G_1, I_1, H_1}, {0, G_3, I_3, H_3}, {0, G_4, I_4, H_4}, diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h index 0798ffa70b56..6d3046ca26be 100644 --- a/keyboards/acheron/apollo/87h/delta/config.h +++ b/keyboards/acheron/apollo/87h/delta/config.h @@ -36,7 +36,7 @@ along with this program. If not, see . #define RGB_MATRIX_DEFAULT_VAL 60 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h index 37c0aaef649c..ee75fe347c4d 100644 --- a/keyboards/acheron/apollo/87h/gamma/config.h +++ b/keyboards/acheron/apollo/87h/gamma/config.h @@ -33,7 +33,7 @@ along with this program. If not, see . #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_HUE_WAVE #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c index 19e91062873e..43802bb4ad82 100644 --- a/keyboards/acheron/apollo/87h/gamma/gamma.c +++ b/keyboards/acheron/apollo/87h/gamma/gamma.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h index e8dd40b32fa4..3ba0c3c2245f 100644 --- a/keyboards/acheron/apollo/87htsc/config.h +++ b/keyboards/acheron/apollo/87htsc/config.h @@ -36,7 +36,7 @@ along with this program. If not, see . #define RGB_MATRIX_DEFAULT_VAL 60 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h index 0798ffa70b56..6d3046ca26be 100644 --- a/keyboards/acheron/apollo/88htsc/config.h +++ b/keyboards/acheron/apollo/88htsc/config.h @@ -36,7 +36,7 @@ along with this program. If not, see . #define RGB_MATRIX_DEFAULT_VAL 60 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/acheron/themis/87h/config.h b/keyboards/acheron/themis/87h/config.h index 605594eea209..ed1229c77933 100644 --- a/keyboards/acheron/themis/87h/config.h +++ b/keyboards/acheron/themis/87h/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 1 - #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 #define WS2812_PWM_CHANNEL 3 diff --git a/keyboards/acheron/themis/87h/info.json b/keyboards/acheron/themis/87h/info.json index cbff8f4eec55..0ef52a61a053 100644 --- a/keyboards/acheron/themis/87h/info.json +++ b/keyboards/acheron/themis/87h/info.json @@ -26,6 +26,9 @@ "backing_size": 8192 } }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/themis/87htsc/config.h b/keyboards/acheron/themis/87htsc/config.h index 605594eea209..ed1229c77933 100644 --- a/keyboards/acheron/themis/87htsc/config.h +++ b/keyboards/acheron/themis/87htsc/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 1 - #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 #define WS2812_PWM_CHANNEL 3 diff --git a/keyboards/acheron/themis/87htsc/info.json b/keyboards/acheron/themis/87htsc/info.json index 5b491690bbc2..75c680d2a422 100644 --- a/keyboards/acheron/themis/87htsc/info.json +++ b/keyboards/acheron/themis/87htsc/info.json @@ -26,6 +26,9 @@ "backing_size": 8192 } }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/acheron/themis/88htsc/config.h b/keyboards/acheron/themis/88htsc/config.h index 605594eea209..ed1229c77933 100644 --- a/keyboards/acheron/themis/88htsc/config.h +++ b/keyboards/acheron/themis/88htsc/config.h @@ -20,8 +20,6 @@ along with this program. If not, see . #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE -#define RGBLED_NUM 1 - #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 #define WS2812_PWM_CHANNEL 3 diff --git a/keyboards/acheron/themis/88htsc/info.json b/keyboards/acheron/themis/88htsc/info.json index 073a16e94616..8726642c0c45 100644 --- a/keyboards/acheron/themis/88htsc/info.json +++ b/keyboards/acheron/themis/88htsc/info.json @@ -26,6 +26,9 @@ "backing_size": 8192 } }, + "rgblight": { + "led_count": 1 + }, "ws2812": { "pin": "B15" }, diff --git a/keyboards/adpenrose/akemipad/config.h b/keyboards/adpenrose/akemipad/config.h index 230453c3a00a..e1dac88629b6 100644 --- a/keyboards/adpenrose/akemipad/config.h +++ b/keyboards/adpenrose/akemipad/config.h @@ -13,7 +13,7 @@ #define RGB_MATRIX_LED_COUNT 27 #define RGB_MATRIX_CENTER { 60, 77 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #ifdef RGB_MATRIX_ENABLE // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c index 6fe2d469dc9e..934553abcfeb 100644 --- a/keyboards/aeboards/ext65/rev2/rev2.c +++ b/keyboards/aeboards/ext65/rev2/rev2.c @@ -17,16 +17,18 @@ #include "quantum.h" // Tested and verified working on ext65rev2 -void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } +void matrix_io_delay(void) { + __asm__ volatile("nop\nnop\nnop\n"); +} #ifdef OLED_ENABLE void board_init(void) { - SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; - SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; + SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); } oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_90; // rotates the display 90 degrees + return OLED_ROTATION_90; // rotates the display 90 degrees } void render_layer_state(void) { @@ -55,26 +57,31 @@ void render_mod_status(uint8_t modifiers) { } bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } render_layer_state(); render_keylock_status(host_keyboard_led_state()); - render_mod_status(get_mods()|get_oneshot_mods()); - return false; + render_mod_status(get_mods() | get_oneshot_mods()); + return true; } #else -void keyboard_pre_init_user(void) { - // Call the keyboard pre init code. - // Set our LED pins as output - setPinOutput(B4); - setPinOutput(B3); - setPinOutput(A15); - setPinOutput(A14); +void keyboard_pre_init_kb(void) { + // Call the keyboard pre init code. + // Set our LED pins as output + setPinOutput(B4); + setPinOutput(B3); + setPinOutput(A15); + setPinOutput(A14); + + keyboard_pre_init_user(); } bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); - if(res) { + if (res) { writePin(B4, led_state.num_lock); writePin(B3, led_state.caps_lock); writePin(A15, led_state.scroll_lock); @@ -84,14 +91,13 @@ bool led_update_kb(led_t led_state) { layer_state_t layer_state_set_kb(layer_state_t state) { switch (get_highest_layer(state)) { - case 1: - writePinHigh(A14); - break; - default: // for any other layers, or the default layer - writePinLow(A14); - break; - } + case 1: + writePinHigh(A14); + break; + default: // for any other layers, or the default layer + writePinLow(A14); + break; + } return layer_state_set_user(state); } #endif - diff --git a/keyboards/aeboards/satellite/rev1/config.h b/keyboards/aeboards/satellite/rev1/config.h index 429bc2af5461..19f0f1299ed1 100644 --- a/keyboards/aeboards/satellite/rev1/config.h +++ b/keyboards/aeboards/satellite/rev1/config.h @@ -28,7 +28,7 @@ #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c index 4d6cf949009e..6374adc301ef 100644 --- a/keyboards/akko/5087/5087.c +++ b/keyboards/akko/5087/5087.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/akko/5087/config.h b/keyboards/akko/5087/config.h index 3a6b7030ee78..70aefbc99b26 100644 --- a/keyboards/akko/5087/config.h +++ b/keyboards/akko/5087/config.h @@ -45,7 +45,7 @@ #define RGB_MATRIX_LED_COUNT 87 #define RGB_TRIGGER_ON_KEYDOWN -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c index 91f53e1e550d..0fd71834d192 100644 --- a/keyboards/akko/5108/5108.c +++ b/keyboards/akko/5108/5108.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/akko/5108/config.h b/keyboards/akko/5108/config.h index 7154ce44d27e..0f205d4b1f7e 100644 --- a/keyboards/akko/5108/config.h +++ b/keyboards/akko/5108/config.h @@ -43,7 +43,7 @@ #define RGB_MATRIX_LED_COUNT 108 #define RGB_TRIGGER_ON_KEYDOWN -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/akko/acr87/acr87.c b/keyboards/akko/acr87/acr87.c index 7ee9ec6470c6..3e7f60347419 100644 --- a/keyboards/akko/acr87/acr87.c +++ b/keyboards/akko/acr87/acr87.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/akko/acr87/config.h b/keyboards/akko/acr87/config.h index 4c1fb9afa1f2..cbd3cb2a9cad 100644 --- a/keyboards/akko/acr87/config.h +++ b/keyboards/akko/acr87/config.h @@ -41,7 +41,7 @@ #define RGB_MATRIX_LED_COUNT 135 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_TRIGGER_ON_KEYDOWN #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/akko/top40/config.h b/keyboards/akko/top40/config.h index 1d601a189cfc..36948fe1d399 100644 --- a/keyboards/akko/top40/config.h +++ b/keyboards/akko/top40/config.h @@ -39,7 +39,7 @@ #define RGB_MATRIX_LED_COUNT 76 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/akko/top40/top40.c b/keyboards/akko/top40/top40.c index 028e4bdd057b..2d75b774972e 100644 --- a/keyboards/akko/top40/top40.c +++ b/keyboards/akko/top40/top40.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/arabica37/keymaps/default/config.h b/keyboards/arabica37/keymaps/default/config.h index 57ce4cc0c187..5654f4daf4bb 100644 --- a/keyboards/arabica37/keymaps/default/config.h +++ b/keyboards/arabica37/keymaps/default/config.h @@ -31,7 +31,7 @@ along with this program. If not, see . #define QUICK_TAP_TERM 0 #define TAPPING_TERM 170 -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,7 +42,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 50 +#define RGBLIGHT_LED_COUNT 50 #define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h index c6e12504a3cb..f2ebd96e289d 100644 --- a/keyboards/atlantis/ak81_ve/config.h +++ b/keyboards/atlantis/ak81_ve/config.h @@ -24,7 +24,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED true +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_LED_COUNT 96 #define RGB_MATRIX_DEFAULT_HUE 170 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 diff --git a/keyboards/atlantis/ps17/config.h b/keyboards/atlantis/ps17/config.h index a41720aeb599..a125b480496f 100644 --- a/keyboards/atlantis/ps17/config.h +++ b/keyboards/atlantis/ps17/config.h @@ -11,7 +11,7 @@ /* RGB matrix */ #define RGB_MATRIX_LED_COUNT 28 #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #ifdef RGB_MATRIX_ENABLE // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h index 02077e05a7d3..dc7933bad037 100644 --- a/keyboards/axolstudio/yeti/hotswap/config.h +++ b/keyboards/axolstudio/yeti/hotswap/config.h @@ -60,7 +60,7 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_MULTISPLASH # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define RGB_MATRIX_LED_COUNT 64 #endif diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c index 527bec17ee16..dd65a16a80af 100644 --- a/keyboards/axolstudio/yeti/hotswap/hotswap.c +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index 7dfa48fbd435..47830a9f1d0d 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -59,7 +59,7 @@ // https://docs.qmk.fm/#/feature_rgb_matrix // Enable suspend mode. -# define RGB_DISABLE_WHEN_USB_SUSPENDED true +# define RGB_MATRIX_SLEEP # ifdef CONSOLE_ENABLE # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h index 341f6f03e0f6..18f189cbea3b 100644 --- a/keyboards/basekeys/trifecta/config.h +++ b/keyboards/basekeys/trifecta/config.h @@ -30,7 +30,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -//# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +//# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h index 2cd4394da0d3..7da14beb8d02 100644 --- a/keyboards/bastardkb/charybdis/config.h +++ b/keyboards/bastardkb/charybdis/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES // Startup values. diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c index b9787f473ee8..0a5ba1518145 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c +++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c @@ -2,6 +2,7 @@ * Copyright 2020 Christopher Courtney (@drashna) * Copyright 2021 Quentin LEBASTARD * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Publicw License as published by @@ -19,65 +20,74 @@ #include "quantum.h" -/** - * LEDs index. - * - * ╭────────────────────╮ ╭────────────────────╮ - * 2 3 8 9 12 30 27 26 21 20 - * ├────────────────────┤ ├────────────────────┤ - * 1 4 7 10 13 31 28 25 22 19 - * ├────────────────────┤ ├────────────────────┤ - * 0 5 6 11 14 32 29 24 23 18 - * ╰────────────────────╯ ╰────────────────────╯ - * 15 16 17 35 34 33 - * ╰────────────╯ ╰────────────╯ - */ -// clang-format off +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (index) { + case 0: // Left-half encoder, mouse scroll. + tap_code(clockwise ? KC_MS_WH_UP : KC_MS_WH_DOWN); + break; + case 1: // Right-half encoder, volume control. + tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN); + break; + } + return true; +} +#endif // ENCODER_ENABLE + #ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - /* Key Matrix to LED index. */ - // Left split. - { 2, 3, 8, 9, 12 }, // Top row - { 1, 4, 7, 10, 13 }, // Middle row - { 0, 5, 6, 11, 14 }, // Bottom row - { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster - // Right split. - { 20, 21, 26, 27, 30 }, // Top row - { 19, 22, 25, 28, 31 }, // Middle row - { 18, 23, 24, 29, 32 }, // Bottom row - { 35, NO_LED, 33, 34, NO_LED }, // Thumb cluster -}, { - /* LED index to physical position. */ - // Left split. - /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most) - /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2 - /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 }, - /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 }, - /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 }, - /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster - // Right split. - /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most) - /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9 - /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 }, - /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 }, - /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 }, - /* index=33 */ { 152, 64 }, { 134, 64 }, { 116, 64 }, // Thumb cluster -}, { - /* LED index to flag. */ - // Left split. - /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 - /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 - /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster - // Right split. - /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10 - /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9 - /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, - /* index=33 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster -} }; -#endif -// clang-format on +// Layer state indicator +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } + if (host_keyboard_led_state().caps_lock) { + for (int i = led_min; i <= led_max; i++) { + if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { + rgb_matrix_set_color(i, MIN(rgb_matrix_get_val() + 76, 255), 0x00, 0x00); + } + } + } + + uint8_t layer = get_highest_layer(layer_state); + if (layer > 0) { + HSV hsv = rgb_matrix_get_hsv(); + switch (get_highest_layer(layer_state)) { + case 1: + hsv = (HSV){HSV_BLUE}; + break; + case 2: + hsv = (HSV){HSV_AZURE}; + break; + case 3: + hsv = (HSV){HSV_ORANGE}; + break; + case 4: + hsv = (HSV){HSV_GREEN}; + break; + case 5: + hsv = (HSV){HSV_TEAL}; + break; + case 6: + hsv = (HSV){HSV_PURPLE}; + break; + case 7: + default: + hsv = (HSV){HSV_RED}; + break; + }; + + if (hsv.v > rgb_matrix_get_val()) { + hsv.v = MIN(rgb_matrix_get_val() + 22, 255); + } + RGB rgb = hsv_to_rgb(hsv); + + for (uint8_t i = led_min; i < led_max; i++) { + if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + } + } + return false; +}; +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_3/config.h b/keyboards/bastardkb/dilemma/3x5_3/config.h index d25bb0752845..5488579dee8e 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/config.h +++ b/keyboards/bastardkb/dilemma/3x5_3/config.h @@ -1,5 +1,6 @@ /** * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) * * 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 @@ -21,32 +22,35 @@ #define SPLIT_HAND_PIN GP29 #define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. +/* VBUS detection. */ +#define USB_VBUS_PIN GP19 + /* CRC. */ #define CRC8_USE_TABLE #define CRC8_OPTIMIZE_SPEED /* Cirque trackpad over SPI. */ +#define SPI_DRIVER SPID0 #define SPI_SCK_PIN GP22 #define SPI_MOSI_PIN GP23 #define SPI_MISO_PIN GP20 #define POINTING_DEVICE_CS_PIN GP21 - -/* OLED over i2c. */ -#define I2C1_CLOCK_SPEED 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9 -#define OLED_DISPLAY_HEIGHT 128 +#undef CIRQUE_PINNACLE_DIAMETER_MM +#define CIRQUE_PINNACLE_DIAMETER_MM 40 /* Reset. */ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 -#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT 36 -# define RGB_MATRIX_SPLIT { 18, 18 } -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// Startup values. +# define RGB_MATRIX_DEFAULT_VAL 128 +# define RGB_MATRIX_DEFAULT_SPD 32 #endif diff --git a/keyboards/bastardkb/dilemma/3x5_3/halconf.h b/keyboards/bastardkb/dilemma/3x5_3/halconf.h index b79b0f9e8867..57d15376d63a 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/halconf.h +++ b/keyboards/bastardkb/dilemma/3x5_3/halconf.h @@ -17,7 +17,6 @@ #pragma once -#define HAL_USE_I2C TRUE #define HAL_USE_SPI TRUE #include_next diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json index 4ab43d6a8e84..f3a39613302c 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/info.json +++ b/keyboards/bastardkb/dilemma/3x5_3/info.json @@ -2,28 +2,186 @@ "keyboard_name": "Dilemma (3x5+3) Assembled", "usb": { "device_version": "2.0.0", - "pid": "0x1835" - }, - "rgb_matrix": { - "driver": "ws2812" + "pid": "0x1836" }, + "processor": "RP2040", + "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", "matrix_pins": { "cols": ["GP8", "GP9", "GP7", "GP6", "GP28"], "rows": ["GP4", "GP5", "GP27", "GP26"] }, "diode_direction": "ROW2COL", "split": { - "soft_serial_pin": "GP1" + "enabled": true, + "soft_serial_pin": "GP1", + "bootmagic": { + "matrix": [4, 0] + } + }, + "encoder": { + "enabled" : true, + "rotary" : [ + {"pin_a": "GP25", "pin_b": "GP24"} + ] }, - "rgblight": { - "split_count": [18, 18] + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "caps_word": true, + "tri_layer": true }, "ws2812": { - "pin": "GP0", + "pin": "GP10", "driver": "vendor" }, - "processor": "RP2040", - "bootloader": "rp2040", + "rgb_matrix": { + "driver": "ws2812", + "split_count": [36, 36], + "max_brightness": 176, + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + {"x": 82, "y": 0, "flags": 2}, + {"x": 60, "y": 0, "flags": 2}, + {"x": 22, "y": 0, "flags": 2}, + {"x": 15, "y": 0, "flags": 2}, + + {"x": 0, "y": 25, "flags": 2}, + {"x": 0, "y": 40, "flags": 2}, + {"x": 0, "y": 55, "flags": 2}, + + {"x": 15, "y": 45, "flags": 2}, + {"x": 30, "y": 45, "flags": 2}, + {"x": 35, "y": 60, "flags": 2}, + {"x": 55, "y": 62, "flags": 2}, + + {"x": 72, "y": 64, "flags": 2}, + {"x": 90, "y": 64, "flags": 2}, + {"x": 98, "y": 47, "flags": 2}, + {"x": 107, "y": 40, "flags": 2}, + + {"x": 110, "y": 33, "flags": 2}, + {"x": 110, "y": 19, "flags": 2}, + {"x": 110, "y": 5, "flags": 2}, + + {"matrix": [0, 4], "x": 73, "y": 11, "flags": 4}, + {"matrix": [0, 3], "x": 56, "y": 9, "flags": 4}, + {"matrix": [0, 2], "x": 39, "y": 5, "flags": 4}, + {"matrix": [0, 1], "x": 22, "y": 10, "flags": 4}, + {"matrix": [0, 0], "x": 5, "y": 15, "flags": 1}, + + {"matrix": [1, 0], "x": 5, "y": 30, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 25, "flags": 4}, + {"matrix": [1, 2], "x": 39, "y": 20, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 24, "flags": 4}, + {"matrix": [1, 4], "x": 73, "y": 26, "flags": 4}, + + {"matrix": [2, 4], "x": 73, "y": 41, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 39, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 35, "flags": 4}, + {"matrix": [2, 1], "x": 22, "y": 40, "flags": 4}, + {"matrix": [2, 0], "x": 5, "y": 45, "flags": 1}, + + {"matrix": [3, 2], "x": 45, "y": 51, "flags": 4}, + {"matrix": [3, 0], "x": 64, "y": 53, "flags": 4}, + {"matrix": [3, 1], "x": 81, "y": 60, "flags": 4}, + + {"x": 142, "y": 0, "flags": 2}, + {"x": 164, "y": 0, "flags": 2}, + {"x": 202, "y": 0, "flags": 2}, + {"x": 209, "y": 0, "flags": 2}, + + {"x": 224, "y": 25, "flags": 2}, + {"x": 224, "y": 40, "flags": 2}, + {"x": 224, "y": 55, "flags": 2}, + + {"x": 209, "y": 45, "flags": 2}, + {"x": 194, "y": 45, "flags": 2}, + {"x": 189, "y": 60, "flags": 2}, + {"x": 169, "y": 62, "flags": 2}, + + {"x": 152, "y": 64, "flags": 2}, + {"x": 134, "y": 64, "flags": 2}, + {"x": 126, "y": 47, "flags": 2}, + {"x": 117, "y": 40, "flags": 2}, + + {"x": 114, "y": 33, "flags": 2}, + {"x": 114, "y": 19, "flags": 2}, + {"x": 114, "y": 5, "flags": 2}, + + {"matrix": [4, 4], "x": 151, "y": 11, "flags": 4}, + {"matrix": [4, 3], "x": 168, "y": 9, "flags": 4}, + {"matrix": [4, 2], "x": 185, "y": 5, "flags": 4}, + {"matrix": [4, 1], "x": 202, "y": 10, "flags": 4}, + {"matrix": [4, 0], "x": 219, "y": 15, "flags": 1}, + + {"matrix": [5, 0], "x": 219, "y": 30, "flags": 1}, + {"matrix": [5, 1], "x": 202, "y": 25, "flags": 4}, + {"matrix": [5, 2], "x": 185, "y": 20, "flags": 4}, + {"matrix": [5, 3], "x": 168, "y": 24, "flags": 4}, + {"matrix": [5, 4], "x": 151, "y": 26, "flags": 4}, + + {"matrix": [6, 4], "x": 151, "y": 41, "flags": 4}, + {"matrix": [6, 3], "x": 168, "y": 39, "flags": 4}, + {"matrix": [6, 2], "x": 185, "y": 35, "flags": 4}, + {"matrix": [6, 1], "x": 202, "y": 40, "flags": 4}, + {"matrix": [6, 0], "x": 219, "y": 45, "flags": 1}, + + {"matrix": [7, 2], "x": 179, "y": 51, "flags": 4}, + {"matrix": [7, 0], "x": 160, "y": 53, "flags": 4}, + {"matrix": [7, 1], "x": 143, "y": 60, "flags": 4} + ] + }, "community_layouts": ["split_3x5_3"], "layouts": { "LAYOUT_split_3x5_3": { diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c index 30fef9bbeb01..4185bba7d996 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c +++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c @@ -24,8 +24,8 @@ enum dilemma_keymap_layers { LAYER_NUM, }; -#define NAV MO(LAYER_NAV) -#define SYM MO(LAYER_SYM) +#define NAV QK_TRI_LAYER_LOWER +#define SYM QK_TRI_LAYER_UPPER // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -33,11 +33,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - KC_A, NAV, CW_TOGG, KC_SPC, SYM, KC_A + KC_LCTL, NAV, KC_LGUI, KC_SPC, SYM, KC_A // ╰───────────────────────────╯ ╰──────────────────────────╯ ), @@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, + KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT, + QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A + XXXXXXX, _______, KC_LSFT, KC_SPC, _______, KC_ESC // ╰───────────────────────────╯ ╰──────────────────────────╯ ), @@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ - KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM, + KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, KC_SCLN, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A + KC_ESC, _______, KC_LSFT, KC_SPC, _______, XXXXXXX // ╰───────────────────────────╯ ╰──────────────────────────╯ ), @@ -73,12 +73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ - KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A + XXXXXXX, _______, KC_LSFT, KC_SPC, _______, XXXXXXX // ╰───────────────────────────╯ ╰──────────────────────────╯ ), }; // clang-format on - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM); -} diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h new file mode 100644 index 000000000000..790d6bf751dd --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h @@ -0,0 +1,23 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 8 + +#define SPLIT_LAYER_STATE_ENABLE +#define SPLIT_LED_STATE_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c new file mode 100644 index 000000000000..dacef2231efb --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c @@ -0,0 +1,170 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum dilemma_keymap_layers { + LAYER_BASE = 0, + LAYER_FUNCTION, + LAYER_NAVIGATION, + LAYER_MEDIA, + LAYER_POINTER, + LAYER_NUMERAL, + LAYER_SYMBOLS, +}; + +// Automatically enable sniping-mode on the pointer layer. +// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER + +#define ESC_MED LT(LAYER_MEDIA, KC_ESC) +#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC) +#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB) +#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT) +#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC) +#define PT_Z LT(LAYER_POINTER, KC_Z) +#define PT_SLSH LT(LAYER_POINTER, KC_SLSH) + +#ifndef POINTING_DEVICE_ENABLE +# define DRGSCRL KC_NO +# define DPI_MOD KC_NO +# define S_D_MOD KC_NO +# define SNIPING KC_NO +#endif // !POINTING_DEVICE_ENABLE + +// clang-format off +/** \brief QWERTY layout (3 rows, 10 columns). */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RCTL_T(KC_K), RALT_T(KC_L), RGUI_T(KC_QUOT), + PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, + ESC_MED, TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM, KC_MUTE + ), + +/* + * Layers used on the Dilemma. + * + * These layers started off heavily inspired by the Miryoku layout, but trimmed + * down and tailored for a stock experience that is meant to be fundation for + * further personalization. + * + * See https://github.com/manna-harbour/miryoku for the original layout. + */ + +/** + * \brief Function layer. + * + * Secondary right-hand layer has function keys mirroring the numerals on the + * primary layer with extras on the pinkie column, plus system keys on the inner + * column. App is on the tertiary thumb key and other thumb keys are duplicated + * from the base layer to enable auto-repeat. + */ + [LAYER_FUNCTION] = LAYOUT_split_3x5_3( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, + XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + +/** + * \brief Navigation layer. + * + * Primary right-hand layer (left home thumb) is navigation and editing. Cursor + * keys are on the home position, line and page movement below, clipboard above, + * caps lock and insert on the inner column. Thumb keys are duplicated from the + * base layer to avoid having to layer change mid edit and to enable auto-repeat. + */ + [LAYER_NAVIGATION] = LAYOUT_split_3x5_3( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, + XXXXXXX, XXXXXXX, _______, KC_ENT, KC_BSPC, KC_DEL + ), + +/** + * \brief Media layer. + * + * Tertiary left- and right-hand layer is media and RGB control. This layer is + * symmetrical to accomodate the left- and right-hand trackball. + */ + [LAYER_MEDIA] = LAYOUT_split_3x5_3( + XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, + KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY, KC_MUTE + ), + +/** \brief Mouse emulation and pointer functions. */ + [LAYER_POINTER] = LAYOUT_split_3x5_3( + QK_BOOT, EE_CLR, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, EE_CLR, QK_BOOT, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______, + KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_BTN3 + ), + +/** + * \brief Numeral layout. + * + * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals + * are in the standard numpad locations with symbols in the remaining positions. + * `KC_DOT` is duplicated from the base layer. + */ + [LAYER_NUMERAL] = LAYOUT_split_3x5_3( + KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_DOT, KC_MINS, KC_0, XXXXXXX, _______, XXXXXXX + ), + +/** + * \brief Symbols layer. + * + * Secondary left-hand layer has shifted symbols in the same locations to reduce + * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to + * `KC_RPRN`. + */ + [LAYER_SYMBOLS] = LAYOUT_split_3x5_3( + KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LPRN, KC_GRV, KC_UNDS, _______, XXXXXXX, XXXXXXX + ), +}; +// clang-format on + +#ifdef POINTING_DEVICE_ENABLE +# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER +layer_state_t layer_state_set_user(layer_state_t state) { + dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); + return state; +} +# endif // DILEMMA_AUTO_SNIPING_ON_LAYER +#endif // POINTING_DEVICE_ENABLE + +#ifdef ENCODER_MAP_ENABLE +// clang-format off +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [LAYER_FUNCTION] = {ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)}, + [LAYER_NAVIGATION] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)}, + [LAYER_NUMERAL] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI)}, + [LAYER_SYMBOLS] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)}, +}; +// clang-format on +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md new file mode 100644 index 000000000000..4552f0948dc2 --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md @@ -0,0 +1,47 @@ +# Dilemma `via` keymap + +The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma. + +This layout also supports VIA. + +## Customizing the keymap + +### Dynamic DPI scaling + +Use the following keycodes to change the default DPI: + +- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +Use the following keycodes to change the sniping mode DPI: + +- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +### Drag-scroll + +Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press. + +### Circular scroll + +By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad. + +To disable this, add the following to your keymap: + +```c +#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE +``` + +### Sniping + +Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press. + +Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer: + +```c +#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER +``` \ No newline at end of file diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk new file mode 100644 index 000000000000..f1adcab005e8 --- /dev/null +++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h index f194dd225ced..52b726a56d5f 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h +++ b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h @@ -19,8 +19,5 @@ #include_next -#undef RP_SPI_USE_SPI1 -#define RP_SPI_USE_SPI1 TRUE - -#undef RP_I2C_USE_I2C1 -#define RP_I2C_USE_I2C1 TRUE +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/dilemma/3x5_3/readme.md b/keyboards/bastardkb/dilemma/3x5_3/readme.md index bfddbc9efc38..b57df90921cf 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/readme.md +++ b/keyboards/bastardkb/dilemma/3x5_3/readme.md @@ -1,5 +1,5 @@ -# Next generation Dilemma keyboard +# Dilemma v2 (3x5+3 assembled) This keyboard is an updated version of the [3x5+2 Dilemma](../3x5_2/). -This is still under active development, and not available publicly yet. +The Dilemma v2 is available at [bastardkb.com](https://bastardkb.com). diff --git a/keyboards/bastardkb/dilemma/3x5_3/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/rules.mk index 3cdb41160c21..4923c2c84a50 100644 --- a/keyboards/bastardkb/dilemma/3x5_3/rules.mk +++ b/keyboards/bastardkb/dilemma/3x5_3/rules.mk @@ -1,24 +1,4 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -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 - -AUDIO_SUPPORTED = no # Audio is not supported -RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default -RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default -RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality - SERIAL_DRIVER = vendor POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = cirque_pinnacle_spi - -SPLIT_KEYBOARD = yes diff --git a/keyboards/bastardkb/dilemma/4x6_4/config.h b/keyboards/bastardkb/dilemma/4x6_4/config.h index 9c76cb76f9e0..bd595385b091 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/config.h +++ b/keyboards/bastardkb/dilemma/4x6_4/config.h @@ -45,7 +45,7 @@ /* RGB matrix support. */ #define SPLIT_TRANSPORT_MIRROR -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/bastardkb/dilemma/config.h b/keyboards/bastardkb/dilemma/config.h index d282c635eab4..0da85ec99ade 100644 --- a/keyboards/bastardkb/dilemma/config.h +++ b/keyboards/bastardkb/dilemma/config.h @@ -26,6 +26,9 @@ // Pointing device is on the right split. #define POINTING_DEVICE_RIGHT +// Enables support for extended i16 mouse reports (instead of i8). +#define MOUSE_EXTENDED_REPORT + // Limits the frequency that the sensor is polled for motion. #define POINTING_DEVICE_TASK_THROTTLE_MS 10 diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h index ec538f8a55b6..bc3bcb4833ef 100644 --- a/keyboards/bastardkb/scylla/config.h +++ b/keyboards/bastardkb/scylla/config.h @@ -24,6 +24,6 @@ # define RGB_MATRIX_LED_COUNT 58 # define RGB_MATRIX_SPLIT { 29, 29 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h index 58dacb5c53b0..48254935cb83 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -24,6 +24,6 @@ # define RGB_MATRIX_LED_COUNT 36 # define RGB_MATRIX_SPLIT { 18, 18 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index 1a1540b280da..6705619ee3d0 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -24,6 +24,6 @@ # define RGB_MATRIX_LED_COUNT 42 # define RGB_MATRIX_SPLIT { 21, 21 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h index a56bd0f2e72e..2469b627e266 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h +++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h @@ -27,8 +27,8 @@ along with this program. If not, see . // #define EE_HANDS // Underglow -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs +#undef RGBLIGHT_LED_COUNT +#define RGBLIGHT_LED_COUNT 14 // Number of LEDs #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/binepad/bn006/config.h b/keyboards/binepad/bn006/config.h index 0569ccff03cf..9ca25f2d9eff 100755 --- a/keyboards/binepad/bn006/config.h +++ b/keyboards/binepad/bn006/config.h @@ -14,7 +14,7 @@ #define RGB_MATRIX_LED_COUNT 6 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING // Sets the default mode, if none has been set #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards diff --git a/keyboards/bioi/bluetooth_custom.c b/keyboards/bioi/bluetooth_custom.c index 4ea277f731a6..ece777d9acfa 100644 --- a/keyboards/bioi/bluetooth_custom.c +++ b/keyboards/bioi/bluetooth_custom.c @@ -77,6 +77,8 @@ void bluetooth_init(void) { void bluetooth_task(void) {} +bool bluetooth_is_connected(void) { return true; } // lie + void bluetooth_send_keyboard(report_keyboard_t *report) { #ifdef BLUEFRUIT_TRACE_SERIAL @@ -161,3 +163,12 @@ void bluetooth_send_consumer(uint16_t usage) bluefruit_trace_footer(); #endif } + +const bluetooth_driver_t bluetooth_driver = { + .init = bluetooth_init, + .task = bluetooth_task, + .is_connected = bluetooth_is_connected, + .send_keyboard = bluetooth_send_keyboard, + .send_mouse = bluetooth_send_mouse, + .send_consumer = bluetooth_send_consumer, +}; diff --git a/keyboards/blockboy/ac980mini/config.h b/keyboards/blockboy/ac980mini/config.h index b98cb7964fdb..0734d9beaff2 100644 --- a/keyboards/blockboy/ac980mini/config.h +++ b/keyboards/blockboy/ac980mini/config.h @@ -10,7 +10,7 @@ #ifdef RGB_MATRIX_ENABLE //# define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended //# define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h index 236254317a55..34bf18fcc81f 100644 --- a/keyboards/boardsource/microdox/v2/config.h +++ b/keyboards/boardsource/microdox/v2/config.h @@ -5,7 +5,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_LED_COUNT 44 #define RGB_MATRIX_SPLIT { 22, 22 } -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h index 6d9c9642de65..b87d7af2e5f4 100644 --- a/keyboards/boardsource/the_mark/config.h +++ b/keyboards/boardsource/the_mark/config.h @@ -19,7 +19,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_COUNT 24 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT # define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/boardsource/unicorne/config.h b/keyboards/boardsource/unicorne/config.h index 5843a0c84729..68172deb6951 100644 --- a/keyboards/boardsource/unicorne/config.h +++ b/keyboards/boardsource/unicorne/config.h @@ -4,7 +4,7 @@ #define RGB_MATRIX_LED_COUNT 54 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c index 065268c5318a..55569f504921 100644 --- a/keyboards/canary/canary60rgb/canary60rgb.c +++ b/keyboards/canary/canary60rgb/canary60rgb.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, J_14, K_14, L_14 }, { 0, J_13, K_13, L_13 }, { 0, J_12, K_12, L_12 }, diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h index ab5c817000eb..35ce5e53b77a 100644 --- a/keyboards/canary/canary60rgb/v1/config.h +++ b/keyboards/canary/canary60rgb/v1/config.h @@ -16,7 +16,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index ca124775d72e..1921c408bd3e 100644 --- a/keyboards/checkerboards/quark_lp/config.h +++ b/keyboards/checkerboards/quark_lp/config.h @@ -25,7 +25,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 51 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash. // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/cherrybstudio/cb87rgb/config.h b/keyboards/cherrybstudio/cb87rgb/config.h index a4643fae38aa..95352f29bee7 100644 --- a/keyboards/cherrybstudio/cb87rgb/config.h +++ b/keyboards/cherrybstudio/cb87rgb/config.h @@ -14,7 +14,7 @@ along with this program. If not, see . #pragma once #define RGB_MATRIX_LED_COUNT 92 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c index ad7ec9bc553e..b864a56bc651 100644 --- a/keyboards/chosfox/cf81/cf81.c +++ b/keyboards/chosfox/cf81/cf81.c @@ -18,7 +18,7 @@ // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/chosfox/cf81/config.h b/keyboards/chosfox/cf81/config.h index ae0d87d935bb..7ecf8dd90505 100644 --- a/keyboards/chosfox/cf81/config.h +++ b/keyboards/chosfox/cf81/config.h @@ -40,7 +40,7 @@ #define DRIVER_2_LED_TOTAL 20 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 22) -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_TRIGGER_ON_KEYDOWN #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h index 6643e610c03f..42e8f0f5256c 100644 --- a/keyboards/chromatonemini/config.h +++ b/keyboards/chromatonemini/config.h @@ -51,7 +51,7 @@ along with this program. If not, see . // https://docs.qmk.fm/#/feature_rgb_matrix // Enable suspend mode. -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP #endif // RGB_MATRIX_ENABLE /* Audio */ diff --git a/keyboards/churrosoft/deck8/rgb/config.h b/keyboards/churrosoft/deck8/rgb/config.h index 2454c42fbabf..e22e1caef3ad 100644 --- a/keyboards/churrosoft/deck8/rgb/config.h +++ b/keyboards/churrosoft/deck8/rgb/config.h @@ -21,7 +21,7 @@ #define RGB_MATRIX_DEFAULT_HUE 152 #define RGB_MATRIX_DEFAULT_SAT 232 #define RGB_MATRIX_DEFAULT_VAL 180 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/clickety_split/leeloo/keymaps/default/config.h b/keyboards/clickety_split/leeloo/keymaps/default/config.h index e41b3d34aaa2..2fa2ed15b65f 100644 --- a/keyboards/clickety_split/leeloo/keymaps/default/config.h +++ b/keyboards/clickety_split/leeloo/keymaps/default/config.h @@ -23,7 +23,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 115 // limits maximum brightness of LEDs to 150 out of 255. diff --git a/keyboards/clickety_split/leeloo/rev2/config.h b/keyboards/clickety_split/leeloo/rev2/config.h index 2aa1acd97219..8150511acd90 100644 --- a/keyboards/clickety_split/leeloo/rev2/config.h +++ b/keyboards/clickety_split/leeloo/rev2/config.h @@ -18,5 +18,5 @@ # define RGB_MATRIX_LED_COUNT 74 # define RGB_MATRIX_SPLIT {37, 37} -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/clickety_split/leeloo/rev3/config.h b/keyboards/clickety_split/leeloo/rev3/config.h index ac9315022149..a30477391b11 100644 --- a/keyboards/clickety_split/leeloo/rev3/config.h +++ b/keyboards/clickety_split/leeloo/rev3/config.h @@ -18,5 +18,5 @@ # define RGB_MATRIX_LED_COUNT 58 # define RGB_MATRIX_SPLIT {29, 29} -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c index 7af0b964da5e..e13a05de054f 100644 --- a/keyboards/clueboard/66_hotswap/gen1/gen1.c +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef LED_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/controllerworks/mini36/keymaps/default/config.h b/keyboards/controllerworks/mini36/keymaps/default/config.h index 77da61828c1d..aeca5716c0f1 100644 --- a/keyboards/controllerworks/mini36/keymaps/default/config.h +++ b/keyboards/controllerworks/mini36/keymaps/default/config.h @@ -21,7 +21,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/controllerworks/mini36/keymaps/via/config.h b/keyboards/controllerworks/mini36/keymaps/via/config.h index 77da61828c1d..aeca5716c0f1 100644 --- a/keyboards/controllerworks/mini36/keymaps/via/config.h +++ b/keyboards/controllerworks/mini36/keymaps/via/config.h @@ -21,7 +21,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/controllerworks/mini42/keymaps/default/config.h b/keyboards/controllerworks/mini42/keymaps/default/config.h index 77da61828c1d..aeca5716c0f1 100644 --- a/keyboards/controllerworks/mini42/keymaps/default/config.h +++ b/keyboards/controllerworks/mini42/keymaps/default/config.h @@ -21,7 +21,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/controllerworks/mini42/keymaps/via/config.h b/keyboards/controllerworks/mini42/keymaps/via/config.h index e11d5aa37fa0..5e70c0934334 100644 --- a/keyboards/controllerworks/mini42/keymaps/via/config.h +++ b/keyboards/controllerworks/mini42/keymaps/via/config.h @@ -22,7 +22,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/crkbd/keymaps/colemak_luna/config.h b/keyboards/crkbd/keymaps/colemak_luna/config.h index 1975c913661e..546e01bdba96 100644 --- a/keyboards/crkbd/keymaps/colemak_luna/config.h +++ b/keyboards/crkbd/keymaps/colemak_luna/config.h @@ -45,7 +45,7 @@ along with this program. If not, see . //# define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended //# define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/crkbd/keymaps/mb_via/readme.md b/keyboards/crkbd/keymaps/mb_via/readme.md deleted file mode 100644 index 048927073ba8..000000000000 --- a/keyboards/crkbd/keymaps/mb_via/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Default Via keyboard for the Corne R2G by Mechboards UK - -![r2g](https://cdn.shopify.com/s/files/1/0582/0242/3501/products/HelidoxCorneR2GPCB_1800x1800.png) - -Corne R2G is an eddition of the classic CRKBD by footsan remade to feature a full smd assembly - -In this fold can be found the default via enabled keymap that can be in conjunction - -Flash example for this Keymap: -```sh -qmk flash -kb crkbd/r2g -km mb_via -``` diff --git a/keyboards/crkbd/keymaps/mb_via/config.h b/keyboards/crkbd/keymaps/via_mechboards/config.h similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/config.h rename to keyboards/crkbd/keymaps/via_mechboards/config.h diff --git a/keyboards/crkbd/keymaps/mb_via/keymap.c b/keyboards/crkbd/keymaps/via_mechboards/keymap.c similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/keymap.c rename to keyboards/crkbd/keymaps/via_mechboards/keymap.c diff --git a/keyboards/crkbd/keymaps/via_mechboards/readme.md b/keyboards/crkbd/keymaps/via_mechboards/readme.md new file mode 100644 index 000000000000..a173bc43ecb3 --- /dev/null +++ b/keyboards/crkbd/keymaps/via_mechboards/readme.md @@ -0,0 +1,10 @@ +# Default Via keymap for the Corne R2G by Mechboards UK + +Corne R2G is an edition of the classic CRKBD by foostan remade to feature full smd assembly + +In this folder can be found the default via enabled keymap that can be in conjunction with the mechboards R2G PCB. + +Flash example for this Keymap: +```sh +qmk flash -kb crkbd/r2g -km via_mechboards +``` diff --git a/keyboards/crkbd/keymaps/mb_via/rules.mk b/keyboards/crkbd/keymaps/via_mechboards/rules.mk similarity index 100% rename from keyboards/crkbd/keymaps/mb_via/rules.mk rename to keyboards/crkbd/keymaps/via_mechboards/rules.mk diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md index 75267463b299..4297ee56d901 100644 --- a/keyboards/crkbd/readme.md +++ b/keyboards/crkbd/readme.md @@ -43,7 +43,7 @@ And in your `config.h` file, add the following: #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/darkproject/kd83a_bfg_edition/config.h b/keyboards/darkproject/kd83a_bfg_edition/config.h index 9cf993b8613c..0bc6f88ce162 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/config.h +++ b/keyboards/darkproject/kd83a_bfg_edition/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c index e78de78bf80b..550520e790a8 100644 --- a/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c +++ b/keyboards/darkproject/kd83a_bfg_edition/kd83a_bfg_edition.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/darkproject/kd87a_bfg_edition/config.h b/keyboards/darkproject/kd87a_bfg_edition/config.h index 4ac83ab9f627..a8173b53ddf2 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/config.h +++ b/keyboards/darkproject/kd87a_bfg_edition/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c index 0ce0799e14cb..22d10488d2d2 100644 --- a/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c +++ b/keyboards/darkproject/kd87a_bfg_edition/kd87a_bfg_edition.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/deemen17/de60fs/config.h b/keyboards/deemen17/de60fs/config.h index d6b5efcc2fd3..e21d4ae37329 100644 --- a/keyboards/deemen17/de60fs/config.h +++ b/keyboards/deemen17/de60fs/config.h @@ -19,4 +19,4 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U -#define RP2040_FLASH_GENERIC_03H \ No newline at end of file +#define RP2040_FLASH_GENERIC_03H diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h index d1c1201a5488..b6a3484a2604 100644 --- a/keyboards/dm9records/ergoinu/config.h +++ b/keyboards/dm9records/ergoinu/config.h @@ -25,7 +25,7 @@ along with this program. If not, see . // #define EE_HANDS #ifndef IOS_DEVICE_ENABLE - #if RGBLED_NUM <= 7 + #if RGBLIGHT_LED_COUNT <= 7 #define RGBLIGHT_LIMIT_VAL 255 #define RGBLIGHT_VAL_STEP 17 #endif diff --git a/keyboards/doio/kb12/config.h b/keyboards/doio/kb12/config.h index d853409b8587..aaf474d3bfe3 100644 --- a/keyboards/doio/kb12/config.h +++ b/keyboards/doio/kb12/config.h @@ -20,7 +20,7 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 12 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/doio/kb30/config.h b/keyboards/doio/kb30/config.h index 586a61c7a09f..f958603a8051 100644 --- a/keyboards/doio/kb30/config.h +++ b/keyboards/doio/kb30/config.h @@ -39,7 +39,7 @@ #define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/dp3000/config.h b/keyboards/dp3000/config.h index 26e9f037f58d..8d889e2c9f1a 100644 --- a/keyboards/dp3000/config.h +++ b/keyboards/dp3000/config.h @@ -22,4 +22,4 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c index 588acd591d10..5f23b355424b 100644 --- a/keyboards/dp60/dp60.c +++ b/keyboards/dp60/dp60.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/drop/alt/v2/v2.c b/keyboards/drop/alt/v2/v2.c index fcdad7f2df94..d3bb78fd12c8 100644 --- a/keyboards/drop/alt/v2/v2.c +++ b/keyboards/drop/alt/v2/v2.c @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 1, B_2, A_2, C_2 }, { 1, E_3, D_3, F_3 }, { 1, E_4, D_4, F_4 }, diff --git a/keyboards/drop/cstm65/cstm65.c b/keyboards/drop/cstm65/cstm65.c index ccb86f1d3e9b..1c8e6bb0bbc7 100644 --- a/keyboards/drop/cstm65/cstm65.c +++ b/keyboards/drop/cstm65/cstm65.c @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/drop/cstm80/cstm80.c b/keyboards/drop/cstm80/cstm80.c index 75e7049c2007..e99c7801e58b 100644 --- a/keyboards/drop/cstm80/cstm80.c +++ b/keyboards/drop/cstm80/cstm80.c @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, E_1, D_1, F_1 }, { 0, E_2, D_2, F_2 }, { 0, E_3, D_3, F_3 }, diff --git a/keyboards/drop/ctrl/v2/v2.c b/keyboards/drop/ctrl/v2/v2.c index 6b565efbe1bd..0c1d8210c634 100644 --- a/keyboards/drop/ctrl/v2/v2.c +++ b/keyboards/drop/ctrl/v2/v2.c @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 1, B_2, A_2, C_2 }, { 1, E_3, D_3, F_3 }, { 1, E_4, D_4, F_4 }, diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c index 057e31074892..bbe5a3aa4717 100644 --- a/keyboards/drop/sense75/sense75.c +++ b/keyboards/drop/sense75/sense75.c @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { // top underglow sd2-sd17 { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/drop/shift/v2/v2.c b/keyboards/drop/shift/v2/v2.c index 8565a0cb269b..cbfbeda4294d 100644 --- a/keyboards/drop/shift/v2/v2.c +++ b/keyboards/drop/shift/v2/v2.c @@ -4,7 +4,7 @@ # include "host.h" # include "rgb_matrix.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_1, J_1, L_1 },// LED1 { 0, K_2, J_2, L_2 }, { 0, K_3, J_3, L_3 }, diff --git a/keyboards/dtisaac/dosa40rgb/config.h b/keyboards/dtisaac/dosa40rgb/config.h index 0ad383a688ed..8e5c59a87eec 100644 --- a/keyboards/dtisaac/dosa40rgb/config.h +++ b/keyboards/dtisaac/dosa40rgb/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/duck/jetfire/indicator_leds.h b/keyboards/duck/jetfire/indicator_leds.h index d94709d1cb1a..36dda632fbc4 100644 --- a/keyboards/duck/jetfire/indicator_leds.h +++ b/keyboards/duck/jetfire/indicator_leds.h @@ -6,6 +6,6 @@ void backlight_init_ports(void); void backlight_set_state(bool cfg[7]); void backlight_update_state(void); void backlight_toggle_rgb(bool enabled); -void backlight_set_rgb(uint8_t cfg[RGBLED_NUM][3]); +void backlight_set_rgb(uint8_t cfg[RGBLIGHT_LED_COUNT][3]); void backlight_set(uint8_t level); void send_color(uint8_t r, uint8_t g, uint8_t b, enum Device device); diff --git a/keyboards/duck/jetfire/jetfire.c b/keyboards/duck/jetfire/jetfire.c index 23e6e9095a5c..45a46766fd61 100644 --- a/keyboards/duck/jetfire/jetfire.c +++ b/keyboards/duck/jetfire/jetfire.c @@ -44,10 +44,10 @@ uint8_t backlight_state_led = 1<1 # define TAP_FRAMES 2 -# define TAP_SPEED 40 // above this wpm value typing animation to trigger +# define TAP_SPEED 40 // above this wpm value typing animation to trigger -# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms +# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms // #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing -# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024 +# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024 uint32_t anim_timer = 0; uint32_t anim_sleep = 0; @@ -111,7 +114,7 @@ static void render_anim(void) { } if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1 - oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 + oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 } if (get_current_wpm() >= TAP_SPEED) { current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; @@ -119,7 +122,7 @@ static void render_anim(void) { } } if (get_current_wpm() != 000) { - oled_on(); // not essential but turns on animation OLED with any alpha keypress + oled_on(); // not essential but turns on animation OLED with any alpha keypress if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { anim_timer = timer_read32(); animation_phase(); @@ -138,18 +141,21 @@ static void render_anim(void) { } // Used to draw on to the oled screen -bool oled_task_user(void) { - render_anim(); // renders pixelart +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + render_anim(); // renders pixelart - oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top) + oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top) oled_write_P(PSTR("WPM: "), false); oled_write(get_u8_str(get_current_wpm(), '0'), false); - oled_write(wpm_str, false); // writes wpm on top left corner of string + oled_write(wpm_str, false); // writes wpm on top left corner of string - led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on + led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on oled_set_cursor(0, 1); oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - return false; + return true; } #endif diff --git a/keyboards/dumbpad/v3x/config.h b/keyboards/dumbpad/v3x/config.h index 7667bb39d06a..5c4d6bdf60c6 100644 --- a/keyboards/dumbpad/v3x/config.h +++ b/keyboards/dumbpad/v3x/config.h @@ -26,7 +26,7 @@ along with this program. If not, see . // Cleanup RGB #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index 7c85f977ba89..e1626436a508 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -50,7 +50,7 @@ #define I2C1_TIMINGR_SCLH 0x0cU #define I2C1_TIMINGR_SCLL 0x22U -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c index aa903c3a0a0f..cd1f10c4f99e 100644 --- a/keyboards/durgod/dgk6x/galaxy/galaxy.c +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c index 2d1907f4dbb0..225a7c13ddf4 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c +++ b/keyboards/durgod/dgk6x/hades_ansi/hades_ansi.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c index 42f43645f580..6dd732c454b6 100644 --- a/keyboards/durgod/dgk6x/hades_iso/hades_iso.c +++ b/keyboards/durgod/dgk6x/hades_iso/hades_iso.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c index d48e95fb212a..9de5f2e63d56 100644 --- a/keyboards/durgod/dgk6x/venus/venus.c +++ b/keyboards/durgod/dgk6x/venus/venus.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c index 826e3502ebf5..593b2d96ff33 100644 --- a/keyboards/dztech/dz60rgb/dz60rgb.c +++ b/keyboards/dztech/dz60rgb/dz60rgb.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h index af7267892279..2efe2189a54c 100644 --- a/keyboards/dztech/dz60rgb/v1/config.h +++ b/keyboards/dztech/dz60rgb/v1/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h index 2470e7b3f9af..f0ddcc247f29 100644 --- a/keyboards/dztech/dz60rgb/v2/config.h +++ b/keyboards/dztech/dz60rgb/v2/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h index 05cfa7d4e122..9fa6c3b3c16d 100644 --- a/keyboards/dztech/dz60rgb/v2_1/config.h +++ b/keyboards/dztech/dz60rgb/v2_1/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c index 5c0692202856..a4cfd2551ecc 100644 --- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h index 674871ec49c5..0d5c9ecfd56c 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h index 0b458818bca2..afd33f038cca 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h index 75ccef8193c2..94b1a08a0444 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended // # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c index d6506389a680..4326b6f9afdd 100644 --- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, H_15, G_15, I_15 }, { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h index ac79efd26cde..5b1fc610fd5a 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h index a341a18e0d60..200b96f85f6a 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h index 13169e21f5e2..b8d0a248da08 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h index edfc7b71716b..91f2d49fea16 100644 --- a/keyboards/dztech/dz64rgb/config.h +++ b/keyboards/dztech/dz64rgb/config.h @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/dztech/dz64rgb/dz64rgb.c b/keyboards/dztech/dz64rgb/dz64rgb.c index 561a9727e50d..09a535ab474d 100644 --- a/keyboards/dztech/dz64rgb/dz64rgb.c +++ b/keyboards/dztech/dz64rgb/dz64rgb.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h index b9203346dd77..a9993dbdd188 100644 --- a/keyboards/dztech/dz65rgb/v1/config.h +++ b/keyboards/dztech/dz65rgb/v1/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c index a0a355e1209e..6e8cf96e4c84 100644 --- a/keyboards/dztech/dz65rgb/v1/v1.c +++ b/keyboards/dztech/dz65rgb/v1/v1.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h index 600687c2451b..b079ce2b143e 100644 --- a/keyboards/dztech/dz65rgb/v2/config.h +++ b/keyboards/dztech/dz65rgb/v2/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c index 7754bc4ee511..a9f7fc104f98 100644 --- a/keyboards/dztech/dz65rgb/v2/v2.c +++ b/keyboards/dztech/dz65rgb/v2/v2.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h index 1398a378f860..c88dc665c9d4 100755 --- a/keyboards/dztech/dz65rgb/v3/config.h +++ b/keyboards/dztech/dz65rgb/v3/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define USB_SUSPEND_WAKEUP_DELAY 5000 # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c index 0fb8ba49de75..2055e6e3c2f6 100755 --- a/keyboards/dztech/dz65rgb/v3/v3.c +++ b/keyboards/dztech/dz65rgb/v3/v3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW3, CS20_SW3, CS19_SW3}, diff --git a/keyboards/dztech/tofu/ii/v1/config.h b/keyboards/dztech/tofu/ii/v1/config.h index 36741e116800..db4bb543abc8 100644 --- a/keyboards/dztech/tofu/ii/v1/config.h +++ b/keyboards/dztech/tofu/ii/v1/config.h @@ -24,7 +24,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define USB_SUSPEND_WAKEUP_DELAY 5000 # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/dztech/tofu/ii/v1/v1.c b/keyboards/dztech/tofu/ii/v1/v1.c index 8baf0235bd2f..dd18f86bf89b 100644 --- a/keyboards/dztech/tofu/ii/v1/v1.c +++ b/keyboards/dztech/tofu/ii/v1/v1.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { { 1, K_12, J_12, L_12 }, { 1, K_11, J_11, L_11 }, { 1, K_10, J_10, L_10 }, diff --git a/keyboards/dztech/tofu/jr/v1/config.h b/keyboards/dztech/tofu/jr/v1/config.h index 74e5ed084843..c5a8140def99 100644 --- a/keyboards/dztech/tofu/jr/v1/config.h +++ b/keyboards/dztech/tofu/jr/v1/config.h @@ -24,7 +24,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define USB_SUSPEND_WAKEUP_DELAY 5000 # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/dztech/tofu/jr/v1/v1.c b/keyboards/dztech/tofu/jr/v1/v1.c index 474134cb5efb..46b16317ac70 100644 --- a/keyboards/dztech/tofu/jr/v1/v1.c +++ b/keyboards/dztech/tofu/jr/v1/v1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { { 1, K_12, J_12, L_12 }, { 1, K_11, J_11, L_11 }, { 1, K_10, J_10, L_10 }, diff --git a/keyboards/era/klein/info.json b/keyboards/era/klein/info.json deleted file mode 100644 index ac08cbb8a2bc..000000000000 --- a/keyboards/era/klein/info.json +++ /dev/null @@ -1,590 +0,0 @@ -{ - "manufacturer": "SIRIND", - "keyboard_name": "Klein", - "maintainer": "eerraa", - "backlight": { - "levels": 5, - "pin": "GP15" - }, - "bootloader": "rp2040", - "build": { - "debounce_type": "sym_defer_pk" - }, - "diode_direction": "COL2ROW", - "features": { - "backlight": true, - "bootmagic": true, - "extrakey": true, - "mousekey": true, - "nkro": true, - "rgb_matrix": true - }, - "indicators": { - "caps_lock": "GP16", - "on_state": 0, - "scroll_lock": "GP17" - }, - "matrix_pins": { - "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"], - "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"] - }, - "processor": "RP2040", - "rgb_matrix": { - "animations": { - "alphas_mods": true, - "gradient_up_down": true, - "gradient_left_right": true, - "breathing": true, - "band_sat": true, - "band_val": true, - "band_pinwheel_sat": true, - "band_pinwheel_val": true, - "band_spiral_sat": true, - "band_spiral_val": true, - "cycle_all": true, - "cycle_left_right": true, - "cycle_up_down": true, - "rainbow_moving_chevron": true, - "cycle_out_in": true, - "cycle_out_in_dual": true, - "cycle_pinwheel": true, - "cycle_spiral": true, - "dual_beacon": true, - "rainbow_beacon": true, - "rainbow_pinwheels": true, - "raindrops": true, - "jellybean_raindrops": true, - "hue_breathing": true, - "hue_pendulum": true, - "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, - "solid_reactive_simple": true, - "solid_reactive": true, - "solid_reactive_wide": true, - "solid_reactive_multiwide": true, - "solid_reactive_cross": true, - "solid_reactive_multicross": true, - "solid_reactive_nexus": true, - "solid_reactive_multinexus": true, - "splash": true, - "multisplash": true, - "solid_splash": true, - "solid_multisplash": true - }, - "driver": "ws2812", - "layout": [ - {"matrix": [0, 7], "x": 4, "y": 0, "flags": 1}, - {"matrix": [0, 6], "x": 20, "y": 2, "flags": 4}, - {"matrix": [0, 5], "x": 32, "y": 2, "flags": 4}, - {"matrix": [0, 4], "x": 45, "y": 1, "flags": 4}, - {"matrix": [0, 3], "x": 58, "y": 3, "flags": 4}, - {"matrix": [0, 2], "x": 71, "y": 5, "flags": 4}, - {"matrix": [0, 1], "x": 83, "y": 8, "flags": 4}, - {"matrix": [0, 0], "x": 96, "y": 10, "flags": 4}, - {"matrix": [1, 0], "x": 129, "y": 9, "flags": 4}, - {"matrix": [1, 1], "x": 141, "y": 7, "flags": 4}, - {"matrix": [1, 2], "x": 154, "y": 4, "flags": 4}, - {"matrix": [1, 3], "x": 166, "y": 2, "flags": 4}, - {"matrix": [1, 4], "x": 179, "y": 1, "flags": 4}, - {"matrix": [1, 5], "x": 192, "y": 2, "flags": 4}, - {"matrix": [1, 6], "x": 211, "y": 2, "flags": 1}, - {"matrix": [1, 7], "x": 1, "y": 13, "flags": 1}, - {"matrix": [2, 6], "x": 21, "y": 15, "flags": 1}, - {"matrix": [2, 5], "x": 36, "y": 15, "flags": 4}, - {"matrix": [2, 4], "x": 50, "y": 15, "flags": 4}, - {"matrix": [2, 3], "x": 62, "y": 17, "flags": 4}, - {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4}, - {"matrix": [2, 1], "x": 87, "y": 22, "flags": 4}, - {"matrix": [2, 0], "x": 100, "y": 24, "flags": 4}, - {"matrix": [3, 1], "x": 125, "y": 23, "flags": 4}, - {"matrix": [3, 2], "x": 137, "y": 21, "flags": 4}, - {"matrix": [3, 3], "x": 150, "y": 18, "flags": 4}, - {"matrix": [3, 4], "x": 162, "y": 16, "flags": 4}, - {"matrix": [3, 5], "x": 175, "y": 15, "flags": 4}, - {"matrix": [3, 6], "x": 188, "y": 15, "flags": 4}, - {"matrix": [4, 6], "x": 201, "y": 15, "flags": 4}, - {"matrix": [4, 5], "x": 217, "y": 15, "flags": 4}, - {"matrix": [4, 3], "x": 0, "y": 27, "flags": 1}, - {"matrix": [4, 1], "x": 18, "y": 29, "flags": 1}, - {"matrix": [0, 8], "x": 38, "y": 29, "flags": 4}, - {"matrix": [0, 9], "x": 51, "y": 29, "flags": 4}, - {"matrix": [0, 10], "x": 64, "y": 31, "flags": 4}, - {"matrix": [0, 11], "x": 76, "y": 33, "flags": 4}, - {"matrix": [0, 12], "x": 89, "y": 36, "flags": 4}, - {"matrix": [0, 13], "x": 129, "y": 36, "flags": 4}, - {"matrix": [0, 15], "x": 142, "y": 33, "flags": 4}, - {"matrix": [1, 15], "x": 154, "y": 31, "flags": 4}, - {"matrix": [1, 14], "x": 167, "y": 29, "flags": 4}, - {"matrix": [1, 13], "x": 180, "y": 29, "flags": 4}, - {"matrix": [1, 12], "x": 193, "y": 29, "flags": 4}, - {"matrix": [1, 11], "x": 213, "y": 29, "flags": 1}, - {"matrix": [1, 10], "x": 21, "y": 42, "flags": 1}, - {"matrix": [1, 9], "x": 42, "y": 42, "flags": 4}, - {"matrix": [1, 8], "x": 60, "y": 57, "flags": 4}, - {"matrix": [2, 8], "x": 67, "y": 45, "flags": 4}, - {"matrix": [2, 9], "x": 80, "y": 47, "flags": 4}, - {"matrix": [2, 10], "x": 92, "y": 50, "flags": 4}, - {"matrix": [2, 11], "x": 126, "y": 50, "flags": 4}, - {"matrix": [2, 12], "x": 138, "y": 48, "flags": 4}, - {"matrix": [2, 13], "x": 151, "y": 45, "flags": 4}, - {"matrix": [2, 15], "x": 163, "y": 43, "flags": 4}, - {"matrix": [3, 14], "x": 177, "y": 42, "flags": 4}, - {"matrix": [3, 13], "x": 189, "y": 42, "flags": 4}, - {"matrix": [3, 12], "x": 213, "y": 42, "flags": 1}, - {"matrix": [3, 11], "x": 16, "y": 55, "flags": 1}, - {"matrix": [3, 10], "x": 55, "y": 43, "flags": 1}, - {"matrix": [3, 9], "x": 76, "y": 60, "flags": 4}, - {"matrix": [3, 8], "x": 96, "y": 64, "flags": 1}, - {"matrix": [4, 9], "x": 139, "y": 61, "flags": 4}, - {"matrix": [4, 11], "x": 166, "y": 57, "flags": 1}, - {"matrix": [4, 13], "x": 189, "y": 55, "flags": 1}, - {"matrix": [4, 14], "x": 202, "y": 55, "flags": 1}, - {"matrix": [4, 15], "x": 221, "y": 55, "flags": 1} - ], - "led_count": 67 - }, - "url": "", - "usb": { - "device_version": "1.0.0", - "pid": "0x0003", - "vid": "0x4552" - }, - "ws2812": { - "driver": "vendor", - "pin": "GP0" - }, - "layouts": { - "LAYOUT": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 6], "x": 16.75, "y": 0}, - {"matrix": [5, 7], "x": 17.75, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, - {"matrix": [8, 7], "x": 17.75, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 5], "x": 15, "y": 4}, - {"matrix": [9, 6], "x": 16, "y": 4}, - {"matrix": [9, 7], "x": 17, "y": 4} - ] - }, - "LAYOUT_ansi": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_ansi_arrow": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3}, - {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 5], "x": 15, "y": 4}, - {"matrix": [9, 6], "x": 16, "y": 4}, - {"matrix": [9, 7], "x": 17, "y": 4} - ] - }, - "LAYOUT_ansi_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 6], "x": 16.75, "y": 0}, - {"matrix": [5, 7], "x": 17.75, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_ansi_split_bs_rsft": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 6], "x": 16.75, "y": 0}, - {"matrix": [5, 7], "x": 17.75, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, - {"matrix": [8, 7], "x": 17.75, "y": 3}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} - ] - }, - "LAYOUT_arrow_split_bs": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1.5, "y": 0}, - {"matrix": [0, 2], "x": 2.5, "y": 0}, - {"matrix": [0, 3], "x": 3.5, "y": 0}, - {"matrix": [0, 4], "x": 4.5, "y": 0}, - {"matrix": [0, 5], "x": 5.5, "y": 0}, - {"matrix": [0, 6], "x": 6.5, "y": 0}, - {"matrix": [0, 7], "x": 7.5, "y": 0}, - {"matrix": [5, 0], "x": 10.75, "y": 0}, - {"matrix": [5, 1], "x": 11.75, "y": 0}, - {"matrix": [5, 2], "x": 12.75, "y": 0}, - {"matrix": [5, 3], "x": 13.75, "y": 0}, - {"matrix": [5, 4], "x": 14.75, "y": 0}, - {"matrix": [5, 5], "x": 15.75, "y": 0}, - {"matrix": [5, 6], "x": 16.75, "y": 0}, - {"matrix": [5, 7], "x": 17.75, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, - {"matrix": [1, 2], "x": 3, "y": 1}, - {"matrix": [1, 3], "x": 4, "y": 1}, - {"matrix": [1, 4], "x": 5, "y": 1}, - {"matrix": [1, 5], "x": 6, "y": 1}, - {"matrix": [1, 6], "x": 7, "y": 1}, - {"matrix": [1, 7], "x": 8, "y": 1}, - {"matrix": [6, 0], "x": 10.25, "y": 1}, - {"matrix": [6, 1], "x": 11.25, "y": 1}, - {"matrix": [6, 2], "x": 12.25, "y": 1}, - {"matrix": [6, 3], "x": 13.25, "y": 1}, - {"matrix": [6, 4], "x": 14.25, "y": 1}, - {"matrix": [6, 5], "x": 15.25, "y": 1}, - {"matrix": [6, 6], "x": 16.25, "y": 1}, - {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, - {"matrix": [2, 2], "x": 3.25, "y": 2}, - {"matrix": [2, 3], "x": 4.25, "y": 2}, - {"matrix": [2, 4], "x": 5.25, "y": 2}, - {"matrix": [2, 5], "x": 6.25, "y": 2}, - {"matrix": [2, 6], "x": 7.25, "y": 2}, - {"matrix": [7, 0], "x": 10.5, "y": 2}, - {"matrix": [7, 1], "x": 11.5, "y": 2}, - {"matrix": [7, 2], "x": 12.5, "y": 2}, - {"matrix": [7, 3], "x": 13.5, "y": 2}, - {"matrix": [7, 4], "x": 14.5, "y": 2}, - {"matrix": [7, 5], "x": 15.5, "y": 2}, - {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, - {"matrix": [3, 2], "x": 3.75, "y": 3}, - {"matrix": [3, 3], "x": 4.75, "y": 3}, - {"matrix": [3, 4], "x": 5.75, "y": 3}, - {"matrix": [3, 5], "x": 6.75, "y": 3}, - {"matrix": [3, 6], "x": 7.75, "y": 3}, - {"matrix": [8, 0], "x": 10, "y": 3}, - {"matrix": [8, 1], "x": 11, "y": 3}, - {"matrix": [8, 2], "x": 12, "y": 3}, - {"matrix": [8, 3], "x": 13, "y": 3}, - {"matrix": [8, 4], "x": 14, "y": 3}, - {"matrix": [8, 5], "x": 15, "y": 3}, - {"matrix": [8, 6], "x": 16, "y": 3}, - {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, - {"matrix": [4, 5], "x": 8.25, "y": 4}, - {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, - {"matrix": [9, 5], "x": 15, "y": 4}, - {"matrix": [9, 6], "x": 16, "y": 4}, - {"matrix": [9, 7], "x": 17, "y": 4} - ] - } - } -} \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/default/keymap.c b/keyboards/era/klein/keymaps/default/keymap.c deleted file mode 100644 index 88878bbcd936..000000000000 --- a/keyboards/era/klein/keymaps/default/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2018-2022 QMK (@qmk) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL - ), - - [1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/via/keymap.c b/keyboards/era/klein/keymaps/via/keymap.c deleted file mode 100644 index 88878bbcd936..000000000000 --- a/keyboards/era/klein/keymaps/via/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2018-2022 QMK (@qmk) -// SPDX-License-Identifier: GPL-2.0-or-later - -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [0] = LAYOUT( - KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, - KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL - ), - - [1] = LAYOUT( - KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; \ No newline at end of file diff --git a/keyboards/era/klein/readme.md b/keyboards/era/klein/readme.md deleted file mode 100644 index 1efeafe45127..000000000000 --- a/keyboards/era/klein/readme.md +++ /dev/null @@ -1,23 +0,0 @@ -# MontK Cervin Klein - -* Keyboard Maintainer: [ERA](https://github.com/eerraa) -* Hardware supported: SIRIND Klein -* Hardware availability: [Syryan](https://srind.mysoho.com/) - -Make example for this keyboard (after setting up your build environment): - - make era/klein:default - -Flashing example for this keyboard: - - make era/klein:default:flash - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -## Bootloader - -Enter the bootloader in 3 ways: - -* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/sirind/klein_sd/config.h b/keyboards/era/sirind/klein_sd/config.h index ae1d4a9e1d0f..28c37979dd65 100644 --- a/keyboards/era/sirind/klein_sd/config.h +++ b/keyboards/era/sirind/klein_sd/config.h @@ -22,4 +22,4 @@ /* RGB Matrix */ #define RGB_MATRIX_DEFAULT_VAL 60 -#define RGB_DISABLE_WHEN_USB_SUSPENDED \ No newline at end of file +#define RGB_MATRIX_SLEEP \ No newline at end of file diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index af1e14c49f04..b33de876e81a 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -100,7 +100,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index 455d294ef57f..f088036c4ab7 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -243,7 +243,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGB_MATRIX_ENABLE // clang-format off -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* driver * | R location * | | G location diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h index 05d30392ff25..b9617654e89f 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h @@ -13,7 +13,7 @@ #define DEBOUNCE 15 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #undef FORCE_NKRO #define FORCE_NKRO diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c index 23ef91b74feb..a8802858ec37 100644 --- a/keyboards/ergodox_ez/led_i2c.c +++ b/keyboards/ergodox_ez/led_i2c.c @@ -21,8 +21,9 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE # include "ergodox_ez.h" +# include "ws2812.h" -void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) { +void setleds_custom(rgb_led_t *led, uint16_t led_num) { i2c_init(); i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT); int i = 0; @@ -30,7 +31,7 @@ void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) { // prevent right-half code from trying to bitbang all 30 // so with 30 LEDs, we count from 29 to 15 here, and the // other half does 0 to 14. - uint8_t half_led_num = RGBLED_NUM / 2; + uint8_t half_led_num = RGBLIGHT_LED_COUNT / 2; for (i = half_led_num + half_led_num - 1; i >= half_led_num; --i) # elif defined(ERGODOX_LED_15_MIRROR) for (i = 0; i < led_num; ++i) @@ -51,5 +52,8 @@ void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) { ws2812_setleds(led, led_num); } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; #endif // RGBLIGHT_ENABLE diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h index 0d4fe5c6832b..eb22439ae4fd 100644 --- a/keyboards/ergodox_ez/post_config.h +++ b/keyboards/ergodox_ez/post_config.h @@ -33,8 +33,8 @@ along with this program. If not, see . #ifdef ERGODOX_LED_30 // If using 30 LEDs, then define that many -# define RGBLED_NUM 30 // Number of LEDs +# define RGBLIGHT_LED_COUNT 30 // Number of LEDs #else // If not, then only define 15 -# define RGBLED_NUM 15 // Number of LEDs +# define RGBLIGHT_LED_COUNT 15 // Number of LEDs #endif diff --git a/keyboards/ergodox_ez/shine/info.json b/keyboards/ergodox_ez/shine/info.json index 11c3a8b209b7..181ac52e6ce2 100644 --- a/keyboards/ergodox_ez/shine/info.json +++ b/keyboards/ergodox_ez/shine/info.json @@ -2,5 +2,8 @@ "keyboard_name": "ErgoDox EZ Shine", "usb": { "pid": "0x4975" + }, + "rgblight": { + "driver": "custom" } } diff --git a/keyboards/ergodox_ez/shine/rules.mk b/keyboards/ergodox_ez/shine/rules.mk index 1e3cebb14515..b035c368503d 100644 --- a/keyboards/ergodox_ez/shine/rules.mk +++ b/keyboards/ergodox_ez/shine/rules.mk @@ -1 +1,2 @@ RGBLIGHT_ENABLE = yes +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/ergotravel/keymaps/default/config.h b/keyboards/ergotravel/keymaps/default/config.h index d047f718d67c..746e60da5a55 100644 --- a/keyboards/ergotravel/keymaps/default/config.h +++ b/keyboards/ergotravel/keymaps/default/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,7 +34,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 +#define RGBLIGHT_LED_COUNT 14 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/ergotravel/keymaps/via/config.h b/keyboards/ergotravel/keymaps/via/config.h index 409e3efde45e..d42b738adc10 100644 --- a/keyboards/ergotravel/keymaps/via/config.h +++ b/keyboards/ergotravel/keymaps/via/config.h @@ -23,8 +23,8 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #undef RGBLED_NUM -// #define RGBLED_NUM 14 +// #undef RGBLIGHT_LED_COUNT +// #define RGBLIGHT_LED_COUNT 14 // #define RGBLIGHT_HUE_STEP 8 // #define RGBLIGHT_SAT_STEP 8 // #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c index 7bf2a961ff6d..6dad8466142b 100644 --- a/keyboards/evyd13/atom47/rev5/rev5.c +++ b/keyboards/evyd13/atom47/rev5/rev5.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include "quantum.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index f34f40cc1f64..24676e891000 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -7,7 +7,7 @@ void matrix_init_kb(void) { matrix_init_user(); } -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/fc660c/keymaps/default_rgb/config.h b/keyboards/fc660c/keymaps/default_rgb/config.h index 23745f319030..1953964f88d5 100644 --- a/keyboards/fc660c/keymaps/default_rgb/config.h +++ b/keyboards/fc660c/keymaps/default_rgb/config.h @@ -21,7 +21,7 @@ /*RGB*/ /*Repurpose Insert LED */ #define WS2812_DI_PIN B5 - #define RGBLED_NUM 16 + #define RGBLIGHT_LED_COUNT 16 #define RGBLIGHT_DEFAULT_HUE 127 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/fc660c/keymaps/via_rgb/config.h b/keyboards/fc660c/keymaps/via_rgb/config.h index 23745f319030..1953964f88d5 100644 --- a/keyboards/fc660c/keymaps/via_rgb/config.h +++ b/keyboards/fc660c/keymaps/via_rgb/config.h @@ -21,7 +21,7 @@ /*RGB*/ /*Repurpose Insert LED */ #define WS2812_DI_PIN B5 - #define RGBLED_NUM 16 + #define RGBLIGHT_LED_COUNT 16 #define RGBLIGHT_DEFAULT_HUE 127 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c index 826afab01b44..e6424491bd11 100644 --- a/keyboards/feker/ik75/ik75.c +++ b/keyboards/feker/ik75/ik75.c @@ -18,7 +18,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | G location diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c index 07f58149cc9f..69fbe411ebe0 100644 --- a/keyboards/ferris/0_2/bling/bling.c +++ b/keyboards/ferris/0_2/bling/bling.c @@ -27,7 +27,7 @@ along with this program. If not, see . | | 4 | | || | | 4 | | | 6 | | | 2 || 2 | | | 5 | */ -const is31fl3731_led_t g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/flashquark/horizon_z/config.h b/keyboards/flashquark/horizon_z/config.h index ddeafe578d13..65ff45eca1bb 100755 --- a/keyboards/flashquark/horizon_z/config.h +++ b/keyboards/flashquark/horizon_z/config.h @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/flashquark/horizon_z/horizon_z.c b/keyboards/flashquark/horizon_z/horizon_z.c index a9faa5a943fe..5ab6e22434d3 100755 --- a/keyboards/flashquark/horizon_z/horizon_z.c +++ b/keyboards/flashquark/horizon_z/horizon_z.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, B_1, A_1, C_1}, {0, B_2, A_2, C_2}, {0, B_3, A_3, C_3}, diff --git a/keyboards/fortitude60/keymaps/via/config.h b/keyboards/fortitude60/keymaps/via/config.h deleted file mode 100644 index 7e9b510ff693..000000000000 --- a/keyboards/fortitude60/keymaps/via/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2017 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 diff --git a/keyboards/foxlab/key65/universal/readme.md b/keyboards/foxlab/key65/universal/readme.md index 967b9565f24a..36f63b1abaf1 100644 --- a/keyboards/foxlab/key65/universal/readme.md +++ b/keyboards/foxlab/key65/universal/readme.md @@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## RGB LED support -The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLED_NUM to match the number of LEDs on your strip. +The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLIGHT_LED_COUNT to match the number of LEDs on your strip. diff --git a/keyboards/frooastboard/walnut/config.h b/keyboards/frooastboard/walnut/config.h index 710cd1934208..e7ec99d5de03 100644 --- a/keyboards/frooastboard/walnut/config.h +++ b/keyboards/frooastboard/walnut/config.h @@ -9,7 +9,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c index 48d1677f7ac6..e3205e07f3c5 100644 --- a/keyboards/frooastboard/walnut/walnut.c +++ b/keyboards/frooastboard/walnut/walnut.c @@ -5,7 +5,7 @@ #if defined(RGB_MATRIX_ENABLE) -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/gboards/gergo/keymaps/default/config.h b/keyboards/gboards/gergo/keymaps/default/config.h deleted file mode 100644 index 3f59c932d39b..000000000000 --- a/keyboards/gboards/gergo/keymaps/default/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#pragma once - diff --git a/keyboards/gboards/gergo/keymaps/germ/config.h b/keyboards/gboards/gergo/keymaps/germ/config.h deleted file mode 100644 index 3f59c932d39b..000000000000 --- a/keyboards/gboards/gergo/keymaps/germ/config.h +++ /dev/null @@ -1,2 +0,0 @@ -#pragma once - diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index 47f9064e451f..c18d20ac60a9 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -83,5 +83,5 @@ # define RGB_MATRIX_DEFAULT_SPD 30 #endif //RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define WAIT_FOR_USB diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h index c71ee9f35154..acbe1c7c1413 100644 --- a/keyboards/geekboards/tester/config.h +++ b/keyboards/geekboards/tester/config.h @@ -4,7 +4,7 @@ #define LOCKING_RESYNC_ENABLE #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c index 187d887d5813..11d2eb4db298 100644 --- a/keyboards/geekboards/tester/tester.c +++ b/keyboards/geekboards/tester/tester.c @@ -1,6 +1,6 @@ #include "quantum.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/era/klein/config.h b/keyboards/geonworks/ee_at/ee_at.c similarity index 57% rename from keyboards/era/klein/config.h rename to keyboards/geonworks/ee_at/ee_at.c index 1033bc738e70..b2e6320851bf 100644 --- a/keyboards/era/klein/config.h +++ b/keyboards/geonworks/ee_at/ee_at.c @@ -1,4 +1,4 @@ -/* Copyright 2023 eerraa +/* Copyright 2023 Yiancar-Designs * * 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 @@ -13,15 +13,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +#include "quantum.h" -#pragma once +void led_init_ports(void) { + // Set our LED pins as open drain outputs + setPinOutputOpenDrain(LED_CAPS_LOCK_PIN); + setPinOutputOpenDrain(LED_NUM_LOCK_PIN); + setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN); + setPinOutputOpenDrain(LED_KANA_PIN); + setPinOutputOpenDrain(A14); +} -/* BACKLIGHT PWM */ -#define BACKLIGHT_PWM_DRIVER PWMD7 -#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B - -/* RGB Matrix */ -#define RGB_MATRIX_DEFAULT_VAL 60 -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +layer_state_t layer_state_set_kb(layer_state_t state) { + writePin(A14, !layer_state_cmp(state, 1)); + return layer_state_set_user(state); +} diff --git a/keyboards/geonworks/ee_at/info.json b/keyboards/geonworks/ee_at/info.json new file mode 100644 index 000000000000..803e0d36403f --- /dev/null +++ b/keyboards/geonworks/ee_at/info.json @@ -0,0 +1,499 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "EE-AT", + "maintainer": "Yiancar-Designs", + "bootloader": "stm32-dfu", + "bootmagic": { + "matrix": [0, 2] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B6", + "kana": "A13", + "num_lock": "B3", + "on_state": 0, + "scroll_lock": "A15" + }, + "matrix_pins": { + "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], + "rows": ["A2", "B9", "B8", "B5", "B4"] + }, + "processor": "STM32F072", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x5755", + "vid": "0x8968" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [1, 18], "x": 19.5, "y": 1}, + {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [2, 17], "x": 18.5, "y": 2}, + {"matrix": [2, 18], "x": 19.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 16.25, "y": 3}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3}, + {"matrix": [3, 18], "x": 19.5, "y": 3}, + {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 3.75, "y": 4}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 14.75, "y": 4}, + {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2}, + {"matrix": [4, 18], "x": 19.5, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [1, 18], "x": 19.5, "y": 1}, + {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [2, 17], "x": 18.5, "y": 2}, + {"matrix": [2, 18], "x": 19.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3}, + {"matrix": [3, 18], "x": 19.5, "y": 3}, + {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 3.75, "y": 4}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 14.75, "y": 4}, + {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2}, + {"matrix": [4, 18], "x": 19.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [1, 18], "x": 19.5, "y": 1}, + {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [2, 17], "x": 18.5, "y": 2}, + {"matrix": [2, 18], "x": 19.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3}, + {"matrix": [3, 18], "x": 19.5, "y": 3}, + {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 3.75, "y": 4}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 14.75, "y": 4}, + {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2}, + {"matrix": [4, 18], "x": 19.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 14], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [1, 18], "x": 19.5, "y": 1}, + {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [2, 17], "x": 18.5, "y": 2}, + {"matrix": [2, 18], "x": 19.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 16.25, "y": 3}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3}, + {"matrix": [3, 18], "x": 19.5, "y": 3}, + {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 3.75, "y": 4}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 14.75, "y": 4}, + {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2}, + {"matrix": [4, 18], "x": 19.5, "y": 4} + ] + }, + "LAYOUT_ansi_split_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + {"matrix": [0, 17], "x": 18.5, "y": 0}, + {"matrix": [0, 18], "x": 19.5, "y": 0}, + {"matrix": [0, 19], "x": 20.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1}, + {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + {"matrix": [1, 17], "x": 18.5, "y": 1}, + {"matrix": [1, 18], "x": 19.5, "y": 1}, + {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + {"matrix": [2, 17], "x": 18.5, "y": 2}, + {"matrix": [2, 18], "x": 19.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3}, + {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 16.25, "y": 3}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3}, + {"matrix": [3, 18], "x": 19.5, "y": 3}, + {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 3.75, "y": 4}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 14.75, "y": 4}, + {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, + {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2}, + {"matrix": [4, 18], "x": 19.5, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/geonworks/ee_at/keymaps/default/keymap.c b/keyboards/geonworks/ee_at/keymaps/default/keymap.c new file mode 100644 index 000000000000..f0eb9ba7a839 --- /dev/null +++ b/keyboards/geonworks/ee_at/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2023 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT), + +[1] = LAYOUT_all( /* FN */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/geonworks/ee_at/keymaps/via/keymap.c b/keyboards/geonworks/ee_at/keymaps/via/keymap.c new file mode 100644 index 000000000000..f0eb9ba7a839 --- /dev/null +++ b/keyboards/geonworks/ee_at/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2023 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST, + KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT), + +[1] = LAYOUT_all( /* FN */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk b/keyboards/geonworks/ee_at/keymaps/via/rules.mk similarity index 100% rename from keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk rename to keyboards/geonworks/ee_at/keymaps/via/rules.mk diff --git a/keyboards/geonworks/ee_at/matrix_diagram.md b/keyboards/geonworks/ee_at/matrix_diagram.md new file mode 100644 index 000000000000..382487564d7a --- /dev/null +++ b/keyboards/geonworks/ee_at/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Yiancar-Designs EE-AT + +``` + ┌───────┐ + 2u Backspace │0F │ + └───────┘ +┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┬───┐ +│00 │01 ││02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │2E ││0G │0H │0I │0J │ +├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┼───┤ +│10 │11 ││12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F ││1G │1H │1I │ │ +├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┼───┼───┤1J │ +│20 │21 ││22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F ││2G │2H │2I │ │ +├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤├───┼───┼───┼───┤ +│30 │31 ││32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F ││3G │3H │3I │ │ +├───┼───┤├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤├───┼───┼───┤4J │ +│40 │41 ││42 │43 │44 │48 │4D │4E │4F ││4G │4H │4I │ │ +└───┴───┘└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┴───┘ + ┌──────────┐ + 2.75u RShift │3E │ + └──────────┘ +``` diff --git a/keyboards/geonworks/ee_at/readme.md b/keyboards/geonworks/ee_at/readme.md new file mode 100644 index 000000000000..0c7c8d1926ae --- /dev/null +++ b/keyboards/geonworks/ee_at/readme.md @@ -0,0 +1,32 @@ +# EE-AT + +This is a standard weird layout PCB, now with Hotswap. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A keyboard with STM32F072CB +* Hardware Availability: https://geon.works/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make geonworks/ee_at:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or CLI (`make geonworks/ee_at::flash`) diff --git a/keyboards/geonworks/ee_at/rules.mk b/keyboards/geonworks/ee_at/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/geonworks/ee_at/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/w1_at/info.json b/keyboards/geonworks/w1_at/info.json similarity index 99% rename from keyboards/w1_at/info.json rename to keyboards/geonworks/w1_at/info.json index 896e523c8384..8b7991c03d8c 100644 --- a/keyboards/w1_at/info.json +++ b/keyboards/geonworks/w1_at/info.json @@ -1,36 +1,43 @@ { - "keyboard_name": "W1-AT", "manufacturer": "Yiancar-Designs", - "url": "https://yiancar-designs.com", + "keyboard_name": "W1-AT", "maintainer": "Yiancar-Designs", - "usb": { - "vid": "0x8968", - "pid": "0x5754", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], - "rows": ["A2", "B9", "B8", "B5", "B4"] + "bootloader": "stm32-dfu", + "bootmagic": { + "matrix": [0, 2] }, "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, "indicators": { "caps_lock": "B6", - "num_lock": "B3", - "scroll_lock": "A15", "kana": "A13", - "on_state": 0 + "num_lock": "B3", + "on_state": 0, + "scroll_lock": "A15" }, - "bootmagic": { - "matrix": [0, 2] + "matrix_pins": { + "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], + "rows": ["A2", "B9", "B8", "B5", "B4"] }, "processor": "STM32F072", - "bootloader": "stm32-dfu", + "url": "https://yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x5754", + "vid": "0x8968" + }, "layouts": { "LAYOUT_all": { "layout": [ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -46,15 +53,12 @@ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0}, - {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0}, {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0}, {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0}, {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0}, - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -69,15 +73,12 @@ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, - {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1}, {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1}, {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1}, {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1}, - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, @@ -91,15 +92,12 @@ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, - {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2}, {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2}, {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2}, {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2}, - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3}, {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, @@ -114,21 +112,17 @@ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3}, {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3}, - {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3}, {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3}, {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3}, {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3}, - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4}, {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4}, {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4}, @@ -139,7 +133,6 @@ "layout": [ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -154,15 +147,12 @@ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0}, {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2}, - {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0}, {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0}, {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0}, {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0}, - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -177,15 +167,12 @@ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, - {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1}, {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1}, {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1}, {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1}, - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, @@ -199,15 +186,12 @@ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, - {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2}, {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2}, {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2}, {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2}, - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -220,21 +204,17 @@ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3}, {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3}, {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75}, - {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3}, {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3}, {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3}, {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3}, - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4}, {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4}, {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4}, @@ -245,7 +225,6 @@ "layout": [ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -261,15 +240,12 @@ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0}, - {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0}, {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0}, {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0}, {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0}, - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -284,15 +260,12 @@ {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5}, - {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1}, {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1}, {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1}, {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1}, - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, @@ -306,15 +279,12 @@ {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, - {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2}, {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2}, {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2}, {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2}, - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -328,21 +298,17 @@ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3}, {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3}, - {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3}, {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3}, {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3}, {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3}, - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4}, {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4}, {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4}, @@ -353,7 +319,6 @@ "layout": [ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -368,15 +333,12 @@ {"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0}, {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2}, - {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0}, {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0}, {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0}, {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0}, - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -390,15 +352,12 @@ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1}, {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1}, - {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1}, {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1}, {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1}, {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1}, - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, @@ -413,15 +372,12 @@ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "#", "matrix": [1, 15], "x": 15, "y": 2}, {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2}, - {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2}, {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2}, {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2}, {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2}, - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3}, {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, @@ -435,21 +391,17 @@ {"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3}, {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3}, {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75}, - {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3}, {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3}, {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3}, {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3}, - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4}, {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4}, {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4}, @@ -460,7 +412,6 @@ "layout": [ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "F2", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -476,15 +427,12 @@ {"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0}, - {"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0}, {"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0}, {"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0}, {"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0}, - {"label": "F3", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "F4", "matrix": [1, 1], "x": 1, "y": 1}, - {"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -498,15 +446,12 @@ {"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1}, {"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1}, {"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1}, - {"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1}, {"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1}, {"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1}, {"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1}, - {"label": "F5", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "F6", "matrix": [2, 1], "x": 1, "y": 2}, - {"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, @@ -521,15 +466,12 @@ {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "#", "matrix": [1, 15], "x": 15, "y": 2}, {"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2}, - {"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2}, {"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2}, {"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2}, {"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2}, - {"label": "F7", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "F8", "matrix": [3, 1], "x": 1, "y": 3}, - {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, {"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3}, {"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3}, @@ -544,21 +486,17 @@ {"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3}, {"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3}, - {"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3}, {"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3}, {"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3}, {"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3}, - {"label": "F9", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "F10", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7}, {"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, {"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5}, - {"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4}, {"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4}, {"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4}, @@ -566,4 +504,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/w1_at/keymaps/default/keymap.c b/keyboards/geonworks/w1_at/keymaps/default/keymap.c similarity index 99% rename from keyboards/w1_at/keymaps/default/keymap.c rename to keyboards/geonworks/w1_at/keymaps/default/keymap.c index 7c190b73d6e1..f69fa8a42613 100644 --- a/keyboards/w1_at/keymaps/default/keymap.c +++ b/keyboards/geonworks/w1_at/keymaps/default/keymap.c @@ -46,4 +46,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } return true; -} \ No newline at end of file +} diff --git a/keyboards/w1_at/keymaps/via/keymap.c b/keyboards/geonworks/w1_at/keymaps/via/keymap.c similarity index 100% rename from keyboards/w1_at/keymaps/via/keymap.c rename to keyboards/geonworks/w1_at/keymaps/via/keymap.c diff --git a/keyboards/lefty/keymaps/via/rules.mk b/keyboards/geonworks/w1_at/keymaps/via/rules.mk similarity index 100% rename from keyboards/lefty/keymaps/via/rules.mk rename to keyboards/geonworks/w1_at/keymaps/via/rules.mk diff --git a/keyboards/w1_at/keymaps/zq/keymap.c b/keyboards/geonworks/w1_at/keymaps/zq/keymap.c similarity index 100% rename from keyboards/w1_at/keymaps/zq/keymap.c rename to keyboards/geonworks/w1_at/keymaps/zq/keymap.c diff --git a/keyboards/w1_at/keymaps/zq/readme.md b/keyboards/geonworks/w1_at/keymaps/zq/readme.md similarity index 100% rename from keyboards/w1_at/keymaps/zq/readme.md rename to keyboards/geonworks/w1_at/keymaps/zq/readme.md diff --git a/keyboards/era/klein/keymaps/via/rules.mk b/keyboards/geonworks/w1_at/keymaps/zq/rules.mk similarity index 100% rename from keyboards/era/klein/keymaps/via/rules.mk rename to keyboards/geonworks/w1_at/keymaps/zq/rules.mk diff --git a/keyboards/w1_at/matrix_diagram.md b/keyboards/geonworks/w1_at/matrix_diagram.md similarity index 100% rename from keyboards/w1_at/matrix_diagram.md rename to keyboards/geonworks/w1_at/matrix_diagram.md diff --git a/keyboards/w1_at/readme.md b/keyboards/geonworks/w1_at/readme.md similarity index 82% rename from keyboards/w1_at/readme.md rename to keyboards/geonworks/w1_at/readme.md index 7608e72f7625..16296ef6d6bd 100644 --- a/keyboards/w1_at/readme.md +++ b/keyboards/geonworks/w1_at/readme.md @@ -3,7 +3,7 @@ This is a standard weird layout PCB, best build with a 10U spacebar. It supports VIA. * Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: A TKL keyboard with STM32F072CB +* Hardware Supported: A keyboard with STM32F072CB * Hardware Availability: https://geon.works/ ## Instructions @@ -12,7 +12,7 @@ This is a standard weird layout PCB, best build with a 10U spacebar. It supports Make example for this keyboard (after setting up your build environment): - make w1_at:default + make geonworks/w1_at:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). @@ -29,4 +29,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to - Unplug - Hold Escape - Plug In -- Flash using QMK Toolbox or CLI (`make w1_at::flash`) +- Flash using QMK Toolbox or CLI (`make geonworks/w1_at::flash`) diff --git a/keyboards/geonworks/w1_at/rules.mk b/keyboards/geonworks/w1_at/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/geonworks/w1_at/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/w1_at/w1_at.c b/keyboards/geonworks/w1_at/w1_at.c similarity index 73% rename from keyboards/w1_at/w1_at.c rename to keyboards/geonworks/w1_at/w1_at.c index d4c4ce932a31..9858561bc58b 100644 --- a/keyboards/w1_at/w1_at.c +++ b/keyboards/geonworks/w1_at/w1_at.c @@ -13,18 +13,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - #include "quantum.h" +#include "quantum.h" void led_init_ports(void) { // Set our LED pins as open drain outputs - palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); - palSetLineMode(LED_NUM_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); - palSetLineMode(LED_SCROLL_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); - palSetLineMode(LED_KANA_PIN, PAL_MODE_OUTPUT_OPENDRAIN); - palSetLineMode(A14, PAL_MODE_OUTPUT_OPENDRAIN); + setPinOutputOpenDrain(LED_CAPS_LOCK_PIN); + setPinOutputOpenDrain(LED_NUM_LOCK_PIN); + setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN); + setPinOutputOpenDrain(LED_KANA_PIN); + setPinOutputOpenDrain(A14); } layer_state_t layer_state_set_kb(layer_state_t state) { writePin(A14, !layer_state_cmp(state, 1)); return layer_state_set_user(state); -} \ No newline at end of file +} diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h index e4946a3bb397..d7a616762093 100644 --- a/keyboards/giabalanai/config.h +++ b/keyboards/giabalanai/config.h @@ -69,7 +69,7 @@ along with this program. If not, see . // https://docs.qmk.fm/#/feature_rgb_matrix // Enable suspend mode. -// # define RGB_DISABLE_WHEN_USB_SUSPENDED true +// # define RGB_MATRIX_SLEEP # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h index dd10d213a0b6..01ad55eec0f5 100644 --- a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h +++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h @@ -22,8 +22,8 @@ along with this program. If not, see . # undef MATRIX_COL_PINS_RIGHT # ifdef RGBLIGHT_ENABLE -# undef RGBLED_NUM -# define RGBLED_NUM 120 +# undef RGBLIGHT_LED_COUNT +# define RGBLIGHT_LED_COUNT 120 # undef RGBLIGHT_LED_MAP # define RGBLIGHT_LED_MAP { \ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \ diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h index 01905b8dfec3..decc2e2dc189 100644 --- a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h +++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h @@ -7,8 +7,8 @@ # undef MATRIX_COL_PINS_RIGHT # ifdef RGBLIGHT_ENABLE -# undef RGBLED_NUM -# define RGBLED_NUM 120 +# undef RGBLIGHT_LED_COUNT +# define RGBLIGHT_LED_COUNT 120 # undef RGBLIGHT_LED_MAP # define RGBLIGHT_LED_MAP { \ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \ diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h index 5204496e6610..9273b6117b90 100755 --- a/keyboards/gizmo_engineering/gk6/config.h +++ b/keyboards/gizmo_engineering/gk6/config.h @@ -26,7 +26,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c index 18883727b88d..fe85ecc23532 100755 --- a/keyboards/gizmo_engineering/gk6/gk6.c +++ b/keyboards/gizmo_engineering/gk6/gk6.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_8, C2_8, C3_8}, //0 led1 {0, C1_7, C2_7, C3_7}, //1 led2 {0, C1_6, C2_6, C3_6}, //2 led3 diff --git a/keyboards/gkeyboard/gpad8_2r/config.h b/keyboards/gkeyboard/gpad8_2r/config.h index 88debbe193a4..4c3c692a43f8 100644 --- a/keyboards/gkeyboard/gpad8_2r/config.h +++ b/keyboards/gkeyboard/gpad8_2r/config.h @@ -6,7 +6,7 @@ #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h index 0f71fedd0ec8..2289031f11d2 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h @@ -21,8 +21,8 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#ifdef RGBLED_NUM - #undef RGBLED_NUM +#ifdef RGBLIGHT_LED_COUNT + #undef RGBLIGHT_LED_COUNT #endif #define RGB_MATRIX_LED_COUNT 73 @@ -31,7 +31,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c index 774006d5291e..7c43f8d5eca5 100644 --- a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h index ce9ff6943363..6153e9a6e420 100644 --- a/keyboards/gmmk/gmmk2/p65/config.h +++ b/keyboards/gmmk/gmmk2/p65/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* SPI Config for LED Driver */ #define SPI_DRIVER SPIDM2 diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c index 80c0dc2e0de8..9a591cd4ef7a 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p65/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c index bc05ab630101..83dcad728a9a 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/ansi.c +++ b/keyboards/gmmk/gmmk2/p96/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index fb21c571f53b..aade71629b3b 100644 --- a/keyboards/gmmk/gmmk2/p96/config.h +++ b/keyboards/gmmk/gmmk2/p96/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c index f6b3528cb410..d412215fc485 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/iso.c +++ b/keyboards/gmmk/gmmk2/p96/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/gmmk/numpad/numpad.c b/keyboards/gmmk/numpad/numpad.c index 5cdb34c7bd27..557137e8f154 100644 --- a/keyboards/gmmk/numpad/numpad.c +++ b/keyboards/gmmk/numpad/numpad.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h index 995dd95ec811..eb684363d0de 100644 --- a/keyboards/gmmk/pro/config.h +++ b/keyboards/gmmk/pro/config.h @@ -31,7 +31,7 @@ #define AW20216S_EN_PIN_1 C13 #define AW20216S_EN_PIN_2 C13 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/gmmk/pro/rev1/ansi/ansi.c b/keyboards/gmmk/pro/rev1/ansi/ansi.c index a06594cb8841..ff6382625ac4 100644 --- a/keyboards/gmmk/pro/rev1/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev1/ansi/ansi.c @@ -136,7 +136,7 @@ led_config_t g_led_config = {{ 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h index 18271fb4d25d..80b75eed52e9 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP #endif // A debounce of 8 represents a minimum key press time of just under 1 refresh at 120Hz diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h index dc3dfefab0a4..af4e385727cd 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/config.h @@ -18,7 +18,7 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_LIGHT #define RGBLIGHT_DEFAULT_SAT 0 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h index 845262b7e858..e5c100f82ce8 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h @@ -18,5 +18,5 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h index 74c018f7f146..94248fdf389b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/config.h @@ -16,4 +16,4 @@ along with this program. If not, see . #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED \ No newline at end of file +#define RGB_MATRIX_SLEEP \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h index f37ff59c4451..16918492fba0 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h @@ -23,7 +23,7 @@ // #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP // Effects #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h index ece08ecfee27..e8f906c1c121 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h @@ -17,7 +17,7 @@ #define COMBO_TERM 100 #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_TIMEOUT 90000 #define MACRO_TIMER 5 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h index 8d8c35af492d..0f4687fb71cc 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP #endif #define FORCE_NKRO diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h index 91d731facabe..585032c24542 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/config.h @@ -25,7 +25,7 @@ // #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h index 1cc3cdf22898..7a35f5e0c6a2 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/config.h @@ -3,7 +3,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes diff --git a/keyboards/gmmk/pro/rev1/iso/iso.c b/keyboards/gmmk/pro/rev1/iso/iso.c index 9744447587f0..68165dd27f35 100644 --- a/keyboards/gmmk/pro/rev1/iso/iso.c +++ b/keyboards/gmmk/pro/rev1/iso/iso.c @@ -137,7 +137,7 @@ led_config_t g_led_config = {{ 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c index 322e94c938cb..c592e3cdaee7 100644 --- a/keyboards/gmmk/pro/rev2/ansi/ansi.c +++ b/keyboards/gmmk/pro/rev2/ansi/ansi.c @@ -136,7 +136,7 @@ led_config_t g_led_config = {{ 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c index 3a5b21c01495..969ce8bf2e25 100644 --- a/keyboards/gmmk/pro/rev2/iso/iso.c +++ b/keyboards/gmmk/pro/rev2/iso/iso.c @@ -137,7 +137,7 @@ led_config_t g_led_config = {{ 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 }}; -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h b/keyboards/hadron/ver3/keymaps/sebaslayout/config.h deleted file mode 100644 index 6f70f09beec2..000000000000 --- a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/handwired/6macro/keymaps/osu/config.h b/keyboards/handwired/6macro/keymaps/osu/config.h deleted file mode 100644 index 64ba57443f83..000000000000 --- a/keyboards/handwired/6macro/keymaps/osu/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2019 joaofbmaia - * - * 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 - diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h index c373743a39c0..5d8a8a083dac 100644 --- a/keyboards/handwired/chiron/keymaps/default/config.h +++ b/keyboards/handwired/chiron/keymaps/default/config.h @@ -30,8 +30,8 @@ #define MOUSEKEY_WHEEL_MAX_SPEED 8 #define MOUSEKEY_WHEEL_TIME_TO_MAX 40 -#undef RGBLED_NUM -#define RGBLED_NUM 2 +#undef RGBLIGHT_LED_COUNT +#define RGBLIGHT_LED_COUNT 2 #define RGBLED_SPLIT {1, 1} // Don't turn off lights when the host goes to sleep. diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h index 5c52df9ffa5a..c973aeb3d34d 100644 --- a/keyboards/handwired/colorlice/config.h +++ b/keyboards/handwired/colorlice/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* RGB LEDs */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h index 783a2c46b141..a37a54c8fc18 100644 --- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h +++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/config.h @@ -43,7 +43,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE // # define RGB_MATRIX_TIMEOUT 300000 // number of milliseconds to wait until disabling effects -// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// # define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h index f32a9ea4f08c..60942352219e 100644 --- a/keyboards/handwired/dygma/raise/config.h +++ b/keyboards/handwired/dygma/raise/config.h @@ -34,7 +34,7 @@ // At 100ms (10 fps), the matrix scan rate is ~355 scans per second under full load, and typing // accuracy is reasonably good. #define RGB_MATRIX_LED_FLUSH_LIMIT 100 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/handwired/freoduo/keymaps/default/keymap.c b/keyboards/handwired/freoduo/keymaps/default/keymap.c index bd01de7585f3..791e6af318d2 100644 --- a/keyboards/handwired/freoduo/keymaps/default/keymap.c +++ b/keyboards/handwired/freoduo/keymaps/default/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 7, 0}, {7, 24, HSV_RED}, - {24, RGBLED_NUM, 0} + {24, RGBLIGHT_LED_COUNT, 0} ); // Light all LEDs in green when keyboard layer 1 is active const rgblight_segment_t PROGMEM layer_lower[] = RGBLIGHT_LAYER_SEGMENTS( diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h index 7b61de013bc7..39c502038a6f 100644 --- a/keyboards/handwired/hnah40rgb/config.h +++ b/keyboards/handwired/hnah40rgb/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/config.h b/keyboards/handwired/hnah40rgb/keymaps/default/config.h deleted file mode 100644 index aa9325a59dbf..000000000000 --- a/keyboards/handwired/hnah40rgb/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 HnahKB - * - * 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 diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk deleted file mode 100644 index 916b1154bdd0..000000000000 --- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# Build Overrides diff --git a/keyboards/handwired/onekey/keymaps/apa102/config.h b/keyboards/handwired/onekey/keymaps/apa102/config.h index 756ebb359366..bb618d77fbc3 100644 --- a/keyboards/handwired/onekey/keymaps/apa102/config.h +++ b/keyboards/handwired/onekey/keymaps/apa102/config.h @@ -1,6 +1,6 @@ #pragma once -#define RGBLED_NUM 40 +#define RGBLIGHT_LED_COUNT 40 #define APA102_DEFAULT_BRIGHTNESS 5 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h new file mode 100644 index 000000000000..7e5b6c0b911a --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +// TODO: Remove reuse of pin +#define DIP_SWITCH_PINS { WS2812_DI_PIN } diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c new file mode 100644 index 000000000000..35bb16d4586f --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c @@ -0,0 +1,14 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1(KC_A), + [1] = LAYOUT_ortho_1x1(KC_B), +}; + +#if defined(DIP_SWITCH_MAP_ENABLE) +const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { + DIP_SWITCH_OFF_ON(DF(0), DF(1)) +}; +#endif diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk new file mode 100644 index 000000000000..b2429854f14b --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk @@ -0,0 +1,2 @@ +DIP_SWITCH_ENABLE = yes +DIP_SWITCH_MAP_ENABLE = yes diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c index 63778ea52be2..a24db9aedd96 100644 --- a/keyboards/handwired/orbweaver/orbweaver.c +++ b/keyboards/handwired/orbweaver/orbweaver.c @@ -22,7 +22,7 @@ #include "rgb_matrix.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h index 326789b99830..176aa6ec67ed 100644 --- a/keyboards/handwired/p65rgb/config.h +++ b/keyboards/handwired/p65rgb/config.h @@ -17,7 +17,7 @@ along with this program. If not, see . #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index ff73e51d5eb2..1b6dcbbd145e 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -47,7 +47,7 @@ along with this program. If not, see . } while (0) #endif #endif -#include "outputselect.h" +#include "bluetooth.h" #include "led.h" #define COUNT(x) ARRAY_SIZE((x)) @@ -1251,13 +1251,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void set_output_user(uint8_t output) { +void set_send_output_user(send_output_t output) { #ifdef BLUETOOTH_BLUEFRUIT_LE - switch(output) { - case OUTPUT_USB: + switch (output) { + case SEND_OUTPUT_USB: led_set_output_usb(); break; - case OUTPUT_BLUETOOTH: + case SEND_OUTPUT_BLUETOOTH: led_set_output_ble(); break; default: @@ -1277,11 +1277,11 @@ void matrix_init_user(void) { // auto detect output on init #ifdef BLUETOOTH_BLUEFRUIT_LE - uint8_t output = auto_detect_output(); - if (output == OUTPUT_USB) { - set_output(OUTPUT_USB); + send_output_t output = get_send_output(); + if (output == SEND_OUTPUT_USB) { + set_send_output(SEND_OUTPUT_USB); } else { - set_output(OUTPUT_BLUETOOTH); + set_send_output(SEND_OUTPUT_BLUETOOTH); } #endif } diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h b/keyboards/handwired/steamvan/keymaps/jmdaly/config.h deleted file mode 100644 index 271f48d0011b..000000000000 --- a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -// place overrides here diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h index a1cbfedc0cb1..6a833fcd8e19 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . // WS2812 RGB LED strip input and number of LEDs #define RGB_MATRIX_LED_COUNT 62 #define RGB_MATRIX_SPLIT { 32, 30 } -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES // #define RGB_MATRIX_KEYRELEASES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/handwired/ziyoulang_k3_mod/config.h b/keyboards/handwired/ziyoulang_k3_mod/config.h new file mode 100644 index 000000000000..304ca5eb2825 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/config.h @@ -0,0 +1,8 @@ +// Copyright 2023 Coom (@coomstoolbox) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define I2C1_SCL_PIN B10 +#define I2C1_SDA_PIN B11 +#define I2C_DRIVER I2CD2 diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h b/keyboards/handwired/ziyoulang_k3_mod/halconf.h similarity index 90% rename from keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h rename to keyboards/handwired/ziyoulang_k3_mod/halconf.h index 0054f43e6bd3..44602147bbc1 100644 --- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h +++ b/keyboards/handwired/ziyoulang_k3_mod/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2017 Baris Tosun +/* Copyright 2021 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 @@ -16,5 +16,6 @@ #pragma once -// place overrides here +#define HAL_USE_I2C TRUE +#include_next diff --git a/keyboards/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json index 127cc51299c9..5d4ca7a254c0 100644 --- a/keyboards/handwired/ziyoulang_k3_mod/info.json +++ b/keyboards/handwired/ziyoulang_k3_mod/info.json @@ -2,7 +2,7 @@ "keyboard_name": "ziyoulang k3 mod", "development_board": "bluepill", "usb": { - "device_version": "1.0.0", + "device_version": "1.2.0", "pid": "0xE002", "vid": "0x5006" }, @@ -11,10 +11,14 @@ "command": false, "console": false, "extrakey": true, - "mousekey": true, - "nkro": false + "mousekey": false, + "nkro": false, + "oled": true }, - "diode_direction": "COL2ROW", + "build": { + "lto": true + }, + "diode_direction": "ROW2COL", "dynamic_keymap": { "layer_count": 3 }, @@ -78,7 +82,7 @@ {"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]}, {"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]}, {"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]}, - {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]}, + {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [3, 13]}, {"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]}, {"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]}, {"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]}, @@ -96,7 +100,7 @@ {"label":"L", "x":9.75, "y":3.25, "matrix": [3, 10]}, {"label":":", "x":10.75, "y":3.25, "matrix": [3, 11]}, {"label":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]}, - {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [2, 13]}, {"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]}, {"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]}, {"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]}, @@ -139,4 +143,4 @@ "manufacturer": "Coom", "maintainer": "coomstoolbox", "url": "" -} \ No newline at end of file +} diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk index ea877d67869c..1e5b99807cb7 100644 --- a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk @@ -1,3 +1 @@ VIA_ENABLE = yes -MOUSEKEY_ENABLE = no -LTO_ENABLE = yes diff --git a/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h new file mode 100644 index 000000000000..8f1da10fe2b5 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 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 3 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 + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md index 7e247fde198b..553f735d4c6a 100644 --- a/keyboards/handwired/ziyoulang_k3_mod/readme.md +++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md @@ -23,7 +23,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to [KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram) -![explanation](https://i.imgur.com/yvhvhoBh.png) +![explanation](https://i.imgur.com/thGIdOth.png) ## Bootloader diff --git a/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c new file mode 100644 index 000000000000..cadae4aa286a --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c @@ -0,0 +1,117 @@ +// Copyright 2023 Coom (@coomstoolbox) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include + +void keyboard_post_init_kb(void) { +#ifdef CONSOLE_ENABLE + debug_enable=true; + debug_matrix=true; +#endif + keyboard_post_init_user(); +} + +static uint16_t last_keycode = KC_NO; +static keypos_t last_key = {0, 0}; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します +#ifdef CONSOLE_ENABLE + uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); +#endif + if (record->event.pressed) { + if (last_keycode != keycode) { + last_keycode = keycode; + last_key = record->event.key; + } + } + return true; +} + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); +#ifdef CONSOLE_ENABLE + uprintf("Ziyoulang K3 Mod\n"); + oled_set_cursor(3, 0); + oled_write_P(PSTR("Ziyoulang K3 Mod"), false); +#endif +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + int uptime_seconds = (int)(timer_read32() / 1000); + if (uptime_seconds < 5) { + render_logo(); + return false; + } + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state | default_layer_state)) { + case 0: + oled_write_P(PSTR("Default\n"), false); + break; + case 1: + oled_write_P(PSTR("2\n"), false); + break; + case 2: + oled_write_P(PSTR("3\n"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("Undefined"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + if (led_state.num_lock) { + oled_write_P(PSTR("NUM"), true); + oled_write_P(PSTR(" "), false); + } else { + oled_write_P(PSTR(" "), false); + } + if (led_state.caps_lock) { + oled_write_P(PSTR("CAP"), true); + oled_write_P(PSTR(" "), false); + } else { + oled_write_P(PSTR(" "), false); + } + if (led_state.scroll_lock) { + oled_write_P(PSTR("SCR"), true); + oled_write_ln_P(PSTR(" "), false); + } else { + oled_write_ln_P(PSTR(" "), false); + } + + // Last Key pressed info + oled_write_P(PSTR("kc : "), false); + if (last_keycode > 21000) { + oled_write_ln_P(PSTR(" Fn"), false); + } else { + oled_write_ln_P(get_u16_str(last_keycode, ' '), false); + } + oled_write_P(PSTR("col: "), false); + oled_write_P(get_u8_str(last_key.col, ' '), false); + oled_write_P(PSTR(",row: "), false); + oled_write_P(get_u8_str(last_key.row, ' '), false); + + return false; +} +#endif diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index f5eb4c13e101..e1cd9c2e9093 100644 --- a/keyboards/helix/pico/config.h +++ b/keyboards/helix/pico/config.h @@ -50,20 +50,20 @@ along with this program. If not, see . // Helix keyboard RGB LED support // see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes #ifdef RGBLED_BACK - #define RGBLED_NUM 25 + #define RGBLIGHT_LED_COUNT 25 #else - #define RGBLED_NUM 6 + #define RGBLIGHT_LED_COUNT 6 #endif #ifndef IOS_DEVICE_ENABLE - #if RGBLED_NUM <= 6 + #if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 255 #else #define RGBLIGHT_LIMIT_VAL 130 #endif #define RGBLIGHT_VAL_STEP 17 #else - #if RGBLED_NUM <= 6 + #if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 90 #else #define RGBLIGHT_LIMIT_VAL 45 diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 7ab494522a80..8af2a44ecc7f 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -31,20 +31,20 @@ along with this program. If not, see . // Helix keyboard RGB LED support // see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes #ifdef RGBLED_BACK - #define RGBLED_NUM 32 + #define RGBLIGHT_LED_COUNT 32 #else - #define RGBLED_NUM 6 + #define RGBLIGHT_LED_COUNT 6 #endif #ifndef IOS_DEVICE_ENABLE - #if RGBLED_NUM <= 6 + #if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 255 #else #define RGBLIGHT_LIMIT_VAL 120 #endif #define RGBLIGHT_VAL_STEP 17 #else - #if RGBLED_NUM <= 6 + #if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 90 #else #define RGBLIGHT_LIMIT_VAL 35 diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h index 000f99834a4a..5ab812c29b74 100644 --- a/keyboards/helix/rev3_4rows/config.h +++ b/keyboards/helix/rev3_4rows/config.h @@ -45,7 +45,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 50 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index 44bbc5f194ce..7f1152979c0a 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -45,7 +45,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 64 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/hfdkb/ac001/config.h b/keyboards/hfdkb/ac001/config.h index 7d38c7392c01..e10fe53456b3 100644 --- a/keyboards/hfdkb/ac001/config.h +++ b/keyboards/hfdkb/ac001/config.h @@ -33,7 +33,7 @@ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index df17650f27fc..754b63b20094 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -70,7 +70,7 @@ bool led_update_kb(led_t led_state) { __attribute__ ((weak)) void keyboard_post_init_user(void) { - rgblight_set_effect_range(3, RGBLED_NUM-3); + rgblight_set_effect_range(3, RGBLIGHT_LED_COUNT-3); led_t led_state = { .caps_lock = true, .num_lock = true, diff --git a/keyboards/horrortroll/lemon40/lemon40.c b/keyboards/horrortroll/lemon40/lemon40.c index 75321f41b33d..ad42e93e6762 100644 --- a/keyboards/horrortroll/lemon40/lemon40.c +++ b/keyboards/horrortroll/lemon40/lemon40.c @@ -20,18 +20,21 @@ #include "lib/bongocat.h" #ifdef OLED_ENABLE - bool oled_task_kb(void) { - led_t led_usb_state = host_keyboard_led_state(); +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + led_t led_usb_state = host_keyboard_led_state(); - render_bongocat(); - oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top) - oled_write_P(PSTR("WPM:"), false); - oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string - oled_set_cursor(17, 2); - oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_set_cursor(17, 3); - oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false); + render_bongocat(); + oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top) + oled_write_P(PSTR("WPM:"), false); + oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string + oled_set_cursor(17, 2); + oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); + oled_set_cursor(17, 3); + oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false); - return true; - } + return true; +} #endif diff --git a/keyboards/hotdox76v2/config.h b/keyboards/hotdox76v2/config.h index 3d80775073f8..2788ae392ea4 100644 --- a/keyboards/hotdox76v2/config.h +++ b/keyboards/hotdox76v2/config.h @@ -26,7 +26,7 @@ #define RGB_MATRIX_LED_COUNT 86 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_CENTER \ { 112, 32 } diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h index c86446439025..c7b532961358 100644 --- a/keyboards/hs60/v1/config.h +++ b/keyboards/hs60/v1/config.h @@ -38,7 +38,7 @@ along with this program. If not, see . //This is experimental do not enable yet //#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215 #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c index 50f6215a02dc..f68bcbdf9e7d 100644 --- a/keyboards/hs60/v1/v1.c +++ b/keyboards/hs60/v1/v1.c @@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length ) #ifdef HS60_ANSI -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -199,7 +199,7 @@ led_config_t g_led_config = { { #else -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c index 8e3810cd234f..03dfcdc2f2c6 100644 --- a/keyboards/ibm/model_m/mschwingen/mschwingen.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -36,10 +36,10 @@ static bool blink_state = false; static uint8_t isRecording = 0; #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 -# if RGBLED_NUM < 3 +# if RGBLIGHT_LED_COUNT < 3 # error we need at least 3 RGB LEDs! # endif -static rgb_led_t led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; +static rgb_led_t led[RGBLIGHT_LED_COUNT] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}}; # define BRIGHT 32 # define DIM 6 @@ -84,13 +84,13 @@ void sleep_led_enable(void) { led[0] = black; led[1] = black; led[2] = black; - ws2812_setleds(led, RGBLED_NUM); + ws2812_setleds(led, RGBLIGHT_LED_COUNT); #endif } void keyboard_pre_init_kb(void) { #ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 - ws2812_setleds(led, RGBLED_NUM); + ws2812_setleds(led, RGBLIGHT_LED_COUNT); #else /* Set status LEDs pins to output and Low (on) */ setPinOutput(MODELM_LED_CAPSLOCK); @@ -146,7 +146,7 @@ static void led_update_rgb(void) { break; } if (!suspend_active) { - ws2812_setleds(led, RGBLED_NUM); + ws2812_setleds(led, RGBLIGHT_LED_COUNT); } } diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h deleted file mode 100644 index 779e5a858f9f..000000000000 --- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 iw0rm3r - * - * 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 - -// place overrides here diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h deleted file mode 100644 index 0453a72580b0..000000000000 --- a/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 REPLACE_WITH_YOUR_NAME - * - * 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 - -// place overrides below diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h index bac9dbf1bd6f..a5f0f96a7631 100755 --- a/keyboards/idobao/id42/config.h +++ b/keyboards/idobao/id42/config.h @@ -8,7 +8,7 @@ #define RGB_MATRIX_LED_COUNT 42 - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES // enable key press effects diff --git a/keyboards/idobao/id61/config.h b/keyboards/idobao/id61/config.h index 5513787c4e33..b7707bf180d6 100644 --- a/keyboards/idobao/id61/config.h +++ b/keyboards/idobao/id61/config.h @@ -17,7 +17,7 @@ #define RGB_MATRIX_LED_COUNT 61 // = 71 - 10 #endif - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to {x} out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/idobao/id63/config.h b/keyboards/idobao/id63/config.h index 214fb6ba6db9..ddca9576b0dd 100644 --- a/keyboards/idobao/id63/config.h +++ b/keyboards/idobao/id63/config.h @@ -24,7 +24,7 @@ #define RGB_MATRIX_LED_COUNT (75 - 12) #endif - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h index 7834bd33bbd8..e0685f4a8a6b 100644 --- a/keyboards/idobao/id67/config.h +++ b/keyboards/idobao/id67/config.h @@ -13,7 +13,7 @@ #define RGB_MATRIX_LED_COUNT (77 - 10) #endif - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/idobao/id75/keymaps/paryz/config.h b/keyboards/idobao/id75/keymaps/paryz/config.h index 625ce7a25761..38c82875fa1c 100644 --- a/keyboards/idobao/id75/keymaps/paryz/config.h +++ b/keyboards/idobao/id75/keymaps/paryz/config.h @@ -16,5 +16,5 @@ #pragma once #define RGBLIGHT_SLEEP -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h b/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h deleted file mode 100644 index a3ed4f762a6e..000000000000 --- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 MechMerlin - * - * 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 - -// place overrides here diff --git a/keyboards/idobao/id80/v3/ansi/config.h b/keyboards/idobao/id80/v3/ansi/config.h index afe880fa8af5..9b5b0ea29193 100644 --- a/keyboards/idobao/id80/v3/ansi/config.h +++ b/keyboards/idobao/id80/v3/ansi/config.h @@ -12,7 +12,7 @@ #define RGB_MATRIX_LED_COUNT 94 - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h index 17b63471fa49..2a6237fd91f0 100644 --- a/keyboards/idobao/id87/v2/config.h +++ b/keyboards/idobao/id87/v2/config.h @@ -13,7 +13,7 @@ #define RGB_MATRIX_LED_COUNT 103 - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to x out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h index a7cd0d6114e7..9f4dd7acf4bf 100755 --- a/keyboards/idobao/montex/v2/config.h +++ b/keyboards/idobao/montex/v2/config.h @@ -13,7 +13,7 @@ // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good #define RGB_MATRIX_KEYPRESSES - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/ilumkb/simpler61/config.h b/keyboards/ilumkb/simpler61/config.h index 7978b495deb2..65f922631fa8 100644 --- a/keyboards/ilumkb/simpler61/config.h +++ b/keyboards/ilumkb/simpler61/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/ilumkb/simpler61/simpler61.c b/keyboards/ilumkb/simpler61/simpler61.c index f29f05defe62..cb35e5542804 100644 --- a/keyboards/ilumkb/simpler61/simpler61.c +++ b/keyboards/ilumkb/simpler61/simpler61.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW3, CS2_SW3, CS1_SW3}, diff --git a/keyboards/ilumkb/simpler64/config.h b/keyboards/ilumkb/simpler64/config.h index 09dc7dc80f7d..4f47e5e4cd7e 100644 --- a/keyboards/ilumkb/simpler64/config.h +++ b/keyboards/ilumkb/simpler64/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/ilumkb/simpler64/simpler64.c b/keyboards/ilumkb/simpler64/simpler64.c index a562fa5c8bab..173423cf7e6f 100644 --- a/keyboards/ilumkb/simpler64/simpler64.c +++ b/keyboards/ilumkb/simpler64/simpler64.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW3, CS2_SW3, CS1_SW3}, diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c index 4d77a4829e5f..079889e72747 100644 --- a/keyboards/inett_studio/sqx/hotswap/hotswap.c +++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c @@ -20,7 +20,7 @@ #include "hotswap.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c index 3ba42e999515..519df5750558 100644 --- a/keyboards/inett_studio/sqx/universal/universal.c +++ b/keyboards/inett_studio/sqx/universal/universal.c @@ -20,7 +20,7 @@ #include "universal.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/inland/kb83/config.h b/keyboards/inland/kb83/config.h index be26cf869c96..e8f47d54e166 100644 --- a/keyboards/inland/kb83/config.h +++ b/keyboards/inland/kb83/config.h @@ -45,7 +45,7 @@ #define DRIVER_2_LED_TOTAL 21 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 10) -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c index 49604b93be40..427a9a5e2d07 100644 --- a/keyboards/inland/kb83/kb83.c +++ b/keyboards/inland/kb83/kb83.c @@ -18,7 +18,7 @@ // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/inland/mk47/config.h b/keyboards/inland/mk47/config.h index e5026bd0e7ab..6b673f5a3d15 100644 --- a/keyboards/inland/mk47/config.h +++ b/keyboards/inland/mk47/config.h @@ -32,7 +32,7 @@ #define I2C1_CLOCK_SPEED 400000 #define RGB_MATRIX_LED_COUNT 47 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/inland/mk47/mk47.c b/keyboards/inland/mk47/mk47.c index 5a34527c6c2d..959330e6f837 100644 --- a/keyboards/inland/mk47/mk47.c +++ b/keyboards/inland/mk47/mk47.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/inland/v83p/config.h b/keyboards/inland/v83p/config.h index c39cb6421f70..0fb6ecd140ce 100644 --- a/keyboards/inland/v83p/config.h +++ b/keyboards/inland/v83p/config.h @@ -14,7 +14,7 @@ #define I2C1_CLOCK_SPEED 400000 #define RGB_MATRIX_LED_COUNT 92 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* SPI Config for spi flash*/ #define SPI_DRIVER SPIDQ diff --git a/keyboards/inland/v83p/v83p.c b/keyboards/inland/v83p/v83p.c index 3cb9c06cb056..d0440036150e 100644 --- a/keyboards/inland/v83p/v83p.c +++ b/keyboards/inland/v83p/v83p.c @@ -5,7 +5,7 @@ // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index 3757ca3d605d..f9cd4066379b 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -46,7 +46,7 @@ along with this program. If not, see . #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define LED_MATRIX_LED_COUNT 76 #define LED_MATRIX_SPLIT { 38, 38 } -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP // LED Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c index 8f245d9fa3bd..80d36814373a 100644 --- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c +++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c @@ -171,7 +171,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { #endif #ifdef LED_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { // The numbers in the comments are the led numbers DXX on the PCB /* Refer to IS31 manual for these locations * driver diff --git a/keyboards/input_club/infinity60/led/led.c b/keyboards/input_club/infinity60/led/led.c index a6a63e202df3..e54f30d7b4bb 100644 --- a/keyboards/input_club/infinity60/led/led.c +++ b/keyboards/input_club/infinity60/led/led.c @@ -4,7 +4,7 @@ #include "quantum.h" #ifdef LED_MATRIX_ENABLE -const is31fl3731_led_t g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c index e471cf0b719e..385416439a8f 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.c +++ b/keyboards/input_club/k_type/is31fl3733-dual.c @@ -60,11 +60,10 @@ # define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE #endif -// Transfer buffer for TWITransmitData() -uint8_t g_twi_transfer_buffer[20]; +uint8_t i2c_transfer_buffer[20]; // These buffers match the IS31FL3733 PWM registers. -// The control buffers match the PG0 LED On/Off registers. +// The control buffers match the page 0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these // buffers and the transfers in is31fl3733_write_pwm_buffer() but it's @@ -77,47 +76,52 @@ bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT] bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. - g_twi_transfer_buffer[0] = reg; - g_twi_transfer_buffer[1] = data; + i2c_transfer_buffer[0] = reg; + i2c_transfer_buffer[1] = data; #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif return true; } +void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page) { + is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, page); +} + bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { - // Assumes PG1 is already selected. + // Assumes page 1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. - // g_twi_transfer_buffer[] is 20 bytes + // i2c_transfer_buffer[] is 20 bytes // Iterate over the pwm_buffer contents at 16 byte intervals. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) { - g_twi_transfer_buffer[0] = i; + i2c_transfer_buffer[0] = i; // Copy the data from i to i+15. // Device will auto-increment register for data after the first byte // Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer. for (int j = 0; j < 16; j++) { - g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j]; + i2c_transfer_buffer[1 + j] = pwm_buffer[i + j]; } #if IS31FL3733_I2C_PERSISTENCE > 0 for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) { - if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } } #else - if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { + if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) { return false; } #endif @@ -150,32 +154,23 @@ void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { // then disable software shutdown. // Sync is passed so set it according to the datasheet. - // Unlock the command register. - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_LED_CONTROL); - // Select PG0 - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); // Turn off all LEDs. for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(bus, addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_PWM); - // Select PG1 - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) { is31fl3733_write_register(bus, addr, i, 0x00); } - // Unlock the command register. - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); + is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_FUNCTION); - // Select PG3 - is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION); // Set de-ghost pull-up resistors (SWx) is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP); // Set de-ghost pull-down resistors (CSx) @@ -242,11 +237,9 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { - // Firstly we need to unlock the command register and select PG1. - is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM); + is31fl3733_select_page(index, addr, IS31FL3733_COMMAND_PWM); - // If any of the transactions fail we risk writing dirty PG0, + // If any of the transactions fail we risk writing dirty page 0, // refresh page 0 just in case. if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; @@ -257,9 +250,8 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { - // Firstly we need to unlock the command register and select PG0 - is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC); - is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL); + is31fl3733_select_page(index, addr, IS31FL3733_COMMAND_LED_CONTROL); + for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) { is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]); } diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h index 2f7d58f7e7bd..e0fc5fd3b9e7 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.h +++ b/keyboards/input_club/k_type/is31fl3733-dual.h @@ -70,6 +70,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT]; void is31fl3733_init_drivers(void); void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync); bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); +void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page); bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h index c40495c8de87..50522716871a 100644 --- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h +++ b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h @@ -16,37 +16,5 @@ #pragma once - -#ifdef RGB_MATRIX_ENABLE -// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_KEYPRESSES -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINDROPS - -// # define DEBUG_MATRIX_SCAN_RATE - -# define RGB_MATRIX_LED_FLUSH_LIMIT 100 -// # define RGB_MATRIX_LED_PROCESS_LIMIT 2 - -// i2c_master defines -# define I2C_COUNT 2 - -# define I2C1_BANK GPIOB -# define I2C1_SCL 0 // A2 on pinout = B0 -# define I2C1_SDA 1 // A2 on pinout = B1 -# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 -# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 - -# define USE_I2C2 -# define I2C2_BANK GPIOC -# define I2C2_SCL 10 // A2 on pinout = C10 -# define I2C2_SDA 11 // A2 on pinout = C11 -# define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 -# define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 - -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_ADDR_2 0b1010000 -# define DRIVER_COUNT 2 -# define DRIVER_1_LED_TOTAL 64 -# define DRIVER_2_LED_TOTAL 55 -# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) -#endif +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINDROPS +#define RGB_MATRIX_LED_FLUSH_LIMIT 100 diff --git a/keyboards/input_club/whitefox/config.h b/keyboards/input_club/whitefox/config.h index 2d6affe84ab6..2b22fb98527b 100644 --- a/keyboards/input_club/whitefox/config.h +++ b/keyboards/input_club/whitefox/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . /* LED matrix driver */ #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define LED_MATRIX_LED_COUNT 71 -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP /* i2c (for LED matrix) */ #define I2C1_CLOCK_SPEED 400000 diff --git a/keyboards/input_club/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c index 63c6a492403a..07741365c396 100644 --- a/keyboards/input_club/whitefox/whitefox.c +++ b/keyboards/input_club/whitefox/whitefox.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef LED_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { // The numbers in the comments are the led numbers DXX on the PCB /* Refer to IS31 manual for these locations * driver diff --git a/keyboards/jacky_studio/piggy60/rev2/config.h b/keyboards/jacky_studio/piggy60/rev2/config.h index fa884d5f1870..1114d0a2179b 100644 --- a/keyboards/jacky_studio/piggy60/rev2/config.h +++ b/keyboards/jacky_studio/piggy60/rev2/config.h @@ -18,7 +18,7 @@ #define RGB_MATRIX_LED_COUNT 14 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h index 8e0534fa2cb3..f3622be4a320 100644 --- a/keyboards/jadookb/jkb65/config.h +++ b/keyboards/jadookb/jkb65/config.h @@ -18,7 +18,7 @@ #define RGB_MATRIX_LED_COUNT 67 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/jc65/v32u4/keymaps/coth/config.h b/keyboards/jc65/v32u4/keymaps/coth/config.h deleted file mode 100644 index a5568e400def..000000000000 --- a/keyboards/jc65/v32u4/keymaps/coth/config.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../config.h" diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h b/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h deleted file mode 100644 index a5568e400def..000000000000 --- a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../config.h" diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/config.h b/keyboards/jc65/v32u4/keymaps/na7thana/config.h deleted file mode 100644 index a5568e400def..000000000000 --- a/keyboards/jc65/v32u4/keymaps/na7thana/config.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../config.h" diff --git a/keyboards/jian/keymaps/default/config.h b/keyboards/jian/keymaps/default/config.h deleted file mode 100644 index 314836a54dfc..000000000000 --- a/keyboards/jian/keymaps/default/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once diff --git a/keyboards/jian/keymaps/left_hand/config.h b/keyboards/jian/keymaps/left_hand/config.h deleted file mode 100644 index cae66a5c3aa4..000000000000 --- a/keyboards/jian/keymaps/left_hand/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - diff --git a/keyboards/jian/keymaps/via/config.h b/keyboards/jian/keymaps/via/config.h deleted file mode 100644 index cae66a5c3aa4..000000000000 --- a/keyboards/jian/keymaps/via/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ -#pragma once - diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h index 5025847259a8..7df400367fcf 100644 --- a/keyboards/jian/nsrev2/config.h +++ b/keyboards/jian/nsrev2/config.h @@ -22,14 +22,14 @@ along with this program. If not, see . #define RGBLIGHT_TIMER #ifndef IOS_DEVICE_ENABLE -#if RGBLED_NUM <= 6 +#if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 255 #else #define RGBLIGHT_LIMIT_VAL 130 #endif #define RGBLIGHT_VAL_STEP 8 #else -#if RGBLED_NUM <= 6 +#if RGBLIGHT_LED_COUNT <= 6 #define RGBLIGHT_LIMIT_VAL 90 #else #define RGBLIGHT_LIMIT_VAL 45 diff --git a/keyboards/jian/rev1/post_config.h b/keyboards/jian/rev1/post_config.h index fade065e1923..935d0d1f015c 100644 --- a/keyboards/jian/rev1/post_config.h +++ b/keyboards/jian/rev1/post_config.h @@ -1,14 +1,14 @@ #pragma once #ifndef IOS_DEVICE_ENABLE -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 255 # else # define RGBLIGHT_LIMIT_VAL 130 # endif # define RGBLIGHT_VAL_STEP 8 #else -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 90 # else # define RGBLIGHT_LIMIT_VAL 45 diff --git a/keyboards/jian/rev2/post_config.h b/keyboards/jian/rev2/post_config.h index fade065e1923..935d0d1f015c 100644 --- a/keyboards/jian/rev2/post_config.h +++ b/keyboards/jian/rev2/post_config.h @@ -1,14 +1,14 @@ #pragma once #ifndef IOS_DEVICE_ENABLE -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 255 # else # define RGBLIGHT_LIMIT_VAL 130 # endif # define RGBLIGHT_VAL_STEP 8 #else -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 90 # else # define RGBLIGHT_LIMIT_VAL 45 diff --git a/keyboards/jukaie/jk01/config.h b/keyboards/jukaie/jk01/config.h index 62c709a91726..0aaa2ef64c97 100644 --- a/keyboards/jukaie/jk01/config.h +++ b/keyboards/jukaie/jk01/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/jukaie/jk01/jk01.c b/keyboards/jukaie/jk01/jk01.c index 8f6941947609..96db3b804e9b 100644 --- a/keyboards/jukaie/jk01/jk01.c +++ b/keyboards/jukaie/jk01/jk01.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/junco/keymaps/default/config.h b/keyboards/junco/keymaps/default/config.h index 43c47b9122a1..8a1acc5fd389 100644 --- a/keyboards/junco/keymaps/default/config.h +++ b/keyboards/junco/keymaps/default/config.h @@ -23,7 +23,7 @@ # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Turns off RGB effects when there is no longer a USB connection -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP // Key press reactive animations # define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations diff --git a/keyboards/junco/keymaps/deluxe/config.h b/keyboards/junco/keymaps/deluxe/config.h index bec55fbd4c30..db185a484981 100644 --- a/keyboards/junco/keymaps/deluxe/config.h +++ b/keyboards/junco/keymaps/deluxe/config.h @@ -39,7 +39,7 @@ # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Turns off RGB effects when there is no longer a USB connection -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP // Throttling of RGB to increase keyboard responsiveness, set to 1.5x the default limits # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 6 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) diff --git a/keyboards/junco/keymaps/via/config.h b/keyboards/junco/keymaps/via/config.h index c4ce821594d5..897313cd668a 100644 --- a/keyboards/junco/keymaps/via/config.h +++ b/keyboards/junco/keymaps/via/config.h @@ -26,7 +26,7 @@ # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Turns off RGB effects when there is no longer a USB connection -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP // Allow keypress reactive animations # define SPLIT_TRANSPORT_MIRROR // Necessary setting for key press animations on a split diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h deleted file mode 100644 index bf1149ebc632..000000000000 --- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 kakunpc - * - * 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 - -// place overrides here diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h index 64135cabcdc5..40a7c6ec47e7 100644 --- a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h +++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h @@ -30,7 +30,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 +#define RGBLIGHT_LED_COUNT 14 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 12 diff --git a/keyboards/kapl/keymaps/default/config.h b/keyboards/kapl/keymaps/default/config.h deleted file mode 100644 index cc82705192a7..000000000000 --- a/keyboards/kapl/keymaps/default/config.h +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2022 Alexander Lozyuk (@keyzog) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once diff --git a/keyboards/kapl/keymaps/via/config.h b/keyboards/kapl/keymaps/via/config.h deleted file mode 100644 index cc82705192a7..000000000000 --- a/keyboards/kapl/keymaps/via/config.h +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright 2022 Alexander Lozyuk (@keyzog) -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json index c15801da35df..b088f61425dc 100644 --- a/keyboards/karn/info.json +++ b/keyboards/karn/info.json @@ -23,52 +23,54 @@ "split": { "enabled": true }, - "community_layouts": ["split_3x6_3"], "layouts": { - "LAYOUT_split_3x6_3": { + "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, {"matrix": [0, 4], "x": 4, "y": 0}, {"matrix": [0, 5], "x": 5, "y": 0}, - {"matrix": [4, 0], "x": 8, "y": 0}, - {"matrix": [4, 1], "x": 9, "y": 0}, - {"matrix": [4, 2], "x": 10, "y": 0}, - {"matrix": [4, 3], "x": 11, "y": 0}, - {"matrix": [4, 4], "x": 12, "y": 0}, - {"matrix": [4, 5], "x": 13, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, + + {"matrix": [4, 0], "x": 9, "y": 0}, + {"matrix": [4, 1], "x": 10, "y": 0}, + {"matrix": [4, 2], "x": 11, "y": 0}, + {"matrix": [4, 3], "x": 12, "y": 0}, + {"matrix": [4, 4], "x": 13, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 0.75, "h": 1.5}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, {"matrix": [1, 3], "x": 3, "y": 1}, {"matrix": [1, 4], "x": 4, "y": 1}, {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [5, 0], "x": 8, "y": 1}, - {"matrix": [5, 1], "x": 9, "y": 1}, - {"matrix": [5, 2], "x": 10, "y": 1}, - {"matrix": [5, 3], "x": 11, "y": 1}, - {"matrix": [5, 4], "x": 12, "y": 1}, - {"matrix": [5, 5], "x": 13, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, + + {"matrix": [5, 0], "x": 9, "y": 1}, + {"matrix": [5, 1], "x": 10, "y": 1}, + {"matrix": [5, 2], "x": 11, "y": 1}, + {"matrix": [5, 3], "x": 12, "y": 1}, + {"matrix": [5, 4], "x": 13, "y": 1}, + {"matrix": [5, 5], "x": 14, "y": 0.75, "h": 1.5}, + {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, {"matrix": [2, 3], "x": 3, "y": 2}, {"matrix": [2, 4], "x": 4, "y": 2}, {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [6, 0], "x": 8, "y": 2}, - {"matrix": [6, 1], "x": 9, "y": 2}, - {"matrix": [6, 2], "x": 10, "y": 2}, - {"matrix": [6, 3], "x": 11, "y": 2}, - {"matrix": [6, 4], "x": 12, "y": 2}, - {"matrix": [6, 5], "x": 13, "y": 2}, - {"matrix": [3, 0], "x": 3.5, "y": 3.25}, - {"matrix": [3, 1], "x": 4.5, "y": 3.5}, - {"matrix": [3, 2], "x": 5.5, "y": 3.75}, - {"matrix": [7, 0], "x": 7.5, "y": 3.75}, - {"matrix": [7, 1], "x": 8.5, "y": 3.5}, - {"matrix": [7, 2], "x": 9.5, "y": 3.25} + + {"matrix": [6, 0], "x": 9, "y": 2}, + {"matrix": [6, 1], "x": 10, "y": 2}, + {"matrix": [6, 2], "x": 11, "y": 2}, + {"matrix": [6, 3], "x": 12, "y": 2}, + {"matrix": [6, 4], "x": 13, "y": 2}, + + {"matrix": [3, 0], "x": 4, "y": 3, "h": 1.5}, + {"matrix": [3, 1], "x": 5, "y": 3.25, "h": 1.5}, + {"matrix": [3, 2], "x": 6, "y": 3.5, "h": 1.5}, + + {"matrix": [7, 0], "x": 8, "y": 3.5, "h": 1.5}, + {"matrix": [7, 1], "x": 9, "y": 3.25, "h": 1.5}, + {"matrix": [7, 2], "x": 10, "y": 3, "h": 1.5} ] } } diff --git a/keyboards/karn/keymaps/colemak/keymap.c b/keyboards/karn/keymaps/colemak/keymap.c index 585798e8a1d4..13f23170e1ec 100644 --- a/keyboards/karn/keymaps/colemak/keymap.c +++ b/keyboards/karn/keymaps/colemak/keymap.c @@ -31,34 +31,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // default (colemak) - [0] = LAYOUT_split_3x6_3( - KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_NO, + [0] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, HYPR_T(KC_TAB),KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, HYPR_T(KC_ENT), - KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO, + SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH), MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2) ), // symbols - [1] = LAYOUT_split_3x6_3( - _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + [1] = LAYOUT( + KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______ ), // nav - [2] = LAYOUT_split_3x6_3( - _______, _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______, _______, + [2] = LAYOUT( + _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______, _______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______, - _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), // numbers - [3] = LAYOUT_split_3x6_3( - _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + [3] = LAYOUT( + TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/karn/keymaps/default/keymap.c b/keyboards/karn/keymaps/default/keymap.c index 5f679552d974..b39fe99d5dfd 100644 --- a/keyboards/karn/keymaps/default/keymap.c +++ b/keyboards/karn/keymaps/default/keymap.c @@ -7,34 +7,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // default (qwerty) - [0] = LAYOUT_split_3x6_3( - KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, - HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT), - KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO, + [0] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT), + SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH), MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2) ), // symbols - [1] = LAYOUT_split_3x6_3( - _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, + [1] = LAYOUT( + KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______ ), // nav - [2] = LAYOUT_split_3x6_3( - _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, + [2] = LAYOUT( + _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______, - _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), // numbers - [3] = LAYOUT_split_3x6_3( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + [3] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/kbdcraft/adam64/adam64.c b/keyboards/kbdcraft/adam64/adam64.c index b0712aec3929..3f1565c2f309 100644 --- a/keyboards/kbdcraft/adam64/adam64.c +++ b/keyboards/kbdcraft/adam64/adam64.c @@ -19,7 +19,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/kbdcraft/adam64/config.h b/keyboards/kbdcraft/adam64/config.h index 511eb7f8ab62..b5652d907950 100644 --- a/keyboards/kbdcraft/adam64/config.h +++ b/keyboards/kbdcraft/adam64/config.h @@ -27,7 +27,7 @@ #define RGB_MATRIX_LED_COUNT 64 /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES \ No newline at end of file diff --git a/keyboards/kbdfans/baguette66/rgb/config.h b/keyboards/kbdfans/baguette66/rgb/config.h index c989f1b12141..2a65b1872d5a 100644 --- a/keyboards/kbdfans/baguette66/rgb/config.h +++ b/keyboards/kbdfans/baguette66/rgb/config.h @@ -47,7 +47,7 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspendedz +#define RGB_MATRIX_SLEEP // turn off effects when suspendedz #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h index 754f4e1eb808..26b629b918ae 100644 --- a/keyboards/kbdfans/bella/rgb/config.h +++ b/keyboards/kbdfans/bella/rgb/config.h @@ -16,7 +16,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c index 8bdc1d8fdf85..c666f9198f46 100644 --- a/keyboards/kbdfans/bella/rgb/rgb.c +++ b/keyboards/kbdfans/bella/rgb/rgb.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */ {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */ {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */ diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h index 48284a5160d5..d99205c77132 100644 --- a/keyboards/kbdfans/bella/rgb_iso/config.h +++ b/keyboards/kbdfans/bella/rgb_iso/config.h @@ -16,7 +16,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c index e36b811bbc85..b4fc00765f58 100644 --- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c +++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */ {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */ {0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */ diff --git a/keyboards/kbdfans/boop65/rgb/config.h b/keyboards/kbdfans/boop65/rgb/config.h index e37e2d17635a..10b0ee7fab19 100644 --- a/keyboards/kbdfans/boop65/rgb/config.h +++ b/keyboards/kbdfans/boop65/rgb/config.h @@ -19,7 +19,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/kbdfans/boop65/rgb/rgb.c b/keyboards/kbdfans/boop65/rgb/rgb.c index f2b585896650..b8145382c7a1 100644 --- a/keyboards/kbdfans/boop65/rgb/rgb.c +++ b/keyboards/kbdfans/boop65/rgb/rgb.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW3, CS20_SW3, CS19_SW3}, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h index dcc998f035da..a1ba1fd43e02 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h @@ -23,7 +23,7 @@ #define FORCE_NKRO #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # undef RGB_MATRIX_TIMEOUT # define RGB_MATRIX_TIMEOUT 900000 #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h index 51b88510e5e2..5550fa67c88b 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h @@ -2,7 +2,7 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c index c70622dd56c1..210be85d3ff2 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h index bba655107dcd..d1f371f077be 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c index 7de8060d7a79..50958017a2b3 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h index 8dd12678ee8a..528a721c0c70 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c index 7347a365bce6..5910d0cf7b02 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW3, CS20_SW3, CS19_SW3}, diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h index 10f0bc0ec2d7..7799b7b2faef 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h @@ -22,7 +22,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h index 10f0bc0ec2d7..7799b7b2faef 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h @@ -22,7 +22,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h deleted file mode 100644 index a3ed4f762a6e..000000000000 --- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 MechMerlin - * - * 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 - -// place overrides here diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h deleted file mode 100644 index a3ed4f762a6e..000000000000 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 MechMerlin - * - * 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 - -// place overrides here diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h index a8b20051ecfc..1fdc1349ed59 100644 --- a/keyboards/kbdfans/kbd75rgb/config.h +++ b/keyboards/kbdfans/kbd75rgb/config.h @@ -47,7 +47,7 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspendedz +#define RGB_MATRIX_SLEEP // turn off effects when suspendedz #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h index be985880d082..dfa3052ba77d 100644 --- a/keyboards/kbdfans/kbdmini/config.h +++ b/keyboards/kbdfans/kbdmini/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c index d46283b973b0..31b2e1a25631 100644 --- a/keyboards/kbdfans/kbdmini/kbdmini.c +++ b/keyboards/kbdfans/kbdmini/kbdmini.c @@ -1,6 +1,6 @@ #include "quantum.h" -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_9, A_9, C_9 }, //LA33 { 0, B_10, A_10, C_10 }, //LA37 { 0, B_11, A_11, C_11 }, //LA41 diff --git a/keyboards/kbdfans/kbdpad/mk3/config.h b/keyboards/kbdfans/kbdpad/mk3/config.h index 16eb12d1f5ea..453e6f8be35a 100644 --- a/keyboards/kbdfans/kbdpad/mk3/config.h +++ b/keyboards/kbdfans/kbdpad/mk3/config.h @@ -17,7 +17,7 @@ #pragma once #define RGB_MATRIX_LED_COUNT 21 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/kbdfans/maja/config.h b/keyboards/kbdfans/maja/config.h index e07c5adf934d..2275a3144f52 100755 --- a/keyboards/kbdfans/maja/config.h +++ b/keyboards/kbdfans/maja/config.h @@ -2,7 +2,7 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/kbdfans/maja/maja.c b/keyboards/kbdfans/maja/maja.c index d30d327113f3..cc073930bc71 100755 --- a/keyboards/kbdfans/maja/maja.c +++ b/keyboards/kbdfans/maja/maja.c @@ -1,6 +1,6 @@ #include "quantum.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C2_1, C3_1, C4_1}, // LA0 {0, C1_1, C3_2, C4_2}, // LA1 {0, C1_2, C2_2, C4_3}, // LA2 diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk deleted file mode 100644 index 8b137891791f..000000000000 --- a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk +++ /dev/null @@ -1 +0,0 @@ - diff --git a/keyboards/kbdfans/odin/rgb/config.h b/keyboards/kbdfans/odin/rgb/config.h index 9cc883891ada..9a3013e1c375 100644 --- a/keyboards/kbdfans/odin/rgb/config.h +++ b/keyboards/kbdfans/odin/rgb/config.h @@ -19,7 +19,7 @@ #define RGB_MATRIX_LED_COUNT 104 #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 diff --git a/keyboards/kc60/mod_rgb_underglow.md b/keyboards/kc60/mod_rgb_underglow.md index 6aab1e1d2e6c..22ade4fa1b5e 100644 --- a/keyboards/kc60/mod_rgb_underglow.md +++ b/keyboards/kc60/mod_rgb_underglow.md @@ -9,8 +9,8 @@ By default, the source is set up for 16 LEDs on the F5 breakout pin. See [includ ```c #pragma once -#undef RGBLED_NUM -#define RGBLED_NUM +#undef RGBLIGHT_LED_COUNT +#define RGBLIGHT_LED_COUNT ``` To enable RGB Underglow, simply add a `rules.mk` file containing `RGBLIGHT_ENABLE = yes` alongside your `keymap.c` file, and compile as normal: diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h index eddc52e8aa04..b31e7bf92054 100644 --- a/keyboards/keebio/bamfk4/config.h +++ b/keyboards/keebio/bamfk4/config.h @@ -46,7 +46,7 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_LED_COUNT 32 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES //# endif diff --git a/keyboards/keebio/cepstrum/rev1/config.h b/keyboards/keebio/cepstrum/rev1/config.h index 72f182b1567f..e0ef9ce2ed4a 100644 --- a/keyboards/keebio/cepstrum/rev1/config.h +++ b/keyboards/keebio/cepstrum/rev1/config.h @@ -56,7 +56,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_LED_COUNT 96 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keebio/chocopad/rev2/config.h b/keyboards/keebio/chocopad/rev2/config.h index 366d639bf0bb..178ece8ba38a 100644 --- a/keyboards/keebio/chocopad/rev2/config.h +++ b/keyboards/keebio/chocopad/rev2/config.h @@ -8,6 +8,6 @@ // RGB Matrix #define RGB_MATRIX_LED_COUNT 20 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/convolution/rev1/config.h b/keyboards/keebio/convolution/rev1/config.h index b46ba583d787..a758121351d0 100644 --- a/keyboards/keebio/convolution/rev1/config.h +++ b/keyboards/keebio/convolution/rev1/config.h @@ -18,7 +18,7 @@ along with this program. If not, see . // RGB Matrix #define RGB_MATRIX_LED_COUNT 16 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/keebio/dilly/keymaps/default/config.h b/keyboards/keebio/dilly/keymaps/default/config.h deleted file mode 100644 index 6f70f09beec2..000000000000 --- a/keyboards/keebio/dilly/keymaps/default/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/keebio/fourier/keymaps/maxim/config.h b/keyboards/keebio/fourier/keymaps/maxim/config.h deleted file mode 100644 index 4f0ea3dc3288..000000000000 --- a/keyboards/keebio/fourier/keymaps/maxim/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h index 80e85052dee9..305ffdedaf76 100644 --- a/keyboards/keebio/iris/rev6/config.h +++ b/keyboards/keebio/iris/rev6/config.h @@ -63,6 +63,6 @@ along with this program. If not, see . # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_LED_COUNT 68 # define RGB_MATRIX_SPLIT { 34, 34 } -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES # endif diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h index 37769d67e756..4e19525de8a9 100644 --- a/keyboards/keebio/iris/rev7/config.h +++ b/keyboards/keebio/iris/rev7/config.h @@ -63,6 +63,6 @@ along with this program. If not, see . # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 # define RGB_MATRIX_LED_COUNT 68 # define RGB_MATRIX_SPLIT { 34, 34 } -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES //# endif diff --git a/keyboards/keebio/iris/rev8/config.h b/keyboards/keebio/iris/rev8/config.h index 96eb75c97acc..e1a3a155f0f3 100644 --- a/keyboards/keebio/iris/rev8/config.h +++ b/keyboards/keebio/iris/rev8/config.h @@ -17,6 +17,6 @@ // RGB Matrix #define RGB_MATRIX_LED_COUNT 68 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h index 501e4edaf7f4..e4adb125d609 100644 --- a/keyboards/keebio/nyquist/rev4/config.h +++ b/keyboards/keebio/nyquist/rev4/config.h @@ -17,6 +17,6 @@ // RGB Matrix #define RGB_MATRIX_LED_COUNT 72 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/nyquistpad/config.h b/keyboards/keebio/nyquistpad/config.h index 82a64e39bffd..adc0f37de1cf 100644 --- a/keyboards/keebio/nyquistpad/config.h +++ b/keyboards/keebio/nyquistpad/config.h @@ -8,6 +8,6 @@ // RGB Matrix #define RGB_MATRIX_LED_COUNT 36 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/quefrency/keymaps/default60/config.h b/keyboards/keebio/quefrency/keymaps/default60/config.h deleted file mode 100644 index 497e05b540c3..000000000000 --- a/keyboards/keebio/quefrency/keymaps/default60/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 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 diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/config.h b/keyboards/keebio/quefrency/keymaps/joestrong/config.h deleted file mode 100644 index 497e05b540c3..000000000000 --- a/keyboards/keebio/quefrency/keymaps/joestrong/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 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 diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h deleted file mode 100644 index 0eefd14dfe8b..000000000000 --- a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 Danny Nguyen -Copyright 2021 Roger Billerey-Mosier - -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 diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h deleted file mode 100644 index 497e05b540c3..000000000000 --- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 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 diff --git a/keyboards/keebio/quefrency/keymaps/yoryer/config.h b/keyboards/keebio/quefrency/keymaps/yoryer/config.h deleted file mode 100644 index 497e05b540c3..000000000000 --- a/keyboards/keebio/quefrency/keymaps/yoryer/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 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 diff --git a/keyboards/keebio/sinc/rev3/config.h b/keyboards/keebio/sinc/rev3/config.h index 66cfe454c43c..9bb698182d60 100644 --- a/keyboards/keebio/sinc/rev3/config.h +++ b/keyboards/keebio/sinc/rev3/config.h @@ -68,7 +68,7 @@ along with this program. If not, see . #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_LED_COUNT 113 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keebio/sinc/rev4/config.h b/keyboards/keebio/sinc/rev4/config.h index bed0f112436b..d9ae6313a634 100644 --- a/keyboards/keebio/sinc/rev4/config.h +++ b/keyboards/keebio/sinc/rev4/config.h @@ -65,7 +65,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_LED_COUNT 117 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/keebio/viterbi/keymaps/default/config.h b/keyboards/keebio/viterbi/keymaps/default/config.h index 38c399ff2c24..acc5970dcb5a 100644 --- a/keyboards/keebio/viterbi/keymaps/default/config.h +++ b/keyboards/keebio/viterbi/keymaps/default/config.h @@ -24,7 +24,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,7 +35,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 +#define RGBLIGHT_LED_COUNT 12 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h index 5c89632272c8..4c619c5a6ac4 100644 --- a/keyboards/keybee/keybee65/config.h +++ b/keyboards/keybee/keybee65/config.h @@ -21,4 +21,4 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h b/keyboards/keyboardio/model01/keymaps/tw1t611/config.h deleted file mode 100644 index 8ab9d8b025a7..000000000000 --- a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 James Laird-Wah - * - * 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 - -/* place overrides here */ diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h index 2fd384b98657..decbd676812a 100644 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h @@ -42,7 +42,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c index 23821853629f..789bb7af024a 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c +++ b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c @@ -42,9 +42,8 @@ bool oled_task_user(void) { #endif -#ifdef ENCODER_ENABLE +#ifdef ENCODER_MAP_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { /* Rev1.1 Rev1 ,-----------------------, ,-----------------------, @@ -57,37 +56,12 @@ Rev1.1 Rev1 | | | | E1 | | | | | | `-----------------------' `-----------------------' */ - - // First encoder (E1) - if (index == 0) { - if (clockwise) { - tap_code(KC_F17); - } else { - tap_code(KC_F18); - } - // Second encoder (E2) - } else if (index == 1) { - if (clockwise) { - tap_code(KC_F19); - } else { - tap_code(KC_F20); - } - // Third encoder (E3) - } else if (index == 2) { - if (clockwise) { - tap_code(KC_F21); - } else { - tap_code(KC_F22); - } - // Forth encoder (E4) - } else if (index == 3) { - if (clockwise) { - tap_code(KC_F23); - } else { - tap_code(KC_F24); - } - } - return true; -} +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { +#ifdef KEYBOARD_keycapsss_plaid_pad_rev1 + { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) } +#else + { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) } +#endif +}; #endif diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c index 371e8e994163..944f822fb39d 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c +++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c @@ -125,8 +125,7 @@ bool oled_task_user(void) { #endif -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { +#ifdef ENCODER_MAP_ENABLE /* ,-----------------------, | E1 | E2 | E3 | E4 | @@ -138,93 +137,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) { | | | | E1 | `-----------------------' */ +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { +#ifdef KEYBOARD_keycapsss_plaid_pad_rev1 + [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }, + [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) } +#else + [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }, + [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +#endif +}; - // First encoder (E1) - if (index == 0) { - switch (get_highest_layer(layer_state)) { - case _NAVIGATION: - // Browser tab switching - if (clockwise) { - tap_code16(LCTL(KC_TAB)); - } else { - tap_code16(LCTL(LSFT(KC_TAB))); - } - break; - default: - if (clockwise) { - tap_code(KC_F17); - } else { - tap_code(KC_F18); - } - break; - } - // Second encoder (E2) - } else if (index == 1) { - switch (get_highest_layer(layer_state)) { - case _NAVIGATION: - // Page Down/Up - if (clockwise) { - tap_code16(KC_PGDN); - } else { - tap_code16(KC_PGUP); - } - break; - default: - if (clockwise) { - tap_code(KC_F19); - } else { - tap_code(KC_F20); - } - break; - } - // Third encoder (E3) - } else if (index == 2) { - switch (get_highest_layer(layer_state)) { - case _NAVIGATION: - // Mouse wheel up/down - if (clockwise) { - tap_code(KC_MS_WH_DOWN); - } else { - tap_code(KC_MS_WH_UP); - } - break; - case _MEDIA: - // BRIGHTNESS Up/Down - if (clockwise) { - tap_code16(KC_BRIGHTNESS_UP); - } else { - tap_code16(KC_BRIGHTNESS_DOWN); - } - break; - default: - if (clockwise) { - tap_code(KC_F21); - } else { - tap_code(KC_F22); - } - break; - } - // Forth encoder (E4) - } else if (index == 3) { - switch (get_highest_layer(layer_state)) { - case _NAVIGATION: - case _MEDIA: - // Volume Up/Down - if (clockwise) { - tap_code16(KC_AUDIO_VOL_UP); - } else { - tap_code16(KC_AUDIO_VOL_DOWN); - } - break; - default: - if (clockwise) { - tap_code(KC_F23); - } else { - tap_code(KC_F24); - } - break; - } - } - return true; -} #endif diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk index dc3e29cf8b2a..33bd0c36119f 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk +++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk @@ -1,2 +1,3 @@ OLED_ENABLE = yes COMBO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c index 7d48591cd2f3..4ca3fc944b56 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c +++ b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c @@ -27,26 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | 0 | . | = | + | * `-----------------------' */ - [0] = LAYOUT_ortho_4x4( + LAYOUT_ortho_4x4( KC_P7, KC_P8, KC_P9, KC_PSLS, KC_P4, KC_P5, KC_P6, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PMNS, - KC_P0, KC_PDOT, KC_PEQL, KC_PPLS ), - [1] = LAYOUT_ortho_4x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [2] = LAYOUT_ortho_4x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [3] = LAYOUT_ortho_4x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), + KC_P0, KC_PDOT, KC_PEQL, KC_PPLS + ), }; @@ -69,8 +55,7 @@ bool oled_task_user(void) { #endif -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { +#ifdef ENCODER_MAP_ENABLE /* Rev1.1 Rev1 ,-----------------------, ,-----------------------, @@ -84,35 +69,11 @@ Rev1.1 Rev1 `-----------------------' `-----------------------' */ - // First encoder (E1) - if (index == 0) { - if (clockwise) { - tap_code(KC_F17); - } else { - tap_code(KC_F18); - } - // Second encoder (E2) - } else if (index == 1) { - if (clockwise) { - tap_code(KC_F19); - } else { - tap_code(KC_F20); - } - // Third encoder (E3) - } else if (index == 2) { - if (clockwise) { - tap_code(KC_F21); - } else { - tap_code(KC_F22); - } - // Forth encoder (E4) - } else if (index == 3) { - if (clockwise) { - tap_code(KC_F23); - } else { - tap_code(KC_F24); - } - } - return true; -} +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { +#ifdef KEYBOARD_keycapsss_plaid_pad_rev1 + { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) } +#else + { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) } +#endif +}; #endif diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk index 36b7ba9cbc98..1189f4ad1927 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk +++ b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes LTO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keychron/c1_pro/ansi/rgb/config.h b/keyboards/keychron/c1_pro/ansi/rgb/config.h index a88319a63de1..537f73b3d6cf 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/config.h +++ b/keyboards/keychron/c1_pro/ansi/rgb/config.h @@ -34,7 +34,7 @@ { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* Enable caps_lock, win os and mac os indicator */ #define CAPS_MAC_WIN_LED_INDEX 63 diff --git a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c index c04e82a44ea2..38d4a96d3ee1 100644 --- a/keyboards/keychron/c1_pro/ansi/rgb/rgb.c +++ b/keyboards/keychron/c1_pro/ansi/rgb/rgb.c @@ -18,7 +18,7 @@ // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/c1_pro/ansi/white/config.h b/keyboards/keychron/c1_pro/ansi/white/config.h index a8a836c5dd17..a2122b3d8e27 100644 --- a/keyboards/keychron/c1_pro/ansi/white/config.h +++ b/keyboards/keychron/c1_pro/ansi/white/config.h @@ -31,7 +31,7 @@ { 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44, 0x9D, 0x9D, 0x44 } /* turn off effects when suspended */ -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP /* Enbale caps_lcok, win os and mac os indicator */ #define CAPS_LOCK_LED_INDEX 63 diff --git a/keyboards/keychron/c1_pro/ansi/white/white.c b/keyboards/keychron/c1_pro/ansi/white/white.c index 15f291e80c8d..d7b75e0dd61c 100644 --- a/keyboards/keychron/c1_pro/ansi/white/white.c +++ b/keyboards/keychron/c1_pro/ansi/white/white.c @@ -18,7 +18,7 @@ // clang-format off #ifdef LED_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | LED address diff --git a/keyboards/keychron/c2_pro/ansi/rgb/config.h b/keyboards/keychron/c2_pro/ansi/rgb/config.h index 47b47b920dcf..61e0b15edc47 100644 --- a/keyboards/keychron/c2_pro/ansi/rgb/config.h +++ b/keyboards/keychron/c2_pro/ansi/rgb/config.h @@ -36,7 +36,7 @@ #define WIN_LED_INDEX 19 /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/keychron/c2_pro/ansi/rgb/rgb.c b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c index d42c2de39e2b..6fce51417cb2 100644 --- a/keyboards/keychron/c2_pro/ansi/rgb/rgb.c +++ b/keyboards/keychron/c2_pro/ansi/rgb/rgb.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/c2_pro/ansi/white/config.h b/keyboards/keychron/c2_pro/ansi/white/config.h index 26c812ffefff..531aeea0ec4e 100644 --- a/keyboards/keychron/c2_pro/ansi/white/config.h +++ b/keyboards/keychron/c2_pro/ansi/white/config.h @@ -33,7 +33,7 @@ #define WIN_LED_INDEX 19 /* turn off effects when suspended */ -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP // LED Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/keychron/c2_pro/ansi/white/white.c b/keyboards/keychron/c2_pro/ansi/white/white.c index 9c75e73c6db2..4bad7187cc3e 100644 --- a/keyboards/keychron/c2_pro/ansi/white/white.c +++ b/keyboards/keychron/c2_pro/ansi/white/white.c @@ -18,7 +18,7 @@ // clang-format off #ifdef LED_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | LED address diff --git a/keyboards/keychron/q0/base/base.c b/keyboards/keychron/q0/base/base.c index 05803234c0f9..b97747173037 100644 --- a/keyboards/keychron/q0/base/base.c +++ b/keyboards/keychron/q0/base/base.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q0/config.h b/keyboards/keychron/q0/config.h index 24b629a5206a..a75d26b4786a 100644 --- a/keyboards/keychron/q0/config.h +++ b/keyboards/keychron/q0/config.h @@ -19,7 +19,7 @@ #define SNLED27351_CURRENT_TUNE { 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70, 0xFF, 0xFF, 0x70 } /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS \ No newline at end of file diff --git a/keyboards/keychron/q0/plus/plus.c b/keyboards/keychron/q0/plus/plus.c index 0466e1a584e8..4af7a4572f94 100644 --- a/keyboards/keychron/q0/plus/plus.c +++ b/keyboards/keychron/q0/plus/plus.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c index a9df1609e0ee..06947e9d180d 100644 --- a/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q10/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q10/config.h b/keyboards/keychron/q10/config.h index eb3a56e9ad72..e999515abc49 100644 --- a/keyboards/keychron/q10/config.h +++ b/keyboards/keychron/q10/config.h @@ -51,7 +51,7 @@ #define MATRIX_MASKED /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/q10/iso_encoder/iso_encoder.c b/keyboards/keychron/q10/iso_encoder/iso_encoder.c index fbe4bca6370b..2aebd936ecf5 100644 --- a/keyboards/keychron/q10/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q10/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c index f7acae7addb2..24b9836b2ec2 100755 --- a/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q11/ansi_encoder/ansi_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q11/config.h b/keyboards/keychron/q11/config.h index 0d6b9c9c4864..1a706b1bf7ff 100755 --- a/keyboards/keychron/q11/config.h +++ b/keyboards/keychron/q11/config.h @@ -50,7 +50,7 @@ #define ENCODER_DEFAULT_POS 0x3 /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/keychron/q11/iso_encoder/iso_encoder.c b/keyboards/keychron/q11/iso_encoder/iso_encoder.c index a2db569710a5..feedfd17c397 100755 --- a/keyboards/keychron/q11/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q11/iso_encoder/iso_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c index 350da52661f7..e2acddd8944b 100644 --- a/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q12/ansi_encoder/ansi_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q12/config.h b/keyboards/keychron/q12/config.h index cc24578c16f7..2f6a277439e4 100644 --- a/keyboards/keychron/q12/config.h +++ b/keyboards/keychron/q12/config.h @@ -50,7 +50,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ // #define WEAR_LEVELING_LOGICAL_SIZE 2048 // default diff --git a/keyboards/keychron/q12/iso_encoder/iso_encoder.c b/keyboards/keychron/q12/iso_encoder/iso_encoder.c index 37d9db10b48b..f05a35dad8c0 100644 --- a/keyboards/keychron/q12/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q12/iso_encoder/iso_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v1/ansi/ansi.c b/keyboards/keychron/q1v1/ansi/ansi.c index 5f74267bf413..bc352a19641c 100644 --- a/keyboards/keychron/q1v1/ansi/ansi.c +++ b/keyboards/keychron/q1v1/ansi/ansi.c @@ -26,7 +26,7 @@ const matrix_row_t matrix_mask[] = { }; #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h index 5ac05d04c12f..4bab25c9234c 100644 --- a/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h +++ b/keyboards/keychron/q1v1/ansi/keymaps/gtg465x/config.h @@ -18,7 +18,7 @@ /* RGB Matrix Configuration */ #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define CAPS_LOCK_INDICATOR_COLOR RGB_RED # define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS # define FN_LAYER_TRANSPARENT_KEYS_OFF diff --git a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h index bc9fe405c35c..acd208b8c670 100644 --- a/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h +++ b/keyboards/keychron/q1v1/ansi/keymaps/mkillewald/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define CAPS_LOCK_INDICATOR_COLOR RGB_RED # define FN_LAYER_COLOR RGB_ORANGE #endif \ No newline at end of file diff --git a/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h b/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h index 4378af4f5825..cd49d7b3d8d6 100644 --- a/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h +++ b/keyboards/keychron/q1v1/ansi/keymaps/teimor/config.h @@ -21,7 +21,7 @@ /* RGB Matrix Configuration */ #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define MAC_LAYER_DEFAULT_COLOR RGB_CYAN # define WIN_LAYER_DEFAULT_COLOR RGB_GREEN # define CAPS_LOCK_INDICATOR_COLOR RGB_RED diff --git a/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c index c4fc884bc210..387f3e0b3264 100644 --- a/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q1v1/ansi_encoder/ansi_encoder.c @@ -26,7 +26,7 @@ const matrix_row_t matrix_mask[] = { }; #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v1/config.h b/keyboards/keychron/q1v1/config.h index ec1bcc5794b6..aaada2702e43 100644 --- a/keyboards/keychron/q1v1/config.h +++ b/keyboards/keychron/q1v1/config.h @@ -30,7 +30,7 @@ #define ENCODER_DEFAULT_POS 0x3 /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso/iso.c b/keyboards/keychron/q1v1/iso/iso.c index 874f5c853941..ad3152adcd44 100644 --- a/keyboards/keychron/q1v1/iso/iso.c +++ b/keyboards/keychron/q1v1/iso/iso.c @@ -26,7 +26,7 @@ const matrix_row_t matrix_mask[] = { }; #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h index 55dbb74d4a07..854c1d18eee4 100644 --- a/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h +++ b/keyboards/keychron/q1v1/iso/keymaps/kubahorak/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE /* from rev_0100/keymaps/gtg465x */ -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define CAPS_LOCK_INDICATOR_COLOR RGB_RED # define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS # define FN_LAYER_TRANSPARENT_KEYS_OFF diff --git a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h index bc9fe405c35c..acd208b8c670 100644 --- a/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h +++ b/keyboards/keychron/q1v1/iso/keymaps/mkillewald_iso/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define CAPS_LOCK_INDICATOR_COLOR RGB_RED # define FN_LAYER_COLOR RGB_ORANGE #endif \ No newline at end of file diff --git a/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c b/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c index 4a7496ed29d3..19122aa18d9b 100644 --- a/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q1v1/iso_encoder/iso_encoder.c @@ -27,7 +27,7 @@ const matrix_row_t matrix_mask[] = { #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/ansi/ansi.c b/keyboards/keychron/q1v2/ansi/ansi.c index 3b80c9d5c49e..a25b597b0367 100644 --- a/keyboards/keychron/q1v2/ansi/ansi.c +++ b/keyboards/keychron/q1v2/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c index 3b80c9d5c49e..a25b597b0367 100644 --- a/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q1v2/ansi_encoder/ansi_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/config.h b/keyboards/keychron/q1v2/config.h index 5e2a7eaa54eb..67c7cae5bb7c 100644 --- a/keyboards/keychron/q1v2/config.h +++ b/keyboards/keychron/q1v2/config.h @@ -37,7 +37,7 @@ #define MATRIX_MASKED /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/q1v2/iso/iso.c b/keyboards/keychron/q1v2/iso/iso.c index d879e5508396..53cdea506f17 100644 --- a/keyboards/keychron/q1v2/iso/iso.c +++ b/keyboards/keychron/q1v2/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c b/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c index d879e5508396..53cdea506f17 100644 --- a/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q1v2/iso_encoder/iso_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/jis/jis.c b/keyboards/keychron/q1v2/jis/jis.c index e8c01126494c..d43d64dd8265 100644 --- a/keyboards/keychron/q1v2/jis/jis.c +++ b/keyboards/keychron/q1v2/jis/jis.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c b/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c index e8c01126494c..d43d64dd8265 100644 --- a/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/q1v2/jis_encoder/jis_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/ansi/ansi.c b/keyboards/keychron/q2/ansi/ansi.c index d0ff0a18695c..64abe016a6f9 100644 --- a/keyboards/keychron/q2/ansi/ansi.c +++ b/keyboards/keychron/q2/ansi/ansi.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h b/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h index a8ad37d0036e..a357fbb1646b 100644 --- a/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h +++ b/keyboards/keychron/q2/ansi/keymaps/ladduro/config.h @@ -18,7 +18,7 @@ /* RGB Matrix Configuration */ #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define CAPS_LOCK_INDICATOR_COLOR RGB_RED # define CAPS_LOCK_INDICATOR_LIGHT_ALPHAS # define FN_LAYER_TRANSPARENT_KEYS_OFF diff --git a/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c index d0ff0a18695c..64abe016a6f9 100644 --- a/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q2/ansi_encoder/ansi_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/config.h b/keyboards/keychron/q2/config.h index 831612326b3f..d0beff49f0a4 100644 --- a/keyboards/keychron/q2/config.h +++ b/keyboards/keychron/q2/config.h @@ -31,7 +31,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* Encoder Configuration*/ #define ENCODER_DEFAULT_POS 0x3 diff --git a/keyboards/keychron/q2/iso/iso.c b/keyboards/keychron/q2/iso/iso.c index a54c90bc4be9..7da02c4a797f 100644 --- a/keyboards/keychron/q2/iso/iso.c +++ b/keyboards/keychron/q2/iso/iso.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/iso_encoder/iso_encoder.c b/keyboards/keychron/q2/iso_encoder/iso_encoder.c index a54c90bc4be9..7da02c4a797f 100644 --- a/keyboards/keychron/q2/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q2/iso_encoder/iso_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/jis/jis.c b/keyboards/keychron/q2/jis/jis.c index d877e225d93c..b8d36be505e0 100644 --- a/keyboards/keychron/q2/jis/jis.c +++ b/keyboards/keychron/q2/jis/jis.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/jis_encoder/jis_encoder.c b/keyboards/keychron/q2/jis_encoder/jis_encoder.c index d877e225d93c..b8d36be505e0 100644 --- a/keyboards/keychron/q2/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/q2/jis_encoder/jis_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/ansi/ansi.c b/keyboards/keychron/q3/ansi/ansi.c index 8327ee430b32..a2793b040c6e 100644 --- a/keyboards/keychron/q3/ansi/ansi.c +++ b/keyboards/keychron/q3/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c index a386e87a01d7..3b88a83d3815 100644 --- a/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q3/ansi_encoder/ansi_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/config.h b/keyboards/keychron/q3/config.h index f93da4235323..6af0afd18ff4 100644 --- a/keyboards/keychron/q3/config.h +++ b/keyboards/keychron/q3/config.h @@ -39,7 +39,7 @@ #define ENCODER_DEFAULT_POS 0x3 /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/keychron/q3/iso/iso.c b/keyboards/keychron/q3/iso/iso.c index 725af670069c..37f418e66b48 100644 --- a/keyboards/keychron/q3/iso/iso.c +++ b/keyboards/keychron/q3/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/iso_encoder/iso_encoder.c b/keyboards/keychron/q3/iso_encoder/iso_encoder.c index 725af670069c..37f418e66b48 100644 --- a/keyboards/keychron/q3/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q3/iso_encoder/iso_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/jis/jis.c b/keyboards/keychron/q3/jis/jis.c index 4b19eca52fad..0fc70b1af3d6 100644 --- a/keyboards/keychron/q3/jis/jis.c +++ b/keyboards/keychron/q3/jis/jis.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q3/jis_encoder/jis_encoder.c b/keyboards/keychron/q3/jis_encoder/jis_encoder.c index 8770f9d33c6d..df4a6a467b61 100644 --- a/keyboards/keychron/q3/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/q3/jis_encoder/jis_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q4/ansi/v1/v1.c b/keyboards/keychron/q4/ansi/v1/v1.c index 6c1fecefec0a..f9e2946bb3e0 100644 --- a/keyboards/keychron/q4/ansi/v1/v1.c +++ b/keyboards/keychron/q4/ansi/v1/v1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q4/ansi/v2/v2.c b/keyboards/keychron/q4/ansi/v2/v2.c index 468a87af41de..f7564c02a1aa 100644 --- a/keyboards/keychron/q4/ansi/v2/v2.c +++ b/keyboards/keychron/q4/ansi/v2/v2.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q4/config.h b/keyboards/keychron/q4/config.h index 62f8294966e3..97f480ea31cf 100644 --- a/keyboards/keychron/q4/config.h +++ b/keyboards/keychron/q4/config.h @@ -23,7 +23,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define SNLED27351_CURRENT_TUNE \ { 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60, 0xCA, 0xCA, 0x60 } diff --git a/keyboards/keychron/q4/iso/iso.c b/keyboards/keychron/q4/iso/iso.c index a808c3ad74cb..c30f06c6bd9b 100644 --- a/keyboards/keychron/q4/iso/iso.c +++ b/keyboards/keychron/q4/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q5/ansi/ansi.c b/keyboards/keychron/q5/ansi/ansi.c index 8c80245fbc75..26cebc996ee7 100644 --- a/keyboards/keychron/q5/ansi/ansi.c +++ b/keyboards/keychron/q5/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c index d5f67f129769..90a9310c64d7 100644 --- a/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q5/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q5/config.h b/keyboards/keychron/q5/config.h index 064033199771..d9f5cfa76b31 100644 --- a/keyboards/keychron/q5/config.h +++ b/keyboards/keychron/q5/config.h @@ -43,7 +43,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/q5/iso/iso.c b/keyboards/keychron/q5/iso/iso.c index 8a7cb863ec9b..48fdcb7363ae 100644 --- a/keyboards/keychron/q5/iso/iso.c +++ b/keyboards/keychron/q5/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q5/iso_encoder/iso_encoder.c b/keyboards/keychron/q5/iso_encoder/iso_encoder.c index 009e8043db70..65b5c40c5ac5 100644 --- a/keyboards/keychron/q5/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q5/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q6/ansi/ansi.c b/keyboards/keychron/q6/ansi/ansi.c index 80eaad02b37c..b9f249e281ea 100644 --- a/keyboards/keychron/q6/ansi/ansi.c +++ b/keyboards/keychron/q6/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c index 9c8853362068..406432909924 100644 --- a/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q6/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q6/config.h b/keyboards/keychron/q6/config.h index 2edceb09d785..ff8cd1142b34 100644 --- a/keyboards/keychron/q6/config.h +++ b/keyboards/keychron/q6/config.h @@ -37,7 +37,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/q6/iso/iso.c b/keyboards/keychron/q6/iso/iso.c index d2aa010c0534..8cdee4cf3b29 100644 --- a/keyboards/keychron/q6/iso/iso.c +++ b/keyboards/keychron/q6/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q6/iso_encoder/iso_encoder.c b/keyboards/keychron/q6/iso_encoder/iso_encoder.c index 66e066b839bd..5ff71379c973 100644 --- a/keyboards/keychron/q6/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q6/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q60/ansi/ansi.c b/keyboards/keychron/q60/ansi/ansi.c index ac7273714611..f02d45b42aef 100644 --- a/keyboards/keychron/q60/ansi/ansi.c +++ b/keyboards/keychron/q60/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q60/config.h b/keyboards/keychron/q60/config.h index 6b6c3c5f48cc..3a6c3ea8ee41 100644 --- a/keyboards/keychron/q60/config.h +++ b/keyboards/keychron/q60/config.h @@ -36,7 +36,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 6 diff --git a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c index 8e9b37b80662..3ed44a73873e 100644 --- a/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q65/ansi_encoder/ansi_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q65/config.h b/keyboards/keychron/q65/config.h index 84c4e9fc1734..99eb4572cfbc 100644 --- a/keyboards/keychron/q65/config.h +++ b/keyboards/keychron/q65/config.h @@ -47,7 +47,7 @@ #define DIP_SWITCH_MATRIX_GRID { {4,4} } /* Turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/q7/ansi/ansi.c b/keyboards/keychron/q7/ansi/ansi.c index 190c110a77ae..dfb8cd129507 100644 --- a/keyboards/keychron/q7/ansi/ansi.c +++ b/keyboards/keychron/q7/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q7/config.h b/keyboards/keychron/q7/config.h index 4794c80011ad..c71d386b1d7f 100644 --- a/keyboards/keychron/q7/config.h +++ b/keyboards/keychron/q7/config.h @@ -38,7 +38,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/q7/iso/iso.c b/keyboards/keychron/q7/iso/iso.c index 13354b9f0b92..756409915617 100644 --- a/keyboards/keychron/q7/iso/iso.c +++ b/keyboards/keychron/q7/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q8/ansi/ansi.c b/keyboards/keychron/q8/ansi/ansi.c index 3bb10b383d4a..fbb681344880 100644 --- a/keyboards/keychron/q8/ansi/ansi.c +++ b/keyboards/keychron/q8/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { {1, F_1, D_1, E_1} }; -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, 31, 32, 33, 34, 35, __, 36, 37, 38, 39, 40, 41, 42, 43 }, - { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 }, - }, - { - // LED Index to Physical Position - {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, - {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16}, - {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29}, - {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43}, - {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56}, - }, - { - // RGB LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1, - } -}; - #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q8/ansi/config.h b/keyboards/keychron/q8/ansi/config.h index cd2d037bb369..9cd663a2162d 100644 --- a/keyboards/keychron/q8/ansi/config.h +++ b/keyboards/keychron/q8/ansi/config.h @@ -16,10 +16,5 @@ #pragma once -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 35 -#define DRIVER_2_LED_TOTAL 34 -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 30 diff --git a/keyboards/keychron/q8/ansi/info.json b/keyboards/keychron/q8/ansi/info.json index f73300427034..2580b4163e7b 100644 --- a/keyboards/keychron/q8/ansi/info.json +++ b/keyboards/keychron/q8/ansi/info.json @@ -1,23 +1,85 @@ { - "keyboard_name": "Keychron Q8", - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "usb": { - "vid": "0x3434", - "pid": "0x0180", - "device_version": "1.0.0" - }, "rgb_matrix": { - "driver": "snled27351" + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, + {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, + {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, + {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, + {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, + {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, + {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4}, + {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, + {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, + {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4}, + {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, + {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, + {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, + {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, + {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, + {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, + {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, + + {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1}, + {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, + {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, + {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4}, + {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4}, + {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, + {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, + {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4}, + {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, + {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, + {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, + {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, + + {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1}, + {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1}, + {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4}, + {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4}, + {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1}, + {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, + {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1} + ] }, - "matrix_pins": { - "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], - "rows": ["B4", "B3", "A15", "A14", "A13"] + "usb": { + "device_version": "1.0.0", + "pid": "0x0180" }, - "diode_direction": "ROW2COL", - "processor": "STM32L432", - "bootloader": "stm32-dfu", "layouts": { "LAYOUT_ansi_69": { "layout": [ @@ -97,4 +159,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/ansi/rules.mk b/keyboards/keychron/q8/ansi/rules.mk index cf31e094cbfd..7ff128fa692e 100644 --- a/keyboards/keychron/q8/ansi/rules.mk +++ b/keyboards/keychron/q8/ansi/rules.mk @@ -1,14 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c index 3bb10b383d4a..fbb681344880 100644 --- a/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q8/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { {1, F_1, D_1, E_1} }; -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, 31, 32, 33, 34, 35, __, 36, 37, 38, 39, 40, 41, 42, 43 }, - { 44, __, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 58, 59, 60, 61, __, __, 62, 63, 64, 65, __, __, 66, 67, 68 }, - }, - { - // LED Index to Physical Position - {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8 }, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, - {7,14}, {24,14}, {39,14}, {52,17}, {65,20}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {170,14}, {183,14}, {200,14}, {222,16}, - {6,27}, {24,27}, {39,28}, {52,30}, {65,33}, {78,36}, {109,37}, {122,34}, {135,32}, {148,29}, {162,27}, {176,27}, {197,27}, {224,29}, - {7,40}, {28,40}, {43,42}, {56,44}, {69,47}, {82,50}, {102,52}, {115,49}, {128,46}, {141,44}, {154,41}, {169,40}, {187,40}, {209,43}, - {0,53}, {17,53}, {42,55}, {65,60}, {86,64}, {107,64}, {131,59}, {156,54}, {196,56}, {209,56}, {222,56}, - }, - { - // RGB LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 4, 1, 1, 1, 1, - } -}; - #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q8/ansi_encoder/config.h b/keyboards/keychron/q8/ansi_encoder/config.h index 63d16c21af23..9cd663a2162d 100644 --- a/keyboards/keychron/q8/ansi_encoder/config.h +++ b/keyboards/keychron/q8/ansi_encoder/config.h @@ -16,13 +16,5 @@ #pragma once -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 35 -#define DRIVER_2_LED_TOTAL 34 -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Encoder Configuration */ -#define ENCODER_DEFAULT_POS 0x3 - /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 30 diff --git a/keyboards/keychron/q8/ansi_encoder/info.json b/keyboards/keychron/q8/ansi_encoder/info.json index ccf9453d53fc..b3f82637db89 100644 --- a/keyboards/keychron/q8/ansi_encoder/info.json +++ b/keyboards/keychron/q8/ansi_encoder/info.json @@ -1,28 +1,91 @@ { - "keyboard_name": "Keychron Q8", - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "usb": { - "vid": "0x3434", - "pid": "0x0181", - "device_version": "1.0.0" - }, - "rgb_matrix": { - "driver": "snled27351" - }, - "matrix_pins": { - "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], - "rows": ["B4", "B3", "A15", "A14", "A13"] - }, - "diode_direction": "ROW2COL", "encoder": { + "enabled": true, "rotary": [ {"pin_a": "B5", "pin_b": "A10"} ] }, - "processor": "STM32L432", - "bootloader": "stm32-dfu", + "rgb_matrix": { + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, + {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, + {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, + {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, + {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, + {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, + {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 65, "y": 20, "flags": 4}, + {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, + {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, + {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 170, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 183, "y": 14, "flags": 4}, + {"matrix": [1, 13], "x": 200, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, + {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 28, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, + {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, + {"matrix": [2, 5], "x": 78, "y": 36, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, + {"matrix": [2, 9], "x": 135, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, + {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, + {"matrix": [2, 13], "x": 197, "y": 27, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, + + {"matrix": [3, 0], "x": 7, "y": 40, "flags": 1}, + {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 43, "y": 42, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, + {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, + {"matrix": [3, 6], "x": 82, "y": 50, "flags": 4}, + {"matrix": [3, 7], "x": 102, "y": 52, "flags": 4}, + {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, + {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, + {"matrix": [3, 10], "x": 141, "y": 44, "flags": 4}, + {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, + {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, + {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, + {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, + + {"matrix": [4, 0], "x": 0, "y": 53, "flags": 1}, + {"matrix": [4, 1], "x": 17, "y": 53, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 55, "flags": 1}, + {"matrix": [4, 3], "x": 65, "y": 60, "flags": 4}, + {"matrix": [4, 6], "x": 86, "y": 64, "flags": 1}, + {"matrix": [4, 7], "x": 107, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 131, "y": 59, "flags": 4}, + {"matrix": [4, 9], "x": 156, "y": 54, "flags": 1}, + {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, + {"matrix": [4, 14], "x": 222, "y": 56, "flags": 1} + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0181" + }, "layouts": { "LAYOUT_ansi_69": { "layout": [ @@ -87,7 +150,6 @@ {"matrix": [3, 12], "x": 14.25, "y": 3.25}, {"matrix": [3, 13], "x": 15.25, "y": 3.25, "w": 1.75}, {"matrix": [3, 14], "x": 17.25, "y": 3.5}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25}, {"matrix": [4, 2], "x": 3.75, "y": 4.25, "w": 1.25}, @@ -102,4 +164,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/ansi_encoder/rules.mk b/keyboards/keychron/q8/ansi_encoder/rules.mk index 5d77f0997126..6e7633bfe015 100644 --- a/keyboards/keychron/q8/ansi_encoder/rules.mk +++ b/keyboards/keychron/q8/ansi_encoder/rules.mk @@ -1,15 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/keychron/q8/config.h b/keyboards/keychron/q8/config.h index 7ecbf40b236d..163d3775d956 100644 --- a/keyboards/keychron/q8/config.h +++ b/keyboards/keychron/q8/config.h @@ -40,62 +40,8 @@ /* Disable DIP switch in matrix data */ #define MATRIX_MASKED -/* Turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED - -/* EEPROM Driver Configuration */ -#define WEAR_LEVELING_LOGICAL_SIZE 2048 -#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 +/* Encoder Configuration */ +#define ENCODER_DEFAULT_POS 0x3 -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -// #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 -// #define ENABLE_RGB_MATRIX_RAINDROPS -#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -// #define ENABLE_RGB_MATRIX_HUE_BREATHING -// #define ENABLE_RGB_MATRIX_HUE_PENDULUM -// #define ENABLE_RGB_MATRIX_HUE_WAVE -#define ENABLE_RGB_MATRIX_PIXEL_RAIN -// #define ENABLE_RGB_MATRIX_PIXEL_FLOW -// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// 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_FRAMEBUFFER_EFFECTS -#define RGB_MATRIX_KEYPRESSES +/* Turn off effects when suspended */ +#define RGB_MATRIX_SLEEP \ No newline at end of file diff --git a/keyboards/keychron/q8/info.json b/keyboards/keychron/q8/info.json new file mode 100644 index 000000000000..7f98bf537c62 --- /dev/null +++ b/keyboards/keychron/q8/info.json @@ -0,0 +1,60 @@ +{ + "manufacturer": "Keychron", + "keyboard_name": "Keychron Q8", + "maintainer": "lalalademaxiya1", + "bootloader": "stm32-dfu", + "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 5 + }, + "eeprom": { + "wear_levling": { + "backing_size": 4096 + } + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "dip_switch": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], + "rows": ["B4", "B3", "A15", "A14", "A13"] + }, + "processor": "STM32L432", + "rgb_matrix": { + "animations": { + "band_spiral_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "jellybean_raindrops": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_simple": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "snled27351" + }, + "url": "https://github.com/Keychron", + "usb": { + "vid": "0x3434" + } +} \ No newline at end of file diff --git a/keyboards/keychron/q8/iso/config.h b/keyboards/keychron/q8/iso/config.h index 99ba64d7134d..7a10ce6d653f 100644 --- a/keyboards/keychron/q8/iso/config.h +++ b/keyboards/keychron/q8/iso/config.h @@ -16,10 +16,5 @@ #pragma once -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 35 -#define DRIVER_2_LED_TOTAL 35 -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 29 diff --git a/keyboards/keychron/q8/iso/info.json b/keyboards/keychron/q8/iso/info.json index 28d586984ee6..fe87955c3973 100644 --- a/keyboards/keychron/q8/iso/info.json +++ b/keyboards/keychron/q8/iso/info.json @@ -1,23 +1,86 @@ { - "keyboard_name": "Keychron Q8", - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "usb": { - "vid": "0x3434", - "pid": "0x0182", - "device_version": "1.0.0" - }, "rgb_matrix": { - "driver": "snled27351" + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, + {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, + {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, + {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, + {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, + {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, + {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, + {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, + {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, + {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, + {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, + {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, + {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4}, + {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, + {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, + {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4}, + {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, + + {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1}, + {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, + {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, + {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4}, + {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4}, + {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, + {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, + {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4}, + {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, + {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, + {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, + {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, + + {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1}, + {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1}, + {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1}, + {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1}, + {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1}, + {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, + {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1} + ] }, - "matrix_pins": { - "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], - "rows": ["B4", "B3", "A15", "A14", "A13"] + "usb": { + "device_version": "1.0.0", + "pid": "0x0182" }, - "diode_direction": "ROW2COL", - "processor": "STM32L432", - "bootloader": "stm32-dfu", "layouts": { "LAYOUT_iso_70": { "layout": [ @@ -83,7 +146,6 @@ {"matrix": [3, 12], "x": 14.25, "y": 3.25}, {"matrix": [3, 13], "x": 15.25, "y": 3.25, "w": 1.75}, {"matrix": [3, 14], "x": 17.25, "y": 3.5}, - {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4.25, "w": 1.25}, {"matrix": [4, 2], "x": 3.75, "y": 4.25, "w": 1.25}, @@ -98,4 +160,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/iso/iso.c b/keyboards/keychron/q8/iso/iso.c index dbcefd76c04f..aab7ab357b47 100644 --- a/keyboards/keychron/q8/iso/iso.c +++ b/keyboards/keychron/q8/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { {1, F_1, D_1, E_1} }; -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 }, - { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 43 }, - { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 }, - { 59, 60, 61, 62, __, __, 63, 64, 65, 66, __, __, 67, 68, 69 }, - }, - { - // LED Index to Physical Position - {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, - {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16}, - {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29}, - {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43}, - {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59}, - }, - { - // RGB LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - } -}; - #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q8/iso/rules.mk b/keyboards/keychron/q8/iso/rules.mk index cf31e094cbfd..7ff128fa692e 100644 --- a/keyboards/keychron/q8/iso/rules.mk +++ b/keyboards/keychron/q8/iso/rules.mk @@ -1,14 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/keychron/q8/iso_encoder/config.h b/keyboards/keychron/q8/iso_encoder/config.h index cdda41df5d09..7a10ce6d653f 100644 --- a/keyboards/keychron/q8/iso_encoder/config.h +++ b/keyboards/keychron/q8/iso_encoder/config.h @@ -16,13 +16,5 @@ #pragma once -/* RGB Matrix Configuration */ -#define DRIVER_1_LED_TOTAL 35 -#define DRIVER_2_LED_TOTAL 35 -#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) - -/* Encoder Configuration */ -#define ENCODER_DEFAULT_POS 0x3 - /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 29 diff --git a/keyboards/keychron/q8/iso_encoder/info.json b/keyboards/keychron/q8/iso_encoder/info.json index 0d96f3f1933b..46a93ec63b6a 100644 --- a/keyboards/keychron/q8/iso_encoder/info.json +++ b/keyboards/keychron/q8/iso_encoder/info.json @@ -1,28 +1,92 @@ { - "keyboard_name": "Keychron Q8", - "manufacturer": "Keychron", - "url": "https://github.com/Keychron", - "maintainer": "lalalademaxiya1", - "usb": { - "vid": "0x3434", - "pid": "0x0183", - "device_version": "1.0.0" - }, - "rgb_matrix": { - "driver": "snled27351" - }, - "matrix_pins": { - "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], - "rows": ["B4", "B3", "A15", "A14", "A13"] - }, - "diode_direction": "ROW2COL", "encoder": { + "enabled": true, "rotary": [ {"pin_a": "B5", "pin_b": "A10"} ] }, - "processor": "STM32L432", - "bootloader": "stm32-dfu", + "rgb_matrix": { + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 1, "flags": 1}, + {"matrix": [0, 1], "x": 20, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 3, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 6, "flags": 4}, + {"matrix": [0, 5], "x": 74, "y": 8, "flags": 4}, + {"matrix": [0, 6], "x": 87, "y": 11, "flags": 4}, + {"matrix": [0, 7], "x": 106, "y": 11, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 8, "flags": 4}, + {"matrix": [0, 9], "x": 132, "y": 6, "flags": 4}, + {"matrix": [0, 10], "x": 145, "y": 3, "flags": 4}, + {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 1, "flags": 4}, + {"matrix": [0, 13], "x": 193, "y": 1, "flags": 1}, + {"matrix": [0, 14], "x": 220, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 39, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 65, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 78, "y": 22, "flags": 4}, + {"matrix": [1, 6], "x": 103, "y": 25, "flags": 4}, + {"matrix": [1, 7], "x": 116, "y": 22, "flags": 4}, + {"matrix": [1, 8], "x": 129, "y": 20, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 155, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 186, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 222, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 27, "flags": 8}, + {"matrix": [2, 1], "x": 24, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 39, "y": 27, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 30, "flags": 4}, + {"matrix": [2, 4], "x": 65, "y": 33, "flags": 4}, + {"matrix": [2, 5], "x": 78, "y": 35, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 37, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 34, "flags": 4}, + {"matrix": [2, 9], "x": 135, "y": 31, "flags": 4}, + {"matrix": [2, 10], "x": 148, "y": 29, "flags": 4}, + {"matrix": [2, 11], "x": 162, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 176, "y": 27, "flags": 4}, + {"matrix": [2, 13], "x": 189, "y": 27, "flags": 4}, + {"matrix": [1, 13], "x": 207, "y": 22, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 29, "flags": 1}, + + {"matrix": [3, 0], "x": 0, "y": 40, "flags": 1}, + {"matrix": [3, 1], "x": 15, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 28, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 43, "y": 41, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 44, "flags": 4}, + {"matrix": [3, 5], "x": 69, "y": 47, "flags": 4}, + {"matrix": [3, 6], "x": 82, "y": 49, "flags": 4}, + {"matrix": [3, 7], "x": 102, "y": 51, "flags": 4}, + {"matrix": [3, 8], "x": 115, "y": 49, "flags": 4}, + {"matrix": [3, 9], "x": 128, "y": 46, "flags": 4}, + {"matrix": [3, 10], "x": 141, "y": 43, "flags": 4}, + {"matrix": [3, 11], "x": 154, "y": 41, "flags": 4}, + {"matrix": [3, 12], "x": 169, "y": 40, "flags": 4}, + {"matrix": [3, 13], "x": 187, "y": 40, "flags": 1}, + {"matrix": [3, 14], "x": 209, "y": 43, "flags": 1}, + + {"matrix": [4, 0], "x": 0, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 17, "y": 52, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 54, "flags": 1}, + {"matrix": [4, 3], "x": 65, "y": 59, "flags": 1}, + {"matrix": [4, 6], "x": 86, "y": 63, "flags": 1}, + {"matrix": [4, 7], "x": 104, "y": 64, "flags": 1}, + {"matrix": [4, 8], "x": 129, "y": 59, "flags": 1}, + {"matrix": [4, 9], "x": 153, "y": 54, "flags": 1}, + {"matrix": [4, 12], "x": 196, "y": 56, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 56, "flags": 1}, + {"matrix": [4, 14], "x": 222, "y": 59, "flags": 1} + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0183" + }, "layouts": { "LAYOUT_iso_70": { "layout": [ @@ -103,4 +167,4 @@ ] } } -} +} \ No newline at end of file diff --git a/keyboards/keychron/q8/iso_encoder/iso_encoder.c b/keyboards/keychron/q8/iso_encoder/iso_encoder.c index dbcefd76c04f..aab7ab357b47 100644 --- a/keyboards/keychron/q8/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q8/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location @@ -103,33 +103,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { {1, F_1, D_1, E_1} }; -#define __ NO_LED - -led_config_t g_led_config = { - { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 42, 28 }, - { 29, 30, 31, 32, 33, 34, __, 35, 36, 37, 38, 39, 40, 41, 43 }, - { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 }, - { 59, 60, 61, 62, __, __, 63, 64, 65, 66, __, __, 67, 68, 69 }, - }, - { - // LED Index to Physical Position - {7,1}, {20,1}, {33,0}, {48,3}, {61,6}, {74,8}, {87,11}, {106,11}, {119,8}, {132,6}, {145,3}, {160,0}, {173,1}, {193,1}, {220,0}, - {7,14}, {24,14}, {39,14}, {52,17}, {65,19}, {78,22}, {103,25}, {116,22}, {129,20}, {142,17}, {155,14}, {172,14}, {186,14}, {222,16}, - {6,27}, {24,27}, {39,27}, {52,30}, {65,33}, {78,35}, {109,37}, {122,34}, {135,31}, {148,29}, {162,27}, {176,27}, {189,27}, {207,22}, {224,29}, - {0,40}, {15,40}, {28,40}, {43,41}, {56,44}, {69,47}, {82,49}, {102,51}, {115,49}, {128,46}, {141,43}, {154,41}, {169,40}, {187,40}, {209,43}, - {0,52}, {17,52}, {42,54}, {65,59}, {86,63}, {104,64}, {129,59}, {153,54}, {196,56}, {209,56}, {222,59}, - }, - { - // RGB LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - } -}; - #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/keychron/q8/iso_encoder/rules.mk b/keyboards/keychron/q8/iso_encoder/rules.mk index 5d77f0997126..6e7633bfe015 100644 --- a/keyboards/keychron/q8/iso_encoder/rules.mk +++ b/keyboards/keychron/q8/iso_encoder/rules.mk @@ -1,15 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable USB N-key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes # Enable Encoder -DIP_SWITCH_ENABLE = yes -RGB_MATRIX_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/keychron/q8/readme.md b/keyboards/keychron/q8/readme.md index da200e2c1879..eaa286899a58 100644 --- a/keyboards/keychron/q8/readme.md +++ b/keyboards/keychron/q8/readme.md @@ -1,19 +1,27 @@ # Keychron Q8 +![Keychron Q8](https://i.imgur.com/FQnOwRrh.jpg) + A customizable 65% Alice layout keyboard. * Keyboard Maintainer: [Keychron](https://github.com/keychron) * Hardware Supported: Keychron Q8 -* Hardware Availability: [Keychron](https://www.keychron.com) +* Hardware Availability: [Keychron Q8 (Alice Layout) QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q8-alice-layout-qmk-custom-mechanical-keyboard) Make example for this keyboard (after setting up your build environment): make keychron/q8/ansi:default + make keychron/q8/ansi_encoder:default + make keychron/q8/iso:default + make keychron/q8/iso_encoder:default -Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) +Flashing example for this keyboard: make keychron/q8/ansi:default:flash + make keychron/q8/ansi_encoder:default:flash + make keychron/q8/iso:default:flash + make keychron/q8/iso_encoder:default:flash **Reset Key**: Hold down the key located at *K00*, commonly programmed as *Esc* while plugging in the keyboard. -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/keychron/q9/ansi/ansi.c b/keyboards/keychron/q9/ansi/ansi.c index 9178c8dcc751..90dcc2d0a5d5 100644 --- a/keyboards/keychron/q9/ansi/ansi.c +++ b/keyboards/keychron/q9/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c index 58d66e047328..84d4c4be9d5f 100644 --- a/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q9/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q9/config.h b/keyboards/keychron/q9/config.h index 4226980d3e7c..609e5c40798a 100644 --- a/keyboards/keychron/q9/config.h +++ b/keyboards/keychron/q9/config.h @@ -36,7 +36,7 @@ { 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 } /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/q9/iso/iso.c b/keyboards/keychron/q9/iso/iso.c index 1917b61f376f..2f8d78feb2e2 100644 --- a/keyboards/keychron/q9/iso/iso.c +++ b/keyboards/keychron/q9/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q9/iso_encoder/iso_encoder.c b/keyboards/keychron/q9/iso_encoder/iso_encoder.c index 3a161fe9d745..4706ab3f3907 100644 --- a/keyboards/keychron/q9/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/q9/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c index d264334fa03b..ffc213b75b9e 100755 --- a/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q9_plus/config.h b/keyboards/keychron/q9_plus/config.h index c9ef05b613aa..cbd3c8b11b23 100755 --- a/keyboards/keychron/q9_plus/config.h +++ b/keyboards/keychron/q9_plus/config.h @@ -37,7 +37,7 @@ { 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 } /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/s1/ansi/rgb/config.h b/keyboards/keychron/s1/ansi/rgb/config.h index 647a877a4cda..b4c9370bd0c4 100644 --- a/keyboards/keychron/s1/ansi/rgb/config.h +++ b/keyboards/keychron/s1/ansi/rgb/config.h @@ -28,7 +28,7 @@ { 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48, 0xA0, 0xA0, 0x48 } /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 46 diff --git a/keyboards/keychron/s1/ansi/rgb/rgb.c b/keyboards/keychron/s1/ansi/rgb/rgb.c index ca39b0c79626..e81e7db402f4 100644 --- a/keyboards/keychron/s1/ansi/rgb/rgb.c +++ b/keyboards/keychron/s1/ansi/rgb/rgb.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/s1/ansi/white/config.h b/keyboards/keychron/s1/ansi/white/config.h index fbe02caeb135..80ef39904714 100644 --- a/keyboards/keychron/s1/ansi/white/config.h +++ b/keyboards/keychron/s1/ansi/white/config.h @@ -27,7 +27,7 @@ // { 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 } // 127mA /* Disable LED lighting when PC is in suspend */ -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP /* Enable caps-lock LED */ #define CAPS_LOCK_LED_INDEX 46 diff --git a/keyboards/keychron/s1/ansi/white/white.c b/keyboards/keychron/s1/ansi/white/white.c index b3a49ae9eb01..d6a5eaf23203 100644 --- a/keyboards/keychron/s1/ansi/white/white.c +++ b/keyboards/keychron/s1/ansi/white/white.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[LED_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | LED address diff --git a/keyboards/keychron/v1/ansi/ansi.c b/keyboards/keychron/v1/ansi/ansi.c index ed8a6ed1af91..2db3ab782ddc 100644 --- a/keyboards/keychron/v1/ansi/ansi.c +++ b/keyboards/keychron/v1/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c index ed8a6ed1af91..2db3ab782ddc 100644 --- a/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v1/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v1/config.h b/keyboards/keychron/v1/config.h index e5b6805859ee..84334306ddc7 100644 --- a/keyboards/keychron/v1/config.h +++ b/keyboards/keychron/v1/config.h @@ -45,7 +45,7 @@ #define SNLED27351_PHASE_CHANNEL SNLED27351_SCAN_PHASE_9_CHANNEL /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/v1/iso/iso.c b/keyboards/keychron/v1/iso/iso.c index 00909c85e361..dff029055ba5 100644 --- a/keyboards/keychron/v1/iso/iso.c +++ b/keyboards/keychron/v1/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v1/iso_encoder/iso_encoder.c b/keyboards/keychron/v1/iso_encoder/iso_encoder.c index 00909c85e361..dff029055ba5 100644 --- a/keyboards/keychron/v1/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v1/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v1/jis/jis.c b/keyboards/keychron/v1/jis/jis.c index 6bc647656d6c..029c58fd7091 100644 --- a/keyboards/keychron/v1/jis/jis.c +++ b/keyboards/keychron/v1/jis/jis.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v1/jis_encoder/jis_encoder.c b/keyboards/keychron/v1/jis_encoder/jis_encoder.c index 6bc647656d6c..029c58fd7091 100644 --- a/keyboards/keychron/v1/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v1/jis_encoder/jis_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c index 8b787aad18b5..10cf2a85fdd8 100644 --- a/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v10/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v10/config.h b/keyboards/keychron/v10/config.h index d643049c03ff..01d3b3e04212 100644 --- a/keyboards/keychron/v10/config.h +++ b/keyboards/keychron/v10/config.h @@ -51,7 +51,7 @@ #define MATRIX_MASKED /* Disable RGB lighting when PC is in suspend */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/v10/iso_encoder/iso_encoder.c b/keyboards/keychron/v10/iso_encoder/iso_encoder.c index f7e0a10470b9..b4bfb6920680 100644 --- a/keyboards/keychron/v10/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v10/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/ansi/ansi.c b/keyboards/keychron/v2/ansi/ansi.c index d98a96fdf955..7e3214f1751f 100644 --- a/keyboards/keychron/v2/ansi/ansi.c +++ b/keyboards/keychron/v2/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c index 64153d425141..df33725b5e1a 100644 --- a/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v2/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/config.h b/keyboards/keychron/v2/config.h index 7efbf8c549c5..f42e87368bda 100644 --- a/keyboards/keychron/v2/config.h +++ b/keyboards/keychron/v2/config.h @@ -39,7 +39,7 @@ #define DIP_SWITCH_MATRIX_GRID { {4,4} } /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/v2/iso/iso.c b/keyboards/keychron/v2/iso/iso.c index 37cac7337d21..ba9d47a2f142 100644 --- a/keyboards/keychron/v2/iso/iso.c +++ b/keyboards/keychron/v2/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/iso_encoder/iso_encoder.c b/keyboards/keychron/v2/iso_encoder/iso_encoder.c index 37cac7337d21..ba9d47a2f142 100644 --- a/keyboards/keychron/v2/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v2/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/jis/jis.c b/keyboards/keychron/v2/jis/jis.c index 42285e56cad7..0d638b575383 100644 --- a/keyboards/keychron/v2/jis/jis.c +++ b/keyboards/keychron/v2/jis/jis.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v2/jis_encoder/jis_encoder.c b/keyboards/keychron/v2/jis_encoder/jis_encoder.c index 5ccbb807cbd6..10a3ca25a7f7 100644 --- a/keyboards/keychron/v2/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v2/jis_encoder/jis_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/ansi/ansi.c b/keyboards/keychron/v3/ansi/ansi.c index 16d6b77131f7..6205b0b01bf0 100644 --- a/keyboards/keychron/v3/ansi/ansi.c +++ b/keyboards/keychron/v3/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c index 39fa35453949..27f1f1f83041 100644 --- a/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v3/ansi_encoder/ansi_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/config.h b/keyboards/keychron/v3/config.h index d3e02d8f81b2..9532062aaa62 100644 --- a/keyboards/keychron/v3/config.h +++ b/keyboards/keychron/v3/config.h @@ -39,7 +39,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/v3/iso/iso.c b/keyboards/keychron/v3/iso/iso.c index 24b406467afd..be0934b4a0e4 100644 --- a/keyboards/keychron/v3/iso/iso.c +++ b/keyboards/keychron/v3/iso/iso.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/iso_encoder/iso_encoder.c b/keyboards/keychron/v3/iso_encoder/iso_encoder.c index 53fe99aac011..0456fb99f9cd 100644 --- a/keyboards/keychron/v3/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v3/iso_encoder/iso_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/jis/jis.c b/keyboards/keychron/v3/jis/jis.c index 70dbf812fa30..be93dbc6415c 100644 --- a/keyboards/keychron/v3/jis/jis.c +++ b/keyboards/keychron/v3/jis/jis.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v3/jis_encoder/jis_encoder.c b/keyboards/keychron/v3/jis_encoder/jis_encoder.c index cf1065eed977..9eea7b3994e5 100644 --- a/keyboards/keychron/v3/jis_encoder/jis_encoder.c +++ b/keyboards/keychron/v3/jis_encoder/jis_encoder.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v4/ansi/ansi.c b/keyboards/keychron/v4/ansi/ansi.c index 632640538055..24afdb65b767 100644 --- a/keyboards/keychron/v4/ansi/ansi.c +++ b/keyboards/keychron/v4/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v4/config.h b/keyboards/keychron/v4/config.h index 8325317c2704..27147555ea9d 100644 --- a/keyboards/keychron/v4/config.h +++ b/keyboards/keychron/v4/config.h @@ -36,7 +36,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/v4/iso/iso.c b/keyboards/keychron/v4/iso/iso.c index 9116135a4ac7..0b59f04d527d 100644 --- a/keyboards/keychron/v4/iso/iso.c +++ b/keyboards/keychron/v4/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v5/ansi/ansi.c b/keyboards/keychron/v5/ansi/ansi.c index 073fb0cde09b..3f85b6b210ab 100644 --- a/keyboards/keychron/v5/ansi/ansi.c +++ b/keyboards/keychron/v5/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c index 62ebc3f7b302..06c7ae6d92fb 100644 --- a/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v5/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v5/config.h b/keyboards/keychron/v5/config.h index 8c4128a43ef0..128c0aa9f19c 100644 --- a/keyboards/keychron/v5/config.h +++ b/keyboards/keychron/v5/config.h @@ -46,7 +46,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/v5/iso/iso.c b/keyboards/keychron/v5/iso/iso.c index 1552de7d4765..7b2739d53e2c 100644 --- a/keyboards/keychron/v5/iso/iso.c +++ b/keyboards/keychron/v5/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v5/iso_encoder/iso_encoder.c b/keyboards/keychron/v5/iso_encoder/iso_encoder.c index 95eb62ae1f56..9a13422d2c02 100644 --- a/keyboards/keychron/v5/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v5/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v6/ansi/ansi.c b/keyboards/keychron/v6/ansi/ansi.c index a3f1032a1e5d..be5bad84ff29 100644 --- a/keyboards/keychron/v6/ansi/ansi.c +++ b/keyboards/keychron/v6/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c index 02e0de0b3d49..b83a5b0fb093 100644 --- a/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v6/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v6/config.h b/keyboards/keychron/v6/config.h index eb2296a1728d..129f3925bb7d 100644 --- a/keyboards/keychron/v6/config.h +++ b/keyboards/keychron/v6/config.h @@ -41,7 +41,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* EEPROM Driver Configuration */ #define WEAR_LEVELING_LOGICAL_SIZE 2048 diff --git a/keyboards/keychron/v6/iso/iso.c b/keyboards/keychron/v6/iso/iso.c index 7804ca360013..1138cb07d78f 100644 --- a/keyboards/keychron/v6/iso/iso.c +++ b/keyboards/keychron/v6/iso/iso.c @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v6/iso_encoder/iso_encoder.c b/keyboards/keychron/v6/iso_encoder/iso_encoder.c index bd9189f8b5ee..47f609d81780 100644 --- a/keyboards/keychron/v6/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v6/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v7/ansi/ansi.c b/keyboards/keychron/v7/ansi/ansi.c index 07a98622a45b..132f5685191b 100644 --- a/keyboards/keychron/v7/ansi/ansi.c +++ b/keyboards/keychron/v7/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v7/config.h b/keyboards/keychron/v7/config.h index cff96774e333..500e4df30d56 100644 --- a/keyboards/keychron/v7/config.h +++ b/keyboards/keychron/v7/config.h @@ -37,7 +37,7 @@ #define MATRIX_MASKED /* turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/v7/iso/iso.c b/keyboards/keychron/v7/iso/iso.c index a35dcb2092a4..7aaeafe65e21 100644 --- a/keyboards/keychron/v7/iso/iso.c +++ b/keyboards/keychron/v7/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v8/ansi/ansi.c b/keyboards/keychron/v8/ansi/ansi.c index bda7ba1d7448..e5840fe966fa 100644 --- a/keyboards/keychron/v8/ansi/ansi.c +++ b/keyboards/keychron/v8/ansi/ansi.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c index bda7ba1d7448..e5840fe966fa 100644 --- a/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c +++ b/keyboards/keychron/v8/ansi_encoder/ansi_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v8/config.h b/keyboards/keychron/v8/config.h index 3a860e8eb646..c9db5c07550e 100644 --- a/keyboards/keychron/v8/config.h +++ b/keyboards/keychron/v8/config.h @@ -40,7 +40,7 @@ #define MATRIX_MASKED /* Turn off effects when suspended */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/keychron/v8/iso/iso.c b/keyboards/keychron/v8/iso/iso.c index 88040c3ab840..07b350209d00 100644 --- a/keyboards/keychron/v8/iso/iso.c +++ b/keyboards/keychron/v8/iso/iso.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keychron/v8/iso_encoder/iso_encoder.c b/keyboards/keychron/v8/iso_encoder/iso_encoder.c index 88040c3ab840..07b350209d00 100644 --- a/keyboards/keychron/v8/iso_encoder/iso_encoder.c +++ b/keyboards/keychron/v8/iso_encoder/iso_encoder.c @@ -20,7 +20,7 @@ // clang-format off -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h b/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h deleted file mode 100644 index 023c753c27a5..000000000000 --- a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 Carlos Filoteo - * - * 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 - -// place overrides here diff --git a/keyboards/kudox_game/keymaps/default/config.h b/keyboards/kikoslab/kl90/config.h similarity index 87% rename from keyboards/kudox_game/keymaps/default/config.h rename to keyboards/kikoslab/kl90/config.h index 5cbe7609a3f4..c77c6e6276cf 100644 --- a/keyboards/kudox_game/keymaps/default/config.h +++ b/keyboards/kikoslab/kl90/config.h @@ -1,5 +1,5 @@ /* -Copyright 2019 Kumao Kobo +Copyright 2021 IntusFacultas 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 @@ -14,5 +14,6 @@ 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 ENCODER_MAP_KEY_DELAY 2 diff --git a/keyboards/kikoslab/kl90/keymaps/via/keymap.c b/keyboards/kikoslab/kl90/keymaps/via/keymap.c index 4dbffe8f7725..7534fa276127 100644 --- a/keyboards/kikoslab/kl90/keymaps/via/keymap.c +++ b/keyboards/kikoslab/kl90/keymaps/via/keymap.c @@ -16,10 +16,15 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H +enum Layers { + _BASE, + _LOWER, + _RAISE, +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( +[_BASE] = LAYOUT_all( KC_DEL , KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_MPLY, KC_F13 , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_F14 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , @@ -27,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F16 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_BSLS, KC_UP , KC_PGDN, KC_F17 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), -[1] = LAYOUT_all( +[_LOWER] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -35,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[2] = LAYOUT_all( +[_RAISE] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -44,22 +49,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - tap_code(KC_WH_D); - } else { - tap_code(KC_WH_U); - } - } else if (index == 1) { /* Second encoder */ - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, +}; +#endif #ifdef OLED_ENABLE diff --git a/keyboards/kikoslab/kl90/keymaps/via/rules.mk b/keyboards/kikoslab/kl90/keymaps/via/rules.mk index d03b5f1ca758..16d6a247ec88 100644 --- a/keyboards/kikoslab/kl90/keymaps/via/rules.mk +++ b/keyboards/kikoslab/kl90/keymaps/via/rules.mk @@ -1,2 +1,3 @@ VIA_ENABLE = yes -WPM_ENABLE = yes \ No newline at end of file +WPM_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kinesis/keymaps/tw1t611/config.h b/keyboards/kinesis/keymaps/tw1t611/config.h deleted file mode 100644 index 271f48d0011b..000000000000 --- a/keyboards/kinesis/keymaps/tw1t611/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -// place overrides here diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/config.h b/keyboards/kprepublic/bm40hsrgb/rev1/config.h index ac0261a608c3..29e7af3a64d1 100755 --- a/keyboards/kprepublic/bm40hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm40hsrgb/rev1/config.h @@ -24,7 +24,7 @@ #define RGB_MATRIX_LED_COUNT 53 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/config.h b/keyboards/kprepublic/bm40hsrgb/rev2/config.h index 1cd3f7a6d362..edc61c36e88c 100755 --- a/keyboards/kprepublic/bm40hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm40hsrgb/rev2/config.h @@ -18,4 +18,4 @@ #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define RGB_MATRIX_LED_COUNT 47 #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/info.json b/keyboards/kprepublic/bm40hsrgb/rev2/info.json index dac848ed52a1..c530b456cfb0 100644 --- a/keyboards/kprepublic/bm40hsrgb/rev2/info.json +++ b/keyboards/kprepublic/bm40hsrgb/rev2/info.json @@ -62,11 +62,6 @@ "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "pixel_rain": true, - "pixel_flow": true, - "pixel_fractal": true, - "typing_heatmap": true, - "digital_rain": true, "solid_reactive_simple": true, "solid_reactive": true, "solid_reactive_wide": true, diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c index 4bf916893520..8dd4cc2af1c6 100755 --- a/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm40hsrgb/rev2/rev2.c @@ -17,7 +17,7 @@ #if defined(RGB_MATRIX_ENABLE) -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index e4089e9fd53d..96cb1de5a204 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -17,7 +17,7 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index eb1b76382b52..3cd50bfea33f 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -17,7 +17,7 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND # define DRIVER_1_LED_TOTAL 63 # define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c index fc40e0fa9aeb..982bf39c52c8 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c @@ -15,7 +15,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 00d55f8ee018..0a3e628c1c53 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -19,7 +19,7 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL # define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c index 2cfe18e08efa..9cb9edba8ea8 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c @@ -24,7 +24,7 @@ # include "ws2812.h" -const PROGMEM is31fl3733_led_t g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index a877e182a65c..fdeb9b61e973 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -17,7 +17,7 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h index 13eefdef6508..854b36d862e3 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h @@ -60,7 +60,7 @@ // #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue // #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation // #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index 078085779b84..20fa1a8314e5 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -26,7 +26,7 @@ #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c index 057b4669f5ab..357ce13e960b 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, {0, CS6_SW2, CS5_SW2, CS4_SW2}, {0, CS6_SW3, CS5_SW3, CS4_SW3}, diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h index e0a7f47a4d80..9d4ca3770e67 100644 --- a/keyboards/kprepublic/bm80hsrgb/config.h +++ b/keyboards/kprepublic/bm80hsrgb/config.h @@ -74,7 +74,7 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// # define RGB_MATRIX_SLEEP // turn off effects when suspended // does not work for some reason, might revisit /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h index 06a7409110a3..bf64e8be787a 100644 --- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h @@ -42,7 +42,7 @@ // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set -// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/kprepublic/bm80v2/bm80v2.c b/keyboards/kprepublic/bm80v2/bm80v2.c index 13d67cdd568e..3e3de08288b0 100644 --- a/keyboards/kprepublic/bm80v2/bm80v2.c +++ b/keyboards/kprepublic/bm80v2/bm80v2.c @@ -16,7 +16,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, {0, CS6_SW3, CS5_SW3, CS4_SW3}, {0, CS6_SW4, CS5_SW4, CS4_SW4}, diff --git a/keyboards/kprepublic/bm80v2/config.h b/keyboards/kprepublic/bm80v2/config.h index 91ad6350e05a..3cf86e36e334 100644 --- a/keyboards/kprepublic/bm80v2/config.h +++ b/keyboards/kprepublic/bm80v2/config.h @@ -14,7 +14,7 @@ */ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h b/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h index 4726396806bb..7989b68f7de4 100644 --- a/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h +++ b/keyboards/kprepublic/bm80v2/keymaps/saph1s/config.h @@ -19,5 +19,5 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE #undef RGB_MATRIX_DEFAULT_MODE #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP #endif diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c index 3b8daf5fee8d..1d6e3df54791 100644 --- a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c +++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c @@ -16,7 +16,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, {0, CS6_SW3, CS5_SW3, CS4_SW3}, {0, CS6_SW4, CS5_SW4, CS4_SW4}, diff --git a/keyboards/kprepublic/bm80v2_iso/config.h b/keyboards/kprepublic/bm80v2_iso/config.h index a086185993d4..a8fdc5e18dc0 100644 --- a/keyboards/kprepublic/bm80v2_iso/config.h +++ b/keyboards/kprepublic/bm80v2_iso/config.h @@ -15,7 +15,7 @@ #pragma once /* disable these deprecated features by default */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kprepublic/cstc40/config.h b/keyboards/kprepublic/cstc40/config.h index 75ddd104aead..5e055746723b 100644 --- a/keyboards/kprepublic/cstc40/config.h +++ b/keyboards/kprepublic/cstc40/config.h @@ -55,4 +55,4 @@ #define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c b/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c index 39d3d7ff5284..1df130fe5338 100644 --- a/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c +++ b/keyboards/kprepublic/cstc40/daughterboard/daughterboard.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, L_1, K_1, J_1 }, { 0, L_2, K_2, J_2 }, { 0, L_3, K_3, J_3 }, diff --git a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c b/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c index 39d3d7ff5284..1df130fe5338 100644 --- a/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c +++ b/keyboards/kprepublic/cstc40/single_pcb/single_pcb.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, L_1, K_1, J_1 }, { 0, L_2, K_2, J_2 }, { 0, L_3, K_3, J_3 }, diff --git a/keyboards/kudox/columner/keymaps/default/config.h b/keyboards/kudox/columner/keymaps/default/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/columner/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kudox/rev1/keymaps/default/config.h b/keyboards/kudox/rev1/keymaps/default/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/rev1/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kudox/rev1/keymaps/jis/config.h b/keyboards/kudox/rev1/keymaps/jis/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/rev1/keymaps/jis/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kudox/rev1/keymaps/x1/config.h b/keyboards/kudox/rev1/keymaps/x1/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/rev1/keymaps/x1/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kudox/rev2/keymaps/default/config.h b/keyboards/kudox/rev2/keymaps/default/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/rev2/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kudox/rev2/keymaps/jis/config.h b/keyboards/kudox/rev2/keymaps/jis/config.h deleted file mode 100644 index f5bf85cca0ab..000000000000 --- a/keyboards/kudox/rev2/keymaps/jis/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2019 Kumao Kobo - * - * 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 diff --git a/keyboards/kuro/kuro65/config.h b/keyboards/kuro/kuro65/config.h index f782e9069b94..d84264b39c43 100644 --- a/keyboards/kuro/kuro65/config.h +++ b/keyboards/kuro/kuro65/config.h @@ -22,7 +22,7 @@ // The number of LEDs connected # define RGB_MATRIX_LED_COUNT 69 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define USB_SUSPEND_WAKEUP_DELAY 5000 # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/laser_ninja/pumpkin_pad/config.h b/keyboards/laser_ninja/pumpkinpad/config.h similarity index 100% rename from keyboards/laser_ninja/pumpkin_pad/config.h rename to keyboards/laser_ninja/pumpkinpad/config.h diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkinpad/info.json similarity index 98% rename from keyboards/laser_ninja/pumpkin_pad/info.json rename to keyboards/laser_ninja/pumpkinpad/info.json index cb76145388ee..1921ac691700 100644 --- a/keyboards/laser_ninja/pumpkin_pad/info.json +++ b/keyboards/laser_ninja/pumpkinpad/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Pumpkin Pad", + "keyboard_name": "Pumpkinpad", "manufacturer": "Laser Ninja", "url": "", "maintainer": "Jels", diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c similarity index 100% rename from keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c rename to keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c similarity index 100% rename from keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c rename to keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c diff --git a/keyboards/pw88/keymaps/via/rules.mk b/keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk similarity index 100% rename from keyboards/pw88/keymaps/via/rules.mk rename to keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk diff --git a/keyboards/laser_ninja/pumpkin_pad/readme.md b/keyboards/laser_ninja/pumpkinpad/readme.md similarity index 80% rename from keyboards/laser_ninja/pumpkin_pad/readme.md rename to keyboards/laser_ninja/pumpkinpad/readme.md index 452f4f672362..a5739029e7f1 100644 --- a/keyboards/laser_ninja/pumpkin_pad/readme.md +++ b/keyboards/laser_ninja/pumpkinpad/readme.md @@ -1,20 +1,20 @@ -# Pumpkin Pad +# Pumpkinpad -![pumpkin-pad](https://i.imgur.com/jFkl9rwh.jpg) +![pumpkinpad](https://i.imgur.com/jFkl9rwh.jpg) A 60% PCB - Keyboard Maintainer: [Jels](https://github.com/Jels02) -- Hardware Supported: Pumpkin Pad PCB +- Hardware Supported: Pumpkinpad PCB - Hardware Availabililty: [Laser_Ninja](https://kennui.com/w/Laser_Ninja) Make example for this keyboard (after setting up your build environment): - make laser_ninja/pumpkin_pad:default + make laser_ninja/pumpkinpad:default Flashing example for this keyboard: - make laser_ninja/pumpkin_pad:default:flash + make laser_ninja/pumpkinpad:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/laser_ninja/pumpkin_pad/rules.mk b/keyboards/laser_ninja/pumpkinpad/rules.mk similarity index 100% rename from keyboards/laser_ninja/pumpkin_pad/rules.mk rename to keyboards/laser_ninja/pumpkinpad/rules.mk diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h index fbeb499c4e6d..708348c4053c 100644 --- a/keyboards/latincompass/latin17rgb/config.h +++ b/keyboards/latincompass/latin17rgb/config.h @@ -17,7 +17,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/latincompass/latin17rgb/latin17rgb.c b/keyboards/latincompass/latin17rgb/latin17rgb.c index b75a11d96506..54705bf4f7cb 100644 --- a/keyboards/latincompass/latin17rgb/latin17rgb.c +++ b/keyboards/latincompass/latin17rgb/latin17rgb.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h index a25d3b06963a..10b9abdf51fc 100644 --- a/keyboards/latincompass/latin60rgb/config.h +++ b/keyboards/latincompass/latin60rgb/config.h @@ -16,7 +16,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/latincompass/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c index a915bede80ac..95ddc428daae 100644 --- a/keyboards/latincompass/latin60rgb/latin60rgb.c +++ b/keyboards/latincompass/latin60rgb/latin60rgb.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, { 0, K_11, J_11, L_11 }, diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h index 584e39a327ee..80e7706af04f 100644 --- a/keyboards/latincompass/latin6rgb/config.h +++ b/keyboards/latincompass/latin6rgb/config.h @@ -18,7 +18,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/latincompass/latin6rgb/latin6rgb.c b/keyboards/latincompass/latin6rgb/latin6rgb.c index a1eb38b9af5c..779373ae8f9e 100644 --- a/keyboards/latincompass/latin6rgb/latin6rgb.c +++ b/keyboards/latincompass/latin6rgb/latin6rgb.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/lefty/rev2/rules.mk b/keyboards/lefty/rev2/rules.mk deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/keyboards/lets_split/keymaps/via/config.h b/keyboards/lets_split/keymaps/via/config.h index a676d6826d05..03853dc39194 100644 --- a/keyboards/lets_split/keymaps/via/config.h +++ b/keyboards/lets_split/keymaps/via/config.h @@ -31,7 +31,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -42,6 +42,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 10 +#define RGBLIGHT_LED_COUNT 10 #define NO_MUSIC_MODE diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h index c70c7d881794..924da8d04d10 100644 --- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h +++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h @@ -22,6 +22,6 @@ /* Force NKRO on boot up */ #define FORCE_NKRO -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_TIMEOUT 900000 diff --git a/keyboards/lily58/keymaps/default/config.h b/keyboards/lily58/keymaps/default/config.h index b16e63b6d7ac..5b45770f38f1 100644 --- a/keyboards/lily58/keymaps/default/config.h +++ b/keyboards/lily58/keymaps/default/config.h @@ -29,7 +29,7 @@ along with this program. If not, see . #define QUICK_TAP_TERM 0 #define TAPPING_TERM 100 -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -40,7 +40,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 27 +#define RGBLIGHT_LED_COUNT 27 #define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 @@ -48,7 +48,7 @@ along with this program. If not, see . // Underglow /* -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs +#undef RGBLIGHT_LED_COUNT +#define RGBLIGHT_LED_COUNT 14 // Number of LEDs #define RGBLIGHT_SLEEP */ diff --git a/keyboards/lily58/keymaps/via/config.h b/keyboards/lily58/keymaps/via/config.h index 331521bcbfa9..284d3944b96d 100644 --- a/keyboards/lily58/keymaps/via/config.h +++ b/keyboards/lily58/keymaps/via/config.h @@ -33,7 +33,7 @@ along with this program. If not, see . // Underglow /* -#undef RGBLED_NUM -#define RGBLED_NUM 14 // Number of LEDs +#undef RGBLIGHT_LED_COUNT +#define RGBLIGHT_LED_COUNT 14 // Number of LEDs #define RGBLIGHT_SLEEP */ diff --git a/keyboards/lily58/keymaps/mb_via/config.h b/keyboards/lily58/keymaps/via_mechboards/config.h similarity index 100% rename from keyboards/lily58/keymaps/mb_via/config.h rename to keyboards/lily58/keymaps/via_mechboards/config.h diff --git a/keyboards/lily58/keymaps/mb_via/keymap.c b/keyboards/lily58/keymaps/via_mechboards/keymap.c similarity index 100% rename from keyboards/lily58/keymaps/mb_via/keymap.c rename to keyboards/lily58/keymaps/via_mechboards/keymap.c diff --git a/keyboards/lily58/keymaps/via_mechboards/readme.md b/keyboards/lily58/keymaps/via_mechboards/readme.md new file mode 100644 index 000000000000..36aaab31b589 --- /dev/null +++ b/keyboards/lily58/keymaps/via_mechboards/readme.md @@ -0,0 +1,10 @@ +# Default Via keymap for the Lily58 R2G by Mechboards UK + +Lily58 R2G is the classic Lily58 remade to feature full SMD assembly + +In this folder can be found the default via enabled keymap that can be in conjunction with the mechboards R2G PCB. + +Flash example for this Keymap: +```sh +qmk flash -kb lily58/r2g -km via_mechboards +``` diff --git a/keyboards/lily58/keymaps/mb_via/rules.mk b/keyboards/lily58/keymaps/via_mechboards/rules.mk similarity index 100% rename from keyboards/lily58/keymaps/mb_via/rules.mk rename to keyboards/lily58/keymaps/via_mechboards/rules.mk diff --git a/keyboards/lily58/r2g/config.h b/keyboards/lily58/r2g/config.h index 955cf70161e3..07fb9aa63101 100644 --- a/keyboards/lily58/r2g/config.h +++ b/keyboards/lily58/r2g/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_COUNT 74 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/lime/rev1/rev1.c b/keyboards/lime/rev1/rev1.c index 91d00e0d2f5c..d08cf398107a 100644 --- a/keyboards/lime/rev1/rev1.c +++ b/keyboards/lime/rev1/rev1.c @@ -1,38 +1,40 @@ - /* Copyright 2021 HellSingCoder - * - * 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 . - */ +/* Copyright 2021 HellSingCoder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include "quantum.h" /* Encoders */ #ifdef ENCODER_ENABLE - bool encoder_update_user(uint8_t index, bool clockwise) { - - if (index == 0) { - if (clockwise) { - tap_code(KC_MNXT); - } else { - tap_code(KC_MPRV); - } - } else if (index == 1) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } +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_MNXT); + } else { + tap_code(KC_MPRV); + } + } else if (index == 1) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} #endif diff --git a/keyboards/linworks/fave60a/config.h b/keyboards/linworks/fave60a/config.h index fd70ee7c38fb..71bc15416122 100644 --- a/keyboards/linworks/fave60a/config.h +++ b/keyboards/linworks/fave60a/config.h @@ -6,7 +6,7 @@ /* Define RGB */ #define RGB_MATRIX_LED_COUNT 91 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/linworks/fave65h/config.h b/keyboards/linworks/fave65h/config.h index 3f549797d89b..b37b2855abab 100644 --- a/keyboards/linworks/fave65h/config.h +++ b/keyboards/linworks/fave65h/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h index 5ce329db0a17..521bf6e938cd 100644 --- a/keyboards/linworks/fave84h/config.h +++ b/keyboards/linworks/fave84h/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 126 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h index e84a0ec92961..69036815b718 100644 --- a/keyboards/linworks/fave87h/config.h +++ b/keyboards/linworks/fave87h/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/linworks/favepada/config.h b/keyboards/linworks/favepada/config.h index bee089bb436b..e87c7024ed16 100644 --- a/keyboards/linworks/favepada/config.h +++ b/keyboards/linworks/favepada/config.h @@ -5,7 +5,7 @@ /* Define RGB */ #define RGB_MATRIX_LED_COUNT 37 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/magic_force/mf17/config.h b/keyboards/magic_force/mf17/config.h index 6e9f18cd5d29..e9636796b19c 100644 --- a/keyboards/magic_force/mf17/config.h +++ b/keyboards/magic_force/mf17/config.h @@ -10,5 +10,5 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // +#define RGB_MATRIX_SLEEP diff --git a/keyboards/majistic/keymaps/default/config.h b/keyboards/majistic/keymaps/default/config.h deleted file mode 100644 index 4db5715cbacc..000000000000 --- a/keyboards/majistic/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2020 yossiyossy - * - * 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 diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h index 3d47ae41e763..c50e0103757b 100644 --- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h +++ b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h @@ -12,7 +12,7 @@ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 2 // Number of LEDs +#define RGBLIGHT_LED_COUNT 2 // Number of LEDs #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h deleted file mode 100644 index 526c0837c725..000000000000 --- a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h index bd9aeeecdbe8..bff44231225f 100644 --- a/keyboards/marksard/rhymestone/rev1/config.h +++ b/keyboards/marksard/rhymestone/rev1/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 40 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/marksard/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h index 3f43b16d2be3..66007ee2ef4d 100644 --- a/keyboards/marksard/treadstone48/rev1/config.h +++ b/keyboards/marksard/treadstone48/rev1/config.h @@ -18,10 +18,10 @@ along with this program. If not, see . #pragma once #ifndef RS_EXTRA_LED - #define RGBLED_NUM 12 + #define RGBLIGHT_LED_COUNT 12 #define RGBLED_SPLIT {12, 0} #else - #define RGBLED_NUM 32 + #define RGBLIGHT_LED_COUNT 32 #define RGBLED_SPLIT {12, 20} #endif diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h index 27bf1a8332c0..e2234da2ec3a 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/config.h +++ b/keyboards/massdrop/alt/keymaps/pregame/config.h @@ -85,7 +85,7 @@ // #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue // #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation // #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGBLIGHT_EFFECT_ALTERNATING // Enable alternating animation mode. diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h b/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h index f2a7e50386d7..64f73b800f6c 100644 --- a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h +++ b/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h @@ -24,4 +24,4 @@ along with this program. If not, see . #define RGB_MATRIX_LED_PROCESS_LIMIT 15 #define RGB_MATRIX_LED_FLUSH_LIMIT 10 -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h index 34aa3cd666fc..1bf82d3730a2 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h +++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h @@ -45,7 +45,7 @@ // #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue // #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation // #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h b/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h index 9b9d199f08d1..497ae1d11f92 100644 --- a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h +++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h @@ -32,7 +32,7 @@ // #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue // #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation // #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h index 0c08219181e3..52a90d332ad0 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h @@ -61,7 +61,7 @@ // #define RGBLIGHT_HUE_STEP 12 // Units to step when in/decreasing hue // #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation // #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended // #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c index a05934238a76..0a3071a40253 100644 --- a/keyboards/matrix/abelx/abelx.c +++ b/keyboards/matrix/abelx/abelx.c @@ -57,6 +57,7 @@ void housekeeping_task_kb(void) { #ifdef RGBLIGHT_ENABLE #include "rgblight.h" +#include "ws2812.h" #include "i2c_master.h" const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = { @@ -66,7 +67,7 @@ const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = { {AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM}, }; -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM; @@ -77,6 +78,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) } } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; + #endif static uint16_t caps_lock_pin = DEF_PIN(TCA6424_PORT2, 3); diff --git a/keyboards/matrix/abelx/info.json b/keyboards/matrix/abelx/info.json index 35bc05981099..b9aa23b75668 100644 --- a/keyboards/matrix/abelx/info.json +++ b/keyboards/matrix/abelx/info.json @@ -10,6 +10,7 @@ }, "rgblight": { "led_count": 9, + "driver": "custom", "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk index 1c2fc05ffee0..83142dd71c6b 100644 --- a/keyboards/matrix/abelx/rules.mk +++ b/keyboards/matrix/abelx/rules.mk @@ -46,3 +46,4 @@ CUSTOM_MATRIX = lite # project specific files SRC += matrix.c tca6424.c aw9523b.c I2C_DRIVER_REQUIRED = yes +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/matrix/m20add/info.json b/keyboards/matrix/m20add/info.json index 972aab9d0d27..6e1a1c493f3a 100644 --- a/keyboards/matrix/m20add/info.json +++ b/keyboards/matrix/m20add/info.json @@ -10,6 +10,7 @@ }, "rgblight": { "led_count": 20, + "driver": "custom", "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c index f3fbe83d72cc..f32875cf4f79 100644 --- a/keyboards/matrix/m20add/rgb_ring.c +++ b/keyboards/matrix/m20add/rgb_ring.c @@ -357,7 +357,7 @@ static void custom_effects(void) effect_funcs[rgb_ring.effect](); } -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { if (rgb_ring.state != RING_STATE_QMK) { return; @@ -368,6 +368,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) } } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; + void rgb_ring_init(void) { diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index 8246da809c3c..b5c52f9952bd 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -17,53 +17,50 @@ extern rgblight_config_t rgblight_config; // led 0 for caps lock, led 1 for scroll lock, led 3 for num lock // led 4 for layer 1, led 5 for layer 2, led 6 for layer 3, led 7 for layer 4 -#if RGBLED_NUM < 7 -#error "MUST set the RGBLED_NUM bigger than 7" +#if RGBLIGHT_LED_COUNT < 7 +#error "MUST set the RGBLIGHT_LED_COUNT bigger than 7" #endif -rgb_led_t noah_leds[RGBLED_NUM]; +rgb_led_t noah_leds[RGBLIGHT_LED_COUNT]; static bool noah_led_mode = false; -void rgblight_set(void) { +void setleds_custom(rgb_led_t *ledarray, uint16_t num_leds) { memset(&noah_leds[0], 0, sizeof(noah_leds)); if (!rgblight_config.enable) { - for (uint8_t i = 0; i < RGBLED_NUM; i++) { - led[i].r = 0; - led[i].g = 0; - led[i].b = 0; + for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) { + ledarray[i].r = 0; + ledarray[i].g = 0; + ledarray[i].b = 0; } } if (noah_led_mode) { led_t led_state = host_keyboard_led_state(); if (led_state.caps_lock) { - noah_leds[0] = led[0]; + noah_leds[0] = ledarray[0]; } if (led_state.scroll_lock) { - noah_leds[1] = led[1]; + noah_leds[1] = ledarray[1]; } if (led_state.num_lock) { - noah_leds[2] = led[2]; + noah_leds[2] = ledarray[2]; } for (int32_t i = 0; i < 4; i++) { if(layer_state_is(i+1)) { - noah_leds[i + 3] = led[i + 3]; + noah_leds[i + 3] = ledarray[i + 3]; } } } else { - memcpy(&noah_leds[0], &led[0], sizeof(noah_leds)); + memcpy(&noah_leds[0], &ledarray[0], sizeof(noah_leds)); } - ws2812_setleds(noah_leds, RGBLED_NUM); + ws2812_setleds(noah_leds, RGBLIGHT_LED_COUNT); } -#endif -void matrix_scan_kb(void) { -#ifdef RGBLIGHT_ENABLE - rgblight_task(); +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; #endif - matrix_scan_user(); -} #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h index 909bc7f83a5d..3db66128b9fd 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h @@ -4,7 +4,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h index 6bdd06aba849..bdfdafecb5d0 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h @@ -9,7 +9,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c index 9e5fe118954e..d49d16e85a1a 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C2_1, C3_1, C4_1}, //D102-A0-0 {0, C5_1, C6_1, C7_1}, //D108-A1-1 diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h index ba93133857dc..6af065ee856a 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h @@ -30,7 +30,7 @@ along with this program. If not, see . #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c index b13f223a1c10..5eebd7ec8a9f 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS3_SW5, CS2_SW5, CS1_SW5}, /* D9-K31-00 */ {0, CS6_SW5, CS5_SW5, CS4_SW5}, /* D46-K00-01 */ {0, CS6_SW9, CS5_SW9, CS4_SW9}, /* D59-K01-02 */ diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h index 60dc290bfb2f..2dc5f2dcd9cb 100644 --- a/keyboards/mechlovin/delphine/rgb_led/config.h +++ b/keyboards/mechlovin/delphine/rgb_led/config.h @@ -5,7 +5,7 @@ #define RGB_MATRIX_LED_COUNT 25 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c index a55143f2e1c7..feda05a07156 100644 --- a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c +++ b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { // left CA {0, C5_2, C6_2, C7_2}, //D2-0 {0, C1_1, C3_2, C4_2}, //D20-1 diff --git a/keyboards/mechlovin/hannah60rgb/rev1/config.h b/keyboards/mechlovin/hannah60rgb/rev1/config.h index 08006aa9966e..f993212f7030 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev1/config.h @@ -5,7 +5,7 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) # define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// # define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 # define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h index 4a4f4c755635..5324684e9da2 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h @@ -9,7 +9,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c index 2e3c8d00901c..c6943cc35786 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c +++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h index 6e73aba5d9f9..c5a1f53bc79d 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h +++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h @@ -17,7 +17,7 @@ #pragma once //rgb matrix setting -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #undef ENABLE_RGB_MATRIX_SPLASH #undef ENABLE_RGB_MATRIX_MULTISPLASH diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c index 5649f8071240..cd8f2e2ca0f8 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c +++ b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS34_SW1, CS35_SW1, CS36_SW1}, //D92-K00-0 {0, CS37_SW1, CS38_SW1, CS39_SW1}, //D94-K01-1 {0, CS31_SW1, CS32_SW1, CS33_SW1}, //D96-K02-2 diff --git a/keyboards/mechlovin/infinity875/config.h b/keyboards/mechlovin/infinity875/config.h index eee31e69ef2d..91a364aacd30 100644 --- a/keyboards/mechlovin/infinity875/config.h +++ b/keyboards/mechlovin/infinity875/config.h @@ -40,7 +40,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 42 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #endif diff --git a/keyboards/mechlovin/olly/octagon/octagon.c b/keyboards/mechlovin/olly/octagon/octagon.c index b5eb828bc885..185ee32a3ee4 100644 --- a/keyboards/mechlovin/olly/octagon/octagon.c +++ b/keyboards/mechlovin/olly/octagon/octagon.c @@ -16,7 +16,7 @@ #include "quantum.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/mechlovin/zed65/mono_led/mono_led.c b/keyboards/mechlovin/zed65/mono_led/mono_led.c index f66c4b1359ed..d8570fa0a633 100644 --- a/keyboards/mechlovin/zed65/mono_led/mono_led.c +++ b/keyboards/mechlovin/zed65/mono_led/mono_led.c @@ -19,7 +19,7 @@ along with this program. If not, see . -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/mechwild/mercutio/keymaps/default/config.h b/keyboards/mechwild/mercutio/keymaps/default/config.h deleted file mode 100644 index b428d6e2606a..000000000000 --- a/keyboards/mechwild/mercutio/keymaps/default/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2021 Kyle McCreery - * - * 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 diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/config.h b/keyboards/mechwild/mercutio/keymaps/fancy/config.h deleted file mode 100644 index b428d6e2606a..000000000000 --- a/keyboards/mechwild/mercutio/keymaps/fancy/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2021 Kyle McCreery - * - * 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 diff --git a/keyboards/mechwild/mercutio/keymaps/via/config.h b/keyboards/mechwild/mercutio/keymaps/via/config.h deleted file mode 100644 index b428d6e2606a..000000000000 --- a/keyboards/mechwild/mercutio/keymaps/via/config.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2021 Kyle McCreery - * - * 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 diff --git a/keyboards/meetlab/kafkasplit/config.h b/keyboards/meetlab/kafkasplit/config.h new file mode 100644 index 000000000000..714b709fe17d --- /dev/null +++ b/keyboards/meetlab/kafkasplit/config.h @@ -0,0 +1,35 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * 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 + +/* Double tap reset button to enter bootloader */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 + +#define I2C1_SCL_PIN GP27 +#define I2C1_SDA_PIN GP26 +#define I2C_DRIVER I2CD1 +#define I2C1_CLOCK_SPEED 400000 +#define OLED_BRIGHTNESS 128 +#define OLED_TIMEOUT 600000 +#define OLED_SCROLL_TIMEOUT 300000 diff --git a/keyboards/era/klein/halconf.h b/keyboards/meetlab/kafkasplit/halconf.h similarity index 88% rename from keyboards/era/klein/halconf.h rename to keyboards/meetlab/kafkasplit/halconf.h index f57e86df018d..4e2f667f1eca 100644 --- a/keyboards/era/klein/halconf.h +++ b/keyboards/meetlab/kafkasplit/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2023 eerraa +/* Copyright 2022 LXF-YZP(yuezp) * * 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 @@ -16,6 +16,6 @@ #pragma once -#define HAL_USE_PWM TRUE +#define HAL_USE_I2C TRUE -#include_next \ No newline at end of file +#include_next diff --git a/keyboards/meetlab/kafkasplit/info.json b/keyboards/meetlab/kafkasplit/info.json new file mode 100644 index 000000000000..d71d405f336b --- /dev/null +++ b/keyboards/meetlab/kafkasplit/info.json @@ -0,0 +1,203 @@ +{ + "manufacturer": "lucky_studio", + "keyboard_name": "kafkaSplit", + "maintainer": "yuezp", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "rgb_matrix": true, + "wpm": true + }, + "indicators": { + "caps_lock": "GP25", + "on_state": 1 + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP6", "GP7", "GP10", "GP11"], + "rows": ["GP5", "GP8", "GP12", "GP13"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "default": { + "animation": "breathing", + "hue": 200 + }, + "driver": "ws2812", + "layout": [ + {"matrix": [3, 5], "x": 0, "y": 0, "flags": 4}, + {"matrix": [3, 4], "x": 18, "y": 5, "flags": 4}, + {"matrix": [3, 3], "x": 36, "y": 10, "flags": 4}, + {"matrix": [3, 2], "x": 54, "y": 15, "flags": 4}, + {"matrix": [2, 5], "x": 2, "y": 21, "flags": 4}, + {"matrix": [2, 4], "x": 20, "y": 23, "flags": 4}, + {"matrix": [2, 3], "x": 38, "y": 25, "flags": 4}, + {"matrix": [2, 2], "x": 56, "y": 23, "flags": 4}, + {"matrix": [2, 1], "x": 72, "y": 21, "flags": 4}, + {"matrix": [2, 0], "x": 90, "y": 21, "flags": 4}, + {"matrix": [1, 5], "x": 2, "y": 39, "flags": 4}, + {"matrix": [1, 4], "x": 20, "y": 41, "flags": 4}, + {"matrix": [1, 3], "x": 38, "y": 43, "flags": 4}, + {"matrix": [1, 2], "x": 56, "y": 41, "flags": 4}, + {"matrix": [1, 1], "x": 72, "y": 39, "flags": 4}, + {"matrix": [1, 0], "x": 90, "y": 39, "flags": 4}, + {"matrix": [0, 5], "x": 2, "y": 57, "flags": 4}, + {"matrix": [0, 4], "x": 20, "y": 59, "flags": 4}, + {"matrix": [0, 3], "x": 38, "y": 61, "flags": 4}, + {"matrix": [0, 2], "x": 56, "y": 59, "flags": 4}, + {"matrix": [0, 1], "x": 72, "y": 57, "flags": 4}, + {"matrix": [0, 0], "x": 90, "y": 57, "flags": 4}, + {"matrix": [7, 3], "x": 0, "y": 0, "flags": 4}, + {"matrix": [7, 2], "x": 18, "y": 5, "flags": 4}, + {"matrix": [7, 1], "x": 36, "y": 10, "flags": 4}, + {"matrix": [7, 0], "x": 54, "y": 15, "flags": 4}, + {"matrix": [6, 5], "x": 2, "y": 21, "flags": 4}, + {"matrix": [6, 4], "x": 20, "y": 23, "flags": 4}, + {"matrix": [6, 3], "x": 38, "y": 25, "flags": 4}, + {"matrix": [6, 2], "x": 56, "y": 23, "flags": 4}, + {"matrix": [6, 1], "x": 72, "y": 21, "flags": 4}, + {"matrix": [6, 0], "x": 90, "y": 21, "flags": 4}, + {"matrix": [5, 5], "x": 2, "y": 39, "flags": 4}, + {"matrix": [5, 4], "x": 20, "y": 41, "flags": 4}, + {"matrix": [5, 3], "x": 38, "y": 43, "flags": 4}, + {"matrix": [5, 2], "x": 56, "y": 41, "flags": 4}, + {"matrix": [5, 1], "x": 72, "y": 39, "flags": 4}, + {"matrix": [5, 0], "x": 90, "y": 39, "flags": 4}, + {"matrix": [4, 5], "x": 159, "y": 57, "flags": 4}, + {"matrix": [4, 4], "x": 159, "y": 59, "flags": 4}, + {"matrix": [4, 3], "x": 224, "y": 61, "flags": 4}, + {"matrix": [4, 2], "x": 224, "y": 59, "flags": 4}, + {"matrix": [4, 1], "x": 224, "y": 57, "flags": 4}, + {"matrix": [4, 0], "x": 224, "y": 57, "flags": 4} + ], + "sleep": true, + "split_count": [22, 22] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["GP9", "GP10", "GP8", "GP7", "GP6", "GP5"], + "rows": ["GP11", "GP13", "GP12", "GP14"] + } + }, + "transport": { + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true, + "modifiers": true, + "wpm": true + } + } + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0xBFC2", + "vid": "0xAFC2" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP15" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.13}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.13}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [4, 0], "x": 8.75, "y": 0.25}, + {"matrix": [4, 1], "x": 9.75, "y": 0.25}, + {"matrix": [4, 2], "x": 10.75, "y": 0.13}, + {"matrix": [4, 3], "x": 11.75, "y": 0}, + {"matrix": [4, 4], "x": 12.75, "y": 0.13}, + {"matrix": [4, 5], "x": 13.75, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.13}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.13}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 0], "x": 8.75, "y": 1.25}, + {"matrix": [5, 1], "x": 9.75, "y": 1.25}, + {"matrix": [5, 2], "x": 10.75, "y": 1.13}, + {"matrix": [5, 3], "x": 11.75, "y": 1}, + {"matrix": [5, 4], "x": 12.75, "y": 1.13}, + {"matrix": [5, 5], "x": 13.75, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.13}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.13}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [6, 0], "x": 8.75, "y": 2.25}, + {"matrix": [6, 1], "x": 9.75, "y": 2.25}, + {"matrix": [6, 2], "x": 10.75, "y": 2.13}, + {"matrix": [6, 3], "x": 11.75, "y": 2}, + {"matrix": [6, 4], "x": 12.75, "y": 2.13}, + {"matrix": [6, 5], "x": 13.75, "y": 2.25}, + {"matrix": [3, 2], "x": 2, "y": 3.13}, + {"matrix": [3, 3], "x": 4, "y": 2.05, "h": 1.25}, + {"matrix": [3, 4], "x": 5.25, "y": 1.7, "h": 1.25}, + {"matrix": [3, 5], "x": 5.35, "y": 3.65, "h": 1.5}, + {"matrix": [7, 0], "x": 8.25, "y": 4.25, "h": 1.5}, + {"matrix": [7, 1], "x": 7.75, "y": 6.25, "h": 1.25}, + {"matrix": [7, 2], "x": 9.23, "y": 5.85, "h": 1.25}, + {"matrix": [7, 3], "x": 11.75, "y": 3.13} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/meetlab/kafkasplit/kafkasplit.c b/keyboards/meetlab/kafkasplit/kafkasplit.c new file mode 100644 index 000000000000..ee352bc8dc06 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/kafkasplit.c @@ -0,0 +1,207 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + // if (is_keyboard_master()) { + if (host_keyboard_led_state().caps_lock) { // 处于 CPAS LOCK 状态 + rgb_matrix_set_color(5, 100, 0, 0); // 灯变为红色(R:255, G:0, B:0) + } + return true; +} +#endif + +#ifdef OLED_ENABLE +// WPM-responsive animation stuff here +# define IDLE_FRAMES 5 +# define IDLE_SPEED 20 // below this wpm value your animation will idle + +// #define PREP_FRAMES 1 // uncomment if >1 + +# define TAP_FRAMES 2 +# define TAP_SPEED 40 // above this wpm value typing animation to trigger + +# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms +// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing +# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024 + +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1 +uint8_t current_tap_frame = 0; + +static void render_anim(void) { + static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }; + + // assumes 1 frame prep stage + void animation_phase(void) { + if (get_current_wpm() <= IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE); + } + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1 + oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 + } + if (get_current_wpm() >= TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE); + } + } + if (get_current_wpm() != 000) { + oled_on(); // not essential but turns on animation OLED with any alpha keypress + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + anim_sleep = timer_read32(); + } else { + + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + + } +} + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; + } else { + return rotation; + } +} + +static void render_keylock_status(led_t led_state) { + oled_write_P(PSTR("Lock: "), false); + oled_write_P(PSTR("CAPS"), led_state.caps_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("NUML"), led_state.num_lock); + oled_write_P(PSTR(" "), false); + oled_write_ln_P(PSTR("SCLK"), led_state.scroll_lock); +} + +static void render_mod_status(uint8_t modifiers) { + oled_write_P(PSTR("Mods: "), false); + oled_write_P(PSTR("Sft"), (modifiers & MOD_MASK_SHIFT)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("Ctl"), (modifiers & MOD_MASK_CTRL)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("Alt"), (modifiers & MOD_MASK_ALT)); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("GUI"), (modifiers & MOD_MASK_GUI)); +} + + +static void render_status(void) { + // Host Keyboard Layer Status + switch (get_highest_layer(default_layer_state)) { + case 0: + oled_write_P(PSTR("QWERTY | "), false); + break; + } + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("Base \n"), false); + break; + + case 1: + oled_write_P(PSTR("Lower \n"), false); + break; + + case 2: + oled_write_P(PSTR("Raise \n"), false); + break; + + case 3: + oled_write_P(PSTR("Adjust \n"), false); + break; + + default: + oled_write_P(PSTR("Unknown \n"), false); + } + + oled_write_P(PSTR("\n"), false); + render_keylock_status(host_keyboard_led_state()); + render_mod_status(get_mods() | get_oneshot_mods()); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + if (is_keyboard_master()) { + // Renders the current keyboard state (layer, lock, caps, scroll, etc) + render_status(); + } else { + render_anim(); // renders pixelart + + oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top) + oled_write_P(PSTR("WPM: "), false); + oled_write(get_u8_str(get_current_wpm(), '0'), false); + + led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on + oled_set_cursor(0, 1); + oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); + + return false; + } + + return false; +} +#endif diff --git a/keyboards/meetlab/kafkasplit/keymaps/default/keymap.c b/keyboards/meetlab/kafkasplit/keymaps/default/keymap.c new file mode 100644 index 000000000000..db6ccd891257 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * 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 FITNKCS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_namKC { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC, KC_LALT + //`----------------------------------' `------------------------------------' + ), + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F5, KC_F6, KC_F7, KC_F8, KC_EQL, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, KC_LALT + //`-----------------------------------' `----------------------------------' + ), + [_RAISE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_CAPS, KC_EXLM, KC_DQUO, KC_HASH, KC_CIRC, XXXXXXX, KC_ASTR, KC_7, KC_8, KC_9, KC_MINS, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_LBRC, KC_RBRC, KC_LABK, KC_RABK, KC_EQL, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, _______ + //`----------------------------------' `------------------------------------' + ), + [_ADJUST] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, KC_AT, XXXXXXX, KC_DLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, KC_AMPR, KC_PIPE, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TILD, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, KC_PERC, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, KC_LALT + //`---------------------------------' `-----------------------------------' + ) + +}; diff --git a/keyboards/meetlab/kafkasplit/keymaps/via/keymap.c b/keyboards/meetlab/kafkasplit/keymaps/via/keymap.c new file mode 100644 index 000000000000..db6ccd891257 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/keymaps/via/keymap.c @@ -0,0 +1,73 @@ +/* Copyright 2022 LXF-YZP(yuezp) + * + * 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 FITNKCS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layer_namKC { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC, KC_LALT + //`----------------------------------' `------------------------------------' + ), + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F5, KC_F6, KC_F7, KC_F8, KC_EQL, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, KC_LALT + //`-----------------------------------' `----------------------------------' + ), + [_RAISE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_CAPS, KC_EXLM, KC_DQUO, KC_HASH, KC_CIRC, XXXXXXX, KC_ASTR, KC_7, KC_8, KC_9, KC_MINS, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, XXXXXXX, KC_SLSH, KC_4, KC_5, KC_6, KC_PLUS, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_LBRC, KC_RBRC, KC_LABK, KC_RABK, KC_EQL, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, _______ + //`----------------------------------' `------------------------------------' + ), + [_ADJUST] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, KC_AT, XXXXXXX, KC_DLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, KC_AMPR, KC_PIPE, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TILD, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, KC_PERC, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, KC_LGUI, _______, KC_SPC, KC_ENT, _______, _______, KC_LALT + //`---------------------------------' `-----------------------------------' + ) + +}; diff --git a/keyboards/w1_at/keymaps/via/rules.mk b/keyboards/meetlab/kafkasplit/keymaps/via/rules.mk similarity index 100% rename from keyboards/w1_at/keymaps/via/rules.mk rename to keyboards/meetlab/kafkasplit/keymaps/via/rules.mk diff --git a/keyboards/meetlab/kafkasplit/matrix_diagram.md b/keyboards/meetlab/kafkasplit/matrix_diagram.md new file mode 100644 index 000000000000..4fa57f74a2a8 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/matrix_diagram.md @@ -0,0 +1,14 @@ +# Matrix Diagram for kafkaSplit + +``` +┌───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │ │40 │41 │42 │43 │44 │45 │ +├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤ +│10 │11 │12 │13 │14 │15 │ │50 │51 │52 │53 │54 │55 │ +├───┼───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┼───┤ +│20 │21 │22 │23 │24 │25 │ │60 │61 │62 │63 │64 │65 │ +└───┴───┴───┼───┼───┼───┼───┐ ┌───┼───┼───┼───┼───┴───┴───┘ + │32 │33 │34 │35 │ │70 │71 │72 │73 │ + └───┴───┴───┴───┘ └───┴───┴───┴───┘ + +``` diff --git a/keyboards/era/klein/mcuconf.h b/keyboards/meetlab/kafkasplit/mcuconf.h similarity index 89% rename from keyboards/era/klein/mcuconf.h rename to keyboards/meetlab/kafkasplit/mcuconf.h index b82cc49d7d07..56bd747d62cb 100644 --- a/keyboards/era/klein/mcuconf.h +++ b/keyboards/meetlab/kafkasplit/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2023 eerraa +/* Copyright 2022 JasonRen(biu) * * 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 @@ -18,5 +18,5 @@ #include_next -#undef RP_PWM_USE_PWM7 -#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/meetlab/kafkasplit/readme.md b/keyboards/meetlab/kafkasplit/readme.md new file mode 100644 index 000000000000..7b332d784a55 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/readme.md @@ -0,0 +1,26 @@ +# kafkasplit - PCB + +![kafkasplit](https://i.imgur.com/fqxZGeHh.jpg) + +A 44-key split keyboard with rgb + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: https://github.com/LXF-YZP/KafkaSplit + +Make example for this keyboard (after setting up your build environment): + + make meetlab/kafkasplit:default + +Flashing example for this keyboard: + + make meetlab/kafkasplit:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/meetlab/kafkasplit/rules.mk b/keyboards/meetlab/kafkasplit/rules.mk new file mode 100644 index 000000000000..161ec22b16e2 --- /dev/null +++ b/keyboards/meetlab/kafkasplit/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor diff --git a/keyboards/melgeek/mach80/config.h b/keyboards/melgeek/mach80/config.h index cc4d7bc6bf9a..0c3c0b498862 100755 --- a/keyboards/melgeek/mach80/config.h +++ b/keyboards/melgeek/mach80/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c index 9e5c2d8b81de..97744bd82495 100755 --- a/keyboards/melgeek/mach80/rev1/rev1.c +++ b/keyboards/melgeek/mach80/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c index e9fdc2517f77..5fcc84e9475e 100755 --- a/keyboards/melgeek/mach80/rev2/rev2.c +++ b/keyboards/melgeek/mach80/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mj61/config.h b/keyboards/melgeek/mj61/config.h index 704699ece998..22dba89fac64 100644 --- a/keyboards/melgeek/mj61/config.h +++ b/keyboards/melgeek/mj61/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mj61/rev1/rev1.c b/keyboards/melgeek/mj61/rev1/rev1.c index 76fcb64c37f1..473ef5dc8688 100644 --- a/keyboards/melgeek/mj61/rev1/rev1.c +++ b/keyboards/melgeek/mj61/rev1/rev1.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB1 */ {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB2 */ {0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mj61/rev2/rev2.c b/keyboards/melgeek/mj61/rev2/rev2.c index 9d13d52ebcba..a699cf45c049 100644 --- a/keyboards/melgeek/mj61/rev2/rev2.c +++ b/keyboards/melgeek/mj61/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */ diff --git a/keyboards/melgeek/mj63/config.h b/keyboards/melgeek/mj63/config.h index 704699ece998..22dba89fac64 100644 --- a/keyboards/melgeek/mj63/config.h +++ b/keyboards/melgeek/mj63/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c index 69e7ab5da6ee..b286ec7ca61b 100644 --- a/keyboards/melgeek/mj63/rev1/rev1.c +++ b/keyboards/melgeek/mj63/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mj63/rev2/rev2.c b/keyboards/melgeek/mj63/rev2/rev2.c index 5ab9cdb65afc..5a04475bae05 100644 --- a/keyboards/melgeek/mj63/rev2/rev2.c +++ b/keyboards/melgeek/mj63/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */ diff --git a/keyboards/melgeek/mj64/config.h b/keyboards/melgeek/mj64/config.h index 704699ece998..22dba89fac64 100644 --- a/keyboards/melgeek/mj64/config.h +++ b/keyboards/melgeek/mj64/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mj64/rev1/rev1.c b/keyboards/melgeek/mj64/rev1/rev1.c index fff946b20ac2..a608f83afe1a 100644 --- a/keyboards/melgeek/mj64/rev1/rev1.c +++ b/keyboards/melgeek/mj64/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mj64/rev2/rev2.c b/keyboards/melgeek/mj64/rev2/rev2.c index 35da35b2e4cc..67c17855fd77 100644 --- a/keyboards/melgeek/mj64/rev2/rev2.c +++ b/keyboards/melgeek/mj64/rev2/rev2.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mj64/rev3/rev3.c b/keyboards/melgeek/mj64/rev3/rev3.c index 942bda1487f0..77f86bb015c6 100644 --- a/keyboards/melgeek/mj64/rev3/rev3.c +++ b/keyboards/melgeek/mj64/rev3/rev3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */ diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/config.h index 704699ece998..22dba89fac64 100644 --- a/keyboards/melgeek/mj65/config.h +++ b/keyboards/melgeek/mj65/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mj65/rev3/rev3.c b/keyboards/melgeek/mj65/rev3/rev3.c index 6d851aa847e2..1ebf87e09969 100644 --- a/keyboards/melgeek/mj65/rev3/rev3.c +++ b/keyboards/melgeek/mj65/rev3/rev3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mojo68/config.h b/keyboards/melgeek/mojo68/config.h index e661efb2a9dd..b52fa44cbbb8 100755 --- a/keyboards/melgeek/mojo68/config.h +++ b/keyboards/melgeek/mojo68/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c index cd6d4ec4136c..ea1005143117 100755 --- a/keyboards/melgeek/mojo68/rev1/rev1.c +++ b/keyboards/melgeek/mojo68/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/config.h index a4e89e5a90d4..790c1542cab0 100644 --- a/keyboards/melgeek/mojo75/config.h +++ b/keyboards/melgeek/mojo75/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/mojo75/rev1/rev1.c b/keyboards/melgeek/mojo75/rev1/rev1.c index e64c163c7824..f04310838049 100644 --- a/keyboards/melgeek/mojo75/rev1/rev1.c +++ b/keyboards/melgeek/mojo75/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1 */ {0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB2 */ {0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/tegic/config.h b/keyboards/melgeek/tegic/config.h index 723706d61021..edbe524af98d 100755 --- a/keyboards/melgeek/tegic/config.h +++ b/keyboards/melgeek/tegic/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/tegic/rev1/rev1.c b/keyboards/melgeek/tegic/rev1/rev1.c index 6dc2e8d180bb..2b36ec760980 100755 --- a/keyboards/melgeek/tegic/rev1/rev1.c +++ b/keyboards/melgeek/tegic/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */ diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/config.h index d78cbab67212..e046d8f6ae20 100644 --- a/keyboards/melgeek/z70ultra/config.h +++ b/keyboards/melgeek/z70ultra/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c index f978edea921f..eaf03fd3448d 100644 --- a/keyboards/melgeek/z70ultra/z70ultra.c +++ b/keyboards/melgeek/z70ultra/z70ultra.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t PROGMEM g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS28_SW1, CS30_SW1, CS29_SW1}, /* RGB10 */ {0, CS28_SW2, CS30_SW2, CS29_SW2}, /* RGB11 */ {0, CS28_SW3, CS30_SW3, CS29_SW3}, /* RGB12 */ diff --git a/keyboards/miiiw/blackio83/rev_0100/config.h b/keyboards/miiiw/blackio83/rev_0100/config.h index e68a9d0b163d..78f7739f0aba 100644 --- a/keyboards/miiiw/blackio83/rev_0100/config.h +++ b/keyboards/miiiw/blackio83/rev_0100/config.h @@ -36,7 +36,6 @@ /* RGB Matrix config */ #define RGB_EN_PIN A8 -#define RGBLED_NUM 83 #define RGB_MATRIX_LED_COUNT 83 #define RGB_MATRIX_CENTER { 62, 42 } diff --git a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c deleted file mode 100644 index b28ac84acb41..000000000000 --- a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2023 ArthurCyy - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "blackio83.h" diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h index 2bda7f75bb07..1609c0245c6f 100644 --- a/keyboards/miller/gm862/config.h +++ b/keyboards/miller/gm862/config.h @@ -1,7 +1,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/miller/gm862/gm862.c b/keyboards/miller/gm862/gm862.c index b677ae3be4c5..3dcbe122fb1e 100644 --- a/keyboards/miller/gm862/gm862.c +++ b/keyboards/miller/gm862/gm862.c @@ -1,7 +1,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, B_1, A_1, C_1}, {0, B_2, A_2, C_2}, {0, B_3, A_3, C_3}, diff --git a/keyboards/mino_plus/mino_plus.c b/keyboards/mino_plus/mino_plus.c index cd651b6d1712..0763a5292b79 100644 --- a/keyboards/mino_plus/mino_plus.c +++ b/keyboards/mino_plus/mino_plus.c @@ -3,13 +3,13 @@ #include "quantum.h" #ifdef OLED_ENABLE -#define FRAMES 5 -#define ANIMATION_SIZE 512 -#define TAP_SPEED 30 +# define FRAMES 5 +# define ANIMATION_SIZE 512 +# define TAP_SPEED 30 -uint8_t current_frame = 0; -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; +uint8_t current_frame = 0; +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; uint32_t ANIM_FRAME_DURATION = 1000; static void render_animation(void) { @@ -191,8 +191,8 @@ static void render_animation(void) { } if (get_current_wpm() != 000) { - oled_on(); // not essential but turns on animation OLED with any alpha keypress - if (get_current_wpm() > TAP_SPEED){ + oled_on(); // not essential but turns on animation OLED with any alpha keypress + if (get_current_wpm() > TAP_SPEED) { ANIM_FRAME_DURATION = 100; } else { ANIM_FRAME_DURATION = 1000; @@ -233,16 +233,19 @@ static void render_status(void) { } oled_rotation_t oled_init_kb(oled_rotation_t rotation) { - return OLED_ROTATION_270; + return OLED_ROTATION_270; } bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } render_animation(); render_status(); oled_write_ln_P(PSTR("WPM:"), false); oled_write_ln(get_u8_str(get_current_wpm(), '0'), false); - return false; + return true; } -#endif \ No newline at end of file +#endif diff --git a/keyboards/mixi/keymaps/default/keymap.c b/keyboards/mixi/keymaps/default/keymap.c index d14a692a8980..29f19349cc05 100644 --- a/keyboards/mixi/keymaps/default/keymap.c +++ b/keyboards/mixi/keymaps/default/keymap.c @@ -59,13 +59,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_BLUE} + {0, RGBLIGHT_LED_COUNT, HSV_BLUE} ); const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_GREEN} + {0, RGBLIGHT_LED_COUNT, HSV_GREEN} ); const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_RED} + {0, RGBLIGHT_LED_COUNT, HSV_RED} ); const rgblight_segment_t* const PROGMEM _rgb_layers[] = diff --git a/keyboards/mixi/keymaps/via/keymap.c b/keyboards/mixi/keymaps/via/keymap.c index ef5aace88899..adcf44850388 100644 --- a/keyboards/mixi/keymaps/via/keymap.c +++ b/keyboards/mixi/keymaps/via/keymap.c @@ -76,13 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_BLUE} + {0, RGBLIGHT_LED_COUNT, HSV_BLUE} ); const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_GREEN} + {0, RGBLIGHT_LED_COUNT, HSV_GREEN} ); const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS( - {0, RGBLED_NUM, HSV_RED} + {0, RGBLIGHT_LED_COUNT, HSV_RED} ); const rgblight_segment_t* const PROGMEM _rgb_layers[] = diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c index d07f19352660..71409bf939e4 100644 --- a/keyboards/mlego/m48/keymaps/default/keymap.c +++ b/keyboards/mlego/m48/keymaps/default/keymap.c @@ -26,10 +26,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c index 91649631dc34..d180c3e8ac12 100644 --- a/keyboards/mlego/m48/keymaps/via/keymap.c +++ b/keyboards/mlego/m48/keymaps/via/keymap.c @@ -26,10 +26,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m60/keymaps/default/keymap.c b/keyboards/mlego/m60/keymaps/default/keymap.c index dbfcad315254..d997bd2dc062 100644 --- a/keyboards/mlego/m60/keymaps/default/keymap.c +++ b/keyboards/mlego/m60/keymaps/default/keymap.c @@ -26,10 +26,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m60/keymaps/via/keymap.c b/keyboards/mlego/m60/keymaps/via/keymap.c index 8d0cddae80ff..fc3ab612d098 100644 --- a/keyboards/mlego/m60/keymaps/via/keymap.c +++ b/keyboards/mlego/m60/keymaps/via/keymap.c @@ -26,10 +26,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m60_split/keymaps/default/keymap.c b/keyboards/mlego/m60_split/keymaps/default/keymap.c index 2f51794c1c7c..506aa45f300f 100644 --- a/keyboards/mlego/m60_split/keymaps/default/keymap.c +++ b/keyboards/mlego/m60_split/keymaps/default/keymap.c @@ -29,10 +29,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m60_split/keymaps/via/keymap.c b/keyboards/mlego/m60_split/keymaps/via/keymap.c index 756639bfd9c3..29270b0425bd 100644 --- a/keyboards/mlego/m60_split/keymaps/via/keymap.c +++ b/keyboards/mlego/m60_split/keymaps/via/keymap.c @@ -29,10 +29,10 @@ enum layer_names { #ifdef RGBLIGHT_ENABLE -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); #endif diff --git a/keyboards/mlego/m65/m65.c b/keyboards/mlego/m65/m65.c index 12ea866f1e52..506ac2e30d9f 100644 --- a/keyboards/mlego/m65/m65.c +++ b/keyboards/mlego/m65/m65.c @@ -9,10 +9,10 @@ static bool toggle_rse = false; #if defined(RGBLIGHT_ENABLE) -const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_OFF}); -const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_AZURE}); -const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CORAL}); -const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED}); +const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_OFF}); +const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_AZURE}); +const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CORAL}); +const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer); diff --git a/keyboards/momokai/aurora/config.h b/keyboards/momokai/aurora/config.h index 8fd619bdbf2f..2d3d707796d5 100644 --- a/keyboards/momokai/aurora/config.h +++ b/keyboards/momokai/aurora/config.h @@ -23,7 +23,7 @@ #define RGB_MATRIX_LED_COUNT 6 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/momokai/tap_duo/config.h b/keyboards/momokai/tap_duo/config.h index 153f61169084..881753040813 100644 --- a/keyboards/momokai/tap_duo/config.h +++ b/keyboards/momokai/tap_duo/config.h @@ -34,7 +34,7 @@ #define RGB_MATRIX_LED_COUNT 4 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/momokai/tap_trio/config.h b/keyboards/momokai/tap_trio/config.h index a4a21d3f24e3..d1779ca496a7 100644 --- a/keyboards/momokai/tap_trio/config.h +++ b/keyboards/momokai/tap_trio/config.h @@ -24,7 +24,7 @@ #define RGB_MATRIX_LED_COUNT 5 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/monsgeek/m1/config.h b/keyboards/monsgeek/m1/config.h index 3963f1fbaec3..cd17ce67ce4e 100644 --- a/keyboards/monsgeek/m1/config.h +++ b/keyboards/monsgeek/m1/config.h @@ -42,7 +42,7 @@ #define DRIVER_2_LED_TOTAL 21 #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + 22) -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_TRIGGER_ON_KEYDOWN #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c index b85adbc0bf9f..a0375b2c0f7f 100644 --- a/keyboards/monsgeek/m1/m1.c +++ b/keyboards/monsgeek/m1/m1.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/monsgeek/m3/config.h b/keyboards/monsgeek/m3/config.h index 02c0fc6abc6a..d30ef18777b9 100644 --- a/keyboards/monsgeek/m3/config.h +++ b/keyboards/monsgeek/m3/config.h @@ -43,6 +43,6 @@ #define RGB_MATRIX_LED_COUNT 87 #define RGB_TRIGGER_ON_KEYDOWN -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c index b7e197e6ace7..2bdba9fa314f 100644 --- a/keyboards/monsgeek/m3/m3.c +++ b/keyboards/monsgeek/m3/m3.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/monsgeek/m5/config.h b/keyboards/monsgeek/m5/config.h index 20c69b34f14a..cd976d262baa 100644 --- a/keyboards/monsgeek/m5/config.h +++ b/keyboards/monsgeek/m5/config.h @@ -43,7 +43,7 @@ #define RGB_MATRIX_LED_COUNT 108 #define RGB_TRIGGER_ON_KEYDOWN -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c index 83dd4b6b79eb..2e244542ef5d 100644 --- a/keyboards/monsgeek/m5/m5.c +++ b/keyboards/monsgeek/m5/m5.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/monsgeek/m6/config.h b/keyboards/monsgeek/m6/config.h index f01b8abb681b..7987cf78be70 100644 --- a/keyboards/monsgeek/m6/config.h +++ b/keyboards/monsgeek/m6/config.h @@ -39,7 +39,7 @@ #define RGB_MATRIX_LED_COUNT 92 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_TRIGGER_ON_KEYDOWN #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/monsgeek/m6/m6.c b/keyboards/monsgeek/m6/m6.c index dc20a9916f21..3d0a60eb0db9 100644 --- a/keyboards/monsgeek/m6/m6.c +++ b/keyboards/monsgeek/m6/m6.c @@ -17,7 +17,7 @@ #include "quantum.h" // clang-format off #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h index 770c20f01947..e0eb2b1db7df 100644 --- a/keyboards/monstargear/xo87/rgb/config.h +++ b/keyboards/monstargear/xo87/rgb/config.h @@ -17,7 +17,7 @@ #pragma once #define RGB_MATRIX_LED_COUNT 110 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255. #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h b/keyboards/monstargear/xo87/rgb/keymaps/default/config.h deleted file mode 100644 index 910a014d7974..000000000000 --- a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2021 datafx - * - * 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 \ No newline at end of file diff --git a/keyboards/monstargear/xo87/solderable/solderable.h b/keyboards/monstargear/xo87/solderable/solderable.h index 2758a3a3ffc3..70e8a6c8d5e8 100644 --- a/keyboards/monstargear/xo87/solderable/solderable.h +++ b/keyboards/monstargear/xo87/solderable/solderable.h @@ -43,11 +43,11 @@ typedef struct{ rgb_; #define colorAGSize 10 -#define colorBGSize RGBLED_NUM-10 +#define colorBGSize RGBLIGHT_LED_COUNT-10 typedef struct{ rgb_ colorAG[colorAGSize]; - rgb_ colorBG[RGBLED_NUM-10]; + rgb_ colorBG[RGBLIGHT_LED_COUNT-10]; } backLedRgbG_; diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h index 3ceb45f54dc3..76e9906d3d3a 100644 --- a/keyboards/moonlander/config.h +++ b/keyboards/moonlander/config.h @@ -75,7 +75,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c index 5b52ba70314f..dad795d3150f 100644 --- a/keyboards/moonlander/moonlander.c +++ b/keyboards/moonlander/moonlander.c @@ -172,7 +172,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) { #ifdef RGB_MATRIX_ENABLE // clang-format off -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mt/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c index 7a6831f6d0b4..42e6a48dc2a7 100644 --- a/keyboards/mt/mt64rgb/mt64rgb.c +++ b/keyboards/mt/mt64rgb/mt64rgb.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c index fd4811e63a37..4dd24c30b22c 100644 --- a/keyboards/mt/mt84/mt84.c +++ b/keyboards/mt/mt84/mt84.c @@ -16,7 +16,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/nek_type_a/matrix.c b/keyboards/nek_type_a/matrix.c index 76613947f615..edc5e5c66dee 100644 --- a/keyboards/nek_type_a/matrix.c +++ b/keyboards/nek_type_a/matrix.c @@ -34,7 +34,7 @@ along with this program. If not, see . #include "matrix.h" #include "timer.h" #include "mcp23017.h" -#include "outputselect.h" +#include "bluetooth.h" /* Set 0 if debouncing isn't needed */ @@ -136,7 +136,7 @@ void matrix_init(void) { } matrix_init_kb(); - set_output(OUTPUT_AUTO); + set_send_output(SEND_OUTPUT_AUTO); } uint8_t matrix_scan(void) diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index 9def73d6a44a..31f88a71f9b9 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -20,6 +20,7 @@ #include "quantum.h" #include "i2c_master.h" #include "drivers/led/issi/is31fl3731.h" +#include "ws2812.h" enum { SELF_TESTING, @@ -336,7 +337,7 @@ void housekeeping_task_kb(void) housekeeping_task_user(); } -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { if (rgb_state.state != NORMAL) return; @@ -353,6 +354,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) ws2812_setleds(leds, 4); } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; + bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json index 12a979ab117c..3b74e9609a9a 100644 --- a/keyboards/neson_design/700e/info.json +++ b/keyboards/neson_design/700e/info.json @@ -20,6 +20,7 @@ "saturation_steps": 8, "brightness_steps": 8, "led_count": 68, + "driver": "custom", "animations": { "breathing": true, "rainbow_mood": true, diff --git a/keyboards/neson_design/700e/rules.mk b/keyboards/neson_design/700e/rules.mk index 5650ed1fee74..dd1db38babf5 100644 --- a/keyboards/neson_design/700e/rules.mk +++ b/keyboards/neson_design/700e/rules.mk @@ -12,4 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow NO_USB_STARTUP_CHECK = yes QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c +WS2812_DRIVER_REQUIRED = yes I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json index 3f383b4f8fe3..c48824d80f35 100644 --- a/keyboards/neson_design/n6/info.json +++ b/keyboards/neson_design/n6/info.json @@ -23,6 +23,7 @@ "saturation_steps": 8, "brightness_steps": 8, "led_count": 65, + "driver": "custom", "max_brightness": 192, "animations": { "breathing": true, diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index 38b634eeb737..b878b9368dd1 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -20,6 +20,7 @@ #include "quantum.h" #include "i2c_master.h" #include "drivers/led/issi/is31fl3731.h" +#include "ws2812.h" enum { SELF_TESTING, @@ -338,7 +339,7 @@ void housekeeping_task_kb(void) housekeeping_task_user(); } -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { if (rgb_state.state != NORMAL) return; @@ -348,6 +349,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 1); } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; + bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); diff --git a/keyboards/neson_design/n6/rules.mk b/keyboards/neson_design/n6/rules.mk index a3e4abe6cd90..4c9ce4535265 100644 --- a/keyboards/neson_design/n6/rules.mk +++ b/keyboards/neson_design/n6/rules.mk @@ -11,4 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c +WS2812_DRIVER_REQUIRED = yes I2C_DRIVER_REQUIRED = yes diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json index 477ac3ba7cb6..1c86d9a1ae83 100644 --- a/keyboards/neson_design/nico/info.json +++ b/keyboards/neson_design/nico/info.json @@ -25,7 +25,8 @@ "pin": "B0" }, "rgblight": { - "led_count": 5 + "led_count": 5, + "driver": "custom" }, "url": "", "usb": { diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c index b4d15777b7f2..bf8eeb87dd3b 100644 --- a/keyboards/neson_design/nico/nico.c +++ b/keyboards/neson_design/nico/nico.c @@ -18,6 +18,7 @@ */ #include "quantum.h" +#include "ws2812.h" #ifdef RGBLIGHT_ENABLE static bool alert = false; @@ -53,20 +54,20 @@ void housekeeping_task_kb(void) alert = !alert; last_ticks = timer_read(); } - ws2812_setleds(led, RGBLED_NUM); + ws2812_setleds(led, RGBLIGHT_LED_COUNT); } else { if (backup) { led[4].r = caps_led.r; led[4].g = caps_led.g; led[4].b = caps_led.b; backup = false; - ws2812_setleds(led, RGBLED_NUM); + ws2812_setleds(led, RGBLIGHT_LED_COUNT); } } housekeeping_task_user(); } -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) +void setleds_custom(rgb_led_t *start_led, uint16_t num_leds) { start_led[2].r = start_led[0].r; start_led[2].g = start_led[0].g; @@ -79,7 +80,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) uint8_t tmp = start_led[4].g; start_led[4].g = start_led[4].r; start_led[4].r = tmp; - ws2812_setleds(start_led, RGBLED_NUM); + ws2812_setleds(start_led, RGBLIGHT_LED_COUNT); } +const rgblight_driver_t rgblight_driver = { + .setleds = setleds_custom, +}; #endif \ No newline at end of file diff --git a/keyboards/neson_design/nico/rules.mk b/keyboards/neson_design/nico/rules.mk index 6e7633bfe015..9a696492896d 100644 --- a/keyboards/neson_design/nico/rules.mk +++ b/keyboards/neson_design/nico/rules.mk @@ -1 +1 @@ -# This file intentionally left blank +WS2812_DRIVER_REQUIRED = yes diff --git a/keyboards/newgame40/post_config.h b/keyboards/newgame40/post_config.h index 247178beec9e..7ac270c93210 100644 --- a/keyboards/newgame40/post_config.h +++ b/keyboards/newgame40/post_config.h @@ -1,14 +1,14 @@ #pragma once #ifndef IOS_DEVICE_ENABLE -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 255 # else # define RGBLIGHT_LIMIT_VAL 130 # endif # define RGBLIGHT_VAL_STEP 17 #else -# if RGBLED_NUM <= 6 +# if RGBLIGHT_LED_COUNT <= 6 # define RGBLIGHT_LIMIT_VAL 90 # else # define RGBLIGHT_LIMIT_VAL 45 diff --git a/keyboards/novelkeys/nk20/config.h b/keyboards/novelkeys/nk20/config.h index 55d8b53e83bd..2c53f2d80008 100644 --- a/keyboards/novelkeys/nk20/config.h +++ b/keyboards/novelkeys/nk20/config.h @@ -27,7 +27,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/novelkeys/nk65b/config.h b/keyboards/novelkeys/nk65b/config.h index e236351344f1..a428ed2c8de4 100755 --- a/keyboards/novelkeys/nk65b/config.h +++ b/keyboards/novelkeys/nk65b/config.h @@ -27,7 +27,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/novelkeys/nk87b/config.h b/keyboards/novelkeys/nk87b/config.h index a0bbb315d40d..7b8ada06b1f7 100644 --- a/keyboards/novelkeys/nk87b/config.h +++ b/keyboards/novelkeys/nk87b/config.h @@ -27,7 +27,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 87 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/novelkeys/nk_plus/config.h b/keyboards/novelkeys/nk_plus/config.h index 2d3322bab2a5..38b0ab195d5b 100644 --- a/keyboards/novelkeys/nk_plus/config.h +++ b/keyboards/novelkeys/nk_plus/config.h @@ -26,7 +26,7 @@ along with this program. If not, see . #define WS2812_DMA_CHANNEL 3 #define RGB_MATRIX_LED_COUNT 76 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/null/st110r2/info.json b/keyboards/null/st110r2/info.json new file mode 100644 index 000000000000..b83e9746e13c --- /dev/null +++ b/keyboards/null/st110r2/info.json @@ -0,0 +1,596 @@ +{ + "manufacturer": "[null]", + "keyboard_name": "ST110 r2", + "maintainer": "user176176", + "bootloader": "halfkay", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "D0", + "compose": "B5", + "kana": "B4", + "num_lock": "B7", + "scroll_lock": "D1" + }, + "matrix_pins": { + "cols": ["F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "C0", "C1", "C2", "C3", "C4", "C5", "C6"], + "rows": ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"] + }, + "processor": "at90usb1286", + "url": "https://null-src.com/posts/nkbm-st110r2/post.php", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "community_layouts": ["fullsize_ansi", "fullsize_iso", "fullsize_jis"], + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0}, + {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0}, + {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0}, + {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25}, + {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25}, + {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25}, + {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25}, + {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25}, + {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25}, + {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15}, + {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15}, + {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15}, + {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15}, + {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15}, + {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15}, + {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25}, + {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25}, + {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25}, + {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25}, + {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25}, + {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25}, + {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2}, + {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 12.75, "y": 3.25, "w": 2.25}, + {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25}, + {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25}, + {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25}, + {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25}, + {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75}, + {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25}, + {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25}, + {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25}, + {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25}, + {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25}, + {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.5, "y": 5.25}, + {"label": "K54/5E/KC_NO", "matrix": [5, 4], "x": 4.5, "y": 5.25, "w": 1.75}, + {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 6.25, "y": 5.25, "w": 1.25}, + {"label": "K57/5H/KC_NO", "matrix": [5, 7], "x": 7.5, "y": 5.25, "w": 1.75}, + {"label": "K58/5I/KC_NO", "matrix": [5, 8], "x": 9.25, "y": 5.25}, + {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.25, "y": 5.25, "w": 1.25}, + {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.25}, + {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25}, + {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25}, + {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25}, + {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25}, + {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2}, + {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25} + ] + }, + "LAYOUT_fullsize_ansi": { + "layout": [ + {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0}, + {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0}, + {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0}, + {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 13, "y": 1.25, "w": 2}, + {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25}, + {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25}, + {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25}, + {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25}, + {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25}, + {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25}, + {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15}, + {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15}, + {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15}, + {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15}, + {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15}, + {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15}, + {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "K3C/3M/KC_NUBS", "matrix": [3, 12], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25}, + {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25}, + {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25}, + {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25}, + {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25}, + {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25}, + {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2}, + {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 12.75, "y": 3.25, "w": 2.25}, + {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25}, + {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25}, + {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25}, + {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25}, + {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25}, + {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25}, + {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25}, + {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "K5D/5N/KC_APP", "matrix": [5, 13], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "K5E/5O/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "K6A/6K/KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25}, + {"label": "K6B/6L/KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25}, + {"label": "K6C/6M/KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25}, + {"label": "K7D/7N/KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2}, + {"label": "K7E/7O/KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25} + ] + }, + "LAYOUT_fullsize_iso": { + "layout": [ + {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0}, + {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0}, + {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0}, + {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 13, "y": 1.25, "w": 2}, + {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25}, + {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25}, + {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25}, + {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25}, + {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25}, + {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25}, + {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15}, + {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15}, + {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15}, + {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15}, + {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15}, + {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15}, + {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25}, + {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25}, + {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25}, + {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25}, + {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25}, + {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25}, + {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2}, + {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25}, + {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25}, + {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25}, + {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25}, + {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25}, + {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25}, + {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25}, + {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "K5D/5N/KC_APP", "matrix": [5, 13], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "K5E/5O/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "K6A/6K/KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25}, + {"label": "K6B/6L/KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25}, + {"label": "K6C/6M/KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25}, + {"label": "K7D/7N/KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2}, + {"label": "K7E/7O/KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25} + ] + }, + "LAYOUT_fullsize_jis": { + "layout": [ + {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0}, + {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0}, + {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0}, + {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25}, + {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25}, + {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25}, + {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25}, + {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25}, + {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25}, + {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15}, + {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15}, + {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15}, + {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15}, + {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15}, + {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15}, + {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25}, + {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25}, + {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25}, + {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25}, + {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25}, + {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25}, + {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2}, + {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25}, + {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25}, + {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25}, + {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25}, + {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75}, + {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25}, + {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25}, + {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25}, + {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25}, + {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 1.25}, + {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 5, "y": 5.25, "w": 3.25}, + {"label": "K57/5H/KC_INT4", "matrix": [5, 7], "x": 8.25, "y": 5.25, "w": 1.25}, + {"label": "K58/5I/KC_INT2", "matrix": [5, 8], "x": 9.5, "y": 5.25, "w": 1.25}, + {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.75, "y": 5.25}, + {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.75, "y": 5.25}, + {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25}, + {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25}, + {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25}, + {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25}, + {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2}, + {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"label": "K00/0A/KC_ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "K02/0C/KC_F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "K03/0D/KC_F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "K04/0E/KC_F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "K05/0F/KC_F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "K06/0G/KC_F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "K07/0H/KC_F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "K08/0I/KC_F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "K09/0J/KC_F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "K0B/0L/KC_F9", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "K0C/0M/KC_F10", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "K0D/0N/KC_F11", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "K0E/0O/KC_F12", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "K60/6A/KC_PSCR", "matrix": [6, 0], "x": 15.25, "y": 0}, + {"label": "K61/6B/KC_SCRL", "matrix": [6, 1], "x": 16.25, "y": 0}, + {"label": "K62/6C/KC_PAUS", "matrix": [6, 2], "x": 17.25, "y": 0}, + {"label": "K10/1A/KC_GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "K11/1B/KC_1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "K12/1C/KC_2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "K13/1D/KC_3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "K14/1E/KC_4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "K15/1F/KC_5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "K16/1G/KC_6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "K17/1H/KC_7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "K18/1I/KC_8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "K19/1J/KC_9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "K1A/1K/KC_0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "K1B/1L/KC_MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "K1C/1M/KC_EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "K1D/1N/KC_JYEN", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "K1E/1O/KC_BSPC", "matrix": [1, 14], "x": 14, "y": 1.25}, + {"label": "K63/6D/KC_INS", "matrix": [6, 3], "x": 15.25, "y": 1.25}, + {"label": "K64/6E/KC_HOME", "matrix": [6, 4], "x": 16.25, "y": 1.25}, + {"label": "K65/6F/KC_PGUP", "matrix": [6, 5], "x": 17.25, "y": 1.25}, + {"label": "K6D/6N/KC_NUM", "matrix": [6, 13], "x": 18.5, "y": 1.25}, + {"label": "K6E/6O/KC_PSLS", "matrix": [6, 14], "x": 19.5, "y": 1.25}, + {"label": "K70/7A/KC_PAST", "matrix": [7, 0], "x": 20.5, "y": 1.25}, + {"label": "K71/7B/KC_PMNS", "matrix": [7, 1], "x": 21.5, "y": 1.25}, + {"label": "K20/2A/KC_TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "K21/2B/KC_Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "K22/2C/KC_W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "K23/2D/KC_E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "K24/2E/KC_R", "matrix": [2, 4], "x": 4.5, "y": 2.15}, + {"label": "K25/2F/KC_T", "matrix": [2, 5], "x": 5.5, "y": 2.15}, + {"label": "K26/2G/KC_Y", "matrix": [2, 6], "x": 6.5, "y": 2.15}, + {"label": "K27/2H/KC_U", "matrix": [2, 7], "x": 7.5, "y": 2.15}, + {"label": "K28/2I/KC_I", "matrix": [2, 8], "x": 8.5, "y": 2.15}, + {"label": "K29/2J/KC_O", "matrix": [2, 9], "x": 9.5, "y": 2.15}, + {"label": "K2A/2K/KC_P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "K2B/2L/KC_LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "K2C/2M/KC_RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "K66/6G/KC_DEL", "matrix": [6, 6], "x": 15.25, "y": 2.25}, + {"label": "K67/6H/KC_END", "matrix": [6, 7], "x": 16.25, "y": 2.25}, + {"label": "K68/6I/KC_PGDN", "matrix": [6, 8], "x": 17.25, "y": 2.25}, + {"label": "K72/7G/KC_P7", "matrix": [7, 2], "x": 18.5, "y": 2.25}, + {"label": "K73/7D/KC_P8", "matrix": [7, 3], "x": 19.5, "y": 2.25}, + {"label": "K74/7E/KC_P9", "matrix": [7, 4], "x": 20.5, "y": 2.25}, + {"label": "K75/7F/KC_PPLS", "matrix": [7, 5], "x": 21.5, "y": 2.25, "h": 2}, + {"label": "K30/3A/KC_CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "K31/3B/KC_A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "K32/3C/KC_S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "K33/3D/KC_D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "K34/3E/KC_F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "K35/3F/KC_G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "K36/3G/KC_H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "K37/3H/KC_J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K38/3I/KC_K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "K39/3J/KC_L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "K3A/3K/KC_SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "K3B/3L/KC_QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "K3C/3M/KC_NUHS", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "K3E/3O/KC_ENT", "matrix": [3, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"label": "K76/7G/KC_P4", "matrix": [7, 6], "x": 18.5, "y": 3.25}, + {"label": "K77/7H/KC_P5", "matrix": [7, 7], "x": 19.5, "y": 3.25}, + {"label": "K78/7I/KC_P6", "matrix": [7, 8], "x": 20.5, "y": 3.25}, + {"label": "K40/4A/KC_LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "K41/4B/KC_NUBS", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "K42/4C/KC_Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "K43/4D/KC_X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "K44/4E/KC_C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "K45/4F/KC_V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "K46/4G/KC_B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "K47/4H/KC_N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "K48/4I/KC_M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "K49/4J/KC_COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "K4A/4K/KC_DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "K4B/4L/KC_SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "K4C/4M/KC_ROPT", "matrix": [4, 12], "x": 12.25, "y": 4.25}, + {"label": "K4D/4N/KC_RSFT", "matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75}, + {"label": "K69/6J/KC_UP", "matrix": [6, 9], "x": 16.25, "y": 4.25}, + {"label": "K79/7J/KC_P1", "matrix": [7, 9], "x": 18.5, "y": 4.25}, + {"label": "K7A/7K/KC_P2", "matrix": [7, 10], "x": 19.5, "y": 4.25}, + {"label": "K7B/7L/KC_P3", "matrix": [7, 11], "x": 20.5, "y": 4.25}, + {"label": "K7C/7M/KC_PENT", "matrix": [7, 12], "x": 21.5, "y": 4.25, "h": 2}, + {"label": "K50/5A/KC_LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "K51/5B/KC_LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25}, + {"label": "K52/5C/KC_LALT", "matrix": [5, 2], "x": 2.25, "y": 5.25, "w": 1.25}, + {"label": "K53/5D/KC_MHEN", "matrix": [5, 3], "x": 3.5, "y": 5.25}, + {"label": "K54/5E/KC_NO", "matrix": [5, 4], "x": 4.5, "y": 5.25, "w": 1.75}, + {"label": "K55/5F/KC_SPC", "matrix": [5, 5], "x": 6.25, "y": 5.25, "w": 1.25}, + {"label": "K57/5H/KC_NO", "matrix": [5, 7], "x": 7.5, "y": 5.25, "w": 1.75}, + {"label": "K58/5I/KC_NO", "matrix": [5, 8], "x": 9.25, "y": 5.25}, + {"label": "K59/5J/KC_RALT", "matrix": [5, 9], "x": 10.25, "y": 5.25, "w": 1.25}, + {"label": "K5A/5K/KC_RGUI", "matrix": [5, 10], "x": 11.5, "y": 5.25, "w": 1.25}, + {"label": "K5D/5L/KC_APP", "matrix": [5, 13], "x": 12.75, "y": 5.25}, + {"label": "K5E/5M/KC_RCTL", "matrix": [5, 14], "x": 13.75, "y": 5.25, "w": 1.25}, + {"label": "K6A//KC_LEFT", "matrix": [6, 10], "x": 15.25, "y": 5.25}, + {"label": "K6B//KC_DOWN", "matrix": [6, 11], "x": 16.25, "y": 5.25}, + {"label": "K6C//KC_RGHT", "matrix": [6, 12], "x": 17.25, "y": 5.25}, + {"label": "K7D//KC_P0", "matrix": [7, 13], "x": 18.5, "y": 5.25, "w": 2}, + {"label": "K7E//KC_PDOT", "matrix": [7, 14], "x": 20.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/null/st110r2/keymaps/ansi_std/keymap.c b/keyboards/null/st110r2/keymaps/ansi_std/keymap.c new file mode 100644 index 000000000000..b350c1c28ab4 --- /dev/null +++ b/keyboards/null/st110r2/keymaps/ansi_std/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT_fullsize_ansi( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/keyboards/null/st110r2/keymaps/default/keymap.c b/keyboards/null/st110r2/keymaps/default/keymap.c new file mode 100644 index 000000000000..e16301280787 --- /dev/null +++ b/keyboards/null/st110r2/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│<|>│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \_│ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┼───┴┬──┴┬──┴───┼───┼───┴──┬┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI│Alt │MHN│Space │SPC│Space │HNK│KNA │Alt │App │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴───┴────┴───┴──────┴───┴──────┴───┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/keyboards/null/st110r2/keymaps/iso_default/keymap.c b/keyboards/null/st110r2/keymaps/iso_default/keymap.c new file mode 100644 index 000000000000..13f31bbf1d15 --- /dev/null +++ b/keyboards/null/st110r2/keymaps/iso_default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│<|>│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \_│ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┼───┴┬──┴┬──┴───┼───┼───┴──┬┴──┬┴───┼───┴┬──┴─┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI│Alt │MHN│Space │SPC│Space │HNK│KNA │Alt │App │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴───┴────┴───┴──────┴───┴──────┴───┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_SPC, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/keyboards/null/st110r2/keymaps/iso_std/keymap.c b/keyboards/null/st110r2/keymaps/iso_std/keymap.c new file mode 100644 index 000000000000..a1873be5c80a --- /dev/null +++ b/keyboards/null/st110r2/keymaps/iso_std/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT_fullsize_iso( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/keyboards/null/st110r2/keymaps/jis_std/keymap.c b/keyboards/null/st110r2/keymaps/jis_std/keymap.c new file mode 100644 index 000000000000..95c76bfb5595 --- /dev/null +++ b/keyboards/null/st110r2/keymaps/jis_std/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Scr│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ZHK│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │Bsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Eisu │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │ │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │ Shft │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴──┬┴───┴───┴───┼───┴┬──┴─┬─┴─┬─┴─┬─┴─┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │Mhen│ Space │Henk│Kana│Alt│GUI│App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────┴────────────┴────┴────┴───┴───┴───┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [0] = LAYOUT_fullsize_jis( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, + + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; diff --git a/keyboards/null/st110r2/readme.md b/keyboards/null/st110r2/readme.md new file mode 100644 index 000000000000..c4959b4003ba --- /dev/null +++ b/keyboards/null/st110r2/readme.md @@ -0,0 +1,31 @@ +# null/st110r2 + +null ST110r2 is a custom PCB/keyboard project that supports multiple layouts and is built on top of the Filco and the clones alike. + +![st110r2_zoom](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r21-both1.png) +![st110r2_full](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r21-both3.png) + +* Keyboard Maintainer: [user176176](https://github.com/user176176) +* Hardware Supported: [null] 最高タイプ (SaikouType) NKBM-ST110r2.x keyboard PCBs with Teensy 2.0++. +* Hardware Availability: [NKBM-ST110r2 - null-src.com](https://null-src.com/posts/nkbm-st110r2/post.php) + +Make example for this keyboard (after setting up your build environment): + + make null/st110r2:default + +Flashing example for this keyboard: + + make null/st110r2:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the reset button on Teensy +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + +![st110r2_pcb](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r2_PCB.jpg) +![st110r2_build](https://s3.amazonaws.com/null-src/images/posts/nkbm-st110r2/NKBM-ST110r2.1_rosewill_top.jpg) diff --git a/keyboards/null/st110r2/rules.mk b/keyboards/null/st110r2/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/null/st110r2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c index b71f9119ef40..4e2f7dd4d6e2 100644 --- a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c +++ b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c @@ -112,7 +112,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else { rgblight_timer_disable(); uint8_t val = rgblight_get_val(); - rgblight_sethsv_range(255, 255, val, 0, RGBLED_NUM-1); + rgblight_sethsv_range(255, 255, val, 0, RGBLIGHT_LED_COUNT-1); } deafened = !deafened; } diff --git a/keyboards/opendeck/32/rev1/config.h b/keyboards/opendeck/32/rev1/config.h index d5e824fdfb71..c8cce9b63067 100644 --- a/keyboards/opendeck/32/rev1/config.h +++ b/keyboards/opendeck/32/rev1/config.h @@ -18,7 +18,7 @@ // RGB matrix #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND #define RGB_MATRIX_LED_COUNT (4 * 8 * 3) -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_SPIRAL #define RGB_MATRIX_DISABLE_KEYCODES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/opendeck/32/rev1/rev1.c b/keyboards/opendeck/32/rev1/rev1.c index 0b062ecd3804..da9e6569f21b 100644 --- a/keyboards/opendeck/32/rev1/rev1.c +++ b/keyboards/opendeck/32/rev1/rev1.c @@ -17,7 +17,7 @@ #include "rev1.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h index 8599c084d260..28d6e62285e6 100644 --- a/keyboards/owlab/voice65/hotswap/config.h +++ b/keyboards/owlab/voice65/hotswap/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define USE_I2CV2 # define RGB_MATRIX_DISABLE_KEYCODES -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/owlab/voice65/hotswap/hotswap.c b/keyboards/owlab/voice65/hotswap/hotswap.c index b4c0c02c323b..107952d3706f 100644 --- a/keyboards/owlab/voice65/hotswap/hotswap.c +++ b/keyboards/owlab/voice65/hotswap/hotswap.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/ {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1-1 */ {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB2-2 */ diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h index 9533e00a026d..6fba9a27cf7f 100644 --- a/keyboards/owlab/voice65/soldered/config.h +++ b/keyboards/owlab/voice65/soldered/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define USE_I2CV2 # define RGB_MATRIX_DISABLE_KEYCODES -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/owlab/voice65/soldered/soldered.c b/keyboards/owlab/voice65/soldered/soldered.c index 301a5adc593c..eb3b68515a99 100644 --- a/keyboards/owlab/voice65/soldered/soldered.c +++ b/keyboards/owlab/voice65/soldered/soldered.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/ {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1-1 */ {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB2-2 */ diff --git a/keyboards/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h index ede3d42de5ff..1ccc039b12c6 100644 --- a/keyboards/paprikman/albacore/config.h +++ b/keyboards/paprikman/albacore/config.h @@ -19,7 +19,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_COUNT 8 - #define RGB_DISABLE_WHEN_USB_SUSPENDED + #define RGB_MATRIX_SLEEP #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define DISABLE_RGB_MATRIX_BAND_SAT diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h index 062ba8102e0f..a18dd8b6cf4b 100644 --- a/keyboards/percent/canoe_gen2/config.h +++ b/keyboards/percent/canoe_gen2/config.h @@ -28,7 +28,7 @@ along with this program. If not, see . #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h index 8724fc556d6c..a4f9ce84d916 100644 --- a/keyboards/phase_studio/titan65/hotswap/config.h +++ b/keyboards/phase_studio/titan65/hotswap/config.h @@ -18,5 +18,5 @@ #define RGB_MATRIX_LED_COUNT 67 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/phentech/rpk_001/config.h b/keyboards/phentech/rpk_001/config.h index baa207f065e7..ad95ed6f1088 100644 --- a/keyboards/phentech/rpk_001/config.h +++ b/keyboards/phentech/rpk_001/config.h @@ -18,7 +18,7 @@ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 /* RGB Matrix */ -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/phentech/rpk_001/rpk_001.c b/keyboards/phentech/rpk_001/rpk_001.c index 9f1a11875969..b24c0c6c0e77 100644 --- a/keyboards/phentech/rpk_001/rpk_001.c +++ b/keyboards/phentech/rpk_001/rpk_001.c @@ -7,7 +7,7 @@ // clang-format off -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/pico/65keys/keymaps/default/config.h b/keyboards/pico/65keys/keymaps/default/config.h deleted file mode 100644 index 5cbe7609a3f4..000000000000 --- a/keyboards/pico/65keys/keymaps/default/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2019 Kumao Kobo - -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 diff --git a/keyboards/pico/65keys/keymaps/jis/config.h b/keyboards/pico/65keys/keymaps/jis/config.h deleted file mode 100644 index 5cbe7609a3f4..000000000000 --- a/keyboards/pico/65keys/keymaps/jis/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2019 Kumao Kobo - -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 diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index 93d0823714ca..f8ecfaf15269 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -56,7 +56,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c index dfadb820ae47..532558a29419 100644 --- a/keyboards/planck/ez/ez.c +++ b/keyboards/planck/ez/ez.c @@ -21,7 +21,7 @@ keyboard_config_t keyboard_config; #ifdef RGB_MATRIX_ENABLE -const is31fl3737_led_t PROGMEM g_is31fl3737_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c index 828319c66d21..44bd89dc1166 100644 --- a/keyboards/planck/light/light.c +++ b/keyboards/planck/light/light.c @@ -16,7 +16,7 @@ #include "quantum.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h index a0a997f860fe..439284aa47dc 100644 --- a/keyboards/planck/rev6/config.h +++ b/keyboards/planck/rev6/config.h @@ -51,4 +51,4 @@ #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 #define WS2812_DMA_CHANNEL 2 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h index a0a997f860fe..439284aa47dc 100644 --- a/keyboards/planck/rev6_drop/config.h +++ b/keyboards/planck/rev6_drop/config.h @@ -51,4 +51,4 @@ #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 #define WS2812_DMA_CHANNEL 2 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/planck/rev7/config.h b/keyboards/planck/rev7/config.h index 678cb1d4387f..c4009680a1cb 100644 --- a/keyboards/planck/rev7/config.h +++ b/keyboards/planck/rev7/config.h @@ -30,7 +30,7 @@ #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 #define WS2812_DMA_CHANNEL 2 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* * Feature disable options diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c index 427d1cf04e00..17b8c74b1825 100644 --- a/keyboards/playkbtw/pk64rgb/pk64rgb.c +++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/projectcain/vault35/atmega32u4/info.json b/keyboards/projectcain/vault35/atmega32u4/info.json new file mode 100644 index 000000000000..9acd8ee34d43 --- /dev/null +++ b/keyboards/projectcain/vault35/atmega32u4/info.json @@ -0,0 +1,45 @@ +{ + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "encoder": { + "rotary": [ + {"pin_a": "D7", "pin_b": "D6", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "encoder": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"], + "rows": ["B4", "D4", "B0", "C7"] + }, + "processor": "atmega32u4", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 8, + "led_count": 12, + "saturation_steps": 8, + "sleep": true + }, + "ws2812": { + "pin": "D5" + } +} diff --git a/keyboards/projectcain/vault35/atmega32u4/rules.mk b/keyboards/projectcain/vault35/atmega32u4/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/projectcain/vault35/atmega32u4/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/projectcain/vault35/info.json b/keyboards/projectcain/vault35/info.json index d23c4b2f467a..5662cdbf6b37 100644 --- a/keyboards/projectcain/vault35/info.json +++ b/keyboards/projectcain/vault35/info.json @@ -1,27 +1,22 @@ { - "keyboard_name": "Vault35", "manufacturer": "projectcain", - "url": "", + "keyboard_name": "Vault35", "maintainer": "projectcain", - "usb": { - "vid": "0xFEED", - "pid": "0x6060", - "device_version": "0.0.1" - }, - "matrix_pins": { - "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"], - "rows": ["B4", "D4", "B0", "C7"] - }, "diode_direction": "COL2ROW", - "encoder": { - "rotary": [ - {"pin_a": "D6", "pin_b": "D7", "resolution": 2} - ] + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "url": "https://mechvault.net", + "usb": { + "device_version": "0.0.1", + "pid": "0x6060", + "vid": "0xFEED" }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", "layouts": { - "LAYOUT_split_4space": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -33,8 +28,7 @@ {"matrix": [0, 7], "x": 7, "y": 0}, {"matrix": [0, 8], "x": 8, "y": 0}, {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - + {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, {"matrix": [1, 1], "x": 1.25, "y": 1}, {"matrix": [1, 2], "x": 2.25, "y": 1}, @@ -45,7 +39,6 @@ {"matrix": [1, 7], "x": 7.25, "y": 1}, {"matrix": [1, 8], "x": 8.25, "y": 1}, {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -56,16 +49,16 @@ {"matrix": [2, 7], "x": 7.75, "y": 2}, {"matrix": [2, 8], "x": 8.75, "y": 2}, {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3}, {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, - {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75}, - {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75}, - {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25}, - {"matrix": [3, 7], "x": 8.5, "y": 3} + {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3, "w": 1.5}, + {"matrix": [3, 6], "x": 7.75, "y": 3, "w": 1.25}, + {"matrix": [3, 7], "x": 9, "y": 3} ] }, - "LAYOUT_split_3space": { + "LAYOUT_full_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -77,8 +70,7 @@ {"matrix": [0, 7], "x": 7, "y": 0}, {"matrix": [0, 8], "x": 8, "y": 0}, {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - + {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, {"matrix": [1, 1], "x": 1.25, "y": 1}, {"matrix": [1, 2], "x": 2.25, "y": 1}, @@ -89,7 +81,6 @@ {"matrix": [1, 7], "x": 7.25, "y": 1}, {"matrix": [1, 8], "x": 8.25, "y": 1}, {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -100,11 +91,8 @@ {"matrix": [2, 7], "x": 7.75, "y": 2}, {"matrix": [2, 8], "x": 8.75, "y": 2}, {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3}, - {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6}, {"matrix": [3, 7], "x": 8.5, "y": 3} ] }, @@ -120,8 +108,7 @@ {"matrix": [0, 7], "x": 7, "y": 0}, {"matrix": [0, 8], "x": 8, "y": 0}, {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - + {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, {"matrix": [1, 1], "x": 1.25, "y": 1}, {"matrix": [1, 2], "x": 2.25, "y": 1}, @@ -132,7 +119,6 @@ {"matrix": [1, 7], "x": 7.25, "y": 1}, {"matrix": [1, 8], "x": 8.25, "y": 1}, {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -143,14 +129,13 @@ {"matrix": [2, 7], "x": 7.75, "y": 2}, {"matrix": [2, 8], "x": 8.75, "y": 2}, {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3}, {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 3}, {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 3}, {"matrix": [3, 7], "x": 8.5, "y": 3} ] }, - "LAYOUT_full_space": { + "LAYOUT_split_3space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -162,8 +147,7 @@ {"matrix": [0, 7], "x": 7, "y": 0}, {"matrix": [0, 8], "x": 8, "y": 0}, {"matrix": [0, 9], "x": 9, "y": 0}, - {"matrix": [0, 10], "x": 10, "y": 0}, - + {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0}, {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, {"matrix": [1, 1], "x": 1.25, "y": 1}, {"matrix": [1, 2], "x": 2.25, "y": 1}, @@ -174,7 +158,6 @@ {"matrix": [1, 7], "x": 7.25, "y": 1}, {"matrix": [1, 8], "x": 8.25, "y": 1}, {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -185,9 +168,51 @@ {"matrix": [2, 7], "x": 7.75, "y": 2}, {"matrix": [2, 8], "x": 8.75, "y": 2}, {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25}, - {"matrix": [3, 1], "x": 1.5, "y": 3}, - {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6}, + {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75}, + {"matrix": [3, 7], "x": 8.5, "y": 3} + ] + }, + "LAYOUT_split_4space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75}, + {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75}, + {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25}, {"matrix": [3, 7], "x": 8.5, "y": 3} ] } diff --git a/keyboards/projectcain/vault35/keymaps/default/keymap.c b/keyboards/projectcain/vault35/keymaps/default/keymap.c index 5bb3a622b23c..ec9f3502180e 100644 --- a/keyboards/projectcain/vault35/keymaps/default/keymap.c +++ b/keyboards/projectcain/vault35/keymaps/default/keymap.c @@ -1,19 +1,18 @@ - - /* Copyright 2021 projectcain - * - * 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 . - */ +/* Copyright 2021 projectcain + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #include QMK_KEYBOARD_H enum layers{ @@ -64,3 +63,11 @@ combo_t key_combos[] = { [KL_SLSH] = COMBO(kl_combo, S(KC_SLSH)), [JK_MINUS] = COMBO(jk_combo, KC_MINUS) }; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [BASE] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [NUM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [SYM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/projectcain/vault35/keymaps/default/rules.mk b/keyboards/projectcain/vault35/keymaps/default/rules.mk index ff681299e4e9..cbd8b4aa81ff 100644 --- a/keyboards/projectcain/vault35/keymaps/default/rules.mk +++ b/keyboards/projectcain/vault35/keymaps/default/rules.mk @@ -1 +1,2 @@ -COMBO_ENABLE = yes \ No newline at end of file +COMBO_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/projectcain/vault35/rules.mk b/keyboards/projectcain/vault35/rules.mk index b03b6fa90581..3cf3a331d8d4 100644 --- a/keyboards/projectcain/vault35/rules.mk +++ b/keyboards/projectcain/vault35/rules.mk @@ -1,13 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -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 -ENCODER_ENABLE = yes +DEFAULT_FOLDER = projectcain/vault35/atmega32u4 diff --git a/keyboards/projectd/65/projectd_65_ansi/config.h b/keyboards/projectd/65/projectd_65_ansi/config.h index 8b162a214998..429254c06ee4 100644 --- a/keyboards/projectd/65/projectd_65_ansi/config.h +++ b/keyboards/projectd/65/projectd_65_ansi/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c index 0d6123ac0193..c5b513447b92 100644 --- a/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c +++ b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw20216s_led_t g_aw20216s_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to AW20216S manual for these locations * driver * | R location diff --git a/keyboards/projectd/75/ansi/ansi.c b/keyboards/projectd/75/ansi/ansi.c index 1df76250022d..7dd38569dad3 100644 --- a/keyboards/projectd/75/ansi/ansi.c +++ b/keyboards/projectd/75/ansi/ansi.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/projectd/75/ansi/config.h b/keyboards/projectd/75/ansi/config.h index 3b685c09b822..250abf172494 100644 --- a/keyboards/projectd/75/ansi/config.h +++ b/keyboards/projectd/75/ansi/config.h @@ -21,7 +21,7 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP /* External spi flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 diff --git a/keyboards/quarkeys/z40/config.h b/keyboards/quarkeys/z40/config.h index 84b3e5c03e5d..89c2057b298b 100644 --- a/keyboards/quarkeys/z40/config.h +++ b/keyboards/quarkeys/z40/config.h @@ -18,7 +18,7 @@ #define RGB_MATRIX_LED_COUNT 47 #define RGB_MATRIX_KEYPRESSES // Reacts to Keypresses #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED // Turn off effects when suspended +#define RGB_MATRIX_SLEEP // Turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. // RGB_MATRIX effects diff --git a/keyboards/qwertykeys/qk100/ansi/ansi.c b/keyboards/qwertykeys/qk100/ansi/ansi.c index 87e1b99e1b7e..06f7c11fb2d3 100644 --- a/keyboards/qwertykeys/qk100/ansi/ansi.c +++ b/keyboards/qwertykeys/qk100/ansi/ansi.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS2_SW1, CS3_SW1, CS1_SW1}, /* RGB0-ESC ROW0*/ {0, CS5_SW1, CS6_SW1, CS4_SW1}, /* RGB1-F1 */ {0, CS8_SW1, CS9_SW1, CS7_SW1}, /* RGB2-F2 */ diff --git a/keyboards/qwertykeys/qk100/ansi/config.h b/keyboards/qwertykeys/qk100/ansi/config.h index 82766b88344c..c210fdf1eb01 100644 --- a/keyboards/qwertykeys/qk100/ansi/config.h +++ b/keyboards/qwertykeys/qk100/ansi/config.h @@ -32,7 +32,7 @@ along with this program. If not, see . #define I2C1_CLOCK_SPEED 400000 #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 # define RGB_MATRIX_DISABLE_KEYCODES -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h b/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h deleted file mode 100644 index 1da00a29793c..000000000000 --- a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 Kai Eckert - * - * 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 - -// place overrides here diff --git a/keyboards/recompile_keys/choco60/config.h b/keyboards/recompile_keys/choco60/config.h deleted file mode 100644 index 378fc07981ef..000000000000 --- a/keyboards/recompile_keys/choco60/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2019 Naoto Takai - -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 diff --git a/keyboards/redox/keymaps/default/config.h b/keyboards/redox/keymaps/default/config.h index 2a1801a78f40..ab4d588cb0b7 100644 --- a/keyboards/redox/keymaps/default/config.h +++ b/keyboards/redox/keymaps/default/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -33,7 +33,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 +#define RGBLIGHT_LED_COUNT 14 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/redox/keymaps/via/config.h b/keyboards/redox/keymaps/via/config.h index cfb2a9378a78..7b9be07d9779 100644 --- a/keyboards/redox/keymaps/via/config.h +++ b/keyboards/redox/keymaps/via/config.h @@ -22,7 +22,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -34,7 +34,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 14 +#define RGBLIGHT_LED_COUNT 14 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/redragon/k667/k667.c b/keyboards/redragon/k667/k667.c index 629e120b7b32..a1930f3b85b9 100644 --- a/keyboards/redragon/k667/k667.c +++ b/keyboards/redragon/k667/k667.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, G_1, I_1, H_1}, {0, G_3, I_3, H_3}, {0, G_4, I_4, H_4}, diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h index e4d91482c9f6..cc14e26943f4 100644 --- a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h +++ b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h @@ -19,7 +19,7 @@ // place overrides here #define WS2812_DI_PIN D3 - #define RGBLED_NUM 9 + #define RGBLIGHT_LED_COUNT 9 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h index e4d91482c9f6..cc14e26943f4 100644 --- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h +++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h @@ -19,7 +19,7 @@ // place overrides here #define WS2812_DI_PIN D3 - #define RGBLED_NUM 9 + #define RGBLIGHT_LED_COUNT 9 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 diff --git a/keyboards/reviung/reviung39/keymaps/default/config.h b/keyboards/reviung/reviung39/keymaps/default/config.h index d868c539e42c..d882e8ad949b 100644 --- a/keyboards/reviung/reviung39/keymaps/default/config.h +++ b/keyboards/reviung/reviung39/keymaps/default/config.h @@ -19,7 +19,7 @@ // place overrides here #define WS2812_DI_PIN D3 - #define RGBLED_NUM 11 + #define RGBLIGHT_LED_COUNT 11 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 diff --git a/keyboards/reviung/reviung39/keymaps/default_s/config.h b/keyboards/reviung/reviung39/keymaps/default_s/config.h index c44a5f9d7c30..3fd3c73fcc29 100644 --- a/keyboards/reviung/reviung39/keymaps/default_s/config.h +++ b/keyboards/reviung/reviung39/keymaps/default_s/config.h @@ -19,7 +19,7 @@ // place overrides here #define WS2812_DI_PIN D3 - #define RGBLED_NUM 6 + #define RGBLIGHT_LED_COUNT 6 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 diff --git a/keyboards/reviung/reviung39/keymaps/default_s/readme.md b/keyboards/reviung/reviung39/keymaps/default_s/readme.md index b882ec40c281..a67401b97c38 100644 --- a/keyboards/reviung/reviung39/keymaps/default_s/readme.md +++ b/keyboards/reviung/reviung39/keymaps/default_s/readme.md @@ -3,4 +3,4 @@ __REVIUNG39S is simple version__ The number of RGB LEDs is set to 6. -To change the number of RGB LEDs, change the "#define RGBLED_NUM 6" number in "default_s / config.h". +To change the number of RGB LEDs, change the "#define RGBLIGHT_LED_COUNT 6" number in "default_s / config.h". diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h index 854af5142d1f..ddd5ef6cf5fa 100644 --- a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h +++ b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h @@ -20,7 +20,7 @@ // --- RGB underglow --- #define WS2812_DI_PIN B7 - #define RGBLED_NUM 12 + #define RGBLIGHT_LED_COUNT 12 #define RGBLIGHT_HUE_STEP 16 #define RGBLIGHT_SAT_STEP 16 #define RGBLIGHT_VAL_STEP 16 diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h index 87a7fe131926..7b10bc8d9dd2 100644 --- a/keyboards/rgbkb/mun/config.h +++ b/keyboards/rgbkb/mun/config.h @@ -50,7 +50,7 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 10 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/rgbkb/mun/keymaps/default/config.h b/keyboards/rgbkb/mun/keymaps/default/config.h index 88bdc06dee11..7b8e106b46af 100644 --- a/keyboards/rgbkb/mun/keymaps/default/config.h +++ b/keyboards/rgbkb/mun/keymaps/default/config.h @@ -18,4 +18,4 @@ // 20m timeout (20m * 60s * 1000mil) // #define RGB_MATRIX_TIMEOUT 1200000 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/rgbkb/mun/keymaps/via/config.h b/keyboards/rgbkb/mun/keymaps/via/config.h index a0f581b50a6e..67ad76d191e7 100644 --- a/keyboards/rgbkb/mun/keymaps/via/config.h +++ b/keyboards/rgbkb/mun/keymaps/via/config.h @@ -18,7 +18,7 @@ // 20m timeout (20m * 60s * 1000mil) // #define RGB_MATRIX_TIMEOUT 1200000 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 // 224B per layer right now diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h index c945db14176d..b34b40c7859c 100644 --- a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h +++ b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h @@ -30,7 +30,7 @@ // 20m timeout (20m * 60s * 1000mil) // #define RGB_MATRIX_TIMEOUT 1200000 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define OLED_SCROLL_TIMEOUT 20000 #define ONESHOT_TAP_TOGGLE 2 diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h b/keyboards/rgbkb/sol/keymaps/brianweyer/config.h deleted file mode 100644 index 452cdda82351..000000000000 --- a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -// place overrides here - diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h index a41959a88b7c..575e393b1da5 100644 --- a/keyboards/rgbkb/sol/rev1/config.h +++ b/keyboards/rgbkb/sol/rev1/config.h @@ -19,10 +19,10 @@ along with this program. If not, see . #pragma once #ifdef LED_MIRRORED - #define RGBLED_NUM 35 + #define RGBLIGHT_LED_COUNT 35 #else - #define RGBLED_NUM 70 + #define RGBLIGHT_LED_COUNT 70 #endif -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT #define RGB_MATRIX_CENTER { 112, 35 } diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h index 19680c84b311..7016cf774431 100644 --- a/keyboards/rgbkb/sol/rev2/config.h +++ b/keyboards/rgbkb/sol/rev2/config.h @@ -24,28 +24,28 @@ along with this program. If not, see . #ifdef LED_MIRRORED #ifdef FULLHAND_ENABLE #define FULLHAND_LEDS 24 - #define RGBLED_NUM 74 + #define RGBLIGHT_LED_COUNT 74 #elif SF_ENABLE #define FULLHAND_LEDS 38 - #define RGBLED_NUM 81 + #define RGBLIGHT_LED_COUNT 81 #else #define FULLHAND_LEDS 0 - #define RGBLED_NUM 62 + #define RGBLIGHT_LED_COUNT 62 #endif #else #ifdef FULLHAND_ENABLE #define FULLHAND_LEDS 24 - #define RGBLED_NUM 148 + #define RGBLIGHT_LED_COUNT 148 #elif SF_ENABLE #define FULLHAND_LEDS 38 - #define RGBLED_NUM 162 + #define RGBLIGHT_LED_COUNT 162 #else #define FULLHAND_LEDS 0 - #define RGBLED_NUM 124 + #define RGBLIGHT_LED_COUNT 124 #endif #endif -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT #define RGB_MATRIX_CENTER { 112, 37 } diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h index 102ebcda9562..561cacb76a89 100644 --- a/keyboards/rgbkb/sol3/config.h +++ b/keyboards/rgbkb/sol3/config.h @@ -49,7 +49,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_LED_FLUSH_LIMIT 33 #define RGB_MATRIX_LED_PROCESS_LIMIT 10 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/rgbkb/sol3/keymaps/default/config.h b/keyboards/rgbkb/sol3/keymaps/default/config.h index 88bdc06dee11..7b8e106b46af 100644 --- a/keyboards/rgbkb/sol3/keymaps/default/config.h +++ b/keyboards/rgbkb/sol3/keymaps/default/config.h @@ -18,4 +18,4 @@ // 20m timeout (20m * 60s * 1000mil) // #define RGB_MATRIX_TIMEOUT 1200000 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP diff --git a/keyboards/rgbkb/sol3/keymaps/via/config.h b/keyboards/rgbkb/sol3/keymaps/via/config.h index 7b7f80626194..8206f72fa628 100644 --- a/keyboards/rgbkb/sol3/keymaps/via/config.h +++ b/keyboards/rgbkb/sol3/keymaps/via/config.h @@ -18,7 +18,7 @@ // 20m timeout (20m * 60s * 1000mil) // #define RGB_MATRIX_TIMEOUT 1200000 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h index 1de23afd63bc..e9d6659d603a 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h @@ -24,7 +24,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -35,7 +35,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 16 +#define RGBLIGHT_LED_COUNT 16 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h index 8a46a941b7c5..81f961540c1b 100644 --- a/keyboards/rgbkb/zygomorph/rev1/config.h +++ b/keyboards/rgbkb/zygomorph/rev1/config.h @@ -22,9 +22,9 @@ along with this program. If not, see . #define EE_HANDS #ifndef RGBLIGHT_SPLIT_ENABLE - #define RGBLED_NUM 30 + #define RGBLIGHT_LED_COUNT 30 #else - #define RGBLED_NUM 60 + #define RGBLIGHT_LED_COUNT 60 #endif #define RGB_MATRIX_LED_COUNT 60 diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h deleted file mode 100644 index 068967640261..000000000000 --- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 rominronin - * - * 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 - -// place overrides here diff --git a/keyboards/rura66/rev1/oled_display.c b/keyboards/rura66/rev1/oled_display.c index d2e3422bf9ee..514fda99921b 100644 --- a/keyboards/rura66/rev1/oled_display.c +++ b/keyboards/rura66/rev1/oled_display.c @@ -18,61 +18,59 @@ // Defines names for use in layer keycodes and the keymap enum layer_names { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST + _QWERTY, + _LOWER, + _RAISE, + _ADJUST }; #ifdef OLED_ENABLE void render_status(void) { + // Render to mode icon + static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}}; + if (is_mac_mode()) { + oled_write_P(os_logo[0][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[0][1], false); + } else { + oled_write_P(os_logo[1][0], false); + oled_write_P(PSTR("\n"), false); + oled_write_P(os_logo[1][1], false); + } - // Render to mode icon - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if (is_mac_mode()) { - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - }else{ - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - oled_write_P(PSTR(" "), false); + oled_write_P(PSTR(" "), false); - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("Default\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("Raise\n"), false); - break; - case _LOWER: - oled_write_P(PSTR("Lower\n"), false); - break; - case _ADJUST: - oled_write_P(PSTR("Adjust\n"), false); - break; - default: - // Or use the write_ln shortcut over adding '\n' to the end of your string - oled_write_ln_P(PSTR("Undefined"), false); - } + switch (get_highest_layer(layer_state)) { + case _QWERTY: + oled_write_P(PSTR("Default\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("Raise\n"), false); + break; + case _LOWER: + oled_write_P(PSTR("Lower\n"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("Undefined"), false); + } - oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); } - static void render_logo(void) { static const char PROGMEM qmk_logo[] = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, @@ -84,35 +82,38 @@ static void render_logo(void) { } static void render_rgbled_status(bool full) { -#ifdef RGBLIGHT_ENABLE - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - // " LED %d:%d,%d,%d" - oled_write_P(PSTR(" LED"), false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(':', false); - oled_write(get_u8_str(rgblight_get_hue()/RGBLIGHT_HUE_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_sat()/RGBLIGHT_SAT_STEP, ' '), false); - oled_write_char(',', false); - oled_write(get_u8_str(rgblight_get_val()/RGBLIGHT_VAL_STEP, ' '), false); - } else { - // "[%2d] " - oled_write_char('[', false); - oled_write(get_u8_str(rgblight_get_mode(), ' '), false); - oled_write_char(']', false); +# ifdef RGBLIGHT_ENABLE + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { + if (full) { + // " LED %d:%d,%d,%d" + oled_write_P(PSTR(" LED"), false); + oled_write(get_u8_str(rgblight_get_mode(), ' '), false); + oled_write_char(':', false); + oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false); + oled_write_char(',', false); + oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false); + } else { + // "[%2d] " + oled_write_char('[', false); + oled_write(get_u8_str(rgblight_get_mode(), ' '), false); + oled_write_char(']', false); + } } - } -#endif +# endif } -bool oled_task_user(void) { - if(is_keyboard_master()){ - render_status(); - }else{ - render_logo(); - render_rgbled_status(true); - } - return false; +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + render_status(); + } else { + render_logo(); + render_rgbled_status(true); + } + return true; } #endif diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h index 12d57843740e..f2a365a52e6f 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h @@ -25,11 +25,11 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#ifdef RGBLED_NUM - #undef RGBLED_NUM +#ifdef RGBLIGHT_LED_COUNT + #undef RGBLIGHT_LED_COUNT #endif -#define RGBLED_NUM 55 // Number of LEDs +#define RGBLIGHT_LED_COUNT 55 // Number of LEDs #define RGBLIGHT_SPLIT #define RGBLED_SPLIT { 48, 7 } diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h index 392f2f97e8cc..d0f71f4f9f71 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h @@ -25,10 +25,10 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#ifdef RGBLED_NUM - #undef RGBLED_NUM +#ifdef RGBLIGHT_LED_COUNT + #undef RGBLIGHT_LED_COUNT #endif -#define RGBLED_NUM 69 // Number of LEDs +#define RGBLIGHT_LED_COUNT 69 // Number of LEDs #define RGBLIGHT_SPLIT #define RGBLED_SPLIT { 48, 21 } diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h index b8a6b843ceb4..94b5ebf0c86e 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h @@ -30,7 +30,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) // # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h index 21494a0dfd24..a967ffd3c139 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h @@ -21,8 +21,8 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#ifdef RGBLED_NUM - #undef RGBLED_NUM +#ifdef RGBLIGHT_LED_COUNT + #undef RGBLIGHT_LED_COUNT #endif #define RGB_MATRIX_LED_COUNT 48 @@ -31,7 +31,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects - #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h index 73a3019540d0..ebc2b46717c9 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h @@ -25,6 +25,6 @@ #define QUICK_TAP_TERM 0 #define TAPPING_TERM 180 -#define RGBLED_NUM 12 // Number of LEDs +#define RGBLIGHT_LED_COUNT 12 // Number of LEDs #define RGBLIGHT_LED_MAP { 0, 1, 3, 2, 2, 3, 2, 3, 4, 5, 6, 7 } diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h index 540c819c2b08..590edd0f02ba 100644 --- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h @@ -26,7 +26,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) // # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 diff --git a/keyboards/sawnsprojects/re65/info.json b/keyboards/sawnsprojects/re65/info.json new file mode 100644 index 000000000000..45e874db6d54 --- /dev/null +++ b/keyboards/sawnsprojects/re65/info.json @@ -0,0 +1,370 @@ +{ + "keyboard_name": "RE65", + "maintainer": "Salane", + "manufacturer": "Mai The San", + "url": "", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "vid": "0x534C", + "pid": "0x0C65", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "rows": ["GP27", "GP26", "GP25", "GP29", "GP4"], + "cols": ["GP20", "GP19", "GP18", "GP24", "GP23", "GP22", "GP17", "GP28", "GP2", "GP3", "GP12", "GP11", "GP10", "GP9", "GP8"] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP5", "pin_b": "GP6"} + ] + }, + "rgblight": { + "led_count": 32, + "saturation_steps": 8, + "brightness_steps": 8, + "sleep": true, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "GP21", + "driver": "vendor" + }, + "community_layouts": ["65_ansi_blocker","65_ansi_blocker_split_bs","65_ansi_blocker_tsangan","65_ansi_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, + + {"matrix": [4, 10], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4}, + + {"matrix": [4, 10], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.5, "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 7, "x": 4, "y": 4}, + + {"matrix": [4, 11], "w": 1.5, "x": 11, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.5, "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4}, + + {"matrix": [4, 6], "w": 7, "x": 4, "y": 4}, + + {"matrix": [4, 11], "w": 1.5, "x": 11, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/sawnsprojects/re65/keymaps/default/keymap.c b/keyboards/sawnsprojects/re65/keymaps/default/keymap.c new file mode 100644 index 000000000000..6dc79fead35b --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/default/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2023 MaiTheSan (@maithesan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_BASE] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT +), +/* Function Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ Delete│SlD│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│ LHP │VlU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_FN1] = LAYOUT_65_ansi_blocker( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, + [_FN1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } +}; +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/sawnsprojects/re65/keymaps/default/rules.mk b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/keymaps/via/keymap.c b/keyboards/sawnsprojects/re65/keymaps/via/keymap.c new file mode 100644 index 000000000000..55581a841921 --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +// Copyright 2023 MaiTheSan (@maithesan) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +enum { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│Bsp│Bsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│PgD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│End│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_BASE] = LAYOUT_65_ansi_blocker_split_bs( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RCMD, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT +), +/* Function Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │` ~│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│Del│ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │RMod │RH+│RS+│RV+│AS+│ │ │ │ │ │F13│F14│F15│ LHP │VlU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │RTgl │RH-│RS-│RV-│AS-│ │ │ │ │ │ │ │ │VlD│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ + * │ │LYR│Thm│ │ │RST│ │Mke│Prv│Nxt│Ply│ │PgU│Mut│ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │Hom│PgD│End│ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ +[_FN1] = LAYOUT_65_ansi_blocker_split_bs( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F13, KC_F14, KC_F15, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, _______, _______, _______, QK_BOOT, _______, _______, KC_MPRV, KC_MNXT, KC_MPLY, _______, KC_PGUP, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END +), +}; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FN1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/keymaps/via/rules.mk b/keyboards/sawnsprojects/re65/keymaps/via/rules.mk new file mode 100644 index 000000000000..4253f570f0bb --- /dev/null +++ b/keyboards/sawnsprojects/re65/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sawnsprojects/re65/readme.md b/keyboards/sawnsprojects/re65/readme.md new file mode 100644 index 000000000000..b02dfe592aac --- /dev/null +++ b/keyboards/sawnsprojects/re65/readme.md @@ -0,0 +1,26 @@ +# RE65 + +![RE65](https://i.imgur.com/bzeWSwwh.png) + +A Keyboard from Nuxros + +* Keyboard Maintainer: [Mai The San](https://github.com/maithesan) +* Hardware Supported: RE65, KBD67 MKII +* Hardware Availability: [Nuxros Store](https://nuxroskb.store/en/products/re65?variant=45628371370283) +Make example for this keyboard (after setting up your build environment): + + make sawnsprojects/re65:default + +Flashing example for this keyboard: + + make sawnsprojects/re65:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RST` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/sawnsprojects/re65/rules.mk b/keyboards/sawnsprojects/re65/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/sawnsprojects/re65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h index d649c698abad..4703b5a93724 100644 --- a/keyboards/sawnsprojects/satxri6key/config.h +++ b/keyboards/sawnsprojects/satxri6key/config.h @@ -20,7 +20,7 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +// #define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Sets the default mode, if none has been set diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h index 44f0121915da..674a4b03e8f1 100644 --- a/keyboards/senselessclay/ck60/config.h +++ b/keyboards/senselessclay/ck60/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 // limit brightness to not overamp the USB #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // 16 is equivalent to limiting to 60fps -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h index e8f1cca7ebb3..2c9eac876cdc 100644 --- a/keyboards/silverbullet44/config.h +++ b/keyboards/silverbullet44/config.h @@ -36,7 +36,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_BREATHE_CENTER 2 // 1 to 2.7 #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 /*== customize snake effect ==*/ - #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLED_NUM + #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLIGHT_LED_COUNT /*== customize knight effect ==*/ #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 6 #endif diff --git a/keyboards/skeletonkbd/frost68/config.h b/keyboards/skeletonkbd/frost68/config.h index eaf7a31fb6ef..de768e745bae 100644 --- a/keyboards/skeletonkbd/frost68/config.h +++ b/keyboards/skeletonkbd/frost68/config.h @@ -6,7 +6,7 @@ #define WS2812_PIO_USE_PIO1 #define RGB_MATRIX_LED_COUNT 68 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define USB_SUSPEND_WAKEUP_DELAY 200 #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/skmt/15k/config.h b/keyboards/skmt/15k/config.h index 6e0360ec7b3c..86ce343ca82e 100644 --- a/keyboards/skmt/15k/config.h +++ b/keyboards/skmt/15k/config.h @@ -20,7 +20,7 @@ //#define NO_ACTION_ONESHOT #define RGB_MATRIX_LED_COUNT 15 // Number of LEDs -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/skyloong/dt40/config.h b/keyboards/skyloong/dt40/config.h index e67b7ae0a9a0..87cea4a152b9 100644 --- a/keyboards/skyloong/dt40/config.h +++ b/keyboards/skyloong/dt40/config.h @@ -17,7 +17,7 @@ #define RGB_MATRIX_LED_COUNT 44 //The number of LEDs connected #define RGB_MATRIX_KEYPRESSES //Reacts to keypress -#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended +#define RGB_MATRIX_SLEEP //turn off effects when suspended #define RGB_MATRIX_DEFAULT_VAL 150 //Sets the default mode, if none has been set #define RGB_TRIGGER_ON_KEYDOWN //Triggers RGB keypress events on key down diff --git a/keyboards/skyloong/gk61/pro_48/config.h b/keyboards/skyloong/gk61/pro_48/config.h index df94455a9eab..4e8d9f022440 100644 --- a/keyboards/skyloong/gk61/pro_48/config.h +++ b/keyboards/skyloong/gk61/pro_48/config.h @@ -9,7 +9,7 @@ #define MAC_MOD_INDEX 17 #define SDB A4 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/skyloong/gk61/v1/config.h b/keyboards/skyloong/gk61/v1/config.h index bd9cab743f63..f8245151423d 100644 --- a/keyboards/skyloong/gk61/v1/config.h +++ b/keyboards/skyloong/gk61/v1/config.h @@ -21,5 +21,5 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS //Enable frame effects #define RGB_MATRIX_KEYPRESSES //Reacts to keypress -#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended +#define RGB_MATRIX_SLEEP //turn off effects when suspended #define SDB C1 diff --git a/keyboards/skyloong/gk61/v1/v1.c b/keyboards/skyloong/gk61/v1/v1.c index cb3772f6b4cd..1ee3522b50bf 100644 --- a/keyboards/skyloong/gk61/v1/v1.c +++ b/keyboards/skyloong/gk61/v1/v1.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const snled27351_led_t PROGMEM g_snled27351_leds[RGB_MATRIX_LED_COUNT] = { +const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = { /* Refer to SNLED27351 manual for these locations * driver * | R location diff --git a/keyboards/skyloong/qk21/v1/config.h b/keyboards/skyloong/qk21/v1/config.h index c74d5cce78a4..c862fc87d581 100644 --- a/keyboards/skyloong/qk21/v1/config.h +++ b/keyboards/skyloong/qk21/v1/config.h @@ -9,4 +9,4 @@ #define RGB_MATRIX_LED_COUNT 21 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS //Enable frame effects #define RGB_MATRIX_KEYPRESSES //Reacts to keypress -#define RGB_DISABLE_WHEN_USB_SUSPENDED //turn off effects when suspended +#define RGB_MATRIX_SLEEP //turn off effects when suspended diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h index d98a2b6ef277..3a70b4e27adf 100644 --- a/keyboards/smallkeyboard/config.h +++ b/keyboards/smallkeyboard/config.h @@ -18,7 +18,7 @@ #pragma once #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/smallkeyboard/smallkeyboard.c b/keyboards/smallkeyboard/smallkeyboard.c index ce79c7df5de1..7442444b009b 100644 --- a/keyboards/smallkeyboard/smallkeyboard.c +++ b/keyboards/smallkeyboard/smallkeyboard.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/smithrune/iron180/info.json b/keyboards/smithrune/iron180/info.json index aecd10ef84df..4707f3266468 100644 --- a/keyboards/smithrune/iron180/info.json +++ b/keyboards/smithrune/iron180/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Iron180", + "keyboard_name": "Iron180 V1", "manufacturer": "SmithRune", "url": "", "maintainer": "Gondolindrim", diff --git a/keyboards/smithrune/iron180v2/readme.md b/keyboards/smithrune/iron180v2/readme.md new file mode 100644 index 000000000000..2df6b965211f --- /dev/null +++ b/keyboards/smithrune/iron180v2/readme.md @@ -0,0 +1,27 @@ +# Iron180 V2 PCBs QMK firmware folder + +## Introduction + +This is the QMK Firmware repository for the Iron180 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim). + +The Iron180 PCB PCB had two versions. The first version used an STM32F072 microcontroller, and was available only in solderable version; it also supports ALPS switches, in-switch single-color LEDs and a multi-layout design for default or 7U bottom row, ISO layout, split backspace and right shift. + +The second version used an STM32F401 microcontroller and was available in hotswap and solderable version. The solderable version removes in-switch LED support and ALPS support, but keeps all layout compatibilities of the first version. The hotswap incarnation removes ISO layout support. + +As of November 2020, the only way to obtain an Iron180 was through the [Group Buy](https://geekhack.org/index.php?topic=109513) which is already over and all spots were filled. There was a sale for the V2 PCBs in october, 2023. + +## How to compile + +After setting up your build environment, you can compile the Iron180 default keymap by using: + + make smithrune/iron180v2//default + +Where `` can be `v2s` or `v2h`. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## How to enter into bootloader DFU +Enter the bootloader DFU mode in 3 ways: +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape in the default keymap) and plug in the keyboard +* **Physical reset button**: press and hold the reset button on the back of the PCB for five seconds +* **Keycode in layout**: Press the key mapped to `QK_BOOT` (Escape key on layer 1 in the default keymap) diff --git a/keyboards/keebio/quefrency/keymaps/default65/config.h b/keyboards/smithrune/iron180v2/v2h/config.h similarity index 66% rename from keyboards/keebio/quefrency/keymaps/default65/config.h rename to keyboards/smithrune/iron180v2/v2h/config.h index 9aae0fdfc2ec..1d195c5a458b 100644 --- a/keyboards/keebio/quefrency/keymaps/default65/config.h +++ b/keyboards/smithrune/iron180v2/v2h/config.h @@ -1,9 +1,5 @@ /* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert -Copyright 2018 Danny Nguyen +Copyright 2023 Gondolindrim 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 @@ -21,3 +17,10 @@ along with this program. If not, see . #pragma once +/* 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 + +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE 4096 diff --git a/keyboards/smithrune/iron180v2/v2h/info.json b/keyboards/smithrune/iron180v2/v2h/info.json new file mode 100644 index 000000000000..67eaf0501b03 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/info.json @@ -0,0 +1,674 @@ +{ + "keyboard_name": "Iron180H v2", + "manufacturer": "SmithRune", + "url": "", + "maintainer": "Gondolindrim", + "usb": { + "vid": "0x8384", + "pid": "0x1182", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["C8" , "C7" , "C6" , "B15", "B14", "B13", "B12", "B3" , "D2" , "B1" , "B0" , "C12", "C10", "A10", "A15", "C0" , "C1" , "C4"], + "rows": ["B4" , "C11", "A8" , "C9" , "B10", "C5" , "B5" , "B6"] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_f13_ansi_split_bs_rshift" + }, + "community_layouts": [ + "tkl_f13_ansi", + "tkl_f13_ansi_split_bs_rshift", + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c new file mode 100755 index 000000000000..82cc8162ad5f --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c new file mode 100755 index 000000000000..82cc8162ad5f --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 Gondolindrim + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md new file mode 100644 index 000000000000..2e6310bcb689 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for SmithRune Iron180 V2 H + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0G │0F │0E │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │1G │3G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └───────┘ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ +│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5F │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + ┌──────────┐ + 2.75u RShift │4C │ + └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/smithrune/iron180v2/v2h/rules.mk b/keyboards/smithrune/iron180v2/v2h/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2h/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/smithrune/iron180v2/v2s/config.h similarity index 81% rename from keyboards/projectcain/vault35/config.h rename to keyboards/smithrune/iron180v2/v2s/config.h index 7abf6b197c73..bf443b56f153 100644 --- a/keyboards/projectcain/vault35/config.h +++ b/keyboards/smithrune/iron180v2/v2s/config.h @@ -1,24 +1,34 @@ /* -Copyright 2021 projectcain +Copyright 2023 Gondolindrim + 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 BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 3 +#define BACKLIGHT_PAL_MODE 2 + /* 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 +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE 4096 + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/handwired/6macro/keymaps/default/config.h b/keyboards/smithrune/iron180v2/v2s/halconf.h similarity index 74% rename from keyboards/handwired/6macro/keymaps/default/config.h rename to keyboards/smithrune/iron180v2/v2s/halconf.h index 64ba57443f83..c58ddcbf7bd8 100644 --- a/keyboards/handwired/6macro/keymaps/default/config.h +++ b/keyboards/smithrune/iron180v2/v2s/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2019 joaofbmaia +/* Copyright 2020 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 @@ -14,5 +14,13 @@ * along with this program. If not, see . */ +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/iron180/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + #pragma once +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/smithrune/iron180v2/v2s/info.json b/keyboards/smithrune/iron180v2/v2s/info.json new file mode 100644 index 000000000000..aae84fd95661 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/info.json @@ -0,0 +1,1432 @@ +{ + "keyboard_name": "Iron180 Sv2", + "manufacturer": "SmithRune", + "url": "", + "maintainer": "Gondolindrim", + "usb": { + "vid": "0x8384", + "pid": "0x1181", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["C7" , "C6" , "B15", "B14", "B13", "B12", "B10", "B3" , "D2" , "B0" , "C5" , "C12", "C10", "A10", "A15", "C0" , "C1" , "A7"], + "rows": ["B4" , "C11", "A8" , "C9" , "B1" , "C4" , "B5" , "B6"] + }, + "features": { + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "backlight": { + "pin": "C8", + "levels": 20, + "breathing": false, + "as_caps_lock": true + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", + "community_layouts": [ + "tkl_f13_ansi", + "tkl_f13_ansi_split_bs_rshift", + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift", + "tkl_f13_iso", + "tkl_f13_iso_split_bs_rshift", + "tkl_f13_iso_tsangan", + "tkl_f13_iso_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_wkl": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_wkl_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0}, + + {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0}, + + {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0}, + + {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0}, + {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0}, + + {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25}, + {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25}, + + {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25}, + {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25}, + {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + + {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25}, + {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25}, + {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25}, + + {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25}, + + {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25}, + {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c new file mode 100755 index 000000000000..f2d58a163d8b --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , + KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c new file mode 100755 index 000000000000..f2d58a163d8b --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2012,2013 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , + KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP , + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md new file mode 100644 index 000000000000..d946162263af --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for SmithRune Iron180 V2 S + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││6F │6F │6G │ │3E │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││7E │7F │7G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4H │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5H │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` diff --git a/keyboards/aya/keymaps/default/config.h b/keyboards/smithrune/iron180v2/v2s/mcuconf.h similarity index 81% rename from keyboards/aya/keymaps/default/config.h rename to keyboards/smithrune/iron180v2/v2s/mcuconf.h index 6e57fd649904..b7b462f8cd3c 100644 --- a/keyboards/aya/keymaps/default/config.h +++ b/keyboards/smithrune/iron180v2/v2s/mcuconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Dan Nixon +/* Copyright 2023 Gondolindrim * * 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 @@ -16,3 +16,7 @@ #pragma once +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/smithrune/iron180v2/v2s/rules.mk b/keyboards/smithrune/iron180v2/v2s/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/smithrune/iron180v2/v2s/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/lefty/config.h b/keyboards/smoll/lefty/config.h similarity index 100% rename from keyboards/lefty/config.h rename to keyboards/smoll/lefty/config.h diff --git a/keyboards/lefty/info.json b/keyboards/smoll/lefty/info.json similarity index 100% rename from keyboards/lefty/info.json rename to keyboards/smoll/lefty/info.json diff --git a/keyboards/lefty/keymaps/default/keymap.c b/keyboards/smoll/lefty/keymaps/default/keymap.c similarity index 100% rename from keyboards/lefty/keymaps/default/keymap.c rename to keyboards/smoll/lefty/keymaps/default/keymap.c diff --git a/keyboards/lefty/keymaps/via/keymap.c b/keyboards/smoll/lefty/keymaps/via/keymap.c similarity index 100% rename from keyboards/lefty/keymaps/via/keymap.c rename to keyboards/smoll/lefty/keymaps/via/keymap.c diff --git a/keyboards/smoll/lefty/keymaps/via/rules.mk b/keyboards/smoll/lefty/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smoll/lefty/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/lefty/lefty.c b/keyboards/smoll/lefty/lefty.c similarity index 100% rename from keyboards/lefty/lefty.c rename to keyboards/smoll/lefty/lefty.c diff --git a/keyboards/lefty/readme.md b/keyboards/smoll/lefty/readme.md similarity index 100% rename from keyboards/lefty/readme.md rename to keyboards/smoll/lefty/readme.md diff --git a/keyboards/lefty/rev1/info.json b/keyboards/smoll/lefty/rev1/info.json similarity index 100% rename from keyboards/lefty/rev1/info.json rename to keyboards/smoll/lefty/rev1/info.json diff --git a/keyboards/era/klein/rules.mk b/keyboards/smoll/lefty/rev1/rules.mk similarity index 100% rename from keyboards/era/klein/rules.mk rename to keyboards/smoll/lefty/rev1/rules.mk diff --git a/keyboards/lefty/rev2/info.json b/keyboards/smoll/lefty/rev2/info.json similarity index 100% rename from keyboards/lefty/rev2/info.json rename to keyboards/smoll/lefty/rev2/info.json diff --git a/keyboards/lefty/rev1/rules.mk b/keyboards/smoll/lefty/rev2/rules.mk similarity index 100% rename from keyboards/lefty/rev1/rules.mk rename to keyboards/smoll/lefty/rev2/rules.mk diff --git a/keyboards/lefty/rules.mk b/keyboards/smoll/lefty/rules.mk similarity index 94% rename from keyboards/lefty/rules.mk rename to keyboards/smoll/lefty/rules.mk index bbf738e03bb7..d8d08e502c82 100644 --- a/keyboards/lefty/rules.mk +++ b/keyboards/smoll/lefty/rules.mk @@ -14,4 +14,4 @@ LTO_ENABLE = yes OLED_ENABLE = yes -DEFAULT_FOLDER = lefty/rev2 +DEFAULT_FOLDER = smoll/lefty/rev2 diff --git a/keyboards/pw88/config.h b/keyboards/smoll/pw88/config.h similarity index 100% rename from keyboards/pw88/config.h rename to keyboards/smoll/pw88/config.h diff --git a/keyboards/pw88/info.json b/keyboards/smoll/pw88/info.json similarity index 100% rename from keyboards/pw88/info.json rename to keyboards/smoll/pw88/info.json diff --git a/keyboards/pw88/keymaps/default/keymap.c b/keyboards/smoll/pw88/keymaps/default/keymap.c similarity index 100% rename from keyboards/pw88/keymaps/default/keymap.c rename to keyboards/smoll/pw88/keymaps/default/keymap.c diff --git a/keyboards/pw88/keymaps/via/keymap.c b/keyboards/smoll/pw88/keymaps/via/keymap.c similarity index 100% rename from keyboards/pw88/keymaps/via/keymap.c rename to keyboards/smoll/pw88/keymaps/via/keymap.c diff --git a/keyboards/smoll/pw88/keymaps/via/rules.mk b/keyboards/smoll/pw88/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/smoll/pw88/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/pw88/readme.md b/keyboards/smoll/pw88/readme.md similarity index 100% rename from keyboards/pw88/readme.md rename to keyboards/smoll/pw88/readme.md diff --git a/keyboards/pw88/rules.mk b/keyboards/smoll/pw88/rules.mk similarity index 100% rename from keyboards/pw88/rules.mk rename to keyboards/smoll/pw88/rules.mk diff --git a/keyboards/snes_macropad/snes_macropad.c b/keyboards/snes_macropad/snes_macropad.c index 1dcfda33ec1c..9f4f410fa3e2 100644 --- a/keyboards/snes_macropad/snes_macropad.c +++ b/keyboards/snes_macropad/snes_macropad.c @@ -90,7 +90,7 @@ static void setupForFlashing(void) { // Set alternating backlight colors const uint8_t max = 20; rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - for (size_t i = 0; i < RGBLED_NUM; ++i) { + for (size_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) { rgb_led_t *led_ = (rgb_led_t *)&led[i]; switch (i % 2) { case 0: diff --git a/keyboards/sofle/keymaps/default/config.h b/keyboards/sofle/keymaps/default/config.h deleted file mode 100644 index c5494c20aab9..000000000000 --- a/keyboards/sofle/keymaps/default/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -/* The way how "handedness" is decided (which half is which), -see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness -for more options. -*/ diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h index 7d14c6e3375c..314322c92937 100644 --- a/keyboards/sofle/keymaps/rgb_default/config.h +++ b/keyboards/sofle/keymaps/rgb_default/config.h @@ -49,13 +49,13 @@ #ifdef RGB_MATRIX_ENABLE -#define RGBLED_NUM 35 // Number of LEDs -#define RGBLED_NUM 35 // Number of LEDs -#define RGB_MATRIX_LED_COUNT RGBLED_NUM +#define RGBLIGHT_LED_COUNT 35 // Number of LEDs +#define RGBLIGHT_LED_COUNT 35 // Number of LEDs +#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT #endif #ifdef RGBLIGHT_ENABLE - #undef RGBLED_NUM + #undef RGBLIGHT_LED_COUNT //#define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD @@ -68,11 +68,11 @@ //#define RGBLIGHT_EFFECT_ALTERNATING //#define RGBLIGHT_EFFECT_TWINKLE - #define RGBLED_NUM 70 + #define RGBLIGHT_LED_COUNT 70 //#define RGBLED_SPLIT #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet - //#define RGBLED_NUM 30 + //#define RGBLIGHT_LED_COUNT 30 #define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 @@ -82,7 +82,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h index e53881987da6..c70c410f771f 100644 --- a/keyboards/sofle/keymaps/via/config.h +++ b/keyboards/sofle/keymaps/via/config.h @@ -24,11 +24,11 @@ for more options. */ #if defined(KEYBOARD_sofle_rev1) // Add RGB underglow and top facing lighting # define WS2812_DI_PIN D3 -# define RGBLED_NUM 72 +# define RGBLIGHT_LED_COUNT 72 # define RGBLED_SPLIT \ { 36, 36 } # ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_LED_COUNT RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define SPLIT_TRANSPORT_MIRROR # else diff --git a/keyboards/sofle_choc/keymaps/default/config.h b/keyboards/sofle_choc/keymaps/default/config.h index 93f173e84de3..d48529d816a1 100644 --- a/keyboards/sofle_choc/keymaps/default/config.h +++ b/keyboards/sofle_choc/keymaps/default/config.h @@ -24,6 +24,6 @@ // I've found this helps with some ProMicros where the slave does not boot #define SPLIT_USB_DETECT -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. diff --git a/keyboards/sofle_choc/keymaps/via/config.h b/keyboards/sofle_choc/keymaps/via/config.h index 93f173e84de3..d48529d816a1 100644 --- a/keyboards/sofle_choc/keymaps/via/config.h +++ b/keyboards/sofle_choc/keymaps/via/config.h @@ -24,6 +24,6 @@ // I've found this helps with some ProMicros where the slave does not boot #define SPLIT_USB_DETECT -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. diff --git a/keyboards/spaceholdings/nebula12b/config.h b/keyboards/spaceholdings/nebula12b/config.h index aba496d469db..dbff3e8a82a4 100755 --- a/keyboards/spaceholdings/nebula12b/config.h +++ b/keyboards/spaceholdings/nebula12b/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/spaceholdings/nebula68b/config.h b/keyboards/spaceholdings/nebula68b/config.h index 4da2b5894a27..b87fe0101a34 100755 --- a/keyboards/spaceholdings/nebula68b/config.h +++ b/keyboards/spaceholdings/nebula68b/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 79 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/config.h b/keyboards/splitkb/aurora/helix/keymaps/default/config.h index 869e99b779d3..a6863a01e8e1 100644 --- a/keyboards/splitkb/aurora/helix/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/helix/keymaps/default/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h index 353c0ee34952..75d233f42ea2 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/config.h @@ -16,7 +16,7 @@ #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h index b35ec79511b9..4605cb782a44 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/default/config.h +++ b/keyboards/splitkb/aurora/sweep/keymaps/default/config.h @@ -18,7 +18,7 @@ // Not yet available in `keymap.json` format #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE # define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index 6c21b12a849e..2938523aee11 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -52,5 +52,5 @@ along with this program. If not, see . # define RGB_MATRIX_LED_COUNT 20 // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP #endif diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h index 198688772be3..d39b8eca88a8 100644 --- a/keyboards/splitkb/kyria/rev2/config.h +++ b/keyboards/splitkb/kyria/rev2/config.h @@ -58,5 +58,5 @@ along with this program. If not, see . # define RGB_MATRIX_LED_COUNT 20 // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP #endif diff --git a/keyboards/stront/config.h b/keyboards/stront/config.h index 13c76a80e2d2..dfa84ada8e57 100644 --- a/keyboards/stront/config.h +++ b/keyboards/stront/config.h @@ -38,8 +38,8 @@ /* RGB config */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define RGB_MATRIX_LED_COUNT RGBLED_NUM -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/sx60/keymaps/amnobis/config.h b/keyboards/sx60/keymaps/amnobis/config.h deleted file mode 100644 index a5568e400def..000000000000 --- a/keyboards/sx60/keymaps/amnobis/config.h +++ /dev/null @@ -1 +0,0 @@ -#include "../../config.h" diff --git a/keyboards/synthlabs/060/config.h b/keyboards/synthlabs/060/config.h index 4a475316edea..666ca4ba4b24 100644 --- a/keyboards/synthlabs/060/config.h +++ b/keyboards/synthlabs/060/config.h @@ -6,7 +6,7 @@ /* Backlighting */ #define RGB_MATRIX_LED_COUNT 63 #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes // For full list of effects, see: diff --git a/keyboards/system76/launch_1/config.h b/keyboards/system76/launch_1/config.h index 27e3025fe37c..1583af064edb 100644 --- a/keyboards/system76/launch_1/config.h +++ b/keyboards/system76/launch_1/config.h @@ -22,7 +22,7 @@ # define RGB_MATRIX_KEYPRESSES // Reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // Reacts to keyreleases (instead of keypresses) // # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Enables framebuffer effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED // Turns off effects when suspended +# define RGB_MATRIX_SLEEP // Turns off effects when suspended // Limit brightness to support USB-A at 0.5 A // TODO: Do this dynamically based on power source # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 176 // Limits maximum brightness of LEDs to 176 out of 255. If not defined, maximum brightness is set to 255 diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h deleted file mode 100644 index dbacdcce5803..000000000000 --- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2018 takashiski - * - * 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 - -// place overrides here diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h index 99c82df12e1d..08fdfcbc49b4 100644 --- a/keyboards/teleport/native/config.h +++ b/keyboards/teleport/native/config.h @@ -37,7 +37,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_FLUSH_LIMIT 32 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_DEFAULT_SPD 40 #define RGB_MATRIX_DEFAULT_VAL 220 diff --git a/keyboards/teleport/native/native.c b/keyboards/teleport/native/native.c index ab6d588de709..b11b63f1f632 100644 --- a/keyboards/teleport/native/native.c +++ b/keyboards/teleport/native/native.c @@ -25,7 +25,7 @@ void keyboard_post_init_kb(void) { } #ifdef RGB_MATRIX_ENABLE -const is31fl3733_led_t PROGMEM g_is31fl3733_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/terrazzo/config.h b/keyboards/terrazzo/config.h index d2e76f1de091..d9ef8f0f9d3e 100644 --- a/keyboards/terrazzo/config.h +++ b/keyboards/terrazzo/config.h @@ -22,7 +22,7 @@ #define LED_MATRIX_ROWS 15 #define LED_MATRIX_COLS 7 #define LED_MATRIX_MAXIMUM_BRIGHTNESS 20 -#define LED_DISABLE_WHEN_USB_SUSPENDED +#define LED_MATRIX_SLEEP // LED Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c index 7717b36e6595..53b0bd4c519b 100644 --- a/keyboards/terrazzo/terrazzo.c +++ b/keyboards/terrazzo/terrazzo.c @@ -21,7 +21,7 @@ #include "print.h" #include "quantum.h" -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[LED_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { /* Refer to IS31 manual for these locations * https://cdn-learn.adafruit.com/downloads/pdf/adafruit-15x7-7x15-charlieplex-led-matrix-charliewing-featherwing.pdf */ diff --git a/keyboards/themadnoodle/ncc1701kb/v2/config.h b/keyboards/themadnoodle/ncc1701kb/v2/config.h new file mode 100644 index 000000000000..fbb498c40812 --- /dev/null +++ b/keyboards/themadnoodle/ncc1701kb/v2/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 Jesse Leventhal (@The=Mad-Noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 diff --git a/keyboards/themadnoodle/ncc1701kb/v2/info.json b/keyboards/themadnoodle/ncc1701kb/v2/info.json index 3ea2515e6467..c67262c562da 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/info.json +++ b/keyboards/themadnoodle/ncc1701kb/v2/info.json @@ -1,59 +1,71 @@ { - "keyboard_name": "NCC-1701-KB v2", - "manufacturer": "The Mad Noodle", - "url": "instagram.com/the_mad_noodle", - "maintainer": "The-Mad-Noodle", - "usb": { - "vid": "0xFEED", - "pid": "0x1701", - "device_version": "0.0.2" - }, - "matrix_pins": { - "cols": ["B4", "B5", "B6"], - "rows": ["D4", "D6", "D7"] - }, - "diode_direction": "ROW2COL", - "encoder": { - "rotary": [ - {"pin_a": "D0", "pin_b": "D1"} - ] - }, - "rgblight": { - "led_count": 4, - "sleep": true, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, - "ws2812": { - "pin": "B7" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT_ortho_3x3": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, + "manufacturer": "The Mad Noodle", + "keyboard_name": "NCC-1701-KB v2", + "maintainer": "The-Mad-Noodle", + "url": "https://www.madnoodleprototypes.com/", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "B7" + }, + "matrix_pins": { + "rows": ["D4", "D6", "D7"], + "cols": ["B4", "B5", "B6"] + }, + "processor": "atmega32u4", + "usb": { + "device_version": "2.0.0", + "pid": "0x0021", + "vid": "0x6A6C" + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + {"x":0, "y":0, "matrix": [0,0]}, + {"label":"Encoder", "x":1, "y":0, "matrix": [0,1]}, + {"x":2, "y":0, "matrix": [0,2]}, + {"x":0, "y":1, "matrix": [1,0]}, + {"x":1, "y":1, "matrix": [1,1]}, + {"x":2, "y":1, "matrix": [1,2]}, + {"x":0, "y":2, "matrix": [2,0]}, + {"x":1, "y":2, "matrix": [2,1]}, + {"x":2, "y":2, "matrix": [2,2]} + ] + } + }, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2} - ] + "encoder": { + "rotary": [ + { "pin_a": "D0", "pin_b": "D1" } + ] + } - } -} +} \ No newline at end of file diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c index 15b6df3b1a4a..52932a3baa49 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c +++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/keymap.c @@ -1,10 +1,13 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* LAYER 0 - * ,-----------------------. - * | << | MUTE | >> | ENCODER - PRESS (MUTE) / HOLD (LAYER 2) / KNOB (VOLUME CONTROL) + /* LAYER 0 + * ,-------|ENCODER|-------. + * | << | MUTE | >> | * |-------+-------+-------| * | STOP | PLAY | MEDIA | * |-------+-------+-------| @@ -13,72 +16,70 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [0] = LAYOUT_ortho_3x3( - KC_MPRV, LT(2, KC_MUTE), KC_MNXT, + KC_MPRV, LT(2, KC_MUTE), KC_MNXT, KC_MSTP, KC_MPLY, KC_MSEL, KC_CALC, KC_MAIL, LT(1, KC_MYCM) ), - /* LAYER 1 - * ,-----------------------. - * | MODE+ |RGB TOG| MODE- | ENCODER - PRESS (NA) / KNOB (Hue Control) + /* LAYER 1 + * ,-------|ENCODER|-------. + * | MODE+ |RGB TOG| MODE- | * |-------+-------+-------| - * | SPD- | SPD+ |Bright | + * |Bright-| PLAIN |Bright+| * |-------+-------+-------| - * | SAT+ | SAT- | | + * | SWIRL |BREATH | | * `-----------------------' */ - + [1] = LAYOUT_ortho_3x3( - RGB_MOD, RGB_TOG, RGB_RMOD, - RGB_SPI, RGB_SPD, RGB_VAI, - RGB_SAI, RGB_SAD, KC_TRNS + RGB_MOD, RGB_TOG, RGB_RMOD, + RGB_VAD, RGB_M_P, RGB_VAI, + LT(3,RGB_M_SW), RGB_M_B, KC_TRNS ), - - /* LAYER 2 (ENCODER) - * ,-----------------------. - * | | | | ENCODER - PRESS (NA) / KNOB (Arrow Left/Right) + + /* LAYER 2 + * ,-------|ENCODER|-------. + * | | | | * |-------+-------+-------| * | | | | * |-------+-------+-------| * | | | | * `-----------------------' */ - + [2] = LAYOUT_ortho_3x3( - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + + + /* LAYER 3 + * ,-------|ENCODER|-------. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | | + * `-----------------------' + */ + + [3] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; -bool encoder_update_user(uint8_t index, bool clockwise) { - - switch (get_highest_layer(layer_state)) { - case 1: - if (clockwise) { - rgblight_increase_hue(); - } else { - rgblight_decrease_hue(); - } - break; - case 2: - if (clockwise) { - tap_code(KC_RGHT); - } else { - tap_code(KC_LEFT); - } - break; - default: - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - break; - - } - return true; -} +/*Encoder Mapping*/ +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, + [2] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, + [3] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, +}; +#endif diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c new file mode 100644 index 000000000000..22ceb93c7e91 --- /dev/null +++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/keymap.c @@ -0,0 +1,85 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* LAYER 0 + * ,-------|ENCODER|-------. + * | << | MUTE | >> | + * |-------+-------+-------| + * | STOP | PLAY | MEDIA | + * |-------+-------+-------| + * | CALC | MY PC | TO(3) | + * `-----------------------' + */ + + [0] = LAYOUT_ortho_3x3( + KC_MPRV, KC_MUTE, KC_MNXT, + KC_MSTP, KC_MPLY, KC_MSEL, + KC_CALC, KC_MYCM, TO(3) + ), + + + /* LAYER 1 + * ,-------|ENCODER|-------. + * | MODE+ |RGB TOG| MODE- | + * |-------+-------+-------| + * |Bright-| PLAIN |Bright+| + * |-------+-------+-------| + * | SWIRL |BREATH | TO(0) | + * `-----------------------' + */ + + [1] = LAYOUT_ortho_3x3( + RGB_MOD, RGB_TOG, RGB_RMOD, + RGB_VAD, RGB_M_P, RGB_VAI, + RGB_M_SW, RGB_M_B, TO(0) + ), + + + /* LAYER 2 + * ,-------|ENCODER|-------. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [2] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, TO(0) + ), + + + /* LAYER 3 + * ,-------|ENCODER|-------. + * | | | | + * |-------+-------+-------| + * | TO(1) | | TO(2) | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [3] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + TO(1), KC_TRNS, TO(2), + KC_TRNS, KC_TRNS, TO(0) + ) + +}; + +/*Encoder Mapping*/ +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI)}, + [3] = { ENCODER_CCW_CW(KC_UP, KC_DOWN)}, +}; +#endif diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk new file mode 100644 index 000000000000..6ccd6d91943d --- /dev/null +++ b/keyboards/themadnoodle/ncc1701kb/v2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/ncc1701kb/v2/readme.md b/keyboards/themadnoodle/ncc1701kb/v2/readme.md index 4e70dd342211..02639aeec354 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/readme.md +++ b/keyboards/themadnoodle/ncc1701kb/v2/readme.md @@ -1,17 +1,27 @@ -# NCC-1701-KB v2 Keypad with Encoder +# NCC-1701-KB v.2 -![NCC-1701-KB V2 TOP](https://static.wixstatic.com/media/59d0ff_e9812deb74a4408ca77599a19a8f93b6~mv2.jpg) -![NCC-1701-KB V2 RGB](https://static.wixstatic.com/media/59d0ff_7a8968b70ed849a591664332964cc936~mv2.jpg) +![NCC1701KBv2](https://i.imgur.com/Zq1SjBTh.jpg) -The NCC-1701-KB v2 by The Mad Noodle Prototypes is a custom Star Trek inspired 3x3 mechanical keypad with an encoder knob and full RGB Underglow. +*The NCC-1701-KB v.2 is a 8 key macro keypad with a push button encoder knob* -* Keyboard Maintainer: [The Mad Noodle Prototypes](https://github.com/The-Mad-Noodle) -* Hardware Supported: NCC-1701-KB v2 PCB, ATmega32U4 -* Hardware Availability: [MadNoodlePrototypes.com](https://www.madnoodleprototypes.com/shop) +* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle) +* Hardware Supported: NCC-1701-KB v.2 PCB +* Hardware Availability: https://www.madnoodleprototypes.com/shop -Make example for this keyboard (after setting up your build environment): - make themadnoodle/ncc1701kb/v2:default +Compile example for this keyboard (after setting up your build environment): -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. -Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + qmk compile -kb themadnoodle/ncc1701kb/v2 -km default + +Flashing example for this keyboard: + + qmk flash -kb themadnoodle/ncc1701kb/v2 -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader & Flashing + + +**Physical reset button**: + +* Press the physical button located on the top left of the back of the PCB (Labeled RST) to enter Bootloader Mode diff --git a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk index dd5d8dbfe962..6e7633bfe015 100644 --- a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk +++ b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk @@ -1,14 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output -UNICODE_ENABLE = yes # Unicode -ENCODER_ENABLE = yes +# This file intentionally left blank diff --git a/keyboards/themadnoodle/noodlepad_micro/config.h b/keyboards/themadnoodle/noodlepad_micro/config.h new file mode 100644 index 000000000000..1dd3a20816b2 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 diff --git a/keyboards/themadnoodle/noodlepad_micro/info.json b/keyboards/themadnoodle/noodlepad_micro/info.json new file mode 100644 index 000000000000..fe7ab9ea7511 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/info.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "The Mad Noodle", + "keyboard_name": "NoodlePad Micro", + "maintainer": "the-mad-noodle", + "url": "https://www.madnoodleprototypes.com/", + "bootloader": "rp2040", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "rgblight": { + "hue_steps": 10, + "led_count": 4, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP0"], + "rows": ["GP26", "GP27", "GP28"] + }, + "processor": "RP2040", + "usb": { + "device_version": "3.0.0", + "pid": "0x0004", + "vid": "0x6A6C" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2} + ] + } + }, + "ws2812": { + "pin": "GP29", + "driver": "vendor" + }, + "encoder": { + "rotary": [ + { "pin_a": "GP2", "pin_b": "GP1" } + { "pin_a": "GP3", "pin_b": "GP4" } + ] + + } + + +} diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c new file mode 100644 index 000000000000..663a668ae849 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/keymap.c @@ -0,0 +1,68 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* LAYER 0 + * ,--ENC2-- --ENC1--. + * | << | | >> | + * |-------+-------+-------| + * | STOP | PLAY | MEDIA | + * |-------+-------+-------| + * | CALC | MAIL | PC/FN | + * `-----------------------' + */ + + [0] = LAYOUT( + KC_MPRV, KC_MNXT, + KC_MSTP, KC_MPLY, KC_MSEL, + LT(2,KC_CALC), KC_MAIL, LT(1, KC_MYCM) + ), + + + /* LAYER 1 + * ,--ENC2-- --ENC1--. + * | MODE+ | | MODE- | + * |-------+-------+-------| + * |Bright-| Tog |Bright+| + * |-------+-------+-------| + * | PLAIN |BREATH | | + * `-----------------------' + */ + + [1] = LAYOUT( + RGB_MOD, RGB_RMOD, + RGB_VAD, RGB_TOG, RGB_VAI, + RGB_M_P, RGB_M_B, KC_TRNS + ), + + + /* LAYER 2 (ENCODER) + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | | + * `-----------------------' + */ + + [2] = LAYOUT( + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + + +/*Encoder Mapping*/ +//-----------------------(ENC1)---------------------------------(ENC2)----------------- +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) } +}; +#endif diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c new file mode 100644 index 000000000000..d6df824a5089 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/keymap.c @@ -0,0 +1,87 @@ +// Copyright 2023 The Mad Noodle(@the_mad_noodle) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* LAYER 0 + * ,--ENC2-- --ENC1--. + * | << | | >> | + * |-------+-------+-------| + * | STOP | PLAY | MEDIA | + * |-------+-------+-------| + * | CALC | MY PC | TO(3) | + * `-----------------------' + */ + + [0] = LAYOUT( + KC_MPRV, KC_MNXT, + KC_MSTP, KC_MPLY, KC_MSEL, + KC_CALC, KC_MYCM, TO(3) + ), + + + /* LAYER 1 + * ,--ENC2-- --ENC1--. + * | MODE+ | | MODE- | + * |-------+-------+-------| + * |Bright-| Tog |Bright+| + * |-------+-------+-------| + * | PLAIN |BREATH | TO(0) | + * `-----------------------' + */ + + [1] = LAYOUT( + RGB_MOD, RGB_RMOD, + RGB_VAD, RGB_TOG, RGB_VAI, + RGB_M_P, RGB_M_B, TO(0) + ), + + + /* LAYER 2 + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | | | | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [2] = LAYOUT( + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, TO(0) + ), + + /* LAYER 3 + * ,--ENC2-- --ENC1--. + * | | | | + * |-------+-------+-------| + * | TO(1) | | TO(2) | + * |-------+-------+-------| + * | | | TO(0) | + * `-----------------------' + */ + + [3] = LAYOUT( + KC_TRNS, KC_TRNS, + TO(1), KC_TRNS, TO(2), + KC_TRNS, KC_TRNS, TO(0) + ) + +}; + + +/*Encoder Mapping*/ +//-----------------------(ENC1)---------------------------------(ENC2)----------------- +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, + [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [3] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(KC_DOWN, KC_UP) }, + +}; +#endif diff --git a/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk new file mode 100644 index 000000000000..6ccd6d91943d --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/readme.md b/keyboards/themadnoodle/noodlepad_micro/readme.md new file mode 100644 index 000000000000..a77c1ad7ba39 --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/readme.md @@ -0,0 +1,28 @@ +# NoodlePad [Micro] + +![NoodlePad [Micro]](https://i.imgur.com/uRmVt3ah.jpg) + +The NoodlePad [Micro] is a 6 key 2 encoder macro keypad designed using RP2040 chipset. + +* Keyboard Maintainer: [The Mad Noodle](https://github.com/The-Mad-Noodle) +* Hardware Supported: NoodlePad [Micro] +* Hardware Availability: https://www.madnoodleprototypes.com/shop + +Compile example for this keyboard (after setting up your build environment): + + qmk compile -kb themadnoodle/noodlepad_micro -km default + +Flashing example for this keyboard: + + qmk flash -kb themadnoodle/noodlepad_micro -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader & Flashing + + +**Physical reset button**: + +* Double press the button on the back, center, left of the PCB labeled "R" to enter the bootloader drive mode. + +* If you have a pre-compiled .uf2 file, copy it into bootloader drive (RPI-RP2), board will reset automatically once file is copied sucessfully \ No newline at end of file diff --git a/keyboards/themadnoodle/noodlepad_micro/rules.mk b/keyboards/themadnoodle/noodlepad_micro/rules.mk new file mode 100644 index 000000000000..6968c523355c --- /dev/null +++ b/keyboards/themadnoodle/noodlepad_micro/rules.mk @@ -0,0 +1,2 @@ +# This file intentionally left blank + diff --git a/keyboards/thevankeyboards/caravan/keymaps/default/config.h b/keyboards/thevankeyboards/caravan/keymaps/default/config.h deleted file mode 100644 index 6f70f09beec2..000000000000 --- a/keyboards/thevankeyboards/caravan/keymaps/default/config.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h index 265e0abbc315..bee9627188ed 100644 --- a/keyboards/tkc/portico/config.h +++ b/keyboards/tkc/portico/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN # undef ENABLE_RGB_MATRIX_BAND_SAT diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h index 2c8ecf806da4..69b5090764b8 100644 --- a/keyboards/tkc/portico68v2/config.h +++ b/keyboards/tkc/portico68v2/config.h @@ -25,7 +25,7 @@ along with this program. If not, see . #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/tkc/portico68v2/portico68v2.c b/keyboards/tkc/portico68v2/portico68v2.c index 90d8c12fcafd..561b4f8d106f 100644 --- a/keyboards/tkc/portico68v2/portico68v2.c +++ b/keyboards/tkc/portico68v2/portico68v2.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3741_led_t g_is31fl3741_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = { {0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB1 */ {0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB2 */ {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB3 */ diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index 8146141bf09b..727b0cccaff9 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/tominabox1/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h index 9b01cb3da477..13ea91148ef4 100644 --- a/keyboards/tominabox1/le_chiffre/config.h +++ b/keyboards/tominabox1/le_chiffre/config.h @@ -24,4 +24,4 @@ * WS2812 Underglow Matrix options */ #define RGB_MATRIX_LED_COUNT 11 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended diff --git a/keyboards/treasure/type9s3/config.h b/keyboards/treasure/type9s3/config.h index b87cd59b2f28..ba9969bcec5d 100644 --- a/keyboards/treasure/type9s3/config.h +++ b/keyboards/treasure/type9s3/config.h @@ -10,7 +10,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT diff --git a/keyboards/tunks/ergo33/keymaps/default/config.h b/keyboards/tunks/ergo33/keymaps/default/config.h index 33edf0b03cce..3ca11c66a661 100644 --- a/keyboards/tunks/ergo33/keymaps/default/config.h +++ b/keyboards/tunks/ergo33/keymaps/default/config.h @@ -20,7 +20,7 @@ * No external LED PCB: 10 * External LED PCB: 14 */ -#define RGBLED_NUM 14 +#define RGBLIGHT_LED_COUNT 14 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h index f3431bd412f7..4a87ec355b0a 100644 --- a/keyboards/ungodly/launch_pad/config.h +++ b/keyboards/ungodly/launch_pad/config.h @@ -24,7 +24,7 @@ # define RGB_MATRIX_LED_COUNT 22 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk deleted file mode 100644 index 8b137891791f..000000000000 --- a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk +++ /dev/null @@ -1 +0,0 @@ - diff --git a/keyboards/unison/keymaps/via/config.h b/keyboards/unison/keymaps/via/config.h index 48fe417a5dc5..07a2c9f5cc30 100644 --- a/keyboards/unison/keymaps/via/config.h +++ b/keyboards/unison/keymaps/via/config.h @@ -16,8 +16,8 @@ #pragma once - #undef RGBLED_NUM - #define RGBLED_NUM 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8) + #undef RGBLIGHT_LED_COUNT + #define RGBLIGHT_LED_COUNT 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8) #undef RGBLIGHT_LED_MAP #define RGBLIGHT_LED_MAP {2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} // Left to Right to Under diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json index 633207199437..43a3d9472c3b 100644 --- a/keyboards/v60_type_r/info.json +++ b/keyboards/v60_type_r/info.json @@ -18,22 +18,6 @@ "pin": "F7", "on_state": 0 }, - "rgblight": { - "driver": "custom", - "led_count": 1, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["60_ansi", "60_iso"], diff --git a/keyboards/v60_type_r/rules.mk b/keyboards/v60_type_r/rules.mk index d6654ffea641..a7f2bc702678 100644 --- a/keyboards/v60_type_r/rules.mk +++ b/keyboards/v60_type_r/rules.mk @@ -8,7 +8,7 @@ CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable the RGB Underglow +RGBLIGHT_ENABLE = no # Enable the RGB Underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes diff --git a/keyboards/v60_type_r/v60_type_r.c b/keyboards/v60_type_r/v60_type_r.c index 871d9915d304..b266472e64e5 100644 --- a/keyboards/v60_type_r/v60_type_r.c +++ b/keyboards/v60_type_r/v60_type_r.c @@ -131,20 +131,6 @@ void set_rgb_pin_off(uint8_t pin) { PORTF |= _BV(pin); } -void rgblight_set(void) { - // xprintf("Setting RGB underglow\n"); - if (!rgblight_config.enable) { - led[0].r = 0; - led[0].g = 0; - led[0].b = 0; - set_rgb_pin_off(RGB_RED_PIN); - set_rgb_pin_off(RGB_GREEN_PIN); - set_rgb_pin_off(RGB_BLUE_PIN); - } - - // //xprintf("Red: %u, Green: %u, Blue: %u\n", led[0].r, led[0].g, led[0].b); -} - ISR(TIMER3_COMPA_vect) { static uint8_t pwm = 0; diff --git a/keyboards/w1_at/config.h b/keyboards/w1_at/config.h deleted file mode 100644 index 79fdc4275fe9..000000000000 --- a/keyboards/w1_at/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright 2021 Yiancar-Designs - -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 - -/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */ -#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE diff --git a/keyboards/w1_at/keymaps/default/readme.md b/keyboards/w1_at/keymaps/default/readme.md deleted file mode 100644 index af0497e7209c..000000000000 --- a/keyboards/w1_at/keymaps/default/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# The default keymap for W1-AT. - -Layer 0 - -![Layer 0](https://i.imgur.com/pLdgxlJ.png) - -Layer 1 - -![Layer 1](https://i.imgur.com/v24h9EO.png) diff --git a/keyboards/w1_at/keymaps/via/readme.md b/keyboards/w1_at/keymaps/via/readme.md deleted file mode 100644 index 33cdf89e6002..000000000000 --- a/keyboards/w1_at/keymaps/via/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -# The default keymap for W1-AT. VIA support enabled. - -Layer 0 - -![Layer 0](https://i.imgur.com/4bUxnAz.png) - -Layer 1 - -![Layer 1](https://i.imgur.com/v24h9EO.png) diff --git a/keyboards/w1_at/keymaps/zq/rules.mk b/keyboards/w1_at/keymaps/zq/rules.mk deleted file mode 100644 index 036bd6d1c3ec..000000000000 --- a/keyboards/w1_at/keymaps/zq/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/w1_at/rules.mk b/keyboards/w1_at/rules.mk deleted file mode 100644 index 7c0709f41e6c..000000000000 --- a/keyboards/w1_at/rules.mk +++ /dev/null @@ -1,15 +0,0 @@ -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -v FFFF -p FFFF - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h index 4a3c8c3e274f..40de98e7cfc5 100644 --- a/keyboards/winry/winry315/config.h +++ b/keyboards/winry/winry315/config.h @@ -13,7 +13,7 @@ # define RGB_MATRIX_CENTER \ { 35, 35 } -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP // This option is required for the TYPING_HEATMAP and DIGITAL_RAIN effects, // both of which are disabled below, so the common support for those effects is diff --git a/keyboards/wolf/m60_b/config.h b/keyboards/wolf/m60_b/config.h index a0d44d48e3f4..ec25c261fa61 100644 --- a/keyboards/wolf/m60_b/config.h +++ b/keyboards/wolf/m60_b/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 62 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 diff --git a/keyboards/wolf/m6_c/config.h b/keyboards/wolf/m6_c/config.h index d5f391bcdd24..6469e6337962 100644 --- a/keyboards/wolf/m6_c/config.h +++ b/keyboards/wolf/m6_c/config.h @@ -3,7 +3,7 @@ #pragma once #define RGB_MATRIX_LED_COUNT 6 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index 28c506d8675d..accf64139d64 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -26,7 +26,7 @@ along with this program. If not, see . #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json index eacbbbccbd4d..4514192b6db3 100644 --- a/keyboards/work_louder/loop/info.json +++ b/keyboards/work_louder/loop/info.json @@ -30,6 +30,7 @@ "pin": "F1" }, "rgblight": { + "driver": "custom", "max_brightness": 120, "sleep": true, "animations": { diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index 98f2b869735f..f2c2d20f8a9e 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -7,7 +7,7 @@ #define RGB_MATRIX_LED_COUNT 12 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_DISABLE_KEYCODES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json index d76e7aa04943..21c4bc0da865 100644 --- a/keyboards/work_louder/micro/info.json +++ b/keyboards/work_louder/micro/info.json @@ -21,6 +21,7 @@ }, "processor": "atmega32u4", "rgblight": { + "driver": "custom", "animations": { "alternating": false, "breathing": true, diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index 22c6f7b1bddb..302655c56431 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -25,7 +25,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 2 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json index ab064bd019ed..7bbdb4e032e9 100644 --- a/keyboards/work_louder/nano/info.json +++ b/keyboards/work_louder/nano/info.json @@ -27,6 +27,7 @@ }, "rgblight": { "led_count": 6, + "driver": "custom", "max_brightness": 120, "sleep": true, "animations": { diff --git a/keyboards/work_louder/numpad/config.h b/keyboards/work_louder/numpad/config.h index f6a70b90b0ae..08ec8472e2ec 100644 --- a/keyboards/work_louder/numpad/config.h +++ b/keyboards/work_louder/numpad/config.h @@ -22,7 +22,7 @@ #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_DISABLE_KEYCODES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/work_louder/numpad/info.json b/keyboards/work_louder/numpad/info.json index 0fa2bf2565d9..9149fc77bb12 100644 --- a/keyboards/work_louder/numpad/info.json +++ b/keyboards/work_louder/numpad/info.json @@ -50,6 +50,7 @@ ] }, "rgblight": { + "driver": "custom", "animations": { "breathing": true, "knight": true, diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c index b4d1a2ad7291..9b395559714e 100644 --- a/keyboards/work_louder/rgb_functions.c +++ b/keyboards/work_louder/rgb_functions.c @@ -24,9 +24,9 @@ #include "ws2812_bitbang.c" -void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { - ws2812_setleds(start_led, num_leds); -} +const rgblight_driver_t rgblight_driver = { + .setleds = ws2812_setleds, +}; #endif #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index de91d98de931..520da36a9fe4 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -25,7 +25,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 49 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json index 1946b8bcf40b..163271bf7aa7 100644 --- a/keyboards/work_louder/work_board/info.json +++ b/keyboards/work_louder/work_board/info.json @@ -25,6 +25,7 @@ "pin": "D1" }, "rgblight": { + "driver": "custom", "max_brightness": 120, "sleep": true, "animations": { diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h index d28ca9eac482..c19090c7f32b 100644 --- a/keyboards/xbows/knight/config.h +++ b/keyboards/xbows/knight/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ diff --git a/keyboards/xbows/knight/knight.c b/keyboards/xbows/knight/knight.c index 05ff84060c58..87a297a5ed61 100644 --- a/keyboards/xbows/knight/knight.c +++ b/keyboards/xbows/knight/knight.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { + const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h index 433d8d994fda..67543d16f54f 100644 --- a/keyboards/xbows/knight_plus/config.h +++ b/keyboards/xbows/knight_plus/config.h @@ -19,7 +19,7 @@ # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_MATRIX_KEYPRESSES -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ { 92, 33 } diff --git a/keyboards/xbows/knight_plus/knight_plus.c b/keyboards/xbows/knight_plus/knight_plus.c index b84f6b964b7a..a5335337f1eb 100644 --- a/keyboards/xbows/knight_plus/knight_plus.c +++ b/keyboards/xbows/knight_plus/knight_plus.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { + const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h index 1710e17c2f34..6e8741567a6f 100644 --- a/keyboards/xbows/nature/config.h +++ b/keyboards/xbows/nature/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ diff --git a/keyboards/xbows/nature/nature.c b/keyboards/xbows/nature/nature.c index 1ba964e453b9..9fcd40c08c82 100644 --- a/keyboards/xbows/nature/nature.c +++ b/keyboards/xbows/nature/nature.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { + const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h index df025a850da0..2cad3d22516d 100644 --- a/keyboards/xbows/numpad/config.h +++ b/keyboards/xbows/numpad/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER \ diff --git a/keyboards/xbows/numpad/numpad.c b/keyboards/xbows/numpad/numpad.c index 519a1b36f417..b84f59fbed7d 100644 --- a/keyboards/xbows/numpad/numpad.c +++ b/keyboards/xbows/numpad/numpad.c @@ -15,7 +15,7 @@ */ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { + const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C3_3, C2_3, C1_3}, // L01 {0, C3_4, C2_4, C1_4}, // L02 diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h index 92bcfa492c76..033e1d2cbee1 100644 --- a/keyboards/xbows/ranger/config.h +++ b/keyboards/xbows/ranger/config.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_CENTER { 103, 32 } diff --git a/keyboards/xbows/ranger/ranger.c b/keyboards/xbows/ranger/ranger.c index 028b5fca5c05..1ebb9a127c6a 100644 --- a/keyboards/xbows/ranger/ranger.c +++ b/keyboards/xbows/ranger/ranger.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C3_3, C2_3, C1_3}, // L01 {0, C3_4, C2_4, C1_4}, // L02 diff --git a/keyboards/xbows/woody/config.h b/keyboards/xbows/woody/config.h index 7d06b7abdaeb..8b701609cebb 100644 --- a/keyboards/xbows/woody/config.h +++ b/keyboards/xbows/woody/config.h @@ -3,7 +3,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c index e58ec15e1024..9bfa1fd2193e 100644 --- a/keyboards/xbows/woody/woody.c +++ b/keyboards/xbows/woody/woody.c @@ -1,6 +1,6 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = { +const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h index 6e3a51166ebc..c40aea16e252 100755 --- a/keyboards/xelus/la_plus/config.h +++ b/keyboards/xelus/la_plus/config.h @@ -27,7 +27,7 @@ #define RGB_MATRIX_LED_COUNT 32 #define RGB_MATRIX_DEFAULT_VAL 80 -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h index e12b1af4430a..870a0c61a1ea 100644 --- a/keyboards/xelus/pachi/rgb/rev1/config.h +++ b/keyboards/xelus/pachi/rgb/rev1/config.h @@ -45,7 +45,7 @@ #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h index f85260270513..059bafcf3266 100644 --- a/keyboards/xelus/pachi/rgb/rev2/config.h +++ b/keyboards/xelus/pachi/rgb/rev2/config.h @@ -45,7 +45,7 @@ #define RGB_MATRIX_DEFAULT_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_SLEEP // turn off effects when suspended #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h index 9a0146172dd3..11d1dac4bdf4 100644 --- a/keyboards/xelus/valor/rev2/config.h +++ b/keyboards/xelus/valor/rev2/config.h @@ -55,7 +55,7 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CUSTOM_test_mode // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h index 4aa37c5f20b1..18a4241fb7d6 100644 --- a/keyboards/yandrstudio/nz64/config.h +++ b/keyboards/yandrstudio/nz64/config.h @@ -27,7 +27,7 @@ # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 -# define RGB_DISABLE_WHEN_USB_SUSPENDED true +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_CENTER { 96, 32 } # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h index dba2f773950a..527a56b6c6b3 100644 --- a/keyboards/yandrstudio/nz67v2/config.h +++ b/keyboards/yandrstudio/nz67v2/config.h @@ -22,7 +22,7 @@ # define RGB_MATRIX_LED_COUNT 86 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/yandrstudio/tg67/config.h b/keyboards/yandrstudio/tg67/config.h index 3386838c7494..484c50efd3fd 100644 --- a/keyboards/yandrstudio/tg67/config.h +++ b/keyboards/yandrstudio/tg67/config.h @@ -21,7 +21,7 @@ # define RGB_MATRIX_LED_COUNT 69 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250 -# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_SLEEP # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/ymdk/id75/config.h b/keyboards/ymdk/id75/config.h index ed0d3f95397b..b60d0178c65c 100644 --- a/keyboards/ymdk/id75/config.h +++ b/keyboards/ymdk/id75/config.h @@ -18,7 +18,7 @@ #define RGB_MATRIX_LED_COUNT 89 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/ymdk/ymd09/config.h b/keyboards/ymdk/ymd09/config.h index b66c41ad6968..4fe12b8fc35a 100644 --- a/keyboards/ymdk/ymd09/config.h +++ b/keyboards/ymdk/ymd09/config.h @@ -20,7 +20,7 @@ along with this program. If not, see . #define RGB_MATRIX_LED_COUNT 9 -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/ymdk/ymd40/air40/config.h b/keyboards/ymdk/ymd40/air40/config.h index 2f64f97d93bb..b6e3a5c6c1e8 100644 --- a/keyboards/ymdk/ymd40/air40/config.h +++ b/keyboards/ymdk/ymd40/air40/config.h @@ -20,7 +20,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 // Limit to vendor-recommended value -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects diff --git a/keyboards/ymdk/ymd75/rev4/iso/config.h b/keyboards/ymdk/ymd75/rev4/iso/config.h index 317c0ec2362c..210d6f923315 100644 --- a/keyboards/ymdk/ymd75/rev4/iso/config.h +++ b/keyboards/ymdk/ymd75/rev4/iso/config.h @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_SLEEP #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 diff --git a/keyboards/yncognito/batpad/config.h b/keyboards/yncognito/batpad/config.h index d44817cae9a8..dc219023efb8 100644 --- a/keyboards/yncognito/batpad/config.h +++ b/keyboards/yncognito/batpad/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_WHEN_USB_SUSPENDED +// #define RGB_MATRIX_SLEEP #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/yosino58/keymaps/default/config.h b/keyboards/yosino58/keymaps/default/config.h index 763b31aa109d..e82254fff17b 100644 --- a/keyboards/yosino58/keymaps/default/config.h +++ b/keyboards/yosino58/keymaps/default/config.h @@ -29,7 +29,7 @@ along with this program. If not, see . #define QUICK_TAP_TERM 0 #define TAPPING_TERM 100 -#undef RGBLED_NUM +#undef RGBLIGHT_LED_COUNT #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL @@ -40,7 +40,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define RGBLED_NUM 12 +#define RGBLIGHT_LED_COUNT 12 #define RGBLIGHT_LIMIT_VAL 120 #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h index 1d3b4dd3ee02..67951cde59cc 100644 --- a/keyboards/yushakobo/quick17/config.h +++ b/keyboards/yushakobo/quick17/config.h @@ -21,7 +21,7 @@ along with this program. If not, see . # define RGB_MATRIX_LED_COUNT 18 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_SLEEP // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c new file mode 100644 index 000000000000..11958f370076 --- /dev/null +++ b/layouts/default/ortho_5x13/default_ortho_5x13/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │Bsp│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Tab│Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │# │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Ent│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Sft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ↑ │ / │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Ctl│GUI│LWR│Alt│RSE│ │ │ │Alt│Sft│← │ ↓ │ → │ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + [0] = LAYOUT_ortho_5x13( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_NUHS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, TT(1), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ortho_5x13( + KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , KC_EQL , + KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ , + _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + ), + [2] = LAYOUT_ortho_5x13( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , + _______, _______, _______, _______, QK_RBT, _______, _______, _______, _______, _______, _______, _______, _______ , + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + ), +}; diff --git a/layouts/default/ortho_5x13/info.json b/layouts/default/ortho_5x13/info.json new file mode 100644 index 000000000000..1bfa00d77035 --- /dev/null +++ b/layouts/default/ortho_5x13/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "5x13 ortholinear layout", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_ortho_5x13": { + "layout": [ + {"x":0 , "y":0}, + {"x":1 , "y":0}, + {"x":2 , "y":0}, + {"x":3 , "y":0}, + {"x":4 , "y":0}, + {"x":5 , "y":0}, + {"x":6 , "y":0}, + {"x":7 , "y":0}, + {"x":8 , "y":0}, + {"x":9 , "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0 , "y":1}, + {"x":1 , "y":1}, + {"x":2 , "y":1}, + {"x":3 , "y":1}, + {"x":4 , "y":1}, + {"x":5 , "y":1}, + {"x":6 , "y":1}, + {"x":7 , "y":1}, + {"x":8 , "y":1}, + {"x":9 , "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0 , "y":2}, + {"x":1 , "y":2}, + {"x":2 , "y":2}, + {"x":3 , "y":2}, + {"x":4 , "y":2}, + {"x":5 , "y":2}, + {"x":6 , "y":2}, + {"x":7 , "y":2}, + {"x":8 , "y":2}, + {"x":9 , "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0 , "y":3}, + {"x":1 , "y":3}, + {"x":2 , "y":3}, + {"x":3 , "y":3}, + {"x":4 , "y":3}, + {"x":5 , "y":3}, + {"x":6 , "y":3}, + {"x":7 , "y":3}, + {"x":8 , "y":3}, + {"x":9 , "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + + {"x":0 , "y":4}, + {"x":1 , "y":4}, + {"x":2 , "y":4}, + {"x":3 , "y":4}, + {"x":4 , "y":4}, + {"x":5 , "y":4}, + {"x":6 , "y":4}, + {"x":7 , "y":4}, + {"x":8 , "y":4}, + {"x":9 , "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4} + ] + } + } +} diff --git a/layouts/default/ortho_5x13/layout.json b/layouts/default/ortho_5x13/layout.json new file mode 100644 index 000000000000..017a9d0fcd24 --- /dev/null +++ b/layouts/default/ortho_5x13/layout.json @@ -0,0 +1,5 @@ +[{a:7},"","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""] diff --git a/layouts/default/ortho_5x13/readme.md b/layouts/default/ortho_5x13/readme.md new file mode 100644 index 000000000000..4ec2f9297af5 --- /dev/null +++ b/layouts/default/ortho_5x13/readme.md @@ -0,0 +1,3 @@ +# ortho_5x13 + + LAYOUT_ortho_5x13 diff --git a/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c b/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c index 5816e968d130..382707461233 100644 --- a/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c +++ b/layouts/default/ortho_5x14/default_ortho_5x14/keymap.c @@ -8,7 +8,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ - * │Esc│Tab│ Q │ W │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * │Esc│Tab│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ * │Del│Cap│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [0] = LAYOUT_ortho_5x14( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_ESC, KC_TAB, KC_Q, KC_W, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LEFT, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, KC_ENT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_DOWN diff --git a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c new file mode 100644 index 000000000000..527f87f84bca --- /dev/null +++ b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c @@ -0,0 +1,46 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│Del│Bsp│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Tab│Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │# │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Ent│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Sft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ ↑ │ / │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │Ctl│GUI│Lwr│Alt│Rse│ │ │ │Alt│Sft│← │ ↓ │ → │ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + [0] = LAYOUT_ortho_6x13( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, KC_BSPC, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + KC_NUHS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, TT(0), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT + ) + [1] = LAYOUT_ortho_6x13( + KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, _______, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ , + _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + ), + [2] = LAYOUT_ortho_6x13( + KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, _______, _______, _______, QK_RBT, _______, _______, _______, _______, _______, _______, _______, _______ , + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , + _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, KC_WH_U, _______ , + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + ), +}; diff --git a/layouts/default/ortho_6x13/info.json b/layouts/default/ortho_6x13/info.json new file mode 100644 index 000000000000..728bce3b2c14 --- /dev/null +++ b/layouts/default/ortho_6x13/info.json @@ -0,0 +1,94 @@ +{ + "keyboard_name": "6x13 ortholinear layout", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_ortho_6x13": { + "layout": [ + {"x":0 , "y":0}, + {"x":1 , "y":0}, + {"x":2 , "y":0}, + {"x":3 , "y":0}, + {"x":4 , "y":0}, + {"x":5 , "y":0}, + {"x":6 , "y":0}, + {"x":7 , "y":0}, + {"x":8 , "y":0}, + {"x":9 , "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0 , "y":1}, + {"x":1 , "y":1}, + {"x":2 , "y":1}, + {"x":3 , "y":1}, + {"x":4 , "y":1}, + {"x":5 , "y":1}, + {"x":6 , "y":1}, + {"x":7 , "y":1}, + {"x":8 , "y":1}, + {"x":9 , "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0 , "y":2}, + {"x":1 , "y":2}, + {"x":2 , "y":2}, + {"x":3 , "y":2}, + {"x":4 , "y":2}, + {"x":5 , "y":2}, + {"x":6 , "y":2}, + {"x":7 , "y":2}, + {"x":8 , "y":2}, + {"x":9 , "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0 , "y":3}, + {"x":1 , "y":3}, + {"x":2 , "y":3}, + {"x":3 , "y":3}, + {"x":4 , "y":3}, + {"x":5 , "y":3}, + {"x":6 , "y":3}, + {"x":7 , "y":3}, + {"x":8 , "y":3}, + {"x":9 , "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + + {"x":0 , "y":4}, + {"x":1 , "y":4}, + {"x":2 , "y":4}, + {"x":3 , "y":4}, + {"x":4 , "y":4}, + {"x":5 , "y":4}, + {"x":6 , "y":4}, + {"x":7 , "y":4}, + {"x":8 , "y":4}, + {"x":9 , "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + + {"x":0 , "y":5}, + {"x":1 , "y":5}, + {"x":2 , "y":5}, + {"x":3 , "y":5}, + {"x":4 , "y":5}, + {"x":5 , "y":5}, + {"x":6 , "y":5}, + {"x":7 , "y":5}, + {"x":8 , "y":5}, + {"x":9 , "y":5}, + {"x":10, "y":5}, + {"x":11, "y":5}, + {"x":12, "y":5} + ] + } + } +} diff --git a/layouts/default/ortho_6x13/layout.json b/layouts/default/ortho_6x13/layout.json new file mode 100644 index 000000000000..1e5dab5b896d --- /dev/null +++ b/layouts/default/ortho_6x13/layout.json @@ -0,0 +1,6 @@ +[{a:7},"","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""], +["","","","","","","","","","","","",""] diff --git a/layouts/default/ortho_6x13/readme.md b/layouts/default/ortho_6x13/readme.md new file mode 100644 index 000000000000..d4ea33dda922 --- /dev/null +++ b/layouts/default/ortho_6x13/readme.md @@ -0,0 +1,3 @@ +# ortho_6x13 + + LAYOUT_ortho_6x13 diff --git a/layouts/default/readme.md b/layouts/default/readme.md index d5d268ae8b63..892dbf1e0347 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -1403,6 +1403,21 @@ LAYOUT_ortho_5x12 └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ ``` +``` +LAYOUT_ortho_5x13 +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ +``` + ``` LAYOUT_ortho_5x14 ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ @@ -1465,6 +1480,23 @@ LAYOUT_ortho_6x4 └───┴───┴───┴───┘ ``` +``` +LAYOUT_ortho_6x13 +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ +``` + ``` LAYOUT_planck_mit ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ diff --git a/lib/chibios-contrib b/lib/chibios-contrib index da78eb3759b8..9d7a7f904ed1 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit da78eb3759b8d1779b237657c7667baa4aa95ca1 +Subproject commit 9d7a7f904ed135e3459cf6d602db56a26872df6b diff --git a/platforms/chibios/converters/promicro_to_imera/_pin_defs.h b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h new file mode 100644 index 000000000000..475a84d69756 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_imera/_pin_defs.h @@ -0,0 +1,36 @@ +// Copyright 2023 splitkb.com +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Left side (front) +#define D3 0U +#define D2 1U +// GND +// GND +#define D1 2U +#define D0 3U +#define D4 4U +#define C6 5U +#define D7 6U +#define E6 7U +#define B4 8U +#define B5 9U + +// Right side (front) +// RAW +// GND +// RESET +// VCC +#define F4 29U +#define F5 28U +#define F6 17U +#define F7 16U +#define B1 22U +#define B3 20U +#define B2 23U +#define B6 21U + +// LEDs +#define D5 24U // Power LED, default-on +#define B0 18U // Unconnected diff --git a/platforms/chibios/converters/promicro_to_imera/converter.mk b/platforms/chibios/converters/promicro_to_imera/converter.mk new file mode 100644 index 000000000000..bfca20cd9932 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_imera/converter.mk @@ -0,0 +1,10 @@ +# rp2040_ce MCU settings for converting AVR projects +MCU := RP2040 +BOARD := QMK_PM2040 +BOOTLOADER := rp2040 + +# These are defaults based on what has been implemented for RP2040 boards +SERIAL_DRIVER ?= vendor +WS2812_DRIVER ?= vendor +BACKLIGHT_DRIVER ?= software +OPT_DEFS += -DUSB_VBUS_PIN=19U diff --git a/platforms/chibios/drivers/analog.c b/platforms/chibios/drivers/analog.c index bf84ce8f763d..fb146df9367a 100644 --- a/platforms/chibios/drivers/analog.c +++ b/platforms/chibios/drivers/analog.c @@ -31,7 +31,15 @@ #endif #if STM32_ADCV3_OVERSAMPLING -# error "STM32 ADCV3 Oversampling is not supported at this time." +// Apparently all ADCV3 chips that support oversampling (STM32L4xx, STM32L4xx+, +// STM32G4xx, STM32WB[35]x) have errata like “Wrong ADC result if conversion +// done late after calibration or previous conversion”; the workaround is to +// perform a dummy conversion and discard its result. STM32G4xx chips also +// have the “ADC channel 0 converted instead of the required ADC channel” +// errata, one workaround for which is also to perform a dummy conversion. +# define ADC_DUMMY_CONVERSIONS_AT_START 1 +#else +# define ADC_DUMMY_CONVERSIONS_AT_START 0 #endif // Otherwise assume V3 @@ -76,8 +84,10 @@ #ifndef ADC_COUNT # if defined(RP2040) || defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F4XX) || defined(GD32VF103) || defined(WB32F3G71xx) || defined(WB32FQ95xx) # define ADC_COUNT 1 -# elif defined(STM32F3XX) +# elif defined(STM32F3XX) || defined(STM32G4XX) # define ADC_COUNT 4 +# elif defined(STM32L4XX) +# define ADC_COUNT 3 # else # error "ADC_COUNT has not been set for this ARM microcontroller." # endif @@ -89,13 +99,24 @@ # error "The ARM ADC implementation currently only supports reading one channel at a time." #endif +// Add dummy conversions as extra channels (this would work only on chips that +// have multiple channel index fields instead of a channel mask, but all chips +// that need that workaround are like that). +#define ADC_TOTAL_CHANNELS (ADC_DUMMY_CONVERSIONS_AT_START + ADC_NUM_CHANNELS) + #ifndef ADC_BUFFER_DEPTH # define ADC_BUFFER_DEPTH 1 #endif // For more sampling rate options, look at hal_adc_lld.h in ChibiOS -#ifndef ADC_SAMPLING_RATE -# define ADC_SAMPLING_RATE ADC_SMPR_SMP_1P5 +#if !defined(ADC_SAMPLING_RATE) && !defined(RP2040) +# if defined(ADC_SMPR_SMP_1P5) +# define ADC_SAMPLING_RATE ADC_SMPR_SMP_1P5 +# elif defined(ADC_SMPR_SMP_2P5) // STM32L4XX, STM32L4XXP, STM32G4XX, STM32WBXX +# define ADC_SAMPLING_RATE ADC_SMPR_SMP_2P5 +# else +# error "Cannot determine the default ADC_SAMPLING_RATE for this MCU." +# endif #endif // Options are 12, 10, 8, and 6 bit. @@ -108,7 +129,7 @@ #endif static ADCConfig adcCfg = {}; -static adcsample_t sampleBuffer[ADC_NUM_CHANNELS * ADC_BUFFER_DEPTH]; +static adcsample_t sampleBuffer[ADC_TOTAL_CHANNELS * ADC_BUFFER_DEPTH]; // Initialize to max number of ADCs, set to empty object to initialize all to false. static bool adcInitialized[ADC_COUNT] = {}; @@ -116,7 +137,7 @@ static bool adcInitialized[ADC_COUNT] = {}; // TODO: add back TR handling??? static ADCConversionGroup adcConversionGroup = { .circular = FALSE, - .num_channels = (uint16_t)(ADC_NUM_CHANNELS), + .num_channels = (uint16_t)(ADC_TOTAL_CHANNELS), #if defined(USE_ADCV1) .cfgr1 = ADC_CFGR1_CONT | ADC_RESOLUTION, .smpr = ADC_SAMPLING_RATE, @@ -240,6 +261,74 @@ __attribute__((weak)) adc_mux pinToMux(pin_t pin) { case C5: return TO_MUX( ADC_CHANNEL_IN15, 0 ); // STM32F103x[C-G] in 144-pin packages also have analog inputs on F6...F10, but they are on ADC3, and the // ChibiOS ADC driver for STM32F1xx currently supports only ADC1, therefore these pins are not usable. +#elif defined(STM32L4XX) + case A0: return TO_MUX( ADC_CHANNEL_IN5, 0 ); // Can also be ADC2 in some cases + case A1: return TO_MUX( ADC_CHANNEL_IN6, 0 ); // Can also be ADC2 in some cases + case A2: return TO_MUX( ADC_CHANNEL_IN7, 0 ); // Can also be ADC2 + case A3: return TO_MUX( ADC_CHANNEL_IN8, 0 ); // Can also be ADC2 + case A4: return TO_MUX( ADC_CHANNEL_IN9, 0 ); // Can also be ADC2 + case A5: return TO_MUX( ADC_CHANNEL_IN10, 0 ); // Can also be ADC2 + case A6: return TO_MUX( ADC_CHANNEL_IN11, 0 ); // Can also be ADC2 + case A7: return TO_MUX( ADC_CHANNEL_IN12, 0 ); // Can also be ADC2 + case B0: return TO_MUX( ADC_CHANNEL_IN15, 0 ); // Can also be ADC2 + case B1: return TO_MUX( ADC_CHANNEL_IN16, 0 ); // Can also be ADC2 + case C0: return TO_MUX( ADC_CHANNEL_IN1, 0 ); // Can also be ADC2 or ADC3 + case C1: return TO_MUX( ADC_CHANNEL_IN2, 0 ); // Can also be ADC2 or ADC3 + case C2: return TO_MUX( ADC_CHANNEL_IN3, 0 ); // Can also be ADC2 or ADC3 + case C3: return TO_MUX( ADC_CHANNEL_IN4, 0 ); // Can also be ADC2 or ADC3 + case C4: return TO_MUX( ADC_CHANNEL_IN13, 0 ); // Can also be ADC2 + case C5: return TO_MUX( ADC_CHANNEL_IN14, 0 ); // Can also be ADC2 +# if STM32_HAS_GPIOF && STM32_ADC_USE_ADC3 + case F3: return TO_MUX( ADC_CHANNEL_IN6, 2 ); + case F4: return TO_MUX( ADC_CHANNEL_IN7, 2 ); + case F5: return TO_MUX( ADC_CHANNEL_IN8, 2 ); + case F6: return TO_MUX( ADC_CHANNEL_IN9, 2 ); + case F7: return TO_MUX( ADC_CHANNEL_IN10, 2 ); + case F8: return TO_MUX( ADC_CHANNEL_IN11, 2 ); + case F9: return TO_MUX( ADC_CHANNEL_IN12, 2 ); + case F10: return TO_MUX( ADC_CHANNEL_IN13, 2 ); +# endif +#elif defined(STM32G4XX) + case A0: return TO_MUX( ADC_CHANNEL_IN1, 0 ); // Can also be ADC2 + case A1: return TO_MUX( ADC_CHANNEL_IN2, 0 ); // Can also be ADC2 + case A2: return TO_MUX( ADC_CHANNEL_IN3, 0 ); + case A3: return TO_MUX( ADC_CHANNEL_IN4, 0 ); + case A4: return TO_MUX( ADC_CHANNEL_IN17, 1 ); + case A5: return TO_MUX( ADC_CHANNEL_IN13, 1 ); + case A6: return TO_MUX( ADC_CHANNEL_IN3, 1 ); + case A7: return TO_MUX( ADC_CHANNEL_IN4, 1 ); + case B0: return TO_MUX( ADC_CHANNEL_IN15, 0 ); // Can also be ADC3 + case B1: return TO_MUX( ADC_CHANNEL_IN12, 0 ); // Can also be ADC3 + case B2: return TO_MUX( ADC_CHANNEL_IN12, 1 ); + case B11: return TO_MUX( ADC_CHANNEL_IN14, 0 ); // Can also be ADC2 + case B12: return TO_MUX( ADC_CHANNEL_IN11, 0 ); // Can also be ADC4 + case B13: return TO_MUX( ADC_CHANNEL_IN5, 2 ); + case B14: return TO_MUX( ADC_CHANNEL_IN5, 0 ); // Can also be ADC4 + case B15: return TO_MUX( ADC_CHANNEL_IN15, 1 ); // Can also be ADC4 + case C0: return TO_MUX( ADC_CHANNEL_IN6, 0 ); // Can also be ADC2 + case C1: return TO_MUX( ADC_CHANNEL_IN7, 0 ); // Can also be ADC2 + case C2: return TO_MUX( ADC_CHANNEL_IN8, 0 ); // Can also be ADC2 + case C3: return TO_MUX( ADC_CHANNEL_IN9, 0 ); // Can also be ADC2 + case C4: return TO_MUX( ADC_CHANNEL_IN5, 1 ); + case C5: return TO_MUX( ADC_CHANNEL_IN11, 1 ); + case D8: return TO_MUX( ADC_CHANNEL_IN12, 3 ); + case D9: return TO_MUX( ADC_CHANNEL_IN13, 3 ); + case D10: return TO_MUX( ADC_CHANNEL_IN7, 2 ); // Can also be ADC4 + case D11: return TO_MUX( ADC_CHANNEL_IN8, 2 ); // Can also be ADC4 + case D12: return TO_MUX( ADC_CHANNEL_IN9, 2 ); // Can also be ADC4 + case D13: return TO_MUX( ADC_CHANNEL_IN10, 2 ); // Can also be ADC4 + case D14: return TO_MUX( ADC_CHANNEL_IN11, 2 ); // Can also be ADC4 + case E5: return TO_MUX( ADC_CHANNEL_IN2, 3 ); + case E7: return TO_MUX( ADC_CHANNEL_IN4, 2 ); + case E8: return TO_MUX( ADC_CHANNEL_IN6, 2 ); // Can also be ADC4 + case E9: return TO_MUX( ADC_CHANNEL_IN2, 2 ); + case E10: return TO_MUX( ADC_CHANNEL_IN14, 2 ); // Can also be ADC4 + case E11: return TO_MUX( ADC_CHANNEL_IN15, 2 ); // Can also be ADC4 + case E12: return TO_MUX( ADC_CHANNEL_IN16, 2 ); // Can also be ADC4 + case E13: return TO_MUX( ADC_CHANNEL_IN3, 2 ); + case E14: return TO_MUX( ADC_CHANNEL_IN1, 3 ); + case F0: return TO_MUX( ADC_CHANNEL_IN10, 0 ); + case F1: return TO_MUX( ADC_CHANNEL_IN10, 1 ); #elif defined(RP2040) case 26U: return TO_MUX(0, 0); case 27U: return TO_MUX(1, 0); @@ -306,7 +395,11 @@ int16_t adc_read(adc_mux mux) { #elif defined(RP2040) adcConversionGroup.channel_mask = 1 << mux.input; #else - adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(mux.input); + adcConversionGroup.sqr[0] = ADC_SQR1_SQ1_N(mux.input) +# if ADC_DUMMY_CONVERSIONS_AT_START >= 1 + | ADC_SQR1_SQ2_N(mux.input) +# endif + ; #endif ADCDriver* targetDriver = intToADCDriver(mux.adc); @@ -321,9 +414,9 @@ int16_t adc_read(adc_mux mux) { #if defined(USE_ADCV2) || defined(RP2040) // fake 12-bit -> N-bit scale - return (*sampleBuffer) >> (12 - ADC_RESOLUTION); + return (sampleBuffer[ADC_DUMMY_CONVERSIONS_AT_START]) >> (12 - ADC_RESOLUTION); #else // already handled as part of adcConvert - return *sampleBuffer; + return sampleBuffer[ADC_DUMMY_CONVERSIONS_AT_START]; #endif } diff --git a/platforms/chibios/drivers/audio_dac.h b/platforms/chibios/drivers/audio_dac.h index 07cd622ead2a..2f62d12934b6 100644 --- a/platforms/chibios/drivers/audio_dac.h +++ b/platforms/chibios/drivers/audio_dac.h @@ -23,11 +23,6 @@ # define A5 PAL_LINE(GPIOA, 5) #endif -/** - * Size of the dac_buffer arrays. All must be the same size. - */ -#define AUDIO_DAC_BUFFER_SIZE 256U - /** * Highest value allowed sample value. @@ -96,6 +91,35 @@ # define AUDIO_DAC_SAMPLE_RATE 44100U #endif +/** + * Size of the dac_buffer array. This controls the length of the runtime buffer + * which accumulates the data to be sent to the DAC every few milliseconds, and + * it does not need to correspond to the length of the wavetable for the chosen + * waveform defined by AUDIO_DAC_SAMPLE_WAVEFORM_* in the additive DAC driver. + * By default, this is set to be as close to 3.3 ms as possible, giving 300 DAC + * interrupts per second. Any smaller and the interrupt load gets too heavy and + * this results in crackling due to buffer underrun in the additive DAC driver; + * too large and the RAM (additive driver) or flash (basic driver) usage may be + * too high, causing build failures, and matrix scanning is liable to have long + * periodic pauses that delay key presses or releases or fully lose short taps. + * Large buffers also cause notes to take longer to stop after they should from + * music mode or MIDI input. + * This should be a power of 2 for maximum compatibility. + */ +#ifndef AUDIO_DAC_BUFFER_SIZE +# if AUDIO_DAC_SAMPLE_RATE < 5100U +# define AUDIO_DAC_BUFFER_SIZE 16U +# elif AUDIO_DAC_SAMPLE_RATE < 9900U +# define AUDIO_DAC_BUFFER_SIZE 32U +# elif AUDIO_DAC_SAMPLE_RATE < 19500U +# define AUDIO_DAC_BUFFER_SIZE 64U +# elif AUDIO_DAC_SAMPLE_RATE < 38700U +# define AUDIO_DAC_BUFFER_SIZE 128U +# else +# define AUDIO_DAC_BUFFER_SIZE 256U +# endif +#endif + /** * The number of tones that can be played simultaneously. If too high a value * is used here, the keyboard will freeze and glitch-out when that many tones diff --git a/platforms/chibios/drivers/audio_dac_additive.c b/platforms/chibios/drivers/audio_dac_additive.c index 26e044b04871..d6fde42b68fc 100644 --- a/platforms/chibios/drivers/audio_dac_additive.c +++ b/platforms/chibios/drivers/audio_dac_additive.c @@ -53,35 +53,39 @@ #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_SINE /* one full sine wave over [0,2*pi], but shifted up one amplitude and left pi/4; for the samples to start at 0 */ -static const dacsample_t dac_buffer_sine[AUDIO_DAC_BUFFER_SIZE] = { +static const dacsample_t dac_buffer_sine[] = { // 256 values, max 4095 0x0, 0x1, 0x2, 0x6, 0xa, 0xf, 0x16, 0x1e, 0x27, 0x32, 0x3d, 0x4a, 0x58, 0x67, 0x78, 0x89, 0x9c, 0xb0, 0xc5, 0xdb, 0xf2, 0x10a, 0x123, 0x13e, 0x159, 0x175, 0x193, 0x1b1, 0x1d1, 0x1f1, 0x212, 0x235, 0x258, 0x27c, 0x2a0, 0x2c6, 0x2ed, 0x314, 0x33c, 0x365, 0x38e, 0x3b8, 0x3e3, 0x40e, 0x43a, 0x467, 0x494, 0x4c2, 0x4f0, 0x51f, 0x54e, 0x57d, 0x5ad, 0x5dd, 0x60e, 0x63f, 0x670, 0x6a1, 0x6d3, 0x705, 0x737, 0x769, 0x79b, 0x7cd, 0x800, 0x832, 0x864, 0x896, 0x8c8, 0x8fa, 0x92c, 0x95e, 0x98f, 0x9c0, 0x9f1, 0xa22, 0xa52, 0xa82, 0xab1, 0xae0, 0xb0f, 0xb3d, 0xb6b, 0xb98, 0xbc5, 0xbf1, 0xc1c, 0xc47, 0xc71, 0xc9a, 0xcc3, 0xceb, 0xd12, 0xd39, 0xd5f, 0xd83, 0xda7, 0xdca, 0xded, 0xe0e, 0xe2e, 0xe4e, 0xe6c, 0xe8a, 0xea6, 0xec1, 0xedc, 0xef5, 0xf0d, 0xf24, 0xf3a, 0xf4f, 0xf63, 0xf76, 0xf87, 0xf98, 0xfa7, 0xfb5, 0xfc2, 0xfcd, 0xfd8, 0xfe1, 0xfe9, 0xff0, 0xff5, 0xff9, 0xffd, 0xffe, - 0xfff, 0xffe, 0xffd, 0xff9, 0xff5, 0xff0, 0xfe9, 0xfe1, 0xfd8, 0xfcd, 0xfc2, 0xfb5, 0xfa7, 0xf98, 0xf87, 0xf76, 0xf63, 0xf4f, 0xf3a, 0xf24, 0xf0d, 0xef5, 0xedc, 0xec1, 0xea6, 0xe8a, 0xe6c, 0xe4e, 0xe2e, 0xe0e, 0xded, 0xdca, 0xda7, 0xd83, 0xd5f, 0xd39, 0xd12, 0xceb, 0xcc3, 0xc9a, 0xc71, 0xc47, 0xc1c, 0xbf1, 0xbc5, 0xb98, 0xb6b, 0xb3d, 0xb0f, 0xae0, 0xab1, 0xa82, 0xa52, 0xa22, 0x9f1, 0x9c0, 0x98f, 0x95e, 0x92c, 0x8fa, 0x8c8, 0x896, 0x864, 0x832, 0x800, 0x7cd, 0x79b, 0x769, 0x737, 0x705, 0x6d3, 0x6a1, 0x670, 0x63f, 0x60e, 0x5dd, 0x5ad, 0x57d, 0x54e, 0x51f, 0x4f0, 0x4c2, 0x494, 0x467, 0x43a, 0x40e, 0x3e3, 0x3b8, 0x38e, 0x365, 0x33c, 0x314, 0x2ed, 0x2c6, 0x2a0, 0x27c, 0x258, 0x235, 0x212, 0x1f1, 0x1d1, 0x1b1, 0x193, 0x175, 0x159, 0x13e, 0x123, 0x10a, 0xf2, 0xdb, 0xc5, 0xb0, 0x9c, 0x89, 0x78, 0x67, 0x58, 0x4a, 0x3d, 0x32, 0x27, 0x1e, 0x16, 0xf, 0xa, 0x6, 0x2, 0x1}; + 0xfff, 0xffe, 0xffd, 0xff9, 0xff5, 0xff0, 0xfe9, 0xfe1, 0xfd8, 0xfcd, 0xfc2, 0xfb5, 0xfa7, 0xf98, 0xf87, 0xf76, 0xf63, 0xf4f, 0xf3a, 0xf24, 0xf0d, 0xef5, 0xedc, 0xec1, 0xea6, 0xe8a, 0xe6c, 0xe4e, 0xe2e, 0xe0e, 0xded, 0xdca, 0xda7, 0xd83, 0xd5f, 0xd39, 0xd12, 0xceb, 0xcc3, 0xc9a, 0xc71, 0xc47, 0xc1c, 0xbf1, 0xbc5, 0xb98, 0xb6b, 0xb3d, 0xb0f, 0xae0, 0xab1, 0xa82, 0xa52, 0xa22, 0x9f1, 0x9c0, 0x98f, 0x95e, 0x92c, 0x8fa, 0x8c8, 0x896, 0x864, 0x832, 0x800, 0x7cd, 0x79b, 0x769, 0x737, 0x705, 0x6d3, 0x6a1, 0x670, 0x63f, 0x60e, 0x5dd, 0x5ad, 0x57d, 0x54e, 0x51f, 0x4f0, 0x4c2, 0x494, 0x467, 0x43a, 0x40e, 0x3e3, 0x3b8, 0x38e, 0x365, 0x33c, 0x314, 0x2ed, 0x2c6, 0x2a0, 0x27c, 0x258, 0x235, 0x212, 0x1f1, 0x1d1, 0x1b1, 0x193, 0x175, 0x159, 0x13e, 0x123, 0x10a, 0xf2, 0xdb, 0xc5, 0xb0, 0x9c, 0x89, 0x78, 0x67, 0x58, 0x4a, 0x3d, 0x32, 0x27, 0x1e, 0x16, 0xf, 0xa, 0x6, 0x2, 0x1, +}; #endif // AUDIO_DAC_SAMPLE_WAVEFORM_SINE #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE -static const dacsample_t dac_buffer_triangle[AUDIO_DAC_BUFFER_SIZE] = { +static const dacsample_t dac_buffer_triangle[] = { // 256 values, max 4095 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0, 0xc0, 0xe0, 0x100, 0x120, 0x140, 0x160, 0x180, 0x1a0, 0x1c0, 0x1e0, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0x300, 0x320, 0x340, 0x360, 0x380, 0x3a0, 0x3c0, 0x3e0, 0x400, 0x420, 0x440, 0x460, 0x480, 0x4a0, 0x4c0, 0x4e0, 0x500, 0x520, 0x540, 0x560, 0x580, 0x5a0, 0x5c0, 0x5e0, 0x600, 0x620, 0x640, 0x660, 0x680, 0x6a0, 0x6c0, 0x6e0, 0x700, 0x720, 0x740, 0x760, 0x780, 0x7a0, 0x7c0, 0x7e0, 0x800, 0x81f, 0x83f, 0x85f, 0x87f, 0x89f, 0x8bf, 0x8df, 0x8ff, 0x91f, 0x93f, 0x95f, 0x97f, 0x99f, 0x9bf, 0x9df, 0x9ff, 0xa1f, 0xa3f, 0xa5f, 0xa7f, 0xa9f, 0xabf, 0xadf, 0xaff, 0xb1f, 0xb3f, 0xb5f, 0xb7f, 0xb9f, 0xbbf, 0xbdf, 0xbff, 0xc1f, 0xc3f, 0xc5f, 0xc7f, 0xc9f, 0xcbf, 0xcdf, 0xcff, 0xd1f, 0xd3f, 0xd5f, 0xd7f, 0xd9f, 0xdbf, 0xddf, 0xdff, 0xe1f, 0xe3f, 0xe5f, 0xe7f, 0xe9f, 0xebf, 0xedf, 0xeff, 0xf1f, 0xf3f, 0xf5f, 0xf7f, 0xf9f, 0xfbf, 0xfdf, - 0xfff, 0xfdf, 0xfbf, 0xf9f, 0xf7f, 0xf5f, 0xf3f, 0xf1f, 0xeff, 0xedf, 0xebf, 0xe9f, 0xe7f, 0xe5f, 0xe3f, 0xe1f, 0xdff, 0xddf, 0xdbf, 0xd9f, 0xd7f, 0xd5f, 0xd3f, 0xd1f, 0xcff, 0xcdf, 0xcbf, 0xc9f, 0xc7f, 0xc5f, 0xc3f, 0xc1f, 0xbff, 0xbdf, 0xbbf, 0xb9f, 0xb7f, 0xb5f, 0xb3f, 0xb1f, 0xaff, 0xadf, 0xabf, 0xa9f, 0xa7f, 0xa5f, 0xa3f, 0xa1f, 0x9ff, 0x9df, 0x9bf, 0x99f, 0x97f, 0x95f, 0x93f, 0x91f, 0x8ff, 0x8df, 0x8bf, 0x89f, 0x87f, 0x85f, 0x83f, 0x81f, 0x800, 0x7e0, 0x7c0, 0x7a0, 0x780, 0x760, 0x740, 0x720, 0x700, 0x6e0, 0x6c0, 0x6a0, 0x680, 0x660, 0x640, 0x620, 0x600, 0x5e0, 0x5c0, 0x5a0, 0x580, 0x560, 0x540, 0x520, 0x500, 0x4e0, 0x4c0, 0x4a0, 0x480, 0x460, 0x440, 0x420, 0x400, 0x3e0, 0x3c0, 0x3a0, 0x380, 0x360, 0x340, 0x320, 0x300, 0x2e0, 0x2c0, 0x2a0, 0x280, 0x260, 0x240, 0x220, 0x200, 0x1e0, 0x1c0, 0x1a0, 0x180, 0x160, 0x140, 0x120, 0x100, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20}; + 0xfff, 0xfdf, 0xfbf, 0xf9f, 0xf7f, 0xf5f, 0xf3f, 0xf1f, 0xeff, 0xedf, 0xebf, 0xe9f, 0xe7f, 0xe5f, 0xe3f, 0xe1f, 0xdff, 0xddf, 0xdbf, 0xd9f, 0xd7f, 0xd5f, 0xd3f, 0xd1f, 0xcff, 0xcdf, 0xcbf, 0xc9f, 0xc7f, 0xc5f, 0xc3f, 0xc1f, 0xbff, 0xbdf, 0xbbf, 0xb9f, 0xb7f, 0xb5f, 0xb3f, 0xb1f, 0xaff, 0xadf, 0xabf, 0xa9f, 0xa7f, 0xa5f, 0xa3f, 0xa1f, 0x9ff, 0x9df, 0x9bf, 0x99f, 0x97f, 0x95f, 0x93f, 0x91f, 0x8ff, 0x8df, 0x8bf, 0x89f, 0x87f, 0x85f, 0x83f, 0x81f, 0x800, 0x7e0, 0x7c0, 0x7a0, 0x780, 0x760, 0x740, 0x720, 0x700, 0x6e0, 0x6c0, 0x6a0, 0x680, 0x660, 0x640, 0x620, 0x600, 0x5e0, 0x5c0, 0x5a0, 0x580, 0x560, 0x540, 0x520, 0x500, 0x4e0, 0x4c0, 0x4a0, 0x480, 0x460, 0x440, 0x420, 0x400, 0x3e0, 0x3c0, 0x3a0, 0x380, 0x360, 0x340, 0x320, 0x300, 0x2e0, 0x2c0, 0x2a0, 0x280, 0x260, 0x240, 0x220, 0x200, 0x1e0, 0x1c0, 0x1a0, 0x180, 0x160, 0x140, 0x120, 0x100, 0xe0, 0xc0, 0xa0, 0x80, 0x60, 0x40, 0x20, +}; #endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE -static const dacsample_t dac_buffer_square[AUDIO_DAC_BUFFER_SIZE] = { - [0 ... AUDIO_DAC_BUFFER_SIZE / 2 - 1] = AUDIO_DAC_OFF_VALUE, // first and - [AUDIO_DAC_BUFFER_SIZE / 2 ... AUDIO_DAC_BUFFER_SIZE - 1] = AUDIO_DAC_SAMPLE_MAX, // second half +static const dacsample_t dac_buffer_square[] = { + AUDIO_DAC_OFF_VALUE, // first and + AUDIO_DAC_SAMPLE_MAX, // second steps }; #endif // AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE /* // four steps: 0, 1/3, 2/3 and 1 -static const dacsample_t dac_buffer_staircase[AUDIO_DAC_BUFFER_SIZE] = { - [0 ... AUDIO_DAC_BUFFER_SIZE/3 -1 ] = 0, - [AUDIO_DAC_BUFFER_SIZE / 4 ... AUDIO_DAC_BUFFER_SIZE / 2 -1 ] = AUDIO_DAC_SAMPLE_MAX / 3, - [AUDIO_DAC_BUFFER_SIZE / 2 ... 3 * AUDIO_DAC_BUFFER_SIZE / 4 -1 ] = 2 * AUDIO_DAC_SAMPLE_MAX / 3, - [3 * AUDIO_DAC_BUFFER_SIZE / 4 ... AUDIO_DAC_BUFFER_SIZE -1 ] = AUDIO_DAC_SAMPLE_MAX, +static const dacsample_t dac_buffer_staircase[] = { + 0, + AUDIO_DAC_SAMPLE_MAX / 3, + 2 * AUDIO_DAC_SAMPLE_MAX / 3, + AUDIO_DAC_SAMPLE_MAX, } */ #ifdef AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID -static const dacsample_t dac_buffer_trapezoid[AUDIO_DAC_BUFFER_SIZE] = {0x0, 0x1f, 0x7f, 0xdf, 0x13f, 0x19f, 0x1ff, 0x25f, 0x2bf, 0x31f, 0x37f, 0x3df, 0x43f, 0x49f, 0x4ff, 0x55f, 0x5bf, 0x61f, 0x67f, 0x6df, 0x73f, 0x79f, 0x7ff, 0x85f, 0x8bf, 0x91f, 0x97f, 0x9df, 0xa3f, 0xa9f, 0xaff, 0xb5f, 0xbbf, 0xc1f, 0xc7f, 0xcdf, 0xd3f, 0xd9f, 0xdff, 0xe5f, 0xebf, 0xf1f, 0xf7f, 0xfdf, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, - 0xfff, 0xfdf, 0xf7f, 0xf1f, 0xebf, 0xe5f, 0xdff, 0xd9f, 0xd3f, 0xcdf, 0xc7f, 0xc1f, 0xbbf, 0xb5f, 0xaff, 0xa9f, 0xa3f, 0x9df, 0x97f, 0x91f, 0x8bf, 0x85f, 0x7ff, 0x79f, 0x73f, 0x6df, 0x67f, 0x61f, 0x5bf, 0x55f, 0x4ff, 0x49f, 0x43f, 0x3df, 0x37f, 0x31f, 0x2bf, 0x25f, 0x1ff, 0x19f, 0x13f, 0xdf, 0x7f, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}; +static const dacsample_t dac_buffer_trapezoid[] = { + 0x0, 0x1f, 0x7f, 0xdf, 0x13f, 0x19f, 0x1ff, 0x25f, 0x2bf, 0x31f, 0x37f, 0x3df, 0x43f, 0x49f, 0x4ff, 0x55f, 0x5bf, 0x61f, 0x67f, 0x6df, 0x73f, 0x79f, 0x7ff, 0x85f, 0x8bf, 0x91f, 0x97f, 0x9df, 0xa3f, 0xa9f, 0xaff, 0xb5f, 0xbbf, 0xc1f, 0xc7f, 0xcdf, 0xd3f, 0xd9f, 0xdff, 0xe5f, 0xebf, 0xf1f, 0xf7f, 0xfdf, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, 0xfff, + 0xfff, 0xfdf, 0xf7f, 0xf1f, 0xebf, 0xe5f, 0xdff, 0xd9f, 0xd3f, 0xcdf, 0xc7f, 0xc1f, 0xbbf, 0xb5f, 0xaff, 0xa9f, 0xa3f, 0x9df, 0x97f, 0x91f, 0x8bf, 0x85f, 0x7ff, 0x79f, 0x73f, 0x6df, 0x67f, 0x61f, 0x5bf, 0x55f, 0x4ff, 0x49f, 0x43f, 0x3df, 0x37f, 0x31f, 0x2bf, 0x25f, 0x1ff, 0x19f, 0x13f, 0xdf, 0x7f, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; #endif // AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID static dacsample_t dac_buffer[AUDIO_DAC_BUFFER_SIZE]; @@ -124,20 +128,30 @@ __attribute__((weak)) uint16_t dac_value_generate(void) { uint_fast16_t value = 0; float frequency = 0.0f; +#if defined(AUDIO_DAC_SAMPLE_WAVEFORM_SINE) + const size_t wavetable_length = ARRAY_SIZE(dac_buffer_sine); +#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_TRIANGLE) + const size_t wavetable_length = ARRAY_SIZE(dac_buffer_triangle); +#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_TRAPEZOID) + const size_t wavetable_length = ARRAY_SIZE(dac_buffer_trapezoid); +#elif defined(AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE) + const size_t wavetable_length = ARRAY_SIZE(dac_buffer_square); +#endif + for (size_t i = 0; i < active_tones_snapshot_length; i++) { /* Note: a user implementation does not have to rely on the active_tones_snapshot, but * could directly query the active frequencies through audio_get_processed_frequency */ frequency = active_tones_snapshot[i]; float new_dac_if = dac_if[i]; - new_dac_if += frequency * ((float)AUDIO_DAC_BUFFER_SIZE / AUDIO_DAC_SAMPLE_RATE * 2.0f / 3.0f); + new_dac_if += frequency * ((float)wavetable_length / AUDIO_DAC_SAMPLE_RATE * 2.0f / 3.0f); /*Note: the 2/3 are necessary to get the correct frequencies on the * DAC output (as measured with an oscilloscope), since the gpt * timer runs with 3*AUDIO_DAC_SAMPLE_RATE; and the DAC callback * is called twice per conversion.*/ - while (new_dac_if >= AUDIO_DAC_BUFFER_SIZE) - new_dac_if -= AUDIO_DAC_BUFFER_SIZE; + while (new_dac_if >= wavetable_length) + new_dac_if -= wavetable_length; dac_if[i] = new_dac_if; // Wavetable generation/lookup diff --git a/platforms/chibios/drivers/audio_pwm_hardware.c b/platforms/chibios/drivers/audio_pwm_hardware.c index 40d891326fd5..21b5c6892cdb 100644 --- a/platforms/chibios/drivers/audio_pwm_hardware.c +++ b/platforms/chibios/drivers/audio_pwm_hardware.c @@ -22,6 +22,12 @@ # define AUDIO_PWM_COUNTER_FREQUENCY 100000 #endif +#ifndef AUDIO_PWM_COMPLEMENTARY_OUTPUT +# define AUDIO_PWM_OUTPUT_MODE PWM_OUTPUT_ACTIVE_HIGH +#else +# define AUDIO_PWM_OUTPUT_MODE PWM_COMPLEMENTARY_OUTPUT_ACTIVE_HIGH +#endif + extern bool playing_note; extern bool playing_melody; extern uint8_t note_timbre; @@ -29,7 +35,7 @@ extern uint8_t note_timbre; static PWMConfig pwmCFG = {.frequency = AUDIO_PWM_COUNTER_FREQUENCY, /* PWM clock frequency */ .period = 2, .callback = NULL, - .channels = {[(AUDIO_PWM_CHANNEL - 1)] = {.mode = PWM_OUTPUT_ACTIVE_HIGH, .callback = NULL}}}; + .channels = {[(AUDIO_PWM_CHANNEL - 1)] = {.mode = AUDIO_PWM_OUTPUT_MODE, .callback = NULL}}}; static float channel_1_frequency = 0.0f; diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index e89b34696c18..eb64dd71e8cf 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -42,20 +42,26 @@ backlight_config_t backlight_config; static uint8_t breathing_period = BREATHING_PERIOD; #endif +static void backlight_check_config(void) { + /* Add some out of bound checks for backlight config */ + + if (backlight_config.level > BACKLIGHT_LEVELS) { + backlight_config.level = BACKLIGHT_LEVELS; + } +} + /** \brief Backlight initialization * * FIXME: needs doc */ void backlight_init(void) { - /* check signature */ - if (!eeconfig_is_enabled()) { - eeconfig_init(); - eeconfig_update_backlight_default(); - } backlight_config.raw = eeconfig_read_backlight(); - if (backlight_config.level > BACKLIGHT_LEVELS) { - backlight_config.level = BACKLIGHT_LEVELS; + if (!backlight_config.valid) { + dprintf("backlight_init backlight_config.valid = 0. Write default values to EEPROM.\n"); + eeconfig_update_backlight_default(); } + backlight_check_config(); + backlight_set(backlight_config.enable ? backlight_config.level : 0); } @@ -183,6 +189,7 @@ void eeconfig_update_backlight_current(void) { } void eeconfig_update_backlight_default(void) { + backlight_config.valid = true; backlight_config.enable = BACKLIGHT_DEFAULT_ON; backlight_config.breathing = BACKLIGHT_DEFAULT_BREATHING; backlight_config.level = BACKLIGHT_DEFAULT_LEVEL; diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h index 85812bff3a5e..c34fb5858d16 100644 --- a/quantum/backlight/backlight.h +++ b/quantum/backlight/backlight.h @@ -39,7 +39,7 @@ typedef union { struct { bool enable : 1; bool breathing : 1; - uint8_t reserved : 1; // Reserved for possible future backlight modes + bool valid : 1; uint8_t level : 5; }; } backlight_config_t; diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index 6e254578d137..e901f3e0c4ff 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -19,8 +19,6 @@ #include // for memcpy #include "dip_switch.h" -#include "gpio.h" -#include "util.h" #ifdef SPLIT_KEYBOARD # include "split_common/split_util.h" @@ -35,24 +33,17 @@ #endif #ifdef DIP_SWITCH_PINS -# define NUMBER_OF_DIP_SWITCHES (ARRAY_SIZE(dip_switch_pad)) static pin_t dip_switch_pad[] = DIP_SWITCH_PINS; #endif #ifdef DIP_SWITCH_MATRIX_GRID -typedef struct matrix_index_t { - uint8_t row; - uint8_t col; -} matrix_index_t; - -# define NUMBER_OF_DIP_SWITCHES (ARRAY_SIZE(dip_switch_pad)) -static matrix_index_t dip_switch_pad[] = DIP_SWITCH_MATRIX_GRID; -extern bool peek_matrix(uint8_t row_index, uint8_t col_index, bool read_raw); -static uint16_t scan_count; +static matrix_intersection_t dip_switch_pad[] = DIP_SWITCH_MATRIX_GRID; +extern bool peek_matrix(uint8_t row_index, uint8_t col_index, bool read_raw); +static uint16_t scan_count; #endif /* DIP_SWITCH_MATRIX_GRID */ -static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0}; -static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = {0}; +static bool dip_switch_state[NUM_DIP_SWITCHES] = {0}; +static bool last_dip_switch_state[NUM_DIP_SWITCHES] = {0}; __attribute__((weak)) bool dip_switch_update_user(uint8_t index, bool active) { return true; @@ -70,17 +61,39 @@ __attribute__((weak)) bool dip_switch_update_mask_kb(uint32_t state) { return dip_switch_update_mask_user(state); } +#ifdef DIP_SWITCH_MAP_ENABLE +# include "keymap_introspection.h" +# include "action.h" + +# ifndef DIP_SWITCH_MAP_KEY_DELAY +# define DIP_SWITCH_MAP_KEY_DELAY TAP_CODE_DELAY +# endif + +static void dip_switch_exec_mapping(uint8_t index, bool on) { + // The delays below cater for Windows and its wonderful requirements. + action_exec(on ? MAKE_DIPSWITCH_ON_EVENT(index, true) : MAKE_DIPSWITCH_OFF_EVENT(index, true)); +# if DIP_SWITCH_MAP_KEY_DELAY > 0 + wait_ms(DIP_SWITCH_MAP_KEY_DELAY); +# endif // DIP_SWITCH_MAP_KEY_DELAY > 0 + + action_exec(on ? MAKE_DIPSWITCH_ON_EVENT(index, false) : MAKE_DIPSWITCH_OFF_EVENT(index, false)); +# if DIP_SWITCH_MAP_KEY_DELAY > 0 + wait_ms(DIP_SWITCH_MAP_KEY_DELAY); +# endif // DIP_SWITCH_MAP_KEY_DELAY > 0 +} +#endif // DIP_SWITCH_MAP_ENABLE + void dip_switch_init(void) { #ifdef DIP_SWITCH_PINS # if defined(SPLIT_KEYBOARD) && defined(DIP_SWITCH_PINS_RIGHT) if (!isLeftHand) { const pin_t dip_switch_pad_right[] = DIP_SWITCH_PINS_RIGHT; - for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { + for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) { dip_switch_pad[i] = dip_switch_pad_right[i]; } } # endif - for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { + for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) { setPinInputHigh(dip_switch_pad[i]); } dip_switch_read(true); @@ -108,7 +121,7 @@ void dip_switch_read(bool forced) { } #endif - for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) { + for (uint8_t i = 0; i < NUM_DIP_SWITCHES; i++) { #ifdef DIP_SWITCH_PINS dip_switch_state[i] = !readPin(dip_switch_pad[i]); #endif @@ -118,11 +131,21 @@ void dip_switch_read(bool forced) { dip_switch_mask |= dip_switch_state[i] << i; if (last_dip_switch_state[i] != dip_switch_state[i] || forced) { has_dip_state_changed = true; +#ifndef DIP_SWITCH_MAP_ENABLE dip_switch_update_kb(i, dip_switch_state[i]); +#else + dip_switch_exec_mapping(i, dip_switch_state[i]); +#endif } } if (has_dip_state_changed) { +#ifndef DIP_SWITCH_MAP_ENABLE dip_switch_update_mask_kb(dip_switch_mask); +#endif memcpy(last_dip_switch_state, dip_switch_state, sizeof(dip_switch_state)); } } + +void dip_switch_task(void) { + dip_switch_read(false); +} diff --git a/quantum/dip_switch.h b/quantum/dip_switch.h index 6e79dcb0bf76..762985935925 100644 --- a/quantum/dip_switch.h +++ b/quantum/dip_switch.h @@ -20,11 +20,36 @@ #include #include +#include "gpio.h" +#include "util.h" + +#if defined(DIP_SWITCH_PINS) +# define NUM_DIP_SWITCHES ARRAY_SIZE(((pin_t[])DIP_SWITCH_PINS)) +#elif defined(DIP_SWITCH_MATRIX_GRID) +typedef struct matrix_intersection_t { + uint8_t row; + uint8_t col; +} matrix_intersection_t; +# define NUM_DIP_SWITCHES ARRAY_SIZE(((matrix_intersection_t[])DIP_SWITCH_MATRIX_GRID)) +#endif + +#ifndef NUM_DIP_SWITCHES +# define NUM_DIP_SWITCHES 0 +#endif bool dip_switch_update_kb(uint8_t index, bool active); bool dip_switch_update_user(uint8_t index, bool active); bool dip_switch_update_mask_user(uint32_t state); bool dip_switch_update_mask_kb(uint32_t state); -void dip_switch_init(void); void dip_switch_read(bool forced); + +void dip_switch_init(void); +void dip_switch_task(void); + +#ifdef DIP_SWITCH_MAP_ENABLE +# define NUM_DIP_STATES 2 +# define DIP_SWITCH_OFF_ON(off, on) \ + { (off), (on) } +extern const uint16_t dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES]; +#endif // DIP_SWITCH_MAP_ENABLE diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 86a1a9fea3bf..61aaa2e3878f 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -454,7 +454,7 @@ void keyboard_init(void) { pointing_device_init(); #endif #ifdef BLUETOOTH_ENABLE - bluetooth_init(); + bluetooth_driver.init(); #endif #ifdef HAPTIC_ENABLE haptic_init(); @@ -615,7 +615,7 @@ void quantum_task(void) { #endif #ifdef DIP_SWITCH_ENABLE - dip_switch_read(false); + dip_switch_task(); #endif #ifdef AUTO_SHIFT_ENABLE @@ -710,7 +710,7 @@ void keyboard_task(void) { #endif #ifdef BLUETOOTH_ENABLE - bluetooth_task(); + if (NULL != bluetooth_driver.task) bluetooth_driver.task(); #endif #ifdef HAPTIC_ENABLE diff --git a/quantum/keyboard.h b/quantum/keyboard.h index 5ea57815a719..0f39fde6825a 100644 --- a/quantum/keyboard.h +++ b/quantum/keyboard.h @@ -32,7 +32,7 @@ typedef struct { uint8_t row; } keypos_t; -typedef enum keyevent_type_t { TICK_EVENT = 0, KEY_EVENT = 1, ENCODER_CW_EVENT = 2, ENCODER_CCW_EVENT = 3, COMBO_EVENT = 4 } keyevent_type_t; +typedef enum keyevent_type_t { TICK_EVENT = 0, KEY_EVENT = 1, ENCODER_CW_EVENT = 2, ENCODER_CCW_EVENT = 3, COMBO_EVENT = 4, DIP_SWITCH_ON_EVENT = 5, DIP_SWITCH_OFF_EVENT = 6 } keyevent_type_t; /* key event */ typedef struct { @@ -48,6 +48,8 @@ typedef struct { /* special keypos_t entries */ #define KEYLOC_ENCODER_CW 253 #define KEYLOC_ENCODER_CCW 252 +#define KEYLOC_DIP_SWITCH_ON 251 +#define KEYLOC_DIP_SWITCH_OFF 250 static inline bool IS_NOEVENT(const keyevent_t event) { return event.type == TICK_EVENT; @@ -64,6 +66,9 @@ static inline bool IS_COMBOEVENT(const keyevent_t event) { static inline bool IS_ENCODEREVENT(const keyevent_t event) { return event.type == ENCODER_CW_EVENT || event.type == ENCODER_CCW_EVENT; } +static inline bool IS_DIPSWITCHEVENT(const keyevent_t event) { + return event.type == DIP_SWITCH_ON_EVENT || event.type == DIP_SWITCH_OFF_EVENT; +} /* Common keypos_t object factory */ #define MAKE_KEYPOS(row_num, col_num) ((keypos_t){.row = (row_num), .col = (col_num)}) @@ -92,6 +97,12 @@ static inline bool IS_ENCODEREVENT(const keyevent_t event) { # define MAKE_ENCODER_CCW_EVENT(enc_id, press) MAKE_EVENT(KEYLOC_ENCODER_CCW, (enc_id), (press), ENCODER_CCW_EVENT) #endif // ENCODER_MAP_ENABLE +#ifdef DIP_SWITCH_MAP_ENABLE +/* Dip Switch events */ +# define MAKE_DIPSWITCH_ON_EVENT(switch_id, press) MAKE_EVENT(KEYLOC_DIP_SWITCH_ON, (switch_id), (press), DIP_SWITCH_ON_EVENT) +# define MAKE_DIPSWITCH_OFF_EVENT(switch_id, press) MAKE_EVENT(KEYLOC_DIP_SWITCH_OFF, (switch_id), (press), DIP_SWITCH_OFF_EVENT) +#endif // DIP_SWITCH_MAP_ENABLE + /* it runs once at early stage of startup before keyboard_init. */ void keyboard_setup(void); /* it runs once after initializing host side protocol, debug and MCU peripherals. */ diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 91e47a72ee56..abdcd5c7ba13 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -29,6 +29,10 @@ along with this program. If not, see . # include "encoder.h" #endif +#ifdef DIP_SWITCH_MAP_ENABLE +# include "dip_switch.h" +#endif + #ifdef BACKLIGHT_ENABLE # include "backlight.h" #endif @@ -204,5 +208,13 @@ __attribute__((weak)) uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key return keycode_at_encodermap_location(layer, key.col, false); } #endif // ENCODER_MAP_ENABLE +#ifdef DIP_SWITCH_MAP_ENABLE + else if (key.row == KEYLOC_DIP_SWITCH_ON && key.col < NUM_DIP_SWITCHES) { + return keycode_at_dip_switch_map_location(key.col, true); + } else if (key.row == KEYLOC_DIP_SWITCH_OFF && key.col < NUM_DIP_SWITCHES) { + return keycode_at_dip_switch_map_location(key.col, false); + } +#endif // DIP_SWITCH_MAP_ENABLE + return KC_NO; } diff --git a/quantum/keymap_extras/keymap_spanish_latin_america.h b/quantum/keymap_extras/keymap_spanish_latin_america.h new file mode 100644 index 000000000000..92921811b379 --- /dev/null +++ b/quantum/keymap_extras/keymap_spanish_latin_america.h @@ -0,0 +1,105 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once +#include "keycodes.h" +// clang-format off + +// Aliases +#define ES_PIPE KC_GRV // | +#define ES_1 KC_1 // 1 +#define ES_2 KC_2 // 2 +#define ES_3 KC_3 // 3 +#define ES_4 KC_4 // 4 +#define ES_5 KC_5 // 5 +#define ES_6 KC_6 // 6 +#define ES_7 KC_7 // 7 +#define ES_8 KC_8 // 8 +#define ES_9 KC_9 // 9 +#define ES_0 KC_0 // 0 +#define ES_QUOT KC_MINS // ' +#define ES_IQUE KC_EQL // ¿ +#define ES_Q KC_Q // Q +#define ES_W KC_W // W +#define ES_E KC_E // E +#define ES_R KC_R // R +#define ES_T KC_T // T +#define ES_Y KC_Y // Y +#define ES_U KC_U // U +#define ES_I KC_I // I +#define ES_O KC_O // O +#define ES_P KC_P // P +#define ES_ACUT KC_LBRC // ´ (dead) +#define ES_PLUS KC_RBRC // + +#define ES_A KC_A // A +#define ES_S KC_S // S +#define ES_D KC_D // D +#define ES_F KC_F // F +#define ES_G KC_G // G +#define ES_H KC_H // H +#define ES_J KC_J // J +#define ES_K KC_K // K +#define ES_L KC_L // L +#define ES_NTIL KC_SCLN // Ñ +#define ES_LCBR KC_QUOT // { +#define ES_RCBR KC_NUHS // } +#define ES_LABK KC_NUBS // < +#define ES_Z KC_Z // Z +#define ES_X KC_X // X +#define ES_C KC_C // C +#define ES_V KC_V // V +#define ES_B KC_B // B +#define ES_N KC_N // N +#define ES_M KC_M // M +#define ES_COMM KC_COMM // , +#define ES_DOT KC_DOT // . +#define ES_MINS KC_SLSH // - +#define ES_MORD S(ES_PIPE) // ° +#define ES_EXLM S(ES_1) // ! +#define ES_DQUO S(ES_2) // " +#define ES_NUMB S(ES_3) // # +#define ES_DLR S(ES_4) // $ +#define ES_PERC S(ES_5) // % +#define ES_AMPR S(ES_6) // & +#define ES_SLSH S(ES_7) // / +#define ES_LPRN S(ES_8) // ( +#define ES_RPRN S(ES_9) // ) +#define ES_EQL S(ES_0) // = +#define ES_QUES S(ES_QUOT) // ? +#define ES_IEXL S(ES_IQUE) // ¡ +#define ES_DIAE S(ES_ACUT) // ¨ (dead) +#define ES_ASTR S(ES_PLUS) // * +#define ES_LBRC S(ES_LCBR) // [ +#define ES_RBRC S(ES_RCBR) // ] +#define ES_RABK S(ES_LABK) // > +#define ES_SCLN S(ES_COMM) // ; +#define ES_COLN S(ES_DOT) // : +#define ES_UNDS S(ES_MINS) // _ +#define ES_NOT ALGR(ES_PIPE) // ¬ +#define ES_BSLS ALGR(ES_QUOT) // (backslash) +#define ES_AT ALGR(ES_Q) // @ +#define ES_TILD ALGR(ES_PLUS) // ~ +#define ES_CIRC ALGR(ES_LCBR) // ^ + diff --git a/quantum/keymap_extras/sendstring_spanish_latin_america.h b/quantum/keymap_extras/sendstring_spanish_latin_america.h new file mode 100644 index 000000000000..3bfdf7d5cb02 --- /dev/null +++ b/quantum/keymap_extras/sendstring_spanish_latin_america.h @@ -0,0 +1,120 @@ +/* Copyright 2023 Juan David Díaz + * + * 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 . + */ + +// Sendstring lookup tables for Latam Spanish layouts + +#pragma once + +#include "send_string.h" +#include "keymap_spanish_latin_america.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 0, 1, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0) +}; + +const uint8_t ascii_to_dead_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 1, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, ES_1, ES_2, ES_3, ES_4, ES_5, ES_6, ES_QUOT, + // ( ) * + , - . / + ES_8, ES_9, ES_PLUS, ES_PLUS, ES_COMM, ES_MINS, ES_DOT, ES_7, + // 0 1 2 3 4 5 6 7 + ES_0, ES_1, ES_2, ES_3, ES_4, ES_5, ES_6, ES_7, + // 8 9 : ; < = > ? + ES_8, ES_9, ES_DOT, ES_COMM, ES_LABK, ES_0, ES_LABK, ES_QUOT, + // @ A B C D E F G + ES_Q, ES_A, ES_B, ES_C, ES_D, ES_E, ES_F, ES_G, + // H I J K L M N O + ES_H, ES_I, ES_J, ES_K, ES_L, ES_M, ES_N, ES_O, + // P Q R S T U V W + ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W, + // X Y Z [ \ ] ^ _ + ES_X, ES_Y, ES_Z, ES_LCBR, ES_QUOT, ES_RCBR, ES_LCBR, ES_MINS, + // ` a b c d e f g + ES_RCBR, ES_A, ES_B, ES_C, ES_D, ES_E, ES_F, ES_G, + // h i j k l m n o + ES_H, ES_I, ES_J, ES_K, ES_L, ES_M, ES_N, ES_O, + // p q r s t u v w + ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W, + // x y z { | } ~ DEL + ES_X, ES_Y, ES_Z, ES_LCBR, ES_PIPE, ES_RCBR, ES_PLUS, KC_DEL +}; diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index e4a01d2e9a0a..71e3b429ead5 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -71,6 +71,24 @@ __attribute__((weak)) uint16_t keycode_at_encodermap_location(uint8_t layer_num, #endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Dip Switch mapping + +#if defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE) + +uint16_t keycode_at_dip_switch_map_location_raw(uint8_t switch_idx, bool on) { + if (switch_idx < NUM_DIP_SWITCHES) { + return pgm_read_word(&dip_switch_map[switch_idx][!!on]); + } + return KC_TRNS; +} + +uint16_t keycode_at_dip_switch_map_location(uint8_t switch_idx, bool on) { + return keycode_at_dip_switch_map_location_raw(switch_idx, on); +} + +#endif // defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE) + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Combos diff --git a/quantum/keymap_introspection.h b/quantum/keymap_introspection.h index 2012a2b8cc6c..f7516bf42af7 100644 --- a/quantum/keymap_introspection.h +++ b/quantum/keymap_introspection.h @@ -35,6 +35,18 @@ uint16_t keycode_at_encodermap_location(uint8_t layer_num, uint8_t encoder_idx, #endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Dip Switch mapping + +#if defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE) + +// Get the keycode for the dip_switch mapping location, stored in firmware rather than any other persistent storage +uint16_t keycode_at_dip_switch_map_location_raw(uint8_t switch_idx, bool on); +// Get the keycode for the dip_switch mapping location, potentially stored dynamically +uint16_t keycode_at_dip_switch_map_location(uint8_t switch_idx, bool on); + +#endif // defined(DIP_SWITCH_ENABLE) && defined(DIP_SWITCH_MAP_ENABLE) + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Combos diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 4d67a295dfc0..760a8b7484c5 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -74,9 +74,6 @@ static uint8_t led_last_enable = UINT8_MAX; static uint8_t led_last_effect = UINT8_MAX; static effect_params_t led_effect_params = {0, LED_FLAG_ALL, false}; static led_task_states led_task_state = SYNCING; -#if LED_MATRIX_TIMEOUT > 0 -static uint32_t led_anykey_timer; -#endif // LED_MATRIX_TIMEOUT > 0 // double buffers static uint32_t led_timer_buffer; @@ -114,6 +111,16 @@ void eeconfig_debug_led_matrix(void) { dprintf("led_matrix_eeconfig.flags = %d\n", led_matrix_eeconfig.flags); } +void led_matrix_reload_from_eeprom(void) { + led_matrix_disable_noeeprom(); + /* Reset back to what we have in eeprom */ + eeconfig_init_led_matrix(); + eeconfig_debug_led_matrix(); // display current eeprom values + if (led_matrix_eeconfig.enable) { + led_matrix_mode_noeeprom(led_matrix_eeconfig.mode); + } +} + __attribute__((weak)) uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { return 0; } @@ -156,9 +163,6 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { #ifndef LED_MATRIX_SPLIT if (!is_keyboard_master()) return; #endif -#if LED_MATRIX_TIMEOUT > 0 - led_anykey_timer = 0; -#endif // LED_MATRIX_TIMEOUT > 0 #ifdef LED_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -208,22 +212,11 @@ static bool led_matrix_none(effect_params_t *params) { } static void led_task_timers(void) { -#if defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0 +#if defined(LED_MATRIX_KEYREACTIVE_ENABLED) uint32_t deltaTime = sync_timer_elapsed32(led_timer_buffer); -#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0 +#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) led_timer_buffer = sync_timer_read32(); - // Update double buffer timers -#if LED_MATRIX_TIMEOUT > 0 - if (led_anykey_timer < UINT32_MAX) { - if (UINT32_MAX - deltaTime < led_anykey_timer) { - led_anykey_timer = UINT32_MAX; - } else { - led_anykey_timer += deltaTime; - } - } -#endif // LED_MATRIX_TIMEOUT > 0 - // Update double buffer last hit timers #ifdef LED_MATRIX_KEYREACTIVE_ENABLED uint8_t count = last_hit_buffer.count; @@ -329,7 +322,7 @@ void led_matrix_task(void) { // while suspended and just do a software shutdown. This is a cheap hack for now. bool suspend_backlight = suspend_state || #if LED_MATRIX_TIMEOUT > 0 - (led_anykey_timer > (uint32_t)LED_MATRIX_TIMEOUT) || + (last_input_activity_elapsed() > (uint32_t)LED_MATRIX_TIMEOUT) || #endif // LED_MATRIX_TIMEOUT > 0 false; @@ -432,12 +425,6 @@ void led_matrix_init(void) { } #endif // LED_MATRIX_KEYREACTIVE_ENABLED - if (!eeconfig_is_enabled()) { - dprintf("led_matrix_init_drivers eeconfig is not enabled.\n"); - eeconfig_init(); - eeconfig_update_led_matrix_default(); - } - eeconfig_init_led_matrix(); if (!led_matrix_eeconfig.mode) { dprintf("led_matrix_init_drivers led_matrix_eeconfig.mode = 0. Write default values to EEPROM.\n"); @@ -447,7 +434,7 @@ void led_matrix_init(void) { } void led_matrix_set_suspend_state(bool state) { -#ifdef LED_DISABLE_WHEN_USB_SUSPENDED +#ifdef LED_MATRIX_SLEEP if (state && !suspend_state && is_keyboard_master()) { // only run if turning off, and only once led_task_render(0); // turn off all LEDs when suspending led_task_flush(0); // and actually flash led state to LEDs diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index c903a230f470..eeaeee20b575 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -23,32 +23,9 @@ #include #include #include "led_matrix_types.h" +#include "led_matrix_drivers.h" #include "keyboard.h" -#if defined(LED_MATRIX_IS31FL3218) -# include "is31fl3218-simple.h" -#elif defined(LED_MATRIX_IS31FL3731) -# include "is31fl3731-simple.h" -#endif -#ifdef LED_MATRIX_IS31FL3733 -# include "is31fl3733-simple.h" -#endif -#ifdef LED_MATRIX_IS31FL3736 -# include "is31fl3736-simple.h" -#endif -#ifdef LED_MATRIX_IS31FL3737 -# include "is31fl3737-simple.h" -#endif -#ifdef LED_MATRIX_IS31FL3741 -# include "is31fl3741-simple.h" -#endif -#if defined(IS31FLCOMMON) -# include "is31flcommon.h" -#endif -#ifdef LED_MATRIX_SNLED27351 -# include "snled27351-simple.h" -#endif - #ifndef LED_MATRIX_TIMEOUT # define LED_MATRIX_TIMEOUT 0 #endif @@ -159,6 +136,8 @@ bool led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); void led_matrix_init(void); +void led_matrix_reload_from_eeprom(void); + void led_matrix_set_suspend_state(bool state); bool led_matrix_get_suspend_state(void); void led_matrix_toggle(void); @@ -193,18 +172,6 @@ led_flags_t led_matrix_get_flags(void); void led_matrix_set_flags(led_flags_t flags); void led_matrix_set_flags_noeeprom(led_flags_t flags); -typedef struct { - /* Perform any initialisation required for the other driver functions to work. */ - void (*init)(void); - - /* Set the brightness of a single LED in the buffer. */ - void (*set_value)(int index, uint8_t value); - /* Set the brightness of all LEDS on the keyboard in the buffer. */ - void (*set_value_all)(uint8_t value); - /* Flush any buffered changes to the hardware. */ - void (*flush)(void); -} led_matrix_driver_t; - static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { #if defined(LED_MATRIX_SPLIT) if (is_keyboard_left()) { @@ -217,8 +184,6 @@ static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { #endif } -extern const led_matrix_driver_t led_matrix_driver; - extern led_eeconfig_t led_matrix_eeconfig; extern uint32_t g_led_timer; diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index 117bed9851b9..672238a2603f 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c @@ -15,7 +15,7 @@ * along with this program. If not, see . */ -#include "led_matrix.h" +#include "led_matrix_drivers.h" /* Each driver needs to define a struct: * diff --git a/quantum/led_matrix/led_matrix_drivers.h b/quantum/led_matrix/led_matrix_drivers.h new file mode 100644 index 000000000000..b0ef3dfafcf0 --- /dev/null +++ b/quantum/led_matrix/led_matrix_drivers.h @@ -0,0 +1,38 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include + +#if defined(LED_MATRIX_IS31FL3218) +# include "is31fl3218-simple.h" +#elif defined(LED_MATRIX_IS31FL3731) +# include "is31fl3731-simple.h" +#elif defined(LED_MATRIX_IS31FL3733) +# include "is31fl3733-simple.h" +#elif defined(LED_MATRIX_IS31FL3736) +# include "is31fl3736-simple.h" +#elif defined(LED_MATRIX_IS31FL3737) +# include "is31fl3737-simple.h" +#elif defined(LED_MATRIX_IS31FL3741) +# include "is31fl3741-simple.h" +#elif defined(IS31FLCOMMON) +# include "is31flcommon.h" +#elif defined(LED_MATRIX_SNLED27351) +# include "snled27351-simple.h" +#endif + +typedef struct { + /* Perform any initialisation required for the other driver functions to work. */ + void (*init)(void); + + /* Set the brightness of a single LED in the buffer. */ + void (*set_value)(int index, uint8_t value); + /* Set the brightness of all LEDS on the keyboard in the buffer. */ + void (*set_value_all)(uint8_t value); + /* Flush any buffered changes to the hardware. */ + void (*flush)(void); +} led_matrix_driver_t; + +extern const led_matrix_driver_t led_matrix_driver; diff --git a/quantum/quantum.c b/quantum/quantum.c index 6639dc229109..2749643f1d1c 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -21,7 +21,7 @@ #endif #ifdef BLUETOOTH_ENABLE -# include "outputselect.h" +# include "bluetooth.h" #endif #ifdef GRAVE_ESC_ENABLE @@ -426,13 +426,13 @@ bool process_record_quantum(keyrecord_t *record) { #endif #ifdef BLUETOOTH_ENABLE case QK_OUTPUT_AUTO: - set_output(OUTPUT_AUTO); + set_send_output(SEND_OUTPUT_AUTO); return false; case QK_OUTPUT_USB: - set_output(OUTPUT_USB); + set_send_output(SEND_OUTPUT_USB); return false; case QK_OUTPUT_BLUETOOTH: - set_output(OUTPUT_BLUETOOTH); + set_send_output(SEND_OUTPUT_BLUETOOTH); return false; #endif #ifndef NO_ACTION_ONESHOT diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index d93d189827a9..4865664ac0f0 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -76,9 +76,6 @@ static uint8_t rgb_last_enable = UINT8_MAX; static uint8_t rgb_last_effect = UINT8_MAX; static effect_params_t rgb_effect_params = {0, LED_FLAG_ALL, false}; static rgb_task_states rgb_task_state = SYNCING; -#if RGB_MATRIX_TIMEOUT > 0 -static uint32_t rgb_anykey_timer; -#endif // RGB_MATRIX_TIMEOUT > 0 // double buffers static uint32_t rgb_timer_buffer; @@ -163,9 +160,6 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { #ifndef RGB_MATRIX_SPLIT if (!is_keyboard_master()) return; #endif -#if RGB_MATRIX_TIMEOUT > 0 - rgb_anykey_timer = 0; -#endif // RGB_MATRIX_TIMEOUT > 0 #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -246,18 +240,11 @@ static bool rgb_matrix_none(effect_params_t *params) { } static void rgb_task_timers(void) { -#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0 +#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) uint32_t deltaTime = sync_timer_elapsed32(rgb_timer_buffer); -#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0 +#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) rgb_timer_buffer = sync_timer_read32(); - // Update double buffer timers -#if RGB_MATRIX_TIMEOUT > 0 - if (rgb_anykey_timer + deltaTime <= UINT32_MAX) { - rgb_anykey_timer += deltaTime; - } -#endif // RGB_MATRIX_TIMEOUT > 0 - // Update double buffer last hit timers #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED uint8_t count = last_hit_buffer.count; @@ -370,7 +357,7 @@ void rgb_matrix_task(void) { // while suspended and just do a software shutdown. This is a cheap hack for now. bool suspend_backlight = suspend_state || #if RGB_MATRIX_TIMEOUT > 0 - (rgb_anykey_timer > (uint32_t)RGB_MATRIX_TIMEOUT) || + (last_input_activity_elapsed() > (uint32_t)RGB_MATRIX_TIMEOUT) || #endif // RGB_MATRIX_TIMEOUT > 0 false; @@ -473,12 +460,6 @@ void rgb_matrix_init(void) { } #endif // RGB_MATRIX_KEYREACTIVE_ENABLED - if (!eeconfig_is_enabled()) { - dprintf("rgb_matrix_init_drivers eeconfig is not enabled.\n"); - eeconfig_init(); - eeconfig_update_rgb_matrix_default(); - } - eeconfig_init_rgb_matrix(); if (!rgb_matrix_config.mode) { dprintf("rgb_matrix_init_drivers rgb_matrix_config.mode = 0. Write default values to EEPROM.\n"); @@ -488,7 +469,7 @@ void rgb_matrix_init(void) { } void rgb_matrix_set_suspend_state(bool state) { -#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED +#ifdef RGB_MATRIX_SLEEP if (state && !suspend_state) { // only run if turning off, and only once rgb_task_render(0); // turn off all LEDs when suspending rgb_task_flush(0); // and actually flash led state to LEDs diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index 9a3ffb8ea3a2..b1bf839bf6ac 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -21,31 +21,10 @@ #include #include #include "rgb_matrix_types.h" +#include "rgb_matrix_drivers.h" #include "color.h" #include "keyboard.h" -#if defined(RGB_MATRIX_IS31FL3218) -# include "is31fl3218.h" -#elif defined(RGB_MATRIX_IS31FL3731) -# include "is31fl3731.h" -#elif defined(RGB_MATRIX_IS31FL3733) -# include "is31fl3733.h" -#elif defined(RGB_MATRIX_IS31FL3736) -# include "is31fl3736.h" -#elif defined(RGB_MATRIX_IS31FL3737) -# include "is31fl3737.h" -#elif defined(RGB_MATRIX_IS31FL3741) -# include "is31fl3741.h" -#elif defined(IS31FLCOMMON) -# include "is31flcommon.h" -#elif defined(RGB_MATRIX_SNLED27351) -# include "snled27351.h" -#elif defined(RGB_MATRIX_AW20216S) -# include "aw20216s.h" -#elif defined(RGB_MATRIX_WS2812) -# include "ws2812.h" -#endif - #ifndef RGB_MATRIX_TIMEOUT # define RGB_MATRIX_TIMEOUT 0 #endif @@ -272,17 +251,6 @@ void rgb_matrix_set_flags_noeeprom(led_flags_t flags); # define rgblight_decrease_speed_noeeprom rgb_matrix_decrease_speed_noeeprom #endif -typedef struct { - /* Perform any initialisation required for the other driver functions to work. */ - void (*init)(void); - /* Set the colour of a single LED in the buffer. */ - void (*set_color)(int index, uint8_t r, uint8_t g, uint8_t b); - /* Set the colour of all LEDS on the keyboard in the buffer. */ - void (*set_color_all)(uint8_t r, uint8_t g, uint8_t b); - /* Flush any buffered changes to the hardware. */ - void (*flush)(void); -} rgb_matrix_driver_t; - static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) { #if defined(RGB_MATRIX_SPLIT) if (is_keyboard_left()) { @@ -295,8 +263,6 @@ static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) { #endif } -extern const rgb_matrix_driver_t rgb_matrix_driver; - extern rgb_config_t rgb_matrix_config; extern uint32_t g_rgb_timer; diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 0f979cb2337c..ef12434aa232 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -14,7 +14,11 @@ * along with this program. If not, see . */ -#include "rgb_matrix.h" +#include "rgb_matrix_drivers.h" + +#include +#include "keyboard.h" +#include "color.h" #include "util.h" /* Each driver needs to define the struct @@ -103,7 +107,7 @@ const rgb_matrix_driver_t rgb_matrix_driver = { # endif // LED color buffer -rgb_led_t rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; +rgb_led_t rgb_matrix_ws2812_array[WS2812_LED_COUNT]; bool ws2812_dirty = false; static void init(void) { @@ -112,7 +116,7 @@ static void init(void) { static void flush(void) { if (ws2812_dirty) { - ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT); + ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_COUNT); ws2812_dirty = false; } } diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.h b/quantum/rgb_matrix/rgb_matrix_drivers.h new file mode 100644 index 000000000000..991344f08702 --- /dev/null +++ b/quantum/rgb_matrix/rgb_matrix_drivers.h @@ -0,0 +1,41 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include + +#if defined(RGB_MATRIX_AW20216S) +# include "aw20216s.h" +#elif defined(RGB_MATRIX_IS31FL3218) +# include "is31fl3218.h" +#elif defined(RGB_MATRIX_IS31FL3731) +# include "is31fl3731.h" +#elif defined(RGB_MATRIX_IS31FL3733) +# include "is31fl3733.h" +#elif defined(RGB_MATRIX_IS31FL3736) +# include "is31fl3736.h" +#elif defined(RGB_MATRIX_IS31FL3737) +# include "is31fl3737.h" +#elif defined(RGB_MATRIX_IS31FL3741) +# include "is31fl3741.h" +#elif defined(IS31FLCOMMON) +# include "is31flcommon.h" +#elif defined(RGB_MATRIX_SNLED27351) +# include "snled27351.h" +#elif defined(RGB_MATRIX_WS2812) +# include "ws2812.h" +#endif + +typedef struct { + /* Perform any initialisation required for the other driver functions to work. */ + void (*init)(void); + /* Set the colour of a single LED in the buffer. */ + void (*set_color)(int index, uint8_t r, uint8_t g, uint8_t b); + /* Set the colour of all LEDS on the keyboard in the buffer. */ + void (*set_color_all)(uint8_t r, uint8_t g, uint8_t b); + /* Flush any buffered changes to the hardware. */ + void (*flush)(void); +} rgb_matrix_driver_t; + +extern const rgb_matrix_driver_t rgb_matrix_driver; diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index 8ac886d441fe..530cb0468813 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -116,7 +116,7 @@ animation_status_t animation_status = {}; #endif #ifndef LED_ARRAY -rgb_led_t led[RGBLED_NUM]; +rgb_led_t led[RGBLIGHT_LED_COUNT]; # define LED_ARRAY led #endif @@ -126,7 +126,7 @@ rgblight_segment_t const *const *rgblight_layers = NULL; static bool deferred_set_layer_state = false; #endif -rgblight_ranges_t rgblight_ranges = {0, RGBLED_NUM, 0, RGBLED_NUM, RGBLED_NUM}; +rgblight_ranges_t rgblight_ranges = {0, RGBLIGHT_LED_COUNT, 0, RGBLIGHT_LED_COUNT, RGBLIGHT_LED_COUNT}; void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) { rgblight_ranges.clipping_start_pos = start_pos; @@ -134,8 +134,8 @@ void rgblight_set_clipping_range(uint8_t start_pos, uint8_t num_leds) { } void rgblight_set_effect_range(uint8_t start_pos, uint8_t num_leds) { - if (start_pos >= RGBLED_NUM) return; - if (start_pos + num_leds > RGBLED_NUM) return; + if (start_pos >= RGBLIGHT_LED_COUNT) return; + if (start_pos + num_leds > RGBLIGHT_LED_COUNT) return; rgblight_ranges.effect_start_pos = start_pos; rgblight_ranges.effect_end_pos = start_pos + num_leds; rgblight_ranges.effect_num_leds = num_leds; @@ -229,13 +229,7 @@ void rgblight_init(void) { return; } - dprintf("rgblight_init called.\n"); dprintf("rgblight_init start!\n"); - if (!eeconfig_is_enabled()) { - dprintf("rgblight_init eeconfig is not enabled.\n"); - eeconfig_init(); - eeconfig_update_rgblight_default(); - } rgblight_config.raw = eeconfig_read_rgblight(); RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; if (!rgblight_config.mode) { @@ -664,7 +658,7 @@ void rgblight_setrgb(uint8_t r, uint8_t g, uint8_t b) { } void rgblight_setrgb_at(uint8_t r, uint8_t g, uint8_t b, uint8_t index) { - if (!rgblight_config.enable || index >= RGBLED_NUM) { + if (!rgblight_config.enable || index >= RGBLIGHT_LED_COUNT) { return; } @@ -700,7 +694,7 @@ static uint8_t get_interval_time(const uint8_t *default_interval_address, uint8_ #endif void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8_t end) { - if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLED_NUM) { + if (!rgblight_config.enable || start < 0 || start >= end || end > RGBLIGHT_LED_COUNT) { return; } @@ -727,19 +721,19 @@ void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, #ifndef RGBLIGHT_SPLIT void rgblight_setrgb_master(uint8_t r, uint8_t g, uint8_t b) { - rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLED_NUM / 2); + rgblight_setrgb_range(r, g, b, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2); } void rgblight_setrgb_slave(uint8_t r, uint8_t g, uint8_t b) { - rgblight_setrgb_range(r, g, b, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); + rgblight_setrgb_range(r, g, b, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT); } void rgblight_sethsv_master(uint8_t hue, uint8_t sat, uint8_t val) { - rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLED_NUM / 2); + rgblight_sethsv_range(hue, sat, val, 0, (uint8_t)RGBLIGHT_LED_COUNT / 2); } void rgblight_sethsv_slave(uint8_t hue, uint8_t sat, uint8_t val) { - rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLED_NUM / 2, (uint8_t)RGBLED_NUM); + rgblight_sethsv_range(hue, sat, val, (uint8_t)RGBLIGHT_LED_COUNT / 2, (uint8_t)RGBLIGHT_LED_COUNT); } #endif // ifndef RGBLIGHT_SPLIT @@ -789,7 +783,7 @@ static void rgblight_layers_write(void) { break; // No more segments } // Write segment.count LEDs - rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLED_NUM)]; + rgb_led_t *const limit = &led[MIN(segment.index + segment.count, RGBLIGHT_LED_COUNT)]; for (rgb_led_t *led_ptr = &led[segment.index]; led_ptr < limit; led_ptr++) { # ifdef RGBLIGHT_LAYERS_RETAIN_VAL sethsv(segment.hue, segment.sat, current_val, led_ptr); @@ -900,12 +894,6 @@ void rgblight_wakeup(void) { #endif -__attribute__((weak)) void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) { - ws2812_setleds(start_led, num_leds); -} - -#ifndef RGBLIGHT_CUSTOM - void rgblight_set(void) { rgb_led_t *start_led; uint8_t num_leds = rgblight_ranges.clipping_num_leds; @@ -915,42 +903,41 @@ void rgblight_set(void) { led[i].r = 0; led[i].g = 0; led[i].b = 0; -# ifdef RGBW +#ifdef RGBW led[i].w = 0; -# endif +#endif } } -# ifdef RGBLIGHT_LAYERS +#ifdef RGBLIGHT_LAYERS if (rgblight_layers != NULL -# if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF) +# if !defined(RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF) && rgblight_config.enable -# elif defined(RGBLIGHT_SLEEP) +# elif defined(RGBLIGHT_SLEEP) && !is_suspended -# endif +# endif ) { rgblight_layers_write(); } -# endif +#endif -# ifdef RGBLIGHT_LED_MAP - rgb_led_t led0[RGBLED_NUM]; - for (uint8_t i = 0; i < RGBLED_NUM; i++) { +#ifdef RGBLIGHT_LED_MAP + rgb_led_t led0[RGBLIGHT_LED_COUNT]; + for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) { led0[i] = led[pgm_read_byte(&led_map[i])]; } start_led = led0 + rgblight_ranges.clipping_start_pos; -# else +#else start_led = led + rgblight_ranges.clipping_start_pos; -# endif +#endif -# ifdef RGBW +#ifdef RGBW for (uint8_t i = 0; i < num_leds; i++) { convert_rgb_to_rgbw(&start_led[i]); } -# endif - rgblight_call_driver(start_led, num_leds); -} #endif + rgblight_driver.setleds(start_led, num_leds); +} #ifdef RGBLIGHT_SPLIT /* for split keyboard master side */ @@ -1279,8 +1266,8 @@ void rgblight_effect_snake(animation_status_t *anim) { # endif for (j = 0; j < RGBLIGHT_EFFECT_SNAKE_LENGTH; j++) { k = pos + j * increment; - if (k > RGBLED_NUM) { - k = k % (RGBLED_NUM); + if (k > RGBLIGHT_LED_COUNT) { + k = k % (RGBLIGHT_LED_COUNT); } if (k < 0) { k = k + rgblight_ranges.effect_num_leds; @@ -1465,7 +1452,7 @@ typedef struct PACKED { uint8_t max_life; } TwinkleState; -static TwinkleState led_twinkle_state[RGBLED_NUM]; +static TwinkleState led_twinkle_state[RGBLIGHT_LED_COUNT]; void rgblight_effect_twinkle(animation_status_t *anim) { const bool random_color = anim->delta / 3; diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h index a222ab6b9fc2..9e2b073776c3 100644 --- a/quantum/rgblight/rgblight.h +++ b/quantum/rgblight/rgblight.h @@ -16,6 +16,12 @@ #pragma once +// DEPRECATED DEFINES - DO NOT USE +#if defined(RGBLED_NUM) +# define RGBLIGHT_LED_COUNT RGBLED_NUM +#endif +// ======== + /***** rgblight_mode(mode)/rgblight_mode_noeeprom(mode) **** old mode number (before 0.6.117) to new mode name table @@ -160,6 +166,7 @@ enum RGBLIGHT_EFFECT_MODE { #include #include +#include "rgblight_drivers.h" #include "progmem.h" #include "eeconfig.h" #include "ws2812.h" @@ -233,7 +240,7 @@ void rgblight_unblink_all_but_layer(uint8_t layer); #endif -extern rgb_led_t led[RGBLED_NUM]; +extern rgb_led_t led[RGBLIGHT_LED_COUNT]; extern const uint8_t RGBLED_BREATHING_INTERVALS[4] PROGMEM; extern const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[3] PROGMEM; diff --git a/quantum/rgblight/rgblight_drivers.c b/quantum/rgblight/rgblight_drivers.c new file mode 100644 index 000000000000..45b60e1a5fc8 --- /dev/null +++ b/quantum/rgblight/rgblight_drivers.c @@ -0,0 +1,20 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rgblight_drivers.h" + +#if defined(RGBLIGHT_WS2812) +# include "ws2812.h" + +const rgblight_driver_t rgblight_driver = { + .setleds = ws2812_setleds, +}; + +#elif defined(RGBLIGHT_APA102) +# include "apa102.h" + +const rgblight_driver_t rgblight_driver = { + .setleds = apa102_setleds, +}; + +#endif diff --git a/quantum/rgblight/rgblight_drivers.h b/quantum/rgblight/rgblight_drivers.h new file mode 100644 index 000000000000..f7125a6f3d31 --- /dev/null +++ b/quantum/rgblight/rgblight_drivers.h @@ -0,0 +1,13 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include "color.h" + +typedef struct { + void (*setleds)(rgb_led_t *ledarray, uint16_t number_of_leds); +} rgblight_driver_t; + +extern const rgblight_driver_t rgblight_driver; diff --git a/readme.md b/readme.md index f0e49a08e956..c277ca0aade3 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,7 @@ +# THIS IS THE DEVELOP BRANCH + +Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information. + # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 732fbdc37d4d..f90842f1cfc6 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -16,6 +16,7 @@ along with this program. If not, see . */ #include +#include #include "keyboard.h" #include "keycode.h" #include "host.h" @@ -32,7 +33,6 @@ along with this program. If not, see . #ifdef BLUETOOTH_ENABLE # include "bluetooth.h" -# include "outputselect.h" #endif #ifdef NKRO_ENABLE @@ -74,10 +74,12 @@ led_t host_keyboard_led_state(void) { /* send report */ void host_keyboard_send(report_keyboard_t *report) { #ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { - bluetooth_send_keyboard(report); - return; - } + send_output_t where_to_send = get_send_output(); + if ((where_to_send == SEND_OUTPUT_BLUETOOTH) || (where_to_send == SEND_OUTPUT_BOTH)) { + bluetooth_driver.send_keyboard(report); + if (where_to_send == SEND_OUTPUT_BLUETOOTH) return; // only BT, jump out + } else if ((where_to_send == SEND_OUTPUT_NONE)) + return; // dont send to USB either, jump out #endif if (!driver) return; @@ -98,6 +100,16 @@ void host_keyboard_send(report_keyboard_t *report) { void host_nkro_send(report_nkro_t *report) { if (!driver) return; report->report_id = REPORT_ID_NKRO; + +#if defined(BLUETOOTH_ENABLE) && defined(NKRO_ENABLE) + send_output_t where_to_send = get_send_output(); + if ((where_to_send == SEND_OUTPUT_BLUETOOTH) || (where_to_send == SEND_OUTPUT_BOTH)) { + bluetooth_driver.send_nkro(report); + if (where_to_send == SEND_OUTPUT_BLUETOOTH) return; // only BT, jump out + } else if (where_to_send == SEND_OUTPUT_NONE) + return; // dont send to USB either, jump out +#endif + (*driver->send_nkro)(report); if (debug_keyboard) { @@ -111,10 +123,12 @@ void host_nkro_send(report_nkro_t *report) { void host_mouse_send(report_mouse_t *report) { #ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { - bluetooth_send_mouse(report); - return; - } + send_output_t where_to_send = get_send_output(); + if ((where_to_send == SEND_OUTPUT_BLUETOOTH) || (where_to_send == SEND_OUTPUT_BOTH)) { + bluetooth_driver.send_mouse(report); + if (where_to_send == SEND_OUTPUT_BLUETOOTH) return; // only BT, jump out + } else if (where_to_send == SEND_OUTPUT_NONE) + return; // dont send to USB either, jump out #endif if (!driver) return; @@ -133,6 +147,18 @@ void host_system_send(uint16_t usage) { if (usage == last_system_usage) return; last_system_usage = usage; +#ifdef BLUETOOTH_ENABLE + send_output_t where_to_send = get_send_output(); + if ((where_to_send == SEND_OUTPUT_BLUETOOTH) || (where_to_send == SEND_OUTPUT_BOTH)) { + if (NULL != bluetooth_driver.send_system) { + bluetooth_driver.send_system(usage); + if (where_to_send == SEND_OUTPUT_BLUETOOTH) return; // only BT, jump out + } else if (where_to_send == SEND_OUTPUT_BLUETOOTH) + return; // only BT, but no `send_system`, jump out + } else if (where_to_send == SEND_OUTPUT_NONE) + return; // dont send to USB either, jump out +#endif + if (!driver) return; report_extra_t report = { @@ -147,10 +173,12 @@ void host_consumer_send(uint16_t usage) { last_consumer_usage = usage; #ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { - bluetooth_send_consumer(usage); - return; - } + send_output_t where_to_send = get_send_output(); + if ((where_to_send == SEND_OUTPUT_BLUETOOTH) || (where_to_send == SEND_OUTPUT_BOTH)) { + bluetooth_driver.send_consumer(usage); + if (where_to_send == SEND_OUTPUT_BLUETOOTH) return; // only BT, jump out + } else if (where_to_send == SEND_OUTPUT_NONE) + return; // dont send to USB either, jump out #endif if (!driver) return;