diff options
1693 files changed, 9877 insertions, 8818 deletions
diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk index 4e4b4e4bfd..35f0a05b99 100644 --- a/builddefs/build_full_test.mk +++ b/builddefs/build_full_test.mk @@ -20,7 +20,7 @@ $(TEST)_SRC := \ $(TMK_COMMON_SRC) \ $(QUANTUM_SRC) \ $(SRC) \ - tests/test_common/keymap.c \ + $(QUANTUM_PATH)/keymap_introspection.c \ tests/test_common/matrix.c \ tests/test_common/test_driver.cpp \ tests/test_common/keyboard_report_util.cpp \ @@ -29,7 +29,7 @@ $(TEST)_SRC := \ tests/test_common/test_logger.cpp \ $(patsubst $(ROOTDIR)/%,%,$(wildcard $(TEST_PATH)/*.cpp)) -$(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS) +$(TEST)_DEFS := $(TMK_COMMON_DEFS) $(OPT_DEFS) "-DKEYMAP_C=\"keymap.c\"" $(TEST)_CONFIG := $(TEST_PATH)/config.h diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 6841c27c0f..c137639eac 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -124,26 +124,26 @@ include $(BUILDDEFS_PATH)/build_json.mk # Pull in keymap level rules.mk ifeq ("$(wildcard $(KEYMAP_PATH))", "") # Look through the possible keymap folders until we find a matching keymap.c - ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_5)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_4)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_3)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_1)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","") -include $(MAIN_KEYMAP_PATH_2)/rules.mk KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) - else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","") - -include $(MAIN_KEYMAP_PATH_1)/rules.mk - KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c - KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_3)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_4)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) + else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","") + -include $(MAIN_KEYMAP_PATH_5)/rules.mk + KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c + KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) else ifneq ($(LAYOUTS),) # If we haven't found a keymap yet fall back to community layouts include $(BUILDDEFS_PATH)/build_layout.mk @@ -241,21 +241,20 @@ endif # # https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic # -QMK_KEYBOARD_H = $(KEYBOARD_OUTPUT)/src/default_keyboard.h ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","") - QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h + FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h endif ifneq ("$(wildcard $(KEYBOARD_PATH_2)/$(KEYBOARD_FOLDER_2).h)","") - QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h + FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_2).h endif ifneq ("$(wildcard $(KEYBOARD_PATH_3)/$(KEYBOARD_FOLDER_3).h)","") - QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h + FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_3).h endif ifneq ("$(wildcard $(KEYBOARD_PATH_4)/$(KEYBOARD_FOLDER_4).h)","") - QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h + FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_4).h endif ifneq ("$(wildcard $(KEYBOARD_PATH_5)/$(KEYBOARD_FOLDER_5).h)","") - QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h + FOUND_KEYBOARD_H = $(KEYBOARD_FOLDER_5).h endif # Determine and set parameters based on the keyboard's processor family. @@ -329,7 +328,7 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/info.json)","") INFO_JSON_FILES += $(KEYBOARD_PATH_5)/info.json endif -CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h +CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h KEYBOARD_SRC += $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) @@ -344,15 +343,10 @@ $(KEYBOARD_OUTPUT)/src/default_keyboard.c: $(INFO_JSON_FILES) $(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h) - @$(BUILD_CMD) - -$(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) - @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD) - $(eval CMD=$(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h) + $(eval CMD=$(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --include $(FOUND_KEYBOARD_H) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h) @$(BUILD_CMD) -generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h +generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h .INTERMEDIATE : generated-files @@ -428,7 +422,6 @@ include $(BUILDDEFS_PATH)/common_features.mk include $(BUILDDEFS_PATH)/generic_features.mk include $(TMK_PATH)/protocol.mk include $(PLATFORM_PATH)/common.mk -include $(BUILDDEFS_PATH)/bootloader.mk SRC += $(patsubst %.c,%.clib,$(LIB_SRC)) SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC)) @@ -443,6 +436,7 @@ ifneq ($(REQUIRE_PLATFORM_KEY),) endif endif +-include $(PLATFORM_PATH)/$(PLATFORM_KEY)/bootloader.mk include $(PLATFORM_PATH)/$(PLATFORM_KEY)/platform.mk -include $(PLATFORM_PATH)/$(PLATFORM_KEY)/flash.mk @@ -471,7 +465,7 @@ ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H) OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT) $(KEYMAP_OUTPUT)_SRC := $(SRC) $(KEYMAP_OUTPUT)_DEFS := $(OPT_DEFS) \ --DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(QMK_KEYBOARD_H)\" \ +-DQMK_KEYBOARD=\"$(KEYBOARD)\" -DQMK_KEYBOARD_H=\"$(KEYBOARD_OUTPUT)/src/default_keyboard.h\" \ -DQMK_KEYMAP=\"$(KEYMAP)\" -DQMK_KEYMAP_H=\"$(KEYMAP).h\" -DQMK_KEYMAP_CONFIG_H=\"$(KEYMAP_PATH)/config.h\" $(KEYMAP_OUTPUT)_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYMAP_OUTPUT)_CONFIG := $(CONFIG_H) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index cb2ab3d778..7f07be5144 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -136,6 +136,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) VPATH += $(QUANTUM_DIR)/pointing_device SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c + SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom) SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]')) @@ -773,8 +774,10 @@ endif ifeq ($(strip $(UNICODE_COMMON)), yes) OPT_DEFS += -DUNICODE_COMMON_ENABLE + COMMON_VPATH += $(QUANTUM_DIR)/unicode SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \ - $(QUANTUM_DIR)/utf8.c + $(QUANTUM_DIR)/unicode/unicode.c \ + $(QUANTUM_DIR)/unicode/utf8.c endif MAGIC_ENABLE ?= yes @@ -805,31 +808,25 @@ ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes) OPT_DEFS += -DMOUSE_ENABLE endif -ifeq ($(strip $(PS2_USE_BUSYWAIT)), yes) - PS2_ENABLE := yes - SRC += ps2_busywait.c - SRC += ps2_io.c - OPT_DEFS += -DPS2_USE_BUSYWAIT -endif +VALID_PS2_DRIVER_TYPES := busywait interrupt usart vendor -ifeq ($(strip $(PS2_USE_INT)), yes) - PS2_ENABLE := yes - SRC += ps2_interrupt.c - SRC += ps2_io.c - OPT_DEFS += -DPS2_USE_INT -endif +PS2_DRIVER ?= busywait +ifeq ($(strip $(PS2_ENABLE)), yes) + ifeq ($(filter $(PS2_DRIVER),$(VALID_PS2_DRIVER_TYPES)),) + $(call CATASTROPHIC_ERROR,Invalid PS2_DRIVER,PS2_DRIVER="$(PS2_DRIVER)" is not a valid PS/2 driver) + endif -ifeq ($(strip $(PS2_USE_USART)), yes) - PS2_ENABLE := yes - SRC += ps2_usart.c - SRC += ps2_io.c - OPT_DEFS += -DPS2_USE_USART -endif + OPT_DEFS += -DPS2_DRIVER_$(strip $(shell echo $(PS2_DRIVER) | tr '[:lower:]' '[:upper:]')) -ifeq ($(strip $(PS2_ENABLE)), yes) COMMON_VPATH += $(DRIVER_PATH)/ps2 COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/ps2 OPT_DEFS += -DPS2_ENABLE + + ifneq ($(strip $(PS2_DRIVER)), vendor) + SRC += ps2_io.c + endif + + SRC += ps2_$(strip $(PS2_DRIVER)).c endif JOYSTICK_ENABLE ?= no @@ -885,17 +882,17 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes) OPT_DEFS += -DBLUETOOTH_ENABLE NO_USB_STARTUP_CHECK := yes COMMON_VPATH += $(DRIVER_PATH)/bluetooth - SRC += outputselect.c + SRC += outputselect.c bluetooth.c ifeq ($(strip $(BLUETOOTH_DRIVER)), BluefruitLE) - OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE - SRC += analog.c + OPT_DEFS += -DBLUETOOTH_BLUEFRUIT_LE -DHAL_USE_SPI=TRUE SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp + QUANTUM_LIB_SRC += analog.c QUANTUM_LIB_SRC += spi_master.c endif ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42) - OPT_DEFS += -DBLUETOOTH_RN42 + OPT_DEFS += -DBLUETOOTH_RN42 -DHAL_USE_SERIAL=TRUE SRC += $(DRIVER_PATH)/bluetooth/rn42.c QUANTUM_LIB_SRC += uart.c endif diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index f195e9fd75..0d897bc1c8 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -17,6 +17,7 @@ SPACE_CADET_ENABLE ?= yes GRAVE_ESC_ENABLE ?= yes GENERIC_FEATURES = \ + AUTOCORRECT \ CAPS_WORD \ COMBO \ COMMAND \ diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 98537e6da2..fac6576ba1 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -66,7 +66,9 @@ OTHER_OPTION_NAMES = \ KEYLOGGER_ENABLE \ LCD_BACKLIGHT_ENABLE \ MACROS_ENABLED \ + PS2_ENABLE \ PS2_MOUSE_ENABLE \ + PS2_DRIVER \ RAW_ENABLE \ SWAP_HANDS_ENABLE \ RING_BUFFERED_6KRO_REPORT_ENABLE \ @@ -82,7 +84,8 @@ OTHER_OPTION_NAMES = \ LTO_ENABLE \ PROGRAMMABLE_BUTTON_ENABLE \ SECURE_ENABLE \ - CAPS_WORD_ENABLE + CAPS_WORD_ENABLE \ + AUTOCORRECT_ENABLE define NAME_ECHO @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)" diff --git a/data/mappings/defaults.json b/data/mappings/defaults.json index c855e64d33..ea9f6972c5 100644 --- a/data/mappings/defaults.json +++ b/data/mappings/defaults.json @@ -10,6 +10,12 @@ "bootloader": "atmel-dfu", "pin_compatible": "promicro" }, + "elite_pi": { + "processor": "RP2040", + "bootloader": "rp2040", + "board": "QMK_PM2040", + "pin_compatible": "promicro" + }, "proton_c": { "processor": "STM32F303", "bootloader": "stm32-dfu", diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index 608fe4e9ad..28567c0d01 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -20,9 +20,7 @@ "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"}, "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, - "DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"}, - # TODO: Replace ^^^ with vvv - #"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, + "DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, "DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"}, "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, @@ -40,7 +38,15 @@ "LED_COMPOSE_PIN": {"info_key": "indicators.compose"}, "LED_KANA_PIN": {"info_key": "indicators.kana"}, "LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"}, - "MANUFACTURER": {"info_key": "manufacturer"}, + "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"}, + "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "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"}, + "LED_MATRIX_HUE_STEP": {"info_key": "led_matrix.hue_steps", "value_type": "int"}, + "LED_MATRIX_SAT_STEP": {"info_key": "led_matrix.sat_steps", "value_type": "int"}, + "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"}, + "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"}, + "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str"}, "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"}, "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"}, "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"}, @@ -52,21 +58,13 @@ "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"}, "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"}, "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"}, + "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"}, + "PS2_DATA_PIN": {"info_key": "ps2.data_pin"}, "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"}, "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"}, "RGB_DI_PIN": {"info_key": "rgblight.pin"}, "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"}, "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"}, - "RGBLIGHT_EFFECT_ALTERNATING": {"info_key": "rgblight.animations.alternating", "value_type": "bool"}, - "RGBLIGHT_EFFECT_BREATHING": {"info_key": "rgblight.animations.breathing", "value_type": "bool"}, - "RGBLIGHT_EFFECT_CHRISTMAS": {"info_key": "rgblight.animations.christmas", "value_type": "bool"}, - "RGBLIGHT_EFFECT_KNIGHT": {"info_key": "rgblight.animations.knight", "value_type": "bool"}, - "RGBLIGHT_EFFECT_RAINBOW_MOOD": {"info_key": "rgblight.animations.rainbow_mood", "value_type": "bool"}, - "RGBLIGHT_EFFECT_RAINBOW_SWIRL": {"info_key": "rgblight.animations.rainbow_swirl", "value_type": "bool"}, - "RGBLIGHT_EFFECT_RGB_TEST": {"info_key": "rgblight.animations.rgb_test", "value_type": "bool"}, - "RGBLIGHT_EFFECT_SNAKE": {"info_key": "rgblight.animations.snake", "value_type": "bool"}, - "RGBLIGHT_EFFECT_STATIC_GRADIENT": {"info_key": "rgblight.animations.static_gradient", "value_type": "bool"}, - "RGBLIGHT_EFFECT_TWINKLE": {"info_key": "rgblight.animations.twinkle"}, "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"}, @@ -77,8 +75,16 @@ "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"}, "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"}, "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"}, + "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"}, + "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "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"}, + "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"}, + "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"}, + "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"}, + "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"}, "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"}, - "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false}, + "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str"}, "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"}, "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"}, "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"}, @@ -94,6 +100,8 @@ "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"}, "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"}, "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"}, + "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"}, + "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"}, "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"}, diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index a4da10fd31..490a7c396a 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -12,7 +12,7 @@ # replace_with: use with a key marked deprecated or invalid to designate a replacement "BOARD": {"info_key": "board"}, "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, - "BLUETOOTH": {"info_key": "bluetooth.driver"}, + "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"}, "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"}, "ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"}, "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"}, @@ -32,6 +32,9 @@ "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, "STENO_PROTOCOL": {"info_key": "stenography.protocol"}, + "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"}, + "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"}, + "PS2_DRIVER": {"info_key": "ps2.driver"}, # Items we want flagged in lint "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"}, diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 8b68a58482..94a94157c0 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -68,20 +68,8 @@ "type": "number" }, "keyboard": { - "oneOf": [ - { - "type": "string", - "enum": [ - "converter/numeric_keypad_IIe", - "emptystring/NQG", - "maple_computing/christmas_tree/V2017" - ] - }, - { - "type": "string", - "pattern": "^[0-9a-z][0-9a-z_/]*$" - } - ] + "type": "string", + "pattern": "^[0-9a-z][0-9a-z_/]*$" }, "mcu_pin_array": { "type": "array", diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 0308f45116..de23005c1e 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -34,11 +34,11 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"] + "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"] }, "pin_compatible": { "type": "string", - "enum": ["promicro"] + "enum": ["promicro", "elite_c"] }, "processor": { "type": "string", @@ -75,8 +75,7 @@ "driver": { "type": "string", "enum": ["BluefruitLE", "RN42"] - }, - "lto": {"type": "boolean"} + } } }, "board": { @@ -89,7 +88,6 @@ "enum": [ "atmel-dfu", "bootloadhid", - "bootloadHID", "caterina", "custom", "gd32v-dfu", @@ -106,7 +104,6 @@ "tinyuf2", "unknown", "usbasploader", - "USBasp", "wb32-dfu" ] }, @@ -267,7 +264,31 @@ "led_matrix": { "type": "object", "properties": { + "animations": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, "driver": {"type": "string"}, + "center_point": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + }, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "split_count": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} + }, "layout": { "type": "array", "items": { @@ -294,7 +315,31 @@ "rgb_matrix": { "type": "object", "properties": { + "animations": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, "driver": {"type": "string"}, + "center_point": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + }, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "split_count": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} + }, "layout": { "type": "array", "items": { @@ -393,6 +438,20 @@ } } }, + "ps2": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "mouse_enabled": {"type": "boolean"}, + "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "driver": { + "type": "string", + "enum": ["busywait", "interrupt", "usart", "vendor"] + } + } + }, "split": { "type": "object", "additionalProperties": false, @@ -449,7 +508,9 @@ "enum": ["custom", "i2c", "serial", "serial_usart"] }, "sync_matrix_state": {"type": "boolean"}, - "sync_modifiers": {"type": "boolean"} + "sync_modifiers": {"type": "boolean"}, + "watchdog": {"type": "boolean"}, + "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "usb_detect": { diff --git a/docs/_summary.md b/docs/_summary.md index a0d2b2a949..ca6fb91a79 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -76,6 +76,7 @@ * Software Features * [Auto Shift](feature_auto_shift.md) + * [Autocorrect](feature_autocorrect.md) * [Caps Word](feature_caps_word.md) * [Combos](feature_combo.md) * [Debounce API](feature_debounce_type.md) diff --git a/docs/config_options.md b/docs/config_options.md index cc732de7d2..a6ceb199de 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -49,11 +49,11 @@ This is a C header file that is one of the first things included, and will persi * defines your VID, and for most DIY projects, can be whatever you want * `#define PRODUCT_ID 0x5678` * defines your PID, and for most DIY projects, can be whatever you want -* `#define DEVICE_VER 0` +* `#define DEVICE_VER 0x0100` * defines the device version (often used for revisions) -* `#define MANUFACTURER Me` +* `#define MANUFACTURER "Me"` * generally who/whatever brand produced the board -* `#define PRODUCT Board` +* `#define PRODUCT "Board"` * the name of the keyboard * `#define MATRIX_ROWS 5` * the number of rows in your keyboard's matrix @@ -325,6 +325,13 @@ There are a few different ways to set handedness for split keyboards (listed in * `#define SPLIT_USB_TIMEOUT_POLL 10` * Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT` + +* `#define SPLIT_WATCHDOG_ENABLE` + * Reboot slave if no communication from master within timeout. + * Helps resolve issue where both sides detect as slave using `SPLIT_USB_DETECT` + +* `#define SPLIT_WATCHDOG_TIMEOUT 3000` + * Maximum slave timeout when waiting for communication from master when using `SPLIT_WATCHDOG_ENABLE` * `#define FORCED_SYNC_THROTTLE_MS 100` * Deadline for synchronizing data from master to slave when using the QMK-provided split transport. diff --git a/docs/feature_autocorrect.md b/docs/feature_autocorrect.md new file mode 100644 index 0000000000..480131e5fc --- /dev/null +++ b/docs/feature_autocorrect.md @@ -0,0 +1,295 @@ +# Autocorrect + +There are a lot of words that are prone to being typed incorrectly, due to habit, sequence or just user error. This feature leverages your firmware to automatically correct these errors, to help reduce typos. + +## How does it work? :id=how-does-it-work + +The feature maintains a small buffer of recent key presses. On each key press, it checks whether the buffer ends in a recognized typo, and if so, automatically sends keystrokes to correct it. + +The tricky part is how to efficiently check the buffer for typos. We don’t want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves. + +![An example trie](https://i.imgur.com/HL5DP8H.png) + +Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesn’t match or we reach a leaf, meaning a typo was found. + +## How do I enable Autocorrection :id=how-do-i-enable-autocorrection + +In your `rules.mk`, add this: + +```make +AUTOCORRECT_ENABLE = yes +``` + +Additionally, you will need a library for autocorrection. A small sample library is included by default, so that you can get up and running right away, but you can provide a customized library. + +By default, autocorrect is disabled. To enable it, you need to use the `AUTOCORRECT_TOGGLE` keycode to enable it. The status is stored in persistent memory, so you shouldn't need to enabled it again. + +## Customizing autocorrect library :id=customizing-autocorrect-library + +To provide a custom library, you need to create a text file with the corrections. For instance: + +```text +:thier -> their +fitler -> filter +lenght -> length +ouput -> output +widht -> width +``` + +The syntax is `typo -> correction`. Typos and corrections are case insensitive, and any whitespace before or after the typo and correction is ignored. The typo must be only the letters a–z, or the special character : representing a word break. The correction may have any non-unicode characters. + +Then, run: + +```sh +qmk generate-autocorrect-data autocorrect_dictionary.txt +``` + +This will process the file and produce an `autocorrect_data.h` file with the trie library, in the folder that you are at. You can specify the keyboard and keymap (eg `-kb planck/rev6 -km jackhumbert`), and it will place the file in that folder instead. But as long as the file is located in your keymap folder, or user folder, it should be picked up automatically. + +This file will look like this: + +```c +// :thier -> their +// fitler -> filter +// lenght -> length +// ouput -> output +// widht -> width + +#define AUTOCORRECT_MIN_LENGTH 5 // "ouput" +#define AUTOCORRECT_MAX_LENGTH 6 // ":thier" + +#define DICTIONARY_SIZE 74 + +static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {85, 7, 0, 23, 35, 0, 0, 8, 0, 76, 16, 0, 15, 25, 0, 0, + 11, 23, 44, 0, 130, 101, 105, 114, 0, 23, 12, 9, 0, 131, 108, 116, 101, 114, 0, 75, 42, 0, 24, 64, 0, 0, 71, 49, 0, + 10, 56, 0, 0, 12, 26, 0, 129, 116, 104, 0, 17, 8, 15, 0, 129, 116, 104, 0, 19, 24, 18, 0, 130, 116, 112, 117, 116, + 0}; +``` + +### Avoiding false triggers :id=avoiding-false-triggers + +By default, typos are searched within words, to find typos within longer identifiers like maxFitlerOuput. While this is useful, a consequence is that autocorrection will falsely trigger when a typo happens to be a substring of a correctly-spelled word. For instance, if we had thier -> their as an entry, it would falsely trigger on (correct, though relatively uncommon) words like “wealthier” and “filthier.” + +The solution is to set a word break : before and/or after the typo to constrain matching. : matches space, period, comma, underscore, digits, and most other non-alpha characters. + +|Text |thier |:thier |thier: |:thier: | +|-----------------|:------:|:------:|:------:|:------:| +|see `thier` typo |matches |matches |matches |matches | +|it’s `thiers` |matches |matches |no |no | +|wealthier words |matches |no |matches |no | + +:thier: is most restrictive, matching only when thier is a whole word. + +The `qmk generate-autocorrect-data` commands can make an effort to check for entries that would false trigger as substrings of correct words. It searches each typo against a dictionary of 25K English words from the english_words Python package, provided it’s installed. (run `python3 -m pip install english_words` to install it.) + +?> Unfortunately, this is limited to just english words, at this point. + +## Overriding Autocorrect + +Occasionally you might actually want to type a typo (for instance, while editing autocorrection_dict.txt) without being autocorrected. There are a couple of ways to do this: + +1. Begin typing the typo. +2. Before typing the last letter, press and release the Ctrl or Alt key. +3. Type the remaining letters. + +This works because the autocorrection implementation doesn’t understand hotkeys, so it resets itself whenever a modifier other than shift is held. + +Additionally, you can use the `AUTOCORRECT_TOGGLE` keycode to toggle the on/off status for Autocorrect. + +### Keycodes :id=keycodes + +|Keycode | Short keycode | Description | +|---------------------|---------------|------------------------------------------------| +|`AUTOCORRECT_ON` | `CRT_ON` | Turns on the Autocorrect feature. | +|`AUTOCORRECT_OFF` | `CRT_OFF` | Turns off the Autocorrect feature. | +|`AUTOCORRECT_TOGGLE` | `CRT_TOG` | Toggles the status of the Autocorrect feature. | + +## User Callback Functions + +### Process Autocorrect + +Callback function `bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods)` is available to customise incoming keycodes and handle exceptions. You can use this function to sanitise input before they are passed onto the autocorrect engine + +?> Sanitisation of input is required because autocorrect will only match 8-bit [basic keycodes](keycodes_basic.md) for typos. If valid modifier keys or 16-bit keycodes that are part of a user's word input (such as Shift + A) is passed through, they will fail typo letter detection. For example a [Mod-Tap](mod_tap.md) key such as `LCTL_T(KC_A)` is 16-bit and should be masked for the 8-bit `KC_A`. + +The default user callback function is found inside `quantum/process_keycode/process_autocorrect.c`. It covers most use-cases for QMK special functions and quantum keycodes, including [overriding autocorrect](#overriding-autocorrect) with a modifier other than shift. The `process_autocorrect_user` function is `weak` defined to allow user's copy inside `keymap.c` (or code files) to overwrite it. + +#### Process Autocorrect Example + +If you have a custom keycode `QMKBEST` that should be ignored as part of a word, and another custom keycode `QMKLAYER` that should override autocorrect, both can be added to the bottom of the `process_autocorrect_user` `switch` statement in your source code: + +```c +bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods) { + // See quantum_keycodes.h for reference on these matched ranges. + switch (*keycode) { + // Exclude these keycodes from processing. + case KC_LSFT: + case KC_RSFT: + case KC_CAPS: + case QK_TO ... QK_ONE_SHOT_LAYER_MAX: + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_MOD_MAX: + case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: + return false; + + // Mask for base keycode from shifted keys. + case QK_LSFT ... QK_LSFT + 255: + case QK_RSFT ... QK_RSFT + 255: + if (*keycode >= QK_LSFT && *keycode <= (QK_LSFT + 255)) { + *mods |= MOD_LSFT; + } else { + *mods |= MOD_RSFT; + } + *keycode &= 0xFF; // Get the basic keycode. + return true; +#ifndef NO_ACTION_TAPPING + // Exclude tap-hold keys when they are held down + // and mask for base keycode when they are tapped. + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: +# ifdef NO_ACTION_LAYER + // Exclude Layer Tap, if layers are disabled + // but action tapping is still enabled. + return false; +# endif + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + // Exclude hold if mods other than Shift is not active + if (!record->tap.count) { + return false; + } + *keycode &= 0xFF; + break; +#else + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + // Exclude if disabled + return false; +#endif + // Exclude swap hands keys when they are held down + // and mask for base keycode when they are tapped. + case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: +#ifdef SWAP_HANDS_ENABLE + if (*keycode >= 0x56F0 || !record->tap.count) { + return false; + } + *keycode &= 0xFF; + break; +#else + // Exclude if disabled + return false; +#endif + // Handle custom keycodes + case QMKBEST: + return false; + case QMKLAYER: + *typo_buffer_size = 0; + return false; + } + + // Disable autocorrect while a mod other than shift is active. + if ((*mods & ~MOD_MASK_SHIFT) != 0) { + *typo_buffer_size = 0; + return false; + } + + return true; +} +``` + +?> In this callback function, `return false` will skip processing of that keycode for autocorrect. Adding `*typo_buffer_size = 0` will also reset the autocorrect buffer at the same time, cancelling any current letters already stored in the buffer. + +### Apply Autocorrect + +Additionally, `apply_autocorrect(uint8_t backspaces, const char *str)` allows for users to add additional handling to the autocorrection, or replace the functionality entirely. This passes on the number of backspaces needed to replace the words, as well as the replacement string (partial word, not the full word). + +#### Apply Autocorrect Example + +This following example will play a sound when a typo is autocorrected and execute the autocorrection itself: + +```c +#ifdef AUDIO_ENABLE +float autocorrect_song[][2] = SONG(TERMINAL_SOUND); +#endif + +bool apply_autocorrect(uint8_t backspaces, const char *str) { +#ifdef AUDIO_ENABLE + PLAY_SONG(autocorrect_song); +#endif + for (uint8_t i = 0; i < backspaces; ++i) { + tap_code(KC_BSPC); + } + send_string_P(str); + return false; +} +``` + +?> In this callback function, `return false` will stop the normal processing of autocorrect, which requires manually handling of removing the "bad" characters and typing the new characters. + +!> ***IMPORTANT***: `str` is a pointer to `PROGMEM` data for the autocorrection. If you return false, and want to send the string, this needs to use `send_string_P` and not `send_string` or `SEND_STRING`. + +You can also use `apply_autocorrect` to detect and display the event but allow internal code to execute the autocorrection with `return true`: + +```c +bool apply_autocorrect(uint8_t backspaces, const char *str) { +#ifdef OLED_ENABLE + oled_write_P(PSTR("Auto-corrected"), false); +#endif + return true; +} +``` + +## Appendix: Trie binary data format :id=appendix + +This section details how the trie is serialized to byte data in autocorrection_data. You don’t need to care about this to use this autocorrection implementation. But it is documented for the record in case anyone is interested in modifying the implementation, or just curious how it works. + +What I did here is fairly arbitrary, but it is simple to decode and gets the job done. + +### Encoding :id=encoding + +All autocorrection data is stored in a single flat array autocorrection_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind: + +* 00 ⇒ chain node: a trie node with a single child. +* 01 ⇒ branching node: a trie node with multiple children. +* 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction. + +![An example trie](https://i.imgur.com/HL5DP8H.png) + +**Branching node**. Each branch is encoded with one byte for the keycode (KC_A–KC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order. + +All branches are serialized this way, one after another, and terminated with a zero byte. As described above, the node is identified as a branch by setting the two high bits of the first byte to 01, done by bitwise ORing the first keycode with 64. keycode. The root node for the above figure would be serialized like: + +``` ++-------+-------+-------+-------+-------+-------+-------+ +| R|64 | node 2 | T | node 3 | 0 | ++-------+-------+-------+-------+-------+-------+-------+ +``` + +**Chain node**. Tries tend to have long chains of single-child nodes, as seen in the example above with f-i-t-l in fitler. So to save space, we use a different format to encode chains than branching nodes. A chain is encoded as a string of keycodes, beginning with the node closest to the root, and terminated with a zero byte. The child of the last node in the chain is encoded immediately after. That child could be either a branching node or a leaf. + +In the figure above, the f-i-t-l chain is encoded as + +``` ++-------+-------+-------+-------+-------+ +| L | T | I | F | 0 | ++-------+-------+-------+-------+-------+ +``` + +If we were to encode this chain using the same format used for branching nodes, we would encode a 16-bit node link with every node, costing 8 more bytes in this example. Across the whole trie, this adds up. Conveniently, we can point to intermediate points in the chain and interpret the bytes in the same way as before. E.g. starting at the i instead of the l, and the subchain has the same format. + +**Leaf node**. A leaf node corresponds to a particular typo and stores data to correct the typo. The leaf begins with a byte for the number of backspaces to type, and is followed by a null-terminated ASCII string of the replacement text. The idea is, after tapping backspace the indicated number of times, we can simply pass this string to the `send_string_P` function. For fitler, we need to tap backspace 3 times (not 4, because we catch the typo as the final ‘r’ is pressed) and replace it with lter. To identify the node as a leaf, the two high bits are set to 10 by ORing the backspace count with 128: + +``` ++-------+-------+-------+-------+-------+-------+ +| 3|128 | 'l' | 't' | 'e' | 'r' | 0 | ++-------+-------+-------+-------+-------+-------+ +``` + +### Decoding :id=decoding + +This format is by design decodable with fairly simple logic. A 16-bit variable state represents our current position in the trie, initialized with 0 to start at the root node. Then, for each keycode, test the highest two bits in the byte at state to identify the kind of node. + +* 00 ⇒ **chain node**: If the node’s byte matches the keycode, increment state by one to go to the next byte. If the next byte is zero, increment again to go to the following node. +* 01 ⇒ **branching node**: Search the branches for one that matches the keycode, and follow its node link. +* 10 ⇒ **leaf node**: a typo has been found! We read its first byte for the number of backspaces to type, then pass its following bytes to send_string_P to type the correction. + +## Credits + +Credit goes to [getreuer](https://github.com/getreuer) for originally implementing this [here](https://getreuer.info/posts/keyboards/autocorrection/#how-does-it-work). As well as to [filterpaper](https://github.com/filterpaper) for converting the code to use PROGMEM, and additional improvements. diff --git a/docs/feature_combo.md b/docs/feature_combo.md index 42d965509b..bb0b5d7aa0 100644 --- a/docs/feature_combo.md +++ b/docs/feature_combo.md @@ -255,7 +255,7 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode ``` ## Variable Length Combos -If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such: +If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = ARRAY_SIZE(key_combos);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such: ```c enum myCombos { ..., diff --git a/docs/feature_converters.md b/docs/feature_converters.md index fe12254efe..3dabae915d 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -17,6 +17,9 @@ Currently the following converters are available: | `promicro` | `bit_c_pro` | | `promicro` | `stemcell` | | `promicro` | `bonsai_c4` | +| `promicro` | `elite_pi` | +| `elite_c` | `stemcell` | +| `elite_c` | `elite_pi` | See below for more in depth information on each converter. @@ -47,6 +50,23 @@ Once a converter is enabled, it exposes the `CONVERT_TO_<target_uppercase>` flag #endif ``` +### Pin Compatibility + +To ensure compatibility, provide validation, and power future workflows, a keyboard should declare its `pin compatibility`. For legacy reasons, this is currently assumed to be `promicro`. + +Currently the following pin compatibility interfaces are defined: + +| Pinout | Notes | +|------------|-----------------------------------| +| `promicro` | Includes RX/TX LEDs | +| `elite_c` | Includes bottom row pins, no LEDs | + +To declare the base for conversions, add this line to your keyboard's `rules.mk`: + +```makefile +PIN_COMPATIBLE = elite_c +``` + ## Pro Micro If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.com/products/12640) (or compatible board), the supported alternative controllers are: @@ -60,6 +80,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co | [Bit-C PRO](https://nullbits.co/bit-c-pro) | `bit_c_pro` | | [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | | [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` | +| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | Converter summary: @@ -72,6 +93,7 @@ Converter summary: | `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` | | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | | `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` | +| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | ### Proton C :id=proton_c @@ -102,9 +124,9 @@ The following defaults are based on what has been implemented for [RP2040](platf | USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) | | [Split keyboards](feature_split_keyboard.md) | Partial via `PIO` vendor driver - heavily dependent on enabled features | -### SparkFun Pro Micro - RP2040, Blok, and Bit-C PRO :id=promicro_rp2040 +### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO, and Elite-Pi :id=promicro_rp2040 -Currently identical to [Adafruit KB2040](#kb2040). +Currently identical to [Adafruit KB2040](#kb2040). ### STeMCell :id=stemcell @@ -135,4 +157,28 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro #define B0 PAL_LINE(GPIOA, 9) ``` -No peripherals are enabled by default at this time, but example code to enable SPI, I2C, PWM, and Serial communications can be found [here](/keyboards/custommk/bonsai_c4_template)
\ No newline at end of file +No peripherals are enabled by default at this time, but example code to enable SPI, I2C, PWM, and Serial communications can be found [here](/keyboards/custommk/bonsai_c4_template). + +## Elite-C + +If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products/elite-c-low-profile-version-usb-c-pro-micro-replacement-atmega32u4), the supported alternative controllers are: + +| Device | Target | +|----------------------------------------------------------------------------------|-------------------| +| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | +| [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | + +Converter summary: + +| Target | Argument | `rules.mk` | Condition | +|-------------------|---------------------------------|------------------------------|-------------------------------------| +| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | +| `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | + +### STeMCell :id=stemcell_elite + +Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins. + +### Elite-Pi :id=elite_pi + +Currently identical to [Adafruit KB2040](#kb2040), with support for the additional bottom row of pins. diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md index 2e4a4fe324..60b613d6a5 100644 --- a/docs/feature_encoders.md +++ b/docs/feature_encoders.md @@ -90,6 +90,14 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { ?> This should only be enabled at the keymap level. +Using encoder mapping pumps events through the normal QMK keycode processing pipeline, resulting in a _keydown/keyup_ combination pushed through `process_record_xxxxx()`. To configure the amount of time between the encoder "keyup" and "keydown", you can add the following to your `config.h`: + +```c +#define ENCODER_MAP_KEY_DELAY 10 +``` + +?> By default, the encoder map delay matches the value of `TAP_CODE_DELAY`. + ## Callbacks When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`: @@ -121,7 +129,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } ``` -!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up. +!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up. Layer conditions can also be used with the callback function like the following: @@ -174,7 +182,7 @@ The A an B lines of the encoders should be wired directly to the MCU, and the C/ Multiple encoders may share pins so long as each encoder has a distinct pair of pins when the following conditions are met: - using detent encoders - pads must be high at the detent stability point which is called 'default position' in QMK -- no more than two encoders sharing a pin can be turned at the same time +- no more than two encoders sharing a pin can be turned at the same time For example you can support two encoders using only 3 pins like this ``` @@ -187,4 +195,4 @@ You could even support three encoders using only three pins (one per encoder) ho #define ENCODERS_PAD_A { B1, B1, B2 } #define ENCODERS_PAD_B { B2, B3, B3 } ``` -Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case +Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md index 2635298587..a82192bfe1 100644 --- a/docs/feature_joystick.md +++ b/docs/feature_joystick.md @@ -70,71 +70,44 @@ When the ADC reads 900 or higher, the returned axis value will be -127, whereas In this example, the first axis will be read from the `A4` pin while `B0` is set high and `A7` is set low, using `analogReadPin()`, whereas the second axis will not be read. -In order to give a value to the second axis, you can do so in any customizable entry point: as an action, in `process_record_user()` or in `matrix_scan_user()`, or even in `joystick_task()` which is called even when no key has been pressed. -You assign a value by writing to `joystick_status.axes[axis_index]` a signed 8-bit value (ranging from -127 to 127). Then it is necessary to assign the flag `JS_UPDATED` to `joystick_status.status` in order for an updated HID report to be sent. +#### Virtual Axes -The following example writes two axes based on keypad presses, with `KC_P5` as a precision modifier: +To give a value to virtual axes, call `joystick_set_axis(axis, value)`. + +The following example adjusts two virtual axes (X and Y) based on keypad presses, with `KC_P5` as a precision modifier: ```c -#ifdef ANALOG_JOYSTICK_ENABLE -static uint8_t precision_val = 70; -static uint8_t axesFlags = 0; -enum axes { - Precision = 1, - Axis1High = 2, - Axis1Low = 4, - Axis2High = 8, - Axis2Low = 16 +joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { + [0] = JOYSTICK_AXIS_VIRTUAL, // x + [1] = JOYSTICK_AXIS_VIRTUAL // y }; -#endif + +static bool precision = false; +static uint16_t precision_mod = 64; +static uint16_t axis_val = 127; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { -#ifdef ANALOG_JOYSTICK_ENABLE - // virtual joystick -# if JOYSTICK_AXES_COUNT > 1 + int16_t precision_val = axis_val; + if (precision) { + precision_val -= precision_mod; + } + + switch (keycode) { case KC_P8: - if (record->event.pressed) { - axesFlags |= Axis2Low; - } else { - axesFlags &= ~Axis2Low; - } - joystick_status.status |= JS_UPDATED; - break; + joystick_set_axis(1, record->event.pressed ? -precision_val : 0); + return false; case KC_P2: - if (record->event.pressed) { - axesFlags |= Axis2High; - } else { - axesFlags &= ~Axis2High; - } - joystick_status.status |= JS_UPDATED; - break; -# endif + joystick_set_axis(1, record->event.pressed ? precision_val : 0); + return false; case KC_P4: - if (record->event.pressed) { - axesFlags |= Axis1Low; - } else { - axesFlags &= ~Axis1Low; - } - joystick_status.status |= JS_UPDATED; - break; + joystick_set_axis(0, record->event.pressed ? -precision_val : 0); + return false; case KC_P6: - if (record->event.pressed) { - axesFlags |= Axis1High; - } else { - axesFlags &= ~Axis1High; - } - joystick_status.status |= JS_UPDATED; - break; + joystick_set_axis(0, record->event.pressed ? precision_val : 0); + return false; case KC_P5: - if (record->event.pressed) { - axesFlags |= Precision; - } else { - axesFlags &= ~Precision; - } - joystick_status.status |= JS_UPDATED; - break; -#endif + precision = record->event.pressed; + return false; } return true; } diff --git a/docs/feature_led_indicators.md b/docs/feature_led_indicators.md index a2a2e17c6f..d89562a377 100644 --- a/docs/feature_led_indicators.md +++ b/docs/feature_led_indicators.md @@ -101,6 +101,13 @@ The `host_keyboard_led_state()` function will report the LED state returned from bool caps = host_keyboard_led_state().caps_lock; ``` +## `led_update_ports()` + +This function writes the LED state to the actual hardware. Call it manually +from your `led_update_*()` callbacks to modify the handling of the standard +keyboard LEDs. +For example when repurposing a standard LED indicator as layer indicator. + ## Setting Physical LED State Some keyboard implementations provide convenient methods for setting the state of the physical LEDs. diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index 563fa149a2..280db2a383 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -22,7 +22,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N> | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | | +| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | | `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | | | `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | | | `LED_DRIVER_ADDR_3` | (Optional) Address for the third LED driver | | @@ -44,17 +44,17 @@ Here is an example using 2 drivers. #define LED_DRIVER_COUNT 2 #define LED_DRIVER_1_LED_TOTAL 25 #define LED_DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) +#define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `LED_DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`. For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -95,7 +95,7 @@ Configure the hardware via your `config.h`: | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `DRIVER_COUNT` | (Required) How many LED driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | | +| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | | | `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | | | `DRIVER_ADDR_<N>` | (Required) Address for the additional LED drivers | | | `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | | @@ -130,16 +130,16 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 42 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address @@ -364,10 +364,9 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ #define LED_MATRIX_KEYPRESSES // reacts to keypresses #define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects -#define LED_DISABLE_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off -#define LED_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects +#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_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 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 #define LED_MATRIX_STARTUP_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set @@ -391,7 +390,7 @@ Where `28` is an unused index from `eeconfig.h`. |Function |Description | |--------------------------------------------|-------------| |`led_matrix_set_value_all(v)` |Set all of the LEDs to the given value, where `v` is between 0 and 255 (not written to EEPROM) | -|`led_matrix_set_value(index, v)` |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) | +|`led_matrix_set_value(index, v)` |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `LED_MATRIX_LED_COUNT` (not written to EEPROM) | ### Disable/Enable Effects :id=disable-enable-effects |Function |Description | @@ -442,8 +441,12 @@ Where `28` is an unused index from `eeconfig.h`. If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `led_matrix_indicators_kb` or `led_matrix_indicators_user` function for that: ```c -void led_matrix_indicators_kb(void) { +bool led_matrix_indicators_kb(void) { + if (!led_matrix_indicators_user()) { + return false; + } led_matrix_set_value(index, value); + return true; } ``` @@ -452,5 +455,6 @@ In addition, there are the advanced indicator functions. These are aimed at tho ```c void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { LED_MATRIX_INDICATOR_SET_VALUE(index, value); + return false; } ``` diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 999dd1272d..0771203cdd 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -93,20 +93,20 @@ 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. | `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_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. Default attenuation is set to 4X, although if you are using a thicker overlay (such as the curved overlay) you will want a lower attenuation such as 2X. The possible values are: -* `ADC_ATTENUATE_4X`: Least sensitive -* `ADC_ATTENUATE_3X` -* `ADC_ATTENUATE_2X` -* `ADC_ATTENUATE_1X`: Most sensitive +* `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_4X`: Least sensitive +* `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_3X` +* `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_2X` +* `EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_1X`: Most sensitive **`CIRQUE_PINNACLE_POSITION_MODE`** can be `CIRQUE_PINNACLE_ABSOLUTE_MODE` or `CIRQUE_PINNACLE_RELATIVE_MODE`. Modes differ in supported features/gestures. @@ -289,6 +289,7 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {} | `POINTING_DEVICE_INVERT_X` | (Optional) Inverts the X axis report. | _not defined_ | | `POINTING_DEVICE_INVERT_Y` | (Optional) Inverts the Y axis report. | _not defined_ | | `POINTING_DEVICE_MOTION_PIN` | (Optional) If supported, will only read from sensor if pin is active. | _not defined_ | +| `POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW` | (Optional) If defined then the motion pin is active-low. | _varies_ | | `POINTING_DEVICE_TASK_THROTTLE_MS` | (Optional) Limits the frequency that the sensor is polled for motion. | _not defined_ | | `POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE` | (Optional) Enable inertial cursor. Cursor continues moving after a flick gesture and slows down by kinetic friction. | _not defined_ | | `POINTING_DEVICE_GESTURES_SCROLL_ENABLE` | (Optional) Enable scroll gesture. The gesture that activates the scroll is device dependent. | _not defined_ | @@ -345,7 +346,7 @@ The combined functions below are only available when using `SPLIT_POINTING_ENABL | Function | Description | | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | `pointing_device_set_shared_report(mouse_report)` | Sets the shared mouse report to the assigned `mouse_report_t` data structured passed to the function. | -| `pointing_device_set_cpi_on_side(bool, uint16_t)` | Sets the CPI/DPI of one side, if supported. Passing `true` will set the left and `false` the right` | +| `pointing_device_set_cpi_on_side(bool, uint16_t)` | Sets the CPI/DPI of one side, if supported. Passing `true` will set the left and `false` the right | | `pointing_device_combine_reports(left_report, right_report)` | Returns a combined mouse_report of left_report and right_report (as a `mouse_report_t` data structure) | | `pointing_device_task_combined_kb(left_report, right_report)` | Callback, so keyboard code can intercept and modify the data. Returns a combined mouse report. | | `pointing_device_task_combined_user(left_report, right_report)` | Callback, so user code can intercept and modify. Returns a combined mouse report using `pointing_device_combine_reports` | @@ -487,3 +488,243 @@ report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, re return pointing_device_combine_reports(left_report, right_report); } ``` + +# Troubleshooting + +If you are having issues with pointing device drivers debug messages can be enabled that will give you insights in the inner workings. To enable these add to your keyboards `config.h` file: + +```c +#define POINTING_DEVICE_DEBUG +``` + +?> The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](faq_debug.md). + + +--- +# Automatic Mouse Layer :id=pointing-device-auto-mouse + +When using a pointing device combined with a keyboard the mouse buttons are often kept on a separate layer from the default keyboard layer, which requires pressing or holding a key to change layers before using the mouse. To make this easier and more efficient an additional pointing device feature may be enabled that will automatically activate a target layer as soon as the pointing device is active _(in motion, mouse button pressed etc.)_ and deactivate the target layer after a set time. + +Additionally if any key that is defined as a mouse key is pressed then the layer will be held as long as the key is pressed and the timer will be reset on key release. When a non-mouse key is pressed then the layer is deactivated early _(with some exceptions see below)_. Mod, mod tap, and one shot mod keys are ignored _(i.e. don't hold or activate layer but do not deactivate the layer either)_ when sending a modifier keycode _(e.g. hold for mod tap)_ allowing for mod keys to be used with the mouse without activating the target layer when typing. + +All of the standard layer keys (tap toggling, toggle, toggle on, one_shot, layer tap, layer mod) that activate the current target layer are uniquely handled to ensure they behave as expected _(see layer key table below)_. The target layer that can be changed at any point during by calling the `set_auto_mouse_layer(<new_target_layer>);` function. + +### Behaviour of Layer keys that activate the target layer +| Layer key as in `keymap.c` | Auto Mouse specific behaviour | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `MO(<target_layer>)` | Treated as a mouse key holding the layer while pressed | +| `LT(<target_layer>)` | When tapped will be treated as non mouse key and mouse key when held | +| `LM(<target_layer>)` | Treated as a mouse key | +| `TG(<target_layer>)` | Will set flag preventing target layer deactivation or removal until pressed again | +| `TO(<target_layer>)` | Same as `TG(<target_layer>)` | +| `TT(<target_layer>)` | Treated as a mouse key when `tap.count < TAPPING_TOGGLE` and as `TG` when `tap.count == TAPPING_TOGGLE` | +| `DF(<target_layer>)` | Skips auto mouse key processing similar to mod keys | +| `OSL(<target_layer>)` | Skips, but if current one shot layer is the target layer then it will prevent target layer deactivation or removal | + + +## How to enable: + +```c +// in config.h: +#define POINTING_DEVICE_AUTO_MOUSE_ENABLE +// only required if not setting mouse layer elsewhere +#define AUTO_MOUSE_DEFAULT_LAYER <index of your mouse layer> + +// in keymap.c: +void pointing_device_init_user(void) { + set_auto_mouse_layer(<mouse_layer>); // only required if AUTO_MOUSE_DEFAULT_LAYER is not set to index of <mouse_layer> + set_auto_mouse_enable(true); // always required before the auto mouse feature will work +} +``` + +Because the auto mouse feature can be disabled/enabled during runtime and starts as disabled by default it must be enabled by calling `set_auto_mouse_enable(true);` somewhere in firmware before the feature will work. +_Note: for setting the target layer during initialization either setting `AUTO_MOUSE_DEFAULT_LAYER` in `config.h` or calling `set_auto_mouse_layer(<mouse_layer>)` can be used._ + + +## How to Customize: + +There are a few ways to control the auto mouse feature with both `config.h` options and functions for controlling it during runtime. + +### `config.h` Options: +| Define | Description | Range | Units | Default | +| ----------------------------------- | --------------------------------------------------------------------- | :------------------: | :---------: | -------------------------: | +| `POINTING_DEVICE_AUTO_MOUSE_ENABLE` | (Required) Enables auto mouse layer feature | | _None_ | _Not defined_ | +| `AUTO_MOUSE_DEFAULT_LAYER` | (Optional) Index of layer to use as default target layer | 0 - `LAYER_MAX` | _`uint8_t`_ | `1` | +| `AUTO_MOUSE_TIME` | (Optional) Time layer remains active after activation | _ideally_ (250-1000) | _ms_ | `650 ms` | +| `AUTO_MOUSE_DELAY` | (Optional) Lockout time after non-mouse key is pressed | _ideally_ (100-1000) | _ms_ | `TAPPING_TERM` or `200 ms` | +| `AUTO_MOUSE_DEBOUNCE` | (Optional) Time delay from last activation to next update | _ideally_ (10 - 100) | _ms_ | `25 ms` | + +### Adding mouse keys + +While all default mouse keys and layer keys(for current mouse layer) are treated as mouse keys, additional Keyrecords can be added to mouse keys by adding them to the is_mouse_record_* stack. + +#### Callbacks for setting up additional key codes as mouse keys: +| Callback | Description | +| -------------------------------------------------------------------- | -------------------------------------------------- | +| `bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record)` | keyboard level callback for adding mouse keys | +| `bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record)` | user/keymap level callback for adding mouse keys | + +##### To use the callback function to add mouse keys: + +The following code will cause the enter key and all of the arrow keys to be treated as mouse keys (hold target layer while they are pressed and reset active layer timer). +```c + +// in <keyboard>.c: +bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { + switch(keycode) { + case KC_ENT: + return true; + case KC_RIGHT ... KC_UP: + return true; + default: + return false; + } + return is_mouse_record_user(keycode, record); +} +``` + + +## Advanced control + +There are several functions that allow for more advanced interaction with the auto mouse feature allowing for greater control. + +### Functions to control auto mouse enable and target layer: +| Function | Description | Aliases | Return type | +| :--------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------- | --------------: | +| `set_auto_mouse_enable(bool enable)` | Enable or disable auto mouse (true:enable, false:disable) | | `void`(None) | +| `get_auto_mouse_enable(void)` | Return auto mouse enable state (true:enabled, false:disabled) | `AUTO_MOUSE_ENABLED` | `bool` | +| `set_auto_mouse_layer(uint8_t LAYER)` | Change/set the target layer for auto mouse | | `void`(None) | +| `get_auto_mouse_layer(void)` | Return auto mouse target layer index | `AUTO_MOUSE_TARGET_LAYER` | `uint8_t` | +| `remove_auto_mouse_layer(layer_state_t state, bool force)` | Return `state` with target layer removed if appropriate (ignore criteria if `force`) | | `layer_state_t` | +| `auto_mouse_layer_off(void)` | Disable target layer if appropriate will call (makes call to `layer_state_set`) | | `void`(None) | +| `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | | `void`(None) | +| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | | `bool` | + +_NOTES:_ + - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ + - _It is recommended that `remove_auto_mouse_layer` is used in the `layer_state_set_*` stack of functions and `auto_mouse_layer_off` is used everywhere else_ + - _`remove_auto_mouse_layer(state, false)` or `auto_mouse_layer_off()` should be called before any instance of `set_auto_mouse_enabled(false)` or `set_auto_mouse_layer(layer)` to ensure that the target layer will be removed appropriately before disabling auto mouse or changing target to avoid a stuck layer_ + +### Functions for handling custom key events: +| Function | Description | Return type | +| :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | +| `auto_mouse_keyevent(bool pressed)` | Auto mouse mouse key event (true: key down, false: key up) | `void`(None) | +| `auto_mouse_trigger_reset(bool pressed)` | Reset auto mouse status on key down and start delay timer (non-mouse key event) | `void`(None) | +| `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | `void`(None) | +| `get_auto_mouse_toggle(void)` | Return value of toggling state variable | `bool` | +_NOTE: Generally it would be preferable to use the `is_mouse_record_*` functions to add any additional keys that should act as mouse keys rather than adding `auto_mouse_keyevent(record.event->pressed)` to `process_records_*`_ + +### Advanced control examples + +#### Disable auto mouse on certain layers: + +The auto mouse feature can be disabled any time and this can be helpful if you want to disable the auto mouse feature under certain circumstances such as when particular layers are active. One issue however is the handling of the target layer, it needs to be removed appropriately **before** disabling auto mouse _(see notes under control functions above)_. The following function would disable the auto_mouse feature whenever the layers `_LAYER5` through `_LAYER7` are active as the top most layer _(ignoring target layer)_. + +```c +// in keymap.c: +layer_state_t layer_state_set_user(layer_state_t state) { + // checks highest layer other than target layer + switch(get_highest_layer(remove_auto_mouse_layer(state, true))) { + case _LAYER5 ... _LAYER7: + // remove_auto_mouse_target must be called to adjust state *before* setting enable + state = remove_auto_mouse_layer(state, false); + set_auto_mouse_enable(false); + break; + default: + set_auto_mouse_enable(true); + break; + } + // recommend that any code that makes adjustment based on auto mouse layer state would go here + return state; +} +``` + +#### Set different target layer when a particular layer is active: + +The below code will change the auto mouse layer target to `_MOUSE_LAYER_2` when `_DEFAULT_LAYER_2` is highest default layer state. +*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack* if something similar was to be done in `layer_state_set_user `state = remove_auto_mouse_layer(state, false)` should be used instead +*ADDITIONAL NOTE: `AUTO_MOUSE_TARGET_LAYER` is checked if already set to avoid deactivating the target layer unless needed* + +```c +// in keymap.c +layer_state_t default_layer_state_set_user(layer_state_t state) { + // switch on change in default layer need to check if target layer already set to avoid turning off layer needlessly + switch(get_highest_layer(state)) { + case _DEFAULT_LAYER_2: + if ((AUTO_MOUSE_TARGET_LAYER) == _MOUSE_LAYER_2) break; + auto_mouse_layer_off(); + set_auto_mouse_layer(_MOUSE_LAYER_2); + break; + + default: + if((AUTO_MOUSE_TARGET_LAYER) == _MOUSE_LAYER_1) break; + auto_mouse_layer_off(); + set_auto_mouse_layer(_MOUSE_LAYER_1); + } + return state; +} +``` + +### Use custom keys to control auto mouse: +Custom key records could also be created that control the auto mouse feature. +The code example below would create a custom key that would toggle the auto mouse feature on and off when pressed while also setting a bool that could be used to disable other code that may turn it on such as the layer code above. + +```c +// in config.h: +enum user_custom_keycodes { + AM_Toggle = SAFE_RANGE +}; + +// in keymap.c: +// set up global bool to adjust other user code +bool auto_mouse_tg_off = !AUTO_MOUSE_ENABLED; + +bool process_record_user(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + // toggle auto mouse enable key + case AM_Toggle: + if(record->event.pressed) { // key down + auto_mouse_layer_off(); // disable target layer if needed + set_auto_mouse_enabled((AUTO_MOUSE_ENABLED) ^ 1); + auto_mouse_tg_off = !get_auto_mouse_enabled(); + } // do nothing on key up + return false; // prevent further processing of keycode + } +} +``` + + +## Customize Target Layer Activation + +Layer activation can be customized by overwriting the `auto_mouse_activation` function. This function is checked every time `pointing_device_task` is called when inactive and every `AUTO_MOUSE_DEBOUNCE` ms when active, and will evaluate pointing device level conditions that trigger target layer activation. When it returns true, the target layer will be activated barring the usual exceptions _(e.g. delay time has not expired)_. + +By default it will return true if any of the `mouse_report` axes `x`,`y`,`h`,`v` are non zero, or if there is any mouse buttons active in `mouse_report`. +_Note: The Cirque pinnacle track pad already implements a custom activation function that will activate on touchdown as well as movement all of the default conditions, currently this only works for the master side of split keyboards._ + +| Function | Description | Return type | +| :--------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------: | +| `auto_mouse_activation(report_mouse_t mouse_report)` | Overwritable function that controls target layer activation (when true) | `bool` | + +## Auto Mouse for Custom Pointing Device Task + +When using a custom pointing device (overwriting `pointing_device_task`) the following code should be somewhere in the `pointing_device_task_*` stack: + +```c +void pointing_device_task(void) { + //...Custom pointing device task code + + // handle automatic mouse layer (needs report_mouse_t as input) + pointing_device_task_auto_mouse(local_mouse_report); + + //...More custom pointing device task code + + pointing_device_send(); +} +``` + +In general the following two functions must be implemented in appropriate locations for auto mouse to function: + +| Function | Description | Suggested location | +| -------------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------: | +| `pointing_device_task_auto_mouse(report_mouse_t mouse_report)` | handles target layer activation and is_active status updates | `pointing_device_task` stack | +| `process_auto_mouse(uint16_t keycode, keyrecord_t* record)` | Keycode processing for auto mouse | `process_record` stack | diff --git a/docs/feature_ps2_mouse.md b/docs/feature_ps2_mouse.md index c980705ae7..e714d9b867 100644 --- a/docs/feature_ps2_mouse.md +++ b/docs/feature_ps2_mouse.md @@ -32,13 +32,14 @@ In rules.mk: ```make PS2_MOUSE_ENABLE = yes -PS2_USE_BUSYWAIT = yes +PS2_ENABLE = yes +PS2_DRIVER = busywait ``` In your keyboard config.h: ```c -#ifdef PS2_USE_BUSYWAIT +#ifdef PS2_DRIVER_BUSYWAIT # define PS2_CLOCK_PIN D1 # define PS2_DATA_PIN D2 #endif @@ -52,13 +53,14 @@ In rules.mk: ```make PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt ``` In your keyboard config.h: ```c -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT #define PS2_CLOCK_PIN D2 #define PS2_DATA_PIN D5 @@ -84,7 +86,8 @@ In rules.mk: ``` PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt ``` In your keyboard config.h: @@ -108,13 +111,14 @@ In rules.mk: ```make PS2_MOUSE_ENABLE = yes -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart ``` In your keyboard config.h: ```c -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 31f0a2cbc5..669f88e0a9 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -23,7 +23,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` de | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `ISSI_3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | | `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | | `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | @@ -45,17 +45,17 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 25 #define DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `DRIVER_ADDR_1` for one and `DRIVER_ADDR_2` for the other one. Then, in `g_is31_leds`, fill out the correct driver index (0 or 1). If using one address, use `DRIVER_ADDR_1` for both, and use index 0 for `g_is31_leds`. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -90,7 +90,7 @@ You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` de | `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | | `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | | `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | @@ -131,17 +131,17 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 58 #define DRIVER_2_LED_TOTAL 10 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. Currently only 4 drivers are supported, but it would be trivial to support all 8 combinations. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -177,7 +177,7 @@ Configure the hardware via your `config.h`: | `ISSI_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `ISSI_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | | `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | @@ -212,16 +212,16 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 30 #define DRIVER_2_LED_TOTAL 36 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -263,7 +263,7 @@ Configure the hardware via your `config.h`: | `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | | | `DRIVER_ADDR_<N>` | (Required) Address for the additional RGB drivers | | | `ISSI_SSR_<N>` | (Optional) Configuration for the Spread Spectrum Register | | @@ -300,17 +300,17 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 42 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -361,7 +361,7 @@ Configure the hardware via your `config.h`: // The pin connected to the data pin of the LEDs #define RGB_DI_PIN D7 // The number of LEDs connected -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 ``` ?> There are additional configuration options for ARM controllers that offer increased performance over the default bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. @@ -385,7 +385,7 @@ Configure the hardware via your `config.h`: // The pin connected to the clock pin of the LEDs #define RGB_CI_PIN D6 // The number of LEDs connected -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 ``` --- @@ -408,7 +408,7 @@ You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC | `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver | | | `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver | | | `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | -| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | | | `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 | | `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 | | `AW_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 | @@ -426,15 +426,15 @@ Here is an example using 2 drivers. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 32 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. +!> Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. Define these arrays listing all the LEDs in your `<keyboard>.c`: ```c -const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT] = { /* Each AW20216 channel is controlled by a register at some offset between 0x00 * and 0xD7 inclusive. * See drivers/awinic/aw20216.h for the mapping between register offsets and @@ -791,10 +791,9 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #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_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off -#define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects +#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_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_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 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set @@ -824,7 +823,7 @@ Where `28` is an unused index from `eeconfig.h`. |Function |Description | |--------------------------------------------|-------------| |`rgb_matrix_set_color_all(r, g, b)` |Set all of the LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) | -|`rgb_matrix_set_color(index, r, g, b)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) | +|`rgb_matrix_set_color(index, r, g, b)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255, and `index` is between 0 and `RGB_MATRIX_LED_COUNT` (not written to EEPROM) | ### Disable/Enable Effects :id=disable-enable-effects |Function |Description | @@ -889,16 +888,21 @@ Where `28` is an unused index from `eeconfig.h`. If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `rgb_matrix_indicators_kb` or `rgb_matrix_indicators_user` function for that: ```c -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } rgb_matrix_set_color(index, red, green, blue); + return true; } ``` In addition, there are the advanced indicator functions. These are aimed at those with heavily customized displays, where rendering every LED per cycle is expensive. Such as some of the "drashna" layouts. This includes a special macro to help make this easier to use: `RGB_MATRIX_INDICATOR_SET_COLOR(i, r, g, b)`. ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); + return false; } ``` @@ -906,7 +910,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { Caps Lock indicator on alphanumeric flagged keys: ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { for (uint8_t i = led_min; i <= led_max; i++) { if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { @@ -914,12 +918,13 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } } } + return false; } ``` Layer indicator on all keys: ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = led_min; i <= led_max; i++) { switch(get_highest_layer(layer_state|default_layer_state)) { case 2: @@ -932,12 +937,13 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; } } + return false; } ``` Layer indicator only on keys with configured keycodes: ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_highest_layer(layer_state) > 0) { uint8_t layer = get_highest_layer(layer_state); @@ -952,6 +958,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } } } + return false; } ``` @@ -962,7 +969,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver). ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { HSV hsv = {0, 255, 255}; if (layer_state_is(layer_state, 2)) { @@ -981,18 +988,20 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } } + return false; } ``` If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key: ```c -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5 } else { RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0); } + return false; } ``` diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index e53b3525cb..7d194284d6 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -422,6 +422,17 @@ This sets the maximum timeout when detecting master/slave when using `SPLIT_USB_ ``` This sets the poll frequency when detecting master/slave when using `SPLIT_USB_DETECT` +```c +#define SPLIT_WATCHDOG_ENABLE +``` + +This will enable a software watchdog on any side delegated as slave and will reboot the keyboard if no successful communication occurs within `SPLIT_WATCHDOG_TIMEOUT`. This can be particularly helpful when `SPLIT_USB_DETECT` delegates both sides as slave in some circumstances. + +```c +#define SPLIT_WATCHDOG_TIMEOUT 3000 +``` +This set the maximum slave timeout when waiting for communication from master when using `SPLIT_WATCHDOG_ENABLE` + ## Hardware Considerations and Mods Master/slave delegation is made either by detecting voltage on VBUS connection or waiting for USB communication (`SPLIT_USB_DETECT`). Pro Micro boards can use VBUS detection out of the box and be used with or without `SPLIT_USB_DETECT`. diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 2389cb735c..0b06cae6c2 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -119,8 +119,6 @@ The following input modes are available: !> Using the _Unicode Hex Input_ input source may disable some Option-based shortcuts, such as Option+Left and Option+Right. - !> `UC_OSX` is a deprecated alias of `UC_MAC` that will be removed in future versions of QMK. All new keymaps should use `UC_MAC`. - * **`UC_LNX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points). Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else. @@ -206,6 +204,17 @@ The functions for starting and finishing Unicode input on your platform can be o You can find the default implementations of these functions in [`process_unicode_common.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicode_common.c). +### Input Mode Callbacks + +There are callbacks functions available that are called whenever the unicode input mode changes. The new input mode is passed to the function. + +|Callback |Description | +|---------------------------------------------------|-----------------------------------------------------| +| `unicode_input_mode_set_kb(uint8_t input_mode)` | Callback for unicode input mode set, for keyboard. | +| `unicode_input_mode_set_user(uint8_t input_mode)` | Callback for unicode input mode set, for users. | + +This feature can be used, for instance, to implement LED indicators for the current unicode input mode. + ### Input Key Configuration You can customize the keys used to trigger Unicode input for macOS, Linux and WinCompose by adding corresponding defines to your `config.h`. The default values match the platforms' default settings, so you shouldn't need to change this unless Unicode input isn't working, or you want to use a different key (e.g. in order to free up left or right Alt). diff --git a/docs/ja/feature_ps2_mouse.md b/docs/ja/feature_ps2_mouse.md index 569934c187..2798f61283 100644 --- a/docs/ja/feature_ps2_mouse.md +++ b/docs/ja/feature_ps2_mouse.md @@ -36,13 +36,14 @@ rules.mk で: ```makefile PS2_MOUSE_ENABLE = yes -PS2_USE_BUSYWAIT = yes +PS2_ENABLE = yes +PS2_DRIVER = busywait ``` キーボードの config.h で: ```c -#ifdef PS2_USE_BUSYWAIT +#ifdef PS2_DRIVER_BUSYWAIT # define PS2_CLOCK_PIN D1 # define PS2_DATA_PIN D2 #endif @@ -56,13 +57,14 @@ rules.mk で: ```makefile PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt ``` キーボードの config.h で: ```c -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT #define PS2_CLOCK_PIN D2 #define PS2_DATA_PIN D5 @@ -88,14 +90,14 @@ rules.mk で: ```makefile PS2_MOUSE_ENABLE = yes -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart ``` キーボードの config.h で: ```c -#ifdef PS2_USE_USART -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/docs/keycodes.md b/docs/keycodes.md index d0ba8e25bf..9121385f1a 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -207,6 +207,8 @@ See also: [Basic Keycodes](keycodes_basic.md) |`KC_MEDIA_REWIND` |`KC_MRWD` |Previous Track |✔<sup>6</sup>|✔<sup>5</sup>|✔ | |`KC_BRIGHTNESS_UP` |`KC_BRIU` |Brightness Up |✔ |✔ |✔ | |`KC_BRIGHTNESS_DOWN` |`KC_BRID` |Brightness Down |✔ |✔ |✔ | +|`KC_CONTROL_PANEL` |`KC_CPNL` |Open Control Panel |✔ | | | +|`KC_ASSISTANT` |`KC_ASST` |Launch Context-Aware Assistant |✔ | | | <sup>1. The Linux kernel HID driver recognizes [nearly all keycodes](https://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c), but the default bindings depend on the DE/WM.</sup><br/> <sup>2. Treated as F13-F15.</sup><br/> diff --git a/docs/keycodes_basic.md b/docs/keycodes_basic.md index 6f6ef7a3fd..d2a49100d1 100644 --- a/docs/keycodes_basic.md +++ b/docs/keycodes_basic.md @@ -221,6 +221,8 @@ These keycodes are not part of the Keyboard/Keypad usage page. The `SYSTEM_` key |`KC_MEDIA_REWIND` |`KC_MRWD`|Previous Track | |`KC_BRIGHTNESS_UP` |`KC_BRIU`|Brightness Up | |`KC_BRIGHTNESS_DOWN` |`KC_BRID`|Brightness Down | +|`KC_CONTROL_PANEL` |`KC_CPNL`|Open Control Panel | +|`KC_ASSISTANT` |`KC_ASST`|Launch Assistant | ## Number Pad diff --git a/docs/platformdev_rp2040.md b/docs/platformdev_rp2040.md index f6db70701c..65055ef07a 100644 --- a/docs/platformdev_rp2040.md +++ b/docs/platformdev_rp2040.md @@ -6,6 +6,7 @@ The following table shows the current driver status for peripherals on RP2040 MC | ---------------------------------------------------------------- | ---------------------------------------------- | | [ADC driver](adc_driver.md) | Support planned (no ETA) | | [Audio](audio_driver.md) | Support planned (no ETA) | +| [Backlight](feature_backlight.md) | :heavy_check_mark: | | [I2C driver](i2c_driver.md) | :heavy_check_mark: | | [SPI driver](spi_driver.md) | :heavy_check_mark: | | [WS2812 driver](ws2812_driver.md) | :heavy_check_mark: using `PIO` driver | diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md index 6d4e2764d4..ed9cec171b 100644 --- a/docs/quantum_painter.md +++ b/docs/quantum_painter.md @@ -8,7 +8,7 @@ To enable overall Quantum Painter to be built into your firmware, add the follow ```make QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = ...... +QUANTUM_PAINTER_DRIVERS += ...... ``` You will also likely need to select an appropriate driver in `rules.mk`, which is listed below. @@ -17,17 +17,18 @@ You will also likely need to select an appropriate driver in `rules.mk`, which i The QMK CLI can be used to convert from normal images such as PNG files or animated GIFs, as well as fonts from TTF files. -Hardware supported: +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` | -| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = st7789_spi` | -| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS = st7735_spi` | +| 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` | +| RGB565 Surface | Virtual | User-defined | None | `QUANTUM_PAINTER_DRIVERS += rgb565_surface` | ## Quantum Painter Configuration :id=quantum-painter-config @@ -45,7 +46,9 @@ Drivers have their own set of configurable options, and are described in their r ## Quantum Painter CLI Commands :id=quantum-painter-cli -### `qmk painter-convert-graphics` +<!-- tabs:start --> + +### ** `qmk painter-convert-graphics` ** This command converts images to a format usable by QMK, i.e. the QGF File Format. @@ -93,7 +96,7 @@ Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.h... Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.c... ``` -### `qmk painter-make-font-image` +### ** `qmk painter-make-font-image` ** This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format. @@ -126,7 +129,7 @@ The `UNICODE_GLYPHS` argument allows for specifying extra unicode glyphs to gene $ qmk painter-make-font-image --font NotoSans-ExtraCondensedBold.ttf --size 11 -o noto11.png --unicode-glyphs "ĄȽɂɻɣɈʣ" ``` -### `qmk painter-convert-font-image` +### ** `qmk painter-convert-font-image` ** This command converts an intermediate font image to the QFF File Format. @@ -170,6 +173,255 @@ Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.h... Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.c... ``` +<!-- tabs:end --> + +## Quantum Painter Display Drivers :id=quantum-painter-drivers + +<!-- tabs:start --> + +### ** Common: Standard TFT (SPI + D/C + RST) ** + +Most TFT display panels use a 5-pin interface -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. + +For these displays, QMK's `spi_master` must already be correctly configured for the platform you're building for. + +The pin assignments for SPI CS, D/C, and RST are specified during device construction. + +<!-- tabs:start --> + +#### ** GC9A01 ** + +Enabling support for the GC9A01 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += gc9a01_spi +``` + +Creating a GC9A01 device in firmware can then be done with the following API: + +```c +painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_gc9a01_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define GC9A01_NUM_DEVICES 3 +``` + +#### ** ILI9163 ** + +Enabling support for the ILI9163 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += ili9163_spi +``` + +Creating a ILI9163 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ili9163_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ILI9163_NUM_DEVICES 3 +``` + +#### ** ILI9341 ** + +Enabling support for the ILI9341 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += ili9341_spi +``` + +Creating a ILI9341 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ili9341_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ILI9341_NUM_DEVICES 3 +``` + +#### ** ILI9488 ** + +Enabling support for the ILI9488 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += ili9488_spi +``` + +Creating a ILI9488 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ili9488_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ili9488_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ILI9488_NUM_DEVICES 3 +``` + +#### ** SSD1351 ** + +Enabling support for the SSD1351 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += ssd1351_spi +``` + +Creating a SSD1351 device in firmware can then be done with the following API: + +```c +painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_ssd1351_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define SSD1351_NUM_DEVICES 3 +``` + +#### ** ST7735 ** + +Enabling support for the ST7735 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7735_spi +``` + +Creating a ST7735 device in firmware can then be done with the following API: + +```c +painter_device_t qp_st7735_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_st7735_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ST7735_NUM_DEVICES 3 +``` + +!> Some ST7735 devices are known to have different drawing offsets -- despite being a 132x162 pixel display controller internally, some display panels are only 80x160, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered. + +#### ** ST7789 ** + +Enabling support for the ST7789 in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += st7789_spi +``` + +Creating a ST7789 device in firmware can then be done with the following API: + +```c +painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); +``` + +The device handle returned from the `qp_st7789_make_spi_device` function can be used to perform all other drawing operations. + +The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 displays: +#define ST7789_NUM_DEVICES 3 +``` + +!> Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered. + +<!-- tabs:end --> + +### ** Common: Surfaces ** + +Quantum Painter has surface drivers which are able to target a buffer in RAM. In general, surfaces keep track of the "dirty" region -- the area that has been drawn to since the last flush -- so that when transferring to the display they can transfer the minimal amount of data to achieve the end result. + +!> These generally require significant amounts of RAM, so at large sizes and/or higher bit depths, they may not be usable on all MCUs. + +<!-- tabs:start --> + +#### ** RGB565 Surface ** + +Enabling support for RGB565 surfaces in Quantum Painter is done by adding the following to `rules.mk`: + +```make +QUANTUM_PAINTER_ENABLE = yes +QUANTUM_PAINTER_DRIVERS += rgb565_surface +``` + +Creating a RGB565 surface in firmware can then be done with the following API: + +```c +painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); +``` + +The `buffer` is a user-supplied area of memory, and is assumed to be of the size `sizeof(uint16_t) * panel_width * panel_height`. + +The device handle returned from the `qp_rgb565_make_surface` function can be used to perform all other drawing operations. + +Example: + +```c +static painter_device_t my_surface; +static uint16_t my_framebuffer[320 * 240]; // Allocate a buffer for a 320x240 RGB565 display +void keyboard_post_init_kb(void) { + my_surface = qp_rgb565_make_surface(320, 240, my_framebuffer); + qp_init(my_surface, QP_ROTATION_0); +} +``` + +The maximum number of RGB565 surfaces can be configured by changing the following in your `config.h` (default is 1): + +```c +// 3 surfaces: +#define RGB565_SURFACE_NUM_DEVICES 3 +``` + +To transfer the contents of the RGB565 surface to another display, the following API can be invoked: + +```c +bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y); +``` + +The `surface` is the surface to copy out from. The `display` is the target display to draw into. `x` and `y` are the target location to draw the surface pixel data. Under normal circumstances, the location should be consistent, as the dirty region is calculated with respect to the `x` and `y` coordinates -- changing those will result in partial, overlapping draws. + +?> Calling `qp_flush()` on the surface resets its dirty region. Copying the surface contents to the display also automatically resets the dirty region. + +<!-- tabs:end --> + +<!-- tabs:end --> + ## Quantum Painter Drawing API :id=quantum-painter-api All APIs require a `painter_device_t` object as their first parameter -- this object comes from the specific device initialisation, and instructions on creating it can be found in each driver's respective section. @@ -179,7 +431,9 @@ To use any of the APIs, you need to include `qp.h`: #include <qp.h> ``` -### General Notes :id=quantum-painter-api-general +<!-- tabs:start --> + +### ** General Notes ** The coordinate system used in Quantum Painter generally accepts `left`, `top`, `right`, and `bottom` instead of x/y/width/height, and each coordinate is inclusive of where pixels should be drawn. This is required as some datatypes used by display panels have a maximum value of `255` -- for any value or geometry extent that matches `256`, this would be represented as a `0`, instead. @@ -193,9 +447,11 @@ All color data matches the standard QMK HSV triplet definitions: ?> Colors used in Quantum Painter are not subject to the RGB lighting CIE curve, if it is enabled. -### Device Control :id=quantum-painter-api-device-control +### ** Device Control ** + +<!-- tabs:start --> -#### Display Initialisation :id=quantum-painter-api-init +#### ** Display Initialisation ** ```c bool qp_init(painter_device_t device, painter_rotation_t rotation); @@ -211,7 +467,7 @@ void keyboard_post_init_kb(void) { } ``` -#### Display Power :id=quantum-painter-api-power +#### ** Display Power ** ```c bool qp_power(painter_device_t device, bool power_on); @@ -242,7 +498,7 @@ void suspend_wakeup_init_user(void) { } ``` -#### Display Clear :id=quantum-painter-api-clear +#### ** Display Clear ** ```c bool qp_clear(painter_device_t device); @@ -250,7 +506,7 @@ bool qp_clear(painter_device_t device); The `qp_clear` function clears the display's screen. -#### Display Flush :id=quantum-painter-api-flush +#### ** Display Flush ** ```c bool qp_flush(painter_device_t device); @@ -272,9 +528,13 @@ void housekeeping_task_user(void) { } ``` -### Drawing Primitives :id=quantum-painter-api-primitives +<!-- tabs:end --> -#### Set Pixel :id=quantum-painter-api-setpixel +### ** Drawing Primitives ** + +<!-- tabs:start --> + +#### ** Set Pixel ** ```c bool qp_setpixel(painter_device_t device, uint16_t x, uint16_t y, uint8_t hue, uint8_t sat, uint8_t val); @@ -298,7 +558,7 @@ void housekeeping_task_user(void) { } ``` -#### Draw Line :id=quantum-painter-api-line +#### ** Draw Line ** ```c bool qp_line(painter_device_t device, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t hue, uint8_t sat, uint8_t val); @@ -320,7 +580,7 @@ void housekeeping_task_user(void) { } ``` -#### Draw Rect :id=quantum-painter-api-rect +#### ** Draw Rect ** ```c bool qp_rect(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom, uint8_t hue, uint8_t sat, uint8_t val, bool filled); @@ -342,7 +602,7 @@ void housekeeping_task_user(void) { } ``` -#### Draw Circle :id=quantum-painter-api-circle +#### ** Draw Circle ** ```c bool qp_circle(painter_device_t device, uint16_t x, uint16_t y, uint16_t radius, uint8_t hue, uint8_t sat, uint8_t val, bool filled); @@ -364,7 +624,7 @@ void housekeeping_task_user(void) { } ``` -#### Draw Ellipse :id=quantum-painter-api-ellipse +#### ** Draw Ellipse ** ```c bool qp_ellipse(painter_device_t device, uint16_t x, uint16_t y, uint16_t sizex, uint16_t sizey, uint8_t hue, uint8_t sat, uint8_t val, bool filled); @@ -386,9 +646,24 @@ void housekeeping_task_user(void) { } ``` -### Image Functions :id=quantum-painter-api-images +<!-- tabs:end --> + +### ** Image Functions ** -#### Load Image :id=quantum-painter-api-load-image +Making an image available for use requires compiling it into your firmware. To do so, assuming you've created `my_image.qgf.c` and `my_image.qgf.h` as per the CLI examples above, you'd add the following to your `rules.mk`: + +```make +SRC += my_image.qgf.c +``` + +...and in your `keymap.c`, you'd add to the top of the file: +```c +#include "my_image.qgf.h" +``` + +<!-- tabs:start --> + +#### ** Load Image ** ```c painter_image_handle_t qp_load_image_mem(const void *buffer); @@ -396,7 +671,7 @@ painter_image_handle_t qp_load_image_mem(const void *buffer); The `qp_load_image_mem` function loads a QGF image from memory or flash. -`qp_load_image_mem` returns a handle to the loaded image, which can then be used to draw to the screen using `qp_drawimage`, `qp_drawimage_recolor`, `qp_animate`, or `qp_animate_recolor`. If an image is no longer required, it can be unloaded by calling `qp_close_image` below. +`qp_load_image_mem` returns a handle to the loaded image, which can then be used to draw to the screen using `qp_drawimage`, `qp_drawimage_recolor`, `qp_animate`, or `qp_animate_recolor`. If an image is no longer required, it can be unloaded by calling `qp_close_image` below. See the [CLI Commands](quantum_painter.md?id=quantum-painter-cli) for instructions on how to convert images to [QGF](quantum_painter_qgf.md). @@ -410,7 +685,7 @@ Image information is available through accessing the handle: | Height | `image->height` | | Frame Count | `image->frame_count` | -#### Unload Image :id=quantum-painter-api-close-image +#### ** Unload Image ** ```c bool qp_close_image(painter_image_handle_t image); @@ -418,7 +693,7 @@ bool qp_close_image(painter_image_handle_t image); The `qp_close_image` function releases resources related to the loading of the supplied image. -#### Draw image :id=quantum-painter-api-draw-image +#### ** Draw image ** ```c bool qp_drawimage(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); @@ -438,7 +713,7 @@ void keyboard_post_init_kb(void) { } ``` -#### Animate Image :id=quantum-painter-api-animate-image +#### ** Animate Image ** ```c deferred_token qp_animate(painter_device_t device, uint16_t x, uint16_t y, painter_image_handle_t image); @@ -463,7 +738,7 @@ void keyboard_post_init_kb(void) { } ``` -#### Stop Animation :id=quantum-painter-api-stop-animation +#### ** Stop Animation ** ```c void qp_stop_animation(deferred_token anim_token); @@ -478,9 +753,24 @@ void housekeeping_task_user(void) { } ``` -### Font Functions :id=quantum-painter-api-fonts +<!-- tabs:end --> + +### ** Font Functions ** -#### Load Font :id=quantum-painter-api-load-font +Making a font available for use requires compiling it into your firmware. To do so, assuming you've created `my_font.qff.c` and `my_font.qff.h` as per the CLI examples above, you'd add the following to your `rules.mk`: + +```make +SRC += noto11.qff.c +``` + +...and in your `keymap.c`, you'd add to the top of the file: +```c +#include "noto11.qff.h" +``` + +<!-- tabs: start --> + +#### ** Load Font ** ```c painter_font_handle_t qp_load_font_mem(const void *buffer); @@ -488,7 +778,7 @@ painter_font_handle_t qp_load_font_mem(const void *buffer); The `qp_load_font_mem` function loads a QFF font from memory or flash. -`qp_load_font_mem` returns a handle to the loaded font, which can then be measured using `qp_textwidth`, or drawn to the screen using `qp_drawtext`, or `qp_drawtext_recolor`. If a font is no longer required, it can be unloaded by calling `qp_close_font` below. +`qp_load_font_mem` returns a handle to the loaded font, which can then be measured using `qp_textwidth`, or drawn to the screen using `qp_drawtext`, or `qp_drawtext_recolor`. If a font is no longer required, it can be unloaded by calling `qp_close_font` below. See the [CLI Commands](quantum_painter.md?id=quantum-painter-cli) for instructions on how to convert TTF fonts to [QFF](quantum_painter_qff.md). @@ -500,7 +790,7 @@ Font information is available through accessing the handle: |-------------|----------------------| | Line Height | `image->line_height` | -#### Unload Font :id=quantum-painter-api-close-font +#### ** Unload Font ** ```c bool qp_close_font(painter_font_handle_t font); @@ -508,7 +798,7 @@ bool qp_close_font(painter_font_handle_t font); The `qp_close_font` function releases resources related to the loading of the supplied font. -#### Measure Text :id=quantum-painter-api-textwidth +#### ** Measure Text ** ```c int16_t qp_textwidth(painter_font_handle_t font, const char *str); @@ -516,7 +806,7 @@ int16_t qp_textwidth(painter_font_handle_t font, const char *str); The `qp_textwidth` function allows measurement of how many pixels wide the supplied string would result in, for the given font. -#### Draw Text :id=quantum-painter-api-drawtext +#### ** Draw Text ** ```c int16_t qp_drawtext(painter_device_t device, uint16_t x, uint16_t y, painter_font_handle_t font, const char *str); @@ -529,7 +819,7 @@ The `qp_drawtext` and `qp_drawtext_recolor` functions draw the supplied string t // Draw a text message on the bottom-right of the 240x320 display on initialisation static painter_font_handle_t my_font; void keyboard_post_init_kb(void) { - my_font = qp_load_font_mem(font_opensans); + my_font = qp_load_font_mem(font_noto11); if (my_font != NULL) { static const char *text = "Hello from QMK!"; int16_t width = qp_textwidth(my_font, text); @@ -538,9 +828,13 @@ void keyboard_post_init_kb(void) { } ``` -### Advanced Functions :id=quantum-painter-api-advanced +<!-- tabs:end --> + +### ** Advanced Functions ** -#### Get Geometry :id=quantum-painter-api-get-geometry +<!-- tabs:start --> + +#### ** Get Geometry ** ```c void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, painter_rotation_t *rotation, uint16_t *offset_x, uint16_t *offset_y); @@ -548,7 +842,7 @@ void qp_get_geometry(painter_device_t device, uint16_t *width, uint16_t *height, The `qp_get_geometry` function allows external code to retrieve the current width, height, rotation, and drawing offsets. -#### Set Viewport Offsets :id=quantum-painter-api-set-viewport +#### ** Set Viewport Offsets ** ```c void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_t offset_y); @@ -556,7 +850,7 @@ void qp_set_viewport_offsets(painter_device_t device, uint16_t offset_x, uint16_ The `qp_set_viewport_offsets` function can be used to offset all subsequent drawing operations. For example, if a display controller is internally 240x320, but the display panel is 240x240 and has a Y offset of 80 pixels, you could invoke `qp_set_viewport_offsets(display, 0, 80);` and the drawing positioning would be corrected. -#### Set Viewport :id=quantum-painter-api-viewport +#### ** Set Viewport ** ```c bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom); @@ -564,7 +858,7 @@ bool qp_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t The `qp_viewport` function controls where raw pixel data is written to. -#### Stream Pixel Data :id=quantum-painter-api-pixdata +#### ** Stream Pixel Data ** ```c bool qp_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count); @@ -574,184 +868,6 @@ The `qp_pixdata` function allows raw pixel data to be streamed to the display. I !> Under normal circumstances, users will not need to manually call either `qp_viewport` or `qp_pixdata`. These allow for writing of raw pixel information, in the display panel's native format, to the area defined by the viewport. -## Quantum Painter Display Drivers :id=quantum-painter-drivers - -### Common: Standard TFT (SPI + D/C + RST) - -Most TFT display panels use a 5-pin interface -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. - -For these displays, QMK's `spi_master` must already be correctly configured for the platform you're building for. - -The pin assignments for SPI CS, D/C, and RST are specified during device construction. - -### GC9A01 :id=qp-driver-gc9a01 - -Enabling support for the GC9A01 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = gc9a01_spi -``` - -Creating a GC9A01 device in firmware can then be done with the following API: - -```c -painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_gc9a01_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define GC9A01_NUM_DEVICES 3 -``` - -### ILI9163 :id=qp-driver-ili9163 - -Enabling support for the ILI9163 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = ili9163_spi -``` - -Creating a ILI9163 device in firmware can then be done with the following API: - -```c -painter_device_t qp_ili9163_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_ili9163_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define ILI9163_NUM_DEVICES 3 -``` - -### ILI9341 :id=qp-driver-ili9341 - -Enabling support for the ILI9341 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = ili9341_spi -``` - -Creating a ILI9341 device in firmware can then be done with the following API: - -```c -painter_device_t qp_ili9341_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_ili9341_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define ILI9341_NUM_DEVICES 3 -``` - -### ILI9488 :id=qp-driver-ili9488 - -Enabling support for the ILI9488 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = ili9488_spi -``` - -Creating a ILI9488 device in firmware can then be done with the following API: - -```c -painter_device_t qp_ili9488_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_ili9488_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define ILI9488_NUM_DEVICES 3 -``` - -### SSD1351 :id=qp-driver-ssd1351 - -Enabling support for the SSD1351 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = ssd1351_spi -``` - -Creating a SSD1351 device in firmware can then be done with the following API: - -```c -painter_device_t qp_ssd1351_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_ssd1351_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define SSD1351_NUM_DEVICES 3 -``` - -### ST7789 :id=qp-driver-st7789 - -Enabling support for the ST7789 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = st7789_spi -``` - -Creating a ST7789 device in firmware can then be done with the following API: - -```c -painter_device_t qp_st7789_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_st7789_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define ST7789_NUM_DEVICES 3 -``` - -!> Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered. - -### ST7735 :id=qp-driver-st7735 - -Enabling support for the ST7735 in Quantum Painter is done by adding the following to `rules.mk`: - -```make -QUANTUM_PAINTER_ENABLE = yes -QUANTUM_PAINTER_DRIVERS = st7735_spi -``` - -Creating a ST7735 device in firmware can then be done with the following API: - -```c -painter_device_t qp_st7735_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode); -``` - -The device handle returned from the `qp_st7735_make_spi_device` function can be used to perform all other drawing operations. - -The maximum number of displays can be configured by changing the following in your `config.h` (default is 1): - -```c -// 3 displays: -#define ST7735_NUM_DEVICES 3 -``` +<!-- tabs:end --> -!> Some ST7735 devices are known to have different drawing offsets -- despite being a 132x162 pixel display controller internally, some display panels are only 80x160, or smaller. These may require an offset to be applied; see `qp_set_viewport_offsets` above for information on how to override the offsets if they aren't correctly rendered.
\ No newline at end of file +<!-- tabs:end --> diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index bb8e460024..caf18002c0 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -192,6 +192,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers: * [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) * [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) * [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) +* [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) There are other, non-Pro Micro compatible boards out there. The most popular being: * [WeAct Blackpill F411](https://www.aliexpress.com/item/1005001456186625.html) (~$6 USD) diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp index 19310767cf..39c14ddd13 100644 --- a/drivers/bluetooth/bluefruit_le.cpp +++ b/drivers/bluetooth/bluefruit_le.cpp @@ -5,7 +5,7 @@ #include <alloca.h> #include "debug.h" #include "timer.h" -#include "action_util.h" +#include "gpio.h" #include "ringbuffer.hpp" #include <string.h> #include "spi_master.h" @@ -79,9 +79,7 @@ struct sdep_msg { enum queue_type { QTKeyReport, // 1-byte modifier + 6-byte key report QTConsumer, // 16-bit key code -#ifdef MOUSE_ENABLE QTMouseMove, // 4-byte mouse report -#endif }; struct queue_item { @@ -290,7 +288,7 @@ static void resp_buf_wait(const char *cmd) { } } -static bool ble_init(void) { +void bluefruit_le_init(void) { state.initialized = false; state.configured = false; state.is_connected = false; @@ -309,7 +307,6 @@ static bool ble_init(void) { wait_ms(1000); // Give it a second to initialize state.initialized = true; - return state.initialized; } static inline uint8_t min(uint8_t a, uint8_t b) { @@ -433,7 +430,7 @@ bool bluefruit_le_is_connected(void) { bool bluefruit_le_enable_keyboard(void) { char resbuf[128]; - if (!state.initialized && !ble_init()) { + if (!state.initialized) { return false; } @@ -442,7 +439,7 @@ bool bluefruit_le_enable_keyboard(void) { // Disable command echo static const char kEcho[] PROGMEM = "ATE=0"; // Make the advertised name match the keyboard - static const char kGapDevName[] PROGMEM = "AT+GAPDEVNAME=" STR(PRODUCT); + static const char kGapDevName[] PROGMEM = "AT+GAPDEVNAME=" PRODUCT; // Turn on keyboard support static const char kHidEnOn[] PROGMEM = "AT+BLEHIDEN=1"; @@ -581,10 +578,12 @@ static bool process_queue_item(struct queue_item *item, uint16_t timeout) { snprintf(cmdbuf, sizeof(cmdbuf), fmtbuf, item->key.modifier, item->key.keys[0], item->key.keys[1], item->key.keys[2], item->key.keys[3], item->key.keys[4], item->key.keys[5]); return at_command(cmdbuf, NULL, 0, true, timeout); +#ifdef EXTRAKEY_ENABLE case QTConsumer: strcpy_P(fmtbuf, PSTR("AT+BLEHIDCONTROLKEY=0x%04x")); snprintf(cmdbuf, sizeof(cmdbuf), fmtbuf, item->consumer); return at_command(cmdbuf, NULL, 0, true, timeout); +#endif #ifdef MOUSE_ENABLE case QTMouseMove: @@ -613,41 +612,24 @@ static bool process_queue_item(struct queue_item *item, uint16_t timeout) { } } -void bluefruit_le_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys) { +void bluefruit_le_send_keyboard(report_keyboard_t *report) { struct queue_item item; - bool didWait = false; item.queue_type = QTKeyReport; - item.key.modifier = hid_modifier_mask; - item.added = timer_read(); - - while (nkeys >= 0) { - item.key.keys[0] = keys[0]; - item.key.keys[1] = nkeys >= 1 ? keys[1] : 0; - item.key.keys[2] = nkeys >= 2 ? keys[2] : 0; - item.key.keys[3] = nkeys >= 3 ? keys[3] : 0; - item.key.keys[4] = nkeys >= 4 ? keys[4] : 0; - item.key.keys[5] = nkeys >= 5 ? keys[5] : 0; - - if (!send_buf.enqueue(item)) { - if (!didWait) { - dprint("wait for buf space\n"); - didWait = true; - } - send_buf_send_one(); - continue; - } + item.key.modifier = report->mods; + item.key.keys[0] = report->keys[0]; + item.key.keys[1] = report->keys[1]; + item.key.keys[2] = report->keys[2]; + item.key.keys[3] = report->keys[3]; + item.key.keys[4] = report->keys[4]; + item.key.keys[5] = report->keys[5]; - if (nkeys <= 6) { - return; - } - - nkeys -= 6; - keys += 6; + while (!send_buf.enqueue(item)) { + send_buf_send_one(); } } -void bluefruit_le_send_consumer_key(uint16_t usage) { +void bluefruit_le_send_consumer(uint16_t usage) { struct queue_item item; item.queue_type = QTConsumer; @@ -658,22 +640,20 @@ void bluefruit_le_send_consumer_key(uint16_t usage) { } } -#ifdef MOUSE_ENABLE -void bluefruit_le_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons) { +void bluefruit_le_send_mouse(report_mouse_t *report) { struct queue_item item; item.queue_type = QTMouseMove; - item.mousemove.x = x; - item.mousemove.y = y; - item.mousemove.scroll = scroll; - item.mousemove.pan = pan; - item.mousemove.buttons = buttons; + item.mousemove.x = report->x; + item.mousemove.y = report->y; + item.mousemove.scroll = report->v; + item.mousemove.pan = report->h; + item.mousemove.buttons = report->buttons; while (!send_buf.enqueue(item)) { send_buf_send_one(); } } -#endif uint32_t bluefruit_le_read_battery_voltage(void) { return state.vbat; diff --git a/drivers/bluetooth/bluefruit_le.h b/drivers/bluetooth/bluefruit_le.h index de301c6167..a3de03c35c 100644 --- a/drivers/bluetooth/bluefruit_le.h +++ b/drivers/bluetooth/bluefruit_le.h @@ -7,9 +7,7 @@ #include <stdbool.h> #include <stdint.h> -#include <string.h> - -#include "config_common.h" +#include "report.h" #ifdef __cplusplus extern "C" { @@ -26,6 +24,8 @@ extern bool bluefruit_le_query_is_connected(void); * calling ble_task() periodically. */ extern bool bluefruit_le_is_connected(void); +extern void bluefruit_le_init(void); + /* Call this periodically to process BLE-originated things */ extern void bluefruit_le_task(void); @@ -34,18 +34,16 @@ extern void bluefruit_le_task(void); * this set of keys. * Also sends a key release indicator, so that the keys do not remain * held down. */ -extern void bluefruit_le_send_keys(uint8_t hid_modifier_mask, uint8_t *keys, uint8_t nkeys); +extern void bluefruit_le_send_keyboard(report_keyboard_t *report); /* Send a consumer usage. * (milliseconds) */ -extern void bluefruit_le_send_consumer_key(uint16_t usage); +extern void bluefruit_le_send_consumer(uint16_t usage); -#ifdef MOUSE_ENABLE /* Send a mouse/wheel movement report. * The parameters are signed and indicate positive or negative direction * change. */ -extern void bluefruit_le_send_mouse_move(int8_t x, int8_t y, int8_t scroll, int8_t pan, uint8_t buttons); -#endif +extern void bluefruit_le_send_mouse(report_mouse_t *report); /* Compute battery voltage by reading an analog pin. * Returns the integer number of millivolts */ diff --git a/drivers/bluetooth/bluetooth.c b/drivers/bluetooth/bluetooth.c new file mode 100644 index 0000000000..d5382401e7 --- /dev/null +++ b/drivers/bluetooth/bluetooth.c @@ -0,0 +1,62 @@ +/* + * 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 <http://www.gnu.org/licenses/>. + */ + +#include "bluetooth.h" + +#if defined(BLUETOOTH_BLUEFRUIT_LE) +# include "bluefruit_le.h" +#elif defined(BLUETOOTH_RN42) +# include "rn42.h" +#endif + +void bluetooth_init(void) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_init(); +#elif defined(BLUETOOTH_RN42) + rn42_init(); +#endif +} + +void bluetooth_task(void) { +#if defined(BLUETOOTH_BLUEFRUIT_LE) + bluefruit_le_task(); +#endif +} + +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 +} + +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 +} + +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 +} diff --git a/keyboards/durgod/k3x0/k310/config.h b/drivers/bluetooth/bluetooth.h index cb936a201f..2e4d0df538 100644 --- a/keyboards/durgod/k3x0/k310/config.h +++ b/drivers/bluetooth/bluetooth.h @@ -1,5 +1,5 @@ -/* Copyright 2021 Don Kjer and Tyler Tidman - * Copyright 2021 Simon Arlott +/* + * 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 @@ -17,12 +17,36 @@ #pragma once -#include "config_common.h" +#include <stdint.h> +#include "report.h" -/* key matrix size (cols in generic keyboard config) */ -#define MATRIX_ROWS 8 +/** + * \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); -#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 } +/** + * \brief Send a mouse report. + * + * \param report The mouse report to send. + */ +void bluetooth_send_mouse(report_mouse_t *report); -/* LED indicator pins */ -#define LED_NUM_LOCK_PIN C8 +/** + * \brief Send a consumer usage. + * + * \param usage The consumer usage to send. + */ +void bluetooth_send_consumer(uint16_t usage); diff --git a/drivers/bluetooth/rn42.c b/drivers/bluetooth/rn42.c index 5d497cda20..0eb1733723 100644 --- a/drivers/bluetooth/rn42.c +++ b/drivers/bluetooth/rn42.c @@ -14,6 +14,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include "rn42.h" + #include "report.h" #include "uart.h" @@ -69,33 +71,35 @@ void rn42_send_keyboard(report_keyboard_t *report) { uart_write(0xFD); uart_write(0x09); uart_write(0x01); + uart_write(report->mods); uart_write(0x00); - for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS; i++) { - uart_write(report->keys[i]); - } + uart_write(report->keys[0]); + uart_write(report->keys[1]); + uart_write(report->keys[2]); + uart_write(report->keys[3]); + uart_write(report->keys[4]); + uart_write(report->keys[5]); } void rn42_send_mouse(report_mouse_t *report) { uart_write(0xFD); - uart_write(0x00); - uart_write(0x03); + uart_write(0x05); + uart_write(0x02); + uart_write(report->buttons); uart_write(report->x); uart_write(report->y); - uart_write(report->v); // should try sending the wheel v here - uart_write(report->h); // should try sending the wheel h here - uart_write(0x00); + uart_write(report->v); } -void rn42_send_consumer(uint16_t data) { - static uint16_t last_data = 0; - if (data == last_data) return; - last_data = data; - uint16_t bitmap = rn42_consumer_usage_to_bitmap(data); +void rn42_send_consumer(uint16_t usage) { + uint16_t bitmap = rn42_consumer_usage_to_bitmap(usage); + uart_write(0xFD); uart_write(0x03); uart_write(0x03); + uart_write(bitmap & 0xFF); - uart_write((bitmap >> 8) & 0xFF); + uart_write(bitmap >> 8); } diff --git a/drivers/bluetooth/rn42.h b/drivers/bluetooth/rn42.h index 4747759111..89b716bfcd 100644 --- a/drivers/bluetooth/rn42.h +++ b/drivers/bluetooth/rn42.h @@ -14,6 +14,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <stdint.h> + #include "report.h" void rn42_init(void); @@ -22,4 +24,4 @@ void rn42_send_keyboard(report_keyboard_t *report); void rn42_send_mouse(report_mouse_t *report); -void rn42_send_consumer(uint16_t data); +void rn42_send_consumer(uint16_t usage); diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 637a77da3d..4e43903255 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -20,11 +20,12 @@ #include "haptic.h" #include "gpio.h" #include "usb_device_state.h" +#include "util.h" #include <stdlib.h> uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; static pin_t solenoid_pads[] = SOLENOID_PINS; -#define NUMBER_OF_SOLENOIDS (sizeof(solenoid_pads) / sizeof(pin_t)) +#define NUMBER_OF_SOLENOIDS ARRAY_SIZE(solenoid_pads) bool solenoid_on[NUMBER_OF_SOLENOIDS] = {false}; bool solenoid_buzzing[NUMBER_OF_SOLENOIDS] = {false}; uint16_t solenoid_start[NUMBER_OF_SOLENOIDS] = {0}; @@ -147,7 +148,7 @@ void solenoid_check(void) { void solenoid_setup(void) { #ifdef SOLENOID_PINS_ACTIVE_STATE bool state_temp[] = SOLENOID_PINS_ACTIVE_STATE; - uint8_t bound_check = (sizeof(state_temp) / sizeof(bool)); + uint8_t bound_check = ARRAY_SIZE(state_temp); #endif for (uint8_t i = 0; i < NUMBER_OF_SOLENOIDS; i++) { diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c index 55083936ef..cbb0b60774 100644 --- a/drivers/led/aw20216.c +++ b/drivers/led/aw20216.c @@ -133,7 +133,7 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { AW20216_set_color(i, red, green, blue); } } diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h index 0a17050fed..c6e71b4b4e 100644 --- a/drivers/led/aw20216.h +++ b/drivers/led/aw20216.h @@ -28,7 +28,7 @@ typedef struct aw_led { uint8_t b; } aw_led; -extern const aw_led PROGMEM g_aw_leds[DRIVER_LED_TOTAL]; +extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT]; void AW20216_init(pin_t cs_pin, pin_t en_pin); void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); diff --git a/drivers/led/ckled2001-simple.c b/drivers/led/ckled2001-simple.c index da4bf20b99..6c4ffd398e 100644 --- a/drivers/led/ckled2001-simple.c +++ b/drivers/led/ckled2001-simple.c @@ -148,7 +148,7 @@ void CKLED2001_init(uint8_t addr) { void CKLED2001_set_value(int index, uint8_t value) { ckled2001_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.v] = value; @@ -157,7 +157,7 @@ void CKLED2001_set_value(int index, uint8_t value) { } void CKLED2001_set_value_all(uint8_t value) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { CKLED2001_set_value(i, value); } } diff --git a/drivers/led/ckled2001-simple.h b/drivers/led/ckled2001-simple.h index 731da2e1cd..a56cad3461 100644 --- a/drivers/led/ckled2001-simple.h +++ b/drivers/led/ckled2001-simple.h @@ -25,7 +25,7 @@ typedef struct ckled2001_led { uint8_t v; } __attribute__((packed)) ckled2001_led; -extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL]; +extern const ckled2001_led PROGMEM g_ckled2001_leds[LED_MATRIX_LED_COUNT]; void CKLED2001_init(uint8_t addr); bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c index b7e7db06cc..1651628175 100644 --- a/drivers/led/ckled2001.c +++ b/drivers/led/ckled2001.c @@ -148,7 +148,7 @@ void CKLED2001_init(uint8_t addr) { void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { ckled2001_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; @@ -159,7 +159,7 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { CKLED2001_set_color(i, red, green, blue); } } diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h index 7d5ad34f95..aa70a0623f 100644 --- a/drivers/led/ckled2001.h +++ b/drivers/led/ckled2001.h @@ -27,7 +27,7 @@ typedef struct ckled2001_led { uint8_t b; } __attribute__((packed)) ckled2001_led; -extern const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL]; +extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT]; void CKLED2001_init(uint8_t addr); bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c index 3abe9ea337..84060f9426 100644 --- a/drivers/led/issi/is31fl3731-simple.c +++ b/drivers/led/issi/is31fl3731-simple.c @@ -194,7 +194,7 @@ void IS31FL3731_init(uint8_t addr) { void IS31FL3731_set_value(int index, uint8_t value) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < LED_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer @@ -204,7 +204,7 @@ void IS31FL3731_set_value(int index, uint8_t value) { } void IS31FL3731_set_value_all(uint8_t value) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { IS31FL3731_set_value(i, value); } } diff --git a/drivers/led/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h index ded94b0470..1ddadd5209 100644 --- a/drivers/led/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -27,7 +27,7 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT]; void IS31FL3731_init(uint8_t addr); void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c index 9c6c29f081..fed5354145 100644 --- a/drivers/led/issi/is31fl3731.c +++ b/drivers/led/issi/is31fl3731.c @@ -182,7 +182,7 @@ void IS31FL3731_init(uint8_t addr) { void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); // Subtract 0x24 to get the second index of g_pwm_buffer @@ -194,7 +194,7 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3731_set_color(i, red, green, blue); } } diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h index 6647119eba..6791289c9e 100644 --- a/drivers/led/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -28,7 +28,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; void IS31FL3731_init(uint8_t addr); void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3733-simple.c b/drivers/led/issi/is31fl3733-simple.c index 2f41a7b1a9..1e0994d780 100644 --- a/drivers/led/issi/is31fl3733-simple.c +++ b/drivers/led/issi/is31fl3733-simple.c @@ -195,7 +195,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { } void IS31FL3733_set_value(int index, uint8_t value) { - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < LED_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; g_pwm_buffer[led.driver][led.v] = value; @@ -204,7 +204,7 @@ void IS31FL3733_set_value(int index, uint8_t value) { } void IS31FL3733_set_value_all(uint8_t value) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { IS31FL3733_set_value(i, value); } } diff --git a/drivers/led/issi/is31fl3733-simple.h b/drivers/led/issi/is31fl3733-simple.h index f5253e3101..f0ea3adca0 100644 --- a/drivers/led/issi/is31fl3733-simple.h +++ b/drivers/led/issi/is31fl3733-simple.h @@ -29,7 +29,7 @@ typedef struct is31_led { uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; void IS31FL3733_init(uint8_t addr, uint8_t sync); bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c index add998f256..379eaa0ae3 100644 --- a/drivers/led/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -186,7 +186,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) { void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; @@ -197,7 +197,7 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3733_set_color(i, red, green, blue); } } diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h index 7653dd17c0..29441846ac 100644 --- a/drivers/led/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -30,7 +30,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; void IS31FL3733_init(uint8_t addr, uint8_t sync); bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c index e9943614d2..82e7ee3d18 100644 --- a/drivers/led/issi/is31fl3736.c +++ b/drivers/led/issi/is31fl3736.c @@ -168,7 +168,7 @@ void IS31FL3736_init(uint8_t addr) { void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; @@ -179,7 +179,7 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3736_set_color(i, red, green, blue); } } diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h index f126034615..ccb19afbcc 100644 --- a/drivers/led/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -28,8 +28,8 @@ # define DRIVER_COUNT 2 #endif -#ifndef DRIVER_LED_TOTAL -# define DRIVER_LED_TOTAL 96 +#ifndef RGB_MATRIX_LED_COUNT +# define RGB_MATRIX_LED_COUNT 96 #endif typedef struct is31_led { @@ -39,7 +39,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; void IS31FL3736_init(uint8_t addr); void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c index 932530ac0a..45a20018c5 100644 --- a/drivers/led/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -175,7 +175,7 @@ void IS31FL3737_init(uint8_t addr) { void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; @@ -186,7 +186,7 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3737_set_color(i, red, green, blue); } } diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h index ddb70a9df5..fb0c33420c 100644 --- a/drivers/led/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -30,7 +30,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; void IS31FL3737_init(uint8_t addr); void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c index ba6b6761a3..c2cdd4c46f 100644 --- a/drivers/led/issi/is31fl3741.c +++ b/drivers/led/issi/is31fl3741.c @@ -179,7 +179,7 @@ void IS31FL3741_init(uint8_t addr) { void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { is31_led led; - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); g_pwm_buffer[led.driver][led.r] = red; @@ -190,7 +190,7 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3741_set_color(i, red, green, blue); } } diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h index 3bdb23bd2d..b0089ea5ba 100644 --- a/drivers/led/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -30,7 +30,7 @@ typedef struct is31_led { uint32_t b : 10; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; void IS31FL3741_init(uint8_t addr); void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/led/issi/is31flcommon.c b/drivers/led/issi/is31flcommon.c index 9f4b2123ff..106890a8bf 100644 --- a/drivers/led/issi/is31flcommon.c +++ b/drivers/led/issi/is31flcommon.c @@ -135,14 +135,17 @@ void IS31FL_common_update_pwm_register(uint8_t addr, uint8_t index) { void IS31FL_set_manual_scaling_buffer(void) { for (int i = 0; i < ISSI_MANUAL_SCALING; i++) { is31_led scale = g_is31_scaling[i]; - if (scale.driver >= 0 && scale.driver < DRIVER_LED_TOTAL) { +# ifdef RGB_MATRIX_ENABLE + if (scale.driver >= 0 && scale.driver < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[scale.driver]; -# ifdef RGB_MATRIX_ENABLE g_scaling_buffer[led.driver][led.r] = scale.r; g_scaling_buffer[led.driver][led.g] = scale.g; g_scaling_buffer[led.driver][led.b] = scale.b; # elif defined(LED_MATRIX_ENABLE) + if (scale.driver >= 0 && scale.driver < LED_MATRIX_LED_COUNT) { + is31_led led = g_is31_leds[scale.driver]; + g_scaling_buffer[led.driver][led.v] = scale.v; # endif g_scaling_buffer_update_required[led.driver] = true; @@ -165,7 +168,7 @@ void IS31FL_common_update_scaling_register(uint8_t addr, uint8_t index) { #ifdef RGB_MATRIX_ENABLE // Colour is set by adjusting PWM register void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; g_pwm_buffer[led.driver][led.r] = red; @@ -176,7 +179,7 @@ void IS31FL_RGB_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL_RGB_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL_RGB_set_color(i, red, green, blue); } } @@ -215,7 +218,7 @@ void IS31FL_simple_set_scaling_buffer(uint8_t index, bool value) { } void IS31FL_simple_set_brightness(int index, uint8_t value) { - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < LED_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; g_pwm_buffer[led.driver][led.v] = value; g_pwm_buffer_update_required[led.driver] = true; @@ -223,7 +226,7 @@ void IS31FL_simple_set_brightness(int index, uint8_t value) { } void IS31FL_simple_set_brigntness_all(uint8_t value) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { IS31FL_simple_set_brightness(i, value); } } diff --git a/drivers/led/issi/is31flcommon.h b/drivers/led/issi/is31flcommon.h index 77e9665e32..18432ffc31 100644 --- a/drivers/led/issi/is31flcommon.h +++ b/drivers/led/issi/is31flcommon.h @@ -43,11 +43,15 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; +extern const is31_led __flash g_is31_leds[RGB_MATRIX_LED_COUNT]; + #elif defined(LED_MATRIX_ENABLE) typedef struct is31_led { uint8_t driver; uint8_t v; } __attribute__((packed)) is31_led; + +extern const is31_led __flash g_is31_leds[LED_MATRIX_LED_COUNT]; #endif #ifdef ISSI_MANUAL_SCALING @@ -55,8 +59,6 @@ extern const is31_led __flash g_is31_scaling[]; void IS31FL_set_manual_scaling_buffer(void); #endif -extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; - void IS31FL_write_single_register(uint8_t addr, uint8_t reg, uint8_t data); bool IS31FL_write_multi_registers(uint8_t addr, uint8_t *source_buffer, uint8_t buffer_size, uint8_t transfer_size, uint8_t start_reg_addr); void IS31FL_unlock_register(uint8_t addr, uint8_t page); diff --git a/drivers/painter/generic/qp_rgb565_surface.c b/drivers/painter/generic/qp_rgb565_surface.c new file mode 100644 index 0000000000..c4de336535 --- /dev/null +++ b/drivers/painter/generic/qp_rgb565_surface.c @@ -0,0 +1,277 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "color.h" +#include "qp_rgb565_surface.h" +#include "qp_draw.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common + +// Device definition +typedef struct rgb565_surface_painter_device_t { + struct painter_driver_t base; // must be first, so it can be cast to/from the painter_device_t* type + + // The target buffer + uint16_t *buffer; + + // Manually manage the viewport for streaming pixel data to the display + uint16_t viewport_l; + uint16_t viewport_t; + uint16_t viewport_r; + uint16_t viewport_b; + + // Current write location to the display when streaming pixel data + uint16_t pixdata_x; + uint16_t pixdata_y; + + // Maintain a dirty region so we can stream only what we need + bool is_dirty; + uint16_t dirty_l; + uint16_t dirty_t; + uint16_t dirty_r; + uint16_t dirty_b; + +} rgb565_surface_painter_device_t; + +// Driver storage +rgb565_surface_painter_device_t surface_drivers[RGB565_SURFACE_NUM_DEVICES] = {0}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Helpers + +static inline void increment_pixdata_location(rgb565_surface_painter_device_t *surface) { + // Increment the X-position + surface->pixdata_x++; + + // If the x-coord has gone past the right-side edge, loop it back around and increment the y-coord + if (surface->pixdata_x > surface->viewport_r) { + surface->pixdata_x = surface->viewport_l; + surface->pixdata_y++; + } + + // If the y-coord has gone past the bottom, loop it back to the top + if (surface->pixdata_y > surface->viewport_b) { + surface->pixdata_y = surface->viewport_t; + } +} + +static inline void setpixel(rgb565_surface_painter_device_t *surface, uint16_t x, uint16_t y, uint16_t rgb565) { + // Skip messing with the dirty info if the original value already matches + if (surface->buffer[y * surface->base.panel_width + x] != rgb565) { + // Maintain dirty region + if (surface->dirty_l > x) { + surface->dirty_l = x; + } + if (surface->dirty_r < x) { + surface->dirty_r = x; + } + if (surface->dirty_t > y) { + surface->dirty_t = y; + } + if (surface->dirty_b < y) { + surface->dirty_b = y; + } + + // Always dirty after a setpixel + surface->is_dirty = true; + + // Update the pixel data in the buffer + surface->buffer[y * surface->base.panel_width + x] = rgb565; + } +} + +static inline void append_pixel(rgb565_surface_painter_device_t *surface, uint16_t rgb565) { + setpixel(surface, surface->pixdata_x, surface->pixdata_y, rgb565); + increment_pixdata_location(surface); +} + +static inline void stream_pixdata(rgb565_surface_painter_device_t *surface, const uint16_t *data, uint32_t native_pixel_count) { + for (uint32_t pixel_counter = 0; pixel_counter < native_pixel_count; ++pixel_counter) { + append_pixel(surface, data[pixel_counter]); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Driver vtable + +static bool qp_rgb565_surface_init(painter_device_t device, painter_rotation_t rotation) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; + memset(surface->buffer, 0, driver->panel_width * driver->panel_height * driver->native_bits_per_pixel / 8); + return true; +} + +static bool qp_rgb565_surface_power(painter_device_t device, bool power_on) { + // No-op. + return true; +} + +static bool qp_rgb565_surface_clear(painter_device_t device) { + struct painter_driver_t *driver = (struct painter_driver_t *)device; + driver->driver_vtable->init(device, driver->rotation); // Re-init the surface + return true; +} + +static bool qp_rgb565_surface_flush(painter_device_t device) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; + surface->dirty_l = surface->dirty_t = UINT16_MAX; + surface->dirty_r = surface->dirty_b = 0; + surface->is_dirty = false; + return true; +} + +static bool qp_rgb565_surface_viewport(painter_device_t device, uint16_t left, uint16_t top, uint16_t right, uint16_t bottom) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; + + // Set the viewport locations + surface->viewport_l = left; + surface->viewport_t = top; + surface->viewport_r = right; + surface->viewport_b = bottom; + + // Reset the write location to the top left + surface->pixdata_x = left; + surface->pixdata_y = top; + return true; +} + +// Stream pixel data to the current write position in GRAM +static bool qp_rgb565_surface_pixdata(painter_device_t device, const void *pixel_data, uint32_t native_pixel_count) { + struct painter_driver_t * driver = (struct painter_driver_t *)device; + rgb565_surface_painter_device_t *surface = (rgb565_surface_painter_device_t *)driver; + stream_pixdata(surface, (const uint16_t *)pixel_data, native_pixel_count); + return true; +} + +// Pixel colour conversion +static bool qp_rgb565_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) { + for (int16_t i = 0; i < palette_size; ++i) { + RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); + uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); + palette[i].rgb565 = __builtin_bswap16(rgb565); + } + return true; +} + +// Append pixels to the target location, keyed by the pixel index +static bool qp_rgb565_surface_append_pixels_rgb565(painter_device_t device, uint8_t *target_buffer, qp_pixel_t *palette, uint32_t pixel_offset, uint32_t pixel_count, uint8_t *palette_indices) { + uint16_t *buf = (uint16_t *)target_buffer; + for (uint32_t i = 0; i < pixel_count; ++i) { + buf[pixel_offset + i] = palette[palette_indices[i]].rgb565; + } + return true; +} + +const struct painter_driver_vtable_t rgb565_surface_driver_vtable = { + .init = qp_rgb565_surface_init, + .power = qp_rgb565_surface_power, + .clear = qp_rgb565_surface_clear, + .flush = qp_rgb565_surface_flush, + .pixdata = qp_rgb565_surface_pixdata, + .viewport = qp_rgb565_surface_viewport, + .palette_convert = qp_rgb565_surface_palette_convert_rgb565_swapped, + .append_pixels = qp_rgb565_surface_append_pixels_rgb565, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Comms vtable + +static bool qp_rgb565_surface_comms_init(painter_device_t device) { + // No-op. + return true; +} +static bool qp_rgb565_surface_comms_start(painter_device_t device) { + // No-op. + return true; +} +static void qp_rgb565_surface_comms_stop(painter_device_t device) { + // No-op. +} +uint32_t qp_rgb565_surface_comms_send(painter_device_t device, const void *data, uint32_t byte_count) { + // No-op. + return byte_count; +} + +struct painter_comms_vtable_t rgb565_surface_driver_comms_vtable = { + // These are all effective no-op's because they're not actually needed. + .comms_init = qp_rgb565_surface_comms_init, + .comms_start = qp_rgb565_surface_comms_start, + .comms_stop = qp_rgb565_surface_comms_stop, + .comms_send = qp_rgb565_surface_comms_send}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Factory function for creating a handle to an rgb565 surface + +painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer) { + for (uint32_t i = 0; i < RGB565_SURFACE_NUM_DEVICES; ++i) { + rgb565_surface_painter_device_t *driver = &surface_drivers[i]; + if (!driver->base.driver_vtable) { + driver->base.driver_vtable = &rgb565_surface_driver_vtable; + driver->base.comms_vtable = &rgb565_surface_driver_comms_vtable; + driver->base.native_bits_per_pixel = 16; // RGB565 + driver->base.panel_width = panel_width; + driver->base.panel_height = panel_height; + driver->base.rotation = QP_ROTATION_0; + driver->base.offset_x = 0; + driver->base.offset_y = 0; + driver->buffer = (uint16_t *)buffer; + return (painter_device_t)driver; + } + } + return NULL; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Drawing routine to copy out the dirty region and send it to another device + +bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y) { + struct painter_driver_t * surface_driver = (struct painter_driver_t *)surface; + rgb565_surface_painter_device_t *surface_handle = (rgb565_surface_painter_device_t *)surface_driver; + + // If we're not dirty... we're done. + if (!surface_handle->is_dirty) { + return true; + } + + // Set the target drawing area + bool ok = qp_viewport(display, x + surface_handle->dirty_l, y + surface_handle->dirty_t, x + surface_handle->dirty_r, y + surface_handle->dirty_b); + if (!ok) { + return false; + } + + // Housekeeping of the amount of pixels to transfer + uint32_t total_pixel_count = QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE / sizeof(uint16_t); + uint32_t pixel_counter = 0; + uint16_t *target_buffer = (uint16_t *)qp_internal_global_pixdata_buffer; + + // Fill the global pixdata area so that we can start transferring to the panel + for (uint16_t y = surface_handle->dirty_t; y <= surface_handle->dirty_b; ++y) { + for (uint16_t x = surface_handle->dirty_l; x <= surface_handle->dirty_r; ++x) { + // Update the target buffer + target_buffer[pixel_counter++] = surface_handle->buffer[y * surface_handle->base.panel_width + x]; + + // If we've accumulated enough data, send it + if (pixel_counter == total_pixel_count) { + ok = qp_pixdata(display, qp_internal_global_pixdata_buffer, pixel_counter); + if (!ok) { + return false; + } + // Reset the counter + pixel_counter = 0; + } + } + } + + // If there's any leftover data, send it + if (pixel_counter > 0) { + ok = qp_pixdata(display, qp_internal_global_pixdata_buffer, pixel_counter); + if (!ok) { + return false; + } + } + + // Clear the dirty info for the surface + return qp_flush(surface); +} diff --git a/drivers/painter/generic/qp_rgb565_surface.h b/drivers/painter/generic/qp_rgb565_surface.h new file mode 100644 index 0000000000..19e919bb91 --- /dev/null +++ b/drivers/painter/generic/qp_rgb565_surface.h @@ -0,0 +1,42 @@ +// Copyright 2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#include "qp_internal.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter RGB565 surface configurables (add to your keyboard's config.h) + +#ifndef RGB565_SURFACE_NUM_DEVICES +/** + * @def This controls the maximum number of surface devices that Quantum Painter can use at any one time. + * Increasing this number allows for multiple framebuffers to be used. Each requires its own RAM allocation. + */ +# define RGB565_SURFACE_NUM_DEVICES 1 +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Forward declarations + +#ifdef QUANTUM_PAINTER_RGB565_SURFACE_ENABLE +/** + * Factory method for an RGB565 surface (aka framebuffer). + * + * @param panel_width[in] the width of the display panel + * @param panel_height[in] the height of the display panel + * @param buffer[in] pointer to a preallocated buffer of size `(sizeof(uint16_t) * panel_width * panel_height)` + * @return the device handle used with all drawing routines in Quantum Painter + */ +painter_device_t qp_rgb565_make_surface(uint16_t panel_width, uint16_t panel_height, void *buffer); + +/** + * Helper method to draw the dirty contents of the framebuffer to the target device. + * + * After successful completion, the dirty area is reset. + * + * @param surface[in] the surface to copy from + * @param display[in] the display to copy into + * @param x[in] the x-location of the original position of the framebuffer + * @param y[in] the y-location of the original position of the framebuffer + * @return whether the draw operation completed successfully + */ +bool qp_rgb565_surface_draw(painter_device_t surface, painter_device_t display, uint16_t x, uint16_t y); +#endif // QUANTUM_PAINTER_RGB565_SURFACE_ENABLE diff --git a/drivers/painter/tft_panel/qp_tft_panel.c b/drivers/painter/tft_panel/qp_tft_panel.c index ad83b6c792..e7c744ab34 100644 --- a/drivers/painter/tft_panel/qp_tft_panel.c +++ b/drivers/painter/tft_panel/qp_tft_panel.c @@ -7,8 +7,6 @@ #include "qp_draw.h" #include "qp_tft_panel.h" -#define BYTE_SWAP(x) (((((uint16_t)(x)) >> 8) & 0x00FF) | ((((uint16_t)(x)) << 8) & 0xFF00)) - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter API implementations @@ -94,7 +92,7 @@ bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_ for (int16_t i = 0; i < palette_size; ++i) { RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v}); uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3); - palette[i].rgb565 = BYTE_SWAP(rgb565); + palette[i].rgb565 = __builtin_bswap16(rgb565); } return true; } diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c index 8bd4eb736e..4aed5fe67a 100644 --- a/drivers/sensors/cirque_pinnacle.c +++ b/drivers/sensors/cirque_pinnacle.c @@ -4,8 +4,6 @@ // refer to documentation: Gen2 and Gen3 (Pinnacle ASIC) at https://www.cirque.com/documentation #include "cirque_pinnacle.h" -#include "print.h" -#include "debug.h" #include "wait.h" #include "timer.h" @@ -27,12 +25,6 @@ void cirque_pinnacle_enable_feed(bool feedEnable); void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count); void RAP_Write(uint8_t address, uint8_t data); -#ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte) { - xprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); -} -#endif - #if CIRQUE_PINNACLE_POSITION_MODE /* Logical Scaling Functions */ // Clips raw coordinates to "reachable" window of sensor diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h index fa06e047f2..8717b32991 100644 --- a/drivers/sensors/cirque_pinnacle.h +++ b/drivers/sensors/cirque_pinnacle.h @@ -5,6 +5,7 @@ #include "cirque_pinnacle_regdefs.h" #include <stdint.h> #include <stdbool.h> +#include "pointing_device_internal.h" #ifndef CIRQUE_PINNACLE_TIMEOUT # define CIRQUE_PINNACLE_TIMEOUT 20 // I2C timeout in milliseconds diff --git a/drivers/sensors/cirque_pinnacle_gestures.c b/drivers/sensors/cirque_pinnacle_gestures.c index a73b745e59..ae3eca71c2 100644 --- a/drivers/sensors/cirque_pinnacle_gestures.c +++ b/drivers/sensors/cirque_pinnacle_gestures.c @@ -37,14 +37,6 @@ static report_mouse_t trackpad_tap(report_mouse_t mouse_report, pinnacle_data_t if (!touchData.zValue) { if (timer_elapsed(tap.timer) < CIRQUE_PINNACLE_TAPPING_TERM && tap.timer != 0) { mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, true, POINTING_DEVICE_BUTTON1); - pointing_device_set_report(mouse_report); - pointing_device_send(); -# if TAP_CODE_DELAY > 0 - wait_ms(TAP_CODE_DELAY); -# endif - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); - pointing_device_set_report(mouse_report); - pointing_device_send(); } } tap.timer = timer_read(); diff --git a/drivers/sensors/cirque_pinnacle_i2c.c b/drivers/sensors/cirque_pinnacle_i2c.c index b328dd9a7a..3c11e5f079 100644 --- a/drivers/sensors/cirque_pinnacle_i2c.c +++ b/drivers/sensors/cirque_pinnacle_i2c.c @@ -1,8 +1,6 @@ // Copyright (c) 2018 Cirque Corp. Restrictions apply. See: www.cirque.com/sw-license #include "cirque_pinnacle.h" #include "i2c_master.h" -#include "print.h" -#include "debug.h" #include "stdio.h" // Masks for Cirque Register Access Protocol (RAP) @@ -18,9 +16,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { if (touchpad_init) { i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT); if (i2c_readReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { -#ifdef CONSOLE_ENABLE - dprintf("error cirque_pinnacle i2c_readReg\n"); -#endif + pd_dprintf("error cirque_pinnacle i2c_readReg\n"); touchpad_init = false; } i2c_stop(); @@ -33,9 +29,7 @@ void RAP_Write(uint8_t address, uint8_t data) { if (touchpad_init) { if (i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) { -#ifdef CONSOLE_ENABLE - dprintf("error cirque_pinnacle i2c_writeReg\n"); -#endif + pd_dprintf("error cirque_pinnacle i2c_writeReg\n"); touchpad_init = false; } i2c_stop(); diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c index bd980fc863..5cb39aebb0 100644 --- a/drivers/sensors/cirque_pinnacle_spi.c +++ b/drivers/sensors/cirque_pinnacle_spi.c @@ -1,8 +1,6 @@ // Copyright (c) 2018 Cirque Corp. Restrictions apply. See: www.cirque.com/sw-license #include "cirque_pinnacle.h" #include "spi_master.h" -#include "print.h" -#include "debug.h" // Masks for Cirque Register Access Protocol (RAP) #define WRITE_MASK 0x80 @@ -24,9 +22,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) { data[i] = spi_write(FILLER_BYTE); // write filler, receive data on the third filler send } } else { -#ifdef CONSOLE_ENABLE - dprintf("error cirque_pinnacle spi_start read\n"); -#endif + pd_dprintf("error cirque_pinnacle spi_start read\n"); touchpad_init = false; } spi_stop(); @@ -42,9 +38,7 @@ void RAP_Write(uint8_t address, uint8_t data) { spi_write(cmdByte); spi_write(data); } else { -#ifdef CONSOLE_ENABLE - dprintf("error cirque_pinnacle spi_start write\n"); -#endif + pd_dprintf("error cirque_pinnacle spi_start write\n"); touchpad_init = false; } spi_stop(); diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c index 88a351316b..326e59744f 100644 --- a/drivers/sensors/pimoroni_trackball.c +++ b/drivers/sensors/pimoroni_trackball.c @@ -14,10 +14,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "pointing_device_internal.h" #include "pimoroni_trackball.h" #include "i2c_master.h" -#include "print.h" -#include "debug.h" #include "timer.h" // clang-format off @@ -58,20 +58,17 @@ void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { uint8_t data[4] = {r, g, b, w}; __attribute__((unused)) i2c_status_t status = i2c_writeReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LED_RED, data, sizeof(data), PIMORONI_TRACKBALL_TIMEOUT); -#ifdef CONSOLE_ENABLE - if (debug_mouse) dprintf("Trackball RGBW i2c_status_t: %d\n", status); -#endif + pd_dprintf("Trackball RGBW i2c_status_t: %d\n", status); } i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) { i2c_status_t status = i2c_readReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT); -#ifdef CONSOLE_ENABLE - if (debug_mouse) { - static uint16_t d_timer; - if (timer_elapsed(d_timer) > PIMORONI_TRACKBALL_DEBUG_INTERVAL) { - dprintf("Trackball READ i2c_status_t: %d L: %d R: %d Up: %d D: %d SW: %d\n", status, data->left, data->right, data->up, data->down, data->click); - d_timer = timer_read(); - } + +#ifdef POINTING_DEVICE_DEBUG + static uint16_t d_timer; + if (timer_elapsed(d_timer) > PIMORONI_TRACKBALL_DEBUG_INTERVAL) { + pd_dprintf("Trackball READ i2c_status_t: %d L: %d R: %d Up: %d D: %d SW: %d\n", status, data->left, data->right, data->up, data->down, data->click); + d_timer = timer_read(); } #endif diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c index 13164cb150..b8d4e532ca 100644 --- a/drivers/sensors/pmw33xx_common.c +++ b/drivers/sensors/pmw33xx_common.c @@ -7,9 +7,8 @@ // Copyright 2020 Ploopy Corporation // SPDX-License-Identifier: GPL-2.0-or-later -#include "debug.h" +#include "pointing_device_internal.h" #include "pmw33xx_common.h" -#include "print.h" #include "string.h" #include "wait.h" #include "spi_master.h" @@ -18,10 +17,10 @@ extern const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM; extern const uint8_t pmw33xx_firmware_signature[3] PROGMEM; -static const pin_t cs_pins[] = PMW33XX_CS_PINS; -static bool in_burst[sizeof(cs_pins) / sizeof(pin_t)] = {0}; +static const pin_t cs_pins[] = PMW33XX_CS_PINS; +static bool in_burst[ARRAY_SIZE(cs_pins)] = {0}; -const size_t pmw33xx_number_of_sensors = sizeof(cs_pins) / sizeof(pin_t); +const size_t pmw33xx_number_of_sensors = ARRAY_SIZE(cs_pins); bool __attribute__((cold)) pmw33xx_upload_firmware(uint8_t sensor); bool __attribute__((cold)) pmw33xx_check_signature(uint8_t sensor); @@ -154,7 +153,7 @@ bool pmw33xx_init(uint8_t sensor) { pmw33xx_read(sensor, REG_Delta_Y_H); if (!pmw33xx_upload_firmware(sensor)) { - dprintf("PMW33XX (%d): firmware upload failed!\n", sensor); + pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor); return false; } @@ -170,7 +169,7 @@ bool pmw33xx_init(uint8_t sensor) { pmw33xx_write(sensor, REG_Lift_Config, PMW33XX_LIFTOFF_DISTANCE); if (!pmw33xx_check_signature(sensor)) { - dprintf("PMW33XX (%d): firmware signature verification failed!\n", sensor); + pd_dprintf("PMW33XX (%d): firmware signature verification failed!\n", sensor); return false; } @@ -185,7 +184,7 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) { } if (!in_burst[sensor]) { - dprintf("PMW33XX (%d): burst\n", sensor); + pd_dprintf("PMW33XX (%d): burst\n", sensor); if (!pmw33xx_write(sensor, REG_Motion_Burst, 0x00)) { return report; } @@ -208,9 +207,7 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) { spi_stop(); - if (debug_config.mouse) { - dprintf("PMW33XX (%d): motion: 0x%x dx: %i dy: %i\n", sensor, report.motion.w, report.delta_x, report.delta_y); - } + pd_dprintf("PMW33XX (%d): motion: 0x%x dx: %i dy: %i\n", sensor, report.motion.w, report.delta_x, report.delta_y); report.delta_x *= -1; report.delta_y *= -1; diff --git a/keyboards/1upkeyboards/pi40/config.h b/keyboards/1upkeyboards/pi40/config.h index 5bda238430..5e0d0e12ae 100644 --- a/keyboards/1upkeyboards/pi40/config.h +++ b/keyboards/1upkeyboards/pi40/config.h @@ -29,7 +29,7 @@ #define ENCODERS_PAD_B { GP13 } #define RGB_DI_PIN GP0 -#define DRIVER_LED_TOTAL 47 +#define RGB_MATRIX_LED_COUNT 47 #define RGBLED_NUM 47 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/pi60_hse/config.h b/keyboards/1upkeyboards/pi60_hse/config.h index 9cae4cbf42..0a6d6274a8 100644 --- a/keyboards/1upkeyboards/pi60_hse/config.h +++ b/keyboards/1upkeyboards/pi60_hse/config.h @@ -7,7 +7,7 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 10 #define RGB_DI_PIN GP15 -#define DRIVER_LED_TOTAL 16 +#define RGB_MATRIX_LED_COUNT 16 #define RGBLED_NUM 16 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES @@ -15,52 +15,51 @@ // 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 +#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 +#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 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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index 1a9344cbac..9220655ac2 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN # define RGBLED_NUM 16 // Add 12 if attaching the RGB LED ring -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # ifdef RGBLIGHT_ENABLE # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 diff --git a/keyboards/1upkeyboards/super16v2/config.h b/keyboards/1upkeyboards/super16v2/config.h index cea3c4edb6..a37053a20f 100644 --- a/keyboards/1upkeyboards/super16v2/config.h +++ b/keyboards/1upkeyboards/super16v2/config.h @@ -62,7 +62,7 @@ //#define BACKLIGHT_BREATHING #define RGB_DI_PIN B5 -#define DRIVER_LED_TOTAL 20 +#define RGB_MATRIX_LED_COUNT 20 #ifdef RGB_DI_PIN # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGBLIGHT_LIMIT_VAL 255 diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h index e22c63b988..3b0a332c42 100644 --- a/keyboards/1upkeyboards/sweet16v2/kb2040/config.h +++ b/keyboards/1upkeyboards/sweet16v2/kb2040/config.h @@ -20,7 +20,7 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 10 #define RGB_DI_PIN GP6 -#define DRIVER_LED_TOTAL 20 +#define RGB_MATRIX_LED_COUNT 20 #define RGBLED_NUM 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -28,51 +28,51 @@ // 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 +#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 +#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 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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h index 0e2ec9cca7..2e7f7b36ff 100644 --- a/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h +++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/config.h @@ -21,58 +21,58 @@ #define DYNAMIC_KEYMAP_LAYER_COUNT 10 #define RGB_DI_PIN D7 -#define DRIVER_LED_TOTAL 20 +#define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_WHEN_USB_SUSPENDED // 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 +#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 +#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 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 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c index 93dfc590e9..26190a2a91 100644 --- a/keyboards/25keys/zinc/keymaps/ginjake/keymap.c +++ b/keyboards/25keys/zinc/keymaps/ginjake/keymap.c @@ -333,7 +333,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { aqours_num++; aqours_next_color_timer_count = 0; target_col = 0; - if (aqours_num == sizeof(aqours_h) / sizeof(int)) { + if (aqours_num == ARRAY_SIZE(aqours_h)) { aqours_num = 0; } } diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h index 1b2ae25cd8..947f5ccfb1 100644 --- a/keyboards/25keys/zinc/rev1/config.h +++ b/keyboards/25keys/zinc/rev1/config.h @@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 100 /* Use I2C or Serial */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* Select hand configuration */ diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h index f740f4d011..54a26cd5bc 100644 --- a/keyboards/25keys/zinc/reva/config.h +++ b/keyboards/25keys/zinc/reva/config.h @@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 100 /* Use I2C or Serial */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* Select hand configuration */ diff --git a/keyboards/3keyecosystem/2key2/config.h b/keyboards/3keyecosystem/2key2/config.h index 5ccd3f1cd5..bb0a591610 100644 --- a/keyboards/3keyecosystem/2key2/config.h +++ b/keyboards/3keyecosystem/2key2/config.h @@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB matrix key backlighting */ #define RGB_DI_PIN B2 -#define DRIVER_LED_TOTAL 2 +#define RGB_MATRIX_LED_COUNT 2 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE #define RGB_MATRIX_STARTUP_HUE 90 diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h index 9027cdac5f..06ace32eb5 100644 --- a/keyboards/40percentclub/25/config.h +++ b/keyboards/40percentclub/25/config.h @@ -18,7 +18,6 @@ #include "config_common.h" -#define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h index c886eb48da..4b2b97fcba 100644 --- a/keyboards/40percentclub/6lit/config.h +++ b/keyboards/40percentclub/6lit/config.h @@ -18,8 +18,6 @@ #include "config_common.h" -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h index d507a2c445..502bbf38e3 100644 --- a/keyboards/40percentclub/foobar/config.h +++ b/keyboards/40percentclub/foobar/config.h @@ -18,8 +18,6 @@ #include "config_common.h" -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h index ce9d5ab2ae..5a295a06ca 100644 --- a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h +++ b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h @@ -1,5 +1,4 @@ #pragma once -/* USB Device descriptor parameter */ #undef MANUFACTURER -#define MANUFACTURER Some Guy +#define MANUFACTURER "Some Guy" diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h index f47788ce87..2851b909f1 100644 --- a/keyboards/40percentclub/half_n_half/config.h +++ b/keyboards/40percentclub/half_n_half/config.h @@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 -#define USE_SERIAL // #define BACKLIGHT_PIN B7 // #define BACKLIGHT_BREATHING diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/config.h b/keyboards/40percentclub/mf68/keymaps/68keys/config.h index 651c17069d..66e7bbed99 100644 --- a/keyboards/40percentclub/mf68/keymaps/68keys/config.h +++ b/keyboards/40percentclub/mf68/keymaps/68keys/config.h @@ -9,5 +9,5 @@ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x0A0C #define DEVICE_VER 0x0068 -#define MANUFACTURER 68Keys.io -#define PRODUCT The 68Keys.io Keyboard +#define MANUFACTURER "68Keys.io" +#define PRODUCT "The 68Keys.io Keyboard" diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h index 7ae8805765..50c64b4b51 100644 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h +++ b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h @@ -21,10 +21,10 @@ #pragma once #undef MANUFACTURER -#define MANUFACTURER Dan +#define MANUFACTURER "Dan" #undef PRODUCT -#define PRODUCT Magicforce 68 QMK +#define PRODUCT "Magicforce 68 QMK" #undef BACKLIGHT_LEVELS #define BACKLIGHT_LEVELS 20 diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c index 011d03deba..18343067f8 100644 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c +++ b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c @@ -26,7 +26,6 @@ #define KC_BLUP BL_INC // Backlight increase #define KC_BLDN BL_DEC // Backlight decrease #define KC_BLTOG BL_TOGG // Backlight toggle -#define KC_TERM TERM_ON // Terminal mode on #define KC_REC1 DM_REC1 // Record macro 1 #define KC_PLY1 DM_PLY1 // Play macro 1 #define KC_REC2 DM_REC2 // Record macro 2 @@ -71,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ┣Esc ┻ 1! ┻ 2@ ┻ 3# ┻ 4$ ┻ 5% ┻ 6^ ┻ 7& ┻ 8* ┻ 9( ┻ 0) ┻ -_ ┻ =+ ┻━┳━ ←─ ━┫ ┣Ins ╋PgUp┫ */ _______ ,KC_PLY1,KC_PLY2,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_BLDN,KC_BLUP,KC_BLTOG ,KC_TRNS ,KC_END , /* ┣ Tab ━┻ Q ━┻ W ━┻ E ━┻ R ━┻ T ━┻ Y ━┻ U ━┻ I ━┻ O ━┻ P ━┻ [{ ┻ ]} ┻━ \| ━┫ ┗Del ┻PgDn┛ */ - _______ ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS, KC_TERM , /* + _______ ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS, KC_TRNS , /* ┣━ Caps ━┻ A ━┻ S ━┻ D ━┻ F ━┻ G ━┻ H ━┻ J ━┻ K ━┻ L ━┻ ;: ┻ '" ┻━ Enter ━┫ ┏━━━━┓ */ _______ ,KC_REC1,KC_REC2,KC_TRNS,KC_TRNS,KC_MSTP,KC_TRNS,KC_MUTE, KC_1 , KC_2 , KC_3 ,KC_TRNS , KC_VOLU, /* ┣━━ Shift ━┻ Z ━┻ X ━┻ C ━┻ V ━┻ B ━┻ N ━┻ M ━┻ ,< ┻ .> ╋ /? ┻┳━━ Shift ━━┻━╋ ↑ ━╋━━━━┓ */ diff --git a/keyboards/4pplet/perk60_iso/rev_a/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h index bd24723df0..7403803f5d 100644 --- a/keyboards/4pplet/perk60_iso/rev_a/config.h +++ b/keyboards/4pplet/perk60_iso/rev_a/config.h @@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 62 +#define RGB_MATRIX_LED_COUNT 62 #define ISSI_PWM_FREQUENCY 0b010 #define RGB_MATRIX_STARTUP_VAL 80 diff --git a/keyboards/4pplet/perk60_iso/rev_a/rev_a.c b/keyboards/4pplet/perk60_iso/rev_a/rev_a.c index 8f6ef05cec..814a8f95d4 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 <http://www.gnu.org/licenses/>. #include "rev_a.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 @@ -114,7 +114,11 @@ led_config_t g_led_config = { } }; -__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +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 && CAPS_LOCK_ENABLE) { for (uint8_t i = led_min; i <= led_max; i++) { if (g_led_config.flags[i] & CAPS_LED_GROUP) { @@ -122,5 +126,7 @@ __attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, } } } + + return true; } #endif diff --git a/keyboards/a_dux/config.h b/keyboards/a_dux/config.h index ffda0a301c..c7e3775028 100644 --- a/keyboards/a_dux/config.h +++ b/keyboards/a_dux/config.h @@ -59,9 +59,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Serial settings */ -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D1 diff --git a/keyboards/abatskeyboardclub/nayeon/config.h b/keyboards/abatskeyboardclub/nayeon/config.h index 449f2da113..6be72c6495 100644 --- a/keyboards/abatskeyboardclub/nayeon/config.h +++ b/keyboards/abatskeyboardclub/nayeon/config.h @@ -21,6 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB Matrix setup */ #define RGB_DI_PIN GP19 -#define DRIVER_LED_TOTAL 2 +#define RGB_MATRIX_LED_COUNT 2 #define RGBLED_NUM 2 #define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral diff --git a/keyboards/abatskeyboardclub/nayeon/nayeon.c b/keyboards/abatskeyboardclub/nayeon/nayeon.c index 6f367d3ed6..f4c17966c9 100644 --- a/keyboards/abatskeyboardclub/nayeon/nayeon.c +++ b/keyboards/abatskeyboardclub/nayeon/nayeon.c @@ -32,7 +32,10 @@ led_config_t g_led_config = {{ LED_FLAG_INDICATOR, LED_FLAG_INDICATOR }}; -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +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) { RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0); } @@ -40,5 +43,5 @@ void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0); } - rgb_matrix_indicators_advanced_user(led_min, led_max); + return true; } diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h index 5df3628db2..8f6e3a87db 100644 --- a/keyboards/acheron/apollo/87h/delta/config.h +++ b/keyboards/acheron/apollo/87h/delta/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #define RGB_DI_PIN B15 -#define DRIVER_LED_TOTAL 87 +#define RGB_MATRIX_LED_COUNT 87 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h index 21fe929409..7adcf7a75b 100644 --- a/keyboards/acheron/apollo/87h/gamma/config.h +++ b/keyboards/acheron/apollo/87h/gamma/config.h @@ -45,8 +45,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 87 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL -#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL +#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT #define RGB_MATRIX_STARTUP_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/acheron/apollo/87h/gamma/gamma.c b/keyboards/acheron/apollo/87h/gamma/gamma.c index babad3c11c..89eed483c1 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 <http://www.gnu.org/licenses/>. #include "gamma.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 30021a51b9..7e2060ab2d 100644 --- a/keyboards/acheron/apollo/87htsc/config.h +++ b/keyboards/acheron/apollo/87htsc/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #define RGB_DI_PIN B15 -#define DRIVER_LED_TOTAL 86 +#define RGB_MATRIX_LED_COUNT 86 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h index 5df3628db2..8f6e3a87db 100644 --- a/keyboards/acheron/apollo/88htsc/config.h +++ b/keyboards/acheron/apollo/88htsc/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #define RGB_DI_PIN B15 -#define DRIVER_LED_TOTAL 87 +#define RGB_MATRIX_LED_COUNT 87 #define WS2812_PWM_COMPLEMENTARY_OUTPUT #define WS2812_PWM_DRIVER PWMD1 diff --git a/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c b/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c index cae98411d6..fd7f556b56 100755 --- a/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c +++ b/keyboards/acheron/shark/beta/keymaps/gondolindrim/keymap.c @@ -94,7 +94,7 @@ encoder_mode_t encoder_modes[] = { // Insert your custom encoder mode here }; -#define NUM_ENCODER_MODES (sizeof(encoder_modes)/sizeof(encoder_modes[0])) +#define NUM_ENCODER_MODES ARRAY_SIZE(encoder_modes) // This counter is used to track what encoder mode is being used at a certain time int encoder_mode_count = 0; diff --git a/keyboards/adafruit/macropad/config.h b/keyboards/adafruit/macropad/config.h index e9f9c65b9c..99f4477990 100644 --- a/keyboards/adafruit/macropad/config.h +++ b/keyboards/adafruit/macropad/config.h @@ -78,7 +78,7 @@ /* RGB Defines */ # define RGB_DI_PIN GP19 -# define DRIVER_LED_TOTAL 12 +# define RGB_MATRIX_LED_COUNT 12 # define RGBLED_NUM 12 /* Enable Framebuffer and keypress effects */ diff --git a/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c b/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c index dc1289fdb1..1b05809640 100644 --- a/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c +++ b/keyboards/adafruit/macropad/lib/ssd1306_sh1106.c @@ -94,8 +94,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1) -#define ARRAY_SIZE(arr) sizeof(arr)/sizeof(arr[0]) - // spi defines #define OLED_STATUS_SUCCESS SPI_STATUS_SUCCESS diff --git a/keyboards/adkb96/keymaps/default/config.h b/keyboards/adkb96/keymaps/default/config.h index bef279a6d0..3f8d841423 100644 --- a/keyboards/adkb96/keymaps/default/config.h +++ b/keyboards/adkb96/keymaps/default/config.h @@ -20,9 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL //#define USE_I2C /* Select hand configuration */ diff --git a/keyboards/adm42/rev4/config.h b/keyboards/adm42/rev4/config.h index ca42185f4e..2a8f9927cd 100644 --- a/keyboards/adm42/rev4/config.h +++ b/keyboards/adm42/rev4/config.h @@ -21,9 +21,8 @@ #define RGB_DI_PIN B7 -#define DRIVER_LED_TOTAL 42 +#define RGB_MATRIX_LED_COUNT 42 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 -#define RGB_MATRIX_CENTER { 112, 32 } #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_LED_PROCESS_LIMIT 21 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/adpenrose/shisaku/info.json b/keyboards/adpenrose/shisaku/info.json index 6f765ba648..a93898c33b 100644 --- a/keyboards/adpenrose/shisaku/info.json +++ b/keyboards/adpenrose/shisaku/info.json @@ -1,5 +1,6 @@ { "keyboard_name": "shisaku", + "manufacturer": "ADPenrose", "url": "https://github.com/ADPenrose/shisaku_keeb", "maintainer": "ADPenrose", "usb": { diff --git a/keyboards/ai03/lunar/keymaps/zyber/keymap.c b/keyboards/ai03/lunar/keymaps/zyber/keymap.c index d4d3f9c89d..5ab7bde3e3 100644 --- a/keyboards/ai03/lunar/keymaps/zyber/keymap.c +++ b/keyboards/ai03/lunar/keymaps/zyber/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, ROPT_SRH,KC_LCMD, _______, LCMD_T(KC_SPC), _______, ROPT_SRH, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( /* FN */ - RESET, 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_DEL, KC_PAUS, + 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_DEL, KC_DEL, KC_PAUS, C_BLK, _______, KC_UP, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_SLCK, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______, diff --git a/keyboards/aleblazer/zodiark/config.h b/keyboards/aleblazer/zodiark/config.h index 90ecb7ce96..25d6912db2 100644 --- a/keyboards/aleblazer/zodiark/config.h +++ b/keyboards/aleblazer/zodiark/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" #define SOFT_SERIAL_PIN D3 -#define SERIAL_USE_MULTI_TRANSACTION #define SELECT_SOFT_SERIAL_SPEED 1 /* key matrix size */ @@ -54,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #endif #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL 68 +#define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_SPLIT { 34, 34 } #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_KEYPRESSES diff --git a/keyboards/alps64/keymaps/zyber/keymap.c b/keyboards/alps64/keymaps/zyber/keymap.c index 0cc0cc8cf5..1110b64165 100644 --- a/keyboards/alps64/keymaps/zyber/keymap.c +++ b/keyboards/alps64/keymaps/zyber/keymap.c @@ -28,6 +28,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, KC_MUTE, _______, _______, KC_PGDN, KC_PGUP, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_SLCK, KC_VOLD, KC_VOLU, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, RESET, _______, _______, _______ + _______, _______, _______, QK_BOOT, _______, _______, _______ ) }; diff --git a/keyboards/alt34/rev1/config.h b/keyboards/alt34/rev1/config.h index 7027d449ec..38b4e5b50a 100644 --- a/keyboards/alt34/rev1/config.h +++ b/keyboards/alt34/rev1/config.h @@ -38,9 +38,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Use I2C or Serial, not both */ #define USE_I2C -// #define USE_SERIAL /* Select hand configuration */ #define EE_HANDS diff --git a/keyboards/an_achronism/tetromino/config.h b/keyboards/an_achronism/tetromino/config.h index 6208224465..e543d7ae24 100644 --- a/keyboards/an_achronism/tetromino/config.h +++ b/keyboards/an_achronism/tetromino/config.h @@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c b/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c index 8f56c41be6..17d8386089 100644 --- a/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c +++ b/keyboards/an_achronism/tetromino/keymaps/indicators/keymap.c @@ -68,7 +68,7 @@ void keyboard_post_init_user(void) { }; // Custom RGB indicator behaviour: -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t led_processed_count = 0; for (uint8_t row = 0; row < MATRIX_ROWS; ++row) { for (uint8_t col = 0; col < MATRIX_COLS; ++col) { @@ -115,10 +115,11 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; default: break; - } + } } } } } } + return false; } diff --git a/keyboards/annepro2/annepro2_ble.c b/keyboards/annepro2/annepro2_ble.c index 0336d6a76c..64364a6c8e 100644 --- a/keyboards/annepro2/annepro2_ble.c +++ b/keyboards/annepro2/annepro2_ble.c @@ -24,15 +24,14 @@ /* -------------------- Static Function Prototypes -------------------------- */ static uint8_t ap2_ble_leds(void); static void ap2_ble_mouse(report_mouse_t *report); -static void ap2_ble_system(uint16_t data); -static void ap2_ble_consumer(uint16_t data); +static void ap2_ble_extra(report_extra_t *report); static void ap2_ble_keyboard(report_keyboard_t *report); static void ap2_ble_swtich_ble_driver(void); /* -------------------- Static Local Variables ------------------------------ */ static host_driver_t ap2_ble_driver = { - ap2_ble_leds, ap2_ble_keyboard, ap2_ble_mouse, ap2_ble_system, ap2_ble_consumer, + ap2_ble_leds, ap2_ble_keyboard, ap2_ble_mouse, ap2_ble_extra }; static uint8_t ble_mcu_wakeup[11] = {0x7b, 0x12, 0x53, 0x00, 0x03, 0x00, 0x01, 0x7d, 0x02, 0x01, 0x02}; @@ -131,8 +130,6 @@ static uint8_t ap2_ble_leds(void) { static void ap2_ble_mouse(report_mouse_t *report) {} -static void ap2_ble_system(uint16_t data) {} - static inline uint16_t CONSUMER2AP2(uint16_t usage) { switch (usage) { case AUDIO_VOL_DOWN: @@ -152,12 +149,14 @@ static inline uint16_t CONSUMER2AP2(uint16_t usage) { } } -static void ap2_ble_consumer(uint16_t data) { - sdPut(&SD1, 0x0); - sdWrite(&SD1, ble_mcu_send_consumer_report, sizeof(ble_mcu_send_consumer_report)); - sdPut(&SD1, CONSUMER2AP2(data)); - static const uint8_t dummy[3] = {0}; - sdWrite(&SD1, dummy, sizeof(dummy)); +static void ap2_ble_extra(report_extra_t *report) { + if (report->report_id == REPORT_ID_CONSUMER) { + sdPut(&SD1, 0x0); + sdWrite(&SD1, ble_mcu_send_consumer_report, sizeof(ble_mcu_send_consumer_report)); + sdPut(&SD1, CONSUMER2AP2(report->usage)); + static const uint8_t dummy[3] = {0}; + sdWrite(&SD1, dummy, sizeof(dummy)); + } } /*! diff --git a/keyboards/annepro2/config_led.h b/keyboards/annepro2/config_led.h index 19a1dd4baa..e6d4dc35fb 100644 --- a/keyboards/annepro2/config_led.h +++ b/keyboards/annepro2/config_led.h @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL 61 +#define RGB_MATRIX_LED_COUNT 61 /* Limit animations to 62.5 FPS to avoid tearing. (1/.016 = 62.5 FPS). */ #define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/annepro2/rgb_driver.c b/keyboards/annepro2/rgb_driver.c index 1040e89f98..f1d2a3cd13 100644 --- a/keyboards/annepro2/rgb_driver.c +++ b/keyboards/annepro2/rgb_driver.c @@ -19,7 +19,7 @@ #include "rgb_matrix.h" #include "ap2_led.h" -uint8_t led_pos[DRIVER_LED_TOTAL]; +uint8_t led_pos[RGB_MATRIX_LED_COUNT]; void init(void) { unsigned int i = 0; @@ -52,7 +52,7 @@ void set_color(int index, uint8_t r, uint8_t g, uint8_t b) { } void set_color_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i=0; i<DRIVER_LED_TOTAL; i++) + for (int i=0; i<RGB_MATRIX_LED_COUNT; i++) set_color(i, r, g, b); } diff --git a/keyboards/arabica37/rev1/config.h b/keyboards/arabica37/rev1/config.h index b3a9fd3f89..b68709f63b 100644 --- a/keyboards/arabica37/rev1/config.h +++ b/keyboards/arabica37/rev1/config.h @@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* key matrix size */ diff --git a/keyboards/atlantis/ak81_ve/config.h b/keyboards/atlantis/ak81_ve/config.h index e097c47cb0..baf1b14e7d 100644 --- a/keyboards/atlantis/ak81_ve/config.h +++ b/keyboards/atlantis/ak81_ve/config.h @@ -57,7 +57,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_WHEN_USB_SUSPENDED true -#define DRIVER_LED_TOTAL 96 +#define RGB_MATRIX_LED_COUNT 96 #define RGB_MATRIX_STARTUP_HUE 170 #define RGB_MATRIX_STARTUP_SAT 255 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 diff --git a/keyboards/atreus/keymaps/xk/keymap.c b/keyboards/atreus/keymaps/xk/keymap.c index 8264618004..e981d20ac2 100644 --- a/keyboards/atreus/keymaps/xk/keymap.c +++ b/keyboards/atreus/keymaps/xk/keymap.c @@ -302,7 +302,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { return false; break; case OSX: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); return false; break; } diff --git a/keyboards/atreus62/keymaps/d4mation/keymap.c b/keyboards/atreus62/keymaps/d4mation/keymap.c index 1f0cae666d..becf036233 100644 --- a/keyboards/atreus62/keymaps/d4mation/keymap.c +++ b/keyboards/atreus62/keymaps/d4mation/keymap.c @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Runs just one time when the keyboard initializes. */ void eeconfig_init_keymap( void ) { - set_unicode_input_mode( UC_OSX ); + set_unicode_input_mode( UC_MAC ); }; bool process_record_keymap( uint16_t keycode, keyrecord_t *record ) { diff --git a/keyboards/axolstudio/yeti/hotswap/config.h b/keyboards/axolstudio/yeti/hotswap/config.h index 1f0540c9e1..439ca0d512 100644 --- a/keyboards/axolstudio/yeti/hotswap/config.h +++ b/keyboards/axolstudio/yeti/hotswap/config.h @@ -74,11 +74,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # 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_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 64 +# define RGB_MATRIX_LED_COUNT 64 #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/axolstudio/yeti/hotswap/hotswap.c b/keyboards/axolstudio/yeti/hotswap/hotswap.c index f6d0bc7019..9d5efc208d 100644 --- a/keyboards/axolstudio/yeti/hotswap/hotswap.c +++ b/keyboards/axolstudio/yeti/hotswap/hotswap.c @@ -17,24 +17,24 @@ #include "hotswap.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, - { 0, B_4, A_4, C_4 }, - { 0, B_5, A_5, C_5 }, - { 0, B_6, A_6, C_6 }, - { 0, B_7, A_7, C_7 }, - { 0, B_8, A_8, C_8 }, - { 0, B_9, A_9, C_9 }, - { 0, B_10, A_10, C_10 }, - { 0, B_11, A_11, C_11 }, - { 0, B_12, A_12, C_12 }, - { 0, B_13, A_13, C_13 }, + { 0, B_4, A_4, C_4 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_7, A_7, C_7 }, + { 0, B_8, A_8, C_8 }, + { 0, B_9, A_9, C_9 }, + { 0, B_10, A_10, C_10 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, { 0, B_14, A_14, C_14 }, { 0, B_15, A_15, C_15 }, - - { 0, E_1, D_1, F_1 }, + + { 0, E_1, D_1, F_1 }, { 0, E_2, D_2, F_2 }, { 0, E_3, D_3, F_3 }, { 0, E_4, D_4, F_4 }, @@ -46,13 +46,13 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { { 0, E_10, D_10, F_10 }, { 0, E_11, D_11, F_11 }, { 0, E_12, D_12, F_12 }, - { 0, E_13, D_13, F_13 }, - { 0, E_14, D_14, F_14 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, { 0, E_15, D_15, F_15 }, - - { 0, H_1, G_1, I_1 }, - { 0, H_2, G_2, I_2 }, - { 0, H_3, G_3, I_3 }, + + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, { 0, H_4, G_4, I_4 }, { 0, H_5, G_5, I_5 }, { 0, H_6, G_6, I_6 }, @@ -67,25 +67,25 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { { 0, K_2, J_2, L_2 }, { 0, K_3, J_3, L_3 }, - { 0, K_4, J_4, L_4 }, + { 0, K_4, J_4, L_4 }, { 0, K_5, J_5, L_5 }, { 0, K_6, J_6, L_6 }, - { 0, K_7, J_7, L_7 }, - { 0, K_8, J_8, L_8 }, - { 0, K_9, J_9, L_9 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, { 0, K_10, J_10, L_10 }, - { 0, K_11, J_11, L_11 }, - { 0, K_12, J_12, L_12 }, - { 0, K_13, J_13, L_13 }, + { 0, K_11, J_11, L_11 }, + { 0, K_12, J_12, L_12 }, + { 0, K_13, J_13, L_13 }, { 0, K_14, J_14, L_14 }, { 0, K_1, J_1, L_1 }, { 0, K_16, J_16, L_16 }, { 0, H_16, G_16, I_16 }, - { 0, E_16, D_16, F_16 }, - { 0, B_16, A_16, C_16 }, + { 0, E_16, D_16, F_16 }, + { 0, B_16, A_16, C_16 }, { 0, H_15, G_15, I_15 }, - { 0, K_15, J_15, L_15 }, + { 0, K_15, J_15, L_15 }, }; led_config_t g_led_config = { @@ -102,7 +102,7 @@ led_config_t g_led_config = { {16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48}, {16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64} }, { - 1, 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, 1, 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, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, @@ -110,9 +110,12 @@ led_config_t g_led_config = { } }; #endif -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); } + return true; } diff --git a/keyboards/bandominedoni/config.h b/keyboards/bandominedoni/config.h index 17f5675f60..ba3a157ced 100644 --- a/keyboards/bandominedoni/config.h +++ b/keyboards/bandominedoni/config.h @@ -91,7 +91,7 @@ #ifdef RGB_MATRIX_ENABLE /* ws2812 RGB MATRIX */ -# define DRIVER_LED_TOTAL 76 +# define RGB_MATRIX_LED_COUNT 76 // reacts to keypresses # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/bandominedoni/keymaps/led/keymap.c b/keyboards/bandominedoni/keymaps/led/keymap.c index 8659697a91..7f43d65d22 100644 --- a/keyboards/bandominedoni/keymaps/led/keymap.c +++ b/keyboards/bandominedoni/keymaps/led/keymap.c @@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. uint8_t layer = get_highest_layer(layer_state); switch (layer) { @@ -250,5 +250,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif diff --git a/keyboards/bandominedoni/keymaps/lednotg/keymap.c b/keyboards/bandominedoni/keymaps/lednotg/keymap.c index ba25c1d55f..43ad28040f 100644 --- a/keyboards/bandominedoni/keymaps/lednotg/keymap.c +++ b/keyboards/bandominedoni/keymaps/lednotg/keymap.c @@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. uint8_t layer = biton32(layer_state); switch (layer) { @@ -250,5 +250,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c index aa668af154..2fd2f9092c 100644 --- a/keyboards/bandominedoni/keymaps/via/keymap.c +++ b/keyboards/bandominedoni/keymaps/via/keymap.c @@ -141,7 +141,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. uint8_t layer = get_highest_layer(layer_state); switch (layer) { @@ -177,5 +177,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h index 753e3d5a41..014f59a219 100644 --- a/keyboards/basekeys/trifecta/config.h +++ b/keyboards/basekeys/trifecta/config.h @@ -36,7 +36,7 @@ #define RGB_DI_PIN E6 -#define DRIVER_LED_TOTAL 80 +#define RGB_MATRIX_LED_COUNT 80 /* RGB LED */ #ifdef RGBLIGHT_ENABLE @@ -72,10 +72,9 @@ #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h index 6e3b8a7124..1368bce35b 100644 --- a/keyboards/bastardkb/charybdis/3x5/config.h +++ b/keyboards/bastardkb/charybdis/3x5/config.h @@ -38,7 +38,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h index 39204a3667..f3e8f83b2a 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #undef PRODUCT -#define PRODUCT Charybdis Nano (Blackpill) +#define PRODUCT "Charybdis Nano (Blackpill)" #undef MATRIX_ROW_PINS #define MATRIX_ROW_PINS \ diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk index 1369213cf2..dc0395c800 100644 --- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk +++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/rules.mk @@ -23,6 +23,6 @@ MOUSEKEY_ENABLE = yes NKRO_ENABLE = yes CONSOLE_ENABLE = yes -AUTOCORRECTION_ENABLE = yes +AUTOCORRECT_ENABLE = yes DEBOUNCE_TYPE = asym_eager_defer_pk diff --git a/keyboards/bastardkb/charybdis/3x6/config.h b/keyboards/bastardkb/charybdis/3x6/config.h index 6b31a773fc..bf915b4faf 100644 --- a/keyboards/bastardkb/charybdis/3x6/config.h +++ b/keyboards/bastardkb/charybdis/3x6/config.h @@ -40,7 +40,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h index f557089073..4c0f508948 100644 --- a/keyboards/bastardkb/charybdis/4x6/config.h +++ b/keyboards/bastardkb/charybdis/4x6/config.h @@ -38,7 +38,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk index 336750bc90..d655fbd5dc 100644 --- a/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk +++ b/keyboards/bastardkb/charybdis/4x6/keymaps/drashna/rules.mk @@ -24,7 +24,7 @@ SERIAL_DRIVER = usart AUDIO_DRIVER = pwm_hardware BACKLIGHT_DRIVER = pwm -AUTOCORRECTION_ENABLE = yes +AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes SWAP_HANDS_ENABLE = yes TAP_DANCE_ENABLE = yes diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c index 60bca936e7..2000641f9a 100644 --- a/keyboards/bastardkb/charybdis/charybdis.c +++ b/keyboards/bastardkb/charybdis/charybdis.c @@ -303,16 +303,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { break; } # endif // !NO_CHARYBDIS_KEYCODES -# ifndef MOUSEKEY_ENABLE - // Simulate mouse keys if full support is not enabled (reduces firmware size - // while maintaining support for mouse keys). - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t mouse_report = pointing_device_get_report(); - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(mouse_report); - pointing_device_send(); - } -# endif // !MOUSEKEY_ENABLE # endif // POINTING_DEVICE_ENABLE if ((keycode >= POINTER_DEFAULT_DPI_FORWARD && keycode < CHARYBDIS_SAFE_RANGE) || IS_MOUSEKEY(keycode)) { debug_charybdis_config_to_console(&g_charybdis_config); diff --git a/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk b/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk index 5f4afb7259..41d73bc49a 100644 --- a/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk +++ b/keyboards/bastardkb/dilemma/keymaps/drashna/rules.mk @@ -1,5 +1,5 @@ SWAP_HANDS_ENABLE = no -AUTOCORRECTION_ENABLE = yes +AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes CONSOLE_ENABLE = yes KEYLOGGER_ENABLE = no diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h index 777f99197a..84b559a26b 100644 --- a/keyboards/bastardkb/scylla/config.h +++ b/keyboards/bastardkb/scylla/config.h @@ -37,7 +37,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h index 8494e2bfac..f887d8e0f0 100644 --- a/keyboards/bastardkb/skeletyl/config.h +++ b/keyboards/bastardkb/skeletyl/config.h @@ -37,7 +37,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md b/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md index 9359e6ad9c..b806bd265a 100644 --- a/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md +++ b/keyboards/bastardkb/tbk/keymaps/xyverz/readme.md @@ -17,6 +17,6 @@ See the [keyboard build instructions](https://docs.bastardkb.com) ## Important information regarding the reset -If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. +If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index 0624c4b4a6..867f69319b 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -37,7 +37,7 @@ /* RGB matrix support. */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h index 360d6a5621..f12d6fb3d4 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h +++ b/keyboards/biacco42/ergo42/keymaps/biacco-biacco/config.h @@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL // #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h +++ b/keyboards/biacco42/ergo42/keymaps/biacco-macOS/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h index efadfa8143..ee8c84e1ee 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h +++ b/keyboards/biacco42/ergo42/keymaps/biacco-underglow/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h +++ b/keyboards/biacco42/ergo42/keymaps/biacco-winjp/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/biacco/config.h b/keyboards/biacco42/ergo42/keymaps/biacco/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/biacco/config.h +++ b/keyboards/biacco42/ergo42/keymaps/biacco/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h b/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h +++ b/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h index efadfa8143..ee8c84e1ee 100644 --- a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h +++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/default/config.h b/keyboards/biacco42/ergo42/keymaps/default/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/default/config.h +++ b/keyboards/biacco42/ergo42/keymaps/default/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/hdbx/config.h b/keyboards/biacco42/ergo42/keymaps/hdbx/config.h index 4f0704ae1a..7a67860718 100644 --- a/keyboards/biacco42/ergo42/keymaps/hdbx/config.h +++ b/keyboards/biacco42/ergo42/keymaps/hdbx/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h b/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h +++ b/keyboards/biacco42/ergo42/keymaps/ichi-t/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/koba/config.h b/keyboards/biacco42/ergo42/keymaps/koba/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/koba/config.h +++ b/keyboards/biacco42/ergo42/keymaps/koba/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/shinze/config.h b/keyboards/biacco42/ergo42/keymaps/shinze/config.h index 360d6a5621..f0717a4632 100644 --- a/keyboards/biacco42/ergo42/keymaps/shinze/config.h +++ b/keyboards/biacco42/ergo42/keymaps/shinze/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h b/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h index 1892ef6529..eb2dbd6dd0 100644 --- a/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h +++ b/keyboards/biacco42/ergo42/keymaps/yshrsmz/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/bioi/ble.c b/keyboards/bioi/ble.c index d941f7c43d..7118cef8c6 100644 --- a/keyboards/bioi/ble.c +++ b/keyboards/bioi/ble.c @@ -96,15 +96,14 @@ static void bluefruit_serial_send(uint8_t data) static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t *report); static void send_mouse(report_mouse_t *report); -static void send_system(uint16_t data); -static void send_consumer(uint16_t data); +static void send_extra(report_extra_t *report); host_driver_t bluefruit_driver = { keyboard_leds, send_keyboard, send_mouse, - send_system, - send_consumer}; + send_extra +}; host_driver_t null_driver = {}; @@ -156,10 +155,6 @@ static void send_mouse(report_mouse_t *report) #endif } -static void send_system(uint16_t data) -{ -} - /* +-----------------+-------------------+-------+ | Consumer Key | Bit Map | Hex | @@ -182,30 +177,27 @@ static void send_system(uint16_t data) #define CONSUMER2BLUEFRUIT(usage) \ (usage == AUDIO_MUTE ? 0x00e2 : (usage == AUDIO_VOL_UP ? 0x00e9 : (usage == AUDIO_VOL_DOWN ? 0x00ea : (usage == TRANSPORT_NEXT_TRACK ? 0x00b5 : (usage == TRANSPORT_PREV_TRACK ? 0x00b6 : (usage == TRANSPORT_STOP ? 0x00b7 : (usage == TRANSPORT_STOP_EJECT ? 0x00b8 : (usage == TRANSPORT_PLAY_PAUSE ? 0x00b1 : (usage == AL_CC_CONFIG ? 0x0183 : (usage == AL_EMAIL ? 0x018c : (usage == AL_CALCULATOR ? 0x0192 : (usage == AL_LOCAL_BROWSER ? 0x0196 : (usage == AC_SEARCH ? 0x021f : (usage == AC_HOME ? 0x0223 : (usage == AC_BACK ? 0x0224 : (usage == AC_FORWARD ? 0x0225 : (usage == AC_STOP ? 0x0226 : (usage == AC_REFRESH ? 0x0227 : (usage == AC_BOOKMARKS ? 0x022a : 0))))))))))))))))))) -static void send_consumer(uint16_t data) +static void send_extra(report_extra_t *report) { - static uint16_t last_data = 0; - if (data == last_data) - return; - last_data = data; - - uint16_t bitmap = CONSUMER2BLUEFRUIT(data); + if (report->report_id == REPORT_ID_CONSUMER) { + uint16_t bitmap = CONSUMER2BLUEFRUIT(report->usage); #ifdef BLUEFRUIT_TRACE_SERIAL - dprintf("\nData: "); - debug_hex16(data); - dprintf("; bitmap: "); - debug_hex16(bitmap); - dprintf("\n"); - bluefruit_trace_header(); + dprintf("\nData: "); + debug_hex16(data); + dprintf("; bitmap: "); + debug_hex16(bitmap); + dprintf("\n"); + bluefruit_trace_header(); #endif - send_str(PSTR("AT+BLEHIDCONTROLKEY=0x")); - send_bytes((bitmap >> 8) & 0xFF); - send_bytes(bitmap & 0xFF); - send_str(PSTR("\r\n")); + send_str(PSTR("AT+BLEHIDCONTROLKEY=0x")); + send_bytes((bitmap >> 8) & 0xFF); + send_bytes(bitmap & 0xFF); + send_str(PSTR("\r\n")); #ifdef BLUEFRUIT_TRACE_SERIAL - bluefruit_trace_footer(); + bluefruit_trace_footer(); #endif + } } void usart_init(void) diff --git a/keyboards/blockboy/ac980mini/config.h b/keyboards/blockboy/ac980mini/config.h index 695daf901a..bb87f724eb 100644 --- a/keyboards/blockboy/ac980mini/config.h +++ b/keyboards/blockboy/ac980mini/config.h @@ -7,17 +7,16 @@ // RGB configuration #define RGB_DI_PIN B7 // The number of LEDs connected -#define DRIVER_LED_TOTAL 81 +#define RGB_MATRIX_LED_COUNT 81 //#ifdef RGB_DI_PIN # define RGBLED_NUM 81 #ifdef RGB_MATRIX_ENABLE //# 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h index 6ce8d2d420..587dda7381 100644 --- a/keyboards/boardsource/beiwagon/config.h +++ b/keyboards/boardsource/beiwagon/config.h @@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define RGB_DI_PIN C6 -#define DRIVER_LED_TOTAL 18 +#define RGB_MATRIX_LED_COUNT 18 #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h index 8e635a24eb..382b1b6b3f 100644 --- a/keyboards/boardsource/lulu/config.h +++ b/keyboards/boardsource/lulu/config.h @@ -3,7 +3,7 @@ #pragma once #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 #define RGB_MATRIX_SPLIT { 35, 35 } #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/boardsource/microdox/v2/config.h b/keyboards/boardsource/microdox/v2/config.h index e6a7ddc16b..4846bf5146 100644 --- a/keyboards/boardsource/microdox/v2/config.h +++ b/keyboards/boardsource/microdox/v2/config.h @@ -4,7 +4,7 @@ #define RGB_DI_PIN B5 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 -#define DRIVER_LED_TOTAL 44 +#define RGB_MATRIX_LED_COUNT 44 #define RGB_MATRIX_SPLIT { 22, 22 } #define RGB_DISABLE_WHEN_USB_SUSPENDED #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h index bbaacd33c4..c6edbf1c4e 100644 --- a/keyboards/boardsource/technik_o/config.h +++ b/keyboards/boardsource/technik_o/config.h @@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define RGB_DI_PIN C6 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 -#define DRIVER_LED_TOTAL 58 +#define RGB_MATRIX_LED_COUNT 58 #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_BREATHING diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h index 2141a2a0a9..ab4d79147c 100644 --- a/keyboards/boardsource/technik_s/config.h +++ b/keyboards/boardsource/technik_s/config.h @@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define RGB_DI_PIN C6 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 -#define DRIVER_LED_TOTAL 55 +#define RGB_MATRIX_LED_COUNT 55 #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN #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 61628e1821..6d9c9642de 100644 --- a/keyboards/boardsource/the_mark/config.h +++ b/keyboards/boardsource/the_mark/config.h @@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL 24 +# define RGB_MATRIX_LED_COUNT 24 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_DISABLE_WHEN_USB_SUSPENDED # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c index 0d958b883a..5b37bb6667 100644 --- a/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c +++ b/keyboards/boardsource/the_mark/keymaps/stanrc85/keymap.c @@ -19,17 +19,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_QWERTY] = 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_BSPC, KC_BSPC, KC_MPLY, - 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, CA_SCLN, - KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, - KC_LSFT, 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_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_MPLY, + 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, CA_SCLN, + KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, + KC_LSFT, 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_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT ), [_DEFAULT] = 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_BSPC, KC_BSPC, KC_MPLY, - 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, CA_SCLN, - KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, - KC_LSFT, 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_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_MPLY, + 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, CA_SCLN, + KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT, + KC_LSFT, 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_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT ), [_FN1_60] = LAYOUT_all( @@ -43,24 +43,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t layer = get_highest_layer(layer_state); switch (layer) { case _FN1_60: - rgb_matrix_set_color(10, 0, 0, 255); + rgb_matrix_set_color(10, 0, 0, 255); break; case _FN2_60: - rgb_matrix_set_color(10, 255, 255, 255); + rgb_matrix_set_color(10, 255, 255, 255); break; case _DEFAULT: - rgb_matrix_set_color(10, 0, 255, 0); + rgb_matrix_set_color(10, 0, 255, 0); break; default: break; @@ -68,6 +68,7 @@ void rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(10, 255, 0, 0); } + return false; } void matrix_init_kb(void){ diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index 7429845958..f69e5f953f 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -155,7 +155,7 @@ #define RGBLED_NUM 10 #define RGB_DI_PIN B5 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h b/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h index 122627e88f..9ff01f7e84 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h +++ b/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h @@ -3,4 +3,4 @@ /* overridden settings: */ #undef PRODUCT -#define PRODUCT Pegasus Hoof Citadel +#define PRODUCT "Pegasus Hoof Citadel" diff --git a/keyboards/buzzard/rev1/config.h b/keyboards/buzzard/rev1/config.h index 66c1a9a42e..67555ba92c 100644 --- a/keyboards/buzzard/rev1/config.h +++ b/keyboards/buzzard/rev1/config.h @@ -35,7 +35,7 @@ #define SPLIT_OLED_ENABLE #endif -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT #define PS2_CLOCK_PIN E6 #define PS2_DATA_PIN D7 diff --git a/keyboards/buzzard/rev1/rules.mk b/keyboards/buzzard/rev1/rules.mk index 9a479c64e6..13c63d5b17 100644 --- a/keyboards/buzzard/rev1/rules.mk +++ b/keyboards/buzzard/rev1/rules.mk @@ -1,3 +1,4 @@ OLED_DRIVER = SSD1306 -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt diff --git a/keyboards/canary/canary60rgb/canary60rgb.c b/keyboards/canary/canary60rgb/canary60rgb.c index b37a88b32f..00e929e952 100644 --- a/keyboards/canary/canary60rgb/canary60rgb.c +++ b/keyboards/canary/canary60rgb/canary60rgb.c @@ -16,7 +16,7 @@ #include "canary60rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, J_14, K_14, L_14 }, { 0, J_13, K_13, L_13 }, { 0, J_12, K_12, L_12 }, @@ -108,10 +108,13 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h index 8d3150a5d9..45239fc697 100644 --- a/keyboards/canary/canary60rgb/v1/config.h +++ b/keyboards/canary/canary60rgb/v1/config.h @@ -58,7 +58,6 @@ #define DEBOUNCE 5 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -78,5 +77,5 @@ # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 63 +# define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/capsunlocked/cu80/v2_ansi/config.h b/keyboards/capsunlocked/cu80/v2_ansi/config.h index 4ff0af5c27..ae8d1cc741 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/config.h +++ b/keyboards/capsunlocked/cu80/v2_ansi/config.h @@ -24,5 +24,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define DRIVER_LED_TOTAL 87 +#define RGB_MATRIX_LED_COUNT 87 #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c b/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c index ef920474bb..3c26c5d580 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c @@ -25,13 +25,17 @@ void matrix_init_kb(void) { } /* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(62, 255, 255, 255); } if (host_keyboard_led_state().scroll_lock) { rgb_matrix_set_color(14, 255, 255, 255); } + return true; } /* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ diff --git a/keyboards/capsunlocked/cu80/v2_iso/config.h b/keyboards/capsunlocked/cu80/v2_iso/config.h index 7980837acf..2411039d93 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/config.h +++ b/keyboards/capsunlocked/cu80/v2_iso/config.h @@ -25,5 +25,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define LOCKING_RESYNC_ENABLE /* Define RGB */ -#define DRIVER_LED_TOTAL 88 +#define RGB_MATRIX_LED_COUNT 88 #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c b/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c index 2caef36bc7..caa13cfa81 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c +++ b/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c @@ -24,13 +24,17 @@ void matrix_init_kb(void) { } /* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(62, 255, 255, 255); } if (host_keyboard_led_state().scroll_lock) { rgb_matrix_set_color(14, 255, 255, 255); } + return true; } /* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ diff --git a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c index 528bc2cc00..67ec80f304 100644 --- a/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c +++ b/keyboards/checkerboards/quark/keymaps/pezhore/keymap.c @@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ @@ -192,4 +192,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; } return true; -};
\ No newline at end of file +}; diff --git a/keyboards/checkerboards/quark_lp/config.h b/keyboards/checkerboards/quark_lp/config.h index b4664ec5c2..a1d7533f8a 100644 --- a/keyboards/checkerboards/quark_lp/config.h +++ b/keyboards/checkerboards/quark_lp/config.h @@ -41,7 +41,7 @@ #define RGB_DI_PIN C2 // pin the DI on the ws2812 is hooked-up to #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL 51 +#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_MAXIMUM_BRIGHTNESS 125 // limits maximum brightness of LEDs to 125 out of 255. Higher may cause the controller to crash. diff --git a/keyboards/cherrybstudio/cb87rgb/cb87rgb.c b/keyboards/cherrybstudio/cb87rgb/cb87rgb.c index 362a991652..6c9d30c6ef 100644 --- a/keyboards/cherrybstudio/cb87rgb/cb87rgb.c +++ b/keyboards/cherrybstudio/cb87rgb/cb87rgb.c @@ -48,13 +48,16 @@ led_config_t g_led_config = { { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(51, 255, 255, 255); } if (host_keyboard_led_state().scroll_lock) { rgb_matrix_set_color(14, 255, 255, 255); } + return true; } #endif diff --git a/keyboards/cherrybstudio/cb87rgb/config.h b/keyboards/cherrybstudio/cb87rgb/config.h index d915e59c7f..9a9c70167e 100644 --- a/keyboards/cherrybstudio/cb87rgb/config.h +++ b/keyboards/cherrybstudio/cb87rgb/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DEBOUNCE 5 #define RGB_DI_PIN E6 -#define DRIVER_LED_TOTAL 92 +#define RGB_MATRIX_LED_COUNT 92 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h index aa7eeac148..5bb55f8797 100644 --- a/keyboards/chromatonemini/config.h +++ b/keyboards/chromatonemini/config.h @@ -67,7 +67,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE /* ws2812 RGB MATRIX */ -# define DRIVER_LED_TOTAL 116 +# define RGB_MATRIX_LED_COUNT 116 // reacts to keypresses # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/chromatonemini/keymaps/led/keymap.c b/keyboards/chromatonemini/keymaps/led/keymap.c index a68ec2ad38..6d7d07cdaf 100644 --- a/keyboards/chromatonemini/keymaps/led/keymap.c +++ b/keyboards/chromatonemini/keymaps/led/keymap.c @@ -591,7 +591,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { // uint32_t mode = rgblight_get_mode(); if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. @@ -691,5 +691,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/chromatonemini/keymaps/party/keymap.c b/keyboards/chromatonemini/keymaps/party/keymap.c index 7383b81d8b..c92ed2494c 100644 --- a/keyboards/chromatonemini/keymaps/party/keymap.c +++ b/keyboards/chromatonemini/keymaps/party/keymap.c @@ -594,7 +594,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { // uint32_t mode = rgblight_get_mode(); if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. @@ -694,5 +694,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/chromatonemini/keymaps/via/keymap.c b/keyboards/chromatonemini/keymaps/via/keymap.c index b4ea6e30fe..e477e1b8a5 100644 --- a/keyboards/chromatonemini/keymaps/via/keymap.c +++ b/keyboards/chromatonemini/keymaps/via/keymap.c @@ -245,7 +245,7 @@ void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { // uint32_t mode = rgblight_get_mode(); if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled. @@ -280,5 +280,6 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/chromatonemini/rgb_matrix_kb.inc b/keyboards/chromatonemini/rgb_matrix_kb.inc index 4fe474e12c..09877e1a31 100644 --- a/keyboards/chromatonemini/rgb_matrix_kb.inc +++ b/keyboards/chromatonemini/rgb_matrix_kb.inc @@ -42,7 +42,7 @@ bool my_solid_reactive_col(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool my_party_rocks(effect_params_t* params) { @@ -51,7 +51,7 @@ bool my_party_rocks(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/clueboard/17/info.json b/keyboards/clueboard/17/info.json index 5ea4937e50..5d87806703 100644 --- a/keyboards/clueboard/17/info.json +++ b/keyboards/clueboard/17/info.json @@ -4,6 +4,7 @@ "maintainer": "skullydazed", "diode_direction": "COL2ROW", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "features": { "backlight": true, "bootmagic": false, diff --git a/keyboards/clueboard/66/rev1/info.json b/keyboards/clueboard/66/rev1/info.json index bc3e1e23b6..76aa685768 100644 --- a/keyboards/clueboard/66/rev1/info.json +++ b/keyboards/clueboard/66/rev1/info.json @@ -3,6 +3,7 @@ "keyboard_name": "Clueboard 66%", "maintainer": "skullydazed", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "debounce": 5, "diode_direction": "COL2ROW", "features": { diff --git a/keyboards/clueboard/66/rev2/info.json b/keyboards/clueboard/66/rev2/info.json index 0cfb690388..7ee7a88df0 100644 --- a/keyboards/clueboard/66/rev2/info.json +++ b/keyboards/clueboard/66/rev2/info.json @@ -3,6 +3,7 @@ "keyboard_name": "Clueboard 66%", "maintainer": "skullydazed", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "debounce": 5, "diode_direction": "COL2ROW", "features": { diff --git a/keyboards/clueboard/66/rev3/info.json b/keyboards/clueboard/66/rev3/info.json index 208bc22dd1..0dc0097a52 100644 --- a/keyboards/clueboard/66/rev3/info.json +++ b/keyboards/clueboard/66/rev3/info.json @@ -3,6 +3,7 @@ "keyboard_name": "Clueboard 66% rev3", "maintainer": "skullydazed", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "debounce": 5, "diode_direction": "COL2ROW", "features": { diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index b1bf6b3543..8fce4af364 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h @@ -79,7 +79,7 @@ #define I2C1_SDA_PIN B9 #define LED_DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 71 +#define LED_MATRIX_LED_COUNT 71 // LED Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c index 66c40731ec..1d70f8b8b1 100644 --- a/keyboards/clueboard/66_hotswap/gen1/gen1.c +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c @@ -16,7 +16,7 @@ #include "gen1.h" #ifdef LED_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/clueboard/66_hotswap/prototype/info.json b/keyboards/clueboard/66_hotswap/prototype/info.json index 4940af8439..21db54513f 100644 --- a/keyboards/clueboard/66_hotswap/prototype/info.json +++ b/keyboards/clueboard/66_hotswap/prototype/info.json @@ -5,6 +5,7 @@ "debounce": 5, "diode_direction": "COL2ROW", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "features": { "audio": true, "backlight": true, diff --git a/keyboards/clueboard/card/info.json b/keyboards/clueboard/card/info.json index aaeda61b94..739d253971 100644 --- a/keyboards/clueboard/card/info.json +++ b/keyboards/clueboard/card/info.json @@ -4,6 +4,7 @@ "maintainer": "skullydazed", "debounce": 20, "processor": "atmega32u4", + "bootloader": "atmel-dfu", "diode_direction": "ROW2COL", "features": { "audio": true, diff --git a/keyboards/contra/keymaps/alper/keymap.c b/keyboards/contra/keymaps/alper/keymap.c index af81040b58..7f00697d66 100644 --- a/keyboards/contra/keymaps/alper/keymap.c +++ b/keyboards/contra/keymaps/alper/keymap.c @@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_mit( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/controllerworks/mini42/config.h b/keyboards/controllerworks/mini42/config.h index a56fa70402..420e616ad2 100644 --- a/keyboards/controllerworks/mini42/config.h +++ b/keyboards/controllerworks/mini42/config.h @@ -17,16 +17,9 @@ #pragma once -#include "config_common.h" - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -/* #define DEBOUNCE 5 */ - #define WS2812_PIO_USE_PIO1 #define RGBLED_NUM 54 -#define DRIVER_LED_TOTAL RGBLED_NUM -#define RGB_MATRIX_SPLIT \ - { 27, 27 } +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define SPLIT_TRANSPORT_MIRROR #define SPLIT_LAYER_STATE_ENABLE @@ -50,20 +43,3 @@ /* Top right key on right half */ #define BOOTMAGIC_LITE_ROW_RIGHT 0 #define BOOTMAGIC_LITE_COLUMN_RIGHT 0 -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - - diff --git a/keyboards/controllerworks/mini42/info.json b/keyboards/controllerworks/mini42/info.json index 1e0527be02..b18747c62c 100644 --- a/keyboards/controllerworks/mini42/info.json +++ b/keyboards/controllerworks/mini42/info.json @@ -56,6 +56,7 @@ }, "rgb_matrix": { "driver": "WS2812", + "split_count": [27, 27], "layout": [ { "flags": 2, "x": 75, "y": 4 }, { "flags": 2, "x": 40, "y": 2 }, diff --git a/keyboards/controllerworks/mini42/mini42.c b/keyboards/controllerworks/mini42/mini42.c index cc6397fa11..be16d1400a 100644 --- a/keyboards/controllerworks/mini42/mini42.c +++ b/keyboards/controllerworks/mini42/mini42.c @@ -14,7 +14,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "mini42.h" + +#include "quantum.h" #ifdef OLED_ENABLE @@ -79,4 +80,4 @@ bool oled_task_kb(void) { return false; } -#endif
\ No newline at end of file +#endif diff --git a/keyboards/controllerworks/mini42/mini42.h b/keyboards/controllerworks/mini42/mini42.h deleted file mode 100644 index 8155798246..0000000000 --- a/keyboards/controllerworks/mini42/mini42.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2022 Kevin Gee <info@controller.works> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "quantum.h" diff --git a/keyboards/converter/ibm_terminal/config.h b/keyboards/converter/ibm_terminal/config.h index 9e7d140809..9b44bfa3ea 100644 --- a/keyboards/converter/ibm_terminal/config.h +++ b/keyboards/converter/ibm_terminal/config.h @@ -36,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* * PS/2 USART configuration for ATMega32U4 */ -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART /* XCK for clock line */ #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 @@ -77,7 +77,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* * PS/2 Interrupt configuration */ -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT /* uses INT1 for clock line(ATMega32U4) */ #define PS2_CLOCK_PIN D1 #define PS2_DATA_PIN D0 @@ -99,7 +99,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* * PS/2 Busywait configuration */ -#ifdef PS2_USE_BUSYWAIT +#ifdef PS2_DRIVER_BUSYWAIT #define PS2_CLOCK_PIN D1 #define PS2_DATA_PIN D0 #endif diff --git a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk index e3cb087a76..10f43dc416 100644 --- a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk +++ b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk @@ -7,4 +7,5 @@ NKRO_ENABLE = yes BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c index 3d6da6eab8..a530a4b83a 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c @@ -289,7 +289,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case OS_MAC: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); return false; break; diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk index 8c5f3d7034..b18dc2d4d8 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk @@ -1,5 +1,5 @@ # Build Options -# change to "no" to disable the options, or define them in the Makefile in +# change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite @@ -14,8 +14,9 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode UNICODEMAP_ENABLE = yes BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -PS2_USE_USART = yes +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. +PS2_ENABLE = yes +PS2_DRIVER = usart # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/converter/ibm_terminal/rules.mk b/keyboards/converter/ibm_terminal/rules.mk index 277e828269..6304e20fb4 100644 --- a/keyboards/converter/ibm_terminal/rules.mk +++ b/keyboards/converter/ibm_terminal/rules.mk @@ -16,7 +16,8 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart CUSTOM_MATRIX = yes SRC = matrix.c led.c diff --git a/keyboards/converter/m0110_usb/keymaps/zyber/keymap.c b/keyboards/converter/m0110_usb/keymaps/zyber/keymap.c index f8f69a69a5..f3a16b9955 100644 --- a/keyboards/converter/m0110_usb/keymaps/zyber/keymap.c +++ b/keyboards/converter/m0110_usb/keymaps/zyber/keymap.c @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [1] = LAYOUT_iso( - RESET, 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, _______, _______, _______, _______, \ + 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_DEL, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, \ diff --git a/keyboards/converter/numeric_keypad_IIe/config.h b/keyboards/converter/numeric_keypad_iie/config.h index f9fd26163d..f9fd26163d 100644 --- a/keyboards/converter/numeric_keypad_IIe/config.h +++ b/keyboards/converter/numeric_keypad_iie/config.h diff --git a/keyboards/converter/numeric_keypad_IIe/info.json b/keyboards/converter/numeric_keypad_iie/info.json index 77b3c38227..77b3c38227 100644 --- a/keyboards/converter/numeric_keypad_IIe/info.json +++ b/keyboards/converter/numeric_keypad_iie/info.json diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c b/keyboards/converter/numeric_keypad_iie/keymaps/default/keymap.c index a8b8f568ff..a8b8f568ff 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c +++ b/keyboards/converter/numeric_keypad_iie/keymaps/default/keymap.c diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md b/keyboards/converter/numeric_keypad_iie/keymaps/default/readme.md index c58b09d156..c58b09d156 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md +++ b/keyboards/converter/numeric_keypad_iie/keymaps/default/readme.md diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/config.h index 667668959a..667668959a 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h +++ b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/config.h diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/keymap.c index 0255798860..0255798860 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c +++ b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/keymap.c diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/readme.md index 0bccfdb6cf..0bccfdb6cf 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md +++ b/keyboards/converter/numeric_keypad_iie/keymaps/newbold/readme.md diff --git a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c b/keyboards/converter/numeric_keypad_iie/numeric_keypad_iie.c index a2f8a5bd6e..341af05b31 100644 --- a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c +++ b/keyboards/converter/numeric_keypad_iie/numeric_keypad_iie.c @@ -13,4 +13,4 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "numeric_keypad_IIe.h" +#include "numeric_keypad_iie.h" diff --git a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h b/keyboards/converter/numeric_keypad_iie/numeric_keypad_iie.h index 8892b5553b..8892b5553b 100644 --- a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h +++ b/keyboards/converter/numeric_keypad_iie/numeric_keypad_iie.h diff --git a/keyboards/converter/numeric_keypad_IIe/readme.md b/keyboards/converter/numeric_keypad_iie/readme.md index 9eba41610a..0de562d808 100644 --- a/keyboards/converter/numeric_keypad_IIe/readme.md +++ b/keyboards/converter/numeric_keypad_iie/readme.md @@ -11,6 +11,6 @@ Hardware Supported: Internal Numeric Keypad IIe PCB (Apple part 820.0081.c), ATm Make example for this keyboard (after setting up your build environment): - make converter/numeric_keypad_IIe:default + make converter/numeric_keypad_iie: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). diff --git a/keyboards/converter/numeric_keypad_IIe/rules.mk b/keyboards/converter/numeric_keypad_iie/rules.mk index eae129b29b..eae129b29b 100644 --- a/keyboards/converter/numeric_keypad_IIe/rules.mk +++ b/keyboards/converter/numeric_keypad_iie/rules.mk diff --git a/keyboards/cozykeys/speedo/v3/rules.mk b/keyboards/cozykeys/speedo/v3/rules.mk index 561e8f4ca1..8b77971b7e 100644 --- a/keyboards/cozykeys/speedo/v3/rules.mk +++ b/keyboards/cozykeys/speedo/v3/rules.mk @@ -4,6 +4,8 @@ MCU = atmega32u4 # Bootloader selection BOOTLOADER = atmel-dfu +PIN_COMPATIBLE = elite_c + # Build Options # change yes to no to disable # diff --git a/keyboards/cradio/info.json b/keyboards/cradio/info.json index 44077d0d86..c4e3b421f1 100644 --- a/keyboards/cradio/info.json +++ b/keyboards/cradio/info.json @@ -9,7 +9,8 @@ "device_version": "0.0.1" }, "processor": "atmega32u4", - "protocol": "atmel-dfu", + "bootloader": "atmel-dfu", + "pin_compatible": "promicro", "debounce": 5, "features": { "bootmagic": true, diff --git a/keyboards/crkbd/config.h b/keyboards/crkbd/config.h index 21f3aa0ab4..df17352d9c 100644 --- a/keyboards/crkbd/config.h +++ b/keyboards/crkbd/config.h @@ -61,5 +61,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#define USE_SERIAL diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h index 405d329640..27f01a445a 100644 --- a/keyboards/crkbd/keymaps/armand1m/config.h +++ b/keyboards/crkbd/keymaps/armand1m/config.h @@ -28,11 +28,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - // #define TAPPING_FORCE_HOLD // #define PERMISSIVE_HOLD -#define TAPPING_TERM 300 +#define TAPPING_TERM 300 #define IGNORE_MOD_TAP_INTERRUPT #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/crkbd/keymaps/bermeo/config.h b/keyboards/crkbd/keymaps/bermeo/config.h index 567497afbe..cadb397834 100644 --- a/keyboards/crkbd/keymaps/bermeo/config.h +++ b/keyboards/crkbd/keymaps/bermeo/config.h @@ -74,10 +74,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/bermeo/keymap.c b/keyboards/crkbd/keymaps/bermeo/keymap.c index ad1dc92450..3b3e6d0abe 100644 --- a/keyboards/crkbd/keymaps/bermeo/keymap.c +++ b/keyboards/crkbd/keymaps/bermeo/keymap.c @@ -8,10 +8,10 @@ // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. -enum layers { - _QWERTY, - _LOWER, - _RAISE, +enum layers { + _QWERTY, + _LOWER, + _RAISE, _NUMP, }; @@ -81,13 +81,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[_QWERTY] = LAYOUT )}; //Per key lights -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { #ifdef RGB_MATRIX_ENABLE switch (get_highest_layer(layer_state)) { case _QWERTY: isSneaking = false; mod_state = get_mods(); - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (mod_state & MOD_MASK_SHIFT) { isBarking = true; rgb_matrix_set_color(52, 255, 255, 255); @@ -135,7 +135,7 @@ void rgb_matrix_indicators_user(void) { case _RAISE: isSneaking = true; - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { switch (i) { case 7: // B key off case 8: // G key off @@ -169,7 +169,7 @@ void rgb_matrix_indicators_user(void) { case _LOWER: isSneaking = true; - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { switch (i) { case 7: // Delete key case 51: // ESC key @@ -179,7 +179,7 @@ void rgb_matrix_indicators_user(void) { case 15: // C key off case 20: // X key off case 21: // Z key off - + case 26: // shift key off case 52 ... 53: // right column off rgb_matrix_set_color(i, 0, 0, 0); // off @@ -210,7 +210,7 @@ void rgb_matrix_indicators_user(void) { case _NUMP: isSneaking = true; - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { switch (i) { case 12: // RGB speed- case 15: // RGB brigthness- @@ -256,6 +256,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(14, 0, 255, 0); // Green layer active } } + return false; }; #endif @@ -273,7 +274,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { # define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024 /* timers */ uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; /* current frame */ uint8_t current_frame = 0; /* status variables */ @@ -351,19 +351,19 @@ static void render_luna(int LUNA_X, int LUNA_Y) { current_frame = (current_frame + 1) % 2; /* draw */ if (isBarking) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(bark[current_frame], ANIM_SIZE); } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } /* animation timer */ diff --git a/keyboards/crkbd/keymaps/crkdves/config.h b/keyboards/crkbd/keymaps/crkdves/config.h index 4e5df394ac..52d4fdd93a 100644 --- a/keyboards/crkbd/keymaps/crkdves/config.h +++ b/keyboards/crkbd/keymaps/crkdves/config.h @@ -53,10 +53,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/crkqwes/config.h b/keyboards/crkbd/keymaps/crkqwes/config.h index 1ff720909c..a095f08760 100644 --- a/keyboards/crkbd/keymaps/crkqwes/config.h +++ b/keyboards/crkbd/keymaps/crkqwes/config.h @@ -32,8 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #undef USE_I2C #undef SSD1306OLED -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 // #define RETRO_TAPPING @@ -64,10 +62,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/curry/config.h b/keyboards/crkbd/keymaps/curry/config.h index ba9c69ed26..a82b4439cf 100644 --- a/keyboards/crkbd/keymaps/curry/config.h +++ b/keyboards/crkbd/keymaps/curry/config.h @@ -1,7 +1,6 @@ #pragma once #define EE_HANDS -#define USE_SERIAL_PD2 #define OLED_DISABLE_TIMEOUT #define TAPPING_TERM_PER_KEY diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h index df5e0611e1..9fb4348802 100644 --- a/keyboards/crkbd/keymaps/davidrambo/config.h +++ b/keyboards/crkbd/keymaps/davidrambo/config.h @@ -38,10 +38,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50 // # 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_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_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 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/devdev/config.h b/keyboards/crkbd/keymaps/devdev/config.h index 4848af2245..8261ef6268 100644 --- a/keyboards/crkbd/keymaps/devdev/config.h +++ b/keyboards/crkbd/keymaps/devdev/config.h @@ -70,10 +70,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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/crkbd/keymaps/dsanchezseco/config.h b/keyboards/crkbd/keymaps/dsanchezseco/config.h index bece69ba67..4fd8fc94c4 100644 --- a/keyboards/crkbd/keymaps/dsanchezseco/config.h +++ b/keyboards/crkbd/keymaps/dsanchezseco/config.h @@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -//#define USE_MATRIX_I2C -#define USE_SERIAL - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h index 2a35f60dad..f7144fb008 100644 --- a/keyboards/crkbd/keymaps/gotham/config.h +++ b/keyboards/crkbd/keymaps/gotham/config.h @@ -3,8 +3,6 @@ #define EE_HANDS #define SPLIT_USB_DETECT -#define USE_SERIAL_PD2 - #define IGNORE_MOD_TAP_INTERRUPT #define PERMISSIVE_HOLD #define TAPPING_TERM 250 diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c index c4ac5e736c..c285a37c5b 100644 --- a/keyboards/crkbd/keymaps/gotham/oled.c +++ b/keyboards/crkbd/keymaps/gotham/oled.c @@ -176,7 +176,7 @@ void add_keylog(uint16_t keycode) { keylog_str[i] = keylog_str[i - 1]; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); } } diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h index 106e7535e3..2a161236eb 100644 --- a/keyboards/crkbd/keymaps/hvp/config.h +++ b/keyboards/crkbd/keymaps/hvp/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - //#define TAPPING_FORCE_HOLD //#define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h index e5c2029a52..a0b7c6ff30 100644 --- a/keyboards/crkbd/keymaps/jarred/config.h +++ b/keyboards/crkbd/keymaps/jarred/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - //#define TAPPING_FORCE_HOLD //#define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/joe_scotto/config.h b/keyboards/crkbd/keymaps/joe_scotto/config.h index e38d4a9183..c76937eae4 100644 --- a/keyboards/crkbd/keymaps/joe_scotto/config.h +++ b/keyboards/crkbd/keymaps/joe_scotto/config.h @@ -61,6 +61,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -#define USE_SERIAL - -#define TAPPING_TERM 50
\ No newline at end of file +#define TAPPING_TERM 50 diff --git a/keyboards/crkbd/keymaps/julian_turner/config.h b/keyboards/crkbd/keymaps/julian_turner/config.h index cf3e80b23e..fbe5277c40 100644 --- a/keyboards/crkbd/keymaps/julian_turner/config.h +++ b/keyboards/crkbd/keymaps/julian_turner/config.h @@ -17,7 +17,7 @@ #pragma once #undef MANUFACTURER -#define MANUFACTURER Trner +#define MANUFACTURER "Trner" /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h index 2801436709..03bdbf51ba 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/config.h +++ b/keyboards/crkbd/keymaps/kidbrazil/config.h @@ -29,12 +29,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 150 #undef PRODUCT -#define PRODUCT CRKBD Loose Transistor Ed. +#define PRODUCT "CRKBD Loose Transistor Ed." #ifdef RGBLIGHT_ENABLE //#undef RGBLED_NUM @@ -52,10 +50,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE //# 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_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_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. #define RGB_MATRIX_HUE_STEP 4 diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h index 6cbe5befb8..086dd40925 100644 --- a/keyboards/crkbd/keymaps/madhatter/config.h +++ b/keyboards/crkbd/keymaps/madhatter/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h index 0c0819130f..174c678769 100644 --- a/keyboards/crkbd/keymaps/ninjonas/config.h +++ b/keyboards/crkbd/keymaps/ninjonas/config.h @@ -24,8 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MASTER_LEFT -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/crkbd/keymaps/oled_sample/config.h b/keyboards/crkbd/keymaps/oled_sample/config.h index 450653e46c..056eb32dd6 100644 --- a/keyboards/crkbd/keymaps/oled_sample/config.h +++ b/keyboards/crkbd/keymaps/oled_sample/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h index b7653e1c9a..734d41d084 100644 --- a/keyboards/crkbd/keymaps/ollyhayes/config.h +++ b/keyboards/crkbd/keymaps/ollyhayes/config.h @@ -30,10 +30,9 @@ #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/rjhilgefort/config.h b/keyboards/crkbd/keymaps/rjhilgefort/config.h index cbc7eb03d8..727167b5e2 100644 --- a/keyboards/crkbd/keymaps/rjhilgefort/config.h +++ b/keyboards/crkbd/keymaps/rjhilgefort/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 // 200 is default diff --git a/keyboards/crkbd/keymaps/rmeli/keymap.c b/keyboards/crkbd/keymaps/rmeli/keymap.c index f8d298bbdd..3dcd0b3ed9 100644 --- a/keyboards/crkbd/keymaps/rmeli/keymap.c +++ b/keyboards/crkbd/keymaps/rmeli/keymap.c @@ -29,12 +29,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // https://github.com/foostan/crkbd/blob/main/corne-classic/doc/buildguide_en.md // Change LED color to red when CAPS LOCK is active -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(26, 255, 0, 0); // Only works with SPLIT_LED_STATE_ENABLE rgb_matrix_set_color(53, 255, 0, 0); } + return false; } // + ---- + @@ -128,4 +129,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______ //|--------------------------| |--------------------------| ) -};
\ No newline at end of file +}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h index 994aef314e..95485797cc 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/config.h +++ b/keyboards/crkbd/keymaps/rpbaptist/config.h @@ -29,8 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define OLED_TIMEOUT 600000 #endif -#define USE_SERIAL_PD2 - // #define FORCE_NKRO #define QMK_ESC_OUTPUT F4 // usually COL @@ -131,7 +129,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define NO_ACTION_ONESHOT #undef PRODUCT -#define PRODUCT Corne Keyboard +#define PRODUCT "Corne Keyboard" #define LCPC_KEYS KC_LCTL, KC_LSFT, KC_9 #define RCPC_KEYS KC_RCTL, KC_RSFT, KC_0 diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c index a0186bf28d..c96adfcc0b 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c +++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c @@ -324,7 +324,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_ } RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } @@ -342,7 +342,7 @@ void check_default_layer(uint8_t type) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if ( user_config.rgb_layer_change && rgb_matrix_config.enable && (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode) @@ -370,6 +370,7 @@ void rgb_matrix_indicators_user(void) { } } } + return false; } void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) { diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h index 60f33e7585..f40e008034 100644 --- a/keyboards/crkbd/keymaps/rs/config.h +++ b/keyboards/crkbd/keymaps/rs/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 300 diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h index 575e39892d..7826ab72ec 100644 --- a/keyboards/crkbd/keymaps/snowe/config.h +++ b/keyboards/crkbd/keymaps/snowe/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h index 2d2b394369..07b3a9db12 100644 --- a/keyboards/crkbd/keymaps/soundmonster/config.h +++ b/keyboards/crkbd/keymaps/soundmonster/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - // #define TAPPING_FORCE_HOLD #define TAPPING_TERM 150 #define RETRO_TAPPING @@ -60,10 +58,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h index 10b89aede5..4916668244 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h +++ b/keyboards/crkbd/keymaps/thumb_ctrl/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 150 diff --git a/keyboards/crkbd/keymaps/thunderbird2086/oled.c b/keyboards/crkbd/keymaps/thunderbird2086/oled.c index bee9bc26de..108f3e0cdd 100644 --- a/keyboards/crkbd/keymaps/thunderbird2086/oled.c +++ b/keyboards/crkbd/keymaps/thunderbird2086/oled.c @@ -189,7 +189,7 @@ void add_keylog(uint16_t keycode) { keylog_str[i] = keylog_str[i - 1]; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); } } diff --git a/keyboards/crkbd/keymaps/toinux/config.h b/keyboards/crkbd/keymaps/toinux/config.h index e7a18800d8..2ee5a4e182 100644 --- a/keyboards/crkbd/keymaps/toinux/config.h +++ b/keyboards/crkbd/keymaps/toinux/config.h @@ -51,10 +51,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/toinux/rgb.c b/keyboards/crkbd/keymaps/toinux/rgb.c index 2c5de3b0a7..9a7feabad9 100644 --- a/keyboards/crkbd/keymaps/toinux/rgb.c +++ b/keyboards/crkbd/keymaps/toinux/rgb.c @@ -24,7 +24,7 @@ static const char nav_leds[] = {38, 43, 44, 46}; static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40}; static const char mouse_leds[] = {11, 16, 17, 19}; -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(26, RGB_RED); } @@ -65,4 +65,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; } + return false; } diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h index 94494bafd8..b6f4420056 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h @@ -5,8 +5,6 @@ #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h index 8cbd8e9078..1cd6ead191 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h @@ -12,8 +12,6 @@ /* Select hand configuration */ #define MASTER_RIGHT -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 300 diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h index 7a4596f3b2..79e4eadabb 100644 --- a/keyboards/crkbd/keymaps/vxid/config.h +++ b/keyboards/crkbd/keymaps/vxid/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/crkbd/keymaps/xyverz/config.h b/keyboards/crkbd/keymaps/xyverz/config.h index 3390396807..5ac13a6646 100644 --- a/keyboards/crkbd/keymaps/xyverz/config.h +++ b/keyboards/crkbd/keymaps/xyverz/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 300 #define PERMISSIVE_HOLD @@ -50,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE #define RGBLED_NUM 54 // Number of LEDs - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
\ No newline at end of file +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/r2g/config.h b/keyboards/crkbd/r2g/config.h index e451612484..450b62cd8f 100644 --- a/keyboards/crkbd/r2g/config.h +++ b/keyboards/crkbd/r2g/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* ws2812 RGB LED */ @@ -45,7 +44,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # define RGBLED_NUM 54 // Number of LEDs -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT \ { 27, 27 } # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md index 6c0e859663..75267463b2 100644 --- a/keyboards/crkbd/readme.md +++ b/keyboards/crkbd/readme.md @@ -43,10 +43,9 @@ 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_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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h index 9f196a7166..c764f1a40e 100644 --- a/keyboards/crkbd/rev1/config.h +++ b/keyboards/crkbd/rev1/config.h @@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* ws2812 RGB LED */ @@ -33,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # define RGBLED_NUM 54 // Number of LEDs -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT \ { 27, 27 } # define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c b/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c index 4bf316c578..468a16f92d 100644 --- a/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c +++ b/keyboards/cutie_club/borsdorf/keymaps/zyber/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT ), [1] = LAYOUT_rshift( - RESET, 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_VOLU, + 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_DEL, KC_VOLU, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dekunukem/duckypad/config.h b/keyboards/dekunukem/duckypad/config.h index ca339f6e1b..2a92a2b205 100644 --- a/keyboards/dekunukem/duckypad/config.h +++ b/keyboards/dekunukem/duckypad/config.h @@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN A10 #define RGBLED_NUM 15 -#define DRIVER_LED_TOTAL 15 +#define RGB_MATRIX_LED_COUNT 15 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/dekunukem/duckypad/keymaps/default/config.h b/keyboards/dekunukem/duckypad/keymaps/default/config.h index 9d26b71162..2fe4c6f15b 100644 --- a/keyboards/dekunukem/duckypad/keymaps/default/config.h +++ b/keyboards/dekunukem/duckypad/keymaps/default/config.h @@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define NO_ACTION_ONESHOT #define OLED_TIMEOUT 90000 -#define RGB_DISABLE_TIMEOUT 90000 +#define RGB_MATRIX_TIMEOUT 90000 #define MT_0_0 " 1 " #define MT_0_1 " 2 " diff --git a/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h b/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h index 7d0bbb1341..bb66e1b754 100644 --- a/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h +++ b/keyboards/dekunukem/duckypad/keymaps/m4cs/config.h @@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define NO_ACTION_ONESHOT #define OLED_TIMEOUT 90000 -#define RGB_DISABLE_TIMEOUT 90000 +#define RGB_MATRIX_TIMEOUT 90000 #define MT_0_0 " prev " #define MT_0_1 " pl/pa" diff --git a/keyboards/deltasplit75/keymaps/default/config.h b/keyboards/deltasplit75/keymaps/default/config.h index 307531da66..7a05469173 100644 --- a/keyboards/deltasplit75/keymaps/default/config.h +++ b/keyboards/deltasplit75/keymaps/default/config.h @@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/deltasplit75/keymaps/itsaferbie/config.h b/keyboards/deltasplit75/keymaps/itsaferbie/config.h index 24c3d5be23..f837c90ad4 100644 --- a/keyboards/deltasplit75/keymaps/itsaferbie/config.h +++ b/keyboards/deltasplit75/keymaps/itsaferbie/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/deltasplit75/keymaps/mbsurfer/config.h b/keyboards/deltasplit75/keymaps/mbsurfer/config.h index f14678a223..2a2e4ece9f 100644 --- a/keyboards/deltasplit75/keymaps/mbsurfer/config.h +++ b/keyboards/deltasplit75/keymaps/mbsurfer/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/deltasplit75/keymaps/protosplit/config.h b/keyboards/deltasplit75/keymaps/protosplit/config.h index f14678a223..2a2e4ece9f 100644 --- a/keyboards/deltasplit75/keymaps/protosplit/config.h +++ b/keyboards/deltasplit75/keymaps/protosplit/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h index 7e6743d677..2171f37241 100644 --- a/keyboards/dm9records/ergoinu/config.h +++ b/keyboards/dm9records/ergoinu/config.h @@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c index 819b76e739..e1ed2c0749 100644 --- a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c @@ -196,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_plaid_grid( QK_BOOT,LED_1, LED_2, LED_3, LED_4, LED_5,LED_6, LED_7, LED_8, LED_9, LED_0,KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) @@ -242,7 +242,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrecord_t *record) { switch (led_mode) { case LEDMODE_MODS: - for (int i=0;i<sizeof(modifiers) / sizeof(modifiers[0]);i++) { + for (int i=0;i<ARRAY_SIZE(modifiers);i++) { if(keycode==modifiers[i]) { if (record->event.pressed) { writePinHigh(led); diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c index d96c250609..aa0bd8b093 100644 --- a/keyboards/dm9records/plaid/keymaps/default/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c @@ -245,7 +245,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrecord_t *record) { switch (led_mode) { case LEDMODE_MODS: - for (int i=0;i<sizeof(modifiers) / sizeof(modifiers[0]);i++) { + for (int i=0;i<ARRAY_SIZE(modifiers);i++) { if(keycode==modifiers[i]) { if (record->event.pressed) { writePinHigh(led); diff --git a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c index f31b79c2c7..8327fe685d 100644 --- a/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/gipsy-king/keymap.c @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_plaid_grid( // F, media keys, reset KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, QK_BOOT, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, AUTOCLICK ) }; diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c b/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c index 354599f340..9a0e89bd89 100644 --- a/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/stephen-huan/keymap.c @@ -184,7 +184,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrecord_t *record) { switch (led_mode) { case LEDMODE_MODS: - for (int i=0;i<sizeof(modifiers) / sizeof(modifiers[0]);i++) { + for (int i=0;i<ARRAY_SIZE(modifiers);i++) { if(keycode==modifiers[i]) { if (record->event.pressed) { writePinHigh(led); diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c index 8c9af7202b..4722e41d07 100644 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c @@ -29,8 +29,6 @@ enum layer_base { enum custom_keycodes { HELLO = SAFE_RANGE, - CH_CPNL, // AL Control Panel - CH_ASST, // AL Context-aware Desktop Assistant CH_SUSP, // Suspend }; @@ -40,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { A(S(KC_N)), HELLO, CH_SUSP, TO(_MACRO), KC_MPRV, KC_MPLY, KC_MNXT, TO(_NUMPAD), C(A(KC_COMM)), KC_F5, C(A(KC_DOT)), TO(_RGB), - MO(_FN), CH_ASST, CH_CPNL), + MO(_FN), KC_ASST, KC_CPNL), [_NUMPAD] = LAYOUT( KC_KP_7, KC_KP_8, KC_KP_9, KC_TRNS, @@ -111,7 +109,7 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { }; // clang-format off -const uint8_t PROGMEM _n_rgb_layers = sizeof(_rgb_layers) / sizeof(_rgb_layers[0]) - 1; +const uint8_t PROGMEM _n_rgb_layers = ARRAY_SIZE(_rgb_layers) - 1; void clear_rgb_layers(void) { dprint("clear_rgb_layers()\n"); @@ -199,19 +197,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; // clang-format off - case CH_CPNL: host_consumer_send(AL_CONTROL_PANEL); return false; - case CH_ASST: host_consumer_send(AL_ASSISTANT); return false; case CH_SUSP: tap_code16(LGUI(LSFT(KC_L))); return true; case HELLO: SEND_STRING("Hello, world!"); return true; // clang-format on } - } else { - switch (keycode) { - case CH_CPNL: - case CH_ASST: - host_consumer_send(0); - return false; - } } return true; diff --git a/keyboards/doio/kb16/config.h b/keyboards/doio/kb16/config.h index 911ba9d3d5..1c37ece514 100644 --- a/keyboards/doio/kb16/config.h +++ b/keyboards/doio/kb16/config.h @@ -49,7 +49,7 @@ #ifdef RGB_MATRIX_ENABLE /* RGB Matrix config */ #define RGB_DI_PIN F6 - #define DRIVER_LED_TOTAL 16 + #define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_UP_DOWN diff --git a/keyboards/doro67/multi/keymaps/zyber/keymap.c b/keyboards/doro67/multi/keymaps/zyber/keymap.c index c0edcc3c8b..367a648436 100644 --- a/keyboards/doro67/multi/keymaps/zyber/keymap.c +++ b/keyboards/doro67/multi/keymaps/zyber/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_multi( - RESET, 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, , + 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_TRNS, , BL_TOGG, BL_STEP, BL_DEC, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/doro67/rgb/config.h b/keyboards/doro67/rgb/config.h index dfd0cde6d8..cc43b08fbf 100644 --- a/keyboards/doro67/rgb/config.h +++ b/keyboards/doro67/rgb/config.h @@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The pin connected to the data pin of the LEDs #define RGB_DI_PIN B7 // The number of LEDs connected -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h index ad7fee9009..d5198176b7 100644 --- a/keyboards/dp60/config.h +++ b/keyboards/dp60/config.h @@ -50,7 +50,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 36 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // 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/dp60/dp60.c b/keyboards/dp60/dp60.c index 16aac75fa5..5612568779 100644 --- a/keyboards/dp60/dp60.c +++ b/keyboards/dp60/dp60.c @@ -17,7 +17,7 @@ #include "dp60.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h index c4a3f82117..3570fb41e9 100644 --- a/keyboards/draculad/config.h +++ b/keyboards/draculad/config.h @@ -29,8 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DEBOUNCE 5 - -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 #ifdef OLED_ENABLE diff --git a/keyboards/drop/sense75/config.h b/keyboards/drop/sense75/config.h index b0196d0c44..53fea6b103 100644 --- a/keyboards/drop/sense75/config.h +++ b/keyboards/drop/sense75/config.h @@ -13,7 +13,7 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_ADDR_2 0b1011111 # define DRIVER_COUNT 2 -# define DRIVER_LED_TOTAL (58 + 53) +# define RGB_MATRIX_LED_COUNT (58 + 53) # define ISSI_PWM_FREQUENCY 0b010 // 26k # define RGB_DISABLE_TIMEOUT 0 diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c index 05b351f865..a9711953de 100644 --- a/keyboards/drop/sense75/keymaps/default/keymap.c +++ b/keyboards/drop/sense75/keymaps/default/keymap.c @@ -45,8 +45,9 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { }; #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(62, RGB_WHITE); } + return false; } diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c index eb8b6b1f4b..cb25f5cc2d 100644 --- a/keyboards/drop/sense75/keymaps/default_md/keymap.c +++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c @@ -107,7 +107,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(62, RGB_WHITE); } else if ((rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR)) == 0) { @@ -133,4 +133,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(55, RGB_OFF); rgb_matrix_set_color(59, RGB_OFF); } + return false; } diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c index 8087f5c72e..a8cb28b054 100644 --- a/keyboards/drop/sense75/sense75.c +++ b/keyboards/drop/sense75/sense75.c @@ -3,7 +3,7 @@ #include "rgb_matrix.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { // top underglow sd2-sd17 { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, diff --git a/keyboards/dtisaac/dosa40rgb/config.h b/keyboards/dtisaac/dosa40rgb/config.h index 2651a4d9b5..72ff80088f 100644 --- a/keyboards/dtisaac/dosa40rgb/config.h +++ b/keyboards/dtisaac/dosa40rgb/config.h @@ -41,11 +41,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE #define RGB_DI_PIN D0 -#define DRIVER_LED_TOTAL 42 +#define RGB_MATRIX_LED_COUNT 42 #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_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_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/dtisaac/dosa40rgb/keymaps/default/keymap.c b/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c index c01d4ac7c8..9c27225bc2 100644 --- a/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c +++ b/keyboards/dtisaac/dosa40rgb/keymaps/default/keymap.c @@ -52,23 +52,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { - rgb_matrix_set_color(22, 200, 200, 200); - } - if (IS_LAYER_ON(_L1)) - { - rgb_matrix_set_color(35, 0, 200, 200); - } - if (IS_LAYER_ON(_L2)) - { - rgb_matrix_set_color(22, 200, 0, 200); - } +bool rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(22, 200, 200, 200); + } + if (IS_LAYER_ON(_L1)) { + rgb_matrix_set_color(35, 0, 200, 200); + } + if (IS_LAYER_ON(_L2)) { + rgb_matrix_set_color(22, 200, 0, 200); + } + return false; } void keyboard_pre_init_user(void) { setPinOutput(B5); writePinLow(B5); -}
\ No newline at end of file +} diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h index bfb3f2ba9d..70247fd745 100644 --- a/keyboards/durgod/dgk6x/config.h +++ b/keyboards/durgod/dgk6x/config.h @@ -62,7 +62,7 @@ #define DRIVER_ADDR_2 0b1010011 #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) /* I2C Alternate function settings */ #define I2C1_SCL_PAL_MODE 1 diff --git a/keyboards/durgod/dgk6x/dgk6x.c b/keyboards/durgod/dgk6x/dgk6x.c index d7e871327a..49496689f2 100644 --- a/keyboards/durgod/dgk6x/dgk6x.c +++ b/keyboards/durgod/dgk6x/dgk6x.c @@ -1,4 +1,4 @@ -/* Copyright 2021 Jessica Sullivan and Don Kjer +/* Copyright 2021 Jessica Sullivan and Don Kjer * * 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 @@ -60,14 +60,14 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { #ifdef RGB_MATRIX_ENABLE -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF); } + return true; } #endif /* RGB_MATRIX_ENABLE */ - - diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c index 86aef1bced..dac96e04f3 100644 --- a/keyboards/durgod/dgk6x/galaxy/galaxy.c +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/dgk6x/hades/hades.c b/keyboards/durgod/dgk6x/hades/hades.c index 2f2f9e650f..3d39f6d1ec 100644 --- a/keyboards/durgod/dgk6x/hades/hades.c +++ b/keyboards/durgod/dgk6x/hades/hades.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 0b7fbd12f3..1f26191a91 100644 --- a/keyboards/durgod/dgk6x/venus/venus.c +++ b/keyboards/durgod/dgk6x/venus/venus.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/durgod/k310/base/config.h b/keyboards/durgod/k310/base/config.h new file mode 100644 index 0000000000..018afb342d --- /dev/null +++ b/keyboards/durgod/k310/base/config.h @@ -0,0 +1,56 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "config_common.h" + +#define WAIT_US_TIMER GPTD3 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 } +#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +// Dynamic EEPROM +// Something sensible or else VIA may crash +// Users may enable more if they wish +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Bootmagic Lite key configuration */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* LED indicator pins */ +#define LED_NUM_LOCK_PIN C8 +#define LED_CAPS_LOCK_PIN C9 +#define LED_SCROLL_LOCK_PIN A8 +#define LED_WIN_LOCK_PIN A9 +#define LED_MR_LOCK_PIN A10 +#define LED_PIN_ON_STATE 0 + +/* Original hardware "reset" button on pin D2 */ +#define HARDWARE_RESET_PIN D2 diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md deleted file mode 100644 index 1f818dacc9..0000000000 --- a/keyboards/durgod/k310/base/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Taurus K310 - -Base Model - no backlight leds - -See: [K310](../../k3x0/k310/base/readme.md) - diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk index ff432cc4aa..5c07a0fa71 100644 --- a/keyboards/durgod/k310/base/rules.mk +++ b/keyboards/durgod/k310/base/rules.mk @@ -1 +1,23 @@ -DEFAULT_FOLDER=durgod/k3x0/k310/base +# MCU name +# Actually F070, but close enough +MCU = STM32F072 +BOARD = DURGOD_STM32_F070 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # 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 +LTO_ENABLE = yes + +LAYOUTS = fullsize_ansi fullsize_iso diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k310/halconf.h index d2a9d8c7c0..d2a9d8c7c0 100644 --- a/keyboards/durgod/k3x0/halconf.h +++ b/keyboards/durgod/k310/halconf.h diff --git a/keyboards/durgod/k3x0/k310/info.json b/keyboards/durgod/k310/info.json index 06e935484e..06e935484e 100644 --- a/keyboards/durgod/k3x0/k310/info.json +++ b/keyboards/durgod/k310/info.json diff --git a/keyboards/durgod/k3x0/k3x0.c b/keyboards/durgod/k310/k310.c index d12b46bc51..fc41ee5657 100644 --- a/keyboards/durgod/k3x0/k3x0.c +++ b/keyboards/durgod/k310/k310.c @@ -15,7 +15,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "k3x0.h" +#include "k310.h" #include <ch.h> #include <hal.h> diff --git a/keyboards/durgod/k3x0/k310/k310.h b/keyboards/durgod/k310/k310.h index 2d82ee1550..e106c8dbe6 100644 --- a/keyboards/durgod/k3x0/k310/k310.h +++ b/keyboards/durgod/k310/k310.h @@ -17,6 +17,8 @@ #pragma once +#include "quantum.h" + #define XXX KC_NO // This a shortcut to help you visually see your layout. @@ -76,3 +78,23 @@ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ } + +#ifndef WINLOCK_DISABLED +// Define the TGUI key here so it is available in QMK configurator +enum K3x0_keycodes { +#ifdef VIA_ENABLE + KC_TGUI = USER00, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE = SAFE_RANGE +#else + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE +#endif +}; + +#undef SAFE_RANGE +#define SAFE_RANGE NEW_SAFE_RANGE +#endif /* WINLOCK_DISABLED */ + +/* Function Prototype */ +void off_all_leds(void); +void on_all_leds(void); diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k310/keymaps/chimera/keymap.c index 5fa0d5eb4c..5fa0d5eb4c 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c +++ b/keyboards/durgod/k310/keymaps/chimera/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/chimera/readme.md b/keyboards/durgod/k310/keymaps/chimera/readme.md index eb9a3ea5f3..eb9a3ea5f3 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/readme.md +++ b/keyboards/durgod/k310/keymaps/chimera/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/chimera/rules.mk b/keyboards/durgod/k310/keymaps/chimera/rules.mk index 19843e8a20..19843e8a20 100644 --- a/keyboards/durgod/k3x0/keymaps/chimera/rules.mk +++ b/keyboards/durgod/k310/keymaps/chimera/rules.mk diff --git a/keyboards/durgod/k3x0/keymaps/default/keymap.json b/keyboards/durgod/k310/keymaps/default/keymap.json index 507b5c909c..bd017f0e9d 100644 --- a/keyboards/durgod/k3x0/keymaps/default/keymap.json +++ b/keyboards/durgod/k310/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/k3x0", + "keyboard": "durgod/k310/base", "keymap": "default", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/durgod/k3x0/keymaps/default/readme.md b/keyboards/durgod/k310/keymaps/default/readme.md index 952b1912ce..952b1912ce 100644 --- a/keyboards/durgod/k3x0/keymaps/default/readme.md +++ b/keyboards/durgod/k310/keymaps/default/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json b/keyboards/durgod/k310/keymaps/default_mac/keymap.json index acf221935e..26f8aea7f1 100644 --- a/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json +++ b/keyboards/durgod/k310/keymaps/default_mac/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/k3x0", + "keyboard": "durgod/k310/base", "keymap": "default_mac", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/durgod/k3x0/keymaps/default_mac/readme.md b/keyboards/durgod/k310/keymaps/default_mac/readme.md index 2765f14f90..2765f14f90 100644 --- a/keyboards/durgod/k3x0/keymaps/default_mac/readme.md +++ b/keyboards/durgod/k310/keymaps/default_mac/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c b/keyboards/durgod/k310/keymaps/typhon/keymap.c index 21daf5687a..21daf5687a 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c +++ b/keyboards/durgod/k310/keymaps/typhon/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/typhon/readme.md b/keyboards/durgod/k310/keymaps/typhon/readme.md index 9ddef43aa5..9ddef43aa5 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/readme.md +++ b/keyboards/durgod/k310/keymaps/typhon/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk b/keyboards/durgod/k310/keymaps/typhon/rules.mk index 437d8205c7..437d8205c7 100644 --- a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk +++ b/keyboards/durgod/k310/keymaps/typhon/rules.mk diff --git a/keyboards/durgod/k3x0/keymaps/via/keymap.c b/keyboards/durgod/k310/keymaps/via/keymap.c index 169ee2b586..169ee2b586 100644 --- a/keyboards/durgod/k3x0/keymaps/via/keymap.c +++ b/keyboards/durgod/k310/keymaps/via/keymap.c diff --git a/keyboards/durgod/k3x0/keymaps/via/readme.md b/keyboards/durgod/k310/keymaps/via/readme.md index ffa1c4ce0a..ffa1c4ce0a 100644 --- a/keyboards/durgod/k3x0/keymaps/via/readme.md +++ b/keyboards/durgod/k310/keymaps/via/readme.md diff --git a/keyboards/durgod/k3x0/keymaps/via/rules.mk b/keyboards/durgod/k310/keymaps/via/rules.mk index 1e5b99807c..1e5b99807c 100644 --- a/keyboards/durgod/k3x0/keymaps/via/rules.mk +++ b/keyboards/durgod/k310/keymaps/via/rules.mk diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md index 234fcc875d..1f39f79513 100644 --- a/keyboards/durgod/k310/readme.md +++ b/keyboards/durgod/k310/readme.md @@ -1,4 +1,29 @@ -# K310 +# Taurus K310 -See: [K310](../k3x0/k310/readme.md) +This code is shared between all K310 variants. Currently only the base model with no backlight is supported. +This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key +keyboard without backlight. This supports both the ANSI and ISO variants. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: [Durgod Taurus K310 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Durgod.com Product Page") +* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3) + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/k310/base:default + +Flashing example for this keyboard: + + make durgod/k310/base: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../k3x0/readme.md#initial-flash) diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk deleted file mode 100644 index e200539b26..0000000000 --- a/keyboards/durgod/k310/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER=durgod/k3x0/k310 diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k320/base/config.h index 0f2e01cfc1..5f64a04f9a 100644 --- a/keyboards/durgod/k3x0/config.h +++ b/keyboards/durgod/k320/base/config.h @@ -21,9 +21,11 @@ #define WAIT_US_TIMER GPTD3 -/* key matrix size (rows in specific keyboard variant) */ +/* key matrix size */ +#define MATRIX_ROWS 7 #define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 } #define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } /* COL2ROW, ROW2COL*/ diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md deleted file mode 100644 index 8b74e28e54..0000000000 --- a/keyboards/durgod/k320/base/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# Taurus K320 - -Base Model - no backlight leds - -See: [K320](../../k3x0/k320/base/readme.md) - diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk index de33470cc0..37896a20ce 100644 --- a/keyboards/durgod/k320/base/rules.mk +++ b/keyboards/durgod/k320/base/rules.mk @@ -1 +1,23 @@ -DEFAULT_FOLDER=durgod/k3x0/k320/base +# MCU name +# Actually F070, but close enough +MCU = STM32F072 +BOARD = DURGOD_STM32_F070 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # 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 +LTO_ENABLE = yes + +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/durgod/k3x0/k320/base/config.h b/keyboards/durgod/k320/halconf.h index 2ccb2f2f0c..d2a9d8c7c0 100644 --- a/keyboards/durgod/k3x0/k320/base/config.h +++ b/keyboards/durgod/k320/halconf.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Don Kjer +/* Copyright 2021 Simon Arlott * * 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,4 +16,9 @@ #pragma once -#include "config_common.h" +#define HAL_USE_PAL TRUE +#define PAL_USE_CALLBACKS TRUE + +#define HAL_USE_GPT TRUE + +#include_next <halconf.h> diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k320/info.json index 0386ef7709..4d239e05ac 100644 --- a/keyboards/durgod/k3x0/k320/info.json +++ b/keyboards/durgod/k320/info.json @@ -202,104 +202,6 @@ { "label": "\u2192", "x": 17.25, "y": 5.5 } ] }, - "LAYOUT_tkl": { - "layout": [ - { "label": "Esc", "x": 0, "y": 0 }, - { "label": "F1", "x": 2, "y": 0 }, - { "label": "F2", "x": 3, "y": 0 }, - { "label": "F3", "x": 4, "y": 0 }, - { "label": "F4", "x": 5, "y": 0 }, - { "label": "F5", "x": 6.5, "y": 0 }, - { "label": "F6", "x": 7.5, "y": 0 }, - { "label": "F7", "x": 8.5, "y": 0 }, - { "label": "F8", "x": 9.5, "y": 0 }, - { "label": "F9", "x": 11, "y": 0 }, - { "label": "F10", "x": 12, "y": 0 }, - { "label": "F11", "x": 13, "y": 0 }, - { "label": "F12", "x": 14, "y": 0 }, - { "label": "PrtSc", "x": 15.25, "y": 0 }, - { "label": "Scroll Lock", "x": 16.25, "y": 0 }, - { "label": "Pause", "x": 17.25, "y": 0 }, - - { "label": "~", "x": 0, "y": 1.5 }, - { "label": "!", "x": 1, "y": 1.5 }, - { "label": "@", "x": 2, "y": 1.5 }, - { "label": "#", "x": 3, "y": 1.5 }, - { "label": "$", "x": 4, "y": 1.5 }, - { "label": "%", "x": 5, "y": 1.5 }, - { "label": "^", "x": 6, "y": 1.5 }, - { "label": "&", "x": 7, "y": 1.5 }, - { "label": "*", "x": 8, "y": 1.5 }, - { "label": "(", "x": 9, "y": 1.5 }, - { "label": ")", "x": 10, "y": 1.5 }, - { "label": "_", "x": 11, "y": 1.5 }, - { "label": "+", "x": 12, "y": 1.5 }, - { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, - { "label": "Insert", "x": 15.25, "y": 1.5 }, - { "label": "Home", "x": 16.25, "y": 1.5 }, - { "label": "PgUp", "x": 17.25, "y": 1.5 }, - - { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, - { "label": "Q", "x": 1.5, "y": 2.5 }, - { "label": "W", "x": 2.5, "y": 2.5 }, - { "label": "E", "x": 3.5, "y": 2.5 }, - { "label": "R", "x": 4.5, "y": 2.5 }, - { "label": "T", "x": 5.5, "y": 2.5 }, - { "label": "Y", "x": 6.5, "y": 2.5 }, - { "label": "U", "x": 7.5, "y": 2.5 }, - { "label": "I", "x": 8.5, "y": 2.5 }, - { "label": "O", "x": 9.5, "y": 2.5 }, - { "label": "P", "x": 10.5, "y": 2.5 }, - { "label": "{", "x": 11.5, "y": 2.5 }, - { "label": "}", "x": 12.5, "y": 2.5 }, - { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, - { "label": "Delete", "x": 15.25, "y": 2.5 }, - { "label": "End", "x": 16.25, "y": 2.5 }, - { "label": "PgDn", "x": 17.25, "y": 2.5 }, - - { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, - { "label": "A", "x": 1.75, "y": 3.5 }, - { "label": "S", "x": 2.75, "y": 3.5 }, - { "label": "D", "x": 3.75, "y": 3.5 }, - { "label": "F", "x": 4.75, "y": 3.5 }, - { "label": "G", "x": 5.75, "y": 3.5 }, - { "label": "H", "x": 6.75, "y": 3.5 }, - { "label": "J", "x": 7.75, "y": 3.5 }, - { "label": "K", "x": 8.75, "y": 3.5 }, - { "label": "L", "x": 9.75, "y": 3.5 }, - { "label": ":", "x": 10.75, "y": 3.5 }, - { "label": "\"", "x": 11.75, "y": 3.5 }, - { "label": "#", "x": 12.75, "y": 3.5 }, - { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, - - { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, - { "label": "\\", "x": 1.25, "y": 4.5 }, - { "label": "Z", "x": 2.25, "y": 4.5 }, - { "label": "X", "x": 3.25, "y": 4.5 }, - { "label": "C", "x": 4.25, "y": 4.5 }, - { "label": "V", "x": 5.25, "y": 4.5 }, - { "label": "B", "x": 6.25, "y": 4.5 }, - { "label": "N", "x": 7.25, "y": 4.5 }, - { "label": "M", "x": 8.25, "y": 4.5 }, - { "label": "<", "x": 9.25, "y": 4.5 }, - { "label": ">", "x": 10.25, "y": 4.5 }, - { "label": "?", "x": 11.25, "y": 4.5 }, - { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, - { "label": "\u2191", "x": 16.25, "y": 4.5 }, - - { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, - { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, - { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, - { "x": 3.75, "y": 5.5, "w": 6.25 }, - { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, - { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, - { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, - { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, - { "label": "\u2190", "x": 15.25, "y": 5.5 }, - { "label": "\u2193", "x": 16.25, "y": 5.5 }, - { "label": "\u2192", "x": 17.25, "y": 5.5 } - ] - }, "LAYOUT_all": { "layout": [ { "label": "Esc", "x": 0, "y": 0 }, @@ -336,10 +238,6 @@ { "label": "Insert", "x": 15.25, "y": 1.5 }, { "label": "Home", "x": 16.25, "y": 1.5 }, { "label": "PgUp", "x": 17.25, "y": 1.5 }, - { "label": "Num Lock", "x": 18.5, "y": 1.5 }, - { "label": "/", "x": 19.5, "y": 1.5 }, - { "label": "*", "x": 20.5, "y": 1.5 }, - { "label": "-", "x": 21.5, "y": 1.5 }, { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, { "label": "Q", "x": 1.5, "y": 2.5 }, @@ -358,10 +256,6 @@ { "label": "Delete", "x": 15.25, "y": 2.5 }, { "label": "End", "x": 16.25, "y": 2.5 }, { "label": "PgDn", "x": 17.25, "y": 2.5 }, - { "label": "7", "x": 18.5, "y": 2.5 }, - { "label": "8", "x": 19.5, "y": 2.5 }, - { "label": "9", "x": 20.5, "y": 2.5 }, - { "label": "+", "x": 21.5, "y": 2.5, "h": 2 }, { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, { "label": "A", "x": 1.75, "y": 3.5 }, @@ -377,9 +271,6 @@ { "label": "\"", "x": 11.75, "y": 3.5 }, { "label": "#", "x": 12.75, "y": 3.5 }, { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, - { "label": "4", "x": 18.5, "y": 3.5 }, - { "label": "5", "x": 19.5, "y": 3.5 }, - { "label": "6", "x": 20.5, "y": 3.5 }, { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, { "label": "\\", "x": 1.25, "y": 4.5 }, @@ -395,10 +286,6 @@ { "label": "?", "x": 11.25, "y": 4.5 }, { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, { "label": "\u2191", "x": 16.25, "y": 4.5 }, - { "label": "1", "x": 18.5, "y": 4.5 }, - { "label": "2", "x": 19.5, "y": 4.5 }, - { "label": "3", "x": 20.5, "y": 4.5 }, - { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 }, { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, @@ -410,9 +297,7 @@ { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, { "label": "\u2190", "x": 15.25, "y": 5.5 }, { "label": "\u2193", "x": 16.25, "y": 5.5 }, - { "label": "\u2192", "x": 17.25, "y": 5.5 }, - { "label": "0", "x": 18.5, "y": 5.5, "w": 2 }, - { "label": ".", "x": 20.5, "y": 5.5 } + { "label": "\u2192", "x": 17.25, "y": 5.5 } ] } } diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c new file mode 100644 index 0000000000..3cb2fd7d67 --- /dev/null +++ b/keyboards/durgod/k320/k320.c @@ -0,0 +1,96 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "k320.h" +#include <ch.h> +#include <hal.h> + +/* Private Functions */ +void off_all_leds(void) { +#ifdef LED_NUM_LOCK_PIN + writePinHigh(LED_NUM_LOCK_PIN); +#endif + writePinHigh(LED_CAPS_LOCK_PIN); + writePinHigh(LED_SCROLL_LOCK_PIN); + writePinHigh(LED_WIN_LOCK_PIN); + writePinHigh(LED_MR_LOCK_PIN); +} + +void on_all_leds(void) { +#ifdef LED_NUM_LOCK_PIN + writePinLow(LED_NUM_LOCK_PIN); +#endif + writePinLow(LED_CAPS_LOCK_PIN); + writePinLow(LED_SCROLL_LOCK_PIN); + writePinLow(LED_WIN_LOCK_PIN); + writePinLow(LED_MR_LOCK_PIN); +} + +/* WinLock and MR LEDs are non-standard. Need to override led init */ +void led_init_ports(void) { +#ifdef LED_NUM_LOCK_PIN + setPinOutput(LED_NUM_LOCK_PIN); +#endif + setPinOutput(LED_CAPS_LOCK_PIN); + setPinOutput(LED_SCROLL_LOCK_PIN); + setPinOutput(LED_WIN_LOCK_PIN); + setPinOutput(LED_MR_LOCK_PIN); + off_all_leds(); +} + +#ifndef WINLOCK_DISABLED +static bool win_key_locked = false; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TGUI: + if (record->event.pressed) { + // Toggle GUI lock on key press + win_key_locked = !win_key_locked; + writePin(LED_WIN_LOCK_PIN, !win_key_locked); + } + break; + case KC_LGUI: + if (win_key_locked) { return false; } + break; + } + return process_record_user(keycode, record); +} +#endif /* WINLOCK_DISABLED */ + +#ifndef HW_RESET_PIN_DISABLED +static void hardware_reset_cb(void *arg) { + chSysLockFromISR(); + bootloader_jump(); + chSysUnlockFromISR(); +} +#endif + +void keyboard_pre_init_kb(void) { + setPinInputHigh(HARDWARE_RESET_PIN); + +#ifndef HW_RESET_PIN_DISABLED + /* Jump to bootloader when the hardware reset button is pressed */ + palEnablePadEvent(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), PAL_EVENT_MODE_FALLING_EDGE); + palSetPadCallback(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), hardware_reset_cb, NULL); + + /* The interrupt is edge-triggered so check that it's not already pressed */ + if (!readPin(HARDWARE_RESET_PIN)) { + bootloader_jump(); + } +#endif +} diff --git a/keyboards/durgod/k3x0/k320/k320.h b/keyboards/durgod/k320/k320.h index 23b48d0f39..67f0f5f214 100644 --- a/keyboards/durgod/k3x0/k320/k320.h +++ b/keyboards/durgod/k320/k320.h @@ -17,6 +17,8 @@ #pragma once +#include "quantum.h" + #define XXX KC_NO // This a shortcut to help you visually see your layout. @@ -56,7 +58,7 @@ } // This a shortcut to help you visually see your layout. -#define LAYOUT_tkl( \ +#define LAYOUT_all( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \ @@ -73,20 +75,23 @@ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ } -// This a shortcut to help you visually see your layout. -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F } \ -} + +#ifndef WINLOCK_DISABLED +// Define the TGUI key here so it is available in QMK configurator +enum K3x0_keycodes { +#ifdef VIA_ENABLE + KC_TGUI = USER00, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE = SAFE_RANGE +#else + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE +#endif +}; + +#undef SAFE_RANGE +#define SAFE_RANGE NEW_SAFE_RANGE +#endif /* WINLOCK_DISABLED */ + +/* Function Prototype */ +void off_all_leds(void); +void on_all_leds(void); diff --git a/keyboards/durgod/k320/keymaps/default/keymap.json b/keyboards/durgod/k320/keymaps/default/keymap.json new file mode 100644 index 0000000000..3dab704bcd --- /dev/null +++ b/keyboards/durgod/k320/keymaps/default/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "durgod/k320/base", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "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_SLCK", "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_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_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_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT" + ], + [ + "_______", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "KC_TGUI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ], + "author": "tylert", + "notes": "", + "version": 1 +} diff --git a/keyboards/durgod/k320/keymaps/default/readme.md b/keyboards/durgod/k320/keymaps/default/readme.md new file mode 100644 index 0000000000..952b1912ce --- /dev/null +++ b/keyboards/durgod/k320/keymaps/default/readme.md @@ -0,0 +1,16 @@ +# The default keymap for Durgod Taurus K3X0 (K310, K320, etc.) without backlight + +Supports both ANSI and ISO layouts. + +Layer 0 : Standard layout (Windows) + +Layer 1 : Media control and Windows lock key +- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 +- Fn + Windows to toggle Windows lock key functionality + +## Windows key lock + +You can hold down Fn + Windows key to disable the Windows key while in locked mode. +The 'Lock' LED indicates if the Windows key is locked. + +This is similar to the stock K310/K320 Windows key lock functionality. diff --git a/keyboards/durgod/k320/keymaps/default_mac/keymap.json b/keyboards/durgod/k320/keymaps/default_mac/keymap.json new file mode 100644 index 0000000000..a0e83def36 --- /dev/null +++ b/keyboards/durgod/k320/keymaps/default_mac/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "durgod/k310/base", + "keymap": "default_mac", + "layout": "LAYOUT_all", + "layers": [ + [ + "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_F14", "KC_F15", + "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_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_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_LCTL", "KC_LALT", "KC_LGUI", "KC_SPC", "KC_RGUI", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ], + "author":"AlCutter", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/k320/keymaps/default_mac/readme.md b/keyboards/durgod/k320/keymaps/default_mac/readme.md new file mode 100644 index 0000000000..2765f14f90 --- /dev/null +++ b/keyboards/durgod/k320/keymaps/default_mac/readme.md @@ -0,0 +1,8 @@ +# The default (Mac) keymap for Durgod Taurus K320. + +Supports both ANSI and ISO layouts. + +Layer 0 : Standard 87/88 keys TKL layout (Mac) + +Layer 1 : Media control +- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c index 866e522fc9..866e522fc9 100644 --- a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c +++ b/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md b/keyboards/durgod/k320/keymaps/kuenhlee/readme.md index 60925e61cf..60925e61cf 100644 --- a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md +++ b/keyboards/durgod/k320/keymaps/kuenhlee/readme.md diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk b/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk index b6a7e51c10..b6a7e51c10 100644 --- a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk +++ b/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk diff --git a/keyboards/durgod/k320/keymaps/via/keymap.c b/keyboards/durgod/k320/keymaps/via/keymap.c new file mode 100644 index 0000000000..993cbd8c22 --- /dev/null +++ b/keyboards/durgod/k320/keymaps/via/keymap.c @@ -0,0 +1,92 @@ +/* Copyright 2021 Maxime Coirault, Don Kjer, Tyler Tidman + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include QMK_KEYBOARD_H + +// Layer shorthand +enum _layer { + _BASE, + _FN, + _LAYER3, + _LAYER4 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BASE: Base Layer (Default Layer) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [_BASE] = LAYOUT_all( /* Base Layer */ + 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_SLCK, 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* Keymap _FN: Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ + * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [_FN] = LAYOUT_all( /* Function Layer */ + _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_LAYER3] = LAYOUT_all( /* Layer 3 */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_LAYER4] = LAYOUT_all( /* Layer 4 */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/durgod/k320/keymaps/via/readme.md b/keyboards/durgod/k320/keymaps/via/readme.md new file mode 100644 index 0000000000..ffa1c4ce0a --- /dev/null +++ b/keyboards/durgod/k320/keymaps/via/readme.md @@ -0,0 +1,6 @@ +# The via keymap for Durgod Taurus K310/K320. + +Layer 0 : Standard layout + +Layer 1 : Media control +- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 diff --git a/keyboards/durgod/k320/keymaps/via/rules.mk b/keyboards/durgod/k320/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/durgod/k320/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/durgod/k320/readme.md b/keyboards/durgod/k320/readme.md index b8ca5b6da1..ce5ae3211d 100644 --- a/keyboards/durgod/k320/readme.md +++ b/keyboards/durgod/k320/readme.md @@ -1,4 +1,29 @@ -# K320 +# Taurus K320 -See: [K320](../k3x0/k320/readme.md) +This code is shared between all K320 variants. Currently only the base model with no backlight is supported. +This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key) +keyboard without backlight. This supports both the ANSI and ISO variants. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: [Durgod Taurus K320 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=47&_l=en "Durgod.com Product Page") +* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM) + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/k3x0/k320/base:default + +Flashing example for this keyboard: + + make durgod/k3x0/k320/base: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../k3x0/readme.md#initial-flash) diff --git a/keyboards/durgod/k320/rules.mk b/keyboards/durgod/k320/rules.mk deleted file mode 100644 index d3f7b11945..0000000000 --- a/keyboards/durgod/k320/rules.mk +++ /dev/null @@ -1 +0,0 @@ -DEFAULT_FOLDER=durgod/k3x0/k320 diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k3x0/k310/base/config.h deleted file mode 100644 index 2ccb2f2f0c..0000000000 --- a/keyboards/durgod/k3x0/k310/base/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2021 Don Kjer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "config_common.h" diff --git a/keyboards/durgod/k3x0/k310/base/readme.md b/keyboards/durgod/k3x0/k310/base/readme.md deleted file mode 100644 index 9f46540436..0000000000 --- a/keyboards/durgod/k3x0/k310/base/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# K310 - -This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key -keyboard without backlight. This supports both the ANSI and ISO variants. - -* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) -* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6 -* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en - -## Instructions - -### Build - -Make command example for this keyboard (after setting up your build environment): - - make durgod/k310:default - -Flashing example for this keyboard: - - make durgod/k310: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). - -### Initial Flash - -Instructions for Flashing from initial Stock Firmware: -* [Initial Flashing](../../readme.md#initial-flash) diff --git a/keyboards/durgod/k3x0/k310/base/rules.mk b/keyboards/durgod/k3x0/k310/base/rules.mk deleted file mode 100644 index 323c12fc6e..0000000000 --- a/keyboards/durgod/k3x0/k310/base/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# see common rules.mk diff --git a/keyboards/durgod/k3x0/k310/readme.md b/keyboards/durgod/k3x0/k310/readme.md deleted file mode 100644 index bee903b88f..0000000000 --- a/keyboards/durgod/k3x0/k310/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Taurus K310 - -This code is shared between all K310 variants. Currently only the base model with no backlight is supported. - -* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) -* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6 -* Hardware Availability: Base https://www.durgod.com/page9?product_id=53&_l=en - -Instructions for building the K310 firmware can be found here: -* [No Backlight](base/readme.md) diff --git a/keyboards/durgod/k3x0/k310/rules.mk b/keyboards/durgod/k3x0/k310/rules.mk deleted file mode 100644 index 2df1aff9c8..0000000000 --- a/keyboards/durgod/k3x0/k310/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Default to the base model -DEFAULT_FOLDER=durgod/k3x0/k310/base - -LAYOUTS = fullsize_ansi fullsize_iso diff --git a/keyboards/durgod/k3x0/k320/base/readme.md b/keyboards/durgod/k3x0/k320/base/readme.md deleted file mode 100644 index 8f46cc122c..0000000000 --- a/keyboards/durgod/k3x0/k320/base/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -# K320 - -This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key) -keyboard without backlight. This supports both the ANSI and ISO variants. - -* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) -* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6 -* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en - -## Instructions - -### Build - -Make command example for this keyboard (after setting up your build environment): - - make durgod/k320:default - -Flashing example for this keyboard: - - make durgod/k320: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). - -### Initial Flash - -Instructions for Flashing from initial Stock Firmware: -* [Initial Flashing](../../readme.md#initial-flash) diff --git a/keyboards/durgod/k3x0/k320/base/rules.mk b/keyboards/durgod/k3x0/k320/base/rules.mk deleted file mode 100644 index 323c12fc6e..0000000000 --- a/keyboards/durgod/k3x0/k320/base/rules.mk +++ /dev/null @@ -1 +0,0 @@ -# see common rules.mk diff --git a/keyboards/durgod/k3x0/k320/config.h b/keyboards/durgod/k3x0/k320/config.h deleted file mode 100644 index 2ea9b37fdf..0000000000 --- a/keyboards/durgod/k3x0/k320/config.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2021 Don Kjer and Tyler Tidman - * Copyright 2021 Simon Arlott - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "config_common.h" - -/* key matrix size (cols in generic keyboard config) */ -#define MATRIX_ROWS 7 - -#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 } diff --git a/keyboards/durgod/k3x0/k320/readme.md b/keyboards/durgod/k3x0/k320/readme.md deleted file mode 100644 index e584bd1874..0000000000 --- a/keyboards/durgod/k3x0/k320/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# Taurus K320 - -This code is shared between all K320 variants. Currently only the base model with no backlight is supported. - -* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) -* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6 -* Hardware Availability: Base https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM - -Instructions for building the K320 firmware can be found here: -* [No Backlight](base/readme.md) diff --git a/keyboards/durgod/k3x0/k320/rules.mk b/keyboards/durgod/k3x0/k320/rules.mk deleted file mode 100644 index fabc0854ff..0000000000 --- a/keyboards/durgod/k3x0/k320/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -# Default to the base model -DEFAULT_FOLDER=durgod/k3x0/k320/base - -LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/durgod/k3x0/k3x0.h b/keyboards/durgod/k3x0/k3x0.h deleted file mode 100644 index 93740a5512..0000000000 --- a/keyboards/durgod/k3x0/k3x0.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman - * Copyright 2021 Simon Arlott - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "quantum.h" - -#ifdef KEYBOARD_durgod_k3x0_k310 -# include "k310.h" -#elif KEYBOARD_durgod_k3x0_k320 -# include "k320.h" -#endif - -#ifndef WINLOCK_DISABLED -// Define the TGUI key here so it is available in QMK configurator -enum K3x0_keycodes { -#ifdef VIA_ENABLE - KC_TGUI = USER00, // Toggle between GUI Lock or Unlock - NEW_SAFE_RANGE = SAFE_RANGE -#else - KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock - NEW_SAFE_RANGE -#endif -}; - -#undef SAFE_RANGE -#define SAFE_RANGE NEW_SAFE_RANGE -#endif /* WINLOCK_DISABLED */ - -/* Function Prototype */ -void off_all_leds(void); -void on_all_leds(void); - diff --git a/keyboards/durgod/k3x0/readme.md b/keyboards/durgod/k3x0/readme.md index 62bb97d7ec..90e9602e71 100644 --- a/keyboards/durgod/k3x0/readme.md +++ b/keyboards/durgod/k3x0/readme.md @@ -4,9 +4,12 @@ This K3X0 code is shared between both the ANSI and ISO variants of both the K310 full-sized 104/105-key and K320 TKL 87/88-key keyboards. * Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) -* Hardware Supported: Durgod Taurus K310 or K320 board with STM32F070RBT6 -* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en - and K320 https://www.durgod.com/page9?product_id=47&_l=en +* Hardware Supported: + * [Durgod Taurus K310 with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Taurus K310 Product Page | Durgod.com") + * [Durgod Taurus K320 with STM32F070RBT6](https://www.durgod.com/page9?product_id=47&_l=en "Taurus K320 Product Page | Durgod.com") +* Hardware Availability: + * [K310 on Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3) + * [K320 on Amazon.com](https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM) ## Instructions diff --git a/keyboards/durgod/k3x0/rules.mk b/keyboards/durgod/k3x0/rules.mk deleted file mode 100644 index bccaec46b3..0000000000 --- a/keyboards/durgod/k3x0/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -# Default to K310 variant, since it will also work on a K320 -DEFAULT_FOLDER=durgod/k3x0/k310 - -# MCU name -# Actually F070, but close enough -MCU = STM32F072 -BOARD = DURGOD_STM32_F070 - -# Bootloader selection -BOOTLOADER = stm32-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # 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 -LTO_ENABLE = yes diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h index e5ead20c12..bb6c5c55e4 100644 --- a/keyboards/dz60/keymaps/LEdiodes/config.h +++ b/keyboards/dz60/keymaps/LEdiodes/config.h @@ -1,48 +1,5 @@ -#ifndef CONFIG_H -#define CONFIG_H - -#include "config.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x2260 -#define DEVICE_VER 0x0001 -#define MANUFACTURER KBDFans -#define PRODUCT DZ60 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } -#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* number of backlight levels */ -#define BACKLIGHT_PIN B6 -#define BACKLIGHT_LEVELS 5 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 RGB_DI_PIN E2 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#pragma once /* sets 'Auto Shift' timeouts */ #define AUTO_SHIFT_TIMEOUT 150 #define NO_AUTO_SHIFT_SPECIAL - -#endif diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c index 81f4846c2c..cfefd2833d 100644 --- a/keyboards/dztech/dz60rgb/dz60rgb.c +++ b/keyboards/dztech/dz60rgb/dz60rgb.c @@ -1,7 +1,7 @@ #include "dz60rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, @@ -93,20 +93,13 @@ led_config_t g_led_config = { } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c index 287496e17f..3552864e8c 100644 --- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/keymap.c @@ -91,8 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ }; -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state && rgb_matrix_config.enable) { @@ -218,6 +217,7 @@ void rgb_matrix_indicators_user(void) if (this_led & (1 << USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return false; } void matrix_init_user(void) diff --git a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c index 3fe99fd61b..efed4494ef 100644 --- a/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/mekanist/keymap.c @@ -50,15 +50,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color( i, red, green, blue ); } } } -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state && rgb_matrix_config.enable) { @@ -151,6 +150,7 @@ void rgb_matrix_indicators_user(void) rgb_matrix_set_color(62, 0x00, 0x00, 0x00); break; } + return false; } diff --git a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c index eeffe66f40..841617e2c9 100644 --- a/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c @@ -27,15 +27,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color( i, red, green, blue ); } } } -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { if (!g_suspend_state) { switch (get_highest_layer(layer_state)) { case _QWERTY: @@ -113,6 +112,7 @@ void rgb_matrix_indicators_user(void) rgb_matrix_set_color(62, 0x00, 0x00, 0x00); break; } + return false; } diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c index b6644ed14b..4b4a4e2877 100644 --- a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c @@ -157,7 +157,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; }; -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { led_t led_state = host_keyboard_led_state(); if (led_state.caps_lock) { @@ -227,4 +227,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x33, 0x66, 0x99); RGB_MATRIX_INDICATOR_SET_COLOR(26, 0x33, 0x66, 0x99); } + return false; } diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c b/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c index 1de0d2632d..25b6e4f472 100644 --- a/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/xunz/keymap.c @@ -4,34 +4,19 @@ #define _LAYER2 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(KC_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_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_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, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL), + [_LAYER0] = LAYOUT(KC_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_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_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, RSFT_T(KC_SLSH), KC_UP, LT(2,KC_DEL), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), [_LAYER1] = LAYOUT(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_DEL, - KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, - KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EEP_RST, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, QK_BOOT, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL, - KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, + [_LAYER2] = LAYOUT(KC_TRNS, KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, KC_DEL, + KC_TRNS, RGB_TOG, KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_TRNS, KC_PSLS, KC_PAST, QK_BOOT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, EEP_RST, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; - -void rgb_matrix_indicators_user(void) { -} - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; - } diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h index b150e4a162..92ee0f31ae 100644 --- a/keyboards/dztech/dz60rgb/v1/config.h +++ b/keyboards/dztech/dz60rgb/v1/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -81,5 +80,5 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 63 +# define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h index 3c6d07121b..57749b4e55 100644 --- a/keyboards/dztech/dz60rgb/v2/config.h +++ b/keyboards/dztech/dz60rgb/v2/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -79,5 +78,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 63 +# define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h index 2079390a3b..f7381175c8 100644 --- a/keyboards/dztech/dz60rgb/v2_1/config.h +++ b/keyboards/dztech/dz60rgb/v2_1/config.h @@ -40,7 +40,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -95,5 +94,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 63 +# define RGB_MATRIX_LED_COUNT 63 #endif diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c index 0929ddbf47..475c9cc4b5 100644 --- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c @@ -1,7 +1,7 @@ #include "dz60rgb_ansi.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, @@ -91,20 +91,13 @@ led_config_t g_led_config = { } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c index 20eaed8247..7c6dd50447 100644 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/kuru/keymap.c @@ -84,7 +84,7 @@ void highlight_layer3(void){ rgb_matrix_set_color(46, 0x00, 0x99, 0x00); } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state) { switch (get_highest_layer(layer_state)) { @@ -97,4 +97,5 @@ void rgb_matrix_indicators_user(void) { if ( this_led & (1<<USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return false; } diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c index aae1173988..2c0300fe52 100644 --- a/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/muralisc/keymap.c @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color( i, red, green, blue ); } @@ -145,7 +145,7 @@ void highlight_layer3(void) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t this_led = host_keyboard_leds(); if (!g_suspend_state) { switch (get_highest_layer(layer_state)) { @@ -164,5 +164,5 @@ void rgb_matrix_indicators_user(void) { if ( this_led & (1<<USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } - + return false; } diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h index 9b31f27f2f..08af978348 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -81,5 +80,5 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 61 +# define RGB_MATRIX_LED_COUNT 61 #endif diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h index 92fcd17c88..149b95b4b6 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -79,5 +78,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 61 +# define RGB_MATRIX_LED_COUNT 61 #endif diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h index 7ec226c30b..84f398e18e 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h @@ -40,7 +40,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -95,5 +94,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 61 +# define RGB_MATRIX_LED_COUNT 61 #endif diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c index 83feb58456..5ee8d1b531 100644 --- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c @@ -1,7 +1,7 @@ #include "dz60rgb_wkl.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, H_15, G_15, I_15 }, { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, @@ -92,20 +92,13 @@ led_config_t g_led_config = { } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); } + return false; } #endif diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h index d7d8c3a0a1..c3a6cca1c0 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -81,5 +80,5 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 62 +# define RGB_MATRIX_LED_COUNT 62 #endif diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h index a4416e806c..9094cd3ada 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h @@ -24,7 +24,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -76,5 +75,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 62 +# define RGB_MATRIX_LED_COUNT 62 #endif diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h index 3803b4834f..60e570f809 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h @@ -40,7 +40,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -95,5 +94,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 62 +# define RGB_MATRIX_LED_COUNT 62 #endif diff --git a/keyboards/dztech/dz64rgb/config.h b/keyboards/dztech/dz64rgb/config.h index 11f623c1bd..f99bb835a9 100644 --- a/keyboards/dztech/dz64rgb/config.h +++ b/keyboards/dztech/dz64rgb/config.h @@ -28,7 +28,6 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_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 ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT @@ -59,6 +58,6 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 #endif #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/dztech/dz64rgb/dz64rgb.c b/keyboards/dztech/dz64rgb/dz64rgb.c index 3850dbe276..4173abf542 100644 --- a/keyboards/dztech/dz64rgb/dz64rgb.c +++ b/keyboards/dztech/dz64rgb/dz64rgb.c @@ -13,11 +13,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ - + #include "dz64rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, @@ -64,7 +64,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { { 0, B_14, A_14, C_14 }, { 0, B_13, A_13, C_13 }, - { 0, B_12, A_12, C_12 }, + { 0, B_12, A_12, C_12 }, { 0, B_11, A_11, C_11 }, { 0, B_10, A_10, C_10 }, { 0, B_9, A_9, C_9 }, @@ -111,11 +111,13 @@ led_config_t g_led_config = { }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(40, 0xFF, 0xFF, 0xFF); } + return true; } #endif - diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h index f57ac64041..966bc5d064 100644 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h +++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/config.h @@ -1,3 +1,3 @@ #define LEADER_TIMEOUT 300 #define FORCE_NKRO -#define UNICODE_SELECTED_MODES UC_LNX, UC_OSX, UC_WIN, UC_WINC
\ No newline at end of file +#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC
\ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c index b85b582b39..2b45528208 100644 --- a/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/catrielmuller/keymap.c @@ -230,7 +230,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { // CapsLock Light if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { @@ -239,4 +239,5 @@ void rgb_matrix_indicators_user(void) { // Show Selected Layer rgb_matrix_set_color(layers_leds_map[get_highest_layer(layer_state)], MAIN_COLOR[0], MAIN_COLOR[1], MAIN_COLOR[2]); + return false; } diff --git a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c index 2ebbddcef7..8b9002f521 100644 --- a/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/drootz/keymap.c @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //**************** MATRIX SCANS *********************// -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { #ifdef RGB_MATRIX_ENABLE @@ -192,6 +192,7 @@ void rgb_matrix_indicators_user(void) { } #endif /* RGB_MATRIX */ + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c index 0c7bfbbb48..c6d42c777e 100644 --- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/keymap.c @@ -82,8 +82,7 @@ CPS, A, S, D, F, G, H, J, K, L, COL, QOT, RETURN, + SFT, Z, X, C, V, B, N, M, COM, DOT, SLS, SHIFT, UP, 0 CTL, GUI, ALT, SPACEBAR, ALT, FN, CTL, LFT, DWN, RIT */ -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(8, 0xFF, 0xFF, 0xFF); } @@ -208,16 +207,7 @@ void rgb_matrix_indicators_user(void) break; } } -} - -void matrix_init_user(void) -{ - //user initialization -} - -void matrix_scan_user(void) -{ - //user matrix + return false; } bool process_record_user(uint16_t keycode, keyrecord_t* record) diff --git a/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c b/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c index 5baf32a7e4..61cb875b8a 100644 --- a/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c +++ b/keyboards/dztech/dz65rgb/keymaps/yuannan/keymap.c @@ -1,17 +1,17 @@ /* Copyright 2021 Yuannan (https://github.com/yuannan) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H @@ -169,7 +169,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record){ } } break; - } + } return true; }; @@ -179,20 +179,21 @@ RGB get_inverted_RGB(void){ current_HSV.h = 255 - current_HSV.h; current_HSV.s = 255; current_HSV.v = 255; - + return hsv_to_rgb(current_HSV); } // Move Caps indicator to the ctrl key where it belongs -void rgb_matrix_indicators_user(void){ +bool rgb_matrix_indicators_user(void){ RGB inverted_RGB = get_inverted_RGB(); if (host_keyboard_led_state().caps_lock){ rgb_matrix_set_color(58, inverted_RGB.r, inverted_RGB.g, inverted_RGB.b); } + return false; } // show coloured indicator for layers with a keybind -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){ +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){ uint8_t layer = get_highest_layer(layer_state); if (layer > 0) { RGB inverted_RGB = get_inverted_RGB(); @@ -207,4 +208,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max){ } } } + return false; } diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h index 0ae5173051..c28bcdecc2 100644 --- a/keyboards/dztech/dz65rgb/v1/config.h +++ b/keyboards/dztech/dz65rgb/v1/config.h @@ -39,7 +39,6 @@ # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 -# 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_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled @@ -97,5 +96,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 33 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c index 8caced800b..0e52a3f911 100644 --- a/keyboards/dztech/dz65rgb/v1/v1.c +++ b/keyboards/dztech/dz65rgb/v1/v1.c @@ -16,7 +16,7 @@ #include "v1.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, @@ -114,10 +114,13 @@ led_config_t g_led_config = { }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h index d2dec023ef..a470a7badd 100644 --- a/keyboards/dztech/dz65rgb/v2/config.h +++ b/keyboards/dztech/dz65rgb/v2/config.h @@ -39,7 +39,6 @@ # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 -# 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_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled @@ -97,5 +96,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 33 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c index db8e968cc4..43629e74da 100644 --- a/keyboards/dztech/dz65rgb/v2/v2.c +++ b/keyboards/dztech/dz65rgb/v2/v2.c @@ -16,7 +16,7 @@ #include "v2.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, C8_8, C7_8, C6_8 }, { 0, C9_8, C7_7, C6_7 }, { 0, C9_7, C8_7, C6_6 }, @@ -114,10 +114,13 @@ led_config_t g_led_config = { }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h index ed7775a74b..9925c1bf6c 100755 --- a/keyboards/dztech/dz65rgb/v3/config.h +++ b/keyboards/dztech/dz65rgb/v3/config.h @@ -31,7 +31,6 @@ #define DEBOUNCE 5 #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 USB_SUSPEND_WAKEUP_DELAY 5000 # define RGB_MATRIX_KEYPRESSES @@ -89,6 +88,6 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL # define DRIVER_ADDR_1 0b0110000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 68 +# define RGB_MATRIX_LED_COUNT 68 # define DRIVER_INDICATOR_LED_TOTAL 0 #endif diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c index 18f87dc00b..45cc5cb3bd 100755 --- a/keyboards/dztech/dz65rgb/v3/v3.c +++ b/keyboards/dztech/dz65rgb/v3/v3.c @@ -18,80 +18,80 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, - {0, CS21_SW3, CS20_SW3, CS19_SW3}, - {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, {0, CS21_SW5, CS20_SW5, CS19_SW5}, {0, CS21_SW6, CS20_SW6, CS19_SW6}, - {0, CS21_SW7, CS20_SW7, CS19_SW7}, - {0, CS21_SW8, CS20_SW8, CS19_SW8}, - {0, CS24_SW1, CS23_SW1, CS22_SW1}, - {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS21_SW7, CS20_SW7, CS19_SW7}, + {0, CS21_SW8, CS20_SW8, CS19_SW8}, + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, {0, CS24_SW3, CS23_SW3, CS22_SW3}, - {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, {0, CS24_SW5, CS23_SW5, CS22_SW5}, {0, CS24_SW6, CS23_SW6, CS22_SW6}, - {0, CS24_SW7, CS23_SW7, CS22_SW7}, - - {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS24_SW7, CS23_SW7, CS22_SW7}, + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW2, CS14_SW2, CS13_SW2}, {0, CS15_SW3, CS14_SW3, CS13_SW3}, {0, CS15_SW4, CS14_SW4, CS13_SW4}, {0, CS15_SW5, CS14_SW5, CS13_SW5}, {0, CS15_SW6, CS14_SW6, CS13_SW6}, {0, CS15_SW7, CS14_SW7, CS13_SW7}, - {0, CS15_SW8, CS14_SW8, CS13_SW8}, - {0, CS30_SW1, CS29_SW1, CS28_SW1}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW4, CS29_SW4, CS28_SW4}, {0, CS30_SW5, CS29_SW5, CS28_SW5}, {0, CS30_SW6, CS29_SW6, CS28_SW6}, - {0, CS30_SW7, CS29_SW7, CS28_SW7}, - - {0, CS12_SW1, CS11_SW1, CS10_SW1}, - {0, CS12_SW2, CS11_SW2, CS10_SW2}, - {0, CS12_SW3, CS11_SW3, CS10_SW3}, - {0, CS12_SW4, CS11_SW4, CS10_SW4}, - {0, CS12_SW5, CS11_SW5, CS10_SW5}, - {0, CS12_SW6, CS11_SW6, CS10_SW6}, - {0, CS12_SW7, CS11_SW7, CS10_SW7}, - {0, CS12_SW8, CS11_SW8, CS10_SW8}, - {0, CS33_SW1, CS32_SW1, CS31_SW1}, - {0, CS33_SW2, CS32_SW2, CS31_SW2}, - {0, CS33_SW3, CS32_SW3, CS31_SW3}, - {0, CS33_SW4, CS32_SW4, CS31_SW4}, - {0, CS33_SW5, CS32_SW5, CS31_SW5}, - {0, CS33_SW7, CS32_SW7, CS31_SW7}, - - {0, CS9_SW1, CS8_SW1, CS7_SW1}, - {0, CS9_SW2, CS8_SW2, CS7_SW2}, - {0, CS9_SW3, CS8_SW3, CS7_SW3}, - {0, CS9_SW4, CS8_SW4, CS7_SW4}, - {0, CS9_SW5, CS8_SW5, CS7_SW5}, - {0, CS9_SW6, CS8_SW6, CS7_SW6}, - {0, CS9_SW7, CS8_SW7, CS7_SW7}, - {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS30_SW7, CS29_SW7, CS28_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS33_SW1, CS32_SW1, CS31_SW1}, + {0, CS33_SW2, CS32_SW2, CS31_SW2}, + {0, CS33_SW3, CS32_SW3, CS31_SW3}, + {0, CS33_SW4, CS32_SW4, CS31_SW4}, + {0, CS33_SW5, CS32_SW5, CS31_SW5}, + {0, CS33_SW7, CS32_SW7, CS31_SW7}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS36_SW1, CS35_SW1, CS34_SW1}, {0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW7, CS35_SW7, CS34_SW7}, - + {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW3, CS2_SW3, CS1_SW3}, {0, CS3_SW6, CS2_SW6, CS1_SW6}, - {0, CS39_SW1, CS38_SW1, CS37_SW1}, + {0, CS39_SW1, CS38_SW1, CS37_SW1}, {0, CS39_SW2, CS38_SW2, CS37_SW2}, {0, CS39_SW3, CS38_SW3, CS37_SW3}, {0, CS39_SW4, CS38_SW4, CS37_SW4}, {0, CS39_SW5, CS38_SW5, CS37_SW5}, - {0, CS39_SW7, CS38_SW7, CS37_SW7} - + {0, CS39_SW7, CS38_SW7, CS37_SW7} + }; led_config_t g_led_config = { { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, @@ -108,18 +108,20 @@ led_config_t g_led_config = { { }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/eek/config.h b/keyboards/eek/config.h index e183afa0be..a4c74fc794 100644 --- a/keyboards/eek/config.h +++ b/keyboards/eek/config.h @@ -59,7 +59,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #endif #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 36 + #define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_STARTUP_VAL 150 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/ein_60/config.h b/keyboards/ein_60/config.h index 91311dea37..ad62eb96df 100644 --- a/keyboards/ein_60/config.h +++ b/keyboards/ein_60/config.h @@ -73,7 +73,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #endif #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL 38 +# define RGB_MATRIX_LED_COUNT 38 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 # define RGB_MATRIX_STARTUP_VAL 150 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 diff --git a/keyboards/elephant42/config.h b/keyboards/elephant42/config.h index 26d9daba4e..a1c4d21c11 100644 --- a/keyboards/elephant42/config.h +++ b/keyboards/elephant42/config.h @@ -65,7 +65,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL # define RGB_MATRIX_HUE_STEP RGBLIGHT_HUE_STEP diff --git a/keyboards/emptystring/NQG/NQG.c b/keyboards/emptystring/NQG/NQG.c deleted file mode 100644 index eedf25e881..0000000000 --- a/keyboards/emptystring/NQG/NQG.c +++ /dev/null @@ -1 +0,0 @@ -#include "NQG.h" diff --git a/keyboards/emptystring/NQG/.noci b/keyboards/emptystring/nqg/.noci index e69de29bb2..e69de29bb2 100644 --- a/keyboards/emptystring/NQG/.noci +++ b/keyboards/emptystring/nqg/.noci diff --git a/keyboards/emptystring/NQG/config.h b/keyboards/emptystring/nqg/config.h index 66abf55834..66abf55834 100644 --- a/keyboards/emptystring/NQG/config.h +++ b/keyboards/emptystring/nqg/config.h diff --git a/keyboards/emptystring/NQG/info.json b/keyboards/emptystring/nqg/info.json index 6ccbc01370..6ccbc01370 100644 --- a/keyboards/emptystring/NQG/info.json +++ b/keyboards/emptystring/nqg/info.json diff --git a/keyboards/emptystring/NQG/keymaps/default/keymap.c b/keyboards/emptystring/nqg/keymaps/default/keymap.c index aca045342c..aca045342c 100644 --- a/keyboards/emptystring/NQG/keymaps/default/keymap.c +++ b/keyboards/emptystring/nqg/keymaps/default/keymap.c diff --git a/keyboards/emptystring/NQG/keymaps/default/rules.mk b/keyboards/emptystring/nqg/keymaps/default/rules.mk index e5ddcae8d9..e5ddcae8d9 100644 --- a/keyboards/emptystring/NQG/keymaps/default/rules.mk +++ b/keyboards/emptystring/nqg/keymaps/default/rules.mk diff --git a/keyboards/emptystring/nqg/nqg.c b/keyboards/emptystring/nqg/nqg.c new file mode 100644 index 0000000000..85eb47e6d3 --- /dev/null +++ b/keyboards/emptystring/nqg/nqg.c @@ -0,0 +1 @@ +#include "nqg.h" diff --git a/keyboards/emptystring/NQG/NQG.h b/keyboards/emptystring/nqg/nqg.h index 943ea6ab16..943ea6ab16 100644 --- a/keyboards/emptystring/NQG/NQG.h +++ b/keyboards/emptystring/nqg/nqg.h diff --git a/keyboards/emptystring/NQG/readme.md b/keyboards/emptystring/nqg/readme.md index 5e78420e2b..b2ceeeb87d 100644 --- a/keyboards/emptystring/NQG/readme.md +++ b/keyboards/emptystring/nqg/readme.md @@ -10,6 +10,6 @@ Hardware Availability: Kits are available from [SA_EndlessGame](http://twitter.c Make example for this keyboard (after setting up your build environment): - make emptystring/NQG:default + make emptystring/nqg: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). diff --git a/keyboards/emptystring/NQG/rules.mk b/keyboards/emptystring/nqg/rules.mk index e61c7dbfd0..e61c7dbfd0 100644 --- a/keyboards/emptystring/NQG/rules.mk +++ b/keyboards/emptystring/nqg/rules.mk diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 8a3f4eb7dc..0890127074 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -119,7 +119,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 24 #define DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index 8d3790088d..7b9d9d3bad 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* driver * | R location * | | G location diff --git a/keyboards/ergoslab/keymaps/default/config.h b/keyboards/ergoslab/keymaps/default/config.h index 2c47a7440d..e15fd605f4 100644 --- a/keyboards/ergoslab/keymaps/default/config.h +++ b/keyboards/ergoslab/keymaps/default/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/ergotravel/keymaps/default/config.h b/keyboards/ergotravel/keymaps/default/config.h index 7461cf321d..b827d9ef32 100644 --- a/keyboards/ergotravel/keymaps/default/config.h +++ b/keyboards/ergotravel/keymaps/default/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/ergotravel/keymaps/ian/config.h b/keyboards/ergotravel/keymaps/ian/config.h index dea5b121ea..501919e057 100644 --- a/keyboards/ergotravel/keymaps/ian/config.h +++ b/keyboards/ergotravel/keymaps/ian/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/ergotravel/keymaps/jarred/config.h b/keyboards/ergotravel/keymaps/jarred/config.h index d64187b598..c2948493ed 100644 --- a/keyboards/ergotravel/keymaps/jarred/config.h +++ b/keyboards/ergotravel/keymaps/jarred/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/ergotravel/keymaps/rs/config.h b/keyboards/ergotravel/keymaps/rs/config.h index eeca26ce1d..e50534e99d 100644 --- a/keyboards/ergotravel/keymaps/rs/config.h +++ b/keyboards/ergotravel/keymaps/rs/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/ergotravel/keymaps/via/config.h b/keyboards/ergotravel/keymaps/via/config.h index 9b26bf4c9d..6d9ccb8d6d 100644 --- a/keyboards/ergotravel/keymaps/via/config.h +++ b/keyboards/ergotravel/keymaps/via/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/ergotravel/keymaps/yanfali/config.h b/keyboards/ergotravel/keymaps/yanfali/config.h index 072554991f..52ab36f2db 100644 --- a/keyboards/ergotravel/keymaps/yanfali/config.h +++ b/keyboards/ergotravel/keymaps/yanfali/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/evolv/keymaps/gondolindrim/keymap.c b/keyboards/evolv/keymaps/gondolindrim/keymap.c index 3ab66bd056..bf0944fbd1 100755 --- a/keyboards/evolv/keymaps/gondolindrim/keymap.c +++ b/keyboards/evolv/keymaps/gondolindrim/keymap.c @@ -129,7 +129,7 @@ const encoder_mode_t encoder_modes[] = { // Insert your custom encoder mode here }; -#define NUM_ENCODER_MODES (sizeof(encoder_modes)/sizeof(encoder_modes[0])) // DO NOT CHANGE THIS. NUM_ENCODER_MODES calculates how many modes there are. +#define NUM_ENCODER_MODES ARRAY_SIZE(encoder_modes) // DO NOT CHANGE THIS. NUM_ENCODER_MODES calculates how many modes there are. // This counter is used to track what encoder mode is being used at a certain time int encoder_mode_count = 0; diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h index d16ac9404f..b9df73ce5e 100644 --- a/keyboards/evyd13/atom47/rev5/config.h +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -146,7 +146,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The result is: 0b101(ADDR2)(ADDR1) #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c index f972b78867..3336d8cf8b 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 <http://www.gnu.org/licenses/>. #include "rev5.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -144,10 +144,14 @@ led_config_t g_led_config = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } }; -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(26, 255, 255, 255); } else { rgb_matrix_set_color(26, 0, 0, 0); } + return true; } diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h b/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h index b77ac95d7d..5f6d855966 100644 --- a/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h +++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/config.h @@ -16,7 +16,7 @@ #pragma once -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 @@ -51,7 +51,7 @@ #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) #define PS2_USART_RX_VECT USART1_RX_vect #define PS2_MOUSE_ENABLE_SCROLLING -#define PS2_MOUSE_INIT_DELAY 1000 +#define PS2_MOUSE_INIT_DELAY 1000 #define PS2_MOUSE_BTN_LEFT 0 #define PS2_MOUSE_BTN_RIGHT 1 #define PS2_MOUSE_BTN_MIDDLE 2 diff --git a/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk b/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk index c58a93b73a..3218145955 100644 --- a/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk +++ b/keyboards/evyd13/gh80_3700/keymaps/ps2/rules.mk @@ -2,4 +2,5 @@ # change yes to no to disable # PS2_MOUSE_ENABLE = yes -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart diff --git a/keyboards/exclusive/e6_rgb/config.h b/keyboards/exclusive/e6_rgb/config.h index c4765ce93c..aea0dfc8f6 100644 --- a/keyboards/exclusive/e6_rgb/config.h +++ b/keyboards/exclusive/e6_rgb/config.h @@ -25,4 +25,4 @@ #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 63 +#define RGB_MATRIX_LED_COUNT 63 diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index 11d313e9a3..ec17e414f3 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -11,7 +11,7 @@ void matrix_init_kb(void) { matrix_init_user(); } -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/fallacy/config.h b/keyboards/fallacy/config.h index 4aa7aaf348..80c2c986f3 100755 --- a/keyboards/fallacy/config.h +++ b/keyboards/fallacy/config.h @@ -36,7 +36,7 @@ */ #define LED_DRIVER_ADDR_1 0b1110100 #define LED_DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 3 +#define LED_MATRIX_LED_COUNT 3 /* Set 0 if debouncing isn't needed */ diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c index c577bc9a8a..8686f292fc 100755 --- a/keyboards/fallacy/indicators.c +++ b/keyboards/fallacy/indicators.c @@ -25,7 +25,7 @@ void init_fallacy_leds(void) { i2c_init(); IS31FL3731_init(LED_DRIVER_ADDR_1); - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < LED_MATRIX_LED_COUNT; i++) { IS31FL3731_set_led_control_register(i, true); } @@ -54,7 +54,7 @@ void set_fallacy_led(int index, bool state) { /* define LED matrix */ -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = { {0, C1_1}, {0, C2_1}, {0, C3_1}, diff --git a/keyboards/fc660c/keymaps/zyber/keymap.c b/keyboards/fc660c/keymaps/zyber/keymap.c index 3e5cffe01c..257a714d8c 100644 --- a/keyboards/fc660c/keymaps/zyber/keymap.c +++ b/keyboards/fc660c/keymaps/zyber/keymap.c @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------------------------------------------------------------------------------------´ */ [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, C_BLK, + 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, _______, C_BLK, _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______,_______, _______, _______,KC_VOLD,KC_VOLU,KC_MUTE,KC_EJCT,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______, _______,KC_MPRV,KC_MPLY,KC_MNXT,_______,_______,_______,_______,KC_END, KC_PGDN,_______,_______, _______, diff --git a/keyboards/feker/ik75/config.h b/keyboards/feker/ik75/config.h index 541fb86b73..1c086b3551 100644 --- a/keyboards/feker/ik75/config.h +++ b/keyboards/feker/ik75/config.h @@ -46,7 +46,7 @@ #endif #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/feker/ik75/ik75.c b/keyboards/feker/ik75/ik75.c index 58464e1934..af7d12fedc 100644 --- a/keyboards/feker/ik75/ik75.c +++ b/keyboards/feker/ik75/ik75.c @@ -18,7 +18,7 @@ #include "ik75.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | G location diff --git a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c index 95d41853f9..5d5ebdc771 100644 --- a/keyboards/feker/ik75/keymaps/bkzshen/keymap.c +++ b/keyboards/feker/ik75/keymaps/bkzshen/keymap.c @@ -190,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0); @@ -212,6 +212,7 @@ void rgb_matrix_indicators_user(void) { } rgb_matrix_set_color(104, red, green, blue); } + return false; } #ifdef ENCODER_MAP_ENABLE diff --git a/keyboards/feker/ik75/keymaps/default/keymap.c b/keyboards/feker/ik75/keymaps/default/keymap.c index 582340650c..944348a5b9 100644 --- a/keyboards/feker/ik75/keymaps/default/keymap.c +++ b/keyboards/feker/ik75/keymaps/default/keymap.c @@ -134,7 +134,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0); @@ -156,6 +156,7 @@ void rgb_matrix_indicators_user(void) { } rgb_matrix_set_color(104, red, green, blue); } + return false; } #ifdef ENCODER_MAP_ENABLE diff --git a/keyboards/feker/ik75/keymaps/via/keymap.c b/keyboards/feker/ik75/keymaps/via/keymap.c index 6f0c6890ed..3be5a60680 100644 --- a/keyboards/feker/ik75/keymaps/via/keymap.c +++ b/keyboards/feker/ik75/keymaps/via/keymap.c @@ -190,7 +190,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(46, 0, 0, 0); rgb_matrix_set_color(104, 0, 0, 0); @@ -212,6 +212,7 @@ void rgb_matrix_indicators_user(void) { } rgb_matrix_set_color(104, red, green, blue); } + return false; } #ifdef ENCODER_MAP_ENABLE diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c index e4d0bdbf7e..8af1d33e85 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 <http://www.gnu.org/licenses/>. | | 4 | | || | | 4 | | | 6 | | | 2 || 2 | | | 5 | */ -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h index ceb02e737b..cbb3b11c90 100644 --- a/keyboards/ferris/0_2/bling/config.h +++ b/keyboards/ferris/0_2/bling/config.h @@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 7 #define DRIVER_2_LED_TOTAL 7 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/ferris/sweep/config.h b/keyboards/ferris/sweep/config.h index 1708ec6e2b..a1043b73b5 100644 --- a/keyboards/ferris/sweep/config.h +++ b/keyboards/ferris/sweep/config.h @@ -42,8 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* Serial settings */ -#define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/fortitude60/keymaps/default/config.h b/keyboards/fortitude60/keymaps/default/config.h index ac47978bab..7e9b510ff6 100644 --- a/keyboards/fortitude60/keymaps/default/config.h +++ b/keyboards/fortitude60/keymaps/default/config.h @@ -16,5 +16,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -#define USE_SERIAL diff --git a/keyboards/fortitude60/keymaps/via/config.h b/keyboards/fortitude60/keymaps/via/config.h index ac47978bab..7e9b510ff6 100644 --- a/keyboards/fortitude60/keymaps/via/config.h +++ b/keyboards/fortitude60/keymaps/via/config.h @@ -16,5 +16,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -#define USE_SERIAL diff --git a/keyboards/frooastboard/walnut/config.h b/keyboards/frooastboard/walnut/config.h index 081a084d16..3015201d42 100644 --- a/keyboards/frooastboard/walnut/config.h +++ b/keyboards/frooastboard/walnut/config.h @@ -12,7 +12,7 @@ #define ISSI_SWPULLUP PUR_0R #define ISSI_CSPULLUP PUR_0R #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 48 +#define RGB_MATRIX_LED_COUNT 48 #define DRIVER_ADDR_1 0b1010000 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191 diff --git a/keyboards/frooastboard/walnut/walnut.c b/keyboards/frooastboard/walnut/walnut.c index 0b84d3c577..da398205a0 100644 --- a/keyboards/frooastboard/walnut/walnut.c +++ b/keyboards/frooastboard/walnut/walnut.c @@ -5,7 +5,7 @@ #if defined(RGB_MATRIX_ENABLE) -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/fungo/rev1/config.h b/keyboards/fungo/rev1/config.h index 5026099f7d..ff0444c71c 100644 --- a/keyboards/fungo/rev1/config.h +++ b/keyboards/fungo/rev1/config.h @@ -20,8 +20,6 @@ #include "config_common.h" -/* Use I2C or Serial, not both */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D3 // RX8 /* select keyboard master board - I2C or Serial communication master */ @@ -38,7 +36,7 @@ #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5} #define MATRIX_COL_PINS_RIGHT {F7, F6, F5, F4, B5, B4, E6} -#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, D7, D3} // TX +#define MATRIX_ROW_PINS_RIGHT { D1, D0, D4, C6, D7, D3} // TX diff --git a/keyboards/gboards/butterstick/keymaps/default/keymap.c b/keyboards/gboards/butterstick/keymaps/default/keymap.c index 749e9ba071..d0c6af65df 100644 --- a/keyboards/gboards/butterstick/keymaps/default/keymap.c +++ b/keyboards/gboards/butterstick/keymaps/default/keymap.c @@ -180,4 +180,4 @@ uint32_t processQwerty(bool lookup) { } // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); diff --git a/keyboards/gboards/butterstick/sten.c b/keyboards/gboards/butterstick/sten.c index 197abaf92f..8820127848 100644 --- a/keyboards/gboards/butterstick/sten.c +++ b/keyboards/gboards/butterstick/sten.c @@ -21,7 +21,7 @@ uint32_t tChord = 0; // Protects state of cChord #ifndef STENOLAYERS uint32_t stenoLayers[] = { PWR }; -size_t stenoLayerCount = sizeof(stenoLayers)/sizeof(stenoLayers[0]); +size_t stenoLayerCount = ARRAY_SIZE(stenoLayers); #endif // Mode state diff --git a/keyboards/gboards/engine/keymap_engine.h b/keyboards/gboards/engine/keymap_engine.h index c8a42a052b..599c1ca3e4 100644 --- a/keyboards/gboards/engine/keymap_engine.h +++ b/keyboards/gboards/engine/keymap_engine.h @@ -114,8 +114,8 @@ void testCollisions(void) { #include "dicts.def" // Get size data back into the engine -size_t funcsLen = sizeof(funDict) / sizeof(funDict[0]); -size_t stringLen = sizeof(strDict) / sizeof(strDict[0]); -size_t keyLen = sizeof(keyDict) / sizeof(keyDict[0]); -size_t comboLen = sizeof(cmbDict) / sizeof(cmbDict[0]); -size_t specialLen = sizeof(spcDict) / sizeof(spcDict[0]); +size_t funcsLen = ARRAY_SIZE(funDict); +size_t stringLen = ARRAY_SIZE(strDict); +size_t keyLen = ARRAY_SIZE(keyDict); +size_t comboLen = ARRAY_SIZE(cmbDict); +size_t specialLen = ARRAY_SIZE(spcDict); diff --git a/keyboards/gboards/g/keymap_engine.h b/keyboards/gboards/g/keymap_engine.h index 93a4423340..055b5941e4 100644 --- a/keyboards/gboards/g/keymap_engine.h +++ b/keyboards/gboards/g/keymap_engine.h @@ -115,8 +115,8 @@ void testCollisions(void) { #include "dicts.def" // Get size data back into the engine -size_t funcsLen = sizeof(funDict) / sizeof(funDict[0]); -size_t stringLen = sizeof(strDict) / sizeof(strDict[0]); -size_t keyLen = sizeof(keyDict) / sizeof(keyDict[0]); -size_t comboLen = sizeof(cmbDict) / sizeof(cmbDict[0]); -size_t specialLen = sizeof(spcDict) / sizeof(spcDict[0]); +size_t funcsLen = ARRAY_SIZE(funDict); +size_t stringLen = ARRAY_SIZE(strDict); +size_t keyLen = ARRAY_SIZE(keyDict); +size_t comboLen = ARRAY_SIZE(cmbDict); +size_t specialLen = ARRAY_SIZE(spcDict); diff --git a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c index 29b35f6abd..af7edc2a9b 100644 --- a/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c +++ b/keyboards/gboards/georgi/keymaps/colemak-dh/keymap.c @@ -302,5 +302,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); -size_t stenoLayerCount = sizeof(stenoLayers)/sizeof(stenoLayers[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); +size_t stenoLayerCount = ARRAY_SIZE(stenoLayers); diff --git a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c index 09243f2a24..a3324b11cd 100644 --- a/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default-flipped/keymap.c @@ -234,4 +234,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); diff --git a/keyboards/gboards/georgi/keymaps/default/keymap.c b/keyboards/gboards/georgi/keymaps/default/keymap.c index 93c551af27..78964dc840 100644 --- a/keyboards/gboards/georgi/keymaps/default/keymap.c +++ b/keyboards/gboards/georgi/keymaps/default/keymap.c @@ -244,4 +244,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); diff --git a/keyboards/gboards/georgi/keymaps/minimal/keymap.c b/keyboards/gboards/georgi/keymaps/minimal/keymap.c index e9294c5cc8..c4e78033bd 100644 --- a/keyboards/gboards/georgi/keymaps/minimal/keymap.c +++ b/keyboards/gboards/georgi/keymaps/minimal/keymap.c @@ -219,4 +219,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); diff --git a/keyboards/gboards/georgi/keymaps/norman/keymap.c b/keyboards/gboards/georgi/keymaps/norman/keymap.c index 4591aab22f..870e460e2c 100644 --- a/keyboards/gboards/georgi/keymaps/norman/keymap.c +++ b/keyboards/gboards/georgi/keymaps/norman/keymap.c @@ -263,4 +263,4 @@ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_LEFT, KC KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; // Don't fuck with this, thanks. -size_t keymapsCount = sizeof(keymaps)/sizeof(keymaps[0]); +size_t keymapsCount = ARRAY_SIZE(keymaps); diff --git a/keyboards/gboards/georgi/sten.c b/keyboards/gboards/georgi/sten.c index c7469b6394..bd96dee758 100644 --- a/keyboards/gboards/georgi/sten.c +++ b/keyboards/gboards/georgi/sten.c @@ -21,7 +21,7 @@ uint32_t tChord = 0; // Protects state of cChord #ifndef STENOLAYERS uint32_t stenoLayers[] = { PWR }; -size_t stenoLayerCount = sizeof(stenoLayers)/sizeof(stenoLayers[0]); +size_t stenoLayerCount = ARRAY_SIZE(stenoLayers); #endif // Mode state diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index 7ddbefea2a..b9096da1d7 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -22,7 +22,7 @@ #define DIRECT_PINS {{B13, B15, B3, B5}, {B12, B14, A13, B7}} #define RGBLED_NUM 42 -#define DRIVER_LED_TOTAL 42 +#define RGB_MATRIX_LED_COUNT 42 #define RGB_DI_PIN A7 // PWM RGB Underglow Defines diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h index bdf2d39c98..c8f3aa4977 100644 --- a/keyboards/geekboards/tester/config.h +++ b/keyboards/geekboards/tester/config.h @@ -14,7 +14,6 @@ #define DEBOUNCE 3 #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_AFTER_TIMEOUT 0 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled @@ -71,5 +70,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 8 # define DRIVER_2_LED_TOTAL 0 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c index 70865c461f..f2d2301ec9 100644 --- a/keyboards/geekboards/tester/tester.c +++ b/keyboards/geekboards/tester/tester.c @@ -1,5 +1,5 @@ #include "tester.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h index 5bb9bd59a8..60c6ad4a12 100644 --- a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h +++ b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h @@ -1,87 +1,3 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_H_ADMSTROK -#define CONFIG_H_ADMSTROK - -#include "config_common.h" -#include "../../config.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER SATAN -#define PRODUCT GH60 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -// ROWS: Top to bottom, COLS: Left to right - -#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } -#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 } - -#define BACKLIGHT_PIN B6 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 - -/* Backlight configuration */ -#define BACKLIGHT_LEVELS 4 - -/* Underlight configuration */ -#define RGB_DI_PIN E2 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 +#pragma once #define DISABLE_SPACE_CADET_ROLLOVER - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/gh60/satan/keymaps/ben_iso/config.h b/keyboards/gh60/satan/keymaps/ben_iso/config.h index e59015dcbd..34add12727 100644 --- a/keyboards/gh60/satan/keymaps/ben_iso/config.h +++ b/keyboards/gh60/satan/keymaps/ben_iso/config.h @@ -1,57 +1,8 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_H_BEN -#define CONFIG_H_BEN - -#include "config_common.h" -#include "../../config.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER SATAN -#define PRODUCT GH60 +#pragma once /*MOUSE CONFIG OPTIONS */ - #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 #define MOUSEKEY_TIME_TO_MAX 45 #define MOUSEKEY_MAX_SPEED 3 #define MOUSEKEY_WHEEL_DELAY 0 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/gh60/satan/keymaps/fakb/config.h b/keyboards/gh60/satan/keymaps/fakb/config.h index 720b359c1e..f7314a8671 100644 --- a/keyboards/gh60/satan/keymaps/fakb/config.h +++ b/keyboards/gh60/satan/keymaps/fakb/config.h @@ -1,76 +1,9 @@ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER SATAN -#define PRODUCT GH60 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -// ROWS: Top to bottom, COLS: Left to right - -#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } -#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 } - -#define BACKLIGHT_PIN B6 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 - -/* Backlight configuration - */ +#undef BACKLIGHT_LEVELS #define BACKLIGHT_LEVELS 8 -/* Underlight configuration - */ - -#define RGB_DI_PIN E2 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -#endif - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H #define MOUSEKEY_DELAY 0 #define MOUSEKEY_INTERVAL 1 @@ -79,8 +12,5 @@ #define MOUSEKEY_WHEEL_MAX_SPEED 1 #define MOUSEKEY_WHEEL_TIME_TO_MAX 255 -// only change #undef RGB_DI_PIN #define RGB_DI_PIN B2 - -#endif diff --git a/keyboards/giabalanai/config.h b/keyboards/giabalanai/config.h index efad053aae..7f7751897f 100644 --- a/keyboards/giabalanai/config.h +++ b/keyboards/giabalanai/config.h @@ -108,7 +108,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE /* ws2812 RGB MATRIX */ -# define DRIVER_LED_TOTAL 123 +# define RGB_MATRIX_LED_COUNT 123 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // for all fingers used at once. diff --git a/keyboards/giabalanai/keymaps/party/keymap.c b/keyboards/giabalanai/keymaps/party/keymap.c index 5a4361e5ae..f7c47d9597 100644 --- a/keyboards/giabalanai/keymaps/party/keymap.c +++ b/keyboards/giabalanai/keymaps/party/keymap.c @@ -475,7 +475,7 @@ void eeconfig_init_user(void) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t i; // uint32_t mode = rgblight_get_mode(); @@ -525,6 +525,7 @@ void rgb_matrix_indicators_user(void) { break; } } + return false; } #endif diff --git a/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc b/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc index 40ce7148d3..6159968a69 100644 --- a/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc +++ b/keyboards/giabalanai/keymaps/party/rgb_matrix_user.inc @@ -40,7 +40,7 @@ bool my_solid_reactive_with_CnoteIndicator(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool my_party_rocks(effect_params_t* params) { @@ -49,7 +49,7 @@ bool my_party_rocks(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); // rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h index 1a8bf51312..3fa2d120bc 100755 --- a/keyboards/gizmo_engineering/gk6/config.h +++ b/keyboards/gizmo_engineering/gk6/config.h @@ -46,7 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 32 #define DRIVER_2_LED_TOTAL 32 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_KEYPRESSES #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c index 9066fc85a5..390213ef26 100755 --- a/keyboards/gizmo_engineering/gk6/gk6.c +++ b/keyboards/gizmo_engineering/gk6/gk6.c @@ -17,7 +17,7 @@ #include "gk6.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/gizmo_engineering/gk6/keymaps/12x5/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c index bb7b627ce4..1239a6a049 100755 --- a/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c +++ b/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c @@ -93,11 +93,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(25, 0, 0, 0); rgb_matrix_set_color(36, 0, 0, 0); rgb_matrix_set_color(42, 0, 0, 0); + return false; } void keyboard_pre_init_user(void) { diff --git a/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c index 41e3062dc2..09b69b907a 100755 --- a/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c +++ b/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c @@ -93,12 +93,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(25, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(35, 0, 0, 0); rgb_matrix_set_color(42, 0, 0, 0); + return false; } void keyboard_pre_init_user(void) { diff --git a/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c index ad357648ac..8b7832ba9f 100755 --- a/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c +++ b/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c @@ -93,12 +93,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(24, 0, 0, 0); rgb_matrix_set_color(30, 0, 0, 0); rgb_matrix_set_color(35, 0, 0, 0); rgb_matrix_set_color(36, 0, 0, 0); rgb_matrix_set_color(41, 0, 0, 0); + return false; } #endif diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h index ef0643ce94..4a87c1b09c 100644 --- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h +++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h @@ -25,16 +25,14 @@ #undef RGBLED_NUM #endif -#define DRIVER_LED_TOTAL 73 +#define RGB_MATRIX_LED_COUNT 73 #ifdef RGB_MATRIX_ENABLE #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_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off -// #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended - #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_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 // #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set diff --git a/keyboards/gmmk/gmmk2/p65/ansi/ansi.c b/keyboards/gmmk/gmmk2/p65/ansi/ansi.c index 437b50648e..28033da538 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/gmmk/gmmk2/p65/config.h b/keyboards/gmmk/gmmk2/p65/config.h index 6a6c22c6f0..840a402dcf 100644 --- a/keyboards/gmmk/gmmk2/p65/config.h +++ b/keyboards/gmmk/gmmk2/p65/config.h @@ -57,7 +57,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 54 #define DRIVER_2_LED_TOTAL 34 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/gmmk/gmmk2/p65/iso/iso.c b/keyboards/gmmk/gmmk2/p65/iso/iso.c index 651a612a58..1a70353829 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 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 455a598982..808b175555 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/gmmk/gmmk2/p96/config.h b/keyboards/gmmk/gmmk2/p96/config.h index 03a7f58538..aa7e59ef98 100644 --- a/keyboards/gmmk/gmmk2/p96/config.h +++ b/keyboards/gmmk/gmmk2/p96/config.h @@ -61,7 +61,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 54 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/gmmk/gmmk2/p96/iso/iso.c b/keyboards/gmmk/gmmk2/p96/iso/iso.c index e1fee18079..dc9f7be682 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/gmmk/pro/rev1/ansi/ansi.c b/keyboards/gmmk/pro/rev1/ansi/ansi.c index 1df3319fd2..3fc45d61d0 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_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/config.h b/keyboards/gmmk/pro/rev1/ansi/config.h index 7c68375b2f..8e5518e1b9 100644 --- a/keyboards/gmmk/pro/rev1/ansi/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/config.h @@ -20,4 +20,4 @@ #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 32 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c index d666454a3e..838aee8652 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/alexmarmon/keymap.c @@ -62,5 +62,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h index 1438d317fb..5dda6f15bc 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 Andre Brait +/* Copyright 2022 Andre Brait * * 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 @@ -17,6 +17,6 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) #define RGB_DISABLE_WHEN_USB_SUSPENDED #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c index e5599a787d..ca39c39203 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c @@ -102,17 +102,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return true; -} -#endif // ENCODER_ENABLE - #ifdef RGB_MATRIX_ENABLE #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds @@ -264,7 +253,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user() { +bool rgb_matrix_indicators_user(void) { if (effect_started_time > 0) { /* Render blinking EFFECTS */ const uint16_t deltaTime = sync_timer_elapsed(effect_started_time); @@ -300,6 +289,7 @@ void rgb_matrix_indicators_user() { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds(); } + return false; } static void start_effects() { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md index 99d0a36721..b080f02c6b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/readme.md @@ -8,8 +8,6 @@ The differences are as follows: - Dedicated MacOS and Windows/Linux layers - Switching between them by pressing Fn + CAPS LOCK - Disabled Mouse Keys (to fix issues with KVM switches and also because they're not used here anyway) -- Short DEBOUNCE time (5 ms) -- Per-key debounce algorithm (sym_defer_pk) - RGB turns off after 20 minutes of inactivity - RGB turns off when USB is suspended - Layer 0: diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index 057e9a9541..8983ba87c3 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -1,6 +1,4 @@ # Enable additional features. -DEBOUNCE_TYPE = sym_defer_pk - # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c index 16f1acd68b..52fd7a5a34 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrewcharnley/keymap.c @@ -76,7 +76,7 @@ void keyboard_post_init_user(void) { val = rgb_matrix_get_val(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color_all(val,0,0); @@ -84,4 +84,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { rgb_matrix_set_color_all(val, val, val); val = rgb_matrix_get_val(); } + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c index 86743acf73..b536a8535a 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/benschaeff/keymap.c @@ -99,7 +99,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return false; } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { switch(get_highest_layer(layer_state)) { // special handling per layer case 0: //layer one @@ -124,4 +124,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { default: break; } + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c index fb60872ea8..52f2011712 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/byungyoonc/keymap.c @@ -74,7 +74,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { tap_code16(KC_VOLD); } } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE @@ -110,7 +111,7 @@ static void set_rgb_wlck_leds() { rgb_matrix_set_color(92, 0x77, 0xFF, 0x77); // Right side LED 8 } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { set_rgb_caps_leds(); } @@ -120,6 +121,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (keymap_config.no_gui) { set_rgb_wlck_leds(); } + return false; } void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c index 09f8aa147a..1ff0a28e4d 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/cedrikl/keymap.c @@ -68,7 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE @@ -77,9 +78,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { // const ledmap *l = &(ledmaps[layer]); // -// // -// for (int i = 0; i < DRIVER_LED_TOTAL; i++) { +// +// for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { // HSV hsv = { // .h = (*l)[i][0], // .s = (*l)[i][1], @@ -106,17 +107,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } // Capslock, Scroll lock and Numlock indicator on Left side lights. - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { - loop_colorset(LED_REGION_A, (sizeof(LED_REGION_A) / sizeof(LED_REGION_A[0])), hsv_cl_blue); - loop_colorset(LED_REGION_B, (sizeof(LED_REGION_B) / sizeof(LED_REGION_B[0])), hsv_cl_purple); - loop_colorset(LED_REGION_L_SIDE, (sizeof(LED_REGION_L_SIDE) / sizeof(LED_REGION_L_SIDE[0])), hsv_cl_purple); - loop_colorset(LED_REGION_R_SIDE, (sizeof(LED_REGION_R_SIDE) / sizeof(LED_REGION_R_SIDE[0])), hsv_cl_purple); + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + loop_colorset(LED_REGION_A, ARRAY_SIZE(LED_REGION_A), + hsv_cl_blue); + loop_colorset(LED_REGION_B, ARRAY_SIZE(LED_REGION_B), + hsv_cl_purple); + loop_colorset(LED_REGION_L_SIDE, ARRAY_SIZE(LED_REGION_L_SIDE), + hsv_cl_purple); + loop_colorset(LED_REGION_R_SIDE, ARRAY_SIZE(LED_REGION_R_SIDE), + hsv_cl_purple); switch(get_highest_layer(layer_state)){ // special handling per layer case 1: //layer 1 //rgb_matrix_set_color_all(RGB_AZURE); - loop_colorset(LED_REGION_NUMPAD, (sizeof(LED_REGION_NUMPAD) / sizeof(LED_REGION_NUMPAD[0])), hsv_cl_numpad); - loop_colorset(LED_REGION_OTHER, (sizeof(LED_REGION_OTHER) / sizeof(LED_REGION_OTHER[0])), hsv_cl_mods); + loop_colorset(LED_REGION_NUMPAD, + ARRAY_SIZE(LED_REGION_NUMPAD), hsv_cl_numpad); + loop_colorset(LED_REGION_OTHER, ARRAY_SIZE(LED_REGION_OTHER), + hsv_cl_mods); break; default: //layer 0 // @@ -148,7 +155,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { rgb_matrix_set_color(LED_L6, bad_rgb.r, bad_rgb.g, bad_rgb.b); rgb_matrix_set_color(LED_L7, bad_rgb.r, bad_rgb.g, bad_rgb.b); rgb_matrix_set_color(LED_L8, bad_rgb.r, bad_rgb.g, bad_rgb.b); - loop_colorset(LED_REGION_CAPS, (sizeof(LED_REGION_CAPS) / sizeof(LED_REGION_CAPS[0])), hsv_cl_bad); + loop_colorset(LED_REGION_CAPS, ARRAY_SIZE(LED_REGION_CAPS), + hsv_cl_bad); } + return false; } #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c index 7d2c22506a..b71d18d481 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c @@ -107,5 +107,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c index 6557734f59..1294d64fe8 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c @@ -65,4 +65,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif
\ No newline at end of file +#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c index 8eedeb6e00..c693bd90d8 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gigahawk/keymap.c @@ -52,10 +52,11 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (IS_LAYER_ON(_TRAN)) { rgb_matrix_set_color_all(_TRAN_COLOR_RGB); } else if (IS_LAYER_ON(_GAME)) { @@ -65,10 +66,11 @@ void rgb_matrix_indicators_user(void) { } if (host_keyboard_led_state().caps_lock) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, _CAPS_COLOR_RGB); } } } + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c index ab98693649..5a45e4e353 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/gourdo1/keymap.c @@ -242,7 +242,7 @@ void hurt_paddle(void) { #endif //GAME_ENABLE // Capslock, Scroll lock and Numlock indicator on Left side lights. -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); // Scroll Lock RGB setup @@ -359,7 +359,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif // GAME_ENABLE // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR + #ifdef INVERT_NUMLOCK_INDICATOR if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled rgb_matrix_set_color(LED_N, RGB_ORANGE2); } @@ -431,7 +431,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Numpad & Mouse Keys overlay RGB case _NUMPADMOUSE: - #ifdef INVERT_NUMLOCK_INDICATOR + #ifdef INVERT_NUMLOCK_INDICATOR if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled rgb_matrix_set_color(LED_N, RGB_ORANGE2); } @@ -538,7 +538,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (paddle_lives == 0) { // Game over - for (uint8_t i = 0; i < sizeof(LED_GAME_OVER) / sizeof(LED_GAME_OVER[0]); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(LED_GAME_OVER); i++) { rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED); } @@ -699,6 +699,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif //GAME_ENABLE break; } + return false; } #endif @@ -707,4 +708,4 @@ void keyboard_post_init_keymap(void) { #ifdef RGB_MATRIX_ENABLE activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle #endif -}
\ No newline at end of file +} diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h index 1438d317fb..845262b7e8 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/config.h @@ -17,6 +17,6 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) #define RGB_DISABLE_WHEN_USB_SUSPENDED #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c index 3be0e5e31b..aa1558fd07 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/hachetman/keymap.c @@ -83,7 +83,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE @@ -219,7 +220,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } -void rgb_matrix_indicators_user() { +bool rgb_matrix_indicators_user() { #if RGB_CONFIRMATION_BLINKING_TIME > 0 if (effect_started_time > 0) { /* Render blinking EFFECTS */ @@ -257,6 +258,7 @@ void rgb_matrix_indicators_user() { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds(); } + return false; } #if RGB_CONFIRMATION_BLINKING_TIME > 0 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c index 98354b4654..1bedcab41f 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/jackkenney/keymap.c @@ -62,5 +62,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c index 47490a0617..c7947a66f6 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/jonavin/keymap.c @@ -112,13 +112,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { break; } } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE #ifdef RGB_MATRIX_ENABLE // Capslock, Scroll lock and Numlock indicator on Left side lights. - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { rgb_matrix_set_color(LED_L1, RGB_GREEN); @@ -187,14 +188,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { default: break; } - } - - void suspend_power_down_user(void) { - rgb_matrix_set_suspend_state(true); - } - - void suspend_wakeup_init_user(void) { - rgb_matrix_set_suspend_state(false); + return false; } #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c index c87532990f..bc20d46d3a 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/lalitmaganti/keymap.c @@ -80,12 +80,13 @@ static void set_rgb_side_leds() { rgb_matrix_set_color(92, RGB_WHITE); // Right side LED 8 } -void rgb_matrix_indicators_user() { +bool rgb_matrix_indicators_user() { rgb_matrix_set_color_all(0x0, 0x0, 0x0); if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(3, RGB_WHITE); // CAPS } set_rgb_side_leds(); + return false; } -#endif
\ No newline at end of file +#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h index 799c5d9593..a462b569f9 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/config.h @@ -18,7 +18,7 @@ // At the time of this, there are 41 effects! That may be a bit too many to cycle through - keeping what I believe is the best. #ifdef RGB_MATRIX_ENABLE - #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) // #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c index 8175cf68c8..8740bfe89c 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/macos/keymap.c @@ -144,7 +144,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif //ENCODER_ENABLE @@ -371,7 +372,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } - void rgb_matrix_indicators_user() { + bool rgb_matrix_indicators_user(void) { #if RGB_CONFIRMATION_BLINKING_TIME > 0 if (effect_started_time > 0) { /* Render blinking EFFECTS */ @@ -409,6 +410,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds(); } + return false; } #if RGB_CONFIRMATION_BLINKING_TIME > 0 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c index 52c9dfdf99..a7ab0c9cc3 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/ansi.c @@ -136,7 +136,7 @@ led_config_t PROGMEM 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_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/mattgauf/helpers.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c index f3f443cedb..d30224636b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/helpers.c @@ -17,7 +17,7 @@ #include "rgb_matrix.h" void rgb_matrix_set_color_flags(uint8_t red, uint8_t green, uint8_t blue, uint8_t flags) { - for (uint8_t ii = 0; ii < DRIVER_LED_TOTAL; ii++) { + for (uint8_t ii = 0; ii < RGB_MATRIX_LED_COUNT; ii++) { if (g_led_config.flags[ii] & flags) { rgb_matrix_set_color(ii, red, green, blue); } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c index 020322085b..b94c380e60 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mattgauf/keymap.c @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; // Runs constantly in the background, in a loop. -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (rgb_matrix_get_flags() & (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER)) { if (IS_LAYER_ON(_UTILITY)) { @@ -108,6 +108,7 @@ void rgb_matrix_indicators_user(void) { } } + return false; } @@ -173,7 +174,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h index 46719e3a78..da70d56b7b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/config.h @@ -19,7 +19,7 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_DISABLE_TIMEOUT 90000 +#define RGB_MATRIX_TIMEOUT 90000 #define MACRO_TIMER 5 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c index 049f4df7e4..43ed195fbb 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/encoder.c @@ -49,7 +49,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { (*encoder_mapping[state][1])(); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } void handle_rgb_key(bool pressed) { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c index f553874eb0..cb47824c80 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/fun.c @@ -19,7 +19,7 @@ static bool wpm_rgb_enabled = false; static uint8_t rgb_mode; -void rgb_matrix_indicators_keymap(void) { +bool rgb_matrix_indicators_keymap(void) { if (wpm_rgb_enabled && rgb_matrix_is_enabled()) { uint8_t wpm = get_current_wpm(); dprintf("WPM = %d\n", wpm); @@ -28,6 +28,7 @@ void rgb_matrix_indicators_keymap(void) { RGB rgb = hsv_to_rgb(hsv); rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); } + return false; } bool process_record_fun(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c index dda68fda2f..607606b3e7 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/mike1808.c @@ -51,7 +51,7 @@ void suspend_wakeup_init_user(void) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { // Turn on sideglow when CAPS LOCK is activated if (host_keyboard_led_state().caps_lock) { HSV hsv = {CAPS_LOCK_COLOR}; @@ -64,5 +64,6 @@ void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { } } } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c index 6f4d333ede..0106d80c14 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c @@ -15,9 +15,9 @@ */ #include "rgb_matrix_ledmaps.h" -__attribute__((weak)) void rgb_matrix_indicators_keymap(void) { return; } -__attribute__((weak)) void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { - return; +__attribute__((weak)) bool rgb_matrix_indicators_keymap(void) { return true; } +__attribute__((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { + return true; } #ifdef RGB_MATRIX_LEDMAPS_ENABLED @@ -26,15 +26,15 @@ static bool enabled = true; #endif // RGB_MATRIX_LEDMAPS_ENABLED -void rgb_matrix_indicators_user(void) { rgb_matrix_indicators_keymap(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_user(void) { return rgb_matrix_indicators_keymap(); } +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #ifdef RGB_MATRIX_LEDMAPS_ENABLED if (rgb_matrix_is_enabled() && enabled) { set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state)); } #endif // RGB_MATRIX_LEDMAPS_ENABLED - rgb_matrix_indicators_advanced_keymap(led_min, led_max); + return rgb_matrix_indicators_advanced_keymap(led_min, led_max); } #ifdef RGB_MATRIX_LEDMAPS_ENABLED @@ -44,7 +44,7 @@ void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { uint8_t val = rgb_matrix_get_val(); - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = (*l)[i][0], .s = (*l)[i][1], diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h index eace217d18..931dfa0704 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h @@ -48,7 +48,7 @@ ka4, k73 \ } // clang-format on -typedef uint8_t ledmap[DRIVER_LED_TOTAL][3]; +typedef uint8_t ledmap[RGB_MATRIX_LED_COUNT][3]; extern const ledmap ledmaps[]; void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer); @@ -96,5 +96,5 @@ void rgb_matrix_layers_disable(void); #endif // RGB_MATRIX_LEDMAPS_ENABLED -void rgb_matrix_indicators_keymap(void); -void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max); +bool rgb_matrix_indicators_keymap(void); +bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max); diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c index e59db7b984..61f99e491b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/paddlegame/keymap.c @@ -77,29 +77,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT( - KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______, - RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW, + KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______, + RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, QK_BOOT, RGB_M_B, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW, _______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI ), [_MO2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_MO2), _______, _______, _______, _______ ), [_MO3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } } break; - + case _BASE: default: if ( clockwise ) { @@ -136,9 +136,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } else { tap_code(KC_VOLD); } - break; + break; } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif @@ -149,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ball[i].up = false; ball[i].y = 0; ball[i].x = rand() % 16; - + // Set initial ball state if (ball[i].x < 8) { ball[i].left = false; @@ -157,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ball[i].x -= 4; ball[i].left = true; } - + // 1/4 chance of being an enemy ball after level 6 if (level_number > 3) { ball[i].enemy = ((rand() % 4) == 0); @@ -172,14 +173,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } damage_timer = timer_read(); damage_count = 10; - + // Reset board init_ball(0); ball[1].on = false; } // Capslock, Scroll lock and Numlock indicator on Left side lights. - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { switch(get_highest_layer(layer_state)) { case _FN1: // Light up FN layer keys @@ -189,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { rgb_value.g = 0x00; rgb_value.b = 0x00; } - + if (rgb_value.r == 0xff && rgb_value.g < 0xff) { if (rgb_value.b > 0) { --rgb_value.b; } else { ++rgb_value.g; } @@ -200,29 +201,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (rgb_value.g > 0) { --rgb_value.g; } else { ++rgb_value.r; } } - - for (uint8_t i=0; i<sizeof(LED_RGB)/sizeof(LED_RGB[0]); i++) { + + for (uint8_t i=0; i<ARRAY_SIZE(LED_RGB); i++) { rgb_matrix_set_color(LED_RGB[i], rgb_value.r, rgb_value.g, rgb_value.b); } - - for (uint8_t i=0; i<sizeof(LED_WHITE)/sizeof(LED_WHITE[0]); i++) { + + for (uint8_t i=0; i<ARRAY_SIZE(LED_WHITE); i++) { rgb_matrix_set_color(LED_WHITE[i], RGB_WHITE); } - for (uint8_t i=0; i<sizeof(LED_GREEN)/sizeof(LED_GREEN[0]); i++) { + for (uint8_t i=0; i<ARRAY_SIZE(LED_GREEN); i++) { rgb_matrix_set_color(LED_GREEN[i], RGB_GREEN); } - + rgb_matrix_set_color(LED_ESC, RGB_RED); - + rgb_matrix_set_color(LED_LWIN, RGB_BLUE); break; - + case _MO2: // Paddle game if (!game_start) { srand((unsigned int)timer_read()); - + // Store user light settings last_hsv = rgb_matrix_get_hsv(); rgb_matrix_sethsv_noeeprom(0, 0, 0); @@ -230,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { rgb_value.r = 0xff; rgb_value.g = 0x00; rgb_value.b = 0x00; - + paddle_pos_full = 8; paddle_lives = 4; bounce_count = 0; @@ -243,17 +244,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { game_start = true; } - + // Set level indicator if (level_number < 12) { rgb_matrix_set_color(GAME_R0[level_number], RGB_BLUE); } - + // Set life bar for (uint8_t i=0; i < paddle_lives ; i++) { rgb_matrix_set_color(GAME_LIVES[i], RGB_GREEN); } - + uint8_t paddle_pos = paddle_pos_full >> 1; if (damage_count > 0) { @@ -270,14 +271,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (damage_count == 0) { ball_timer = timer_read(); } - + } else if (paddle_lives == 0) { // Game over - for (uint8_t i=0; i<sizeof(LED_GAME_OVER)/sizeof(LED_GAME_OVER[0]); i++) { + for (uint8_t i=0; i<ARRAY_SIZE(LED_GAME_OVER); i++) { rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED); } - + } else if (level_number >= 12) { // You win if (rgb_value.r == 0xff && rgb_value.g < 0xff) { @@ -290,7 +291,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (rgb_value.g > 0) { --rgb_value.g; } else { ++rgb_value.r; } } - + for (uint8_t i=0; i < 3 ; i++) { rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b); } @@ -298,15 +299,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); - + } else { // normal game loop - + // Set paddle position for (uint8_t i=0; i < 3 ; i++) { rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN); } - + // Ball movement logic happens at intervals if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) { for (int i=0; i<2; ++i) { @@ -331,7 +332,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (ball[i].y > 4) { // Remove a life if ball isn't returned and isn't enemy if (!ball[i].enemy) { - hurt_paddle(); + hurt_paddle(); i = 2; } else { ball[i].on = false; @@ -351,7 +352,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } ball_timer = timer_read(); } - + // Other ball stuff for (int i=0; i<2; ++i) { if (ball[i].on) { @@ -410,12 +411,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { break; } } - } + } } - + break; - + default: fn_active = false; if (game_start) { @@ -423,7 +424,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { game_start = false; rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v); } - break; + break; } if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { @@ -439,12 +440,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { rgb_matrix_set_color(LED_CAPS, RGB_WHITE); if (caps_flash_on) { - for (uint8_t i=0; i<sizeof(LED_SIDE_LEFT)/sizeof(LED_SIDE_LEFT[0]); i++) { + for (uint8_t i=0; i<ARRAY_SIZE(LED_SIDE_LEFT); i++) { rgb_matrix_set_color(LED_SIDE_LEFT[i], RGB_RED); rgb_matrix_set_color(LED_SIDE_RIGHT[i], RGB_RED); } } else { - for (uint8_t i=0; i<sizeof(LED_SIDE_LEFT)/sizeof(LED_SIDE_LEFT[0]); i++) { + for (uint8_t i=0; i<ARRAY_SIZE(LED_SIDE_LEFT); i++) { rgb_matrix_set_color(LED_SIDE_LEFT[i], 0, 0, 0); rgb_matrix_set_color(LED_SIDE_RIGHT[i], 0, 0, 0); } @@ -458,6 +459,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { if (keymap_config.no_gui) { rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled } + return false; } #endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c index e4569ac3ad..d4ed360246 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/stickandgum/keymap.c @@ -76,7 +76,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { set_mods(mod_state); // Add back in the CTRL key - so ctrl-key will work if ctrl was never released after paging. } else if (get_mods() & MOD_MASK_SHIFT) { uint8_t mod_state = get_mods(); - unregister_mods(MOD_MASK_SHIFT); + unregister_mods(MOD_MASK_SHIFT); if (clockwise) { #ifdef MOUSEKEY_ENABLE // If using the mouse scroll - make sure MOUSEKEY is enabled tap_code(KC_MS_WH_DOWN); @@ -96,7 +96,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif //ENCODER_ENABLE @@ -108,17 +109,17 @@ static void set_rgb_scroll_leds_off(void); // Called on powerup and is the last _init that is run. void keyboard_post_init_user(void) { - + int mods[35] = {0,2,3,4,5,11,17,33,49,55,65,95,97,79,94,85,93,96,90,69,92,67,76,80,91,75,86,68,77,81,92,28,34,39,44}; int j; - + /* output each array element's value */ for (j = 0; j < 35; j++ ) { g_led_config.flags[mods[j]] = LED_FLAG_MODIFIER; } - if (!rgb_matrix_is_enabled()) { - rgb_matrix_enable(); + if (!rgb_matrix_is_enabled()) { + rgb_matrix_enable(); #ifdef CONSOLE_ENABLE uprintf("ERROR! RGB Matrix Enabled and wrote to EEPROM! -How was the RGB Matrix Disabled?"); #endif @@ -205,19 +206,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case LED_EQL: rgb_matrix_mode(RGB_MATRIX_TYPING_HEATMAP); break; - #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS + #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS case QMKBEST: if (record->event.pressed) { // when keycode QMKBEST is pressed SEND_STRING("QMK rocks"); - } else { // when keycode QMKBEST key is released + } else { // when keycode QMKBEST key is released SEND_STRING("!!"); } break; - } + } return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock) { set_rgb_caps_leds_on(); } else { @@ -232,6 +233,7 @@ void rgb_matrix_indicators_user(void) { set_rgb_scroll_leds_off(); } } + return false; } // RGB led number layout, function of the key @@ -245,7 +247,7 @@ void rgb_matrix_indicators_user(void) { // 87, led 07 88, led 18 // 91, led 08 92, led 19 -static void set_rgb_caps_leds_on() { +static void set_rgb_caps_leds_on() { rgb_matrix_set_color(0, 255, 0, 0); //Escape Key rgb_matrix_set_color(3, 255, 0, 0); //capslock key rgb_matrix_set_color(5, 255, 0, 0); //Left CTRL key @@ -289,11 +291,11 @@ static void set_rgb_caps_leds_off() { rgb_matrix_set_color(92, 0, 0, 0); //Right LED 19 } -static void set_rgb_scroll_leds_on() { +static void set_rgb_scroll_leds_on() { rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME) } -static void set_rgb_scroll_leds_off() { +static void set_rgb_scroll_leds_off() { rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME) } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c index 22288f2d2c..8d425cdf1e 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/trwnh/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { // 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16 // 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17 // 87, led 07 88, led 18 -// 91, led 08 +// 91, led 08 #ifdef RGB_MATRIX_ENABLE static void set_rgb_caps_leds_on(void); @@ -132,15 +132,15 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { rgb_matrix_set_color(43, 0, 0, 0); // M } - static void set_rgb_scroll_leds_on() { + static void set_rgb_scroll_leds_on() { rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME) } - static void set_rgb_scroll_leds_off() { + static void set_rgb_scroll_leds_off() { rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME) } - void rgb_matrix_indicators_user(void) { + bool rgb_matrix_indicators_user(void) { // Left side rainbow rgb_matrix_set_color(67, 255, 0, 0); // Left LED 01 rgb_matrix_set_color(70, 255, 127, 0); // Left LED 02 @@ -175,6 +175,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { set_rgb_scroll_leds_off(); } } + return false; } -#endif // RGB_MATRIX_ENABLE
\ No newline at end of file +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c index 71e3ecd5e6..73e56752b7 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c @@ -84,4 +84,4 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } }; -#endif
\ No newline at end of file +#endif diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c index fd64902108..e558d84527 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/wholesomeducky/keymap.c @@ -53,5 +53,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_MS_WH_LEFT); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c index 2ee79eae79..5343f1b649 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/willwm/keymap.c @@ -69,5 +69,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } diff --git a/keyboards/gmmk/pro/rev1/iso/config.h b/keyboards/gmmk/pro/rev1/iso/config.h index 26626ccfc1..d8074af06c 100644 --- a/keyboards/gmmk/pro/rev1/iso/config.h +++ b/keyboards/gmmk/pro/rev1/iso/config.h @@ -20,4 +20,4 @@ #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 33 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/rev1/iso/iso.c b/keyboards/gmmk/pro/rev1/iso/iso.c index fa57f1ca92..babb6bd6c7 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_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/iso/keymaps/chofstede/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c index b28809fdf6..971e0821a3 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/chofstede/keymap.c @@ -71,7 +71,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { static uint32_t cycle_led_timer = 0; static uint8_t current_value = 0; static uint8_t left_side_leds[8] = {68, 71, 74, 77, 81, 84, 88, 92}; @@ -84,7 +84,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } HSV tempHSV = {.h = 0, .s = 255, .v = current_value}; RGB tempRGB = hsv_to_rgb(tempHSV); - for (uint8_t i = 0; i < sizeof(left_side_leds) / sizeof(left_side_leds[0]); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(left_side_leds); i++) { rgb_matrix_set_color(left_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b); rgb_matrix_set_color(right_side_leds[i], tempRGB.r, tempRGB.g, tempRGB.b); } @@ -95,7 +95,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { case 2: //layer one break; case 1: - for (uint8_t i = 0; i < sizeof(l2_functions) / sizeof(l2_functions[0]); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(l2_functions); i++) { RGB_MATRIX_INDICATOR_SET_COLOR(l2_functions[i], 255, 0, 0); } break; @@ -103,4 +103,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; break; } + return false; } diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c index 30e8fc5f44..ef4dcc6a05 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/gourdo1/keymap.c @@ -2,7 +2,7 @@ Copyright 2021 Jonavin Eng @Jonavin Copyright 2022 RustyBrakes (ISO conversion) Copyright 2022 gourdo1 <gourdo1@outlook.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 @@ -243,7 +243,7 @@ void hurt_paddle(void) { #endif //GAME_ENABLE // Capslock, Scroll lock and Numlock indicator on Left side lights. -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); // Scroll Lock RGB setup @@ -367,7 +367,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif // GAME_ENABLE // System NumLock warning indicator RGB setup - #ifdef INVERT_NUMLOCK_INDICATOR + #ifdef INVERT_NUMLOCK_INDICATOR if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled rgb_matrix_set_color(LED_N, RGB_ORANGE2); } @@ -444,7 +444,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Numpad & Mouse Keys overlay RGB case _NUMPADMOUSE: - #ifdef INVERT_NUMLOCK_INDICATOR + #ifdef INVERT_NUMLOCK_INDICATOR if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF to bring attention to overlay numpad not functional when enabled rgb_matrix_set_color(LED_N, RGB_ORANGE2); } @@ -551,7 +551,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (paddle_lives == 0) { // Game over - for (uint8_t i = 0; i < sizeof(LED_GAME_OVER) / sizeof(LED_GAME_OVER[0]); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(LED_GAME_OVER); i++) { rgb_matrix_set_color(LED_GAME_OVER[i], RGB_RED); } @@ -712,6 +712,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif //GAME_ENABLE break; } + return false; } #endif @@ -720,4 +721,4 @@ void keyboard_post_init_keymap(void) { #ifdef RGB_MATRIX_ENABLE activate_rgb_nightmode(false); // Set to true if you want to startup in nightmode, otherwise use Fn + Z to toggle #endif -}
\ No newline at end of file +} diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c index e4b5711e8b..27ce76970a 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/jonavin/keymap.c @@ -102,13 +102,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { break; } } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE #ifdef RGB_MATRIX_ENABLE // Capslock, Scroll lock and Numlock indicator on Left side lights. - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { rgb_matrix_set_color(LED_L1, RGB_GREEN); @@ -177,6 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { default: break; } + return false; } #endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h index fd8f1d6859..105efad960 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/config.h @@ -6,9 +6,9 @@ #if defined(RGB_MATRIX_ENABLE) #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // number of milliseconds to wait until turning off RGB automatically - #define RGB_DISABLE_TIMEOUT 300000 // 300 seconds / 5 min + #define RGB_MATRIX_TIMEOUT 300000 // 300 seconds / 5 min // start fading out before getting disabled - // fading out is timed (depending on the rgb_matrix_config.speed) to have finished before reaching RGB_DISABLE_TIMEOUT + // fading out is timed (depending on the rgb_matrix_config.speed) to have finished before reaching RGB_MATRIX_TIMEOUT #define RGB_DISABLE_WITH_FADE_OUT #define RGB_DISABLE_WHEN_USB_SUSPENDED // number of milliseconds to wait until activating RGB idle effects diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c index 1e32e7e9c0..2c8a67ef9b 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/keymap.c @@ -84,7 +84,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } break; } - return true; + //return true; //set to return false to counteract enabled encoder in pro.c + return false; } #endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc index 38a74a568b..c34887ebd2 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni/readme.adoc @@ -63,11 +63,11 @@ The code customizing RGB light usage is decribed here: * link:../../../../../../users/vitoni/readme.adoc[/users/vitoni/readme.adoc] -When using `RGB_DISABLE_TIMEOUT` addtional options are available: +When using `RGB_MATRIX_TIMEOUT` addtional options are available: * `RGB_FADE_IN` makes the RGB lights fade in instead of setting the value/brightness to 100% (implicitly due to HSV including the brightness) when resuming after RGB lights have been turned off. Fade in occurs when the keyboard is initialized and when the RGB brightness has been changed (e.g. suspending, fade out, etc.). -* `RGB_DISABLE_WITH_FADE_OUT` activates fade out before the keyboard is disabled by `RGB_DISABLE_TIMEOUT`. +* `RGB_DISABLE_WITH_FADE_OUT` activates fade out before the keyboard is disabled by `RGB_MATRIX_TIMEOUT`. Parameters used to define the behavior are: [%header] diff --git a/keyboards/gmmk/pro/rev2/ansi/ansi.c b/keyboards/gmmk/pro/rev2/ansi/ansi.c index 9cf28e4648..c22fbc796d 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_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/config.h b/keyboards/gmmk/pro/rev2/ansi/config.h index 996ee21afc..6803bd8ced 100644 --- a/keyboards/gmmk/pro/rev2/ansi/config.h +++ b/keyboards/gmmk/pro/rev2/ansi/config.h @@ -20,4 +20,4 @@ #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 32 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/rev2/iso/config.h b/keyboards/gmmk/pro/rev2/iso/config.h index 82390fc147..0b2e0a4cb2 100644 --- a/keyboards/gmmk/pro/rev2/iso/config.h +++ b/keyboards/gmmk/pro/rev2/iso/config.h @@ -20,4 +20,4 @@ #define DRIVER_1_LED_TOTAL 66 #define DRIVER_2_LED_TOTAL 33 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/rev2/iso/iso.c b/keyboards/gmmk/pro/rev2/iso/iso.c index 3567a52d0d..20626ff9c5 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 aw_led g_aw_leds[DRIVER_LED_TOTAL] = { +const aw_led g_aw_leds[RGB_MATRIX_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/gopolar/gg86/config.h b/keyboards/gopolar/gg86/config.h index 7964834623..d1c75d0c79 100644 --- a/keyboards/gopolar/gg86/config.h +++ b/keyboards/gopolar/gg86/config.h @@ -41,7 +41,7 @@ #ifdef RGB_MATRIX_ENABLE /* RGB Matrix config */ #define RGB_DI_PIN E2 - #define DRIVER_LED_TOTAL 100 + #define RGB_MATRIX_LED_COUNT 100 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c b/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c index de1046c5d3..9f23371831 100644 --- a/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c +++ b/keyboards/gopolar/gg86/keymaps/bongocat/keymap.c @@ -181,7 +181,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -206,6 +206,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(73, 0, 0, 0); } } + return false; } #ifdef OLED_ENABLE diff --git a/keyboards/gopolar/gg86/keymaps/default/keymap.c b/keyboards/gopolar/gg86/keymaps/default/keymap.c index 070858c958..3b0a6aa66c 100644 --- a/keyboards/gopolar/gg86/keymaps/default/keymap.c +++ b/keyboards/gopolar/gg86/keymaps/default/keymap.c @@ -230,7 +230,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -255,6 +255,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(73, 0, 0, 0); } } + return false; } #ifdef OLED_ENABLE diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h index ad7a3238ce..9003cd5e6b 100644 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h +++ b/keyboards/gopolar/gg86/keymaps/horrortroll/keymap_stuff.h @@ -75,7 +75,7 @@ enum layer_keycodes { G_PRE, //Gradient presets REF_G, //Toggle between linear and reflected gradient G_FLIP, //Flip the gradient colors - + //Custom led effect keycode RGB_C_E, //Cycle user effect }; @@ -118,7 +118,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { {{205, 250, 255}, {140, 215, 125}, false }, }; - uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]); + uint8_t gp_length = ARRAY_SIZE(gradient_presets); switch (keycode) { case G1_HUI: @@ -276,7 +276,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -301,4 +301,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(73, 0, 0, 0); } } + return false; } diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c index fcedf777eb..951884b456 100644 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c +++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/custom_gradient.c @@ -70,5 +70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; }
\ No newline at end of file diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h index 5b610716e0..9fff344664 100644 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h +++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h @@ -41,5 +41,5 @@ bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; }
\ No newline at end of file diff --git a/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c b/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c index e5f399cdd3..b5ffef665f 100644 --- a/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c +++ b/keyboards/gopolar/gg86/keymaps/horrortroll/led/random_breath_rainbow.c @@ -14,7 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -static uint8_t offset[DRIVER_LED_TOTAL]; +static uint8_t offset[RGB_MATRIX_LED_COUNT]; static void doRandom_breath_rainbow(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; @@ -41,7 +41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 - doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params); + doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params); return false; } @@ -51,5 +51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { doRandom_breath_rainbow(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; }
\ No newline at end of file diff --git a/keyboards/gopolar/gg86/keymaps/via/keymap.c b/keyboards/gopolar/gg86/keymaps/via/keymap.c index 070858c958..3b0a6aa66c 100644 --- a/keyboards/gopolar/gg86/keymaps/via/keymap.c +++ b/keyboards/gopolar/gg86/keymaps/via/keymap.c @@ -230,7 +230,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -255,6 +255,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(73, 0, 0, 0); } } + return false; } #ifdef OLED_ENABLE diff --git a/keyboards/gopolar/gg86/lib/wave.h b/keyboards/gopolar/gg86/lib/wave.h index 11a3198ab1..f4e5e5052c 100644 --- a/keyboards/gopolar/gg86/lib/wave.h +++ b/keyboards/gopolar/gg86/lib/wave.h @@ -69,7 +69,7 @@ void add_keylog(uint16_t keycode) { keycode = 0; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { char log_char = pgm_read_byte(&code_to_name[keycode]); for (uint8_t j = 0; j < OLED_FONT_WIDTH; j++) { diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/config.h b/keyboards/gray_studio/space65/keymaps/madhatter/config.h index e297ebedc5..b591b6d76f 100644 --- a/keyboards/gray_studio/space65/keymaps/madhatter/config.h +++ b/keyboards/gray_studio/space65/keymaps/madhatter/config.h @@ -1,4 +1,4 @@ #pragma once #undef PRODUCT -#define PRODUCT MadHatter\x27s Custom Spacc +#define PRODUCT "MadHatter's Custom Spacc" diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index f130189b58..0a06f3ec7c 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -166,7 +166,7 @@ #define RGBLED_NUM 10 #define RGB_DI_PIN B5 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM // #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h index 703cd93e64..fccdf6424c 100644 --- a/keyboards/handwired/108key_trackpoint/config.h +++ b/keyboards/handwired/108key_trackpoint/config.h @@ -5,7 +5,7 @@ #define MATRIX_ROWS 8 #define MATRIX_COLS 23 -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/keyboards/handwired/108key_trackpoint/rules.mk b/keyboards/handwired/108key_trackpoint/rules.mk index ab84b088bc..24f1d9b652 100644 --- a/keyboards/handwired/108key_trackpoint/rules.mk +++ b/keyboards/handwired/108key_trackpoint/rules.mk @@ -17,4 +17,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output PS2_MOUSE_ENABLE = yes -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart diff --git a/keyboards/handwired/3dortho14u/rev1/info.json b/keyboards/handwired/3dortho14u/rev1/info.json index bd9220281c..2c8e229c02 100644 --- a/keyboards/handwired/3dortho14u/rev1/info.json +++ b/keyboards/handwired/3dortho14u/rev1/info.json @@ -4,6 +4,7 @@ "url": "", "maintainer": "xia0", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "debounce": 5, "diode_direction": "COL2ROW", "features": { diff --git a/keyboards/handwired/3dortho14u/rev2/info.json b/keyboards/handwired/3dortho14u/rev2/info.json index 7f241f35ff..28986f295e 100644 --- a/keyboards/handwired/3dortho14u/rev2/info.json +++ b/keyboards/handwired/3dortho14u/rev2/info.json @@ -4,6 +4,7 @@ "url": "", "maintainer": "xia0", "processor": "atmega32u4", + "bootloader": "atmel-dfu", "debounce": 5, "diode_direction": "COL2ROW", "features": { diff --git a/keyboards/handwired/6macro/config.h b/keyboards/handwired/6macro/config.h index 1e8c296855..a117fc65aa 100644 --- a/keyboards/handwired/6macro/config.h +++ b/keyboards/handwired/6macro/config.h @@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN D2 #define RGBLED_NUM 10 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h index 1f07965555..0bff14a28d 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h +++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h @@ -15,137 +15,25 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once -#include "config_common.h" - -/* USB Device descriptor parameter */ +#undef VENDOR_ID +#undef PRODUCT_ID +#undef DEVICE_VER +#undef MANUFACTURER +#undef PRODUCT #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x4097 #define DEVICE_VER 0x0001 -#define MANUFACTURER Nobody -#define PRODUCT Arrow Pad 21 +#define MANUFACTURER "Nobody" +#define PRODUCT "Arrow Pad 21" -/* key matrix size */ +#undef MATRIX_ROWS +#undef MATRIX_COLS #define MATRIX_ROWS 2 #define MATRIX_COLS 11 -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS #define MATRIX_ROW_PINS { D3, D5 } #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -/* 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 - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk index 6fae940a50..d3e5864916 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk +++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk @@ -10,5 +10,3 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -CONFIG_H = keymaps/$(KEYMAP)/config.h
\ No newline at end of file diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h index 4bc89f5ce7..3f9997b380 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h +++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h @@ -15,139 +15,15 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once -#include "config_common.h" - -/* USB Device descriptor parameter */ +#undef VENDOR_ID +#undef PRODUCT_ID +#undef DEVICE_VER +#undef MANUFACTURER +#undef PRODUCT #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x4096 #define DEVICE_VER 0x0001 -#define MANUFACTURER Nobody -#define PRODUCT Arrow Pad 24 - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 4 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 } -#define MATRIX_COL_PINS { B0, B1, B2, B3 } - -#define BACKLIGHT_PIN B7 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -/* 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 - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif +#define MANUFACTURER "Nobody" +#define PRODUCT "Arrow Pad 24" diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk index 1cf01b79e4..d7fdd82dfe 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk +++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk @@ -10,5 +10,3 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -CONFIG_H = keymaps/$(KEYMAP)/config.h
\ No newline at end of file diff --git a/keyboards/handwired/brain/keymaps/klackygears/config.h b/keyboards/handwired/brain/keymaps/klackygears/config.h index 4dd99c8b3a..5115f01801 100644 --- a/keyboards/handwired/brain/keymaps/klackygears/config.h +++ b/keyboards/handwired/brain/keymaps/klackygears/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -//#define USE_SERIAL - #define PERMISSIVE_HOLD #define TAPPING_TERM 150 #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h index 08134a720b..e67664253c 100644 --- a/keyboards/handwired/chiron/keymaps/default/config.h +++ b/keyboards/handwired/chiron/keymaps/default/config.h @@ -16,7 +16,6 @@ #pragma once -#define USE_SERIAL #define MASTER_RIGHT //#define MASTER_LEFT diff --git a/keyboards/handwired/co60/rev7/config.h b/keyboards/handwired/co60/rev7/config.h index 150da56dc6..deed36713b 100644 --- a/keyboards/handwired/co60/rev7/config.h +++ b/keyboards/handwired/co60/rev7/config.h @@ -53,6 +53,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 16 #define RGB_DI_PIN A7 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h index a941ea493d..2f4591b8ee 100644 --- a/keyboards/handwired/colorlice/config.h +++ b/keyboards/handwired/colorlice/config.h @@ -40,13 +40,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB LEDs */ #define RGB_DI_PIN B1 -#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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/config.h index 804db6c7e3..9f73d8bcec 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/config.h +++ b/keyboards/handwired/dactyl_manuform/3x5_3/config.h @@ -18,10 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -// Communication -// #define USE_I2C -#define USE_SERIAL - /* key matrix size */ // Rows are doubled-up #define MATRIX_ROWS 8 @@ -35,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // WS2812 RGB LED strip input and number of LEDs #define RGB_DI_PIN D3 -#define DRIVER_LED_TOTAL 36 +#define RGB_MATRIX_LED_COUNT 36 #define RGB_MATRIX_SPLIT { 18, 18 } #define RGB_MATRIX_CENTER { 133, 54 } diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h index fac9353959..1e6e6e58c6 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h @@ -43,9 +43,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MOUSEKEY_ACCELERATED_SPEED 4800 #ifdef RGB_MATRIX_ENABLE -// # define RGB_DISABLE_TIMEOUT 300000 // number of milliseconds to wait until disabling effects +// # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c index cbb1b42fca..98dba608c5 100644 --- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c +++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c @@ -243,7 +243,7 @@ void dynamic_macro_record_end_user(int8_t direction) { } // Indicators -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (host_keyboard_led_state().caps_lock || caps_word_enabled) { // Left master rgb_matrix_set_color(3, RGB_RED); @@ -262,6 +262,7 @@ void rgb_matrix_indicators_user(void) { // Right master rgb_matrix_set_color(23, RGB_GREEN); } + return false; } // Quantum keys / Abbreviations diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h index 18320c0952..335ac8cd3e 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -//#define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h index 6b0ddbfe8e..cbacb25ca4 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/dvorak/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h index 07a1323db2..a597d848e2 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk index fec29f5419..3da6aa269a 100644 --- a/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/4x5_5/rules.mk @@ -3,7 +3,7 @@ MCU = atmega32u4 # BOOTLOADER for Elite-C -# BOOTLOADER = atmel-dfu +BOOTLOADER = atmel-dfu # BOOTLOADER for Pro Micro # BOOTLOADER = caterina diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h index 18320c0952..335ac8cd3e 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -//#define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h index 87b5b66375..9ee1c3e3cb 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h @@ -22,7 +22,6 @@ #pragma once -#define USE_SERIAL #define EE_HANDS #undef TAPPING_TERM diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h index 5a20f9473f..4d83c191f3 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h index d046806eaa..68900af390 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/impstyle/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT //#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h index 98dc760031..bcfea1f14f 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/rishka/config.h @@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -// #define USE_SERIAL #define USE_I2C // #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h index e8899a3689..626fe3cbdc 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/squirrel/config.h @@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT //#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/config.h index 29ab59ad66..b63c5788d1 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/config.h @@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT //#define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h index 2caa5b5bd1..c598952e94 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/config.h @@ -18,10 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -#define USE_SERIAL -// #define USE_I2C - // #define MASTER_LEFT // #define MASTER_RIGHT #define EE_HANDS @@ -32,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #undef SOFT_SERIAL_PIN #define SOFT_SERIAL_PIN D0 -// #define DRIVER_LED_TOTAL 32 +// #define RGB_MATRIX_LED_COUNT 32 #define RGB_MATRIX_KEYPRESSES @@ -40,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 #undef RGBLED_NUM #define RGBLED_NUM 64 // Number of LEDs -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_SPLIT \ { 32, 32 } #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h index 4eca68c542..af5842e602 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/uqs/config.h @@ -2,8 +2,6 @@ // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define USE_SERIAL - #define RGBLED_NUM 12 #define RGBLED_SPLIT {6,6} #define RGBLIGHT_LIMIT_VAL 127 diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h index c4fb3742d9..9c1430e431 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define EE_HANDS #define KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h index eea543ae24..68ea3f1933 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h @@ -22,7 +22,6 @@ #pragma once -#define USE_SERIAL #define EE_HANDS #undef TAPPING_TERM diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h index 9ae7b44a69..5a94cd1760 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h @@ -25,7 +25,6 @@ #undef BOOTMAGIC_LITE_COLUMN_RIGHT -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 #define EE_HANDS // #define SPLIT_USB_DETECT diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h index c4fb3742d9..9c1430e431 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define EE_HANDS #define KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h index dc2d3ee111..f898b9cbd3 100755 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/via/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define EE_HANDS -#define KINETIC_SPEED
\ No newline at end of file +#define KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h index 5a20f9473f..4d83c191f3 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h index 5a20f9473f..4d83c191f3 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h index 5a20f9473f..4d83c191f3 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json index 7860fe6c6a..7f15634131 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json @@ -3,6 +3,8 @@ "manufacturer": "tshort", "url": "", "maintainer": "veikman", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", "usb": { "vid": "0x444D", "pid": "0x3632", diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h index 2e1d4f8dc3..1809262044 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/config.h @@ -1,5 +1,3 @@ #pragma once -#define USE_SERIAL - #define EE_HANDS diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/config.h b/keyboards/handwired/dactyl_promicro/keymaps/default/config.h index ce8f3501ad..bbcd4fdcf6 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_promicro/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_RIGHT // #define MASTER_RIGHT //#define EE_HANDS diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h index ce8f3501ad..bbcd4fdcf6 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h +++ b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_RIGHT // #define MASTER_RIGHT //#define EE_HANDS diff --git a/keyboards/handwired/dygma/raise/ansi/ansi.c b/keyboards/handwired/dygma/raise/ansi/ansi.c index 8c88ced12f..c9e0cb288c 100644 --- a/keyboards/handwired/dygma/raise/ansi/ansi.c +++ b/keyboards/handwired/dygma/raise/ansi/ansi.c @@ -23,7 +23,7 @@ #define LHK 33 #define LPH 72 -const uint8_t led_map[DRIVER_LED_TOTAL] = { +const uint8_t led_map[RGB_MATRIX_LED_COUNT] = { // left side - 32 keys includes LP: key 19 is missing for ANSI layout 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 0xff, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 68, 69, diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h index 1596807ae3..1a4835cd57 100644 --- a/keyboards/handwired/dygma/raise/config.h +++ b/keyboards/handwired/dygma/raise/config.h @@ -24,7 +24,7 @@ /* The scanners already debounce for us */ #define DEBOUNCE 0 -#define DRIVER_LED_TOTAL 132 +#define RGB_MATRIX_LED_COUNT 132 #ifdef RGB_MATRIX_ENABLE // At the default flush limit of 16ms (~62.5 fps), the matrix scan rate is approximately diff --git a/keyboards/handwired/dygma/raise/iso/iso.c b/keyboards/handwired/dygma/raise/iso/iso.c index 596b678638..48ba85bf90 100644 --- a/keyboards/handwired/dygma/raise/iso/iso.c +++ b/keyboards/handwired/dygma/raise/iso/iso.c @@ -23,7 +23,7 @@ #define LHK 33 #define LPH 72 -const uint8_t led_map[DRIVER_LED_TOTAL] = { +const uint8_t led_map[RGB_MATRIX_LED_COUNT] = { // left side - 33 keys 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, 68, 69, diff --git a/keyboards/handwired/dygma/raise/leds.c b/keyboards/handwired/dygma/raise/leds.c index 64f03d722a..53fa389206 100644 --- a/keyboards/handwired/dygma/raise/leds.c +++ b/keyboards/handwired/dygma/raise/leds.c @@ -61,7 +61,7 @@ static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) { } static void set_color_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) set_color(i, r, g, b); + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) set_color(i, r, g, b); } static void init(void) { diff --git a/keyboards/handwired/dygma/raise/leds.h b/keyboards/handwired/dygma/raise/leds.h index 8964838aad..c25a4326a9 100644 --- a/keyboards/handwired/dygma/raise/leds.h +++ b/keyboards/handwired/dygma/raise/leds.h @@ -16,4 +16,10 @@ #pragma once -extern const uint8_t led_map[DRIVER_LED_TOTAL]; +#include "quantum.h" +#include "rgb_matrix.h" + +extern const uint8_t led_map[RGB_MATRIX_LED_COUNT]; + +void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b); +void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b); diff --git a/keyboards/handwired/elrgo_s/keymaps/default/config.h b/keyboards/handwired/elrgo_s/keymaps/default/config.h index f3ef42b9b4..b5f8c85421 100644 --- a/keyboards/handwired/elrgo_s/keymaps/default/config.h +++ b/keyboards/handwired/elrgo_s/keymaps/default/config.h @@ -12,11 +12,9 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + */ #pragma once -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/handwired/hillside/46/info.json b/keyboards/handwired/hillside/46/info.json index b21906818c..9c69b54d7b 100644 --- a/keyboards/handwired/hillside/46/info.json +++ b/keyboards/handwired/hillside/46/info.json @@ -8,6 +8,7 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], "processor": "atmega32u4", + "bootloader": "atmel-dfu", "matrix_pins": { "rows": ["C6", "D7", "E6", "B5"], diff --git a/keyboards/handwired/hillside/48/info.json b/keyboards/handwired/hillside/48/info.json index 2325c2d8d3..1b6d5a6828 100644 --- a/keyboards/handwired/hillside/48/info.json +++ b/keyboards/handwired/hillside/48/info.json @@ -8,6 +8,7 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], "processor": "atmega32u4", + "bootloader": "atmel-dfu", "matrix_pins": { "rows": ["D7", "E6", "B4", "B5"], diff --git a/keyboards/handwired/hillside/52/info.json b/keyboards/handwired/hillside/52/info.json index 2a78ccd9b6..107162024c 100644 --- a/keyboards/handwired/hillside/52/info.json +++ b/keyboards/handwired/hillside/52/info.json @@ -8,6 +8,7 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], "processor": "atmega32u4", + "bootloader": "atmel-dfu", "matrix_pins": { "rows": ["C6", "D7", "E6", "B4", "B5"], diff --git a/keyboards/handwired/hnah108/config.h b/keyboards/handwired/hnah108/config.h index 825edd40ca..913b19af5a 100644 --- a/keyboards/handwired/hnah108/config.h +++ b/keyboards/handwired/hnah108/config.h @@ -47,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define BACKLIGHT_LEVELS 4 #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 31 +#define RGB_MATRIX_LED_COUNT 31 // 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/handwired/hnah108/keymaps/default/keymap.c b/keyboards/handwired/hnah108/keymaps/default/keymap.c index fd3aedc29d..44d1e1bceb 100644 --- a/keyboards/handwired/hnah108/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah108/keymaps/default/keymap.c @@ -65,7 +65,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t led_state = host_keyboard_led_state(); if (led_state.caps_lock) { @@ -77,4 +77,5 @@ void rgb_matrix_indicators_user(void) { } else { rgb_matrix_set_color(30, 0x00, 0x00, 0x00); } + return false; } diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h index 916fe15a20..40c3daf584 100644 --- a/keyboards/handwired/hnah40rgb/config.h +++ b/keyboards/handwired/hnah40rgb/config.h @@ -48,11 +48,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 50 +#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_MATRIX_FRAMEBUFFER_EFFECTS -#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_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/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c b/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c index 01676f93f8..d23ef8b00f 100644 --- a/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c +++ b/keyboards/handwired/hnah40rgb/keymaps/ansi/keymap.c @@ -50,8 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS ), }; -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_user(void) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(22, 255, 255, 255); @@ -64,4 +63,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(45, 255, 255, 255); } -}
\ No newline at end of file + return false; +} diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c b/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c index 76101f704b..7a0fcfd8df 100644 --- a/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah40rgb/keymaps/default/keymap.c @@ -50,18 +50,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; -void rgb_matrix_indicators_user(void) -{ - if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) - { - rgb_matrix_set_color(22, 255, 255, 255); - } - if (IS_LAYER_ON(_L1)) - { - rgb_matrix_set_color(46, 255, 255, 255); - } - if (IS_LAYER_ON(_L2)) - { - rgb_matrix_set_color(45, 255, 255, 255); - } -}
\ No newline at end of file +bool rgb_matrix_indicators_user(void) { + if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { + rgb_matrix_set_color(22, 255, 255, 255); + } + if (IS_LAYER_ON(_L1)) { + rgb_matrix_set_color(46, 255, 255, 255); + } + if (IS_LAYER_ON(_L2)) { + rgb_matrix_set_color(45, 255, 255, 255); + } + return false; +} diff --git a/keyboards/handwired/ks63/config.h b/keyboards/handwired/ks63/config.h index 565c48ab9e..31ea4bbe32 100644 --- a/keyboards/handwired/ks63/config.h +++ b/keyboards/handwired/ks63/config.h @@ -68,5 +68,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_ONESHOT #define MASTER_LEFT -#define USE_SERIAL diff --git a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c index c2eb4406d1..bc5b025b48 100644 --- a/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c +++ b/keyboards/handwired/lagrange/keymaps/dpapavas/keymap.c @@ -191,8 +191,8 @@ void keyboard_post_init_user(void) { const pin_t pins[] = {D0, D1, D2}; uint8_t i, j; - for (i = 0 ; i < sizeof(pins) / sizeof(pins[0]) + 2 ; i += 1) { - for (j = 0 ; j < sizeof(pins) / sizeof(pins[0]) ; j += 1) { + for (i = 0 ; i < ARRAY_SIZE(pins) + 2 ; i += 1) { + for (j = 0 ; j < ARRAY_SIZE(pins); j += 1) { setPinOutput(pins[j]); writePin(pins[j], (j == i || j == i - 1)); } diff --git a/keyboards/handwired/myskeeb/config.h b/keyboards/handwired/myskeeb/config.h index 0e64b01274..06e8782290 100644 --- a/keyboards/handwired/myskeeb/config.h +++ b/keyboards/handwired/myskeeb/config.h @@ -15,7 +15,6 @@ // Comunication and Split Detection -#define USE_SERIAL #define SOFT_SERIAL_PIN D3 #define SELECT_SOFT_SERIAL_SPEED 1 #define SPLIT_USB_DETECT diff --git a/keyboards/handwired/myskeeb/oled.c b/keyboards/handwired/myskeeb/oled.c index 081ca8395a..3f43590b8e 100644 --- a/keyboards/handwired/myskeeb/oled.c +++ b/keyboards/handwired/myskeeb/oled.c @@ -183,7 +183,7 @@ void add_keylog(uint16_t keycode) { keylog_str[i] = keylog_str[i - 1]; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); } } diff --git a/keyboards/handwired/nicekey/keymaps/default/keymap.c b/keyboards/handwired/nicekey/keymaps/default/keymap.c index d7539a5c17..a4391eaa30 100644 --- a/keyboards/handwired/nicekey/keymaps/default/keymap.c +++ b/keyboards/handwired/nicekey/keymaps/default/keymap.c @@ -116,7 +116,7 @@ PGM_P const sentences[] PROGMEM = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { - int sentences_size = sizeof(sentences) / sizeof(sentences[0]); + int sentences_size = ARRAY_SIZE(sentences); int i = rand() % sentences_size; switch (keycode) { diff --git a/keyboards/handwired/not_so_minidox/config.h b/keyboards/handwired/not_so_minidox/config.h index e137931a1a..66615a3927 100644 --- a/keyboards/handwired/not_so_minidox/config.h +++ b/keyboards/handwired/not_so_minidox/config.h @@ -31,8 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { D7, E6, B4, B5 } #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, D4 } -#define USE_SERIAL - /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h index 4e9552480f..05f3f07763 100644 --- a/keyboards/handwired/onekey/blackpill_f401/config.h +++ b/keyboards/handwired/onekey/blackpill_f401/config.h @@ -20,6 +20,7 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f401/halconf.h b/keyboards/handwired/onekey/blackpill_f401/halconf.h index 020a7722f0..4982bb5b49 100644 --- a/keyboards/handwired/onekey/blackpill_f401/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/halconf.h @@ -21,6 +21,8 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_I2C TRUE #define HAL_USE_PWM TRUE diff --git a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h index e614a9dfa9..1aa0fe4ce7 100644 --- a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h @@ -18,6 +18,9 @@ #include_next "mcuconf.h" +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h index b97df0c666..c890043b09 100644 --- a/keyboards/handwired/onekey/blackpill_f411/config.h +++ b/keyboards/handwired/onekey/blackpill_f411/config.h @@ -20,6 +20,7 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f411/halconf.h b/keyboards/handwired/onekey/blackpill_f411/halconf.h index 4a0da20890..8225cc7208 100644 --- a/keyboards/handwired/onekey/blackpill_f411/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/halconf.h @@ -21,6 +21,8 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_I2C TRUE #define HAL_USE_PWM TRUE diff --git a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h index e614a9dfa9..1aa0fe4ce7 100644 --- a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h @@ -18,6 +18,9 @@ #include_next "mcuconf.h" +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h index c8800fa163..2b60320fc1 100755 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h @@ -20,6 +20,7 @@ #define BACKLIGHT_PWM_DRIVER PWMD5 #define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 #define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h index e15870984f..00aca25c36 100644 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h @@ -16,7 +16,10 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_I2C TRUE + #define HAL_USE_PWM TRUE #include_next <halconf.h> diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h index d003af03e5..fcb7d84f96 100755 --- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h @@ -18,6 +18,9 @@ #include_next "mcuconf.h" +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_I2C_USE_I2C1 #define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/handwired/onekey/bluepill/halconf.h b/keyboards/handwired/onekey/bluepill/halconf.h index 923b4e52d2..dbc3e82a79 100644 --- a/keyboards/handwired/onekey/bluepill/halconf.h +++ b/keyboards/handwired/onekey/bluepill/halconf.h @@ -21,6 +21,8 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_PWM TRUE #include_next <halconf.h> diff --git a/keyboards/handwired/onekey/bluepill/mcuconf.h b/keyboards/handwired/onekey/bluepill/mcuconf.h index 5e94a97e21..39834c135b 100644 --- a/keyboards/handwired/onekey/bluepill/mcuconf.h +++ b/keyboards/handwired/onekey/bluepill/mcuconf.h @@ -23,6 +23,9 @@ #include_next <mcuconf.h> +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_PWM_USE_TIM2 #define STM32_PWM_USE_TIM2 TRUE diff --git a/keyboards/handwired/onekey/bluepill_f103c6/halconf.h b/keyboards/handwired/onekey/bluepill_f103c6/halconf.h index 923b4e52d2..dbc3e82a79 100644 --- a/keyboards/handwired/onekey/bluepill_f103c6/halconf.h +++ b/keyboards/handwired/onekey/bluepill_f103c6/halconf.h @@ -21,6 +21,8 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_PWM TRUE #include_next <halconf.h> diff --git a/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h b/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h index 5e94a97e21..39834c135b 100644 --- a/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h +++ b/keyboards/handwired/onekey/bluepill_f103c6/mcuconf.h @@ -23,6 +23,9 @@ #include_next <mcuconf.h> +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_PWM_USE_TIM2 #define STM32_PWM_USE_TIM2 TRUE diff --git a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c index ecf67d3b3c..65983c8dd8 100644 --- a/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c +++ b/keyboards/handwired/onekey/keymaps/chibios_waiting_test/keymap.c @@ -34,11 +34,11 @@ static const uint32_t waiting_values[] = {0, 1, 5, 10, 25, 50, 100, 150, 200, 50 void housekeeping_task_user(void) { static uint32_t last_bench = 0; if (timer_elapsed32(last_bench) > 500) { - for (int i = 0; i < (sizeof(waiting_values) / sizeof(waiting_values[0])); i++) { + for (int i = 0; i < ARRAY_SIZE(waiting_values); i++) { wait_us_polling_with_strobe(waiting_values[i]); wait_us(10); } - for (int i = 0; i < (sizeof(waiting_values) / sizeof(waiting_values[0])); i++) { + for (int i = 0; i < ARRAY_SIZE(waiting_values); i++) { wait_us_yield_with_strobe(waiting_values[i]); wait_us(10); } diff --git a/keyboards/handwired/onekey/keymaps/joystick/keymap.c b/keyboards/handwired/onekey/keymaps/joystick/keymap.c index 7a2f138b28..c74707e931 100644 --- a/keyboards/handwired/onekey/keymaps/joystick/keymap.c +++ b/keyboards/handwired/onekey/keymaps/joystick/keymap.c @@ -10,11 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_scan_user() { int16_t val = (((uint32_t)timer_read() % 5000 - 2500) * 255) / 5000; - - if (val != joystick_status.axes[1]) { - joystick_status.axes[1] = val; - joystick_status.status |= JS_UPDATED; - } + joystick_set_axis(1, val); } // Joystick config diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h index bcf4047a4f..82c5592dc9 100644 --- a/keyboards/handwired/onekey/rp2040/config.h +++ b/keyboards/handwired/onekey/rp2040/config.h @@ -13,3 +13,6 @@ #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25 #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define BACKLIGHT_PWM_DRIVER PWMD4 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B diff --git a/keyboards/handwired/onekey/rp2040/halconf.h b/keyboards/handwired/onekey/rp2040/halconf.h new file mode 100644 index 0000000000..5890122e5e --- /dev/null +++ b/keyboards/handwired/onekey/rp2040/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next <halconf.h> diff --git a/keyboards/handwired/onekey/rp2040/info.json b/keyboards/handwired/onekey/rp2040/info.json index b34a1cc206..32bde911bb 100644 --- a/keyboards/handwired/onekey/rp2040/info.json +++ b/keyboards/handwired/onekey/rp2040/info.json @@ -6,7 +6,10 @@ "cols": ["GP4"], "rows": ["GP5"] }, + "backlight": { + "pin": "GP25" + }, "rgblight": { - "pin": "A1" + "pin": "GP25" } } diff --git a/keyboards/handwired/onekey/rp2040/mcuconf.h b/keyboards/handwired/onekey/rp2040/mcuconf.h new file mode 100644 index 0000000000..86f821640f --- /dev/null +++ b/keyboards/handwired/onekey/rp2040/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next "mcuconf.h" + +#undef RP_PWM_USE_PWM4 +#define RP_PWM_USE_PWM4 TRUE diff --git a/keyboards/handwired/onekey/stm32f0_disco/halconf.h b/keyboards/handwired/onekey/stm32f0_disco/halconf.h index 78ed6586c8..432c43c6cc 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/halconf.h +++ b/keyboards/handwired/onekey/stm32f0_disco/halconf.h @@ -21,6 +21,8 @@ #pragma once +#define HAL_USE_ADC TRUE + #define HAL_USE_PWM TRUE #include_next <halconf.h> diff --git a/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h b/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h index ea4f9373a0..0bb4f4d643 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h +++ b/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h @@ -23,5 +23,8 @@ #include_next <mcuconf.h> +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c index f32529b6a7..93d4082305 100644 --- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c +++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c @@ -154,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h index abb5efc284..8f94c7a702 100644 --- a/keyboards/handwired/p65rgb/config.h +++ b/keyboards/handwired/p65rgb/config.h @@ -31,13 +31,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN B4 -#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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define DRIVER_LED_TOTAL 83 +#define RGB_MATRIX_LED_COUNT 83 #define RGBLIGHT_LIMIT_VAL 180 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index a447a70abd..9ebcc0bf53 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -210,13 +210,13 @@ enum led_sequence { #endif /* PS/2 mouse */ -#ifdef PS2_USE_BUSYWAIT +#ifdef PS2_DRIVER_BUSYWAIT # define PS2_CLOCK_PIN D3 # define PS2_DATA_PIN D2 #endif /* PS/2 mouse interrupt version */ -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT /* uses INT1 for clock line(ATMega32U4) */ # define PS2_CLOCK_PIN D3 # define PS2_DATA_PIN D2 @@ -237,7 +237,7 @@ enum led_sequence { #endif /* PS/2 mouse USART version */ -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART /* XCK for clock line and RXD for data line */ #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/keyboards/handwired/promethium/keymaps/default/keymap.c b/keyboards/handwired/promethium/keymaps/default/keymap.c index 77f83361e6..7a6f7f09f2 100644 --- a/keyboards/handwired/promethium/keymaps/default/keymap.c +++ b/keyboards/handwired/promethium/keymaps/default/keymap.c @@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #endif #include "outputselect.h" #include "led.h" -#define COUNT(x) (sizeof (x) / sizeof (*(x))) +#define COUNT(x) ARRAY_SIZE((x)) #define KC_WWWB KC_WWW_BACK #define KC_WWWF KC_WWW_FORWARD @@ -606,7 +606,7 @@ void led_set_unicode_input_mode(void) { case UC_LNX: rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); break; - case UC_OSX: + case UC_MAC: rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); break; case UC_WIN: @@ -1213,7 +1213,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case OSX: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif diff --git a/keyboards/handwired/promethium/keymaps/default/rules.mk b/keyboards/handwired/promethium/keymaps/default/rules.mk index 0183f5fa91..598ade50b8 100644 --- a/keyboards/handwired/promethium/keymaps/default/rules.mk +++ b/keyboards/handwired/promethium/keymaps/default/rules.mk @@ -9,4 +9,5 @@ AUDIO_ENABLE = no # Audio output UNICODEMAP_ENABLE = yes RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 31ce811e53..17fd7a8419 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -57,7 +57,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "outputselect.h" #endif #include "led.h" -#define COUNT(x) (sizeof (x) / sizeof (*(x))) +#define COUNT(x) ARRAY_SIZE((x)) #define KC_WWWB KC_WWW_BACK #define KC_WWWF KC_WWW_FORWARD @@ -609,7 +609,7 @@ void led_set_unicode_input_mode(void) { case UC_LNX: rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); break; - case UC_OSX: + case UC_MAC: rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); break; case UC_WIN: @@ -1216,7 +1216,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case OSX: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); #ifdef RGBSPS_ENABLE led_set_unicode_input_mode(); #endif diff --git a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk b/keyboards/handwired/promethium/keymaps/priyadi/rules.mk index 96db4fcbbc..9db01c0a68 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/rules.mk +++ b/keyboards/handwired/promethium/keymaps/priyadi/rules.mk @@ -17,7 +17,8 @@ UNICODE_ENABLE = no # Unicode UNICODEMAP_ENABLE = yes RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index 383800ee01..3960980dff 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -20,7 +20,8 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_MOUSE_ENABLE = yes -PS2_USE_INT = yes +PS2_ENABLE = yes +PS2_DRIVER = interrupt CUSTOM_MATRIX = yes BLUETOOTH_ENABLE = yes BLUETOOTH_DRIVER = BluefruitLE diff --git a/keyboards/handwired/pytest/basic/rules.mk b/keyboards/handwired/pytest/basic/rules.mk index 6b42774dbf..e69de29bb2 100644 --- a/keyboards/handwired/pytest/basic/rules.mk +++ b/keyboards/handwired/pytest/basic/rules.mk @@ -1 +0,0 @@ -MCU = atmega32u4 diff --git a/keyboards/handwired/pytest/has_community/rules.mk b/keyboards/handwired/pytest/has_community/rules.mk index 4161649cbc..051634b3a4 100644 --- a/keyboards/handwired/pytest/has_community/rules.mk +++ b/keyboards/handwired/pytest/has_community/rules.mk @@ -1,3 +1 @@ -MCU = atmega32u4 - LAYOUTS = ortho_1x1 diff --git a/keyboards/handwired/pytest/has_template/rules.mk b/keyboards/handwired/pytest/has_template/rules.mk index 6b42774dbf..e69de29bb2 100644 --- a/keyboards/handwired/pytest/has_template/rules.mk +++ b/keyboards/handwired/pytest/has_template/rules.mk @@ -1 +0,0 @@ -MCU = atmega32u4 diff --git a/keyboards/handwired/pytest/info.json b/keyboards/handwired/pytest/info.json index 331472762c..2ba7d34d52 100644 --- a/keyboards/handwired/pytest/info.json +++ b/keyboards/handwired/pytest/info.json @@ -6,5 +6,7 @@ "vid": "0xFEED", "pid": "0x6465", "device_version": "0.0.1" - } + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu" } diff --git a/keyboards/handwired/pytest/macro/rules.mk b/keyboards/handwired/pytest/macro/rules.mk index 6b42774dbf..e69de29bb2 100644 --- a/keyboards/handwired/pytest/macro/rules.mk +++ b/keyboards/handwired/pytest/macro/rules.mk @@ -1 +0,0 @@ -MCU = atmega32u4 diff --git a/keyboards/handwired/qc60/keymaps/wntrmln/config.h b/keyboards/handwired/qc60/keymaps/wntrmln/config.h index fabebda534..10887bdf18 100644 --- a/keyboards/handwired/qc60/keymaps/wntrmln/config.h +++ b/keyboards/handwired/qc60/keymaps/wntrmln/config.h @@ -1,5 +1,3 @@ #pragma once -#define USE_SERIAL - #define MASTER_LEFT diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h index 8cb8f4e1ea..b6e8157d2c 100644 --- a/keyboards/handwired/split89/config.h +++ b/keyboards/handwired/split89/config.h @@ -54,7 +54,6 @@ COLS = number of cols per side which curently needs to be equal so there are bla * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 -#define USE_SERIAL //#define LED_NUM_LOCK_PIN B0 //#define LED_CAPS_LOCK_PIN B1 diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h index 2a33f1fc13..81c58c977e 100644 --- a/keyboards/handwired/steamvan/rev1/config.h +++ b/keyboards/handwired/steamvan/rev1/config.h @@ -52,6 +52,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 16 #define RGB_DI_PIN A7 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h b/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h index 2a19e47502..4afee280a0 100644 --- a/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h +++ b/keyboards/handwired/stef9998/split_5x7/keymaps/default/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h index 3b7ee90f92..d8a98f8d40 100644 --- a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h +++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -//#define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ -31,4 +29,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM_PER_KEY #define IGNORE_MOD_TAP_INTERRUPT -#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
\ No newline at end of file +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c index ba0018a70f..7e15761a98 100644 --- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c @@ -159,7 +159,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) do { MATRIX_DEBUG_DELAY_START(); is_pressed = false; - for (uint8_t i = 0; i < sizeof(delay_ports) / sizeof(pin_t); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(delay_ports); i++) { # ifdef MATRIX_IO_DELAY_MULSEL writePin(MATRIX_MUL_SELECT, delay_sel[i]); waitInputPinDelay(); diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c index 8d0631072f..413314e836 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c +++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c @@ -182,7 +182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. - * | | | | | |QK_BOOT | |TermOn|TermOf| | | Del | + * | | | | | |QK_BOOT | | | | | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | | | | | |Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+-------------+------+------+------+------+------| diff --git a/keyboards/handwired/terminus_mini/keymaps/default/readme.md b/keyboards/handwired/terminus_mini/keymaps/default/readme.md index 4c04aa0170..e5718fc1a2 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/readme.md +++ b/keyboards/handwired/terminus_mini/keymaps/default/readme.md @@ -149,7 +149,7 @@ keys. ### ADJUST - Keyboard Settings: Primarily used to change the base layer at this stage ``` ,----------------------------------------------------------------------------------. -| | | | | |QK_BOOT | |TermOn|TermOf| | | Del | +| | | | | |QK_BOOT | | | | | | Del | |------+------+------+------+------+------+-----+------+------+------+------+------| | | | | | | | |Qwerty|Colemk|Dvorak| | | |------+------+------+------+------+------+-----+------+------+------+------+------| diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h index a4b468faef..ed6b4f2180 100644 --- a/keyboards/handwired/trackpoint/config.h +++ b/keyboards/handwired/trackpoint/config.h @@ -5,7 +5,7 @@ #define MATRIX_ROWS 1 #define MATRIX_COLS 3 -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/keyboards/handwired/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk index f471f00dfc..1a452149c9 100644 --- a/keyboards/handwired/trackpoint/rules.mk +++ b/keyboards/handwired/trackpoint/rules.mk @@ -17,4 +17,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output PS2_MOUSE_ENABLE = yes -PS2_USE_USART = yes +PS2_ENABLE = yes +PS2_DRIVER = usart diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h index 0e15056baf..ffc75d00cf 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h +++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h @@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // WS2812 RGB LED strip input and number of LEDs #define RGB_DI_PIN E7 -#define DRIVER_LED_TOTAL 62 +#define RGB_MATRIX_LED_COUNT 62 #define RGB_MATRIX_SPLIT { 32, 30 } #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h index 21bc8e616a..d7bc0f5bd5 100644 --- a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h @@ -18,7 +18,6 @@ // #define USE_I2C // #define SELECT_SOFT_SERIAL_SPEED 1 -// #define SERIAL_USE_MULTI_TRANSACTION #define SPLIT_MODS_ENABLE #define EE_HANDS diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk index 72824cf055..8b227d4cbd 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk @@ -8,7 +8,7 @@ OLED_ENABLE = yes WPM_ENABLE = yes ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes -AUTOCORRECTION_ENABLE = yes +AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes DEFERRED_EXEC_ENABLE = yes @@ -20,7 +20,7 @@ ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/elite_c) OLED_ENABLE = no WPM_ENABLE = no ENCODER_ENABLE = no - AUTOCORRECTION_ENABLE = no + AUTOCORRECT_ENABLE = no LTO_SUPPORTED = yes SWAP_HANDS_ENABLE = no CUSTOM_UNICODE_ENABLE = no @@ -29,7 +29,7 @@ ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/elite_c) BOOTLOADER_SIZE = 512 endif ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/teensy2pp) - AUTOCORRECTION_ENABLE = no + AUTOCORRECT_ENABLE = no CAPS_WORD_ENABLE = yes endif ifeq ($(strip $(KEYBOARD)), handwired/tractyl_manuform/5x6_right/f411) diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c index d3e2e02975..7ded835a6e 100644 --- a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -308,16 +308,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { break; } # endif // !NO_CHARYBDIS_KEYCODES -# ifndef MOUSEKEY_ENABLE - // Simulate mouse keys if full support is not enabled (reduces firmware size - // while maintaining support for mouse keys). - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t mouse_report = pointing_device_get_report(); - mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(mouse_report); - pointing_device_send(); - } -# endif // !MOUSEKEY_ENABLE return true; } diff --git a/keyboards/handwired/unk/keymaps/default/config.h b/keyboards/handwired/unk/keymaps/default/config.h index 3d2b4c7be7..3d8851ac43 100644 --- a/keyboards/handwired/unk/keymaps/default/config.h +++ b/keyboards/handwired/unk/keymaps/default/config.h @@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/handwired/unk/rev1/config.h b/keyboards/handwired/unk/rev1/config.h index 611b415d7a..a3e09f1aad 100644 --- a/keyboards/handwired/unk/rev1/config.h +++ b/keyboards/handwired/unk/rev1/config.h @@ -42,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D0 /* define if matrix has ghost */ diff --git a/keyboards/handwired/wakizashi40/info.json b/keyboards/handwired/wakizashi40/info.json index b97d61171b..12a17643a8 100644 --- a/keyboards/handwired/wakizashi40/info.json +++ b/keyboards/handwired/wakizashi40/info.json @@ -4,6 +4,7 @@ "maintainer": "xia0", "debounce": 5, "processor": "atmega32u4", + "bootloader": "atmel-dfu", "diode_direction": "COL2ROW", "features": { "audio": false, diff --git a/keyboards/handwired/xealous/config.h b/keyboards/handwired/xealous/config.h index 2502b4d196..1d94be5a7e 100644 --- a/keyboards/handwired/xealous/config.h +++ b/keyboards/handwired/xealous/config.h @@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #include "config_common.h" -/* Use I2C or Serial, not both */ #define USE_I2C #define SCL_CLOCK 800000UL diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h index 461fbd426b..b96c9c51cf 100644 --- a/keyboards/helix/pico/config.h +++ b/keyboards/helix/pico/config.h @@ -22,10 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 -/* Use I2C or Serial */ -#define USE_SERIAL -//#define USE_MATRIX_I2C - /* Soft Serial defines */ #define SOFT_SERIAL_PIN D2 #define SERIAL_SLAVE_BUFFER_LENGTH ((MATRIX_ROWS)/2) diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index c7e9e35db5..dcf88cc09c 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -25,13 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define SPLIT_LAYER_STATE_ENABLE #define SPLIT_LED_STATE_ENABLE -/* Use I2C or Serial */ -#define USE_SERIAL -//#define USE_MATRIX_I2C - /* Soft Serial defines */ #define SOFT_SERIAL_PIN D2 -#define SERIAL_USE_MULTI_TRANSACTION /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/helix/rev2/serial_config_simpleapi.h b/keyboards/helix/rev2/serial_config_simpleapi.h index 0e1dd9e4ac..b51e6f281b 100644 --- a/keyboards/helix/rev2/serial_config_simpleapi.h +++ b/keyboards/helix/rev2/serial_config_simpleapi.h @@ -1,5 +1,4 @@ #pragma once -#undef SERIAL_USE_MULTI_TRANSACTION #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h index 5050599075..0dd1a50400 100644 --- a/keyboards/helix/rev3_4rows/config.h +++ b/keyboards/helix/rev3_4rows/config.h @@ -56,13 +56,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 50 // Number of LEDs #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index 489eeded06..68578c3947 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -56,13 +56,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 64 // Number of LEDs #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM # 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_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_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. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h b/keyboards/hhkb/ansi/keymaps/cinaeco/config.h index 1c714deca4..ed660722c2 100644 --- a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h +++ b/keyboards/hhkb/ansi/keymaps/cinaeco/config.h @@ -1,18 +1,10 @@ -#ifndef CONFIG_CINAECO_H -#define CONFIG_CINAECO_H - -#include "../../config.h" +#pragma once #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER QMK -#define PRODUCT HHKB QMK cinaeco +#define MANUFACTURER "QMK" +#define PRODUCT "HHKB QMK cinaeco" // Increase "Tap" detection window. Avoid missing 'q' or 'z' when typing slowly. #undef TAPPING_TERM #define TAPPING_TERM 230 - -// Uncomment to enable NKRO by default. May cause issues with KVM switches. -//#define FORCE_NKRO - -#endif diff --git a/keyboards/hhkb/ansi/keymaps/mjt/config.h b/keyboards/hhkb/ansi/keymaps/mjt/config.h index b98ec52311..41d1557c6f 100644 --- a/keyboards/hhkb/ansi/keymaps/mjt/config.h +++ b/keyboards/hhkb/ansi/keymaps/mjt/config.h @@ -1,71 +1,3 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0xCAFE -#define DEVICE_VER 0x0104 -#define MANUFACTURER q.m.k -#define PRODUCT HHKB mod - -/* key matrix size */ -#ifdef HHKB_JP -# define MATRIX_ROWS 16 -#else -# define MATRIX_ROWS 8 -#endif -#define MATRIX_COLS 8 - -#define TAPPING_TERM 200 - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 +#pragma once #define USB_MAX_POWER_CONSUMPTION 50 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. -*/ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/hhkb/ansi/keymaps/shela/config.h b/keyboards/hhkb/ansi/keymaps/shela/config.h index 25794900c3..db66659165 100644 --- a/keyboards/hhkb/ansi/keymaps/shela/config.h +++ b/keyboards/hhkb/ansi/keymaps/shela/config.h @@ -16,8 +16,6 @@ #pragma once -#include "../../config.h" - /* USB Device descriptor parameter */ #undef VENDOR_ID #define VENDOR_ID 0x0853 @@ -26,9 +24,9 @@ #undef DEVICE_VER #define DEVICE_VER 0x0102 #undef MANUFACTURER -#define MANUFACTURER Topre Corporation +#define MANUFACTURER "Topre Corporation" #undef PRODUCT -#define PRODUCT HHKB Professional +#define PRODUCT "HHKB Professional" #undef TAPPING_TERM #define TAPPING_TERM 210 diff --git a/keyboards/hhkb/rn42/rn42.c b/keyboards/hhkb/rn42/rn42.c index 06665425ce..1cd24af5e9 100644 --- a/keyboards/hhkb/rn42/rn42.c +++ b/keyboards/hhkb/rn42/rn42.c @@ -12,15 +12,13 @@ static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t *report); static void send_mouse(report_mouse_t *report); -static void send_system(uint16_t data); -static void send_consumer(uint16_t data); +static void send_extra(report_extra_t *report); host_driver_t rn42_driver = { keyboard_leds, send_keyboard, send_mouse, - send_system, - send_consumer + send_extra }; @@ -198,12 +196,6 @@ static void send_mouse(report_mouse_t *report) serial_send(report->v); } -static void send_system(uint16_t data) -{ - // Table 5-6 of RN-BT-DATA-UB - // 81,82,83 scan codes can be used? -} - static uint16_t usage2bits(uint16_t usage) { @@ -228,14 +220,17 @@ static uint16_t usage2bits(uint16_t usage) return 0; } -static void send_consumer(uint16_t data) + +static void send_extra(report_extra_t *report) { - uint16_t bits = usage2bits(data); - serial_send(0xFD); // Raw report mode - serial_send(3); // length - serial_send(3); // descriptor type - serial_send(bits&0xFF); - serial_send((bits>>8)&0xFF); + if (report->report_id == REPORT_ID_CONSUMER) { + uint16_t bits = usage2bits(report->usage); + serial_send(0xFD); // Raw report mode + serial_send(3); // length + serial_send(3); // descriptor type + serial_send(bits&0xFF); + serial_send((bits>>8)&0xFF); + } } @@ -243,19 +238,16 @@ static void send_consumer(uint16_t data) static uint8_t config_keyboard_leds(void); static void config_send_keyboard(report_keyboard_t *report); static void config_send_mouse(report_mouse_t *report); -static void config_send_system(uint16_t data); -static void config_send_consumer(uint16_t data); +static void config_send_extra(report_extra_t *report); host_driver_t rn42_config_driver = { config_keyboard_leds, config_send_keyboard, config_send_mouse, - config_send_system, - config_send_consumer + config_send_extra }; static uint8_t config_keyboard_leds(void) { return leds; } static void config_send_keyboard(report_keyboard_t *report) {} static void config_send_mouse(report_mouse_t *report) {} -static void config_send_system(uint16_t data) {} -static void config_send_consumer(uint16_t data) {} +static void config_send_extra(report_extra_t *report) {} diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md b/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md index f21f030a89..89d11347d2 100644 --- a/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md +++ b/keyboards/hidtech/bastyl/keymaps/xyverz/readme.md @@ -17,6 +17,6 @@ See the [keyboard build instructions](https://hid-technologies.github.io/Bastyl- ## Important information regarding the reset -If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. +If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h index 8a227f3c49..1acd13498f 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/config.h @@ -39,7 +39,7 @@ #define FORCE_NKRO #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 86 + #define RGB_MATRIX_LED_COUNT 86 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c index 3a91494536..f1f3aa3cea 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/default/keymap.c @@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -184,4 +184,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(30, 0, 0, 0); } } + return false; } diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c index 3a91494536..f1f3aa3cea 100644 --- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c +++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keymaps/via/keymap.c @@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -184,4 +184,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(30, 0, 0, 0); } } + return false; } diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h index d3c385f64e..227fad06ec 100644 --- a/keyboards/horrortroll/handwired_k552/config.h +++ b/keyboards/horrortroll/handwired_k552/config.h @@ -62,7 +62,7 @@ #endif #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 24 + #define RGB_MATRIX_LED_COUNT 24 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h index a97b46e5e4..5d854b9396 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/keymap_stuff.h @@ -75,7 +75,7 @@ enum layer_keycodes { G_PRE, //Gradient presets REF_G, //Toggle between linear and reflected gradient G_FLIP, //Flip the gradient colors - + //Custom led effect keycode RGB_C_E, //Cycle user effect }; @@ -110,7 +110,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { {{205, 250, 255}, {140, 215, 125}, false }, }; - uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]); + uint8_t gp_length = ARRAY_SIZE(gradient_presets); switch (keycode) { case G1_HUI: @@ -252,7 +252,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t side_leds_left[3] = {17, 18, 19}; uint8_t side_leds_right[3] = { 4, 5, 6}; HSV hsv = rgb_matrix_config.hsv; @@ -297,4 +297,5 @@ void rgb_matrix_indicators_user(void) { } } } + return false; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c index 49e4a242fb..0d7acd7e8b 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/custom_gradient.c @@ -70,5 +70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c index 041417477b..29c447c61a 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/default/led/random_breath_rainbow.c @@ -14,7 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -static uint8_t offset[DRIVER_LED_TOTAL]; +static uint8_t offset[RGB_MATRIX_LED_COUNT]; static void doRandom_breath_rainbow(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; @@ -41,7 +41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 - doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params); + doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params); return false; } @@ -51,5 +51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { doRandom_breath_rainbow(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h index a97b46e5e4..5d854b9396 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/keymap_stuff.h @@ -75,7 +75,7 @@ enum layer_keycodes { G_PRE, //Gradient presets REF_G, //Toggle between linear and reflected gradient G_FLIP, //Flip the gradient colors - + //Custom led effect keycode RGB_C_E, //Cycle user effect }; @@ -110,7 +110,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { {{205, 250, 255}, {140, 215, 125}, false }, }; - uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]); + uint8_t gp_length = ARRAY_SIZE(gradient_presets); switch (keycode) { case G1_HUI: @@ -252,7 +252,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t side_leds_left[3] = {17, 18, 19}; uint8_t side_leds_right[3] = { 4, 5, 6}; HSV hsv = rgb_matrix_config.hsv; @@ -297,4 +297,5 @@ void rgb_matrix_indicators_user(void) { } } } + return false; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c index 49e4a242fb..0d7acd7e8b 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/custom_gradient.c @@ -70,5 +70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c b/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c index 041417477b..29c447c61a 100644 --- a/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c +++ b/keyboards/horrortroll/handwired_k552/keymaps/via/led/random_breath_rainbow.c @@ -14,7 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -static uint8_t offset[DRIVER_LED_TOTAL]; +static uint8_t offset[RGB_MATRIX_LED_COUNT]; static void doRandom_breath_rainbow(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; @@ -41,7 +41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 - doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params); + doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params); return false; } @@ -51,5 +51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { doRandom_breath_rainbow(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/horrortroll/handwired_k552/lib/wave.c b/keyboards/horrortroll/handwired_k552/lib/wave.c index 79b4e0ced7..700f73aee5 100644 --- a/keyboards/horrortroll/handwired_k552/lib/wave.c +++ b/keyboards/horrortroll/handwired_k552/lib/wave.c @@ -68,7 +68,7 @@ void add_keylog(uint16_t keycode) { keycode = 0; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { char log_char = pgm_read_byte(&code_to_name[keycode]); for (uint8_t j = 0; j < OLED_FONT_WIDTH; j++) { diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h index adc6f94f1f..f92010cb31 100644 --- a/keyboards/hs60/v1/config.h +++ b/keyboards/hs60/v1/config.h @@ -109,7 +109,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //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_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_MAXIMUM_BRIGHTNESS 215 @@ -125,7 +124,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_2_LED_TOTAL 32 #endif -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c index f96eb7c320..466cfeeaf5 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -199,7 +199,7 @@ led_config_t g_led_config = { { #else -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/hs60/v2/ansi/config.h b/keyboards/hs60/v2/ansi/config.h index 04c7d8c701..509661db8d 100644 --- a/keyboards/hs60/v2/ansi/config.h +++ b/keyboards/hs60/v2/ansi/config.h @@ -114,7 +114,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hs60/v2/hhkb/config.h b/keyboards/hs60/v2/hhkb/config.h index 4dac657b39..46090673db 100644 --- a/keyboards/hs60/v2/hhkb/config.h +++ b/keyboards/hs60/v2/hhkb/config.h @@ -114,7 +114,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hs60/v2/iso/config.h b/keyboards/hs60/v2/iso/config.h index da918955c3..cf43e3dd94 100644 --- a/keyboards/hs60/v2/iso/config.h +++ b/keyboards/hs60/v2/iso/config.h @@ -112,7 +112,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h index 24bcdb0061..8452eab0c9 100644 --- a/keyboards/hub20/config.h +++ b/keyboards/hub20/config.h @@ -36,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN B15 #define RGBLED_NUM 27 -#define DRIVER_LED_TOTAL 27 +#define RGB_MATRIX_LED_COUNT 27 #ifdef RGB_DI_PIN #define RGBLED_NUM 27 #endif diff --git a/keyboards/ibnuda/squiggle/config.h b/keyboards/ibnuda/squiggle/config.h index 9e4c4f71bc..c12bc97dd8 100644 --- a/keyboards/ibnuda/squiggle/config.h +++ b/keyboards/ibnuda/squiggle/config.h @@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -#define USE_SERIAL - /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ diff --git a/keyboards/idobao/id42/config.h b/keyboards/idobao/id42/config.h index a95578a9b3..bef9120005 100755 --- a/keyboards/idobao/id42/config.h +++ b/keyboards/idobao/id42/config.h @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGB_DI_PIN B3 - #define DRIVER_LED_TOTAL 42 + #define RGB_MATRIX_LED_COUNT 42 #define RGB_DISABLE_WHEN_USB_SUSPENDED // 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 diff --git a/keyboards/idobao/id42/id42.c b/keyboards/idobao/id42/id42.c index ea3dccdfed..15cc0b41b0 100755 --- a/keyboards/idobao/id42/id42.c +++ b/keyboards/idobao/id42/id42.c @@ -20,7 +20,7 @@ */ led_config_t g_led_config = { { // Key Matrix to LED Index - // WS2812 LED strings are addressed from 0 (1st) to DRIVER_LED_TOTAL-1 (last) + // WS2812 LED strings are addressed from 0 (1st) to RGB_MATRIX_LED_COUNT-1 (last) { 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30 }, { 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, __, 19 }, { 18, 17, 16, 15, 14, 13, 12, 11, 10, __, 9, 8 }, diff --git a/keyboards/idobao/id63/config.h b/keyboards/idobao/id63/config.h index 10fb9d5f08..052f7f3bad 100644 --- a/keyboards/idobao/id63/config.h +++ b/keyboards/idobao/id63/config.h @@ -22,9 +22,9 @@ * * */ #ifndef ID63_DISABLE_UNDERGLOW - #define DRIVER_LED_TOTAL 75 + #define RGB_MATRIX_LED_COUNT 75 #else - #define DRIVER_LED_TOTAL (75 - 12) + #define RGB_MATRIX_LED_COUNT (75 - 12) #endif #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/idobao/id63/keymaps/idobao/keymap.c b/keyboards/idobao/id63/keymaps/idobao/keymap.c index f49304fb24..df40dfa5a3 100644 --- a/keyboards/idobao/id63/keymaps/idobao/keymap.c +++ b/keyboards/idobao/id63/keymaps/idobao/keymap.c @@ -196,7 +196,7 @@ void eeconfig_init_user(void) { id63_update_rgb_mode(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Caps Lock key stuff if (host_keyboard_led_state().caps_lock) { @@ -214,6 +214,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (user_config.rgb_disable_perkey) { rgb_matrix_set_color(ID63_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id67/config.h b/keyboards/idobao/id67/config.h index 59e34654b5..dcb2de2a32 100644 --- a/keyboards/idobao/id67/config.h +++ b/keyboards/idobao/id67/config.h @@ -12,9 +12,9 @@ // RGB Matrix config #if defined(RGB_MATRIX_ENABLE) #ifndef ID67_DISABLE_UNDERGLOW - #define DRIVER_LED_TOTAL 77 + #define RGB_MATRIX_LED_COUNT 77 #else - #define DRIVER_LED_TOTAL (77 - 10) + #define RGB_MATRIX_LED_COUNT (77 - 10) #endif #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/idobao/id67/keymaps/idobao/keymap.c b/keyboards/idobao/id67/keymaps/idobao/keymap.c index 55ff6e5730..aadad80fb2 100644 --- a/keyboards/idobao/id67/keymaps/idobao/keymap.c +++ b/keyboards/idobao/id67/keymaps/idobao/keymap.c @@ -198,7 +198,7 @@ void eeconfig_init_user(void) { id67_update_rgb_mode(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Caps Lock key stuff if (host_keyboard_led_state().caps_lock) { @@ -216,6 +216,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (user_config.rgb_disable_perkey) { rgb_matrix_set_color(ID67_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id67/keymaps/thewerther/keymap.c b/keyboards/idobao/id67/keymaps/thewerther/keymap.c index ef37b210f5..a47a54db37 100644 --- a/keyboards/idobao/id67/keymaps/thewerther/keymap.c +++ b/keyboards/idobao/id67/keymaps/thewerther/keymap.c @@ -34,7 +34,7 @@ void matrix_scan_user(void) { if (current_effect >= RGB_MATRIX_SOLID_REACTIVE_SIMPLE && current_effect <= RGB_MATRIX_SOLID_MULTISPLASH) { // set all underglow leds to current color RGB current_color = hsv_to_rgb(rgb_matrix_get_hsv()); - for (int i = DRIVER_LED_TOTAL - DRIVER_LED_UNDERGLOW; i < DRIVER_LED_TOTAL; i++) { + for (int i = RGB_MATRIX_LED_COUNT - DRIVER_LED_UNDERGLOW; i < RGB_MATRIX_LED_COUNT; i++) { rgb_matrix_set_color(i, current_color.r, current_color.g, current_color.b); } } diff --git a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c index 1bf6971730..c90f1bf471 100644 --- a/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c +++ b/keyboards/idobao/id67/keymaps/vinorodrigues/keymap.c @@ -129,7 +129,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #define LED_FLAG_ALPHA_KEY 0x10 // Alpha keys (for Caps Lock) #define LED_FLAG_LAYER_IND 0x20 // Layer indicator -const uint8_t g_led_config_new_flags[DRIVER_LED_TOTAL] = { +const uint8_t g_led_config_new_flags[RGB_MATRIX_LED_COUNT] = { // Extended LED Index to Flag // ** Remember: on ID67 this is in reverse order 0x21, 0x01, 0x01, 0x01, 0x01, 0x04, 0x01, 0x01, 0x21, // Spc row @@ -147,18 +147,14 @@ static uint16_t recording_timer; void keyboard_pre_init_user(void) { // override `config.h` flags with new values - for (int i = 0; i < DRIVER_LED_TOTAL; i++) g_led_config.flags[i] = g_led_config_new_flags[i]; + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) g_led_config.flags[i] = g_led_config_new_flags[i]; } void keyboard_post_init_user(void) { isRGBOff = false; } -void rgb_matrix_indicators_user(void) { - // do nothing, override base <<weak>> function to disable it -} - -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t v = MIN( rgblight_get_val() + RGB_BRIGHTER_BY, 0xFF ); uint8_t current_layer = get_highest_layer(layer_state); @@ -239,18 +235,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; } -} - -/* - * Sleep mode stuff (untested) - */ - -void suspend_power_down_user(void) { - rgb_matrix_set_suspend_state(true); -} - -void suspend_wakeup_init_user(void) { - rgb_matrix_set_suspend_state(false); + return false; } #endif diff --git a/keyboards/idobao/id75/v2/config.h b/keyboards/idobao/id75/v2/config.h index 4029d80bf8..62c25486c5 100644 --- a/keyboards/idobao/id75/v2/config.h +++ b/keyboards/idobao/id75/v2/config.h @@ -41,7 +41,7 @@ #undef RGB_DI_PIN #define RGB_DI_PIN F0 #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL 85 /* 10 Bottom 75 top*/ +# define RGB_MATRIX_LED_COUNT 85 /* 10 Bottom 75 top*/ // 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/idobao/id80/v3/ansi/config.h b/keyboards/idobao/id80/v3/ansi/config.h index 1b99fd7908..50ca039a06 100644 --- a/keyboards/idobao/id80/v3/ansi/config.h +++ b/keyboards/idobao/id80/v3/ansi/config.h @@ -22,7 +22,7 @@ // RGB Matrix config #if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE) - #define DRIVER_LED_TOTAL 94 + #define RGB_MATRIX_LED_COUNT 94 #define RGB_DISABLE_WHEN_USB_SUSPENDED // 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 diff --git a/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c index e0d786e5e2..947863653c 100644 --- a/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c +++ b/keyboards/idobao/id80/v3/ansi/keymaps/idobao/keymap.c @@ -196,7 +196,7 @@ void eeconfig_init_user(void) { id80_update_rgb_mode(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Caps Lock key stuff if (host_keyboard_led_state().caps_lock) { @@ -214,6 +214,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (user_config.rgb_disable_perkey) { rgb_matrix_set_color(ID80_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/id87/v2/config.h b/keyboards/idobao/id87/v2/config.h index 8f1a9ddf03..08ce4f0af4 100644 --- a/keyboards/idobao/id87/v2/config.h +++ b/keyboards/idobao/id87/v2/config.h @@ -14,7 +14,7 @@ // RGB Matrix config #if defined(RGB_MATRIX_ENABLE) - #define DRIVER_LED_TOTAL 103 + #define RGB_MATRIX_LED_COUNT 103 #define RGB_DISABLE_WHEN_USB_SUSPENDED // 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 diff --git a/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c b/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c index 59b60b7e1d..31787a2e42 100644 --- a/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c +++ b/keyboards/idobao/id87/v2/keymaps/idobao/keymap.c @@ -180,7 +180,7 @@ void eeconfig_init_user(void) { id87_update_rgb_mode(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Caps Lock key stuff if (host_keyboard_led_state().caps_lock) { @@ -198,6 +198,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } else if (user_config.rgb_disable_perkey) { rgb_matrix_set_color(ID87_CAPS_LOCK_KEY_INDEX, HSV_OFF); // off } + return false; } #endif // RGB_MATRIX_ENABLE diff --git a/keyboards/idobao/montex/v1rgb/config.h b/keyboards/idobao/montex/v1rgb/config.h index 670b43462b..8a3b3029d4 100755 --- a/keyboards/idobao/montex/v1rgb/config.h +++ b/keyboards/idobao/montex/v1rgb/config.h @@ -28,7 +28,7 @@ #if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE) // The number of LEDs connected - #define DRIVER_LED_TOTAL 31 + #define RGB_MATRIX_LED_COUNT 31 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value diff --git a/keyboards/idobao/montex/v2/config.h b/keyboards/idobao/montex/v2/config.h index 98ba567203..eaed5dde7a 100755 --- a/keyboards/idobao/montex/v2/config.h +++ b/keyboards/idobao/montex/v2/config.h @@ -10,9 +10,9 @@ #if defined(RGB_DI_PIN) && defined(RGB_MATRIX_ENABLE) #ifndef ID27_DISABLE_UNDERGLOW - #define DRIVER_LED_TOTAL 31 // The number of LEDs connected + #define RGB_MATRIX_LED_COUNT 31 // The number of LEDs connected #else - #define DRIVER_LED_TOTAL 27 // -4 disabled underglow LEDs + #define RGB_MATRIX_LED_COUNT 27 // -4 disabled underglow LEDs #endif // #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // don't use, too few key to make it look good diff --git a/keyboards/ilumkb/simpler61/config.h b/keyboards/ilumkb/simpler61/config.h index 0b952c25e5..4e952e2775 100644 --- a/keyboards/ilumkb/simpler61/config.h +++ b/keyboards/ilumkb/simpler61/config.h @@ -31,7 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -40,7 +39,7 @@ #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 61 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define DRIVER_INDICATOR_LED_TOTAL 0 // For full list of effects, see: diff --git a/keyboards/ilumkb/simpler61/simpler61.c b/keyboards/ilumkb/simpler61/simpler61.c index 20a40e9169..4fcc5c9245 100644 --- a/keyboards/ilumkb/simpler61/simpler61.c +++ b/keyboards/ilumkb/simpler61/simpler61.c @@ -17,7 +17,7 @@ #include "simpler61.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 324745efa8..565e4126ca 100644 --- a/keyboards/ilumkb/simpler64/config.h +++ b/keyboards/ilumkb/simpler64/config.h @@ -31,7 +31,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -40,7 +39,7 @@ #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 64 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/ilumkb/simpler64/simpler64.c b/keyboards/ilumkb/simpler64/simpler64.c index 8ab72caaca..c42a444576 100644 --- a/keyboards/ilumkb/simpler64/simpler64.c +++ b/keyboards/ilumkb/simpler64/simpler64.c @@ -17,7 +17,7 @@ #include "simpler64.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/inett_studio/sqx/hotswap/config.h index af9c4ecbe2..f55cf34eb5 100644 --- a/keyboards/inett_studio/sqx/hotswap/config.h +++ b/keyboards/inett_studio/sqx/hotswap/config.h @@ -57,7 +57,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) #define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c index c8e7d87846..7f5e298c4c 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -152,11 +152,14 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(8, 0xFF, 0x0, 0x0); } + return true; } #endif //RGB_MATRIX_ENABLE diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h index 8c2405e644..d9bbb1c9fc 100644 --- a/keyboards/inett_studio/sqx/universal/config.h +++ b/keyboards/inett_studio/sqx/universal/config.h @@ -57,7 +57,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) # define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c index 06cfbd3654..9715f28b78 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -156,11 +156,14 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(8, 0xFF, 0x0, 0x0); } + return true; } #endif //RGB_MATRIX_ENABLE diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index 00dd0bd1f3..19a777e615 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -67,7 +67,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* LED matrix driver */ #define LED_DRIVER_ADDR_1 0x74 #define LED_DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 76 +#define LED_MATRIX_LED_COUNT 76 #define LED_MATRIX_SPLIT { 38, 38 } #define LED_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c index e6ac2c4559..d699d76333 100644 --- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c +++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c @@ -174,7 +174,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { #endif #ifdef LED_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_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/ergodox_infinity/keymaps/dudeofawesome/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c index 266194de35..f261115055 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/dudeofawesome/keymap.c @@ -322,7 +322,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand _______, _______, _______, _______, _______, _______, _______, - _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, KC_DEL, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/input_club/k_type/config.h b/keyboards/input_club/k_type/config.h index 12cda14a3a..b58f0f2973 100644 --- a/keyboards/input_club/k_type/config.h +++ b/keyboards/input_club/k_type/config.h @@ -170,5 +170,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 64 # define DRIVER_2_LED_TOTAL 55 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c index e76479b01a..3898016875 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.c +++ b/keyboards/input_club/k_type/is31fl3733-dual.c @@ -160,7 +160,7 @@ void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { } void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { - if (index >= 0 && index < DRIVER_LED_TOTAL) { + if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; g_pwm_buffer[led.driver][led.r] = red; @@ -171,7 +171,7 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3733_set_color(i, red, green, blue); } } diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h index d4af1848fb..16586714b8 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.h +++ b/keyboards/input_club/k_type/is31fl3733-dual.h @@ -29,7 +29,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 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); diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c index 5ae132d63a..e663c224c4 100644 --- a/keyboards/input_club/k_type/k_type-rgbdriver.c +++ b/keyboards/input_club/k_type/k_type-rgbdriver.c @@ -29,7 +29,7 @@ static void init(void) { i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN); IS31FL3733_init(1, DRIVER_ADDR_2, 0); # endif - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; // This only caches it for later IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); diff --git a/keyboards/input_club/k_type/k_type.c b/keyboards/input_club/k_type/k_type.c index 0e10710cb1..3f67b4b10d 100644 --- a/keyboards/input_club/k_type/k_type.c +++ b/keyboards/input_club/k_type/k_type.c @@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "is31fl3733-dual.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/input_club/k_type/keymaps/andrew-fahmy/config.h b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h index c035255de6..31e4bff4b6 100644 --- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h +++ b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h @@ -48,5 +48,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 64 # define DRIVER_2_LED_TOTAL 55 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/input_club/whitefox/config.h b/keyboards/input_club/whitefox/config.h index 2c2e8c6324..dd20f2fe06 100644 --- a/keyboards/input_club/whitefox/config.h +++ b/keyboards/input_club/whitefox/config.h @@ -57,7 +57,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* LED matrix driver */ #define LED_DRIVER_ADDR_1 0x74 #define LED_DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 71 +#define LED_MATRIX_LED_COUNT 71 #define LED_DISABLE_WHEN_USB_SUSPENDED /* i2c (for LED matrix) */ diff --git a/keyboards/input_club/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c index 99c59f7732..8d92aa8d2f 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 <http://www.gnu.org/licenses/>. #include "whitefox.h" #ifdef LED_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_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/bear_65/config.h b/keyboards/jacky_studio/bear_65/config.h index 92a6a5b60a..dc7e9c6158 100644 --- a/keyboards/jacky_studio/bear_65/config.h +++ b/keyboards/jacky_studio/bear_65/config.h @@ -74,5 +74,5 @@ #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define DRIVER_LED_TOTAL 12 // Number of LEDs +#define RGB_MATRIX_LED_COUNT 12 // Number of LEDs #endif diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h index a3fd5a0fa7..206b971aa3 100644 --- a/keyboards/jadookb/jkb65/config.h +++ b/keyboards/jadookb/jkb65/config.h @@ -25,12 +25,12 @@ #define RGB_DI_PIN F0 -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES -#define RGB_DISABLE_TIMEOUT 90000 +#define RGB_MATRIX_TIMEOUT 90000 #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/jadookb/jkb65/jkb65.c b/keyboards/jadookb/jkb65/jkb65.c index aabdce7d20..1ce62e241a 100644 --- a/keyboards/jadookb/jkb65/jkb65.c +++ b/keyboards/jadookb/jkb65/jkb65.c @@ -44,10 +44,13 @@ led_config_t g_led_config = { { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/jian/rev1/config.h b/keyboards/jian/rev1/config.h index 988b6d5176..9ac9ad9551 100644 --- a/keyboards/jian/rev1/config.h +++ b/keyboards/jian/rev1/config.h @@ -29,8 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { D3, D2, E6, B4 } #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } -/* Use I2C or Serial, not both */ -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h index 52c8b6ad0e..d44a2b099a 100644 --- a/keyboards/jian/rev2/config.h +++ b/keyboards/jian/rev2/config.h @@ -29,8 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { F4, F5, B1, B3 } #define MATRIX_COL_PINS { D3, D2, B4, F6, F7, B2 } -//#define USE_I2C -#define USE_SERIAL #define SOFT_SERIAL_PIN D1 //#define EE_HANDS diff --git a/keyboards/jkeys_design/gentleman65/config.h b/keyboards/jkeys_design/gentleman65/config.h index eed1d351a7..7b0a723cbc 100644 --- a/keyboards/jkeys_design/gentleman65/config.h +++ b/keyboards/jkeys_design/gentleman65/config.h @@ -48,4 +48,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ENCODERS_PAD_B { F5 } #define ENCODER_RESOLUTION 4 -#define DRIVER_LED_TOTAL 14 +#define RGB_MATRIX_LED_COUNT 14 diff --git a/keyboards/jkeys_design/gentleman65_se_s/config.h b/keyboards/jkeys_design/gentleman65_se_s/config.h index effdb281e6..f5ecb8f5de 100644 --- a/keyboards/jkeys_design/gentleman65_se_s/config.h +++ b/keyboards/jkeys_design/gentleman65_se_s/config.h @@ -49,4 +49,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ENCODERS_PAD_B { B1 } #define ENCODER_RESOLUTION 4 -#define DRIVER_LED_TOTAL 14 +#define RGB_MATRIX_LED_COUNT 14 diff --git a/keyboards/kagizaraya/scythe/config.h b/keyboards/kagizaraya/scythe/config.h index 1df0fb6593..8baa3816f5 100644 --- a/keyboards/kagizaraya/scythe/config.h +++ b/keyboards/kagizaraya/scythe/config.h @@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN F0 #ifdef RGB_DI_PIN #define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 9 +#define RGBLED_NUM 9 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 @@ -114,7 +114,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define BOOTMAGIC_LITE_COLUMN 0 /* Serial settings */ -#define USE_SERIAL //#define EE_HANDS #define I2C_MASTER_LEFT //#define I2C_MASTER_RIGHT diff --git a/keyboards/kakunpc/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h index 2d20aa16e9..a0d75d4407 100644 --- a/keyboards/kakunpc/suihankey/alpha/config.h +++ b/keyboards/kakunpc/suihankey/alpha/config.h @@ -35,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define MATRIX_ROW_PINS { F4, F5, F6, F7 } #define MATRIX_COL_PINS { D4, C6, D7, E6, B4 } -// #define USE_I2C -// #undef USE_SERIAL /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/kakunpc/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h index a1e7183124..3757b6cad7 100644 --- a/keyboards/kakunpc/suihankey/rev1/config.h +++ b/keyboards/kakunpc/suihankey/rev1/config.h @@ -35,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } #define MATRIX_COL_PINS { F4, F5, F6, F7 } -//#define USE_I2C -//#undef USE_SERIAL /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h index b58b370e66..109eeee7eb 100644 --- a/keyboards/kakunpc/suihankey/split/alpha/config.h +++ b/keyboards/kakunpc/suihankey/split/alpha/config.h @@ -36,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { F4, F5, F6, F7 } #define MATRIX_COL_PINS { D4, C6, D7, E6, B4 } #define USE_I2C -#undef USE_SERIAL /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h index 14b5b2ad9d..2667ed6bb6 100644 --- a/keyboards/kakunpc/suihankey/split/rev1/config.h +++ b/keyboards/kakunpc/suihankey/split/rev1/config.h @@ -36,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } #define MATRIX_COL_PINS { F4, F5, F6, F7 } #define USE_I2C -#undef USE_SERIAL /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/kapcave/paladin64/config.h b/keyboards/kapcave/paladin64/config.h index 4ab6863c4f..7d913d8f15 100755 --- a/keyboards/kapcave/paladin64/config.h +++ b/keyboards/kapcave/paladin64/config.h @@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define BOOTMAGIC_LITE_COLUMN 6 /* Only required if you add in a trackpoint hardware to the pcb */ -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 @@ -63,7 +63,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define PS2_USART_RX_VECT USART1_RX_vect #endif -#ifdef PS2_USE_INT +#ifdef PS2_DRIVER_INTERRUPT #define PS2_CLOCK_PIN D2 #define PS2_DATA_PIN D5 diff --git a/keyboards/kapl/rev1/config.h b/keyboards/kapl/rev1/config.h index ef6e5449f6..37e49d3d60 100644 --- a/keyboards/kapl/rev1/config.h +++ b/keyboards/kapl/rev1/config.h @@ -18,9 +18,6 @@ #define DEBOUNCE 5 -/* Serial settings */ -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 @@ -34,7 +31,7 @@ #define RGBLIGHT_SPLIT #define RGBLIGHT_LIMIT_VAL 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -#define DRIVER_LED_TOTAL 88 +#define RGB_MATRIX_LED_COUNT 88 #define RGB_MATRIX_SPLIT { 44, 44 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define SPLIT_TRANSPORT_MIRROR diff --git a/keyboards/karlb/kbic65/info.json b/keyboards/karlb/kbic65/info.json index d572a92fc2..2d9d7ab037 100644 --- a/keyboards/karlb/kbic65/info.json +++ b/keyboards/karlb/kbic65/info.json @@ -1,5 +1,6 @@ { "keyboard_name": "KBIC65", + "manufacturer": "b-karl", "url": "https://karlb.eu/kbic65/", "maintainer": "b-karl", "diode_direction": "ROW2COL", diff --git a/keyboards/kbdfans/baguette66/rgb/config.h b/keyboards/kbdfans/baguette66/rgb/config.h index 4f23460964..2dd8182ddd 100644 --- a/keyboards/kbdfans/baguette66/rgb/config.h +++ b/keyboards/kbdfans/baguette66/rgb/config.h @@ -34,7 +34,7 @@ #define RGB_DI_PIN E6 #define RGBLED_NUM 66 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/baguette66/rgb/rgb.c b/keyboards/kbdfans/baguette66/rgb/rgb.c index def3e10c97..5f4f3a634d 100644 --- a/keyboards/kbdfans/baguette66/rgb/rgb.c +++ b/keyboards/kbdfans/baguette66/rgb/rgb.c @@ -32,17 +32,19 @@ led_config_t g_led_config = { { }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(31, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h index 837701c7c4..9cfc6702b4 100644 --- a/keyboards/kbdfans/bella/rgb/config.h +++ b/keyboards/kbdfans/bella/rgb/config.h @@ -28,7 +28,6 @@ #define DEBOUNCE 5 #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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -86,7 +85,7 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 108 +#define RGB_MATRIX_LED_COUNT 108 #define DRIVER_INDICATOR_LED_TOTAL 0 #endif #define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c index 4353cae1be..e8c2cc0282 100644 --- a/keyboards/kbdfans/bella/rgb/rgb.c +++ b/keyboards/kbdfans/bella/rgb/rgb.c @@ -15,7 +15,7 @@ */ #include "rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 */ @@ -128,15 +128,15 @@ led_config_t g_led_config = { { 58, NO_LED, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, NO_LED, }, /* R4 */ { 71, 72, 73, NO_LED, NO_LED, NO_LED, 74, NO_LED, NO_LED, NO_LED, 75, 76, 77, NO_LED, 78, 79, }, /* R5 */ }, { - {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, - {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, + {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, + {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {202, 29}, {224, 29}, {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {196, 41}, {224, 41}, {9, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, - {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, - {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, - {0, 32}, {224,32}, - {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, + {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, + {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, + {0, 32}, {224,32}, + {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, }, { 4,1,1,1,1,1,1,1,1,1,1,1,1,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, @@ -148,22 +148,14 @@ led_config_t g_led_config = { } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h index b1024b4e21..3dc2f28b50 100644 --- a/keyboards/kbdfans/bella/rgb_iso/config.h +++ b/keyboards/kbdfans/bella/rgb_iso/config.h @@ -28,7 +28,6 @@ #define DEBOUNCE 5 #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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -86,7 +85,7 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 109 +#define RGB_MATRIX_LED_COUNT 109 #define DRIVER_INDICATOR_LED_TOTAL 0 #endif #define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c index 072501045a..3e356faa91 100644 --- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c +++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c @@ -15,7 +15,7 @@ */ #include "rgb_iso.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 */ @@ -129,15 +129,15 @@ led_config_t g_led_config = { { 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, NO_LED, 71, NO_LED, }, /* R4 */ { 72, 73, 74, NO_LED, NO_LED, NO_LED, 75, NO_LED, NO_LED, NO_LED, 76, 77, 78, NO_LED, 79, 80, }, /* R5 */ }, { - {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, - {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, + {0, 0}, {29, 0}, {44, 0}, {59, 0}, {73, 0}, {95, 0}, {110, 0}, {125, 0}, {140, 0}, {161, 0}, {176, 0}, {191, 0}, {206, 0}, {224, 0}, + {0, 17}, {15, 17}, {29, 17}, {44, 17}, {59, 17}, {73, 17}, {88, 17}, {102, 17}, {117, 17}, {132, 17}, {147, 17}, {161, 17}, {176, 17}, {198, 17}, {224, 17}, {4, 29}, {22, 29}, {37, 29}, {51, 29}, {66, 29}, {81, 29}, {95, 29}, {110, 29}, {125, 29}, {140, 29}, {154, 29}, {169, 29}, {184, 29}, {200, 35}, {224, 29}, {5, 41}, {26, 41}, {40, 41}, {55, 41}, {70, 41}, {84, 41}, {99, 41}, {114, 41}, {129, 41}, {143, 41}, {158, 41}, {172, 41}, {187, 41}, {224, 41}, {2, 52}, {18, 52}, {33, 52}, {48, 52}, {62, 52}, {77, 52}, {92, 52}, {106, 52}, {121, 52}, {136, 52}, {150, 52}, {165, 52}, {185, 52}, {209, 52}, - {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, - {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, - {0, 32}, {224,32}, - {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, + {2, 64}, {20, 64}, {38, 64}, {94, 64}, {150, 64}, {172, 64}, {195, 64}, {209, 64}, {224, 64}, + {0, 0}, {45, 0}, {90, 0}, {134, 0}, {179, 0}, {224, 0}, + {0, 32}, {224,32}, + {0, 64}, {45, 64}, {90, 64}, {134, 64}, {179, 64}, {224, 64}, }, { 4,1,1,1,1,1,1,1,1,1,1,1,1,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, @@ -148,23 +148,14 @@ led_config_t g_led_config = { 2,2,2,2,2,2,2,2,2,2,2,2,2,2, } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/boop65/rgb/config.h b/keyboards/kbdfans/boop65/rgb/config.h index 2d4cbe4e85..63100696e9 100644 --- a/keyboards/kbdfans/boop65/rgb/config.h +++ b/keyboards/kbdfans/boop65/rgb/config.h @@ -33,7 +33,6 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -43,7 +42,7 @@ # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL # define DRIVER_ADDR_1 0b0110000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 83 +# define RGB_MATRIX_LED_COUNT 83 # define DRIVER_INDICATOR_LED_TOTAL 0 #define ENABLE_RGB_MATRIX_ALPHAS_MODS #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/kbdfans/boop65/rgb/rgb.c b/keyboards/kbdfans/boop65/rgb/rgb.c index 3e9c66f457..19645b6b83 100644 --- a/keyboards/kbdfans/boop65/rgb/rgb.c +++ b/keyboards/kbdfans/boop65/rgb/rgb.c @@ -18,69 +18,69 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, - {0, CS21_SW3, CS20_SW3, CS19_SW3}, - {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, {0, CS21_SW5, CS20_SW5, CS19_SW5}, {0, CS21_SW6, CS20_SW6, CS19_SW6}, - {0, CS21_SW7, CS20_SW7, CS19_SW7}, - {0, CS21_SW8, CS20_SW8, CS19_SW8}, - {0, CS24_SW1, CS23_SW1, CS22_SW1}, - {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS21_SW7, CS20_SW7, CS19_SW7}, + {0, CS21_SW8, CS20_SW8, CS19_SW8}, + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, {0, CS24_SW3, CS23_SW3, CS22_SW3}, - {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, {0, CS24_SW5, CS23_SW5, CS22_SW5}, {0, CS24_SW6, CS23_SW6, CS22_SW6}, - {0, CS24_SW7, CS23_SW7, CS22_SW7}, - - {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS24_SW7, CS23_SW7, CS22_SW7}, + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW2, CS14_SW2, CS13_SW2}, {0, CS15_SW3, CS14_SW3, CS13_SW3}, {0, CS15_SW4, CS14_SW4, CS13_SW4}, {0, CS15_SW5, CS14_SW5, CS13_SW5}, {0, CS15_SW6, CS14_SW6, CS13_SW6}, {0, CS15_SW7, CS14_SW7, CS13_SW7}, - {0, CS15_SW8, CS14_SW8, CS13_SW8}, - {0, CS30_SW1, CS29_SW1, CS28_SW1}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW4, CS29_SW4, CS28_SW4}, {0, CS30_SW5, CS29_SW5, CS28_SW5}, {0, CS30_SW6, CS29_SW6, CS28_SW6}, - {0, CS30_SW7, CS29_SW7, CS28_SW7}, - - {0, CS12_SW1, CS11_SW1, CS10_SW1}, - {0, CS12_SW2, CS11_SW2, CS10_SW2}, - {0, CS12_SW3, CS11_SW3, CS10_SW3}, - {0, CS12_SW4, CS11_SW4, CS10_SW4}, - {0, CS12_SW5, CS11_SW5, CS10_SW5}, - {0, CS12_SW6, CS11_SW6, CS10_SW6}, - {0, CS12_SW7, CS11_SW7, CS10_SW7}, - {0, CS12_SW8, CS11_SW8, CS10_SW8}, - {0, CS33_SW1, CS32_SW1, CS31_SW1}, - {0, CS33_SW2, CS32_SW2, CS31_SW2}, - {0, CS33_SW3, CS32_SW3, CS31_SW3}, - {0, CS33_SW4, CS32_SW4, CS31_SW4}, - {0, CS33_SW5, CS32_SW5, CS31_SW5}, - {0, CS33_SW7, CS32_SW7, CS31_SW7}, - - {0, CS9_SW1, CS8_SW1, CS7_SW1}, - {0, CS9_SW2, CS8_SW2, CS7_SW2}, - {0, CS9_SW3, CS8_SW3, CS7_SW3}, - {0, CS9_SW4, CS8_SW4, CS7_SW4}, - {0, CS9_SW5, CS8_SW5, CS7_SW5}, - {0, CS9_SW6, CS8_SW6, CS7_SW6}, - {0, CS9_SW7, CS8_SW7, CS7_SW7}, - {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS30_SW7, CS29_SW7, CS28_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS33_SW1, CS32_SW1, CS31_SW1}, + {0, CS33_SW2, CS32_SW2, CS31_SW2}, + {0, CS33_SW3, CS32_SW3, CS31_SW3}, + {0, CS33_SW4, CS32_SW4, CS31_SW4}, + {0, CS33_SW5, CS32_SW5, CS31_SW5}, + {0, CS33_SW7, CS32_SW7, CS31_SW7}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS36_SW1, CS35_SW1, CS34_SW1}, {0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW7, CS35_SW7, CS34_SW7}, - + {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, {0, CS3_SW3, CS2_SW3, CS1_SW3}, @@ -90,27 +90,27 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS39_SW4, CS38_SW4, CS37_SW4}, {0, CS39_SW5, CS38_SW5, CS37_SW5}, {0, CS39_SW7, CS38_SW7, CS37_SW7}, - + /* underglow */ {0, CS18_SW1, CS17_SW1, CS16_SW1}, {0, CS18_SW3, CS17_SW3, CS16_SW3}, - {0, CS18_SW5, CS17_SW5, CS16_SW5}, - {0, CS18_SW7, CS17_SW7, CS16_SW7}, - {0, CS27_SW2, CS26_SW2, CS25_SW2}, - {0, CS27_SW4, CS26_SW4, CS25_SW4}, - {0, CS27_SW6, CS26_SW6, CS25_SW6}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW4, CS26_SW4, CS25_SW4}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, {0, CS27_SW7, CS26_SW7, CS25_SW7}, - - {0, CS6_SW1, CS5_SW1, CS4_SW1}, - {0, CS6_SW3, CS5_SW3, CS4_SW3}, - {0, CS6_SW4, CS5_SW4, CS4_SW4}, - {0, CS6_SW7, CS5_SW7, CS4_SW7}, + + {0, CS6_SW1, CS5_SW1, CS4_SW1}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, {0, CS39_SW1, CS38_SW1, CS37_SW1}, - {0, CS33_SW6, CS32_SW6, CS31_SW6}, - {0, CS36_SW6, CS35_SW6, CS34_SW6}, - {0, CS39_SW6, CS38_SW6, CS37_SW6} - + {0, CS33_SW6, CS32_SW6, CS31_SW6}, + {0, CS36_SW6, CS35_SW6, CS34_SW6}, + {0, CS39_SW6, CS38_SW6, CS37_SW6} + }; led_config_t g_led_config = { { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, @@ -129,20 +129,21 @@ led_config_t g_led_config = { { }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2 + 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif - diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h index bf28016ea4..798dd7b297 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h @@ -17,4 +17,4 @@ #pragma once #undef PRODUCT -#define PRODUCT MadHatter\x27s Hotswap Kbd67 rev1 +#define PRODUCT "MadHatter's Hotswap Kbd67 rev1" diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c index dc27913cca..d18b9928cb 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/zunger/keymap.c @@ -161,7 +161,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void eeconfig_init_user(void) { - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); } void matrix_init_user(void) { diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c index be5f251dac..d34ed320dd 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/keymap.c @@ -51,7 +51,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (rgb_matrix_config.enable) { HSV hsv = rgb_matrix_config.hsv; if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { @@ -87,6 +87,7 @@ void rgb_matrix_indicators_user(void) { set_hsv_at(hsv1, 63); set_hsv_at(hsv2, 57); } + return false; } void set_hsv_at(HSV hsv, uint8_t index) { diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c index c2e409ed35..4adebffccf 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/jonavin/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef RGB_MATRIX_ENABLE // Capslock, Scroll lock and Numlock indicator - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { rgb_matrix_set_color(LED_I, RGB_GREEN); @@ -109,15 +109,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { default: break; } + return false; } - void suspend_power_down_user(void) { - rgb_matrix_set_suspend_state(true); - } - - void suspend_wakeup_init_user(void) { - rgb_matrix_set_suspend_state(false); - } #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h index cda14c4bc0..dcc998f035 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h @@ -24,6 +24,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_WHEN_USB_SUSPENDED -# undef RGB_DISABLE_TIMEOUT -# define RGB_DISABLE_TIMEOUT 900000 +# 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 a6a56cdced..929946a231 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h @@ -10,7 +10,6 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define DEBOUNCE 3 -#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_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled @@ -69,4 +68,4 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 35 #define DRIVER_2_LED_TOTAL 32 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c index f003673871..594d1fee23 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c @@ -16,7 +16,7 @@ #include "v1.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 @@ -96,9 +96,13 @@ led_config_t g_led_config = {{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} {{0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {203, 0}, {224, 0}, {4, 16}, {23, 16}, {38, 16}, {53, 16}, {68, 16}, {83, 16}, {98, 16}, {113, 16}, {128, 16}, {143, 16}, {158, 16}, {173, 16}, {188, 16}, {206, 16}, {224, 16}, {6, 32}, {26, 32}, {41, 32}, {56, 32}, {71, 32}, {86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {224, 32}, {9, 48}, {34, 48}, {49, 48}, {64, 48}, {79, 48}, {94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {210, 48}, {224, 48}, {2, 64}, {21, 64}, {39, 64}, {96, 64}, {152, 64}, {171, 64}, {195, 64}, {210, 64}, {224, 64}}, {1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1}}; -__attribute__((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h index a5dfdae5ed..94f8500f98 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h @@ -10,7 +10,6 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL @@ -68,5 +67,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 32 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c index 37972c2500..9bfcb47d96 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c @@ -16,7 +16,7 @@ #include "v2.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 @@ -113,10 +113,13 @@ led_config_t g_led_config = { { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h index cb847e9b45..86ab159e3e 100755 --- a/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/config.h @@ -31,7 +31,6 @@ #define DEBOUNCE 5 #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 USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_MATRIX_KEYPRESSES @@ -89,6 +88,6 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #define DRIVER_INDICATOR_LED_TOTAL 0 #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c b/keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c index 306c22615f..542551b3a3 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS21_SW1, CS20_SW1, CS19_SW1}, {0, CS21_SW2, CS20_SW2, CS19_SW2}, {0, CS21_SW3, CS20_SW3, CS19_SW3}, @@ -137,8 +137,10 @@ led_config_t g_led_config = { { #define CAPS_LOCK_VAL_STEP 8 #endif -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { uint8_t b = rgb_matrix_get_val(); if (b < CAPS_LOCK_VAL_STEP) { @@ -150,6 +152,7 @@ void rgb_matrix_indicators_user(void) { } rgb_matrix_set_color(CAPS_LOCK_LED_INDEX, b, b, b); // white, with the adjusted brightness } + return true; } #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h index f7e0e06278..4d3d08a513 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/config.h @@ -33,7 +33,7 @@ #define RGB_DI_PIN C7 #define RGBLED_NUM 68 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c b/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c index 3c4b81132f..c39d01f3b9 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c +++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/v4.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ - + #include "v4.h" #ifdef RGB_MATRIX_ENABLE @@ -29,21 +29,24 @@ led_config_t g_led_config = { {0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{203,0},{224,0}, {224,16},{206,16},{188,16},{173,16},{158,16},{143,16},{128,16},{113,16},{98,16},{83,16}, {68,16},{53,16},{38,16},{23,16},{4,16}, {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32}, - {224,48},{210,48},{189,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{9,48}, + {224,48},{210,48},{189,48},{169,48},{154,48},{139,48},{124,48},{109,48},{94,48},{79,48},{64,48},{49,48},{34,48},{9,48}, {2,64},{21,64},{39,64},{96,64},{152,64},{171,64},{195,64},{210,64},{224,64} }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1 + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h index 415da00b48..afca6e996b 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/config.h @@ -32,7 +32,7 @@ #define USB_SUSPEND_WAKEUP_DELAY 5000 #define RGB_DI_PIN C7 -#define DRIVER_LED_TOTAL 68 +#define RGB_MATRIX_LED_COUNT 68 #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c b/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c index 267fa57598..37c2bcae45 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c +++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/mkiirgb_iso.c @@ -33,17 +33,19 @@ led_config_t g_led_config = { }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1 + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(29, 0xFF, 0xFF, 0xFF); } + return true; } #endif - diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h index 911051c31a..f6aa35176a 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h @@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #undef PRODUCT #define VENDOR_ID 0xAF88 -#define MANUFACTURER Droxx-FurFuzz -#define PRODUCT Carbon v2 4rk +#define MANUFACTURER "Droxx-FurFuzz" +#define PRODUCT "Carbon v2 4rk" /* force N key rollover even on startup regardless of EEPROM setting */ #define FORCE_NKRO diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h index e387c84b2f..234a44ae70 100644 --- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h +++ b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h @@ -3,8 +3,8 @@ #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER Potato Inc. -#define PRODUCT Qt3.14 +#define MANUFACTURER "Potato Inc." +#define PRODUCT "Qt3.14" /* send tap key if no layer key was used even after tap delay */ #define TAPPING_TERM 50 diff --git a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h index 73bb22aea4..0b28746081 100644 --- a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h +++ b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h @@ -16,11 +16,6 @@ #pragma once -#undef MANUFACTURER -#undef PRODUCT -#define MANUFACTURER KBDfans -#define PRODUCT KBD75 rev1 - #define BACKLIGHT_BREATHING #define ANSI_NUBS_ROW 4 diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h index a5578b235f..dd05076444 100644 --- a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h +++ b/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h @@ -3,8 +3,8 @@ #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER Potato Inc. -#define PRODUCT Qt3.14 +#define MANUFACTURER "Potato Inc." +#define PRODUCT "Qt3.14" /* send tap key if no layer key was used even after tap delay */ #define TAPPING_TERM 250 diff --git a/keyboards/kbdfans/kbd75rgb/config.h b/keyboards/kbdfans/kbd75rgb/config.h index eff9c8eae1..ba2b1e96b8 100644 --- a/keyboards/kbdfans/kbd75rgb/config.h +++ b/keyboards/kbdfans/kbd75rgb/config.h @@ -34,7 +34,7 @@ #define RGB_DI_PIN C7 #define RGBLED_NUM 84 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c index 1f160ed4a5..8cc522c75b 100644 --- a/keyboards/kbdfans/kbd75rgb/kbd75rgb.c +++ b/keyboards/kbdfans/kbd75rgb/kbd75rgb.c @@ -26,11 +26,11 @@ led_config_t g_led_config = { { { 83, 82, 81, NO_LED, NO_LED, 80, NO_LED, NO_LED, 79, 78, 77, 76, NO_LED,75 ,74} }, { {0, 0}, {15, 0}, {30, 0},{45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {195, 0}, {210, 0}, {224, 0}, - {224, 12.8}, {218, 12.8},{192, 12.8},{176, 12.8},{160, 12.8},{144, 12.8},{128, 12.8},{112, 12.8},{96, 12.8},{80, 12.8},{64, 12.8},{48, 12.8},{32, 12.8},{16, 12.8},{0, 12.8}, + {224, 12.8}, {218, 12.8},{192, 12.8},{176, 12.8},{160, 12.8},{144, 12.8},{128, 12.8},{112, 12.8},{96, 12.8},{80, 12.8},{64, 12.8},{48, 12.8},{32, 12.8},{16, 12.8},{0, 12.8}, {0, 25.6},{16, 25.6}, {32, 25.6}, {48, 25.6}, {64, 25.6}, {80, 25.6}, {96, 25.6}, {112, 25.6}, {128, 25.6}, {144, 25.6}, {160, 25.6},{176, 25.6}, {192, 25.6}, {218, 25.6}, {224, 25.6}, -{224, 38.4},{200, 38.4},{176, 38.4},{160, 38.4},{144, 38.4},{128, 38.4},{112, 38.4},{96, 38.4},{80, 38.4},{64, 38.4},{48, 38.4},{32, 38.4},{16, 38.4},{0, 38.4}, - {0, 51.2},{16, 51.2}, {32, 51.2}, {48, 51.2}, {64, 51.2}, {80, 51.2}, {96, 51.2}, {112, 51.2}, {128, 51.2}, {144, 51.2}, {160, 51.2}, {189, 51.2}, {218, 51.2}, {224, 51.2}, -{224, 64},{218, 64},{192, 64},{176, 64},{160, 64},{144, 64}, {80, 64}, {32, 64},{16, 64},{0, 64} +{224, 38.4},{200, 38.4},{176, 38.4},{160, 38.4},{144, 38.4},{128, 38.4},{112, 38.4},{96, 38.4},{80, 38.4},{64, 38.4},{48, 38.4},{32, 38.4},{16, 38.4},{0, 38.4}, + {0, 51.2},{16, 51.2}, {32, 51.2}, {48, 51.2}, {64, 51.2}, {80, 51.2}, {96, 51.2}, {112, 51.2}, {128, 51.2}, {144, 51.2}, {160, 51.2}, {189, 51.2}, {218, 51.2}, {224, 51.2}, +{224, 64},{218, 64},{192, 64},{176, 64},{160, 64},{144, 64}, {80, 64}, {32, 64},{16, 64},{0, 64} }, { 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, @@ -40,12 +40,14 @@ led_config_t g_led_config = { { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(59, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h index 1f7d095e9f..fcb15d7383 100644 --- a/keyboards/kbdfans/kbdmini/config.h +++ b/keyboards/kbdfans/kbdmini/config.h @@ -26,7 +26,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -81,5 +80,5 @@ #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 52 +#define RGB_MATRIX_LED_COUNT 52 #endif diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c index 03c0096c70..80ba687b6d 100644 --- a/keyboards/kbdfans/kbdmini/kbdmini.c +++ b/keyboards/kbdfans/kbdmini/kbdmini.c @@ -1,6 +1,6 @@ #include "kbdmini.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/maja/config.h b/keyboards/kbdfans/maja/config.h index 0800de1ece..3ae0403cf3 100755 --- a/keyboards/kbdfans/maja/config.h +++ b/keyboards/kbdfans/maja/config.h @@ -11,7 +11,6 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define DEBOUNCE 3 -#define RGB_DISABLE_AFTER_TIMEOUT 0 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled @@ -69,4 +68,4 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 31 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/kbdfans/maja/maja.c b/keyboards/kbdfans/maja/maja.c index d257212750..0185a7ce2b 100755 --- a/keyboards/kbdfans/maja/maja.c +++ b/keyboards/kbdfans/maja/maja.c @@ -1,6 +1,6 @@ #include "maja.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 @@ -14,7 +14,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, C1_12, C2_12, C3_12}, // LB4 {0, C1_11, C2_11, C3_11}, // LB3 {0, C1_10, C2_10, C4_11}, // LB2 - {0, C1_9, C3_10, C4_10}, // LB1 + {0, C1_9, C3_10, C4_10}, // LB1 {0, C2_9, C3_9, C4_9}, // LB0 {0, C9_4, C8_4, C7_4}, // LA12 @@ -39,20 +39,20 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, C9_8, C7_7, C6_7}, // LA16 {0, C8_8, C7_8, C6_8}, // LA17 {1, C2_1, C3_1, C4_1}, // LC0 - {1, C1_15, C2_15, C3_15}, // LD7 - {1, C1_14, C2_14, C3_14}, // LD6 - {1, C1_13, C2_13, C3_13}, // LD5 - {1, C1_12, C2_12, C3_12}, // LD4 + {1, C1_15, C2_15, C3_15}, // LD7 + {1, C1_14, C2_14, C3_14}, // LD6 + {1, C1_13, C2_13, C3_13}, // LD5 + {1, C1_12, C2_12, C3_12}, // LD4 {1, C1_11, C2_11, C3_11}, // LD3 {1, C1_10, C2_10, C4_11}, // LD2 {1, C1_9, C3_10, C4_10}, // LD1 {0, C8_16, C7_16, C6_16}, // LB17 {1, C1_6, C2_6, C3_6}, // LC6 - {1, C1_5, C2_5, C3_5}, // LC5 - {1, C1_4, C2_4, C3_4}, // LC4 + {1, C1_5, C2_5, C3_5}, // LC5 + {1, C1_4, C2_4, C3_4}, // LC4 {1, C1_3, C2_3, C3_3}, // LC3 - {1, C1_2, C2_2, C4_3}, // LC2 + {1, C1_2, C2_2, C4_3}, // LC2 {1, C1_1, C3_2, C4_2}, // LC1 {1, C1_16, C2_16, C3_16}, // LD8 {1, C9_9, C8_9, C7_9}, // LD9 @@ -80,7 +80,7 @@ led_config_t g_led_config = { { { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43}, { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED}, { 58, NO_LED, 59, 60, NO_LED, 61, NO_LED, 62, NO_LED, 63, NO_LED, NO_LED, 64, 65, 66} -}, { +}, { {4,1},{18,1},{31,0},{46,3},{59,5},{73,7},{86,10},{107,9},{121,7},{134,4},{148,2},{162,0},{176,2},{196,2},{224,0}, {5,15},{22,15},{37,15},{50,17},{64,20},{77,22},{103,23},{117,21},{130,19},{143,16},{158,15},{171,16},{186,16},{202,16},{224,16}, {4,28},{23,28},{38,29},{51,31},{65,34},{78,36},{109,36},{122,34},{136,32},{150,29},{164,29},{177,29},{200,29},{224,29}, @@ -88,26 +88,18 @@ led_config_t g_led_config = { { {0,55},{40,58},{62,61},{86,64},{119,62},{147,58},{201,60},{214,60},{224,60} }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 1, 4, 4, 1, 1, 1 } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } diff --git a/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c index a373b463ab..143329bc2d 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/abhixec/keymap.c @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c index ec06d54d0c..b3edc0859f 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/framtava/keymap.c @@ -163,7 +163,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c index bfd95e137f..c889b6316c 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c +++ b/keyboards/kbdfans/niu_mini/keymaps/planck/keymap.c @@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_mit( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h index 429955b3a0..cfcda1bf7d 100644 --- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h +++ b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h @@ -3,8 +3,8 @@ #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER Potato Inc. -#define PRODUCT Qt3.14 +#define MANUFACTURER "Potato Inc." +#define PRODUCT "Qt3.14" /* turn off RGB when computer sleeps */ #ifdef RGB_DI_PIN diff --git a/keyboards/kbdfans/odin/rgb/config.h b/keyboards/kbdfans/odin/rgb/config.h index 571f6d0d1c..9f15473877 100644 --- a/keyboards/kbdfans/odin/rgb/config.h +++ b/keyboards/kbdfans/odin/rgb/config.h @@ -25,7 +25,7 @@ #define DEBOUNCE 5 #define RGBLED_NUM 110 -#define DRIVER_LED_TOTAL 110 +#define RGB_MATRIX_LED_COUNT 110 #define RGB_DI_PIN B15 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/kbdfans/odin/rgb/rgb.c b/keyboards/kbdfans/odin/rgb/rgb.c index 425597a7f6..5c7d3caf0d 100644 --- a/keyboards/kbdfans/odin/rgb/rgb.c +++ b/keyboards/kbdfans/odin/rgb/rgb.c @@ -24,21 +24,21 @@ led_config_t g_led_config = { { 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, NO_LED, 63, NO_LED, NO_LED, 58, 57, 56, NO_LED }, { 76, NO_LED, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, NO_LED, 87, NO_LED, 88, 89, 90, 91, 92 }, { 103,102, 101, NO_LED, NO_LED, NO_LED, 100, NO_LED, NO_LED, NO_LED, NO_LED, 99, NO_LED, 98, 97, 96, 95, 94, 93, NO_LED } -}, +}, { { 12*0, 0 }, { 12*2, 0 }, { 12*3, 0 }, { 12*4, 0 }, { 12*5, 0 }, { 12*7, 0 }, { 12*8, 0 }, { 12*9, 0 }, { 12*10, 0 }, { 12*11, 0 }, { 12*12, 0 }, { 12*13, 0 }, { 12*14, 0 }, { 12*15, 0 }, { 12*16, 0 }, { 12*17, 0 }, { 12*18, 0 }, { 224, 0 }, - - { 224, 14 }, { 12*18, 14 }, { 12*17, 14 }, { 12*16, 14 },{ 12*15, 14 },{ 12*13, 14 }, { 12*12, 14 }, { 12*11, 14 }, { 12*10, 14 }, { 12*9, 14 },{ 12*8, 14},{ 12*7, 14}, { 12*6, 14 }, { 12*5, 14 }, { 12*4, 14 },{ 12*3, 14 },{ 12*2, 14 }, {12, 14}, { 12*0, 14 }, - + + { 224, 14 }, { 12*18, 14 }, { 12*17, 14 }, { 12*16, 14 },{ 12*15, 14 },{ 12*13, 14 }, { 12*12, 14 }, { 12*11, 14 }, { 12*10, 14 }, { 12*9, 14 },{ 12*8, 14},{ 12*7, 14}, { 12*6, 14 }, { 12*5, 14 }, { 12*4, 14 },{ 12*3, 14 },{ 12*2, 14 }, {12, 14}, { 12*0, 14 }, + { 12*0, 26.8 }, {12, 26.8}, { 12*2, 26.8 }, { 12*3, 26.8 }, { 12*4, 26.8 }, { 12*5, 26.8 }, { 12*6, 26.8 }, { 12*7, 26.8}, { 12*8, 26.8}, { 12*9, 26.8 }, { 12*10, 26.8 }, { 12*11, 26.8 }, { 12*12, 26.8 }, { 12*13, 26.8 }, { 12*15, 26.8 }, { 12*16, 26.8 }, { 12*17, 26.8 }, { 12*18, 26.8 }, { 224, 33.2 }, - { 12*18, 39.6 }, { 12*17, 39.6 },{ 12*16, 39.6 }, {224,0},{0,0},{0,64},{224,64 }, { 12*13, 39.6 }, { 12*11, 39.6 }, { 12*10, 39.6 }, { 12*9, 39.6 },{ 12*8, 39.6}, { 12*7, 39.6}, { 12*6, 39.6 }, { 12*5, 39.6 },{ 12*4, 39.6 },{ 12*3, 39.6 }, { 12*2, 39.6 }, {12, 39.6}, { 12*0, 39.6 }, - + { 12*18, 39.6 }, { 12*17, 39.6 },{ 12*16, 39.6 }, {224,0},{0,0},{0,64},{224,64 }, { 12*13, 39.6 }, { 12*11, 39.6 }, { 12*10, 39.6 }, { 12*9, 39.6 },{ 12*8, 39.6}, { 12*7, 39.6}, { 12*6, 39.6 }, { 12*5, 39.6 },{ 12*4, 39.6 },{ 12*3, 39.6 }, { 12*2, 39.6 }, {12, 39.6}, { 12*0, 39.6 }, + { 12*0, 52 },{ 12*2, 52 }, { 12*3, 52 }, { 12*4, 52 }, { 12*5, 52 }, { 12*6, 52 }, { 12*7, 52}, { 12*8, 52}, { 12*9, 52 }, { 12*10, 52 }, { 12*11, 52 }, { 12*13, 52 }, { 12*15, 52 }, { 12*16, 52 }, { 12*17, 52 }, { 12*18, 52 }, { 224, 58 }, - + { 12*18, 64 }, { 12*17, 64 }, { 12*16, 64 }, { 12*15, 64 },{ 12*14, 64 }, { 12*13, 64 }, { 12*11, 64 }, { 12*6, 64 }, { 12*2, 64 }, {12, 64}, { 12*0, 64 } }, -{ +{ 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, @@ -47,13 +47,16 @@ led_config_t g_led_config = { 4,4,4,4,4,4,4,4,4,4,4,4 }}; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(75, 0xFF, 0xFF, 0xFF); } if (host_keyboard_led_state().num_lock) { rgb_matrix_set_color(21, 0xFF, 0xFF, 0xFF); - } + } + return true; } #endif diff --git a/keyboards/keebio/bamfk4/config.h b/keyboards/keebio/bamfk4/config.h index b18b94da10..afac3376a4 100644 --- a/keyboards/keebio/bamfk4/config.h +++ b/keyboards/keebio/bamfk4/config.h @@ -81,7 +81,7 @@ # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES //# endif diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json index 1d04f4348b..0704d0e1d2 100644 --- a/keyboards/keebio/bamfk4/info.json +++ b/keyboards/keebio/bamfk4/info.json @@ -1,5 +1,6 @@ { "keyboard_name": "BAMFK-4", + "manufacturer": "Keebio", "url": "https://keeb.io", "maintainer": "nooges", "usb": { diff --git a/keyboards/keebio/bdn9/rev2/config.h b/keyboards/keebio/bdn9/rev2/config.h index e3d004fc27..3af4f76725 100644 --- a/keyboards/keebio/bdn9/rev2/config.h +++ b/keyboards/keebio/bdn9/rev2/config.h @@ -47,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGBLIGHT_ANIMATIONS // RGB Matrix # ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/config.h b/keyboards/keebio/bfo9000/keymaps/abstractkb/config.h index 67c64fd8e8..c44c64603d 100644 --- a/keyboards/keebio/bfo9000/keymaps/abstractkb/config.h +++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/config.h @@ -25,11 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_SLEEP -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/bfo9000/keymaps/andylikescandy6x18/config.h b/keyboards/keebio/bfo9000/keymaps/andylikescandy6x18/config.h index be57e385ef..786e107f9c 100644 --- a/keyboards/keebio/bfo9000/keymaps/andylikescandy6x18/config.h +++ b/keyboards/keebio/bfo9000/keymaps/andylikescandy6x18/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h index 344634063c..2e2f45ea1f 100644 --- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h +++ b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/config.h @@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ -39,4 +36,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define RGBLED_NUM 12 // #define RGBLIGHT_HUE_STEP 8 // #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8
\ No newline at end of file +// #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h index 344634063c..2e2f45ea1f 100644 --- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h +++ b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/config.h @@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ -39,4 +36,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define RGBLED_NUM 12 // #define RGBLIGHT_HUE_STEP 8 // #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8
\ No newline at end of file +// #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/keebio/fourier/keymaps/default/config.h b/keyboards/keebio/fourier/keymaps/default/config.h index 8cea392181..fa952ef4c3 100644 --- a/keyboards/keebio/fourier/keymaps/default/config.h +++ b/keyboards/keebio/fourier/keymaps/default/config.h @@ -20,5 +20,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ // #define USE_I2C diff --git a/keyboards/keebio/fourier/keymaps/maxim/config.h b/keyboards/keebio/fourier/keymaps/maxim/config.h index fb13b56cdc..446b011153 100644 --- a/keyboards/keebio/fourier/keymaps/maxim/config.h +++ b/keyboards/keebio/fourier/keymaps/maxim/config.h @@ -22,8 +22,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - diff --git a/keyboards/keebio/iris/keymaps/333fred/config.h b/keyboards/keebio/iris/keymaps/333fred/config.h index 3c8ba4cb25..0c0250291c 100644 --- a/keyboards/keebio/iris/keymaps/333fred/config.h +++ b/keyboards/keebio/iris/keymaps/333fred/config.h @@ -22,7 +22,6 @@ #pragma once -#define USE_SERIAL #define EE_HANDS #define NO_ACTION_MACRO diff --git a/keyboards/keebio/iris/keymaps/antonlindstrom/config.h b/keyboards/keebio/iris/keymaps/antonlindstrom/config.h index 0997e72512..36b3e42d7e 100644 --- a/keyboards/keebio/iris/keymaps/antonlindstrom/config.h +++ b/keyboards/keebio/iris/keymaps/antonlindstrom/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/ave-63/config.h b/keyboards/keebio/iris/keymaps/ave-63/config.h index 381a494b75..0d0c4764bb 100644 --- a/keyboards/keebio/iris/keymaps/ave-63/config.h +++ b/keyboards/keebio/iris/keymaps/ave-63/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - #define PREVENT_STUCK_MODIFIERS #define TAPPING_TERM 150 diff --git a/keyboards/keebio/iris/keymaps/bmoorey/config.h b/keyboards/keebio/iris/keymaps/bmoorey/config.h index 9f8a9afab8..8f173a128b 100644 --- a/keyboards/keebio/iris/keymaps/bmoorey/config.h +++ b/keyboards/keebio/iris/keymaps/bmoorey/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_RIGHT @@ -35,4 +30,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define NO_ACTION_TAPPING -#define NO_ACTION_ONESHOT
\ No newline at end of file +#define NO_ACTION_ONESHOT diff --git a/keyboards/keebio/iris/keymaps/boo/config.h b/keyboards/keebio/iris/keymaps/boo/config.h index 6af7d40852..101fd6e8ce 100644 --- a/keyboards/keebio/iris/keymaps/boo/config.h +++ b/keyboards/keebio/iris/keymaps/boo/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/davidrambo/config.h b/keyboards/keebio/iris/keymaps/davidrambo/config.h index 0c4bf8c8f4..bfa48ce0ce 100644 --- a/keyboards/keebio/iris/keymaps/davidrambo/config.h +++ b/keyboards/keebio/iris/keymaps/davidrambo/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define PERMISSIVE_HOLD #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h index cf67aa6984..0569f30744 100644 --- a/keyboards/keebio/iris/keymaps/drashna/config.h +++ b/keyboards/keebio/iris/keymaps/drashna/config.h @@ -51,11 +51,11 @@ #undef PRODUCT #if defined(KEYBOARD_keebio_iris_rev2) -# define PRODUCT Drashna Hacked Iris Rev 2 +# define PRODUCT "Drashna Hacked Iris Rev 2" #elif defined(KEYBOARD_keebio_iris_rev3) -# define PRODUCT Drashna Hacked Iris Rev 3 +# define PRODUCT "Drashna Hacked Iris Rev 3" #elif defined(KEYBOARD_keebio_iris_rev4) -# define PRODUCT Drashna Hacked Iris Rev 4 +# define PRODUCT "Drashna Hacked Iris Rev 4" #endif #define SHFT_LED1 6 diff --git a/keyboards/keebio/iris/keymaps/dvorak/config.h b/keyboards/keebio/iris/keymaps/dvorak/config.h index d37d3c3123..4576a6d639 100644 --- a/keyboards/keebio/iris/keymaps/dvorak/config.h +++ b/keyboards/keebio/iris/keymaps/dvorak/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/edvorakjp/config.h b/keyboards/keebio/iris/keymaps/edvorakjp/config.h index f296e29769..864cedae98 100644 --- a/keyboards/keebio/iris/keymaps/edvorakjp/config.h +++ b/keyboards/keebio/iris/keymaps/edvorakjp/config.h @@ -1,9 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/emp/config.h b/keyboards/keebio/iris/keymaps/emp/config.h index a08db4d170..9f1982935a 100644 --- a/keyboards/keebio/iris/keymaps/emp/config.h +++ b/keyboards/keebio/iris/keymaps/emp/config.h @@ -17,9 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ #undef USE_I2C -#define USE_SERIAL /* Select hand configuration */ #undef MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/gary/config.h b/keyboards/keebio/iris/keymaps/gary/config.h index 186aee502c..e337f4403f 100644 --- a/keyboards/keebio/iris/keymaps/gary/config.h +++ b/keyboards/keebio/iris/keymaps/gary/config.h @@ -1,10 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/gsigler/config.h b/keyboards/keebio/iris/keymaps/gsigler/config.h index e1793fb1b8..f568452d0a 100644 --- a/keyboards/keebio/iris/keymaps/gsigler/config.h +++ b/keyboards/keebio/iris/keymaps/gsigler/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/hbbisenieks/config.h b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h index bb3fe25085..20384f4582 100644 --- a/keyboards/keebio/iris/keymaps/hbbisenieks/config.h +++ b/keyboards/keebio/iris/keymaps/hbbisenieks/config.h @@ -19,12 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/impstyle/config.h b/keyboards/keebio/iris/keymaps/impstyle/config.h index 6fc14133f8..68b45c217d 100644 --- a/keyboards/keebio/iris/keymaps/impstyle/config.h +++ b/keyboards/keebio/iris/keymaps/impstyle/config.h @@ -20,9 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -//#define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/iris/keymaps/isolike/config.h b/keyboards/keebio/iris/keymaps/isolike/config.h index 7986b50416..6d3194157e 100644 --- a/keyboards/keebio/iris/keymaps/isolike/config.h +++ b/keyboards/keebio/iris/keymaps/isolike/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/jasondunsmore/config.h b/keyboards/keebio/iris/keymaps/jasondunsmore/config.h index 8799e01c18..e6fa61d3dd 100644 --- a/keyboards/keebio/iris/keymaps/jasondunsmore/config.h +++ b/keyboards/keebio/iris/keymaps/jasondunsmore/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL #define EE_HANDS #define TAPPING_TERM 150 #define TAPPING_TOGGLE 2 diff --git a/keyboards/keebio/iris/keymaps/khord/config.h b/keyboards/keebio/iris/keymaps/khord/config.h index 9b44bca792..22e11c8798 100644 --- a/keyboards/keebio/iris/keymaps/khord/config.h +++ b/keyboards/keebio/iris/keymaps/khord/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/krusli/config.h b/keyboards/keebio/iris/keymaps/krusli/config.h index 72e35c4728..ec8bdffe88 100644 --- a/keyboards/keebio/iris/keymaps/krusli/config.h +++ b/keyboards/keebio/iris/keymaps/krusli/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/mojitas/config.h b/keyboards/keebio/iris/keymaps/mojitas/config.h index 24aecb9f84..d1c8bda27c 100644 --- a/keyboards/keebio/iris/keymaps/mojitas/config.h +++ b/keyboards/keebio/iris/keymaps/mojitas/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/moonfall/config.h b/keyboards/keebio/iris/keymaps/moonfall/config.h index 7986b50416..6d3194157e 100644 --- a/keyboards/keebio/iris/keymaps/moonfall/config.h +++ b/keyboards/keebio/iris/keymaps/moonfall/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic/config.h b/keyboards/keebio/iris/keymaps/olligranlund_nordic/config.h index 16c4302373..b78c52a460 100644 --- a/keyboards/keebio/iris/keymaps/olligranlund_nordic/config.h +++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -//#define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/config.h b/keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/config.h index c1acce7c38..5e06cb3ac3 100644 --- a/keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/config.h +++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -//#define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ -28,4 +25,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT #define EE_HANDS -#undef RGBLED_NUM
\ No newline at end of file +#undef RGBLED_NUM diff --git a/keyboards/keebio/iris/keymaps/omgvee/config.h b/keyboards/keebio/iris/keymaps/omgvee/config.h index c5899f45f0..c47ec74287 100644 --- a/keyboards/keebio/iris/keymaps/omgvee/config.h +++ b/keyboards/keebio/iris/keymaps/omgvee/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/pvinis/config.h b/keyboards/keebio/iris/keymaps/pvinis/config.h index c2870eba0b..861c474e54 100644 --- a/keyboards/keebio/iris/keymaps/pvinis/config.h +++ b/keyboards/keebio/iris/keymaps/pvinis/config.h @@ -2,13 +2,9 @@ #ifdef PRODUCT # undef PRODUCT -# define PRODUCT Iris Keyboard - pvinis +# define PRODUCT "Iris Keyboard - pvinis" #endif -// Use I2C or Serial, not both. -#define USE_SERIAL -// #define USE_I2C - // Select hand configuration. // #define MASTER_LEFT #define MASTER_RIGHT diff --git a/keyboards/keebio/iris/keymaps/rs/config.h b/keyboards/keebio/iris/keymaps/rs/config.h index 412862c872..8aed71e202 100644 --- a/keyboards/keebio/iris/keymaps/rs/config.h +++ b/keyboards/keebio/iris/keymaps/rs/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/sethBarberee/config.h b/keyboards/keebio/iris/keymaps/sethBarberee/config.h index bd2ec41210..61aa24ff01 100644 --- a/keyboards/keebio/iris/keymaps/sethBarberee/config.h +++ b/keyboards/keebio/iris/keymaps/sethBarberee/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -//#define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/keebio/iris/keymaps/two_knob/keymap.c b/keyboards/keebio/iris/keymaps/two_knob/keymap.c index aeeb2df905..173d8a6700 100644 --- a/keyboards/keebio/iris/keymaps/two_knob/keymap.c +++ b/keyboards/keebio/iris/keymaps/two_knob/keymap.c @@ -22,7 +22,7 @@ enum custom_layers { /* Rotary encoder variables used to hold down Command (GUI) key while cycling through open programs. */ bool is_cmd_tab_active = false; -uint16_t cmd_tab_timer = 0; +uint16_t cmd_tab_timer = 0; enum custom_keycodes { QWERTY = SAFE_RANGE, @@ -64,7 +64,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { * You can download/upload the two_know.json to the configurator: * https://config.qmk.fm/#/keebio/iris/rev6a/LAYOUT * - * If you make changes and download the json, you can run qmk json2c two_knob.json to get converted text. + * If you make changes and download the json, you can run qmk json2c two_knob.json to get converted text. * You can copy and paste it here. * You will have to reneame the array keys from ints to the custom keycode names. * @@ -173,7 +173,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { * |64|--|--|63|--|--|--| |--|--|--|29|--|--|30| * |--|62|--| |--|28|--| */ -// void rgb_matrix_indicators_user(void) { +// bool rgb_matrix_indicators_user(void) { // if (IS_LAYER_ON(1)) { // /* Upperleft most key red: */ // rgb_matrix_set_color(0,255,0,0); @@ -217,6 +217,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // rgb_matrix_set_color(02, 255, 200, 0); // rgb_matrix_set_color(03, 255, 235, 0); // } +// return false; // } /** @@ -225,8 +226,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { * This can't be programmed through configurator. You must do it here. * * This uses the amazing "Encoder map" feature which replicates the normal keyswitch layer handling functionality, but with encoders. - * https://docs.qmk.fm/#/feature_encoders?id=encoder-map - * + * https://docs.qmk.fm/#/feature_encoders?id=encoder-map + * * Uses a variant of the Super-alt-tab macro to switch between open applications on a mac. (Command-tab) * https://docs.qmk.fm/#/feature_macros?id=super-alt%e2%86%aftab */ diff --git a/keyboards/keebio/iris/keymaps/vyolle/config.h b/keyboards/keebio/iris/keymaps/vyolle/config.h index 1adbd65b5a..49ad181d9b 100644 --- a/keyboards/keebio/iris/keymaps/vyolle/config.h +++ b/keyboards/keebio/iris/keymaps/vyolle/config.h @@ -17,11 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - #define USE_I2C -// #define USE_SERIAL - #define FORCE_NKRO //Cause it's suprisingly handy. diff --git a/keyboards/keebio/iris/keymaps/wanleg/config.h b/keyboards/keebio/iris/keymaps/wanleg/config.h index 9b90007688..6e774d9de7 100644 --- a/keyboards/keebio/iris/keymaps/wanleg/config.h +++ b/keyboards/keebio/iris/keymaps/wanleg/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL #undef USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/iris/keymaps/xyverz/config.h b/keyboards/keebio/iris/keymaps/xyverz/config.h index d3fc22ca76..f6eb967943 100644 --- a/keyboards/keebio/iris/keymaps/xyverz/config.h +++ b/keyboards/keebio/iris/keymaps/xyverz/config.h @@ -1,33 +1,12 @@ -/* -Copyright 2017 Danny Nguyen <danny@hexwire.com> +#pragma once -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "config_common.h" - -#define USE_SERIAL #define EE_HANDS #undef PRODUCT -#define PRODUCT Iris Keyboard +#define PRODUCT "Iris Keyboard" #undef MANUFACTURER -#define MANUFACTURER Ian Sterling +#define MANUFACTURER "Ian Sterling" #undef RGBLED_NUM #define RGBLIGHT_ANIMATIONS @@ -35,5 +14,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 - -#endif diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h index 7bc8c4132b..2f6d18efcd 100644 --- a/keyboards/keebio/iris/rev6/config.h +++ b/keyboards/keebio/iris/rev6/config.h @@ -113,7 +113,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev6a/config.h b/keyboards/keebio/iris/rev6a/config.h index 08863797fb..632514e87e 100644 --- a/keyboards/keebio/iris/rev6a/config.h +++ b/keyboards/keebio/iris/rev6a/config.h @@ -113,7 +113,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev6b/config.h b/keyboards/keebio/iris/rev6b/config.h index 08863797fb..632514e87e 100644 --- a/keyboards/keebio/iris/rev6b/config.h +++ b/keyboards/keebio/iris/rev6b/config.h @@ -113,7 +113,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h index 005f78e8a9..ee55576d8c 100644 --- a/keyboards/keebio/iris/rev7/config.h +++ b/keyboards/keebio/iris/rev7/config.h @@ -113,7 +113,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 # define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT { 34, 34 } # define RGB_DISABLE_WHEN_USB_SUSPENDED # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/keebio/levinson/keymaps/drogglbecher/config.h b/keyboards/keebio/levinson/keymaps/drogglbecher/config.h index ef96ff00b1..1beb80a649 100644 --- a/keyboards/keebio/levinson/keymaps/drogglbecher/config.h +++ b/keyboards/keebio/levinson/keymaps/drogglbecher/config.h @@ -3,11 +3,6 @@ #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -/* #define USE_I2C */ - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/config.h b/keyboards/keebio/levinson/keymaps/issmirnov/config.h index 2f0fbaf33c..6f6f362a8f 100644 --- a/keyboards/keebio/levinson/keymaps/issmirnov/config.h +++ b/keyboards/keebio/levinson/keymaps/issmirnov/config.h @@ -1,10 +1,5 @@ #pragma once -// Use serial comms for split keyboard -// DO NOT enable USE_IDC - board will not respond. -#define USE_SERIAL -//#define USE_I2C - #ifdef RGBLIGHT_ENABLE // Enable animations. +5500 bytes #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/keebio/levinson/keymaps/losinggeneration/config.h b/keyboards/keebio/levinson/keymaps/losinggeneration/config.h index 13023939eb..41bfb4651f 100644 --- a/keyboards/keebio/levinson/keymaps/losinggeneration/config.h +++ b/keyboards/keebio/levinson/keymaps/losinggeneration/config.h @@ -18,11 +18,6 @@ long with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -/* #define USE_I2C */ - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/levinson/keymaps/mmacdougall/config.h b/keyboards/keebio/levinson/keymaps/mmacdougall/config.h index 63dd5bc88f..e3012bbe06 100644 --- a/keyboards/keebio/levinson/keymaps/mmacdougall/config.h +++ b/keyboards/keebio/levinson/keymaps/mmacdougall/config.h @@ -1,10 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/levinson/keymaps/steno/config.h b/keyboards/keebio/levinson/keymaps/steno/config.h index 9cbc148e42..630cc6238f 100644 --- a/keyboards/keebio/levinson/keymaps/steno/config.h +++ b/keyboards/keebio/levinson/keymaps/steno/config.h @@ -17,11 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - #define USE_I2C -// #define USE_SERIAL - #define FORCE_NKRO //For Steno. diff --git a/keyboards/keebio/levinson/keymaps/treadwell/config.h b/keyboards/keebio/levinson/keymaps/treadwell/config.h index 69783937b2..47f85f6dc3 100644 --- a/keyboards/keebio/levinson/keymaps/treadwell/config.h +++ b/keyboards/keebio/levinson/keymaps/treadwell/config.h @@ -3,11 +3,6 @@ #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/config.h b/keyboards/keebio/levinson/keymaps/xtonhasvim/config.h index aaf1b7f049..53847db93a 100644 --- a/keyboards/keebio/levinson/keymaps/xtonhasvim/config.h +++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/config.h @@ -1,7 +1,5 @@ #pragma once -#define USE_SERIAL - // #define MUSIC_MASK (keycode != KC_NO) /* diff --git a/keyboards/keebio/nyquist/keymaps/DivergeJM/README.md b/keyboards/keebio/nyquist/keymaps/DivergeJM/README.md index 198e3ef887..86d764818b 100644 --- a/keyboards/keebio/nyquist/keymaps/DivergeJM/README.md +++ b/keyboards/keebio/nyquist/keymaps/DivergeJM/README.md @@ -173,7 +173,7 @@ The *MOUSE* layer contains keys replicating functions found on the mouse. ,-----------------------------------------. ,----------------------------------------. | | | | | |RESET | | | | | | | | |------+------+------+------+------+------| |-----+------+------+------+------+------| -| | | | | | | | |TermOn|TermOf| | | Del | +| | | | | | | | | | | | | Del | |------+------+------+------+------+------| |-----+------+------+------+------+------| | | | | | | | | |Qwerty|Colemk|Dvorak| | | |------+------+------+------+------+------| |-----+------+------+------+------+------| diff --git a/keyboards/keebio/nyquist/keymaps/DivergeJM/config.h b/keyboards/keebio/nyquist/keymaps/DivergeJM/config.h index 776834111d..43696b046c 100644 --- a/keyboards/keebio/nyquist/keymaps/DivergeJM/config.h +++ b/keyboards/keebio/nyquist/keymaps/DivergeJM/config.h @@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 150 //reduce time required to register a held key -#define USE_SERIAL - // #define MASTER_LEFT // #define MASTER_RIGHT #define EE_HANDS diff --git a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c index 8e8743766b..5cf639775e 100644 --- a/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/DivergeJM/keymap.c @@ -208,7 +208,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------. ,----------------------------------------. * | | | | | |QK_BOOT | | | | | | | | * |------+------+------+------+------+------| |-----+------+------+------+------+------| - * | | | | | | | | |TermOn|TermOf| | | Del | + * | | | | | | | | | | | | | Del | * |------+------+------+------+------+------| |-----+------+------+------+------+------| * | | | | | | | | |Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+------| |-----+------+------+------+------+------| @@ -220,7 +220,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT( _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/keebio/nyquist/keymaps/bramver/config.h b/keyboards/keebio/nyquist/keymaps/bramver/config.h index c908386e28..468e59af07 100644 --- a/keyboards/keebio/nyquist/keymaps/bramver/config.h +++ b/keyboards/keebio/nyquist/keymaps/bramver/config.h @@ -16,7 +16,6 @@ #pragma once -#define USE_SERIAL #define MASTER_LEFT #define TAPPING_TERM 200 diff --git a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h index 398b285b89..74499ede71 100644 --- a/keyboards/keebio/nyquist/keymaps/danielhklein/config.h +++ b/keyboards/keebio/nyquist/keymaps/danielhklein/config.h @@ -16,8 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once -#define TAPPING_TERM 150 -#define USE_SERIAL +#define TAPPING_TERM 150 #define EE_HANDS #ifdef SUBPROJECT_rev1 diff --git a/keyboards/keebio/nyquist/keymaps/jojiichan/config.h b/keyboards/keebio/nyquist/keymaps/jojiichan/config.h index 39a3df26bf..544b7b7371 100644 --- a/keyboards/keebio/nyquist/keymaps/jojiichan/config.h +++ b/keyboards/keebio/nyquist/keymaps/jojiichan/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/nyquist/keymaps/kim-kim/config.h b/keyboards/keebio/nyquist/keymaps/kim-kim/config.h index a6246262e5..f3d8ae0a40 100644 --- a/keyboards/keebio/nyquist/keymaps/kim-kim/config.h +++ b/keyboards/keebio/nyquist/keymaps/kim-kim/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT @@ -38,4 +33,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 -#endif
\ No newline at end of file +#endif diff --git a/keyboards/keebio/nyquist/keymaps/losinggeneration/config.h b/keyboards/keebio/nyquist/keymaps/losinggeneration/config.h index 56cacd843e..38d1939580 100644 --- a/keyboards/keebio/nyquist/keymaps/losinggeneration/config.h +++ b/keyboards/keebio/nyquist/keymaps/losinggeneration/config.h @@ -18,11 +18,6 @@ long with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -/* #define USE_I2C */ - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/nyquist/keymaps/pitty/config.h b/keyboards/keebio/nyquist/keymaps/pitty/config.h index efc75b22c7..b393e6a5f6 100644 --- a/keyboards/keebio/nyquist/keymaps/pitty/config.h +++ b/keyboards/keebio/nyquist/keymaps/pitty/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c b/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c index 96cf700bb8..176e53988c 100644 --- a/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c +++ b/keyboards/keebio/nyquist/keymaps/pjanx/keymap.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | M1 | M2 | M3 | | | | | <- | vv | ^^ | -> | * `-----------------------------------------------------------------------------------' @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ortho_4x12( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, _______, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT ) diff --git a/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h b/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h index d0adbfe0c8..72e0e422d6 100644 --- a/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h +++ b/keyboards/keebio/nyquist/keymaps/shovelpaw/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/keebio/nyquist/keymaps/skug/config.h b/keyboards/keebio/nyquist/keymaps/skug/config.h index c366863294..532cdafa97 100644 --- a/keyboards/keebio/nyquist/keymaps/skug/config.h +++ b/keyboards/keebio/nyquist/keymaps/skug/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/nyquist/keymaps/yshrsmz/config.h b/keyboards/keebio/nyquist/keymaps/yshrsmz/config.h index 5cbe3b7010..aafb73fa05 100644 --- a/keyboards/keebio/nyquist/keymaps/yshrsmz/config.h +++ b/keyboards/keebio/nyquist/keymaps/yshrsmz/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* auto shift config */ #define AUTO_SHIFT_TIMEOUT 140 diff --git a/keyboards/keebio/quefrency/keymaps/bcat/config.h b/keyboards/keebio/quefrency/keymaps/bcat/config.h index 69771d36ba..32510e9031 100644 --- a/keyboards/keebio/quefrency/keymaps/bcat/config.h +++ b/keyboards/keebio/quefrency/keymaps/bcat/config.h @@ -16,13 +16,6 @@ #pragma once -/* Quefrency lacks I2C resistors on the right PCB, so the right half doesn't - * work independently. (Presumably the floating I2C lines cause a problem.) - * Using serial seems sufficiently fast in practice and allows both halves to be - * used independently. - */ -#define USE_SERIAL - /* Use an extra LED on the right side since it's wider on the 65% PCB. */ #undef RGBLED_NUM #define RGBLED_NUM 17 diff --git a/keyboards/keebio/quefrency/keymaps/bfiedler/config.h b/keyboards/keebio/quefrency/keymaps/bfiedler/config.h index e7d5ba9ca8..8a35b6f197 100644 --- a/keyboards/keebio/quefrency/keymaps/bfiedler/config.h +++ b/keyboards/keebio/quefrency/keymaps/bfiedler/config.h @@ -22,11 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - // https://docs.qmk.fm/#/tap_hold?id=tap-hold-configuration-options #define TAPPING_TERM 120 //#define PERMISSIVE_HOLD diff --git a/keyboards/keebio/quefrency/keymaps/bjohnson/config.h b/keyboards/keebio/quefrency/keymaps/bjohnson/config.h index 37c6d6672d..82ace2ef68 100644 --- a/keyboards/keebio/quefrency/keymaps/bjohnson/config.h +++ b/keyboards/keebio/quefrency/keymaps/bjohnson/config.h @@ -21,11 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - #define TAPPING_TERM 500 #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/keebio/quefrency/keymaps/bramver/config.h b/keyboards/keebio/quefrency/keymaps/bramver/config.h index c908386e28..468e59af07 100644 --- a/keyboards/keebio/quefrency/keymaps/bramver/config.h +++ b/keyboards/keebio/quefrency/keymaps/bramver/config.h @@ -16,7 +16,6 @@ #pragma once -#define USE_SERIAL #define MASTER_LEFT #define TAPPING_TERM 200 diff --git a/keyboards/keebio/quefrency/keymaps/default60/config.h b/keyboards/keebio/quefrency/keymaps/default60/config.h index f9efe78c5b..497e05b540 100644 --- a/keyboards/keebio/quefrency/keymaps/default60/config.h +++ b/keyboards/keebio/quefrency/keymaps/default60/config.h @@ -20,8 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/default65/config.h b/keyboards/keebio/quefrency/keymaps/default65/config.h index f9efe78c5b..9aae0fdfc2 100644 --- a/keyboards/keebio/quefrency/keymaps/default65/config.h +++ b/keyboards/keebio/quefrency/keymaps/default65/config.h @@ -21,7 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/config.h b/keyboards/keebio/quefrency/keymaps/joestrong/config.h index f9efe78c5b..497e05b540 100644 --- a/keyboards/keebio/quefrency/keymaps/joestrong/config.h +++ b/keyboards/keebio/quefrency/keymaps/joestrong/config.h @@ -20,8 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/jonavin/config.h b/keyboards/keebio/quefrency/keymaps/jonavin/config.h index b7883424bc..495638123a 100644 --- a/keyboards/keebio/quefrency/keymaps/jonavin/config.h +++ b/keyboards/keebio/quefrency/keymaps/jonavin/config.h @@ -22,11 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - #define TAPPING_TOGGLE 2 // TT set to two taps diff --git a/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h b/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h index bf632842e9..f636c95454 100644 --- a/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h +++ b/keyboards/keebio/quefrency/keymaps/kingwangwong/config.h @@ -21,10 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -//#define USE_I2C #define USB_MAX_POWER_CONSUMPTION 50 diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h index 2332c4f523..0eefd14dfe 100644 --- a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h +++ b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h @@ -21,8 +21,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h index f9efe78c5b..497e05b540 100644 --- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h +++ b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h @@ -20,8 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/quefrency/keymaps/yoryer/config.h b/keyboards/keebio/quefrency/keymaps/yoryer/config.h index f9efe78c5b..497e05b540 100644 --- a/keyboards/keebio/quefrency/keymaps/yoryer/config.h +++ b/keyboards/keebio/quefrency/keymaps/yoryer/config.h @@ -20,8 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h index ed948a4b3b..0915bbba18 100644 --- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h +++ b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/config.h @@ -1,8 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h index 2048232c9c..3b95b3c4d7 100644 --- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h +++ b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/config.h @@ -1,8 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/keebio/sinc/keymaps/sethBarberee/config.h b/keyboards/keebio/sinc/keymaps/sethBarberee/config.h index 2d66aefc3e..343567273d 100644 --- a/keyboards/keebio/sinc/keymaps/sethBarberee/config.h +++ b/keyboards/keebio/sinc/keymaps/sethBarberee/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -// -//#define USE_SERIAL -//#define USE_I2C - //#ifdef RGBLIGHT_ENABLE //# ifdef NORMAL_MODE //# undef NORMAL_MODE diff --git a/keyboards/keebio/stick/config.h b/keyboards/keebio/stick/config.h index 8166510921..8539a6d49d 100644 --- a/keyboards/keebio/stick/config.h +++ b/keyboards/keebio/stick/config.h @@ -44,7 +44,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGBLIGHT_ANIMATIONS // RGB Matrix # ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM // 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/keebio/viterbi/keymaps/drashna/config.h b/keyboards/keebio/viterbi/keymaps/drashna/config.h index 2decb3b3e9..cd640ec8d5 100644 --- a/keyboards/keebio/viterbi/keymaps/drashna/config.h +++ b/keyboards/keebio/viterbi/keymaps/drashna/config.h @@ -31,7 +31,7 @@ #endif // RGBLIGHT_ENABLE #undef PRODUCT -#define PRODUCT Drashnas Viterbi Macro Pad +#define PRODUCT "Drashnas Viterbi Macro Pad" #ifdef AUDIO_ENABLE # define AUDIO_PIN C6 diff --git a/keyboards/keebwerk/mega/ansi/config.h b/keyboards/keebwerk/mega/ansi/config.h index 15df557676..43bc368925 100755 --- a/keyboards/keebwerk/mega/ansi/config.h +++ b/keyboards/keebwerk/mega/ansi/config.h @@ -112,7 +112,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 128 +#define RGB_MATRIX_LED_COUNT 128 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/kegen/gboy/info.json b/keyboards/kegen/gboy/info.json index 880fd9611c..a47bfdb7b8 100644 --- a/keyboards/kegen/gboy/info.json +++ b/keyboards/kegen/gboy/info.json @@ -1,8 +1,8 @@ { - "keyboard_name": "Kegen G-Boy", - "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kegen/gboy", - "maintainer": "@mattchan", - "maintainer": "mattchan", + "keyboard_name": "G-Boy", + "manufacturer": "Kegen", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/kegen/gboy", + "maintainer": "mattchan", "usb": { "vid": "0x4B65", "pid": "0x6762", @@ -27,7 +27,7 @@ {"label": "BSPC", "x":13, "y":0}, {"label": "BSPC", "x":14, "y":0}, {"label": "HOME", "x":15, "y":0}, - + {"label": "TAB", "x":0, "y":1, "w":1.5}, {"label": "Q", "x":1.5, "y":1}, {"label": "W", "x":2.5, "y":1}, @@ -89,4 +89,4 @@ ] } } -}
\ No newline at end of file +} diff --git a/keyboards/keybee/keybee65/config.h b/keyboards/keybee/keybee65/config.h index 1e54bbfb15..e9d50a65cc 100644 --- a/keyboards/keybee/keybee65/config.h +++ b/keyboards/keybee/keybee65/config.h @@ -47,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The pin connected to the data pin of the LEDs #define RGB_DI_PIN B0 // The number of LEDs connected -#define DRIVER_LED_TOTAL 80 +#define RGB_MATRIX_LED_COUNT 80 // Limit the Brithness of the LEDs #define RGBLIGHT_LIMIT_VAL 96 #define RGB_VAL_STEP 12 diff --git a/keyboards/keybee/keybee65/keymaps/default/keymap.c b/keyboards/keybee/keybee65/keymaps/default/keymap.c index 8d58a54852..030b38884c 100644 --- a/keyboards/keybee/keybee65/keymaps/default/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/default/keymap.c @@ -23,9 +23,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER0] = LAYOUT_65_ansi( KC_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_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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), @@ -76,9 +76,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(30, 254, 189, 41); // set caps lock led color first nunber is index, R G B } -}
\ No newline at end of file + return false; +} diff --git a/keyboards/keybee/keybee65/keymaps/via/keymap.c b/keyboards/keybee/keybee65/keymaps/via/keymap.c index 1eb0a6480c..3ffeaf28ba 100644 --- a/keyboards/keybee/keybee65/keymaps/via/keymap.c +++ b/keyboards/keybee/keybee65/keymaps/via/keymap.c @@ -25,9 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER0] = LAYOUT_65_ansi( KC_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_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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), @@ -95,11 +95,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(30, 254, 189, 41); // set caps lock led color first nunber is index, R G B } else if (!(rgb_matrix_get_flags() & LED_FLAG_MODIFIER)) { rgb_matrix_set_color(30, 0, 0, 0); } -}
\ No newline at end of file + return false; +} diff --git a/keyboards/keyboardio/model01/config.h b/keyboards/keyboardio/model01/config.h index 2bb5cb7386..c3874206d0 100644 --- a/keyboards/keyboardio/model01/config.h +++ b/keyboards/keyboardio/model01/config.h @@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DEBOUNCE 0 /* RGB matrix constants */ -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/keyboardio/model01/keymaps/default/keymap.c b/keyboards/keyboardio/model01/keymaps/default/keymap.c index 1ff1eb8370..3ed72adb73 100644 --- a/keyboards/keyboardio/model01/keymaps/default/keymap.c +++ b/keyboards/keyboardio/model01/keymaps/default/keymap.c @@ -103,10 +103,11 @@ static void set_numpad_colours(int on, void (*write)(int, uint8_t, uint8_t, uint /* the RGB matrix effects will overwrite the numpad indicator. * this handy mechanism allows to override the matrix effects. */ -void rgb_matrix_indicators_user(void) { - if (layer_state & (1<<NUM)) { - set_numpad_colours(1, &rgb_matrix_set_color); - } +bool rgb_matrix_indicators_user(void) { + if (layer_state & (1 << NUM)) { + set_numpad_colours(1, &rgb_matrix_set_color); + } + return false; } #else /* no RGB matrix support */ diff --git a/keyboards/keyboardio/model01/leds.c b/keyboards/keyboardio/model01/leds.c index 0308887d3b..7e65134bd4 100644 --- a/keyboards/keyboardio/model01/leds.c +++ b/keyboards/keyboardio/model01/leds.c @@ -89,7 +89,7 @@ static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) { } static void set_color_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i=0; i<DRIVER_LED_TOTAL; i++) + for (int i=0; i<RGB_MATRIX_LED_COUNT; i++) set_color(i, r, g, b); } diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h index 5e91a21c73..f85a8eee55 100644 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h +++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/config.h @@ -33,7 +33,7 @@ // The pin connected to the data pin of the LEDs #define RGB_DI_PIN D3 // The number of LEDs connected -#define DRIVER_LED_TOTAL 60 +#define RGB_MATRIX_LED_COUNT 60 #define RGBLED_NUM 60 #define RGB_MATRIX_SPLIT {30,30} #define SPLIT_LAYER_STATE_ENABLE @@ -42,10 +42,9 @@ # 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_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_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 80 // limits maximum brightness of LEDs to 80 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/keychron/q0/q0.c b/keyboards/keychron/q0/q0.c index d17ab77f47..554476ad8c 100644 --- a/keyboards/keychron/q0/q0.c +++ b/keyboards/keychron/q0/q0.c @@ -42,7 +42,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return true; } -__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +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; + } // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); if (host_keyboard_led_state().num_lock) { @@ -52,6 +55,7 @@ __attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, RGB_MATRIX_INDICATOR_SET_COLOR(NUM_LOCK_LED_INDEX, 0, 0, 0); } } + return true; } #endif // NUM_LOCK_LED_INDEX diff --git a/keyboards/keychron/q0/rev_0130/config.h b/keyboards/keychron/q0/rev_0130/config.h index e7fabed664..126d636589 100644 --- a/keyboards/keychron/q0/rev_0130/config.h +++ b/keyboards/keychron/q0/rev_0130/config.h @@ -18,7 +18,7 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 21 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL /* Enable num-lock LED */ #define NUM_LOCK_LED_INDEX 4 diff --git a/keyboards/keychron/q0/rev_0130/rev_0130.c b/keyboards/keychron/q0/rev_0130/rev_0130.c index 64c4842086..b968361c7e 100644 --- a/keyboards/keychron/q0/rev_0130/rev_0130.c +++ b/keyboards/keychron/q0/rev_0130/rev_0130.c @@ -20,7 +20,7 @@ // clang-format off -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to CKLED manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1/rev_0100/config.h b/keyboards/keychron/q1/rev_0100/config.h index 1b8c65165c..0a30f7d82d 100644 --- a/keyboards/keychron/q1/rev_0100/config.h +++ b/keyboards/keychron/q1/rev_0100/config.h @@ -23,4 +23,4 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 59 #define DRIVER_2_LED_TOTAL 23 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file diff --git a/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c index 9bc7231ece..b7d12f9466 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/gtg465x/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -49,6 +49,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c index f06039af06..c6fa5f1f15 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/mkillewald/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -54,6 +54,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -67,11 +68,11 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l bool is_caps_lock_indicator(uint16_t keycode) { bool indicator = keycode == KC_CAPS; - + if (get_caps_lock_light_tab()) { indicator = keycode == KC_TAB || keycode == KC_CAPS; } - + if (get_caps_lock_light_alphas()) { return (KC_A <= keycode && keycode <= KC_Z) || indicator; } else { @@ -80,4 +81,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { } bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } -bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
\ No newline at end of file +bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } diff --git a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c index 77f1c1011b..fbc37fb5bf 100644 --- a/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0100/keymaps/teimor/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state | default_layer_state); switch (current_layer) { case MAC_BASE: @@ -59,6 +59,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0100/rev_0100.c b/keyboards/keychron/q1/rev_0100/rev_0100.c index f424669527..2c87a8241e 100644 --- a/keyboards/keychron/q1/rev_0100/rev_0100.c +++ b/keyboards/keychron/q1/rev_0100/rev_0100.c @@ -17,7 +17,7 @@ #include "quantum.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1/rev_0101/config.h b/keyboards/keychron/q1/rev_0101/config.h index 58d77477ca..b38261abf6 100644 --- a/keyboards/keychron/q1/rev_0101/config.h +++ b/keyboards/keychron/q1/rev_0101/config.h @@ -23,7 +23,7 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 59 #define DRIVER_2_LED_TOTAL 23 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) /* Encoder used pins */ #define ENCODERS_PAD_A { E6 } diff --git a/keyboards/keychron/q1/rev_0101/rev_0101.c b/keyboards/keychron/q1/rev_0101/rev_0101.c index dd7f69529e..4edd2c761f 100644 --- a/keyboards/keychron/q1/rev_0101/rev_0101.c +++ b/keyboards/keychron/q1/rev_0101/rev_0101.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q1/rev_0102/config.h b/keyboards/keychron/q1/rev_0102/config.h index 7aa0ae8662..b9b33cf320 100644 --- a/keyboards/keychron/q1/rev_0102/config.h +++ b/keyboards/keychron/q1/rev_0102/config.h @@ -23,4 +23,4 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 59 #define DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
\ No newline at end of file diff --git a/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c index 8650f30df1..638aa77eb0 100644 --- a/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0102/keymaps/kubahorak/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -49,6 +49,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { diff --git a/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c b/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c index f06039af06..c6fa5f1f15 100644 --- a/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c +++ b/keyboards/keychron/q1/rev_0102/keymaps/mkillewald_iso/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -54,6 +54,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -67,11 +68,11 @@ void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t l bool is_caps_lock_indicator(uint16_t keycode) { bool indicator = keycode == KC_CAPS; - + if (get_caps_lock_light_tab()) { indicator = keycode == KC_TAB || keycode == KC_CAPS; } - + if (get_caps_lock_light_alphas()) { return (KC_A <= keycode && keycode <= KC_Z) || indicator; } else { @@ -80,4 +81,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { } bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } -bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; }
\ No newline at end of file +bool is_not_transparent(uint16_t keycode) { return keycode != KC_TRNS; } diff --git a/keyboards/keychron/q1/rev_0102/rev_0102.c b/keyboards/keychron/q1/rev_0102/rev_0102.c index f1468d1094..5304a602c3 100644 --- a/keyboards/keychron/q1/rev_0102/rev_0102.c +++ b/keyboards/keychron/q1/rev_0102/rev_0102.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/rev_0110/config.h b/keyboards/keychron/q2/rev_0110/config.h index f30b81b3af..6c39432b74 100644 --- a/keyboards/keychron/q2/rev_0110/config.h +++ b/keyboards/keychron/q2/rev_0110/config.h @@ -19,4 +19,4 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 34 #define DRIVER_2_LED_TOTAL 33 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c index 19ddd54aa8..604f54a705 100644 --- a/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c +++ b/keyboards/keychron/q2/rev_0110/keymaps/ladduro/rgb_matrix_user.c @@ -18,7 +18,7 @@ #include "rgb_matrix_user.h" #include "keymap_user.h" -keypos_t led_index_key_position[DRIVER_LED_TOTAL]; +keypos_t led_index_key_position[RGB_MATRIX_LED_COUNT]; void rgb_matrix_init_user(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -31,7 +31,7 @@ void rgb_matrix_init_user(void) { } } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t current_layer = get_highest_layer(layer_state); switch (current_layer) { case MAC_BASE: @@ -50,6 +50,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { #endif break; } + return false; } void rgb_matrix_set_color_by_keycode(uint8_t led_min, uint8_t led_max, uint8_t layer, bool (*is_keycode)(uint16_t), uint8_t red, uint8_t green, uint8_t blue) { @@ -69,4 +70,4 @@ bool is_caps_lock_indicator(uint16_t keycode) { #endif } -bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; }
\ No newline at end of file +bool is_transparent(uint16_t keycode) { return keycode == KC_TRNS; } diff --git a/keyboards/keychron/q2/rev_0110/rev_0110.c b/keyboards/keychron/q2/rev_0110/rev_0110.c index fe52490177..125872602e 100644 --- a/keyboards/keychron/q2/rev_0110/rev_0110.c +++ b/keyboards/keychron/q2/rev_0110/rev_0110.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to CKLED manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/rev_0111/config.h b/keyboards/keychron/q2/rev_0111/config.h index 249e589019..8ef6c542f0 100644 --- a/keyboards/keychron/q2/rev_0111/config.h +++ b/keyboards/keychron/q2/rev_0111/config.h @@ -19,7 +19,7 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 34 #define DRIVER_2_LED_TOTAL 33 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) /* Encoder used pins */ #define ENCODERS_PAD_A { A10 } diff --git a/keyboards/keychron/q2/rev_0111/rev_0111.c b/keyboards/keychron/q2/rev_0111/rev_0111.c index cbadafc458..1bada84daa 100644 --- a/keyboards/keychron/q2/rev_0111/rev_0111.c +++ b/keyboards/keychron/q2/rev_0111/rev_0111.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to CKLED manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/rev_0112/config.h b/keyboards/keychron/q2/rev_0112/config.h index 4bab401a01..35a86d5839 100644 --- a/keyboards/keychron/q2/rev_0112/config.h +++ b/keyboards/keychron/q2/rev_0112/config.h @@ -19,4 +19,4 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 34 #define DRIVER_2_LED_TOTAL 34 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/keychron/q2/rev_0112/rev_0112.c b/keyboards/keychron/q2/rev_0112/rev_0112.c index b994679725..cf2bb34857 100644 --- a/keyboards/keychron/q2/rev_0112/rev_0112.c +++ b/keyboards/keychron/q2/rev_0112/rev_0112.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keychron/q2/rev_0113/config.h b/keyboards/keychron/q2/rev_0113/config.h index 8f7fbef73a..8dd123e3bb 100644 --- a/keyboards/keychron/q2/rev_0113/config.h +++ b/keyboards/keychron/q2/rev_0113/config.h @@ -19,7 +19,7 @@ /* RGB Matrix Configuration */ #define DRIVER_1_LED_TOTAL 34 #define DRIVER_2_LED_TOTAL 34 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) /* Encoder used pins */ #define ENCODERS_PAD_A { A10 } diff --git a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c index 16c2a6d784..4a80b8ac36 100644 --- a/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c +++ b/keyboards/keychron/q2/rev_0113/keymaps/dhertz/keymap.c @@ -67,7 +67,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code_delay(KC_VOLD, 10); } - } else { + } else { if ((get_mods() & MOD_BIT(KC_LCMD)) != MOD_BIT(KC_LCMD)) { register_code(KC_LCMD); defer_exec(20, cancel_cmd, NULL); @@ -81,7 +81,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { return false; } -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_user(void) { switch(get_highest_layer(layer_state|default_layer_state)) { case 1: rgb_matrix_set_color_all(RGB_BLACK); @@ -91,4 +91,5 @@ void rgb_matrix_indicators_kb(void) { rgb_matrix_set_color_all(RGB_BLACK); break; } + return false; } diff --git a/keyboards/keychron/q2/rev_0113/rev_0113.c b/keyboards/keychron/q2/rev_0113/rev_0113.c index e1d66976dd..2aa3ab2a6d 100644 --- a/keyboards/keychron/q2/rev_0113/rev_0113.c +++ b/keyboards/keychron/q2/rev_0113/rev_0113.c @@ -17,7 +17,7 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE -const ckled2001_led PROGMEM g_ckled2001_leds[DRIVER_LED_TOTAL] = { +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/config.h b/keyboards/keyhive/ut472/keymaps/tucznak/config.h index b3d402337a..bc3587f542 100644 --- a/keyboards/keyhive/ut472/keymaps/tucznak/config.h +++ b/keyboards/keyhive/ut472/keymaps/tucznak/config.h @@ -3,8 +3,8 @@ #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER Potato Inc. -#define PRODUCT Qt3.14 +#define MANUFACTURER "Potato Inc." +#define PRODUCT "Qt3.14" /* turn off RGB when computer sleeps */ #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h b/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h index 693d5684c1..89e9628be8 100644 --- a/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default/config.h @@ -21,5 +21,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -//#define USE_SERIAL -#define EE_HANDS
\ No newline at end of file +#define EE_HANDS diff --git a/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h index 693d5684c1..89e9628be8 100644 --- a/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h +++ b/keyboards/keystonecaps/gameroyadvance/keymaps/default_all/config.h @@ -21,5 +21,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -//#define USE_SERIAL -#define EE_HANDS
\ No newline at end of file +#define EE_HANDS diff --git a/keyboards/kikoslab/ellora65/keymaps/default/keymap.c b/keyboards/kikoslab/ellora65/keymaps/default/keymap.c index 625305c557..df0b5b046c 100644 --- a/keyboards/kikoslab/ellora65/keymaps/default/keymap.c +++ b/keyboards/kikoslab/ellora65/keymaps/default/keymap.c @@ -68,7 +68,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { /* timers */ uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; /* current frame */ uint8_t current_frame = 0; @@ -160,35 +159,37 @@ static void render_luna(int LUNA_X, int LUNA_Y) { /* current status */ if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(bark[current_frame], ANIM_SIZE); } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } +# if OLED_TIMEOUT > 0 + /* the animation prevents the normal timeout from occuring */ + if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) { + oled_off(); + return; + } else { + oled_on(); + } +# endif + /* animation timer */ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { anim_timer = timer_read32(); animate_luna(); } - - /* this fixes the screen on and off bug */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } } diff --git a/keyboards/kikoslab/ellora65/keymaps/via/keymap.c b/keyboards/kikoslab/ellora65/keymaps/via/keymap.c index 8275718bcb..aff4a92089 100644 --- a/keyboards/kikoslab/ellora65/keymaps/via/keymap.c +++ b/keyboards/kikoslab/ellora65/keymaps/via/keymap.c @@ -78,7 +78,6 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { /* timers */ uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; /* current frame */ uint8_t current_frame = 0; @@ -170,38 +169,39 @@ static void render_luna(int LUNA_X, int LUNA_Y) { /* current status */ if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(bark[current_frame], ANIM_SIZE); } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } +# if OLED_TIMEOUT > 0 + /* the animation prevents the normal timeout from occuring */ + if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) { + oled_off(); + return; + } else { + oled_on(); + } +# endif + /* animation timer */ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { anim_timer = timer_read32(); animate_luna(); } - - /* this fixes the screen on and off bug */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } } - /* KEYBOARD PET END */ static void print_status_narrow(void) { diff --git a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c b/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c index 9cba0ccefb..51403378d1 100644 --- a/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c +++ b/keyboards/kingly_keys/ropro/keymaps/jdayton3/keymap.c @@ -196,7 +196,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------|------+------+------+------+------+------+------+------+------+------+------+------| * | PgUp | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------|------+------+------+------+------+------+------+------+------+------+------+------| - * | Home | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | Home | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------|------+------+------+------+------+------+------+------+------+------+------+------| * | PgDn | | | | | | | | | | | | * `------------------------------------------------------------------------------------------' @@ -206,7 +206,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_NO, _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , KC_PGUP, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - KC_HOME, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + KC_HOME, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/kprepublic/bm40hsrgb/config.h b/keyboards/kprepublic/bm40hsrgb/config.h index 8e4710abb3..f1535cc084 100755 --- a/keyboards/kprepublic/bm40hsrgb/config.h +++ b/keyboards/kprepublic/bm40hsrgb/config.h @@ -38,7 +38,7 @@ #define LOCKING_RESYNC_ENABLE #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 53 +#define RGB_MATRIX_LED_COUNT 53 #ifdef RGB_DI_PIN # define RGB_MATRIX_KEYPRESSES // reacts to keypresses # define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h index bfcec37892..c366c20a8c 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/config.h @@ -54,7 +54,7 @@ // If RGBLight is enabled #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM DRIVER_LED_TOTAL +# define RGBLED_NUM RGB_MATRIX_LED_COUNT # define RGBLIGHT_EFFECT_SNAKE # define RGBLIGHT_EFFECT_STATIC_GRADIENT diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c index 9130bd678e..f988956451 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/coffee/keymap.c @@ -57,14 +57,14 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, MCR_REC, XXXXXXX, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, MCR_PLY, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, XXXXXXX, MCR_SWT, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; #define LAYER (get_highest_layer(layer_state)) #define LAYER_SIZE (MATRIX_ROWS * MATRIX_COLS) #define CHECK_LED() \ - if ((i >= DRIVER_LED_TOTAL) \ + if ((i >= RGB_MATRIX_LED_COUNT) \ || ((g_led_config.flags[pos] == LED_FLAG_NONE) || (g_led_config.flags[pos] == LED_FLAG_UNDERGLOW))) \ continue @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { #ifdef UNDERGLOW_DISABLE void keyboard_pre_init_user(void) { - + for (int key_id = 0; key_id < DRIVER_LED_TOTAL; key_id++ ) { if (g_led_config.flags[key_id] == LED_FLAG_UNDERGLOW) { g_led_config.flags[key_id] = LED_FLAG_NONE; @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { } #endif - void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (LAYER != _MAIN) { int DimmedMax = UINT8_MAX - (UINT8_MAX - rgb_matrix_config.hsv.v); @@ -89,7 +89,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { for (uint8_t i = led_min; i <= led_max; i++) { uint8_t pos = ((uint8_t*)g_led_config.matrix_co)[i]; - + CHECK_LED(); // Check LED before moving on uint16_t KC = pgm_read_word(&((uint16_t*)keymaps)[(LAYER_SIZE * LAYER) + i]); @@ -111,6 +111,7 @@ const uint16_t PROGMEM keymaps[_END][MATRIX_ROWS][MATRIX_COLS] = { } } + return false; } #endif @@ -162,4 +163,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { default: return true; //Process all other keycodes normally } -}
\ No newline at end of file +} diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c index 29e359b94a..2ec9a5f9b3 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/dan/keymap.c @@ -257,7 +257,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { uint8_t red[3] = {50, 5, 0}; uint8_t yellow[3] = {50, 50, 0}; uint8_t blue[3] = {0, 15, 50}; @@ -323,5 +323,5 @@ void rgb_matrix_indicators_user(void) { if (led_state.scroll_lock) { rgb_matrix_set_color(23, green[0], green[1], green[2]); } - + return false; } diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c index 12db3f2eec..71cd9f074e 100755 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c @@ -1,17 +1,17 @@ /* Copyright 2021 Gabriel Bustamante Toledo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include QMK_KEYBOARD_H @@ -36,7 +36,7 @@ void set_color(int r, int g, int b){ rgb_matrix_set_color(41, r, g, b); } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { switch (get_highest_layer(layer_state)) { case BASE2: @@ -53,7 +53,7 @@ void rgb_matrix_indicators_user(void) { break; case SYM: set_color(0, 50, 1.9); - break; + break; case NUM: set_color(10, 0, 50); break; @@ -61,6 +61,7 @@ void rgb_matrix_indicators_user(void) { set_color(50, 0, 0); break; } + return false; } const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -122,4 +123,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c index 1e97aba495..5e0d4afa32 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt/keymap.c @@ -67,7 +67,7 @@ void matrix_scan_user(void) { //layer led colors -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { //game indicators @@ -160,6 +160,7 @@ if(IS_LAYER_ON(NSSL)) { rgb_matrix_set_color(28, 0, 50, 1.9); rgb_matrix_set_color(29, 0, 50, 1.9); + return false; } //capslock leds diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c index e725e23214..1d274880c2 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/keymap.c @@ -67,9 +67,9 @@ void matrix_scan_user(void) { //layer led colors -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color(i, 0, 0, 0); } @@ -80,7 +80,7 @@ void rgb_matrix_indicators_user(void) { //capslock if (host_keyboard_led_state().caps_lock) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 255, 255, 255); } @@ -89,7 +89,7 @@ void rgb_matrix_indicators_user(void) { //nav layer if (IS_LAYER_ON(NAVR)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 0, 204, 255); } @@ -98,7 +98,7 @@ void rgb_matrix_indicators_user(void) { //funl layer if (IS_LAYER_ON(FUNL)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 255, 0, 0); } @@ -107,7 +107,7 @@ void rgb_matrix_indicators_user(void) { //nsl layer if (IS_LAYER_ON(NSL)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 51, 0, 255); } @@ -116,7 +116,7 @@ void rgb_matrix_indicators_user(void) { //nssl layer if (IS_LAYER_ON(NSSL)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 0, 255, 0); } @@ -125,7 +125,7 @@ void rgb_matrix_indicators_user(void) { //game layer if (IS_LAYER_ON(GAME)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 0, 204, 255); } @@ -134,13 +134,14 @@ void rgb_matrix_indicators_user(void) { //secgame layer if (IS_LAYER_ON(SECGAME)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 255, 0, 0); } } } + return false; } //tap dance declarations diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c index 02ea122a03..d1c33599a2 100644 --- a/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c +++ b/keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c @@ -67,9 +67,9 @@ void matrix_scan_user(void) { //layer led colors -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color(i, 0, 0, 0); } @@ -80,7 +80,7 @@ void rgb_matrix_indicators_user(void) { //capslock if (host_keyboard_led_state().caps_lock) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 255, 255, 255); } @@ -89,7 +89,7 @@ void rgb_matrix_indicators_user(void) { //game layer if (IS_LAYER_ON(GAME)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 0, 204, 255); } @@ -98,13 +98,14 @@ void rgb_matrix_indicators_user(void) { //secgame layer if (IS_LAYER_ON(SECGAME)) { - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { rgb_matrix_set_color(i, 255, 0, 0); } } } + return false; } //tap dance declarations diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h index 2283439493..496e9d2b2c 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/config.h @@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once -#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX, UC_OSX +#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_LNX, UC_MAC #define UNICODE_CYCLE_PERSIST false #ifdef RGB_DI_PIN diff --git a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md index f43610a28d..f277cc284a 100755 --- a/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md +++ b/keyboards/kprepublic/bm43hsrgb/keymaps/bitstarr/readme.md @@ -88,7 +88,7 @@ UNI Layer * Umlauts * Punctuation * Special Characters -* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UC_WINC, UC_WIN, UC_LNX, UC_OSX) +* Switching [Input Modes](https://beta.docs.qmk.fm/using-qmk/software-features/feature_unicode#2-input-modes-id-input-modes) (UC_WINC, UC_WIN, UC_LNX, UC_MAC) ## 5 UNI2 Layer ``` diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/config.h b/keyboards/kprepublic/bm60hsrgb/rev1/config.h index f1a160730c..01253ab01a 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev1/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 69 +#define RGB_MATRIX_LED_COUNT 69 #ifdef RGB_DI_PIN # define RGBLED_NUM 69 # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/config.h b/keyboards/kprepublic/bm60hsrgb/rev2/config.h index 09ba659d65..7fdcb37ba9 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb/rev2/config.h @@ -50,7 +50,6 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 -#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended #define DRIVER_ADDR_1 0b1010000 @@ -100,7 +99,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 63 -//#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +//#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE) #define RGB_MATRIX_DISABLE_KEYCODES @@ -118,7 +117,7 @@ # define WS2812_LED_TOTAL 6 #endif -#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL) #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c index 4fe8480691..bcf69323a7 100644 --- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c @@ -22,7 +22,7 @@ # include "is31fl3733.h" # include "ws2812.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, @@ -130,11 +130,14 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h index 868ce40d8c..8373569b47 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/config.h @@ -43,7 +43,7 @@ #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 69 +#define RGB_MATRIX_LED_COUNT 69 #ifdef RGB_DI_PIN #define RGBLED_NUM 69 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c b/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c index 5dc0e8dc1d..9f7333b721 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/rev1.c @@ -48,11 +48,14 @@ led_config_t g_led_config = { { 2, 2, 2, 2, 2, 2 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } #ifdef ENCODER_ENABLE diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index ac80357e9f..40196bee85 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -62,12 +62,11 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 -# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 63 -# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +# define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define RGB_MATRIX_KEYPRESSES // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c index 730c7ea668..6cb40e0622 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/rev2.c @@ -15,7 +15,7 @@ #include "rev2.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, @@ -117,11 +117,14 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h index 4ef984b4be..0fc5946f63 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/config.h @@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 #ifdef RGB_DI_PIN # define RGBLED_NUM 70 # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h index 80dc26907c..d6cdad742d 100644 --- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h @@ -61,7 +61,6 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 -# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL @@ -137,7 +136,7 @@ # define WS2812_LED_TOTAL RGBLED_NUM #endif -#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL) #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c index 4500ff37b9..9ea82691e2 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 is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const PROGMEM is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, @@ -131,11 +131,14 @@ led_config_t g_led_config = { { # endif } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } // clang-format on diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h index 88c44d4440..66c2883029 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/config.h @@ -39,7 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #ifdef RGB_DI_PIN #define RGBLED_NUM 67 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c index fb7e9c33c3..8da5f08572 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/david/keymap.c @@ -1,23 +1,23 @@ /* Copyright 2021 David Martinz - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_60_ansi(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_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_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_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, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), @@ -29,11 +29,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // caps lock white if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(28, 200, 200, 200); - } + } // layer state switch (get_highest_layer(layer_state)) { @@ -54,5 +54,6 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(59, 128, 128, 128); break; } + return false; } #endif diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c index 4a438b822b..9979b7baa3 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keymaps/ipetepete/keymap.c @@ -1,18 +1,18 @@ /* Copyright 2020 ipetepete - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #include QMK_KEYBOARD_H enum layers { @@ -109,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color( i, red, green, blue ); } @@ -117,7 +117,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { } -void rgb_matrix_indicators_kb(void) +bool rgb_matrix_indicators_user(void) { if (!g_suspend_state && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { @@ -141,4 +141,5 @@ void rgb_matrix_indicators_kb(void) break; } } + return false; } diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h index 96d8a450c9..c24bfddd39 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h @@ -58,7 +58,6 @@ #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 -# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES #define ENABLE_RGB_MATRIX_ALPHAS_MODS @@ -133,7 +132,7 @@ # define WS2812_LED_TOTAL RGBLED_NUM #endif -#define DRIVER_LED_TOTAL (ISSI_LED_TOTAL + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (ISSI_LED_TOTAL + WS2812_LED_TOTAL) #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c index 32cfce362f..a9c5508236 100644 --- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c +++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c @@ -21,7 +21,7 @@ # include "is31fl3733.h" # include "ws2812.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, B_1, A_1, C_1 }, { 0, B_2, A_2, C_2 }, { 0, B_3, A_3, C_3 }, @@ -127,11 +127,14 @@ led_config_t g_led_config = { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } // clang-format on diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/config.h b/keyboards/kprepublic/bm65hsrgb/rev1/config.h index c5e8022d35..aa3ad0ce68 100644 --- a/keyboards/kprepublic/bm65hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm65hsrgb/rev1/config.h @@ -46,7 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The pin connected to the data pin of the LEDs #define RGB_DI_PIN E2 // The number of LEDs connected -#define DRIVER_LED_TOTAL 73 +#define RGB_MATRIX_LED_COUNT 73 #ifdef RGB_DI_PIN #define RGBLED_NUM 73 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses diff --git a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c index 442111bb6e..557be513ad 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/keymaps/p4yne/keymap.c @@ -266,19 +266,19 @@ void set_led_color_by_hsv(int ledkey, uint8_t h_in, uint8_t s_in, uint8_t v_in){ void set_led_color_by_layer(int layer, int ledkey){ set_led_color_by_hsv(ledkey, pgm_read_byte(&ledmap[layer][0]), pgm_read_byte(&ledmap[layer][1]), - pgm_read_byte(&ledmap[layer][2])); + pgm_read_byte(&ledmap[layer][2])); } void set_ledkey_by_layer_type(int layer, int ledkey, uint16_t key){ if (rgb_matrix_get_flags() != LED_FLAG_ALL){ if ( key == KC_TRNS ) { if ((pgm_read_byte(&ledmap[layer][3]) == LYR_TRANS) && (layer > 0)){ - // this key is transparent and the layer below does something + // this key is transparent and the layer below does something // - light it up in (lower) layer-1 specific color - set_led_color_by_layer(layer-1, ledkey); - } + set_led_color_by_layer(layer-1, ledkey); + } if (pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){ - // this key is transparent but the lower layer is not intended + // this key is transparent but the lower layer is not intended // to be used, it still works but not intended; type BLACK set_led_color_by_hsv(ledkey, HSV_BLACK); } @@ -300,7 +300,7 @@ void set_caps_lock(int layer) { // it might be used for displaying led pattern if((rgb_matrix_get_flags() != LED_FLAG_ALL)) { // or to keep the correct lighting on for the layer that use all keys - // on all other layers turn the led off, so only switch it of when + // on all other layers turn the led off, so only switch it of when // layer is BLACK if(pgm_read_byte(&ledmap[layer][3]) == LYR_BLACK){ set_led_color_by_hsv(caps_lock_led, HSV_BLACK); @@ -316,14 +316,14 @@ void set_layer_color(int layer) { uint8_t row = keyindex/MATRIX_COLS; uint8_t col = (keyindex-(keyindex/MATRIX_COLS)*MATRIX_COLS); uint16_t key=pgm_read_word(&keymaps[layer][row][col]); - + // continue if this is not a valid key if (key==KC_NO) { continue; } - + // handle layer specific coloring set_ledkey_by_layer_type(layer, ledkey, key); /* === below this function add custom overriding ledkey lighting === */ - + // gaming layer with highlighted keys //if (IS_LAYER_ON(_LVL4_)) { if (layer == _LVL4_) { @@ -423,7 +423,7 @@ void set_layer_color(int layer) { } // non key specific lighting instead led flag based if (layer == _LVL7_){ - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { if (HAS_ANY_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { set_led_color_by_hsv(i, C_HSV_DARKGOLD); } @@ -439,10 +439,11 @@ void set_layer_color(int layer) { return; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { int layer = get_highest_layer(layer_state); set_layer_color(layer); set_caps_lock(layer); + return false; } #ifdef LEADER_ENABLE diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h index 0b5a3bf8e4..9f5a68ca94 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/config.h @@ -42,7 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 74 +#define RGB_MATRIX_LED_COUNT 74 #ifdef RGB_DI_PIN #define RGBLED_NUM 74 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c index 680f79a668..5563816ff3 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keymaps/deadolus/keymap.c @@ -249,9 +249,10 @@ void set_layer_color(int layer) { return; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { set_layer_color(get_highest_layer(layer_state)); + return false; } #ifdef LEADER_ENABLE diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c index 6e0fd57117..0b2a8f7042 100644 --- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c +++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/rev1.c @@ -54,10 +54,13 @@ led_config_t g_led_config = { { 2, 2, 2, 2, 2, 2 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/config.h index 9b9d534c42..bf67620c5b 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/config.h @@ -46,7 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The pin connected to the data pin of the LEDs #define RGB_DI_PIN E2 // The number of LEDs connected -#define DRIVER_LED_TOTAL 74 +#define RGB_MATRIX_LED_COUNT 74 #ifdef RGB_DI_PIN # define RGBLED_NUM 74 # define RGB_MATRIX_KEYPRESSES // reacts to keypresses diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h index 3ddb813486..37bd802541 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h @@ -62,9 +62,8 @@ // #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_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_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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c index bf842b138b..a9bf663c19 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/keymap.c @@ -56,7 +56,7 @@ Templete #undef _______ #define _______ {0, 0, 0} -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [1] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, GREEN, BLUE, {0, 0, 255}, PURPLE, AZURE, _______, {0, 0, 255}, {0, 0, 255}, {0, 0, 255}, _______, _______, _______, _______, _______, _______, @@ -270,7 +270,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void set_layer_color(int layer) { if (layer == 0) { return; } - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -288,7 +288,7 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { @@ -300,4 +300,5 @@ void rgb_matrix_indicators_user(void) { } set_layer_color(get_highest_layer(layer_state)); + return false; } diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c index 4634a662b6..78f4a15818 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c +++ b/keyboards/kprepublic/bm68hsrgb/rev1/rev1.c @@ -43,10 +43,13 @@ led_config_t g_led_config = { { } }; //CAPS backlight -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/config.h b/keyboards/kprepublic/bm68hsrgb/rev2/config.h index 86fbb7ae3b..3921aa17cc 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/config.h +++ b/keyboards/kprepublic/bm68hsrgb/rev2/config.h @@ -55,12 +55,11 @@ #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 68 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define DRIVER_INDICATOR_LED_TOTAL 0 #ifdef RGB_MATRIX_ENABLE -#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c index be743cbae5..4a13d037d6 100644 --- a/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c +++ b/keyboards/kprepublic/bm68hsrgb/rev2/rev2.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, {0, CS6_SW2, CS5_SW2, CS4_SW2}, {0, CS6_SW3, CS5_SW3, CS4_SW3}, @@ -113,12 +113,13 @@ led_config_t g_led_config = { { } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/kprepublic/bm80hsrgb/config.h b/keyboards/kprepublic/bm80hsrgb/config.h index 049aca9b8a..7b2fff263c 100644 --- a/keyboards/kprepublic/bm80hsrgb/config.h +++ b/keyboards/kprepublic/bm80hsrgb/config.h @@ -48,15 +48,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN E2 // The number of LEDs connected -#define DRIVER_LED_TOTAL 87 +#define RGB_MATRIX_LED_COUNT 87 #ifdef RGB_DI_PIN #define RGBLED_NUM 87 #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_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off -//#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_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off +//#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 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h index 97cae26cbd..05e7a489dd 100644 --- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h +++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h @@ -44,9 +44,8 @@ // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set -// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects // #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended -// #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_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 4b8e5af13f..7de8c558c7 100644 --- a/keyboards/kprepublic/bm80v2/bm80v2.c +++ b/keyboards/kprepublic/bm80v2/bm80v2.c @@ -16,13 +16,13 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, - {0, CS6_SW3, CS5_SW3, CS4_SW3}, - {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, {0, CS6_SW5, CS5_SW5, CS4_SW5}, {0, CS6_SW6, CS5_SW6, CS4_SW6}, - {0, CS6_SW7, CS5_SW7, CS4_SW7}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, {0, CS6_SW8, CS5_SW8, CS4_SW8}, {0, CS6_SW9, CS5_SW9, CS4_SW9}, {0, CS21_SW1, CS20_SW1, CS19_SW1}, @@ -34,8 +34,8 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS21_SW7, CS20_SW7, CS19_SW7}, {0, CS21_SW8, CS20_SW8, CS19_SW8}, - - {0, CS9_SW1, CS8_SW1, CS7_SW1}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, {0, CS9_SW2, CS8_SW2, CS7_SW2}, {0, CS9_SW3, CS8_SW3, CS7_SW3}, {0, CS9_SW4, CS8_SW4, CS7_SW4}, @@ -44,7 +44,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS9_SW7, CS8_SW7, CS7_SW7}, {0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS9_SW9, CS8_SW9, CS7_SW9}, - {0,CS24_SW1, CS23_SW1, CS22_SW1}, + {0,CS24_SW1, CS23_SW1, CS22_SW1}, {0,CS24_SW2, CS23_SW2, CS22_SW2}, {0,CS24_SW3, CS23_SW3, CS22_SW3}, {0,CS24_SW4, CS23_SW4, CS22_SW4}, @@ -52,45 +52,45 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0,CS24_SW6, CS23_SW6, CS22_SW6}, {0,CS24_SW7, CS23_SW7, CS22_SW7}, {0,CS24_SW8, CS23_SW8, CS22_SW8}, - - {0, CS12_SW1, CS11_SW1, CS10_SW1}, - {0, CS12_SW2, CS11_SW2, CS10_SW2}, - {0, CS12_SW3, CS11_SW3, CS10_SW3}, - {0, CS12_SW4, CS11_SW4, CS10_SW4}, - {0, CS12_SW5, CS11_SW5, CS10_SW5}, - {0, CS12_SW6, CS11_SW6, CS10_SW6}, - {0, CS12_SW7, CS11_SW7, CS10_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, {0, CS12_SW8, CS11_SW8, CS10_SW8}, {0, CS12_SW9, CS11_SW9, CS10_SW9}, - {0, CS27_SW1, CS26_SW1, CS25_SW1}, - {0, CS27_SW2, CS26_SW2, CS25_SW2}, - {0, CS27_SW3, CS26_SW3, CS25_SW3}, + {0, CS27_SW1, CS26_SW1, CS25_SW1}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW3, CS26_SW3, CS25_SW3}, {0, CS27_SW4, CS26_SW4, CS25_SW4}, {0, CS27_SW5, CS26_SW5, CS25_SW5}, - {0, CS27_SW6, CS26_SW6, CS25_SW6}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, {0, CS27_SW7, CS26_SW7, CS25_SW7}, {0, CS27_SW8, CS26_SW8, CS25_SW8}, - + {0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW2, CS14_SW2, CS13_SW2}, - {0, CS15_SW3, CS14_SW3, CS13_SW3}, - {0, CS15_SW4, CS14_SW4, CS13_SW4}, - {0, CS15_SW5, CS14_SW5, CS13_SW5}, - {0, CS15_SW6, CS14_SW6, CS13_SW6}, - {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, {0, CS15_SW8, CS14_SW8, CS13_SW8}, {0, CS15_SW9, CS14_SW9, CS13_SW9}, {0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW4, CS29_SW4, CS28_SW4}, - + {0, CS18_SW1, CS17_SW1, CS16_SW1}, - {0, CS18_SW3, CS17_SW3, CS16_SW3}, - {0, CS18_SW4, CS17_SW4, CS16_SW4}, - {0, CS18_SW5, CS17_SW5, CS16_SW5}, - {0, CS18_SW6, CS17_SW6, CS16_SW6}, - {0, CS18_SW7, CS17_SW7, CS16_SW7}, + {0, CS18_SW3, CS17_SW3, CS16_SW3}, + {0, CS18_SW4, CS17_SW4, CS16_SW4}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW6, CS17_SW6, CS16_SW6}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, {0, CS18_SW8, CS17_SW8, CS16_SW8}, {0, CS18_SW9, CS17_SW9, CS16_SW9}, {0, CS33_SW1, CS32_SW1, CS31_SW1}, @@ -101,16 +101,16 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, - {0, CS3_SW3, CS2_SW3, CS1_SW3}, - {0, CS3_SW6, CS2_SW6, CS1_SW6}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW6, CS2_SW6, CS1_SW6}, {0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW6, CS35_SW6, CS34_SW6}, {0, CS36_SW7, CS35_SW7, CS34_SW7}, - {0, CS36_SW8, CS35_SW8, CS34_SW8} - + {0, CS36_SW8, CS35_SW8, CS34_SW8} + }; led_config_t g_led_config = { { { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, @@ -133,17 +133,17 @@ led_config_t g_led_config = { { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(50, 0xFF, 0xFF, 0xFF); } + return true; } #endif - diff --git a/keyboards/kprepublic/bm80v2/config.h b/keyboards/kprepublic/bm80v2/config.h index f04ec1d960..dfca28c93d 100644 --- a/keyboards/kprepublic/bm80v2/config.h +++ b/keyboards/kprepublic/bm80v2/config.h @@ -70,6 +70,6 @@ #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 87 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 diff --git a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c index 90d476aa2c..e73cffd108 100644 --- a/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c +++ b/keyboards/kprepublic/bm80v2_iso/bm80v2_iso.c @@ -16,13 +16,13 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS6_SW1, CS5_SW1, CS4_SW1}, - {0, CS6_SW3, CS5_SW3, CS4_SW3}, - {0, CS6_SW4, CS5_SW4, CS4_SW4}, + {0, CS6_SW3, CS5_SW3, CS4_SW3}, + {0, CS6_SW4, CS5_SW4, CS4_SW4}, {0, CS6_SW5, CS5_SW5, CS4_SW5}, {0, CS6_SW6, CS5_SW6, CS4_SW6}, - {0, CS6_SW7, CS5_SW7, CS4_SW7}, + {0, CS6_SW7, CS5_SW7, CS4_SW7}, {0, CS6_SW8, CS5_SW8, CS4_SW8}, {0, CS6_SW9, CS5_SW9, CS4_SW9}, {0, CS21_SW1, CS20_SW1, CS19_SW1}, @@ -34,8 +34,8 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS21_SW7, CS20_SW7, CS19_SW7}, {0, CS21_SW8, CS20_SW8, CS19_SW8}, - - {0, CS9_SW1, CS8_SW1, CS7_SW1}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, {0, CS9_SW2, CS8_SW2, CS7_SW2}, {0, CS9_SW3, CS8_SW3, CS7_SW3}, {0, CS9_SW4, CS8_SW4, CS7_SW4}, @@ -44,7 +44,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS9_SW7, CS8_SW7, CS7_SW7}, {0, CS9_SW8, CS8_SW8, CS7_SW8}, {0, CS9_SW9, CS8_SW9, CS7_SW9}, - {0,CS24_SW1, CS23_SW1, CS22_SW1}, + {0,CS24_SW1, CS23_SW1, CS22_SW1}, {0,CS24_SW2, CS23_SW2, CS22_SW2}, {0,CS24_SW3, CS23_SW3, CS22_SW3}, {0,CS24_SW4, CS23_SW4, CS22_SW4}, @@ -52,46 +52,46 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0,CS24_SW6, CS23_SW6, CS22_SW6}, {0,CS24_SW7, CS23_SW7, CS22_SW7}, {0,CS24_SW8, CS23_SW8, CS22_SW8}, - - {0, CS12_SW1, CS11_SW1, CS10_SW1}, - {0, CS12_SW2, CS11_SW2, CS10_SW2}, - {0, CS12_SW3, CS11_SW3, CS10_SW3}, - {0, CS12_SW4, CS11_SW4, CS10_SW4}, - {0, CS12_SW5, CS11_SW5, CS10_SW5}, - {0, CS12_SW6, CS11_SW6, CS10_SW6}, - {0, CS12_SW7, CS11_SW7, CS10_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, {0, CS12_SW8, CS11_SW8, CS10_SW8}, {0, CS12_SW9, CS11_SW9, CS10_SW9}, - {0, CS27_SW1, CS26_SW1, CS25_SW1}, - {0, CS27_SW2, CS26_SW2, CS25_SW2}, - {0, CS27_SW3, CS26_SW3, CS25_SW3}, + {0, CS27_SW1, CS26_SW1, CS25_SW1}, + {0, CS27_SW2, CS26_SW2, CS25_SW2}, + {0, CS27_SW3, CS26_SW3, CS25_SW3}, {0, CS27_SW4, CS26_SW4, CS25_SW4}, {0, CS27_SW5, CS26_SW5, CS25_SW5}, - {0, CS27_SW6, CS26_SW6, CS25_SW6}, + {0, CS27_SW6, CS26_SW6, CS25_SW6}, {0, CS27_SW7, CS26_SW7, CS25_SW7}, {0, CS27_SW8, CS26_SW8, CS25_SW8}, - + {0, CS15_SW1, CS14_SW1, CS13_SW1}, {0, CS15_SW2, CS14_SW2, CS13_SW2}, - {0, CS15_SW3, CS14_SW3, CS13_SW3}, - {0, CS15_SW4, CS14_SW4, CS13_SW4}, - {0, CS15_SW5, CS14_SW5, CS13_SW5}, - {0, CS15_SW6, CS14_SW6, CS13_SW6}, - {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, {0, CS15_SW8, CS14_SW8, CS13_SW8}, {0, CS15_SW9, CS14_SW9, CS13_SW9}, {0, CS30_SW1, CS29_SW1, CS28_SW1}, {0, CS30_SW2, CS29_SW2, CS28_SW2}, {0, CS30_SW3, CS29_SW3, CS28_SW3}, {0, CS30_SW4, CS29_SW4, CS28_SW4}, - + {0, CS18_SW1, CS17_SW1, CS16_SW1}, {0, CS18_SW2, CS17_SW2, CS16_SW2}, - {0, CS18_SW3, CS17_SW3, CS16_SW3}, - {0, CS18_SW4, CS17_SW4, CS16_SW4}, - {0, CS18_SW5, CS17_SW5, CS16_SW5}, - {0, CS18_SW6, CS17_SW6, CS16_SW6}, - {0, CS18_SW7, CS17_SW7, CS16_SW7}, + {0, CS18_SW3, CS17_SW3, CS16_SW3}, + {0, CS18_SW4, CS17_SW4, CS16_SW4}, + {0, CS18_SW5, CS17_SW5, CS16_SW5}, + {0, CS18_SW6, CS17_SW6, CS16_SW6}, + {0, CS18_SW7, CS17_SW7, CS16_SW7}, {0, CS18_SW8, CS17_SW8, CS16_SW8}, {0, CS18_SW9, CS17_SW9, CS16_SW9}, {0, CS33_SW1, CS32_SW1, CS31_SW1}, @@ -102,16 +102,16 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS3_SW1, CS2_SW1, CS1_SW1}, {0, CS3_SW2, CS2_SW2, CS1_SW2}, - {0, CS3_SW3, CS2_SW3, CS1_SW3}, - {0, CS3_SW6, CS2_SW6, CS1_SW6}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW6, CS2_SW6, CS1_SW6}, {0, CS36_SW2, CS35_SW2, CS34_SW2}, {0, CS36_SW3, CS35_SW3, CS34_SW3}, {0, CS36_SW4, CS35_SW4, CS34_SW4}, {0, CS36_SW5, CS35_SW5, CS34_SW5}, {0, CS36_SW6, CS35_SW6, CS34_SW6}, {0, CS36_SW7, CS35_SW7, CS34_SW7}, - {0, CS36_SW8, CS35_SW8, CS34_SW8} - + {0, CS36_SW8, CS35_SW8, CS34_SW8} + }; led_config_t g_led_config = { { { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, @@ -134,17 +134,17 @@ led_config_t g_led_config = { { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1 } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(50, 0xFF, 0xFF, 0xFF); } + return true; } #endif - diff --git a/keyboards/kprepublic/bm80v2_iso/config.h b/keyboards/kprepublic/bm80v2_iso/config.h index aee11c42c9..f20519553e 100644 --- a/keyboards/kprepublic/bm80v2_iso/config.h +++ b/keyboards/kprepublic/bm80v2_iso/config.h @@ -28,7 +28,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 /* disable these deprecated features by default */ -#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define RGB_MATRIX_KEYPRESSES @@ -71,6 +70,6 @@ #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 88 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 diff --git a/keyboards/kprepublic/bm980hsrgb/config.h b/keyboards/kprepublic/bm980hsrgb/config.h index af7e3f3be3..605fad9e55 100644 --- a/keyboards/kprepublic/bm980hsrgb/config.h +++ b/keyboards/kprepublic/bm980hsrgb/config.h @@ -56,7 +56,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN B0 // The number of LEDs connected -#define DRIVER_LED_TOTAL 98 +#define RGB_MATRIX_LED_COUNT 98 //#ifdef RGB_DI_PIN # define RGBLED_NUM 98 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses diff --git a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c b/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c index 80deedc7b5..5d9de5173c 100644 --- a/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c +++ b/keyboards/kprepublic/bm980hsrgb/keymaps/peepeetee/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.num_lock) { @@ -58,4 +58,5 @@ void rgb_matrix_indicators_user(void) { } //set_layer_color(get_highest_layer(layer_state)); + return false; } diff --git a/keyboards/ktec/ergodone/ergodone.h b/keyboards/ktec/ergodone/ergodone.h index 191b1ca2a9..7e7f848d50 100644 --- a/keyboards/ktec/ergodone/ergodone.h +++ b/keyboards/ktec/ergodone/ergodone.h @@ -4,7 +4,6 @@ #pragma once #include "quantum.h" -#include "layouts.h" // Ensure access to info.json layouts // This file only exists to pull in.... #include "ergodox_compat.h" diff --git a/keyboards/kudox/config.h b/keyboards/kudox/config.h index 36c8f68b90..e18d46f583 100644 --- a/keyboards/kudox/config.h +++ b/keyboards/kudox/config.h @@ -18,8 +18,6 @@ #include "config_common.h" -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/kudox_full/config.h b/keyboards/kudox_full/config.h index 82b8da8a41..82ea44faf2 100644 --- a/keyboards/kudox_full/config.h +++ b/keyboards/kudox_full/config.h @@ -5,8 +5,6 @@ #include "config_common.h" -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/kudox_game/config.h b/keyboards/kudox_game/config.h index 0b789c1768..121e6632c8 100644 --- a/keyboards/kudox_game/config.h +++ b/keyboards/kudox_game/config.h @@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h index 601744beb7..b34a8a7b17 100644 --- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h +++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/config.h @@ -18,7 +18,7 @@ // ws2812 options #define RGB_DI_PIN C7 // pin the DI on the ws2812 is hooked-up to #define RGBLED_NUM 4 // number of LEDs -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/latincompass/latin17rgb/config.h b/keyboards/latincompass/latin17rgb/config.h index 585f632c40..68e9debf4e 100644 --- a/keyboards/latincompass/latin17rgb/config.h +++ b/keyboards/latincompass/latin17rgb/config.h @@ -43,7 +43,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -109,7 +108,7 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 25 # define DRIVER_2_LED_TOTAL 24 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif #define RGB_DI_PIN B7 diff --git a/keyboards/latincompass/latin17rgb/latin17rgb.c b/keyboards/latincompass/latin17rgb/latin17rgb.c index d4ab3ea675..e165c5b76d 100644 --- a/keyboards/latincompass/latin17rgb/latin17rgb.c +++ b/keyboards/latincompass/latin17rgb/latin17rgb.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 0058297dda..cca0ca7ddf 100644 --- a/keyboards/latincompass/latin60rgb/config.h +++ b/keyboards/latincompass/latin60rgb/config.h @@ -42,7 +42,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -96,5 +95,5 @@ // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 60 +# define RGB_MATRIX_LED_COUNT 60 #endif diff --git a/keyboards/latincompass/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c index b849f7ef9d..5a457246c4 100644 --- a/keyboards/latincompass/latin60rgb/latin60rgb.c +++ b/keyboards/latincompass/latin60rgb/latin60rgb.c @@ -1,22 +1,22 @@ /* Copyright 2021 latincompass - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #include "latin60rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, { 0, K_11, J_11, L_11 }, @@ -49,9 +49,9 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { { 0, H_1, G_1, I_1 }, { 0, E_16, D_16, F_16 }, - { 0, E_15, D_15, F_15 }, + { 0, E_15, D_15, F_15 }, { 0, E_14, D_14, F_14 }, - { 0, E_13, D_13, F_13 }, + { 0, E_13, D_13, F_13 }, { 0, E_12, D_12, F_12 }, { 0, E_11, D_11, F_11 }, { 0, E_10, D_10, F_10 }, @@ -91,7 +91,7 @@ led_config_t g_led_config = { { 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5 }, { 4, 3, 2, 1 ,0 } }, { - { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, + { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, { 220, 16 }, { 200, 16 }, { 184, 16 }, { 168, 16 }, { 152, 16 }, { 136, 16 }, { 120, 16 }, { 104, 16 }, { 88, 16 }, { 72, 16 }, { 56, 16 }, { 40, 16 }, { 24, 16 }, { 4, 16 }, { 204, 32 }, { 188, 32 }, { 172, 32 }, { 156, 32 }, { 140, 32 }, { 124, 32 }, { 108, 32 }, { 92, 32 }, { 76, 32 }, { 60, 32 }, { 44, 32 }, { 28, 32 }, { 6, 32 }, { 224, 48 }, { 198, 64 }, { 202, 48 }, { 180, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 20, 48 }, { 10, 48 }, @@ -115,10 +115,13 @@ void suspend_wakeup_init_kb(void) { suspend_wakeup_init_user(); } -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/latincompass/latin64ble/config.h b/keyboards/latincompass/latin64ble/config.h index 5bb3ca4562..866bee31fa 100644 --- a/keyboards/latincompass/latin64ble/config.h +++ b/keyboards/latincompass/latin64ble/config.h @@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/ #define RGB_DI_PIN B7 #define RGBLED_NUM 2 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/latincompass/latin6rgb/config.h b/keyboards/latincompass/latin6rgb/config.h index 17083580a6..1b7a9b9035 100644 --- a/keyboards/latincompass/latin6rgb/config.h +++ b/keyboards/latincompass/latin6rgb/config.h @@ -44,7 +44,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -107,7 +106,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 6 +#define RGB_MATRIX_LED_COUNT 6 #endif //#define RGB_DI_PIN B7 //#ifdef RGB_DI_PIN diff --git a/keyboards/latincompass/latin6rgb/latin6rgb.c b/keyboards/latincompass/latin6rgb/latin6rgb.c index ddab9a1519..cc10a7b334 100644 --- a/keyboards/latincompass/latin6rgb/latin6rgb.c +++ b/keyboards/latincompass/latin6rgb/latin6rgb.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h index 255ddc89db..47b79802af 100644 --- a/keyboards/latincompass/latinpad/config.h +++ b/keyboards/latincompass/latinpad/config.h @@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/ #define RGB_DI_PIN D3 #define RGBLED_NUM 18 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM // 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/latincompass/latinpadble/config.h b/keyboards/latincompass/latinpadble/config.h index 09198df612..cefcbd6469 100644 --- a/keyboards/latincompass/latinpadble/config.h +++ b/keyboards/latincompass/latinpadble/config.h @@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/ #define RGB_DI_PIN B7 #define RGBLED_NUM 4 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/keymap.c b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/keymap.c new file mode 100644 index 0000000000..eb8bc1406b --- /dev/null +++ b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +#include QMK_KEYBOARD_H + +/* THIS FILE WAS GENERATED! + * + * This file was generated by QMK CLI. You may or may not want to + * edit it directly. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all(KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_DOT, KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_all(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [2] = LAYOUT_all(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + [3] = LAYOUT_all(KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) +}; + +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { + dimple_led_on(); + } else { + dimple_led_off(); + } + return false; +} diff --git a/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/rules.mk b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/rules.mk new file mode 100644 index 0000000000..36b7ba9cbc --- /dev/null +++ b/keyboards/lazydesigners/dimple/staggered/rev3/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/lets_split/keymaps/DE_programming/config.h b/keyboards/lets_split/keymaps/DE_programming/config.h index 145be14226..990d4ed8d5 100644 --- a/keyboards/lets_split/keymaps/DE_programming/config.h +++ b/keyboards/lets_split/keymaps/DE_programming/config.h @@ -18,10 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/DE_simple/config.h b/keyboards/lets_split/keymaps/DE_simple/config.h index 5a6261c4f7..470fc07854 100644 --- a/keyboards/lets_split/keymaps/DE_simple/config.h +++ b/keyboards/lets_split/keymaps/DE_simple/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/adam/config.h b/keyboards/lets_split/keymaps/adam/config.h index 59a2e5db72..2819051c11 100644 --- a/keyboards/lets_split/keymaps/adam/config.h +++ b/keyboards/lets_split/keymaps/adam/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/aerialviews007/config.h b/keyboards/lets_split/keymaps/aerialviews007/config.h index 60e23f816d..d9787a247f 100644 --- a/keyboards/lets_split/keymaps/aerialviews007/config.h +++ b/keyboards/lets_split/keymaps/aerialviews007/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. SONG(DVORAK_SOUND) \ } -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/cpeters1982/config.h b/keyboards/lets_split/keymaps/cpeters1982/config.h index 3639b9c3f2..bff85f1414 100644 --- a/keyboards/lets_split/keymaps/cpeters1982/config.h +++ b/keyboards/lets_split/keymaps/cpeters1982/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/default/config.h b/keyboards/lets_split/keymaps/default/config.h index 60e23f816d..d9787a247f 100644 --- a/keyboards/lets_split/keymaps/default/config.h +++ b/keyboards/lets_split/keymaps/default/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. SONG(DVORAK_SOUND) \ } -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/dlaroe/config.h b/keyboards/lets_split/keymaps/dlaroe/config.h index 6b31e8d14e..e898e2ed2a 100644 --- a/keyboards/lets_split/keymaps/dlaroe/config.h +++ b/keyboards/lets_split/keymaps/dlaroe/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/fabian/config.h b/keyboards/lets_split/keymaps/fabian/config.h index 6ae40cc2ba..d05757233d 100644 --- a/keyboards/lets_split/keymaps/fabian/config.h +++ b/keyboards/lets_split/keymaps/fabian/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/lets_split/keymaps/halvves/config.h b/keyboards/lets_split/keymaps/halvves/config.h index 70f6d13c7b..4ba90f2cae 100644 --- a/keyboards/lets_split/keymaps/halvves/config.h +++ b/keyboards/lets_split/keymaps/halvves/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/heartrobotninja/config.h b/keyboards/lets_split/keymaps/heartrobotninja/config.h index bb3556e574..d4193609ad 100644 --- a/keyboards/lets_split/keymaps/heartrobotninja/config.h +++ b/keyboards/lets_split/keymaps/heartrobotninja/config.h @@ -23,10 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL - /* Select hand configuration */ // #define MASTER_LEFT @@ -55,4 +51,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../rev2fliphalf/config.h" #endif -#endif
\ No newline at end of file +#endif diff --git a/keyboards/lets_split/keymaps/henxing/config.h b/keyboards/lets_split/keymaps/henxing/config.h index 5a6261c4f7..470fc07854 100644 --- a/keyboards/lets_split/keymaps/henxing/config.h +++ b/keyboards/lets_split/keymaps/henxing/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/hvp/config.h b/keyboards/lets_split/keymaps/hvp/config.h index df24c53cde..43d8b0f597 100644 --- a/keyboards/lets_split/keymaps/hvp/config.h +++ b/keyboards/lets_split/keymaps/hvp/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. SONG(DVORAK_SOUND) \ } -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/khord/config.h b/keyboards/lets_split/keymaps/khord/config.h index 71ec20dbc8..9d3cfca20d 100644 --- a/keyboards/lets_split/keymaps/khord/config.h +++ b/keyboards/lets_split/keymaps/khord/config.h @@ -25,11 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 150 -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/mbsurfer/config.h b/keyboards/lets_split/keymaps/mbsurfer/config.h index 6469b4846d..666a2012bd 100644 --- a/keyboards/lets_split/keymaps/mbsurfer/config.h +++ b/keyboards/lets_split/keymaps/mbsurfer/config.h @@ -25,11 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 100 -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/mekberg/README.md b/keyboards/lets_split/keymaps/mekberg/README.md index 5202ec8366..a24a573561 100644 --- a/keyboards/lets_split/keymaps/mekberg/README.md +++ b/keyboards/lets_split/keymaps/mekberg/README.md @@ -36,10 +36,6 @@ The special layer has Reset and EEP Reset keys on the left half, along with medi This option is used because otherwise modtap functions would fail to trigger. This increases reliability for me. -### USE_SERIAL - -N/A - ### EE_HANDS Prepared for EEPROM settings and different keymaps depending on USB port connected, but default master side remains left regardless. diff --git a/keyboards/lets_split/keymaps/mekberg/config.h b/keyboards/lets_split/keymaps/mekberg/config.h index 5523ecb5a3..41ce1b1566 100644 --- a/keyboards/lets_split/keymaps/mekberg/config.h +++ b/keyboards/lets_split/keymaps/mekberg/config.h @@ -24,10 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define TAPPING_TERM 150 #define PERMISSIVE_HOLD -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/mjt/config.h b/keyboards/lets_split/keymaps/mjt/config.h index 735a58b11a..b82efab6b0 100644 --- a/keyboards/lets_split/keymaps/mjt/config.h +++ b/keyboards/lets_split/keymaps/mjt/config.h @@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#define USE_SERIAL - #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS diff --git a/keyboards/lets_split/keymaps/normacos/config.h b/keyboards/lets_split/keymaps/normacos/config.h index 9f95a869df..e7b95250f3 100644 --- a/keyboards/lets_split/keymaps/normacos/config.h +++ b/keyboards/lets_split/keymaps/normacos/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/pdl/config.h b/keyboards/lets_split/keymaps/pdl/config.h index e79e132c64..89fd6ac202 100644 --- a/keyboards/lets_split/keymaps/pdl/config.h +++ b/keyboards/lets_split/keymaps/pdl/config.h @@ -24,11 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define TAPPING_TERM 200 -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/piemod/config.h b/keyboards/lets_split/keymaps/piemod/config.h index c3975da3ca..b0ccdb0699 100644 --- a/keyboards/lets_split/keymaps/piemod/config.h +++ b/keyboards/lets_split/keymaps/piemod/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/pitty/config.h b/keyboards/lets_split/keymaps/pitty/config.h index 3798f9a647..9becb13968 100644 --- a/keyboards/lets_split/keymaps/pitty/config.h +++ b/keyboards/lets_split/keymaps/pitty/config.h @@ -3,11 +3,6 @@ #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/poker/config.h b/keyboards/lets_split/keymaps/poker/config.h index 5a6261c4f7..470fc07854 100644 --- a/keyboards/lets_split/keymaps/poker/config.h +++ b/keyboards/lets_split/keymaps/poker/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/pyrol/config.h b/keyboards/lets_split/keymaps/pyrol/config.h index f3502585d4..bc0ee4be35 100644 --- a/keyboards/lets_split/keymaps/pyrol/config.h +++ b/keyboards/lets_split/keymaps/pyrol/config.h @@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define USE_SERIAL - #define MASTER_LEFT #undef RGBLED_NUM #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/lets_split/keymaps/shaymdev/config.h b/keyboards/lets_split/keymaps/shaymdev/config.h index 300dc47c2e..1a46cdf108 100644 --- a/keyboards/lets_split/keymaps/shaymdev/config.h +++ b/keyboards/lets_split/keymaps/shaymdev/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define _MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/smt/config.h b/keyboards/lets_split/keymaps/smt/config.h index 5a6261c4f7..470fc07854 100644 --- a/keyboards/lets_split/keymaps/smt/config.h +++ b/keyboards/lets_split/keymaps/smt/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/tylerwince/config.h b/keyboards/lets_split/keymaps/tylerwince/config.h index 6fff5478da..1dc693d24b 100644 --- a/keyboards/lets_split/keymaps/tylerwince/config.h +++ b/keyboards/lets_split/keymaps/tylerwince/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/via/config.h b/keyboards/lets_split/keymaps/via/config.h index 334be75194..479470a93e 100644 --- a/keyboards/lets_split/keymaps/via/config.h +++ b/keyboards/lets_split/keymaps/via/config.h @@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. SONG(DVORAK_SOUND) \ } -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/vim-mode/config.h b/keyboards/lets_split/keymaps/vim-mode/config.h index 25512a5c97..1fe4384a25 100644 --- a/keyboards/lets_split/keymaps/vim-mode/config.h +++ b/keyboards/lets_split/keymaps/vim-mode/config.h @@ -26,11 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. SONG(DVORAK_SOUND) \ } -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/lets_split/keymaps/waples/config.h b/keyboards/lets_split/keymaps/waples/config.h index 5221fd011a..17172f729c 100644 --- a/keyboards/lets_split/keymaps/waples/config.h +++ b/keyboards/lets_split/keymaps/waples/config.h @@ -3,10 +3,6 @@ #include "../../config.h" -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/lets_split/keymaps/xk/keymap.c b/keyboards/lets_split/keymaps/xk/keymap.c index 66be11e01c..2b5bf5bfef 100755 --- a/keyboards/lets_split/keymaps/xk/keymap.c +++ b/keyboards/lets_split/keymaps/xk/keymap.c @@ -358,7 +358,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { return false; break; case OSX: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); return false; break; } diff --git a/keyboards/lets_split/keymaps/yshrsmz/config.h b/keyboards/lets_split/keymaps/yshrsmz/config.h index 301f1ffc60..23426411d9 100644 --- a/keyboards/lets_split/keymaps/yshrsmz/config.h +++ b/keyboards/lets_split/keymaps/yshrsmz/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* auto shift config */ #define AUTO_SHIFT_TIMEOUT 150 diff --git a/keyboards/lets_split/keymaps/zer09/config.h b/keyboards/lets_split/keymaps/zer09/config.h index 3990c3dc5b..36d94824d5 100644 --- a/keyboards/lets_split/keymaps/zer09/config.h +++ b/keyboards/lets_split/keymaps/zer09/config.h @@ -37,11 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define USB_MAX_POWER_CONSUMPTION 50 -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ /* #define MASTER_LEFT */ diff --git a/keyboards/lfkeyboards/lfk65_hs/rules.mk b/keyboards/lfkeyboards/lfk65_hs/rules.mk index bfae80e0c7..618c502e06 100644 --- a/keyboards/lfkeyboards/lfk65_hs/rules.mk +++ b/keyboards/lfkeyboards/lfk65_hs/rules.mk @@ -1,8 +1,5 @@ MCU = atmega32u4 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 -FLASH_SIZE_KB = 32 -BOOT_SECTION_SIZE_KB = 4 -BOOT_LOADER = BootloaderHID +BOOTLOADER = atmel-dfu # Extra source files for IS3731 lighting SRC = TWIlib.c issi.c lighting.c diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h index 0f9ddaef31..c70c7d8817 100644 --- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h +++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h @@ -24,4 +24,4 @@ #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_DISABLE_TIMEOUT 900000 +#define RGB_MATRIX_TIMEOUT 900000 diff --git a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c index 667e8859e2..38eb656892 100644 --- a/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c +++ b/keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; const uint8_t number_leds[] = {8, 9, 10, 11, 12, 13, 15, 16, 17}; -const uint8_t number_leds_size = sizeof(number_leds) / sizeof(uint8_t); +const uint8_t number_leds_size = ARRAY_SIZE(number_leds); bool led_update_user(led_t led_state) { for (uint8_t i = 0; i < number_leds_size; i++) diff --git a/keyboards/lily58/config.h b/keyboards/lily58/config.h index 57fc7fa7f9..740a3a5b1c 100644 --- a/keyboards/lily58/config.h +++ b/keyboards/lily58/config.h @@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifndef SOFT_SERIAL_PIN #define SOFT_SERIAL_PIN D2 -#define SERIAL_USE_MULTI_TRANSACTION #endif #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/lily58/keymaps/barabas/config.h b/keyboards/lily58/keymaps/barabas/config.h index c57f19e537..5c9d0a8ec7 100644 --- a/keyboards/lily58/keymaps/barabas/config.h +++ b/keyboards/lily58/keymaps/barabas/config.h @@ -22,4 +22,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define MASTER_LEFT -#define USE_SERIAL_PD2 diff --git a/keyboards/lily58/keymaps/chuan/config.h b/keyboards/lily58/keymaps/chuan/config.h index fa93060db1..a6d1c04f57 100644 --- a/keyboards/lily58/keymaps/chuan/config.h +++ b/keyboards/lily58/keymaps/chuan/config.h @@ -32,8 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define SSD1306OLED -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD /* define tapping term */ diff --git a/keyboards/lily58/keymaps/curry/config.h b/keyboards/lily58/keymaps/curry/config.h index b3e82389d8..f724d23167 100644 --- a/keyboards/lily58/keymaps/curry/config.h +++ b/keyboards/lily58/keymaps/curry/config.h @@ -1,7 +1,6 @@ #pragma once #define EE_HANDS -#define USE_SERIAL_PD2 #define OLED_DISABLE_TIMEOUT #define TAPPING_TERM_PER_KEY diff --git a/keyboards/lily58/keymaps/cykedev/config.h b/keyboards/lily58/keymaps/cykedev/config.h index 4403031cad..dac88dff77 100644 --- a/keyboards/lily58/keymaps/cykedev/config.h +++ b/keyboards/lily58/keymaps/cykedev/config.h @@ -15,7 +15,6 @@ #pragma once -#define USE_SERIAL_PD2 #define MASTER_LEFT #define TAPPING_TERM 200 #define IGNORE_MOD_TAP_INTERRUPT_PER_KEY diff --git a/keyboards/lily58/keymaps/domnantas/config.h b/keyboards/lily58/keymaps/domnantas/config.h index 00104a1365..f32a066c14 100644 --- a/keyboards/lily58/keymaps/domnantas/config.h +++ b/keyboards/lily58/keymaps/domnantas/config.h @@ -30,7 +30,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define SSD1306OLED -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD -#define TAPPING_TERM 100
\ No newline at end of file +#define TAPPING_TERM 100 diff --git a/keyboards/lily58/keymaps/drasbeck/config.h b/keyboards/lily58/keymaps/drasbeck/config.h index ffaf5f4bc3..21444216aa 100644 --- a/keyboards/lily58/keymaps/drasbeck/config.h +++ b/keyboards/lily58/keymaps/drasbeck/config.h @@ -1,5 +1,5 @@ /* -Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck +Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck * * You are free to: * @@ -20,8 +20,6 @@ Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define ENCODERS_PAD_A { F4 } #define ENCODERS_PAD_B { F5 } #define ENCODER_RESOLUTION 4 diff --git a/keyboards/lily58/keymaps/hvp/config.h b/keyboards/lily58/keymaps/hvp/config.h index 3367748de8..3da6ad8efd 100644 --- a/keyboards/lily58/keymaps/hvp/config.h +++ b/keyboards/lily58/keymaps/hvp/config.h @@ -30,8 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define SSD1306OLED -#define USE_SERIAL_PD2 - #define TAPPING_TERM 100 #undef TAPPING_TERM #define TAPPING_TERM 150 @@ -53,4 +51,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 14 // Number of LEDs #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_SLEEP -*/
\ No newline at end of file +*/ diff --git a/keyboards/lily58/keymaps/jhelvy/config.h b/keyboards/lily58/keymaps/jhelvy/config.h index 019f68ef56..2424011537 100644 --- a/keyboards/lily58/keymaps/jhelvy/config.h +++ b/keyboards/lily58/keymaps/jhelvy/config.h @@ -30,8 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define SSD1306OLED -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #undef TAPPING_TERM #define TAPPING_TERM 200 diff --git a/keyboards/lily58/keymaps/mikefightsbears/config.h b/keyboards/lily58/keymaps/mikefightsbears/config.h index 6b9e52c05e..67adc930dd 100644 --- a/keyboards/lily58/keymaps/mikefightsbears/config.h +++ b/keyboards/lily58/keymaps/mikefightsbears/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/lily58/keymaps/muuko/config.h b/keyboards/lily58/keymaps/muuko/config.h index e963355bd5..377ee816fe 100644 --- a/keyboards/lily58/keymaps/muuko/config.h +++ b/keyboards/lily58/keymaps/muuko/config.h @@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #define EE_HANDS -#define USE_SERIAL_PD2 #define OLED_TIMEOUT 300000 diff --git a/keyboards/lily58/keymaps/narze/config.h b/keyboards/lily58/keymaps/narze/config.h index c494429af7..6466ab910d 100644 --- a/keyboards/lily58/keymaps/narze/config.h +++ b/keyboards/lily58/keymaps/narze/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define COMBO_TERM 20 #define COMBO_COUNT 3 diff --git a/keyboards/lily58/keymaps/ninjonas/config.h b/keyboards/lily58/keymaps/ninjonas/config.h index 19fb5cd92b..d67ac41a17 100644 --- a/keyboards/lily58/keymaps/ninjonas/config.h +++ b/keyboards/lily58/keymaps/ninjonas/config.h @@ -26,8 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define OLED_FONT_H "keyboards/lily58/lib/glcdfont.c" -#define OLED_DISABLE_TIMEOUT
\ No newline at end of file +#define OLED_DISABLE_TIMEOUT diff --git a/keyboards/lily58/keymaps/via/config.h b/keyboards/lily58/keymaps/via/config.h index a3f0fb0a19..38ede27f45 100644 --- a/keyboards/lily58/keymaps/via/config.h +++ b/keyboards/lily58/keymaps/via/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/lily58/keymaps/yshrsmz/config.h b/keyboards/lily58/keymaps/yshrsmz/config.h index 6b9e52c05e..67adc930dd 100644 --- a/keyboards/lily58/keymaps/yshrsmz/config.h +++ b/keyboards/lily58/keymaps/yshrsmz/config.h @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 100 diff --git a/keyboards/lily58/keymaps/yuchi/config.h b/keyboards/lily58/keymaps/yuchi/config.h index 130b5642e1..1335b805cd 100644 --- a/keyboards/lily58/keymaps/yuchi/config.h +++ b/keyboards/lily58/keymaps/yuchi/config.h @@ -30,7 +30,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define OLED_DRIVER -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD -#define TAPPING_TERM 100
\ No newline at end of file +#define TAPPING_TERM 100 diff --git a/keyboards/lily58/rev1/config.h b/keyboards/lily58/rev1/config.h index 8205899f5e..b0ef4d165b 100644 --- a/keyboards/lily58/rev1/config.h +++ b/keyboards/lily58/rev1/config.h @@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } #define SOFT_SERIAL_PIN D2 -#define SERIAL_USE_MULTI_TRANSACTION /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST diff --git a/keyboards/lime/rev1/config.h b/keyboards/lime/rev1/config.h index 3eaa4e2b60..942cb9c7b8 100644 --- a/keyboards/lime/rev1/config.h +++ b/keyboards/lime/rev1/config.h @@ -48,7 +48,6 @@ #define TAP_CODE_DELAY 10 /* communication between sides */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 #define SPLIT_USB_DETECT diff --git a/keyboards/linworks/fave65h/config.h b/keyboards/linworks/fave65h/config.h index 5fac33e7d5..008a171724 100644 --- a/keyboards/linworks/fave65h/config.h +++ b/keyboards/linworks/fave65h/config.h @@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Define RGB */ #define RGBLED_NUM 67 -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #define RGB_DI_PIN B0 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/linworks/fave65h/keymaps/default/keymap.c b/keyboards/linworks/fave65h/keymaps/default/keymap.c index 1aa0b7cd73..308c2a9acc 100644 --- a/keyboards/linworks/fave65h/keymaps/default/keymap.c +++ b/keyboards/linworks/fave65h/keymaps/default/keymap.c @@ -67,9 +67,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c index 5c7efc6d83..15d9bcb765 100644 --- a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c +++ b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl/keymap.c @@ -67,9 +67,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c index b3a91f7a22..a4264c8412 100644 --- a/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c +++ b/keyboards/linworks/fave65h/keymaps/default_65_ansi_blocker_wkl_split_bs/keymap.c @@ -67,9 +67,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave65h/keymaps/via/keymap.c b/keyboards/linworks/fave65h/keymaps/via/keymap.c index 8388a60c87..7febf885ce 100644 --- a/keyboards/linworks/fave65h/keymaps/via/keymap.c +++ b/keyboards/linworks/fave65h/keymaps/via/keymap.c @@ -57,9 +57,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(0, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave84h/config.h b/keyboards/linworks/fave84h/config.h index e9e69f3b66..0980a742d1 100644 --- a/keyboards/linworks/fave84h/config.h +++ b/keyboards/linworks/fave84h/config.h @@ -46,7 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Define RGB */ #define RGBLED_NUM 126 -#define DRIVER_LED_TOTAL 126 +#define RGB_MATRIX_LED_COUNT 126 #define RGB_DI_PIN D2 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/linworks/fave84h/keymaps/default/keymap.c b/keyboards/linworks/fave84h/keymaps/default/keymap.c index 72234a44f8..539da9a9de 100644 --- a/keyboards/linworks/fave84h/keymaps/default/keymap.c +++ b/keyboards/linworks/fave84h/keymaps/default/keymap.c @@ -22,27 +22,28 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER0] = LAYOUT_tkl_ansi_tsangan_split_bs( - 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_SLCK, 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_DEL, 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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_SLCK, 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_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_DEL, 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, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_LAYER1] = LAYOUT_tkl_ansi_tsangan_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave84h/keymaps/via/keymap.c b/keyboards/linworks/fave84h/keymaps/via/keymap.c index 85238100d1..f741ad4b77 100644 --- a/keyboards/linworks/fave84h/keymaps/via/keymap.c +++ b/keyboards/linworks/fave84h/keymaps/via/keymap.c @@ -24,45 +24,46 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LAYER0] = LAYOUT_tkl_ansi_tsangan_split_bs( - 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_SLCK, 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_DEL, 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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_SLCK, 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_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_DEL, 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, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_LAYER1] = LAYOUT_tkl_ansi_tsangan_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ), [_LAYER2] = LAYOUT_tkl_ansi_tsangan_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_LAYER3] = LAYOUT_tkl_ansi_tsangan_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave87h/config.h b/keyboards/linworks/fave87h/config.h index 54850aec3f..17d19fb2e1 100644 --- a/keyboards/linworks/fave87h/config.h +++ b/keyboards/linworks/fave87h/config.h @@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Define RGB */ #define RGBLED_NUM 127 -#define DRIVER_LED_TOTAL 127 +#define RGB_MATRIX_LED_COUNT 127 #define RGB_DI_PIN D2 #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/linworks/fave87h/keymaps/default/keymap.c b/keyboards/linworks/fave87h/keymaps/default/keymap.c index e53b840d76..e8f4da2c1e 100644 --- a/keyboards/linworks/fave87h/keymaps/default/keymap.c +++ b/keyboards/linworks/fave87h/keymaps/default/keymap.c @@ -21,28 +21,29 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_tkl_ansi_split_bs( - 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_SLCK, 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_DEL, 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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = 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_SLCK, 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_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_DEL, 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, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT_tkl_ansi_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + [_LAYER1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/linworks/fave87h/keymaps/via/keymap.c b/keyboards/linworks/fave87h/keymaps/via/keymap.c index 2b3210c1e0..fc00ec1725 100644 --- a/keyboards/linworks/fave87h/keymaps/via/keymap.c +++ b/keyboards/linworks/fave87h/keymaps/via/keymap.c @@ -23,46 +23,47 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT_tkl_ansi_split_bs( - 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_SLCK, 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_DEL, 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, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_LAYER0] = 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_SLCK, 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_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_DEL, 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, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [_LAYER1] = LAYOUT_tkl_ansi_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + [_LAYER1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_UP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK ), - [_LAYER2] = LAYOUT_tkl_ansi_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_LAYER2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_LAYER3] = LAYOUT_tkl_ansi_split_bs( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + [_LAYER3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t host_leds = host_keyboard_led_state(); if (host_leds.caps_lock) { rgb_matrix_set_color(12, 254, 189, 41); // set caps lock led color first number is index, R G B } + return false; } diff --git a/keyboards/malevolti/lyra/rev1/config.h b/keyboards/malevolti/lyra/rev1/config.h index 1e0628c6d3..5e4e98d1ff 100644 --- a/keyboards/malevolti/lyra/rev1/config.h +++ b/keyboards/malevolti/lyra/rev1/config.h @@ -1,18 +1,18 @@ /* Copyright 2021 Domanic Calleja - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #pragma once /* key matrix size */ @@ -35,5 +35,4 @@ #define DEBOUNCE 5 /* communication between sides */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/maple_computing/christmas_tree/V2017/V2017.c b/keyboards/maple_computing/christmas_tree/V2017/V2017.c deleted file mode 100644 index e367270592..0000000000 --- a/keyboards/maple_computing/christmas_tree/V2017/V2017.c +++ /dev/null @@ -1 +0,0 @@ -#include "V2017.h"
\ No newline at end of file diff --git a/keyboards/maple_computing/christmas_tree/readme.md b/keyboards/maple_computing/christmas_tree/readme.md index 3ba255a18c..2ede444ce4 100644 --- a/keyboards/maple_computing/christmas_tree/readme.md +++ b/keyboards/maple_computing/christmas_tree/readme.md @@ -9,6 +9,6 @@ Keyboard Maintainer: [That-Canadian](https://github.com/That-Canadian) Make example for this keyboard (after setting up your build environment): - make maple_computing/christmas_tree/V2017:default + make maple_computing/christmas_tree/v2017:default See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/maple_computing/christmas_tree/rules.mk b/keyboards/maple_computing/christmas_tree/rules.mk index 45ac883163..ed78c6fabe 100644 --- a/keyboards/maple_computing/christmas_tree/rules.mk +++ b/keyboards/maple_computing/christmas_tree/rules.mk @@ -17,4 +17,4 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -DEFAULT_FOLDER = maple_computing/christmas_tree/V2017 +DEFAULT_FOLDER = maple_computing/christmas_tree/v2017 diff --git a/keyboards/maple_computing/christmas_tree/V2017/info.json b/keyboards/maple_computing/christmas_tree/v2017/info.json index 6d00c2519f..6d00c2519f 100644 --- a/keyboards/maple_computing/christmas_tree/V2017/info.json +++ b/keyboards/maple_computing/christmas_tree/v2017/info.json diff --git a/keyboards/maple_computing/christmas_tree/V2017/rules.mk b/keyboards/maple_computing/christmas_tree/v2017/rules.mk index 184a1f2247..184a1f2247 100644 --- a/keyboards/maple_computing/christmas_tree/V2017/rules.mk +++ b/keyboards/maple_computing/christmas_tree/v2017/rules.mk diff --git a/keyboards/maple_computing/christmas_tree/v2017/v2017.c b/keyboards/maple_computing/christmas_tree/v2017/v2017.c new file mode 100644 index 0000000000..22067e5367 --- /dev/null +++ b/keyboards/maple_computing/christmas_tree/v2017/v2017.c @@ -0,0 +1 @@ +#include "v2017.h"
\ No newline at end of file diff --git a/keyboards/maple_computing/christmas_tree/V2017/V2017.h b/keyboards/maple_computing/christmas_tree/v2017/v2017.h index f779c0ed47..f779c0ed47 100644 --- a/keyboards/maple_computing/christmas_tree/V2017/V2017.h +++ b/keyboards/maple_computing/christmas_tree/v2017/v2017.h diff --git a/keyboards/maple_computing/launchpad/keymaps/drashna/config.h b/keyboards/maple_computing/launchpad/keymaps/drashna/config.h index b14becc25b..d801910568 100644 --- a/keyboards/maple_computing/launchpad/keymaps/drashna/config.h +++ b/keyboards/maple_computing/launchpad/keymaps/drashna/config.h @@ -26,6 +26,6 @@ #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define AUDIO_PIN B7 #define AUDIO_CLICKY diff --git a/keyboards/maple_computing/minidox/keymaps/alairock/config.h b/keyboards/maple_computing/minidox/keymaps/alairock/config.h index 6b0069f4b2..c8f5acdea7 100644 --- a/keyboards/maple_computing/minidox/keymaps/alairock/config.h +++ b/keyboards/maple_computing/minidox/keymaps/alairock/config.h @@ -24,8 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -#define USE_SERIAL - #define EE_HANDS /* ws2812 RGB LED */ diff --git a/keyboards/maple_computing/minidox/keymaps/bepo/config.h b/keyboards/maple_computing/minidox/keymaps/bepo/config.h index 7338c24c68..f2a669ec94 100644 --- a/keyboards/maple_computing/minidox/keymaps/bepo/config.h +++ b/keyboards/maple_computing/minidox/keymaps/bepo/config.h @@ -1,6 +1,4 @@ #pragma once -#define USE_SERIAL - #define EE_HANDS #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h index b2169947b7..0cd6c2b994 100644 --- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h +++ b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h @@ -6,7 +6,6 @@ #define IGNORE_MOD_TAP_INTERRUPT #define ONESHOT_TIMEOUT 1000 #define TAPPING_TERM 200 -#define USE_SERIAL // optional configuration: diff --git a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h index 1106412b59..37602b9163 100644 --- a/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h +++ b/keyboards/maple_computing/minidox/keymaps/rsthd_combos/config.h @@ -1,6 +1,5 @@ #pragma once -#define USE_SERIAL #define EE_HANDS diff --git a/keyboards/maple_computing/minidox/keymaps/that_canadian/config.h b/keyboards/maple_computing/minidox/keymaps/that_canadian/config.h index b85609127e..12ff1d970e 100644 --- a/keyboards/maple_computing/minidox/keymaps/that_canadian/config.h +++ b/keyboards/maple_computing/minidox/keymaps/that_canadian/config.h @@ -23,8 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -#define USE_SERIAL - #define EE_HANDS /* ws2812 RGB LED */ @@ -36,4 +34,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 -#endif
\ No newline at end of file +#endif diff --git a/keyboards/maple_computing/minidox/keymaps/xyverz/config.h b/keyboards/maple_computing/minidox/keymaps/xyverz/config.h index ae26f94999..ee2a418183 100644 --- a/keyboards/maple_computing/minidox/keymaps/xyverz/config.h +++ b/keyboards/maple_computing/minidox/keymaps/xyverz/config.h @@ -23,8 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "../../config.h" -#define USE_SERIAL - #define EE_HANDS /* ws2812 RGB LED */ diff --git a/keyboards/maple_computing/minidox/rev1/config.h b/keyboards/maple_computing/minidox/rev1/config.h index 6867fee4b5..fb12f4175a 100644 --- a/keyboards/maple_computing/minidox/rev1/config.h +++ b/keyboards/maple_computing/minidox/rev1/config.h @@ -23,6 +23,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define SOFT_SERIAL_PIN D0 -#define USE_SERIAL - //#define EE_HANDS diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h index 6cee7a9a92..de915827c4 100644 --- a/keyboards/marksard/rhymestone/rev1/config.h +++ b/keyboards/marksard/rhymestone/rev1/config.h @@ -81,12 +81,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE #define RGBLED_NUM 40 // Number of LEDs - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM #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_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_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 #define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h index 2a3b5b3311..364e8325b1 100644 --- a/keyboards/massdrop/alt/config.h +++ b/keyboards/massdrop/alt/config.h @@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" /* USB Device descriptor parameter */ -#define MANUFACTURER "Massdrop Inc." -#define PRODUCT "ALT Keyboard" #define SERIAL_NUM "Unavailable" /* key matrix size */ diff --git a/keyboards/massdrop/alt/config_led.c b/keyboards/massdrop/alt/config_led.c index 85ae67878b..963282db1e 100644 --- a/keyboards/massdrop/alt/config_led.c +++ b/keyboards/massdrop/alt/config_led.c @@ -50,8 +50,12 @@ led_config_t g_led_config = { { #ifdef USB_LED_INDICATOR_ENABLE -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +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; + } md_rgb_matrix_indicators_advanced(led_min, led_max); + return true; } #endif // USB_LED_INDICATOR_ENABLE diff --git a/keyboards/massdrop/alt/config_led.h b/keyboards/massdrop/alt/config_led.h index b600dd23b9..770a430d3c 100644 --- a/keyboards/massdrop/alt/config_led.h +++ b/keyboards/massdrop/alt/config_led.h @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //Define number of ISSI3733 drivers being used (1...16) #define ISSI3733_DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL ISSI3733_LED_COUNT +#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT //Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic) #define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE } diff --git a/keyboards/massdrop/alt/info.json b/keyboards/massdrop/alt/info.json index 909ca8904a..6e87648d95 100644 --- a/keyboards/massdrop/alt/info.json +++ b/keyboards/massdrop/alt/info.json @@ -1,5 +1,6 @@ { - "keyboard_name": "ALT", + "keyboard_name": "ALT Keyboard", + "manufacturer": "Massdrop Inc.", "url": "https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard", "maintainer": "Massdrop", "usb": { diff --git a/keyboards/massdrop/alt/keymaps/jdelkins/keymap.c b/keyboards/massdrop/alt/keymaps/jdelkins/keymap.c index 967c1570d2..6afd882dbe 100644 --- a/keyboards/massdrop/alt/keymaps/jdelkins/keymap.c +++ b/keyboards/massdrop/alt/keymaps/jdelkins/keymap.c @@ -230,7 +230,7 @@ static void set_rgb_layer(int layer) { switch (cur->type) { case type_hsv: - for (uint8_t i = 0; i < DRIVER_LED_TOTAL ; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT ; i++) { if (!(g_led_config.flags[i] & cur->flags)) rgb_matrix_set_color(i, 0, 0, 0); } @@ -247,7 +247,7 @@ static void set_rgb_layer(int layer) { rgb_matrix_mode_noeeprom(rgbs[cur->mode - RGB_MATRIX_EFFECT_MAX].mode); else rgb_matrix_mode_noeeprom(cur->mode); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { const RGB *m = &cur->rgb[i]; if (!RGB_IS_NULL(*m)) rgb_matrix_set_color(i, m->r, m->g, m->b); diff --git a/keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h b/keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h index ff30cc0e42..146de00447 100644 --- a/keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h +++ b/keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h @@ -63,7 +63,7 @@ struct layer_rgb { uint8_t mode; union { HSV hsv; - RGB rgb[DRIVER_LED_TOTAL]; + RGB rgb[RGB_MATRIX_LED_COUNT]; }; }; diff --git a/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c b/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c index f5a39338b8..8db9222783 100644 --- a/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c +++ b/keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c @@ -113,7 +113,7 @@ static void set_rgb_layer(int layer) { switch (cur->type) { case type_hsv: - for (uint8_t i = 0; i < DRIVER_LED_TOTAL ; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT ; i++) { if (!(g_led_config.flags[i] & cur->flags)) rgb_matrix_set_color(i, 0, 0, 0); } @@ -130,7 +130,7 @@ static void set_rgb_layer(int layer) { rgb_matrix_mode_noeeprom(rgbs[cur->mode - RGB_MATRIX_EFFECT_MAX].mode); else rgb_matrix_mode_noeeprom(cur->mode); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { const RGB *m = &cur->rgb[i]; if (!RGB_IS_NULL(*m)) rgb_matrix_set_color(i, m->r, m->g, m->b); diff --git a/keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h b/keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h index ff30cc0e42..146de00447 100644 --- a/keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h +++ b/keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h @@ -63,7 +63,7 @@ struct layer_rgb { uint8_t mode; union { HSV hsv; - RGB rgb[DRIVER_LED_TOTAL]; + RGB rgb[RGB_MATRIX_LED_COUNT]; }; }; diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h index 936951e34a..2d13d2c5c9 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/config.h +++ b/keyboards/massdrop/alt/keymaps/pregame/config.h @@ -87,9 +87,8 @@ // #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_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_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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/massdrop/alt/keymaps/pregame/keymap.c b/keyboards/massdrop/alt/keymaps/pregame/keymap.c index 6c1d93b030..c91e557b50 100644 --- a/keyboards/massdrop/alt/keymaps/pregame/keymap.c +++ b/keyboards/massdrop/alt/keymaps/pregame/keymap.c @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #undef _______ #define _______ {0, 0, 0} -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [0] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CHART, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -182,7 +182,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } void set_layer_color(int layer) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -199,11 +199,12 @@ void set_layer_color(int layer) { } } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (g_suspend_state || disable_layer_color || rgb_matrix_get_flags() == LED_FLAG_NONE || rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { return; } set_layer_color(get_highest_layer(layer_state)); + return false; } diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h index 8b8625e700..77967e17d3 100644 --- a/keyboards/massdrop/ctrl/config.h +++ b/keyboards/massdrop/ctrl/config.h @@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" /* USB Device descriptor parameter */ -#define MANUFACTURER "Massdrop Inc." -#define PRODUCT "CTRL Keyboard" #define SERIAL_NUM "Unavailable" /* key matrix size */ diff --git a/keyboards/massdrop/ctrl/config_led.c b/keyboards/massdrop/ctrl/config_led.c index bd708c2cb8..50daa68e75 100644 --- a/keyboards/massdrop/ctrl/config_led.c +++ b/keyboards/massdrop/ctrl/config_led.c @@ -73,8 +73,12 @@ led_config_t g_led_config = { { #ifdef USB_LED_INDICATOR_ENABLE -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +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; + } md_rgb_matrix_indicators_advanced(led_min, led_max); + return true; } #endif // USB_LED_INDICATOR_ENABLE diff --git a/keyboards/massdrop/ctrl/config_led.h b/keyboards/massdrop/ctrl/config_led.h index de897ce1bd..f582035e9e 100644 --- a/keyboards/massdrop/ctrl/config_led.h +++ b/keyboards/massdrop/ctrl/config_led.h @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //Define number of ISSI3733 drivers being used (1...16) #define ISSI3733_DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL ISSI3733_LED_COUNT +#define RGB_MATRIX_LED_COUNT ISSI3733_LED_COUNT //Hardware address of each driver (Refer to ISSI3733 pdf "Table 1 Slave Address" and keyboard schematic) #define ISSI3773_DRIVER_ADDRESSES { 0xA0, 0xBE } diff --git a/keyboards/massdrop/ctrl/info.json b/keyboards/massdrop/ctrl/info.json index 7d0810c630..34c60ca088 100644 --- a/keyboards/massdrop/ctrl/info.json +++ b/keyboards/massdrop/ctrl/info.json @@ -1,5 +1,6 @@ { - "keyboard_name": "CTRL", + "keyboard_name": "CTRL Keyboard", + "manufacturer": "Massdrop Inc.", "url": "https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard", "maintainer": "Massdrop", "usb": { diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h index d0bbfd2103..4b702a1110 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h +++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h @@ -47,9 +47,8 @@ // #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_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_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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c b/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c index ec32b652da..72446506d9 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c +++ b/keyboards/massdrop/ctrl/keymaps/endgame/config_led.c @@ -73,9 +73,10 @@ led_config_t g_led_config = { { #ifdef USB_LED_INDICATOR_ENABLE -void rgb_matrix_indicators_kb(void) +bool rgb_matrix_indicators_kb(void) { md_rgb_matrix_indicators(); + return rgb_matrix_indicators_user(); } #endif // USB_LED_INDICATOR_ENABLE diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c index 6451dd495b..846fc7070c 100644 --- a/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/endgame/keymap.c @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TD(TD_CTRL_TERM), TD(TD_LGUI_ML), KC_LALT, KC_SPC, KC_RALT, TT(_FL), TD(TD_APP_YL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [_FL] = LAYOUT( - _______, DM_PLY1, DM_PLY2, _______, _______, DM_REC1, DM_REC2, _______, _______, DM_RSTP, _______, KC_WAKE, KC_SLEP, KC_MUTE, TERM_ON, TERM_OFF, + _______, DM_PLY1, DM_PLY2, _______, _______, DM_REC1, DM_REC2, _______, _______, DM_RSTP, _______, KC_WAKE, KC_SLEP, KC_MUTE, _______, _______, _______, _______, TG(_ML), TG(_GL), TG(_VL), TG(_YL), _______, _______, _______, ROUT_FM, ROUT_TG, ROUT_VD, ROUT_VI, _______, KC_MSTP, KC_MPLY, KC_VOLU, RGB_M_P, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO, U_T_AGCR, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, _______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #undef _______ #define _______ {0, 0, 0} -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [_FL] = { _______, CORAL, CORAL, _______, _______, CORAL, CORAL, _______, _______, CORAL, _______, YELLOW, YELLOW, TEAL, GOLD, GOLD, _______, _______, PINK, PINK, PINK, PINK, _______, _______, _______, GREEN, GREEN, GREEN, GREEN, _______, TEAL, TEAL, TEAL, @@ -354,7 +354,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void set_layer_color(int layer) { if (layer == 0) { return; } - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -372,13 +372,14 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (disable_layer_color || rgb_matrix_get_flags() == LED_FLAG_NONE || rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { return; } set_layer_color(get_highest_layer(layer_state)); + return false; } /* This is a test function for Raw HID, which is currently not implemented for this keyboard */ diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h b/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h index 160ddf6d18..f8e0e9fc7d 100644 --- a/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h +++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/config.h @@ -32,9 +32,8 @@ // #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_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects // #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended -// #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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h b/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h index ff214aaad6..96f90f5e05 100644 --- a/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h +++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/hid_protocol.h @@ -75,6 +75,6 @@ extern uint8_t raw_hid_buffer[RAW_EPSIZE]; // Defined in rgb_matrix_user.inc // It's 119 for Massdrop CTRL, 0 - 118. -extern RGB rgb_matrix_led_state[DRIVER_LED_TOTAL]; +extern RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT]; void raw_hid_perform_send(void); diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c b/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c index 299251e456..ad265f0ead 100644 --- a/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/keymap.c @@ -199,9 +199,9 @@ void raw_hid_led(uint8_t *data) { //rgb_matrix_set_color(data[1], data[2], data[3], data[4]); const uint8_t led = data[1]; - if (led >= DRIVER_LED_TOTAL) { + if (led >= RGB_MATRIX_LED_COUNT) { raw_hid_buffer[1] = CTRL_HID_NOK; - raw_hid_buffer[2] = DRIVER_LED_TOTAL; + raw_hid_buffer[2] = RGB_MATRIX_LED_COUNT; raw_hid_buffer[3] = CTRL_HID_EOM; return; } @@ -219,7 +219,7 @@ void raw_hid_leds(uint8_t *data) { const uint8_t number_leds = data[2]; uint8_t i = 0; - while (i < number_leds && first_led + i < DRIVER_LED_TOTAL && i * 3 + 5 < RAW_EPSIZE) { + while (i < number_leds && first_led + i < RGB_MATRIX_LED_COUNT && i * 3 + 5 < RAW_EPSIZE) { rgb_matrix_led_state[first_led + i].r = data[3 + i * 3 + 0]; rgb_matrix_led_state[first_led + i].g = data[3 + i * 3 + 1]; rgb_matrix_led_state[first_led + i].b = data[3 + i * 3 + 2]; diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc b/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc index cca598e3b2..36d09c42e2 100644 --- a/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc +++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc @@ -26,7 +26,7 @@ RGB_MATRIX_EFFECT(hid_effect) // Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block #ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS -RGB rgb_matrix_led_state[DRIVER_LED_TOTAL]; +RGB rgb_matrix_led_state[RGB_MATRIX_LED_COUNT]; // e.g: A simple effect, self-contained within a single method static bool hid_effect(effect_params_t* params) { @@ -38,7 +38,7 @@ static bool hid_effect(effect_params_t* params) { rgb_matrix_led_state[i].g, rgb_matrix_led_state[i].b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h index 692faa35a2..b8dddc9ec5 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h @@ -65,9 +65,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #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_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_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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config_led.c b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config_led.c index a1c1dec543..732a60a6c5 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config_led.c +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config_led.c @@ -91,7 +91,10 @@ led_config_t g_led_config = { { // clang-format on # ifdef USB_LED_INDICATOR_ENABLE -void rgb_matrix_indicators_kb(void) { md_rgb_matrix_indicators(); } +bool rgb_matrix_indicators_kb(void) { + md_rgb_matrix_indicators(); + return rgb_matrix_indicators_user(); +} # endif // USB_LED_INDICATOR_ENABLE -#endif
\ No newline at end of file +#endif diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c b/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c index c89607b3f3..0ea23ccb4c 100644 --- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/keymap.c @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "keymap.h" // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_KL] = LAYOUT( + [_KL] = 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_SLCK, 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_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, @@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { # undef _______ # define _______ {0,0,0} -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [_NL] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, GOLD, GOLD, GOLD, GREEN, GREEN, GREEN, _______, _______, _______, _______, @@ -99,7 +99,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { _______, GOLD, CORAL, _______, _______, _______, _______, RED, {1,0,0}, CYAN, M9B59B5, _______, _______, _______, RED, _______, _______, _______, RED, PINK, YELLOW, GREEN, CREAM, _______, _______, _______, _______, _______, _______, _______, _______, WHITE, _______, _______, CORAL, _______, CORAL - }, + }, }; # undef _______ # define _______ KC_TRNS @@ -217,7 +217,7 @@ void set_layer_color(int layer) { if (layer == 0) { return; } - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -278,9 +278,10 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (g_suspend_state || disable_layer_color || rgb_matrix_get_flags() == LED_FLAG_NONE || rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { return; } set_layer_color(get_highest_layer(layer_state)); + return false; } diff --git a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c index ddcf30b68d..eee2eaf628 100644 --- a/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c @@ -129,8 +129,7 @@ static uint8_t COLOR_PATTERNS[][COLOR_PATTERN_RGB_COUNT][3] = { { 66, 66, 66}, { 45, 45, 45}, { 23, 23, 23}, }, }; -static const uint8_t COLOR_PATTERNS_COUNT = ( - sizeof(COLOR_PATTERNS) / sizeof(COLOR_PATTERNS[0])); +static const uint8_t COLOR_PATTERNS_COUNT = ARRAY_SIZE(COLOR_PATTERNS); /** * trimed down version of `ISSI3733_LED_MAP`: diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h index f1cbd5f3b0..59feed09a9 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h @@ -63,9 +63,8 @@ // #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_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_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_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_ANIMATIONS // Run RGB animations // #define RGBLIGHT_ANIMATIONS // Enable all additional animation modes. diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c b/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c index 650b31477c..d83318de83 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config_led.c @@ -1,18 +1,18 @@ /* Copyright 2022 Daniel Weeks (@xanimos) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #ifdef RGB_MATRIX_ENABLE #include "ctrl.h" @@ -89,8 +89,9 @@ led_config_t g_led_config = { { #ifdef USB_LED_INDICATOR_ENABLE -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { md_rgb_matrix_indicators_advanced(led_min, led_max); + return rgb_matrix_indicators_advanced_user(led_min, led_max); } #endif // USB_LED_INDICATOR_ENABLE diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c index c7bc285eda..561171a04a 100644 --- a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c @@ -1,18 +1,18 @@ /* Copyright 2022 Daniel Weeks (@xanimos) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ #include "keymap.h" @@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #define __OFF__ {0, 0, 0} -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [_FL] = { // These remain on base layer rgb to see adjustments ;) // |----------------------------------| @@ -323,7 +323,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void set_layer_color(int layer) { if (layer == 0) { return; } - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -334,7 +334,7 @@ void set_layer_color(int layer) { float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX; rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b); continue; - } + } if(layer == _FL && i <= 4 && i >= 1) { continue; // Leave RGB for F1-F4 of function layer to adjust RGB settings } @@ -343,13 +343,14 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (disable_layer_color || rgb_matrix_get_flags() == LED_FLAG_NONE || rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { return; } set_layer_color(get_highest_layer(layer_state)); + return false; } diff --git a/keyboards/matrix/m20add/config.h b/keyboards/matrix/m20add/config.h index cf63bb1bda..95a83905a3 100644 --- a/keyboards/matrix/m20add/config.h +++ b/keyboards/matrix/m20add/config.h @@ -86,4 +86,4 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c index 7535cb5bd4..4466ec3bea 100644 --- a/keyboards/matrix/m20add/rgb_ring.c +++ b/keyboards/matrix/m20add/rgb_ring.c @@ -30,7 +30,7 @@ #endif // rgb ring leds setting -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -373,7 +373,7 @@ void rgb_ring_init(void) { i2c_init(); IS31FL3731_init(DRIVER_ADDR_1); - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); } diff --git a/keyboards/matrix/noah/config.h b/keyboards/matrix/noah/config.h index 83c1942a5f..081b5de373 100644 --- a/keyboards/matrix/noah/config.h +++ b/keyboards/matrix/noah/config.h @@ -30,7 +30,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 36 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // 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/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c index 89c25707af..44450229a1 100644 --- a/keyboards/matrix/noah/noah.c +++ b/keyboards/matrix/noah/noah.c @@ -63,7 +63,7 @@ void matrix_scan_kb(void) { } #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c index 689a9ce36e..90020fd3f5 100644 --- a/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c +++ b/keyboards/mechkeys/mechmini/v2/keymaps/wsturgiss/keymap.c @@ -65,7 +65,7 @@ void matrix_scan_user(void) { } //tableflip (LEADER - TF) SEQ_TWO_KEYS(KC_T, KC_F) { - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); } //screencap (LEADER - SC) @@ -74,7 +74,7 @@ void matrix_scan_user(void) { } //screencap (LEADER - TM) SEQ_TWO_KEYS(KC_T, KC_M) { - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); register_unicode(0x2122); // ™ } /* diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h index 7f151ae09a..76ebe5fd3a 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h @@ -4,11 +4,10 @@ #define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B8, B4, B5, B3, C14, A15 } #define RGB_DI_PIN A7 -#define DRIVER_LED_TOTAL 91 +#define RGB_MATRIX_LED_COUNT 91 #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_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_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 diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h index dbeb73cda2..0928e89213 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h @@ -23,11 +23,10 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 32 #define DRIVER_2_LED_TOTAL 36 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #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_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_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/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c index dda36f3710..20b4b69114 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c @@ -17,7 +17,7 @@ #include "adelais.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C2_1, C3_1, C4_1}, //D102-A0-0 {0, C5_1, C6_1, C7_1}, //D108-A1-1 @@ -68,7 +68,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {1, C1_5, C2_5, C3_5}, //D160-C10-42 {1, C4_5, C5_5, C7_6}, //D166-C11-43 {1, C1_6, C2_6, C3_6}, //D173-C12-44 - {1, C4_6, C5_6, C6_6}, //D178-C13-45 + {1, C4_6, C5_6, C6_6}, //D178-C13-45 {1, C2_9, C3_9, C4_9}, //D80-D0-46 {1, C1_9, C3_10, C4_10}, //D89-D2-47 @@ -78,7 +78,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {1, C1_12, C2_12, C3_12}, //D82-D8-51 {1, C1_13, C2_13, C3_13}, //D91-D10-52 {1, C4_13, C5_13, C7_14}, //D96-D11-53 - {1, C1_15, C2_15, C3_15}, //D87-D14-54 + {1, C1_15, C2_15, C3_15}, //D87-D14-54 {1, C4_15, C5_15, C6_15}, //D87-D14-55 {1, C1_16, C2_16, C3_16}, //D87-D14-56 {1, C4_16, C5_16, C6_16}, //D87-D14-57 @@ -107,20 +107,24 @@ led_config_t g_led_config = { { {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {223, 0}, {224, 0}, {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16}, {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32}, - { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, {224,48}, - { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64}, + { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, {224,48}, + { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64}, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, } }; -void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(33, 255, 255, 255); - } +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(33, 255, 255, 255); + } + return true; } @@ -168,4 +172,4 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } return true; -}
\ No newline at end of file +} diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h index e16d5f2ce5..65a189b9de 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/config.h +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/config.h @@ -51,12 +51,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // 0b1110110 AD <-> SDA #define DRIVER_ADDR_1 0b0110010 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 66 +#define RGB_MATRIX_LED_COUNT 66 #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_AFTER_TIMEOUT 0 // number of ticks to wait until disabling 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 diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c index d9ea7993cf..ad9c7c4db0 100644 --- a/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c +++ b/keyboards/mechlovin/adelais/rgb_led/rev3/rev3.c @@ -17,7 +17,7 @@ #include "rev3.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 */ @@ -78,7 +78,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, CS21_SW8, CS20_SW8, CS19_SW8}, /* D109-K3B-56 */ {0, CS24_SW2, CS23_SW2, CS22_SW2}, /* D105-K3D-57 */ {0, CS24_SW8, CS23_SW8, CS22_SW8}, /* D103-K3E-58 */ - + {0, CS3_SW1, CS2_SW1, CS1_SW1}, /* D163-K40-59 */ {0, CS6_SW1, CS5_SW1, CS4_SW1}, /* D147-K42-60 */ {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* D137-K44-61 */ @@ -101,21 +101,25 @@ led_config_t g_led_config = { {0,0}, { 17, 0}, { 34, 0 }, { 51, 0 }, { 69, 0}, { 86, 0}, {100, 0}, {103, 0}, { 120, 0}, { 138, 0}, { 155, 0}, { 172, 0}, { 189, 0}, {207, 0}, {215, 0}, {224, 0}, {0,16}, { 17, 16}, { 34,16 }, { 51,16 }, { 69,16}, { 86,16}, {103,16}, { 120,16}, { 138,16}, { 155,16}, { 172,16}, { 189,16}, {207, 16}, {215, 16}, {224,16}, {0,32}, { 17, 32}, { 34,32 }, { 51,32 }, { 69,32}, { 86,32}, {103,32}, { 120,32}, { 138,32}, { 155,32}, { 172,32}, { 189,32}, {207, 32}, {224,32}, - { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, - { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64}, + { 17, 48}, { 34,48 }, { 51,48 }, { 69,48}, { 86,48}, {103,48}, { 120,48}, { 138,48}, { 155,48}, { 172,48}, { 189,48}, {207, 48}, {215, 48}, {224,48}, + { 17, 64}, { 51,64 }, { 86,64}, { 103,64}, { 138,64}, { 172,64}, {224, 64}, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - } + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + } }; -__attribute__((weak)) void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(32, 255, 255, 255); - } +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(32, 255, 255, 255); + } + return true; } diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h index 0d5bfb57f9..155d526f3f 100644 --- a/keyboards/mechlovin/delphine/rgb_led/config.h +++ b/keyboards/mechlovin/delphine/rgb_led/config.h @@ -31,10 +31,9 @@ // 0b1110110 AD <-> SDA #define DRIVER_ADDR_1 0b1110110 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 25 +#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_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_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/mechlovin/delphine/rgb_led/rgb_led.c b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c index 413a9a06ea..3e02735cdf 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { // left CA {0, C5_2, C6_2, C7_2}, //D2-0 {0, C1_1, C3_2, C4_2}, //D20-1 @@ -60,12 +60,12 @@ led_config_t g_led_config = { { }, { //LED Index to Physical Positon - { 0, 0}, { 75, 0}, {149, 0}, {224, 0}, - { 0, 13}, { 75, 13}, {149, 13}, {224, 13}, - { 0, 25}, { 75, 25}, {149, 25}, {224, 25}, - { 0, 38}, { 75, 38}, {149, 38}, {224, 38}, - { 0, 51}, { 75, 51}, {149, 51}, {224, 51}, - { 0, 64}, { 37, 64}, { 75, 64}, {149, 64}, {224, 64}, + { 0, 0}, { 75, 0}, {149, 0}, {224, 0}, + { 0, 13}, { 75, 13}, {149, 13}, {224, 13}, + { 0, 25}, { 75, 25}, {149, 25}, {224, 25}, + { 0, 38}, { 75, 38}, {149, 38}, {224, 38}, + { 0, 51}, { 75, 51}, {149, 51}, {224, 51}, + { 0, 64}, { 37, 64}, { 75, 64}, {149, 64}, {224, 64}, }, { 4, 4, 4, 4, 4, 1, 1, 4, @@ -75,10 +75,14 @@ led_config_t g_led_config = { { 4, 0, 1, 1, 4, } }; -void rgb_matrix_indicators_kb(void) { - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(4, 255, 255, 255); - } +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().num_lock) { + rgb_matrix_set_color(4, 255, 255, 255); + } + return true; } __attribute__((weak)) @@ -117,7 +121,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (!process_record_user(keycode, record)) { return false; } - + if (record->event.pressed) { switch(keycode) { #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/mechlovin/hannah60rgb/rev1/config.h b/keyboards/mechlovin/hannah60rgb/rev1/config.h index 9a84e78588..bf8172b994 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev1/config.h @@ -2,11 +2,10 @@ #define RGB_DI_PIN A15 #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL 72 +# define RGB_MATRIX_LED_COUNT 72 # 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_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_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/mechlovin/hannah60rgb/rev1/rev1.c b/keyboards/mechlovin/hannah60rgb/rev1/rev1.c index 6b1b8604a2..b61ac10b14 100644 --- a/keyboards/mechlovin/hannah60rgb/rev1/rev1.c +++ b/keyboards/mechlovin/hannah60rgb/rev1/rev1.c @@ -27,21 +27,26 @@ led_config_t g_led_config = { { }, { //LED Index to Physical Positon { 0, 0}, { 16, 0}, { 32, 0 }, { 48, 0 }, { 64, 0}, { 80, 0}, { 96, 0}, { 112, 0}, { 128, 0}, { 144, 0}, { 160, 0}, { 176, 0}, {192, 0}, {208, 0}, {216, 0}, - {220, 0}, {211, 16}, {200,16 }, {176,16 }, {160,16}, {144,16}, {128,16}, { 112,16}, { 96,16}, { 80,16}, { 64,16}, { 48,16}, {32, 16}, {16, 16}, {0,16}, - { 0, 32}, { 16, 32}, { 32,32 }, { 48,32 }, { 64,32}, { 80,32}, { 96,32}, { 112,32}, { 128,32}, { 144,32}, { 160,32}, { 176,32}, {192, 32}, {208, 32}, {224,48}, - {208, 48}, {192, 48}, {160,48 }, {144,48 }, {128,48}, {112,48}, {96,48}, { 80,48}, { 64,48}, { 48,48}, { 32,48}, { 16,48}, {8, 48}, {0, 48}, {0,48}, - { 0, 64}, { 16, 64}, { 32,64 }, { 48,64 }, { 64,64}, { 80,64}, { 96,64}, { 112,64}, { 144,64}, { 160,64}, { 192,64}, { 224,64}, + {220, 0}, {211, 16}, {200,16 }, {176,16 }, {160,16}, {144,16}, {128,16}, { 112,16}, { 96,16}, { 80,16}, { 64,16}, { 48,16}, {32, 16}, {16, 16}, {0,16}, + { 0, 32}, { 16, 32}, { 32,32 }, { 48,32 }, { 64,32}, { 80,32}, { 96,32}, { 112,32}, { 128,32}, { 144,32}, { 160,32}, { 176,32}, {192, 32}, {208, 32}, {224,48}, + {208, 48}, {192, 48}, {160,48 }, {144,48 }, {128,48}, {112,48}, {96,48}, { 80,48}, { 64,48}, { 48,48}, { 32,48}, { 16,48}, {8, 48}, {0, 48}, {0,48}, + { 0, 64}, { 16, 64}, { 32,64 }, { 48,64 }, { 64,64}, { 80,64}, { 96,64}, { 112,64}, { 144,64}, { 160,64}, { 192,64}, { 224,64}, }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, } }; -void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(30, 255, 255, 255); - } +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(30, 255, 255, 255); + } + return true; } -#endif
\ No newline at end of file +#endif diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h index 3a25680a20..2dab887e4d 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/config.h +++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h @@ -21,11 +21,10 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 44 #define DRIVER_2_LED_TOTAL 34 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #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_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_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/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c index ac371e4185..a2812aa41d 100644 --- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c +++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c @@ -17,7 +17,7 @@ #include "rev2.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -123,8 +123,8 @@ led_config_t g_led_config = { { { 0, 0}, { 16, 0}, { 32, 0 }, { 48, 0}, //9-59-68-76 { 0, 16}, { 16, 16}, { 32, 16}, { 48, 16}, //10-60-72-77 { 0, 32}, { 16, 32}, { 32, 32}, { 48, 32}, //46-61-73-78 - { 0, 48}, { 0, 48}, { 12, 48}, { 16, 48}, //126-51-63-74 - { 0, 64}, { 16, 64}, //56-67 + { 0, 48}, { 0, 48}, { 12, 48}, { 16, 48}, //126-51-63-74 + { 0, 64}, { 16, 64}, //56-67 { 64, 0}, { 80, 0}, { 96, 0}, { 112, 0}, //80-84-89-94 { 64, 16}, { 80, 16}, { 96,16}, { 112,16}, //81-85-90-95 { 64, 32}, { 80, 32}, { 96,32}, { 112,32}, //82-86-91-96 @@ -133,34 +133,38 @@ led_config_t g_led_config = { { { 128, 0}, { 144, 0}, { 160, 0}, { 176, 0}, {192, 0}, {220, 0}, {210, 0}, //98-102-106-111-116-121-130 { 128,16}, {144,16}, {160,16}, {176, 16}, {192, 16}, {220, 16}, {220,16}, //99-103-107-112-117-129-122 { 128,32}, { 144,32}, { 160,32}, { 176,32}, {192, 32}, {220, 32}, //100-104-108-113-118-123 - { 96,48}, {112,48}, {128, 48}, {144, 48}, {160, 48}, {200, 48}, {220,48}, {220,48}, //97-101-105-109-114-119-128-124 + { 96,48}, {112,48}, {128, 48}, {144, 48}, {160, 48}, {200, 48}, {220,48}, {220,48}, //97-101-105-109-114-119-128-124 { 96,64}, {144,64}, {160,64}, {176,64}, {220, 64}, //127-110-115-120-125 - { 220, 0}, //140 + { 220, 0}, //140 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, } }; -__attribute__((weak)) void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(8, 255, 255, 255); - rgb_matrix_set_color(70, 255, 0, 0); - } else { - rgb_matrix_set_color(70, 0, 0, 0); - } - if (host_keyboard_led_state().num_lock) { - rgb_matrix_set_color(71, 255, 0, 0); - } else { - rgb_matrix_set_color(71, 0, 0, 0); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(72, 255, 0, 0); - } else { - rgb_matrix_set_color(72, 0, 0, 0); - } +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(8, 255, 255, 255); + rgb_matrix_set_color(70, 255, 0, 0); + } else { + rgb_matrix_set_color(70, 0, 0, 0); + } + if (host_keyboard_led_state().num_lock) { + rgb_matrix_set_color(71, 255, 0, 0); + } else { + rgb_matrix_set_color(71, 0, 0, 0); + } + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(72, 255, 0, 0); + } else { + rgb_matrix_set_color(72, 0, 0, 0); + } + return true; } __attribute__((weak)) diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h index 3c2ffd4b9f..868ea8a291 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h +++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h @@ -30,7 +30,6 @@ // 0b0110011 AD <-> VCC // 0b0110001 AD <-> SCL // 0b0110010 AD <-> SDA -#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_KEYPRESSES #undef ENABLE_RGB_MATRIX_SPLASH @@ -89,5 +88,5 @@ //#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define DRIVER_ADDR_1 0b0110010 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 91 +#define RGB_MATRIX_LED_COUNT 91 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c index 0ad5d41430..210fb843b3 100644 --- a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c +++ b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c @@ -17,7 +17,7 @@ #include "rgb_rev1.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 @@ -120,9 +120,9 @@ led_config_t g_led_config = { { {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, NO_LED, 79, NO_LED}, {80, 81, 82, NO_LED, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 84, 85, 86, 87, 88, 89, 90} }, { - {0, 0}, {14, 0}, {28, 0}, {42, 0}, {56, 0}, {70, 0}, {84, 0}, {98, 0}, {112, 0}, {126, 0}, {140, 0}, {154, 0}, {168, 0}, {182, 0}, {196, 0}, {210, 0}, {224, 0}, - {0,16}, {14,16}, {28,16}, {42, 16}, {56, 16}, {70, 16}, {84, 16}, {98, 16}, {112, 16}, {126, 16}, {140, 16}, {154, 16}, {168, 16}, {182, 16}, {196, 16}, {210, 16}, {224, 16}, - {0,32}, {14,32}, {28,32}, {42, 32}, {56, 32}, {70, 32}, {84, 32}, {98, 32}, {112, 32}, {126, 32}, {140, 32}, {154, 32}, {168, 32}, {182, 32}, {196, 32}, {210, 32}, {224, 32}, + {0, 0}, {14, 0}, {28, 0}, {42, 0}, {56, 0}, {70, 0}, {84, 0}, {98, 0}, {112, 0}, {126, 0}, {140, 0}, {154, 0}, {168, 0}, {182, 0}, {196, 0}, {210, 0}, {224, 0}, + {0,16}, {14,16}, {28,16}, {42, 16}, {56, 16}, {70, 16}, {84, 16}, {98, 16}, {112, 16}, {126, 16}, {140, 16}, {154, 16}, {168, 16}, {182, 16}, {196, 16}, {210, 16}, {224, 16}, + {0,32}, {14,32}, {28,32}, {42, 32}, {56, 32}, {70, 32}, {84, 32}, {98, 32}, {112, 32}, {126, 32}, {140, 32}, {154, 32}, {168, 32}, {182, 32}, {196, 32}, {210, 32}, {224, 32}, {0,48}, {14,48}, {28,48}, {42, 48}, {56, 48}, {70, 48}, {84, 48}, {98, 48}, {112, 48}, {126, 48}, {140, 48}, {154, 48}, {168, 48}, {182, 48}, {0,64}, {14,64}, {28,64}, {42, 64}, {56, 64}, {70, 64}, {84, 64}, {98, 64}, {112, 64}, {126, 64}, {140, 64}, {154, 64}, {168, 64}, {182, 64}, {210, 64}, {0,80}, {14,80}, {28,80}, {84, 80}, {140, 80}, {154, 80}, {168, 80}, {182, 80}, {196, 80}, {210, 80}, {224, 80} @@ -136,24 +136,16 @@ led_config_t g_led_config = { { } }; -__attribute__((weak)) -void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(51, 255, 255, 255); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(15, 255, 255, 255); - } -} - - -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(51, 255, 255, 255); + } + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(15, 255, 255, 255); + } + return true; } #endif diff --git a/keyboards/mechlovin/infinity875/config.h b/keyboards/mechlovin/infinity875/config.h index 4f02ed39c9..9a9b8b6236 100644 --- a/keyboards/mechlovin/infinity875/config.h +++ b/keyboards/mechlovin/infinity875/config.h @@ -45,8 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE #define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 42 -#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +#define RGB_MATRIX_LED_COUNT 42 #define RGB_DISABLE_WHEN_USB_SUSPENDED // 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 diff --git a/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc index cee6a3f038..627d12bd3c 100644 --- a/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc +++ b/keyboards/mechlovin/infinity875/keymaps/default/rgb_matrix_user.inc @@ -62,7 +62,7 @@ bool effect_runner_all(effect_params_t* params, i_f effect_func) { RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_esc(effect_params_t* params, i_f effect_func) { @@ -77,7 +77,7 @@ bool effect_runner_esc(effect_params_t* params, i_f effect_func) { for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_f13(effect_params_t* params, i_f effect_func) { @@ -94,7 +94,7 @@ bool effect_runner_f13(effect_params_t* params, i_f effect_func) { for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_clus(effect_params_t* params, i_f effect_func) { @@ -109,7 +109,7 @@ bool effect_runner_clus(effect_params_t* params, i_f effect_func) { for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { @@ -123,7 +123,7 @@ bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { @@ -140,7 +140,7 @@ bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { @@ -160,7 +160,7 @@ bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { @@ -177,7 +177,7 @@ bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) { @@ -191,7 +191,7 @@ bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) { @@ -208,7 +208,7 @@ bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) { @@ -228,7 +228,7 @@ bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) { @@ -245,7 +245,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } static void raindrops_set_color_all(int i, effect_params_t* params) { @@ -375,7 +375,7 @@ static bool solid_esc(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Solid F13 @@ -390,7 +390,7 @@ static bool solid_f13(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Solid cluster @@ -404,7 +404,7 @@ static bool solid_clus(effect_params_t* params) { for (uint8_t i = 15 ; i < led_max; i++) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing all @@ -420,7 +420,7 @@ bool breathing_all(effect_params_t* params) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing ESC @@ -439,7 +439,7 @@ static bool breathing_esc(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing F13 @@ -458,7 +458,7 @@ static bool breathing_f13(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing cluster @@ -476,7 +476,7 @@ static bool breathing_clus(effect_params_t* params) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Band Val all @@ -698,7 +698,7 @@ static bool raindrops_all(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_all(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -707,7 +707,7 @@ static bool raindrops_all(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_all(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops ESC @@ -715,7 +715,7 @@ static bool raindrops_esc(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_esc(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -724,7 +724,7 @@ static bool raindrops_esc(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_esc(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops F13 @@ -732,7 +732,7 @@ static bool raindrops_f13(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_f13(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -741,7 +741,7 @@ static bool raindrops_f13(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_f13(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops Cluster @@ -749,7 +749,7 @@ static bool raindrops_clus(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_clus(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -758,7 +758,7 @@ static bool raindrops_clus(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_clus(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc b/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc index cee6a3f038..627d12bd3c 100644 --- a/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc +++ b/keyboards/mechlovin/infinity875/keymaps/via/rgb_matrix_user.inc @@ -62,7 +62,7 @@ bool effect_runner_all(effect_params_t* params, i_f effect_func) { RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_esc(effect_params_t* params, i_f effect_func) { @@ -77,7 +77,7 @@ bool effect_runner_esc(effect_params_t* params, i_f effect_func) { for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_f13(effect_params_t* params, i_f effect_func) { @@ -94,7 +94,7 @@ bool effect_runner_f13(effect_params_t* params, i_f effect_func) { for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_clus(effect_params_t* params, i_f effect_func) { @@ -109,7 +109,7 @@ bool effect_runner_clus(effect_params_t* params, i_f effect_func) { for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { @@ -123,7 +123,7 @@ bool effect_runner_dx_dy_all(effect_params_t* params, dx_dy_f effect_func) { RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, dx, dy, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { @@ -140,7 +140,7 @@ bool effect_runner_dx_dy_esc(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { @@ -160,7 +160,7 @@ bool effect_runner_dx_dy_f13(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { @@ -177,7 +177,7 @@ bool effect_runner_dx_dy_clus(effect_params_t* params, dx_dy_f effect_func) { for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) { @@ -191,7 +191,7 @@ bool effect_runner_sin_cos_all(effect_params_t* params, sin_cos_i_f effect_func) RGB rgb = rgb_matrix_hsv_to_rgb(effect_func(rgb_matrix_config.hsv, cos_value, sin_value, i, time)); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) { @@ -208,7 +208,7 @@ bool effect_runner_sin_cos_esc(effect_params_t* params, sin_cos_i_f effect_func) for (uint8_t i = 1; i < 18; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) { @@ -228,7 +228,7 @@ bool effect_runner_sin_cos_f13(effect_params_t* params, sin_cos_i_f effect_func) for (uint8_t i = 0; i < 14; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func) { @@ -245,7 +245,7 @@ bool effect_runner_sin_cos_clus(effect_params_t* params, sin_cos_i_f effect_func for (uint8_t i = 0; i < 15; i++) { rgb_matrix_set_color(i, 0x00, 0x00, 0x00); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } static void raindrops_set_color_all(int i, effect_params_t* params) { @@ -375,7 +375,7 @@ static bool solid_esc(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Solid F13 @@ -390,7 +390,7 @@ static bool solid_f13(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Solid cluster @@ -404,7 +404,7 @@ static bool solid_clus(effect_params_t* params) { for (uint8_t i = 15 ; i < led_max; i++) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing all @@ -420,7 +420,7 @@ bool breathing_all(effect_params_t* params) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing ESC @@ -439,7 +439,7 @@ static bool breathing_esc(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } rgb_matrix_set_color(0, rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing F13 @@ -458,7 +458,7 @@ static bool breathing_f13(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } rgb_matrix_set_color(14, rgb.r, rgb.g, rgb.b); - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Breathing cluster @@ -476,7 +476,7 @@ static bool breathing_clus(effect_params_t* params) { RGB_MATRIX_TEST_LED_FLAGS(); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Band Val all @@ -698,7 +698,7 @@ static bool raindrops_all(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_all(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_all(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -707,7 +707,7 @@ static bool raindrops_all(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_all(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops ESC @@ -715,7 +715,7 @@ static bool raindrops_esc(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_esc(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_esc(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -724,7 +724,7 @@ static bool raindrops_esc(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_esc(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops F13 @@ -732,7 +732,7 @@ static bool raindrops_f13(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_f13(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_f13(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -741,7 +741,7 @@ static bool raindrops_f13(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_f13(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } // Raindrops Cluster @@ -749,7 +749,7 @@ static bool raindrops_clus(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color_clus(rand() % DRIVER_LED_TOTAL, params); + raindrops_set_color_clus(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } @@ -758,7 +758,7 @@ static bool raindrops_clus(effect_params_t* params) { for (int i = led_min; i < led_max; i++) { raindrops_set_color_clus(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c index 50b1b6471c..9dbd4d3f19 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff/keymap.c @@ -83,7 +83,7 @@ static const encoder_key PROGMEM encoder_keys[] = { {"Play", "", "", KC_MEDIA_PLAY_PAUSE} }; -#define NUMBER_OF_ENCODER_KEYS sizeof(encoder_keys)/sizeof(encoder_keys[0]) +#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys) static uint8_t selected_encoder_key_id = 0; static encoder_key selected_encoder_key; diff --git a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c index 267d3add14..9b28c68672 100644 --- a/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/fearless_spiff_en/keymap.c @@ -82,7 +82,7 @@ static const encoder_key PROGMEM encoder_keys[] = { {"Play", "", "", KC_MEDIA_PLAY_PAUSE} }; -#define NUMBER_OF_ENCODER_KEYS sizeof(encoder_keys)/sizeof(encoder_keys[0]) +#define NUMBER_OF_ENCODER_KEYS ARRAY_SIZE(encoder_keys) static uint8_t selected_encoder_key_id = 0; static encoder_key selected_encoder_key; diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c index 5c22abee3f..a8f1d488d4 100755 --- a/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c +++ b/keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c @@ -71,7 +71,7 @@ static const keycodedescType PROGMEM keyselection[] = { {"FLASH", QK_BOOT}, // firmware flash mode }; -#define MAX_KEYSELECTION sizeof(keyselection)/sizeof(keyselection[0]) +#define MAX_KEYSELECTION ARRAY_SIZE(keyselection) static uint8_t selectedkey_idx = 0; static keycodedescType selectedkey_rec; diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/readme.md b/keyboards/mechwild/mercutio/keymaps/jonavin/readme.md index 6255dadd05..ed1395ede6 100644 --- a/keyboards/mechwild/mercutio/keymaps/jonavin/readme.md +++ b/keyboards/mechwild/mercutio/keymaps/jonavin/readme.md @@ -30,7 +30,7 @@ Features {"C-A-D", KC_CAD}, // Ctrl-Alt-Del {"AltF4", KC_AF4}, {"PLAY", KC_MEDIA_PLAY_PAUSE}, - {"RESET", RESET}, // firmware flash mode + {"RESET", QK_BOOT}, // firmware flash mode }; - Additional encoder functionality diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c index 88c017cbff..61e98c2df8 100644 --- a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c +++ b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c @@ -178,7 +178,7 @@ static const keycodedescType PROGMEM keyselection[] = { {"RESET", QK_BOOT}, // firmware flash mode }; -#define MAX_KEYSELECTION sizeof(keyselection)/sizeof(keyselection[0]) +#define MAX_KEYSELECTION ARRAY_SIZE(keyselection) static uint8_t selectedkey_idx = 0; static keycodedescType selectedkey_rec; diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md index 0e389a5c37..ec76f0a415 100644 --- a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md +++ b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md @@ -34,7 +34,7 @@ Special Features {"Break", KC_PAUS}, {"C-A-D", KC_CAD}, // Ctrl-Alt-Del {"AltF4", KC_AF4}, - {"RESET", RESET}, // firmware flash mode + {"RESET", QK_BOOT}, // firmware flash mode }; - Additional encoder functionality diff --git a/keyboards/mechwild/puckbuddy/puckbuddy.c b/keyboards/mechwild/puckbuddy/puckbuddy.c index b82d06f565..495cb7e825 100644 --- a/keyboards/mechwild/puckbuddy/puckbuddy.c +++ b/keyboards/mechwild/puckbuddy/puckbuddy.c @@ -16,7 +16,7 @@ keyboard_config_t keyboard_config; uint16_t dpi_array[] = GLIDEPOINT_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) +#define DPI_OPTION_SIZE ARRAY_SIZE(dpi_array) void board_init(void) { // B9 is configured as I2C1_SDA in the board file; that function must be diff --git a/keyboards/melgeek/mach80/config.h b/keyboards/melgeek/mach80/config.h index aab6083eb0..878319836c 100755 --- a/keyboards/melgeek/mach80/config.h +++ b/keyboards/melgeek/mach80/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mach80/rev1/config.h b/keyboards/melgeek/mach80/rev1/config.h index 7d941ba1e3..62af5154e6 100755 --- a/keyboards/melgeek/mach80/rev1/config.h +++ b/keyboards/melgeek/mach80/rev1/config.h @@ -33,7 +33,7 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define DRIVER_LED_TOTAL 97 +#define RGB_MATRIX_LED_COUNT 97 #define DRIVER_INDICATOR_LED_TOTAL 3 diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c index 4d11d3f711..468fc1f698 100755 --- a/keyboards/melgeek/mach80/rev1/rev1.c +++ b/keyboards/melgeek/mach80/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/melgeek/mach80/rev2/config.h index b08ec05100..b42d96691a 100755 --- a/keyboards/melgeek/mach80/rev2/config.h +++ b/keyboards/melgeek/mach80/rev2/config.h @@ -33,7 +33,7 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION ROW2COL -#define DRIVER_LED_TOTAL 94 +#define RGB_MATRIX_LED_COUNT 94 #define DRIVER_INDICATOR_LED_TOTAL 3 diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c index 09250b1565..e817ef70a6 100755 --- a/keyboards/melgeek/mach80/rev2/rev2.c +++ b/keyboards/melgeek/mach80/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 407beba1e8..368538666b 100644 --- a/keyboards/melgeek/mj61/config.h +++ b/keyboards/melgeek/mj61/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mj61/rev1/config.h b/keyboards/melgeek/mj61/rev1/config.h index bba46db2dd..c3f72d006a 100644 --- a/keyboards/melgeek/mj61/rev1/config.h +++ b/keyboards/melgeek/mj61/rev1/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 63 +#define RGB_MATRIX_LED_COUNT 63 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj61/rev1/rev1.c b/keyboards/melgeek/mj61/rev1/rev1.c index 9d8de36d88..9c24335f82 100644 --- a/keyboards/melgeek/mj61/rev1/rev1.c +++ b/keyboards/melgeek/mj61/rev1/rev1.c @@ -17,7 +17,7 @@ #include "mj61.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/melgeek/mj61/rev2/config.h index e17f291934..422d4847e4 100644 --- a/keyboards/melgeek/mj61/rev2/config.h +++ b/keyboards/melgeek/mj61/rev2/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 71 +#define RGB_MATRIX_LED_COUNT 71 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj61/rev2/rev2.c b/keyboards/melgeek/mj61/rev2/rev2.c index b46cf08c4e..61588958dc 100644 --- a/keyboards/melgeek/mj61/rev2/rev2.c +++ b/keyboards/melgeek/mj61/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 407beba1e8..368538666b 100644 --- a/keyboards/melgeek/mj63/config.h +++ b/keyboards/melgeek/mj63/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mj63/rev1/config.h b/keyboards/melgeek/mj63/rev1/config.h index ef8c7872d6..31c4e0f148 100644 --- a/keyboards/melgeek/mj63/rev1/config.h +++ b/keyboards/melgeek/mj63/rev1/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 65 +#define RGB_MATRIX_LED_COUNT 65 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c index 45abafd84d..e69d4b2e06 100644 --- a/keyboards/melgeek/mj63/rev1/rev1.c +++ b/keyboards/melgeek/mj63/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/melgeek/mj63/rev2/config.h index e17f291934..422d4847e4 100644 --- a/keyboards/melgeek/mj63/rev2/config.h +++ b/keyboards/melgeek/mj63/rev2/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 71 +#define RGB_MATRIX_LED_COUNT 71 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj63/rev2/rev2.c b/keyboards/melgeek/mj63/rev2/rev2.c index b21c4f960c..c2398865ce 100644 --- a/keyboards/melgeek/mj63/rev2/rev2.c +++ b/keyboards/melgeek/mj63/rev2/rev2.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 407beba1e8..368538666b 100644 --- a/keyboards/melgeek/mj64/config.h +++ b/keyboards/melgeek/mj64/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mj64/rev1/config.h b/keyboards/melgeek/mj64/rev1/config.h index 713c051a09..a0048f6912 100644 --- a/keyboards/melgeek/mj64/rev1/config.h +++ b/keyboards/melgeek/mj64/rev1/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 66 +#define RGB_MATRIX_LED_COUNT 66 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj64/rev1/rev1.c b/keyboards/melgeek/mj64/rev1/rev1.c index 3279e7a1fe..5bfbe73e2f 100644 --- a/keyboards/melgeek/mj64/rev1/rev1.c +++ b/keyboards/melgeek/mj64/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/melgeek/mj64/rev2/config.h index 713c051a09..a0048f6912 100644 --- a/keyboards/melgeek/mj64/rev2/config.h +++ b/keyboards/melgeek/mj64/rev2/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 66 +#define RGB_MATRIX_LED_COUNT 66 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj64/rev2/rev2.c b/keyboards/melgeek/mj64/rev2/rev2.c index b0653f9e71..bf408489a0 100644 --- a/keyboards/melgeek/mj64/rev2/rev2.c +++ b/keyboards/melgeek/mj64/rev2/rev2.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/config.h b/keyboards/melgeek/mj64/rev3/config.h index ff467af7d6..bcb2110b60 100644 --- a/keyboards/melgeek/mj64/rev3/config.h +++ b/keyboards/melgeek/mj64/rev3/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj64/rev3/rev3.c b/keyboards/melgeek/mj64/rev3/rev3.c index b67dbee75b..5bf5725110 100644 --- a/keyboards/melgeek/mj64/rev3/rev3.c +++ b/keyboards/melgeek/mj64/rev3/rev3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 e009feed5b..85dd49a4ca 100644 --- a/keyboards/melgeek/mj65/config.h +++ b/keyboards/melgeek/mj65/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mj65/rev3/config.h b/keyboards/melgeek/mj65/rev3/config.h index 5274508744..24ed74f4b6 100644 --- a/keyboards/melgeek/mj65/rev3/config.h +++ b/keyboards/melgeek/mj65/rev3/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 76 +#define RGB_MATRIX_LED_COUNT 76 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mj65/rev3/rev3.c b/keyboards/melgeek/mj65/rev3/rev3.c index f02c29e747..6719a03b0f 100644 --- a/keyboards/melgeek/mj65/rev3/rev3.c +++ b/keyboards/melgeek/mj65/rev3/rev3.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 3ef18c6785..058c8eeccb 100755 --- a/keyboards/melgeek/mojo68/config.h +++ b/keyboards/melgeek/mojo68/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mojo68/rev1/config.h b/keyboards/melgeek/mojo68/rev1/config.h index de50fb8b1e..7cb916e4fb 100755 --- a/keyboards/melgeek/mojo68/rev1/config.h +++ b/keyboards/melgeek/mojo68/rev1/config.h @@ -33,5 +33,5 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 68 +#define RGB_MATRIX_LED_COUNT 68 #define DRIVER_INDICATOR_LED_TOTAL 3 diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c index 27c9212ac6..17c235820b 100755 --- a/keyboards/melgeek/mojo68/rev1/rev1.c +++ b/keyboards/melgeek/mojo68/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 67c79df409..e354fcb40e 100644 --- a/keyboards/melgeek/mojo75/config.h +++ b/keyboards/melgeek/mojo75/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/mojo75/rev1/config.h b/keyboards/melgeek/mojo75/rev1/config.h index f51798a308..6bbda5752a 100644 --- a/keyboards/melgeek/mojo75/rev1/config.h +++ b/keyboards/melgeek/mojo75/rev1/config.h @@ -33,6 +33,6 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 92 +#define RGB_MATRIX_LED_COUNT 92 #define DRIVER_INDICATOR_LED_TOTAL 0 diff --git a/keyboards/melgeek/mojo75/rev1/rev1.c b/keyboards/melgeek/mojo75/rev1/rev1.c index ae103801e2..b73e101f1e 100644 --- a/keyboards/melgeek/mojo75/rev1/rev1.c +++ b/keyboards/melgeek/mojo75/rev1/rev1.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 b16fb73b0d..9a5a5ed2ce 100755 --- a/keyboards/melgeek/tegic/config.h +++ b/keyboards/melgeek/tegic/config.h @@ -25,7 +25,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/melgeek/tegic/rev1/config.h b/keyboards/melgeek/tegic/rev1/config.h index 49d4550be9..e1d22a6384 100755 --- a/keyboards/melgeek/tegic/rev1/config.h +++ b/keyboards/melgeek/tegic/rev1/config.h @@ -33,7 +33,7 @@ /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -#define DRIVER_LED_TOTAL 91 +#define RGB_MATRIX_LED_COUNT 91 //#define DRIVER_INDICATOR_LED_TOTAL 3 diff --git a/keyboards/melgeek/tegic/rev1/rev1.c b/keyboards/melgeek/tegic/rev1/rev1.c index e3ede57b33..04e490794c 100755 --- a/keyboards/melgeek/tegic/rev1/rev1.c +++ b/keyboards/melgeek/tegic/rev1/rev1.c @@ -19,7 +19,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 2b5f6e5955..357f67e691 100644 --- a/keyboards/melgeek/z70ultra/config.h +++ b/keyboards/melgeek/z70ultra/config.h @@ -24,7 +24,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -81,5 +80,5 @@ #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 69 +#define RGB_MATRIX_LED_COUNT 69 #define DRIVER_INDICATOR_LED_TOTAL 6 diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c index 6be690c01e..9ade47d43e 100644 --- a/keyboards/melgeek/z70ultra/z70ultra.c +++ b/keyboards/melgeek/z70ultra/z70ultra.c @@ -18,7 +18,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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/merge/um70/config.h b/keyboards/merge/um70/config.h index b22bd3fb10..19f3bba97f 100644 --- a/keyboards/merge/um70/config.h +++ b/keyboards/merge/um70/config.h @@ -35,7 +35,7 @@ #define RGBLED_NUM 83 #define RGBLED_SPLIT { 39, 44 } #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT #endif #define RGBLIGHT_SLEEP diff --git a/keyboards/merge/um80/config.h b/keyboards/merge/um80/config.h index d76eee087a..b501e372ad 100644 --- a/keyboards/merge/um80/config.h +++ b/keyboards/merge/um80/config.h @@ -35,7 +35,7 @@ #define RGBLED_NUM 100 #define RGBLED_SPLIT { 48, 52 } #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT #endif #define RGBLIGHT_SLEEP diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h index 0e784fe527..c1e5bcfc38 100644 --- a/keyboards/miller/gm862/config.h +++ b/keyboards/miller/gm862/config.h @@ -23,7 +23,6 @@ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -78,5 +77,5 @@ # define DRIVER_ADDR_1 0b1010000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 62 +# define RGB_MATRIX_LED_COUNT 62 #endif diff --git a/keyboards/miller/gm862/gm862.c b/keyboards/miller/gm862/gm862.c index 5262957767..2a783dd0a0 100644 --- a/keyboards/miller/gm862/gm862.c +++ b/keyboards/miller/gm862/gm862.c @@ -1,7 +1,7 @@ #include "gm862.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, B_1, A_1, C_1}, {0, B_2, A_2, C_2}, {0, B_3, A_3, C_3}, @@ -72,11 +72,11 @@ led_config_t g_led_config = { { { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, NO_LED,NO_LED, 52 }, { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, NO_LED,59, 60 } }, { - { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, + { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, - { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 204, 32 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 204, 32 }, { 10, 48 }, { 20, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 210, 48 }, - { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 }, }, { 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -86,21 +86,12 @@ led_config_t g_led_config = { { } }; #endif -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return true; } diff --git a/keyboards/miniaxe/config.h b/keyboards/miniaxe/config.h index 99ebf5b9af..a874688171 100644 --- a/keyboards/miniaxe/config.h +++ b/keyboards/miniaxe/config.h @@ -54,7 +54,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN F4 #ifdef RGB_DI_PIN #define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 6 +#define RGBLED_NUM 6 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 @@ -119,8 +119,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 -/* Serial settings */ -#define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D0 diff --git a/keyboards/mint60/keymaps/default/config.h b/keyboards/mint60/keymaps/default/config.h index 9af2f45cfb..a044163108 100644 --- a/keyboards/mint60/keymaps/default/config.h +++ b/keyboards/mint60/keymaps/default/config.h @@ -16,8 +16,4 @@ #pragma once -/* Use I2C or Serial, not both */ -// #define USE_SERIAL -// #define USE_I2C - // #define MASTER_RIGHT diff --git a/keyboards/mint60/keymaps/eucalyn/config.h b/keyboards/mint60/keymaps/eucalyn/config.h index 9af2f45cfb..a044163108 100644 --- a/keyboards/mint60/keymaps/eucalyn/config.h +++ b/keyboards/mint60/keymaps/eucalyn/config.h @@ -16,8 +16,4 @@ #pragma once -/* Use I2C or Serial, not both */ -// #define USE_SERIAL -// #define USE_I2C - // #define MASTER_RIGHT diff --git a/keyboards/misterknife/knife66/keymaps/zyber/keymap.c b/keyboards/misterknife/knife66/keymaps/zyber/keymap.c index ae5e4f7455..cec762fb64 100644 --- a/keyboards/misterknife/knife66/keymaps/zyber/keymap.c +++ b/keyboards/misterknife/knife66/keymaps/zyber/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_LALT, KC_LGUI, KC_LGUI, LT(1, KC_SPC), KC_LGUI, KC_LALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), [_FN] = LAYOUT_all( - RESET, 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_DEL, RGB_TOG, + 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_DEL, KC_DEL, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_TRNS, KC_TRNS, KC_INS, RGB_SPI, KC_CAPS, KC_TRNS, KC_TRNS, C(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(KC_UP), RGB_SPD, diff --git a/keyboards/mitosis/keymaps/datagrok/keymap.c b/keyboards/mitosis/keymaps/datagrok/keymap.c index 7c77eb882f..848af3de00 100644 --- a/keyboards/mitosis/keymaps/datagrok/keymap.c +++ b/keyboards/mitosis/keymaps/datagrok/keymap.c @@ -97,7 +97,7 @@ const bool defaultlayers[] = { [_xN] = false, [_xF] = false, }; -const size_t defaultlayers_n = sizeof(defaultlayers) / sizeof(defaultlayers[0]); +const size_t defaultlayers_n = ARRAY_SIZE(defaultlayers); // New keycode KC_LAYO rotates between available default layers (for e.g., // selecting a base layout). Shift+KC_LAYO makes the current one persistent. diff --git a/keyboards/ml/gas75/config.h b/keyboards/ml/gas75/config.h index 82d8c134a0..ee7a07fd20 100644 --- a/keyboards/ml/gas75/config.h +++ b/keyboards/ml/gas75/config.h @@ -43,7 +43,7 @@ #define ENCODERS_PAD_B { F1 } #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 3 + #define RGB_MATRIX_LED_COUNT 3 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/ml/gas75/keymaps/default/keymap.c b/keyboards/ml/gas75/keymaps/default/keymap.c index 65ece63bad..aa72a3c853 100644 --- a/keyboards/ml/gas75/keymaps/default/keymap.c +++ b/keyboards/ml/gas75/keymaps/default/keymap.c @@ -179,7 +179,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(2, 0, 0, 0); HSV hsv = rgb_matrix_config.hsv; @@ -198,4 +198,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(2, 0, 0, 0); } } + return false; } diff --git a/keyboards/ml/gas75/keymaps/via/keymap.c b/keyboards/ml/gas75/keymaps/via/keymap.c index 46408fba68..b609f9d142 100644 --- a/keyboards/ml/gas75/keymaps/via/keymap.c +++ b/keyboards/ml/gas75/keymaps/via/keymap.c @@ -199,7 +199,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { rgb_matrix_set_color(2, 0, 0, 0); HSV hsv = rgb_matrix_config.hsv; @@ -218,4 +218,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(2, 0, 0, 0); } } + return false; } diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c index 175f42b9b9..ca872bbe34 100644 --- a/keyboards/mlego/m48/keymaps/default/keymap.c +++ b/keyboards/mlego/m48/keymaps/default/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c index 34caea2cf4..c6916a7fb6 100644 --- a/keyboards/mlego/m48/keymaps/via/keymap.c +++ b/keyboards/mlego/m48/keymaps/via/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' diff --git a/keyboards/molecule/config.h b/keyboards/molecule/config.h index 8f7396dfc8..d7f218f74f 100755 --- a/keyboards/molecule/config.h +++ b/keyboards/molecule/config.h @@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ // #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 -// #define USE_SERIAL //#define BACKLIGHT_PIN B7 //#define BACKLIGHT_LEVELS 3 diff --git a/keyboards/momoka_ergo/config.h b/keyboards/momoka_ergo/config.h index e480581220..03bd5fdfc0 100644 --- a/keyboards/momoka_ergo/config.h +++ b/keyboards/momoka_ergo/config.h @@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_VAL_STEP 8 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 3 +#define DEBOUNCE 3 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST @@ -107,8 +107,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 +//#define BOOTMAGIC_LITE_COLUMN 0 -#define USE_SERIAL #define SPLIT_USB_DETECT #define EE_HANDS diff --git a/keyboards/momokai/tap_trio/config.h b/keyboards/momokai/tap_trio/config.h index 431a570e15..7fde303ae9 100644 --- a/keyboards/momokai/tap_trio/config.h +++ b/keyboards/momokai/tap_trio/config.h @@ -58,7 +58,7 @@ // #ifdef RGB_DI_PIN -// #define DRIVER_LED_TOTAL 5 +// #define RGB_MATRIX_LED_COUNT 5 // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses // // # define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h index 4117f243ac..cdd5574b23 100644 --- a/keyboards/monstargear/xo87/rgb/config.h +++ b/keyboards/monstargear/xo87/rgb/config.h @@ -27,7 +27,7 @@ #define MATRIX_COL_PINS { C5,C3,C1,E1,D6,D2,B7,B3,F6,F7,F3,A5,A1,E2,C7,A6 } #define DIODE_DIRECTION ROW2COL #define RGB_DI_PIN D7 -#define DRIVER_LED_TOTAL 110 +#define RGB_MATRIX_LED_COUNT 110 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255. diff --git a/keyboards/monstargear/xo87/rgb/rgb.c b/keyboards/monstargear/xo87/rgb/rgb.c index 6c08b66da2..c064953444 100644 --- a/keyboards/monstargear/xo87/rgb/rgb.c +++ b/keyboards/monstargear/xo87/rgb/rgb.c @@ -64,17 +64,11 @@ led_config_t g_led_config = { { 1, 8, 8, 8, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1 } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } led_t host_leds = host_keyboard_led_state(); if (host_leds.scroll_lock) { rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); @@ -91,4 +85,5 @@ void rgb_matrix_indicators_user(void) { } else { rgb_matrix_set_color(94, 0x0, 0x0, 0x0); } + return true; } diff --git a/keyboards/monstargear/xo87/solderable/config.h b/keyboards/monstargear/xo87/solderable/config.h index 8b3af96024..bd8b4923c6 100644 --- a/keyboards/monstargear/xo87/solderable/config.h +++ b/keyboards/monstargear/xo87/solderable/config.h @@ -37,7 +37,7 @@ #define DIODE_DIRECTION ROW2COL #define RGB_DI_PIN D7 -#define DRIVER_LED_TOTAL 21 +#define RGB_MATRIX_LED_COUNT 21 #define DRIVER_COUNT 2 #define RGBLED_NUM 21 #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h index b0ff86ee81..7db3a184fa 100644 --- a/keyboards/moonlander/config.h +++ b/keyboards/moonlander/config.h @@ -75,7 +75,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 36 #define DRIVER_2_LED_TOTAL 36 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #define RGB_MATRIX_CENTER { 125, 26 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/moonlander/keymaps/drashna/rules.mk b/keyboards/moonlander/keymaps/drashna/rules.mk index feb91c774b..927d956e9d 100644 --- a/keyboards/moonlander/keymaps/drashna/rules.mk +++ b/keyboards/moonlander/keymaps/drashna/rules.mk @@ -2,5 +2,5 @@ TAP_DANCE_ENABLE = yes BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite UNICODE_ENABLE = yes UNICODEMAP_ENABLE = no -AUTOCORRECTION_ENABLE = yes +AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes diff --git a/keyboards/moonlander/keymaps/jjerrell/config.h b/keyboards/moonlander/keymaps/jjerrell/config.h index 1fd17fbbe3..aa4bf3885e 100644 --- a/keyboards/moonlander/keymaps/jjerrell/config.h +++ b/keyboards/moonlander/keymaps/jjerrell/config.h @@ -22,6 +22,6 @@ #define ORYX_CONFIGURATOR #undef PRODUCT -#define PRODUCT Moonlander Mark I - Modified by <@jjerrell> +#define PRODUCT "Moonlander Mark I - Modified by <@jjerrell>" #define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c index 927c88925e..0844f16661 100644 --- a/keyboards/moonlander/moonlander.c +++ b/keyboards/moonlander/moonlander.c @@ -174,7 +174,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) { #ifdef RGB_MATRIX_ENABLE // clang-format off -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mss_studio/m63_rgb/config.h b/keyboards/mss_studio/m63_rgb/config.h index a7220ab1c6..792cdcc6b3 100644 --- a/keyboards/mss_studio/m63_rgb/config.h +++ b/keyboards/mss_studio/m63_rgb/config.h @@ -37,7 +37,7 @@ #define FORCE_NKRO #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 75 + #define RGB_MATRIX_LED_COUNT 75 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c index cdff70d69c..7ae43b355d 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/default/keymap.c @@ -168,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -185,4 +185,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(28, 0, 0, 0); } } + return false; } diff --git a/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c index cdff70d69c..7ae43b355d 100644 --- a/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m63_rgb/keymaps/via/keymap.c @@ -168,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -185,4 +185,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(28, 0, 0, 0); } } + return false; } diff --git a/keyboards/mss_studio/m64_rgb/config.h b/keyboards/mss_studio/m64_rgb/config.h index c9a1e3f3db..90b5ae5130 100644 --- a/keyboards/mss_studio/m64_rgb/config.h +++ b/keyboards/mss_studio/m64_rgb/config.h @@ -37,7 +37,7 @@ #define FORCE_NKRO #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 76 + #define RGB_MATRIX_LED_COUNT 76 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c index da5c7c40c3..7e66cc4f32 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/default/keymap.c @@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -181,4 +181,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(28, 0, 0, 0); } } + return false; } diff --git a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c index da5c7c40c3..7e66cc4f32 100644 --- a/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c +++ b/keyboards/mss_studio/m64_rgb/keymaps/via/keymap.c @@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -181,4 +181,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(28, 0, 0, 0); } } + return false; } diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h index 8124a6a4a1..86035dc6a3 100644 --- a/keyboards/mt/mt64rgb/config.h +++ b/keyboards/mt/mt64rgb/config.h @@ -47,7 +47,7 @@ #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/mt/mt64rgb/keymaps/default/keymap.c b/keyboards/mt/mt64rgb/keymaps/default/keymap.c index 84f3b1d35e..7cff3be34c 100644 --- a/keyboards/mt/mt64rgb/keymaps/default/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/default/keymap.c @@ -36,11 +36,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (layer_state_is(1)) { rgb_matrix_set_color(77,0xFF, 0x80, 0x00); } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return false; } diff --git a/keyboards/mt/mt64rgb/keymaps/via/keymap.c b/keyboards/mt/mt64rgb/keymaps/via/keymap.c index 37c3c18259..0fa1c1b85f 100644 --- a/keyboards/mt/mt64rgb/keymaps/via/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/via/keymap.c @@ -45,11 +45,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (layer_state_is(1)) { rgb_matrix_set_color(77,0xFF, 0x80, 0x00); } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } + return false; } diff --git a/keyboards/mt/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c index f0c444e8fa..c87e0d3610 100644 --- a/keyboards/mt/mt64rgb/mt64rgb.c +++ b/keyboards/mt/mt64rgb/mt64rgb.c @@ -16,7 +16,7 @@ #include "mt64rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h index ac510f1967..04c14a27bb 100644 --- a/keyboards/mt/mt84/config.h +++ b/keyboards/mt/mt84/config.h @@ -52,7 +52,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 44 #define DRIVER_2_LED_TOTAL 40 - #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + #define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/mt/mt84/keymaps/default/keymap.c b/keyboards/mt/mt84/keymaps/default/keymap.c index bb7d5b447f..40e1aa0b90 100644 --- a/keyboards/mt/mt84/keymaps/default/keymap.c +++ b/keyboards/mt/mt84/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { led_t led_state = host_keyboard_led_state(); switch (get_highest_layer(layer_state)) { case _FN: @@ -52,4 +52,5 @@ void rgb_matrix_indicators_user(void) { if (led_state.caps_lock) { rgb_matrix_set_color(46, 0xFF, 0xFF, 0xFF); } + return false; } diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c index e15a1ff951..049878419f 100644 --- a/keyboards/mt/mt84/mt84.c +++ b/keyboards/mt/mt84/mt84.c @@ -16,7 +16,7 @@ #include "mt84.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/mwstudio/mw65_rgb/config.h b/keyboards/mwstudio/mw65_rgb/config.h index 2fd67e9e79..1da7c25390 100644 --- a/keyboards/mwstudio/mw65_rgb/config.h +++ b/keyboards/mwstudio/mw65_rgb/config.h @@ -43,7 +43,7 @@ #define RGB_DI_PIN B3 #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 83 + #define RGB_MATRIX_LED_COUNT 83 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h index c8b8015363..7fadbdc39c 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/keymap_stuff.h @@ -75,7 +75,7 @@ enum layer_keycodes { G_PRE, //Gradient presets REF_G, //Toggle between linear and reflected gradient G_FLIP, //Flip the gradient colors - + //Custom led effect keycode RGB_C_E, //Cycle user effect }; @@ -116,7 +116,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { {{205, 250, 255}, {140, 215, 125}, false }, }; - uint8_t gp_length = sizeof(gradient_presets)/sizeof(gradient_presets[0]); + uint8_t gp_length = ARRAY_SIZE(gradient_presets); switch (keycode) { case G1_HUI: @@ -286,7 +286,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { switch (biton32(layer_state)) { case _FN: rgb_matrix_set_color(16, 0, 0, 0); rgb_matrix_set_color(17, 0, 0, 0); rgb_matrix_set_color(18, 0, 0, 0); rgb_matrix_set_color(21, 0, 0, 0); @@ -332,4 +332,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(52, 0, 0, 0); } } + return false; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c index 49e4a242fb..0d7acd7e8b 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/custom_gradient.c @@ -70,5 +70,5 @@ static bool CUSTOM_GRADIENT(effect_params_t* params) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h index 56b204e0a9..986cbfeb9d 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/rainbow_reactive_simple/rainbow_reactive_simple.h @@ -41,5 +41,5 @@ bool effect_rainbow_reactive(effect_params_t* params, rainbow_reactive_f effect_ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c index 041417477b..29c447c61a 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/horrortroll/led/random_breath_rainbow.c @@ -14,7 +14,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -static uint8_t offset[DRIVER_LED_TOTAL]; +static uint8_t offset[RGB_MATRIX_LED_COUNT]; static void doRandom_breath_rainbow(int i, effect_params_t* params) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], params->flags)) return; @@ -41,7 +41,7 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 - doRandom_breath_rainbow(rand() % DRIVER_LED_TOTAL, params); + doRandom_breath_rainbow(rand() % RGB_MATRIX_LED_COUNT, params); return false; } @@ -51,5 +51,5 @@ bool RANDOM_BREATH_RAINBOW(effect_params_t* params) { doRandom_breath_rainbow(i, params); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c index 216ae1e09f..f4625bf7a7 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/thearesia/keymap.c @@ -181,7 +181,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { HSV hsv = rgb_matrix_config.hsv; uint8_t time = scale16by8(g_rgb_timer, qadd8(32, 1)); hsv.h = time; @@ -198,4 +198,5 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(52, 0, 0, 0); } } + return false; } diff --git a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c index ddcd3f6642..4204b7acd8 100644 --- a/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw65_rgb/keymaps/via/keymap.c @@ -104,7 +104,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } #endif -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (user_config.top_rgb_change) { @@ -125,4 +125,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(i, 0, 0, 0); } } + return false; } diff --git a/keyboards/mwstudio/mw75/config.h b/keyboards/mwstudio/mw75/config.h index 2c9e3839b8..b5a8f15804 100644 --- a/keyboards/mwstudio/mw75/config.h +++ b/keyboards/mwstudio/mw75/config.h @@ -40,7 +40,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define DRIVER_LED_TOTAL 97 +#define RGB_MATRIX_LED_COUNT 97 #define RGBLED_NUM 97 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/mwstudio/mw75r2/config.h b/keyboards/mwstudio/mw75r2/config.h index 0886a9effb..1fd6a345d1 100644 --- a/keyboards/mwstudio/mw75r2/config.h +++ b/keyboards/mwstudio/mw75r2/config.h @@ -40,7 +40,7 @@ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS -#define DRIVER_LED_TOTAL 21 +#define RGB_MATRIX_LED_COUNT 21 #define RGBLED_NUM 21 #define ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c index 082aa03876..bdcd738708 100644 --- a/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c +++ b/keyboards/mwstudio/mw75r2/keymaps/via/keymap.c @@ -143,7 +143,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { #endif -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (user_config.top_rgb_change) { @@ -168,4 +168,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(i, 0, 0, 0); } } + return false; } diff --git a/keyboards/mxss/keymaps/default/keymap.c b/keyboards/mxss/keymaps/default/keymap.c index 519547f15a..3b7150f7fa 100644 --- a/keyboards/mxss/keymaps/default/keymap.c +++ b/keyboards/mxss/keymaps/default/keymap.c @@ -27,7 +27,7 @@ hs_set layer_colors[4] = { [2] = {.hue = 36, .sat = 255}, // Color for Layer 2 [3] = {.hue = 185, .sat = 255}, // Color for Layer 3 }; -size_t lc_size = sizeof(layer_colors) / sizeof(uint16_t); +size_t lc_size = ARRAY_SIZE(layer_colors); // Use NEW_SAFE_RANGE to define new custom keycodes in order to not overwrite the ones used for front LED control enum custom_keycodes { diff --git a/keyboards/mxss/mxss_frontled.c b/keyboards/mxss/mxss_frontled.c index 8bb93d5fd8..2ab9a27bea 100644 --- a/keyboards/mxss/mxss_frontled.c +++ b/keyboards/mxss/mxss_frontled.c @@ -36,7 +36,7 @@ __attribute__ ((weak)) hs_set caps_color; __attribute__ ((weak)) -size_t lc_size = sizeof(layer_colors) / sizeof(hs_set); +size_t lc_size = ARRAY_SIZE(layer_colors); void fled_init(void) { // This checks both an EEPROM reset (from bootmagic lite, keycodes) diff --git a/keyboards/mxss/templates/keymap.c b/keyboards/mxss/templates/keymap.c index a18cff77f0..48cab22852 100644 --- a/keyboards/mxss/templates/keymap.c +++ b/keyboards/mxss/templates/keymap.c @@ -27,7 +27,7 @@ hs_set layer_colors[4] = { [2] = {.hue = 36, .sat = 255}, // Color for Layer 2 [3] = {.hue = 185, .sat = 255}, // Color for Layer 3 }; -size_t lc_size = sizeof(layer_colors) / sizeof(uint16_t); +size_t lc_size = ARRAY_SIZE(layer_colors); // Use NEW_SAFE_RANGE to define new custom keycodes in order to not overwrite the ones used for front LED control enum custom_keycodes { diff --git a/keyboards/nack/config.h b/keyboards/nack/config.h index 798d4ee12d..d5e2d8a58e 100644 --- a/keyboards/nack/config.h +++ b/keyboards/nack/config.h @@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_SPI_MOSI_PAL_MODE 5 #define RGB_DI_PIN B5 #define RGBLED_NUM 52 - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // Max brightness of LEDs #define RGB_MATRIX_STARTUP_VAL 64 #define RGB_MATRIX_HUE_STEP 10 diff --git a/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h b/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h index 04af418d8f..da8287df64 100644 --- a/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h +++ b/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h @@ -18,37 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xBEEF -#define PRODUCT_ID 0xFED0 -#define DEVICE_VER 0x0001 -#define MANUFACTURER NaCly -#define PRODUCT Splitreus62 - -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 - -// wiring of each half -#define MATRIX_ROW_PINS { D3, D2, D1, D4, C6, D7 } -#define MATRIX_COL_PINS { E6, B4, B5, B6, B2, B3 } - -#define DIODE_DIRECTION ROW2COL - -#define SPLIT_HAND_PIN F4 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* serial.c configuration for split keyboard */ -#define SOFT_SERIAL_PIN D0 - -/* 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 AUTO_SHIFT_TIMEOUT 100 #define NO_AUTO_SHIFT_SPECIAL #define NO_AUTO_SHIFT_NUMERIC diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c index 6b3be48044..89c5e84efd 100644 --- a/keyboards/neson_design/700e/700e.c +++ b/keyboards/neson_design/700e/700e.c @@ -111,7 +111,7 @@ static void self_testing(void) } if (rgb_state.index >= ST_LEFT_END) { - for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) { + for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { IS31FL3731_set_color(i, led.r, led.g, led.b); } if (rgb_state.index == ST_LEFT_END) { @@ -173,13 +173,13 @@ static void self_testing(void) } break; case ST_STAGE_3: - if (rgb_state.index != DRIVER_LED_TOTAL/2) { + if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { IS31FL3731_set_color_all(0, 0, 0); } // light left and right - if (rgb_state.index == DRIVER_LED_TOTAL/2) { + if (rgb_state.index == RGB_MATRIX_LED_COUNT/2) { if (rgb_state.duration) { rgb_state.duration--; } else { @@ -207,7 +207,7 @@ static void self_testing(void) update_ticks(); } -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -299,7 +299,7 @@ void matrix_init_kb(void) #ifdef DRIVER_ADDR_2 IS31FL3731_init(DRIVER_ADDR_2); #endif - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { IS31FL3731_set_led_control_register(index, true, true, true); } IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); @@ -353,16 +353,16 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { if (rgb_state.state != NORMAL) return; - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); } LED_TYPE leds[4]; for (int i = 0; i < 4; i++) { - leds[i].r = start_led[DRIVER_LED_TOTAL+i].g; - leds[i].g = start_led[DRIVER_LED_TOTAL+i].r; - leds[i].b = start_led[DRIVER_LED_TOTAL+i].b; + leds[i].r = start_led[RGB_MATRIX_LED_COUNT+i].g; + leds[i].g = start_led[RGB_MATRIX_LED_COUNT+i].r; + leds[i].b = start_led[RGB_MATRIX_LED_COUNT+i].b; } - //ws2812_setleds(start_led+DRIVER_LED_TOTAL, 4); + //ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 4); ws2812_setleds(leds, 4); } diff --git a/keyboards/neson_design/700e/config.h b/keyboards/neson_design/700e/config.h index c084a64310..54863ce815 100644 --- a/keyboards/neson_design/700e/config.h +++ b/keyboards/neson_design/700e/config.h @@ -47,7 +47,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) #define LED_CAPS_LOCK_PIN F5 diff --git a/keyboards/neson_design/n6/config.h b/keyboards/neson_design/n6/config.h index 7d27825eaf..e06f9c8086 100644 --- a/keyboards/neson_design/n6/config.h +++ b/keyboards/neson_design/n6/config.h @@ -47,7 +47,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_ADDR_2 0b1110111 #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) #define LED_CAPS_LOCK_PIN F5 diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c index 4d5927cae1..a606e93c8f 100644 --- a/keyboards/neson_design/n6/n6.c +++ b/keyboards/neson_design/n6/n6.c @@ -115,7 +115,7 @@ static void self_testing(void) } if (rgb_state.index >= ST_LEFT_END) { - for (int i = rgb_state.index - 1; i < DRIVER_LED_TOTAL - rgb_state.index + 1; i++) { + for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { IS31FL3731_set_color(i, led.r, led.g, led.b); } if (rgb_state.index == ST_LEFT_END) { @@ -177,13 +177,13 @@ static void self_testing(void) } break; case ST_STAGE_3: - if (rgb_state.index != DRIVER_LED_TOTAL/2) { + if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { IS31FL3731_set_color_all(0, 0, 0); } // light left and right - if (rgb_state.index == DRIVER_LED_TOTAL/2) { + if (rgb_state.index == RGB_MATRIX_LED_COUNT/2) { if (rgb_state.duration) { rgb_state.duration--; } else { @@ -211,7 +211,7 @@ static void self_testing(void) update_ticks(); } -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -303,7 +303,7 @@ void matrix_init_kb(void) #ifdef DRIVER_ADDR_2 IS31FL3731_init(DRIVER_ADDR_2); #endif - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { IS31FL3731_set_led_control_register(index, true, true, true); } IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); @@ -355,10 +355,10 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { if (rgb_state.state != NORMAL) return; - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); } - ws2812_setleds(start_led+DRIVER_LED_TOTAL, 1); + ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 1); } bool led_update_kb(led_t led_state) diff --git a/keyboards/novelkeys/nk20/config.h b/keyboards/novelkeys/nk20/config.h index 7b56d50c6f..f5a75dd14f 100644 --- a/keyboards/novelkeys/nk20/config.h +++ b/keyboards/novelkeys/nk20/config.h @@ -75,7 +75,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_DMA_CHANNEL 3 #define RGBLED_NUM 20 -#define DRIVER_LED_TOTAL 20 +#define RGB_MATRIX_LED_COUNT 20 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 210 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/novelkeys/nk65/config.h b/keyboards/novelkeys/nk65/config.h index df64bbe83e..9640704b48 100755 --- a/keyboards/novelkeys/nk65/config.h +++ b/keyboards/novelkeys/nk65/config.h @@ -112,7 +112,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 128 +#define RGB_MATRIX_LED_COUNT 128 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/novelkeys/nk65b/config.h b/keyboards/novelkeys/nk65b/config.h index 45603267a1..0976b42543 100755 --- a/keyboards/novelkeys/nk65b/config.h +++ b/keyboards/novelkeys/nk65b/config.h @@ -79,7 +79,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_DMA_CHANNEL 3 #define RGBLED_NUM 68 -#define DRIVER_LED_TOTAL 68 +#define RGB_MATRIX_LED_COUNT 68 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/novelkeys/nk87/config.h b/keyboards/novelkeys/nk87/config.h index e5b955c3f8..0320f35d84 100755 --- a/keyboards/novelkeys/nk87/config.h +++ b/keyboards/novelkeys/nk87/config.h @@ -112,7 +112,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 128 +#define RGB_MATRIX_LED_COUNT 128 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/novelkeys/nk87b/config.h b/keyboards/novelkeys/nk87b/config.h index 32bbb5e69e..7830b398b1 100644 --- a/keyboards/novelkeys/nk87b/config.h +++ b/keyboards/novelkeys/nk87b/config.h @@ -79,7 +79,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define WS2812_DMA_CHANNEL 3 #define RGBLED_NUM 87 -#define DRIVER_LED_TOTAL 87 +#define RGB_MATRIX_LED_COUNT 87 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 114 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/obosob/steal_this_keyboard/config.h b/keyboards/obosob/steal_this_keyboard/config.h index acb0d64b79..7060e2ae6a 100644 --- a/keyboards/obosob/steal_this_keyboard/config.h +++ b/keyboards/obosob/steal_this_keyboard/config.h @@ -51,8 +51,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* Serial settings */ -#define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/omkbd/ergodash/mini/keymaps/default/config.h b/keyboards/omkbd/ergodash/mini/keymaps/default/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/mini/keymaps/default/config.h +++ b/keyboards/omkbd/ergodash/mini/keymaps/default/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h +++ b/keyboards/omkbd/ergodash/mini/keymaps/toyoshimahidenori/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h +++ b/keyboards/omkbd/ergodash/mini/keymaps/yoshimaru46/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h index a8ad1e4fe7..cb50d1a34b 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/333fred/config.h @@ -22,7 +22,6 @@ #pragma once -#define USE_SERIAL #define MASTER_LEFT #undef TAPPING_TERM diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/default/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/greenshadowmaker/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/m47ch4n/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h index b5c45669d4..9f734138b4 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/nopunin10did/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT @@ -33,4 +27,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define EE_HANDS #undef TAPPING_TERM -#define TAPPING_TERM 300
\ No newline at end of file +#define TAPPING_TERM 300 diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h index 4dcefdbcc6..2493fe09e2 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/shadowprogr/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT @@ -33,4 +27,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define EE_HANDS #define LEADER_PER_KEY_TIMING -#define LEADER_TIMEOUT 250
\ No newline at end of file +#define LEADER_TIMEOUT 250 diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h index df04873a97..a597d848e2 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/tw1t611/config.h @@ -20,12 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h index 1005c48046..09bc62a14f 100644 --- a/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h +++ b/keyboards/omkbd/ergodash/rev1/keymaps/yet-another-developer/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/keyboards/omkbd/runner3680/5x6_5x8/config.h b/keyboards/omkbd/runner3680/5x6_5x8/config.h index 6348f10eb1..29c4c32015 100644 --- a/keyboards/omkbd/runner3680/5x6_5x8/config.h +++ b/keyboards/omkbd/runner3680/5x6_5x8/config.h @@ -61,7 +61,7 @@ #define RGBLIGHT_LIMIT_VAL 100 #endif #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL 70 +#define RGB_MATRIX_LED_COUNT 70 #define RGB_MATRIX_SPLIT { 30, 40 } // Number of LEDs #endif diff --git a/keyboards/opendeck/32/rev1/config.h b/keyboards/opendeck/32/rev1/config.h index 6a87ad86b4..87b153c736 100644 --- a/keyboards/opendeck/32/rev1/config.h +++ b/keyboards/opendeck/32/rev1/config.h @@ -29,7 +29,7 @@ // RGB matrix #define DRIVER_ADDR_1 0b1110100 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL (4 * 8 * 3) +#define RGB_MATRIX_LED_COUNT (4 * 8 * 3) #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_SPIRAL #define RGB_MATRIX_DISABLE_KEYCODES diff --git a/keyboards/opendeck/32/rev1/rev1.c b/keyboards/opendeck/32/rev1/rev1.c index 332dc3cc40..34862873d0 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -87,16 +87,6 @@ led_config_t g_led_config = { // clang-format on -// Set custom key colors here, in order to change the RGB effect, either reserve some keys -// in the keymap to adjust the pattern (see QMK docs, incompatible with wrapper keys) or -// change the default pattern in config.h. -/* -void rgb_matrix_indicators_kb(void) { - //rgb_matrix_set_color(0, 255, 255, 255); - //rgb_matrix_set_color_all(0x86,0xff,0xff); -} -*/ - void keyboard_pre_init_kb(void) { // Light power LED setPinOutput(POWER_LED_PIN); diff --git a/keyboards/orthodox/keymaps/default/config.h b/keyboards/orthodox/keymaps/default/config.h index ce4538b08a..3ba91a8fb2 100644 --- a/keyboards/orthodox/keymaps/default/config.h +++ b/keyboards/orthodox/keymaps/default/config.h @@ -21,11 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h index e3a89bce6a..f82d427c05 100644 --- a/keyboards/orthodox/keymaps/drashna/config.h +++ b/keyboards/orthodox/keymaps/drashna/config.h @@ -21,9 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ @@ -58,9 +55,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #undef PRODUCT #ifdef KEYBOARD_orthodox_rev1 -# define PRODUCT Drashna Hacked Orthodox Rev .1 +# define PRODUCT "Drashna Hacked Orthodox Rev .1" #elif KEYBOARD_orthodox_rev3 -# define PRODUCT Drashna Hacked Orthodox Rev .3 +# define PRODUCT "Drashna Hacked Orthodox Rev .3" #endif #define QMK_ESC_OUTPUT D7 // usually COL diff --git a/keyboards/orthodox/keymaps/oscillope/config.h b/keyboards/orthodox/keymaps/oscillope/config.h index 3b1fd50007..363a637790 100644 --- a/keyboards/orthodox/keymaps/oscillope/config.h +++ b/keyboards/orthodox/keymaps/oscillope/config.h @@ -24,9 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/orthodox/keymaps/pdl/config.h b/keyboards/orthodox/keymaps/pdl/config.h index 5fd46b41c6..ad9b6207b3 100644 --- a/keyboards/orthodox/keymaps/pdl/config.h +++ b/keyboards/orthodox/keymaps/pdl/config.h @@ -22,12 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/orthodox/keymaps/rfvizarra/config.h b/keyboards/orthodox/keymaps/rfvizarra/config.h index 7ac207f0d3..fbe7ceb629 100644 --- a/keyboards/orthodox/keymaps/rfvizarra/config.h +++ b/keyboards/orthodox/keymaps/rfvizarra/config.h @@ -31,9 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. } #endif -/* Use I2C or Serial, not both */ - -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/orthodox/keymaps/shaymdev/config.h b/keyboards/orthodox/keymaps/shaymdev/config.h index 749302284a..39f7c8accd 100644 --- a/keyboards/orthodox/keymaps/shaymdev/config.h +++ b/keyboards/orthodox/keymaps/shaymdev/config.h @@ -21,10 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - #define EE_HANDS #undef RGBLED_NUM diff --git a/keyboards/orthodox/keymaps/xyverz/config.h b/keyboards/orthodox/keymaps/xyverz/config.h index a44d2b5aed..d8e91fa6d8 100644 --- a/keyboards/orthodox/keymaps/xyverz/config.h +++ b/keyboards/orthodox/keymaps/xyverz/config.h @@ -21,13 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define _MASTER_RIGHT -// #define EE_HANDS
\ No newline at end of file +// #define EE_HANDS diff --git a/keyboards/owlab/voice65/hotswap/config.h b/keyboards/owlab/voice65/hotswap/config.h index 507b1f75e2..a20294ce32 100644 --- a/keyboards/owlab/voice65/hotswap/config.h +++ b/keyboards/owlab/voice65/hotswap/config.h @@ -62,7 +62,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # define USE_I2CV2 # define RGB_MATRIX_DISABLE_KEYCODES -# 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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -71,7 +70,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGB_MATRIX_STARTUP_VAL 128 # define DRIVER_ADDR_1 0b0110000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 67 +# define RGB_MATRIX_LED_COUNT 67 // 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/owlab/voice65/hotswap/hotswap.c b/keyboards/owlab/voice65/hotswap/hotswap.c index ca5ce7bb8b..57a216f30a 100644 --- a/keyboards/owlab/voice65/hotswap/hotswap.c +++ b/keyboards/owlab/voice65/hotswap/hotswap.c @@ -17,7 +17,7 @@ #include "hotswap.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_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 */ @@ -111,15 +111,16 @@ led_config_t g_led_config = { { #endif -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(31, 255, 255, 255); } else { rgb_matrix_set_color(31, 0, 0, 0); } + return true; } enum encoder_modes{ @@ -131,15 +132,15 @@ enum encoder_modes{ keyboard_config_t keyboard_config; rgblight_config_t rgblight_config; -uint8_t pre_hue, pre_sat, pre_val; -uint8_t previous_rgb_mode = 0; +uint8_t pre_hue, pre_sat, pre_val; +uint8_t previous_rgb_mode = 0; uint8_t dir_hue, dir_sat; -bool encoder_in = false; -uint32_t encoder_timer; +bool encoder_in = false; +uint32_t encoder_timer; -bool encoder_ani_start= false; -uint32_t encoder_ani_timer = 0; +bool encoder_ani_start= false; +uint32_t encoder_ani_timer = 0; bool encoder_direction_start = false; uint32_t encoder_direction_timer = 0; @@ -179,7 +180,7 @@ void switch_encoder_mode(uint8_t mode){ dir_sat = 255; break; } - rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); + rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); } @@ -190,7 +191,7 @@ void init_encoder_mode(uint8_t mode){ pre_val = rgblight_get_val(); encoder_in = true; - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); switch_encoder_mode(mode); } @@ -218,21 +219,21 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case RGB_VAI: case RGB_VAD: - if(encoder_in){ + if(encoder_in){ return false; - } + } break; case KC_F13: - rgb_matrix_toggle(); + rgb_matrix_toggle(); break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: @@ -261,7 +262,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F22: //change encoder mode upward if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ + if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ keyboard_config.encoder_mode_index++; } else{ @@ -277,7 +278,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } else{ keyboard_config.encoder_mode_index = ENCODER_MODE_THREE; - } + } set_encoder_mode(keyboard_config.encoder_mode_index); } return false; @@ -294,7 +295,7 @@ void matrix_scan_kb(void) { if(encoder_in){ if(timer_elapsed32(encoder_timer) > 5000){ rgblight_mode(previous_rgb_mode); - rgblight_sethsv(pre_hue, pre_sat, pre_val); + rgblight_sethsv(pre_hue, pre_sat, pre_val); encoder_in = false; } } @@ -309,7 +310,7 @@ void matrix_scan_kb(void) { if(encoder_direction_start){ if(timer_elapsed32(encoder_direction_timer) > (VOLUME_ANIMATION_TIMER+1500)){ rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); + rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); encoder_direction_start = false; } } @@ -319,19 +320,19 @@ void matrix_scan_kb(void) { void set_volume_animation(bool increase){ if(!encoder_ani_start){ - rgblight_snake_restart(dir_hue, dir_sat, pre_val); + rgblight_snake_restart(dir_hue, dir_sat, pre_val); } if(increase){ - rgblight_mode_noeeprom(17); - } else { + rgblight_mode_noeeprom(17); + } else { rgblight_mode_noeeprom(18); } encoder_ani_timer = timer_read32(); encoder_direction_timer = encoder_ani_timer; encoder_ani_start = true; - encoder_direction_start = true; + encoder_direction_start = true; } @@ -348,15 +349,15 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch(encoder_cw_keycode) { case KC_F13: - rgb_matrix_toggle(); + rgb_matrix_toggle(); break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: @@ -387,7 +388,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { case KC_VOLD: tap_code(encoder_cw_keycode); break; - + default: tap_code(encoder_cw_keycode); break; @@ -401,11 +402,11 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: diff --git a/keyboards/owlab/voice65/soldered/config.h b/keyboards/owlab/voice65/soldered/config.h index 74ab2db520..a4d828e889 100644 --- a/keyboards/owlab/voice65/soldered/config.h +++ b/keyboards/owlab/voice65/soldered/config.h @@ -61,7 +61,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE # define USE_I2CV2 # define RGB_MATRIX_DISABLE_KEYCODES -# 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_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 @@ -70,7 +69,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGB_MATRIX_STARTUP_VAL 128 # define DRIVER_ADDR_1 0b0110000 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 71 +# define RGB_MATRIX_LED_COUNT 71 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/owlab/voice65/soldered/soldered.c b/keyboards/owlab/voice65/soldered/soldered.c index bbd2daf293..cfdaaad4ae 100644 --- a/keyboards/owlab/voice65/soldered/soldered.c +++ b/keyboards/owlab/voice65/soldered/soldered.c @@ -17,7 +17,7 @@ #include "soldered.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_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 */ @@ -115,15 +115,16 @@ led_config_t g_led_config = { { #endif -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(31, 255, 255, 255); } else { rgb_matrix_set_color(31, 0, 0, 0); } + return true; } enum encoder_modes{ @@ -135,15 +136,15 @@ enum encoder_modes{ keyboard_config_t keyboard_config; rgblight_config_t rgblight_config; -uint8_t pre_hue, pre_sat, pre_val; -uint8_t previous_rgb_mode = 0; +uint8_t pre_hue, pre_sat, pre_val; +uint8_t previous_rgb_mode = 0; uint8_t dir_hue, dir_sat; -bool encoder_in = false; -uint32_t encoder_timer; +bool encoder_in = false; +uint32_t encoder_timer; -bool encoder_ani_start= false; -uint32_t encoder_ani_timer = 0; +bool encoder_ani_start= false; +uint32_t encoder_ani_timer = 0; bool encoder_direction_start = false; uint32_t encoder_direction_timer = 0; @@ -183,7 +184,7 @@ void switch_encoder_mode(uint8_t mode){ dir_sat = 255; break; } - rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); + rgblight_sethsv_noeeprom(dir_hue,dir_sat,pre_val); } @@ -194,7 +195,7 @@ void init_encoder_mode(uint8_t mode){ pre_val = rgblight_get_val(); encoder_in = true; - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); switch_encoder_mode(mode); } @@ -222,21 +223,21 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case RGB_VAI: case RGB_VAD: - if(encoder_in){ + if(encoder_in){ return false; - } + } break; case KC_F13: - rgb_matrix_toggle(); + rgb_matrix_toggle(); break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: @@ -265,7 +266,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F22: //change encoder mode upward if(!encoder_direction_start){ - if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ + if(keyboard_config.encoder_mode_index < ENCODER_MODE_THREE){ keyboard_config.encoder_mode_index++; } else{ @@ -282,7 +283,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } else{ keyboard_config.encoder_mode_index = ENCODER_MODE_THREE; - } + } set_encoder_mode(keyboard_config.encoder_mode_index); } return false; @@ -299,7 +300,7 @@ void matrix_scan_kb(void) { if(encoder_in){ if(timer_elapsed32(encoder_timer) > 5000){ rgblight_mode(previous_rgb_mode); - rgblight_sethsv(pre_hue, pre_sat, pre_val); + rgblight_sethsv(pre_hue, pre_sat, pre_val); encoder_in = false; } } @@ -314,7 +315,7 @@ void matrix_scan_kb(void) { if(encoder_direction_start){ if(timer_elapsed32(encoder_direction_timer) > (VOLUME_ANIMATION_TIMER+1500)){ rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); + rgblight_sethsv_noeeprom(dir_hue, dir_sat, pre_val); encoder_direction_start = false; } } @@ -324,19 +325,19 @@ void matrix_scan_kb(void) { void set_volume_animation(bool increase){ if(!encoder_ani_start){ - rgblight_snake_restart(dir_hue, dir_sat, pre_val); + rgblight_snake_restart(dir_hue, dir_sat, pre_val); } if(increase){ - rgblight_mode_noeeprom(17); - } else { + rgblight_mode_noeeprom(17); + } else { rgblight_mode_noeeprom(18); } encoder_ani_timer = timer_read32(); encoder_direction_timer = encoder_ani_timer; encoder_ani_start = true; - encoder_direction_start = true; + encoder_direction_start = true; } @@ -353,15 +354,15 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { switch(encoder_cw_keycode) { case KC_F13: - rgb_matrix_toggle(); + rgb_matrix_toggle(); break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: @@ -392,7 +393,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { case KC_VOLD: tap_code(encoder_cw_keycode); break; - + default: tap_code(encoder_cw_keycode); break; @@ -406,11 +407,11 @@ bool encoder_update_kb(uint8_t index, bool clockwise) { break; case KC_F14: - rgb_matrix_step(); + rgb_matrix_step(); break; - case KC_F15: - rgb_matrix_step_reverse(); + case KC_F15: + rgb_matrix_step_reverse(); break; case KC_F16: diff --git a/keyboards/paprikman/albacore/config.h b/keyboards/paprikman/albacore/config.h index 862f82ea54..e996752af1 100644 --- a/keyboards/paprikman/albacore/config.h +++ b/keyboards/paprikman/albacore/config.h @@ -42,8 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_DI_PIN B3 #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 8 - #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects + #define RGB_MATRIX_LED_COUNT 8 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h index 1f05360aae..aec0cdfe5e 100644 --- a/keyboards/percent/canoe_gen2/config.h +++ b/keyboards/percent/canoe_gen2/config.h @@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Backlight configuration */ #define RGB_DI_PIN B7 -#define DRIVER_LED_TOTAL 77 +#define RGB_MATRIX_LED_COUNT 77 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h index 9b942b20d3..06c3256501 100644 --- a/keyboards/phase_studio/titan65/hotswap/config.h +++ b/keyboards/phase_studio/titan65/hotswap/config.h @@ -38,7 +38,7 @@ #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN E6 -#define DRIVER_LED_TOTAL 67 +#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_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/pico/config.h b/keyboards/pico/config.h index 36c8f68b90..e18d46f583 100644 --- a/keyboards/pico/config.h +++ b/keyboards/pico/config.h @@ -18,8 +18,6 @@ #include "config_common.h" -#define USE_SERIAL - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h index bc0bb1c4b8..7c9970c5a9 100644 --- a/keyboards/pierce/keymaps/durken1/config.h +++ b/keyboards/pierce/keymaps/durken1/config.h @@ -31,7 +31,7 @@ #define COMBO_COUNT 3 #define COMBO_TERM 35 -#ifdef PS2_USE_USART +#ifdef PS2_DRIVER_USART #define PS2_CLOCK_PIN D5 #define PS2_DATA_PIN D2 diff --git a/keyboards/pierce/post_rules.mk b/keyboards/pierce/post_rules.mk index e0360a3391..9cc6739d78 100644 --- a/keyboards/pierce/post_rules.mk +++ b/keyboards/pierce/post_rules.mk @@ -1,6 +1,7 @@ ifeq ($(strip $(TRACKPOINT)), yes) PS2_MOUSE_ENABLE = yes - PS2_USE_USART = yes + PS2_ENABLE = yes + PS2_DRIVER = usart OPT_DEFS += -DUSART endif diff --git a/keyboards/pinky/3/keymaps/default/config.h b/keyboards/pinky/3/keymaps/default/config.h index db79776729..63e8168b47 100644 --- a/keyboards/pinky/3/keymaps/default/config.h +++ b/keyboards/pinky/3/keymaps/default/config.h @@ -24,8 +24,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 #define RETRO_TAPPPING diff --git a/keyboards/pinky/3/keymaps/ninjonas/config.h b/keyboards/pinky/3/keymaps/ninjonas/config.h index 585bd8cb5d..63e8168b47 100644 --- a/keyboards/pinky/3/keymaps/ninjonas/config.h +++ b/keyboards/pinky/3/keymaps/ninjonas/config.h @@ -24,8 +24,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 -#define RETRO_TAPPPING
\ No newline at end of file +#define RETRO_TAPPPING diff --git a/keyboards/pinky/3/keymaps/via/config.h b/keyboards/pinky/3/keymaps/via/config.h index db79776729..63e8168b47 100644 --- a/keyboards/pinky/3/keymaps/via/config.h +++ b/keyboards/pinky/3/keymaps/via/config.h @@ -24,8 +24,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 #define RETRO_TAPPPING diff --git a/keyboards/pinky/4/keymaps/default/config.h b/keyboards/pinky/4/keymaps/default/config.h index db79776729..63e8168b47 100644 --- a/keyboards/pinky/4/keymaps/default/config.h +++ b/keyboards/pinky/4/keymaps/default/config.h @@ -24,8 +24,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 #define RETRO_TAPPPING diff --git a/keyboards/pinky/4/keymaps/via/config.h b/keyboards/pinky/4/keymaps/via/config.h index db79776729..63e8168b47 100644 --- a/keyboards/pinky/4/keymaps/via/config.h +++ b/keyboards/pinky/4/keymaps/via/config.h @@ -24,8 +24,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 200 #define RETRO_TAPPPING diff --git a/keyboards/pisces/config.h b/keyboards/pisces/config.h index 42db825e3e..8690a4e5f1 100644 --- a/keyboards/pisces/config.h +++ b/keyboards/pisces/config.h @@ -18,8 +18,6 @@ #include "config_common.h" -#define USE_SERIAL - /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h index c9ed9e59ba..1840e087cf 100644 --- a/keyboards/planck/ez/config.h +++ b/keyboards/planck/ez/config.h @@ -109,7 +109,7 @@ #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 47 +#define RGB_MATRIX_LED_COUNT 47 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c index 25dfe9adfb..77ae20ba5a 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 is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/planck/keymaps/abhixec/keymap.c b/keyboards/planck/keymaps/abhixec/keymap.c index e95aa344d6..ae310120a2 100644 --- a/keyboards/planck/keymaps/abhixec/keymap.c +++ b/keyboards/planck/keymaps/abhixec/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk| | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/abishalom/keymap.c b/keyboards/planck/keymaps/abishalom/keymap.c index 91dadb2c3a..5844922775 100644 --- a/keyboards/planck/keymaps/abishalom/keymap.c +++ b/keyboards/planck/keymaps/abishalom/keymap.c @@ -138,7 +138,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty| | |Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/buhearns/config.h b/keyboards/planck/keymaps/buhearns/config.h index b8f3c18430..142fa1df21 100644 --- a/keyboards/planck/keymaps/buhearns/config.h +++ b/keyboards/planck/keymaps/buhearns/config.h @@ -2,7 +2,7 @@ #ifdef AUDIO_ENABLE #define STARTUP_SONG SONG(MARIO_MUSHROOM) - #define UNICODE_SONG_OSX SONG(COIN_SOUND) + #define UNICODE_SONG_MAC SONG(COIN_SOUND) #define UNICODE_SONG_LNX SONG(UNICODE_LINUX) #define UNICODE_SONG_WIN SONG(UNICODE_WINDOWS) #define UNICODE_SONG_WINC SONG(UNICODE_WINDOWS) diff --git a/keyboards/planck/keymaps/charlesrocket/keymap.c b/keyboards/planck/keymaps/charlesrocket/keymap.c index f6229d2d69..9c37567926 100644 --- a/keyboards/planck/keymaps/charlesrocket/keymap.c +++ b/keyboards/planck/keymaps/charlesrocket/keymap.c @@ -71,7 +71,7 @@ void keyboard_post_init_user(void) { rgb_matrix_enable(); } -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [0] = { {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255}, {0,255,255} }, [1] = { {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255}, {193,255,255} }, @@ -83,7 +83,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { }; void set_layer_color(int layer) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -99,7 +99,7 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (g_suspend_state || keyboard_config.disable_layer_led) { return; } switch (get_highest_layer(layer_state)) { case 0: @@ -119,6 +119,7 @@ void rgb_matrix_indicators_user(void) { rgb_matrix_set_color_all(0, 0, 0); break; } + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/planck/keymaps/corvec/keymap.c b/keyboards/planck/keymaps/corvec/keymap.c index fc9f2e4985..c3029adc7b 100644 --- a/keyboards/planck/keymaps/corvec/keymap.c +++ b/keyboards/planck/keymaps/corvec/keymap.c @@ -126,7 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk| |AS On | AS + | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf|AS Rep|AS Off| AS - | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | |AS Rep|AS Off| AS - | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | Reset| * `-----------------------------------------------------------------------------------' @@ -135,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( COLEMAK, _______, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, QWERTY , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, _______, KC_ASON, KC_ASUP, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,KC_ASRP, KC_ASOFF,KC_ASDN, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, KC_ASRP, KC_ASOFF,KC_ASDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) diff --git a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c index c34130f36f..31a273be51 100644 --- a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c +++ b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c @@ -158,16 +158,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index 8041e0bada..63817e3d48 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' diff --git a/keyboards/planck/keymaps/dodger/keymap.c b/keyboards/planck/keymaps/dodger/keymap.c index 2a7486f2de..a0fede5fa0 100644 --- a/keyboards/planck/keymaps/dodger/keymap.c +++ b/keyboards/planck/keymaps/dodger/keymap.c @@ -118,8 +118,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_planck_grid( EEP_RST, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______, + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), @@ -235,4 +235,4 @@ void matrix_init_user(void) { void keyboard_post_init_user(void) { rgblight_sethsv_noeeprom(0, 0, 0); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); -}
\ No newline at end of file +} diff --git a/keyboards/planck/keymaps/dudeofawesome/keymap.c b/keyboards/planck/keymaps/dudeofawesome/keymap.c index ad515032b6..951cb45692 100644 --- a/keyboards/planck/keymaps/dudeofawesome/keymap.c +++ b/keyboards/planck/keymaps/dudeofawesome/keymap.c @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/dvz/keymap.c b/keyboards/planck/keymaps/dvz/keymap.c index 1d5ea41c74..bedfd0e446 100644 --- a/keyboards/planck/keymaps/dvz/keymap.c +++ b/keyboards/planck/keymaps/dvz/keymap.c @@ -141,16 +141,16 @@ LSFT_T(KC_TAB),DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, * |------+------+------+------+------+------+------+------+------+------+------+------| * |PowOff| |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - KC_POWER,_______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + KC_POWER,_______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/emiller/keymap.c b/keyboards/planck/keymaps/emiller/keymap.c index cab0193ceb..e1c065d76c 100644 --- a/keyboards/planck/keymaps/emiller/keymap.c +++ b/keyboards/planck/keymaps/emiller/keymap.c @@ -166,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/eshesh2/keymap.c b/keyboards/planck/keymaps/eshesh2/keymap.c index 672d28ea3c..1e958ca4e7 100644 --- a/keyboards/planck/keymaps/eshesh2/keymap.c +++ b/keyboards/planck/keymaps/eshesh2/keymap.c @@ -117,16 +117,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty| | |Numpad| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, NUMPAD, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, XXXXXXX, XXXXXXX, NUMPAD, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/eshesh2/readme.md b/keyboards/planck/keymaps/eshesh2/readme.md index 73510c2028..f5ee73f1e6 100644 --- a/keyboards/planck/keymaps/eshesh2/readme.md +++ b/keyboards/planck/keymaps/eshesh2/readme.md @@ -58,7 +58,7 @@ eshesh2's Planck layout with a rotary encoder on the top left of the Planck. It |------+------+------+------+------+------+------+------+------+------+------+------| | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty| | |Numpad| | |------+------+------+------+------+------+------+------+------+------+------+------| - | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' diff --git a/keyboards/planck/keymaps/fabian/keymap.c b/keyboards/planck/keymaps/fabian/keymap.c index 54d17cd51e..2244703410 100644 --- a/keyboards/planck/keymaps/fabian/keymap.c +++ b/keyboards/planck/keymaps/fabian/keymap.c @@ -172,10 +172,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/foreveranapple/keymap.c b/keyboards/planck/keymaps/foreveranapple/keymap.c index ade51d5a3c..1b8ad9e3ea 100644 --- a/keyboards/planck/keymaps/foreveranapple/keymap.c +++ b/keyboards/planck/keymaps/foreveranapple/keymap.c @@ -197,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|NixQty| OSX |Plover|Colemk| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -205,7 +205,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, NIXQWERTY, OSX, PLOVER, COLEMAK, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, DVORAK, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, DVORAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/fsck/keymap.c b/keyboards/planck/keymaps/fsck/keymap.c index f1043d53d2..1aee2b7daa 100644 --- a/keyboards/planck/keymaps/fsck/keymap.c +++ b/keyboards/planck/keymaps/fsck/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/grahampheath/keymap.c b/keyboards/planck/keymaps/grahampheath/keymap.c index cfb15ab9a5..d4c7c76deb 100644 --- a/keyboards/planck/keymaps/grahampheath/keymap.c +++ b/keyboards/planck/keymaps/grahampheath/keymap.c @@ -213,7 +213,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/gunp/keymap.c b/keyboards/planck/keymaps/gunp/keymap.c index 3e5abb947f..d469dbeccd 100644 --- a/keyboards/planck/keymaps/gunp/keymap.c +++ b/keyboards/planck/keymaps/gunp/keymap.c @@ -275,10 +275,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE - void rgb_matrix_indicators_kb(void) { + bool rgb_matrix_indicators_user(void) { // `42` is the index of the middle light at the bottom row (in planck light) // it is disabled because it does not have a cover, hence irritates my eyes rgb_matrix_set_color(42, 0, 0, 0); + return false; } #endif diff --git a/keyboards/planck/keymaps/handwired_binaryplease/config.h b/keyboards/planck/keymaps/handwired_binaryplease/config.h index abf9f5771f..065bc2d688 100644 --- a/keyboards/planck/keymaps/handwired_binaryplease/config.h +++ b/keyboards/planck/keymaps/handwired_binaryplease/config.h @@ -1,9 +1,9 @@ #pragma once #undef MANUFACTURER -#define MANUFACTURER binaryplease +#define MANUFACTURER "binaryplease" #undef PRODUCT -#define PRODUCT Teensy_Planck +#define PRODUCT "Teensy_Planck" #undef MATRIX_ROW_PINS #define MATRIX_ROW_PINS { D3, D2, D1, D0 } diff --git a/keyboards/planck/keymaps/hvp/keymap.c b/keyboards/planck/keymaps/hvp/keymap.c index 1aad239301..fe17924f2b 100644 --- a/keyboards/planck/keymaps/hvp/keymap.c +++ b/keyboards/planck/keymaps/hvp/keymap.c @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, KC_4, KC_5, KC_6, _______, _______, KC_PSCR, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, - QK_BOOT, _______, TERM_ON, TERM_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG + QK_BOOT, _______, _______, _______, MI_ON, MI_OFF, _______, _______, _______, _______, _______, DEBUG )}; #ifdef AUDIO_ENABLE diff --git a/keyboards/planck/keymaps/jasperla/keymap.c b/keyboards/planck/keymaps/jasperla/keymap.c index 8153aa33b7..151b32cf18 100644 --- a/keyboards/planck/keymaps/jasperla/keymap.c +++ b/keyboards/planck/keymaps/jasperla/keymap.c @@ -124,7 +124,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, _______, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/jdelkins/keymap.c b/keyboards/planck/keymaps/jdelkins/keymap.c index 8a039bc00e..0931342c2f 100644 --- a/keyboards/planck/keymaps/jdelkins/keymap.c +++ b/keyboards/planck/keymaps/jdelkins/keymap.c @@ -168,7 +168,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* [_ADJUST] = LAYOUT( */ /* _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , */ /* _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, */ -/* _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, */ +/* _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, */ /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ */ /* ) */ diff --git a/keyboards/planck/keymaps/jirgn/keymap.c b/keyboards/planck/keymaps/jirgn/keymap.c index edbb3fbed7..6a180a7239 100644 --- a/keyboards/planck/keymaps/jirgn/keymap.c +++ b/keyboards/planck/keymaps/jirgn/keymap.c @@ -148,7 +148,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, PLOVER, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/kelorean/keymap.c b/keyboards/planck/keymaps/kelorean/keymap.c index 8128f62302..fe31f1f1fa 100644 --- a/keyboards/planck/keymaps/kelorean/keymap.c +++ b/keyboards/planck/keymaps/kelorean/keymap.c @@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/khord/keymap.c b/keyboards/planck/keymaps/khord/keymap.c index 19166dbf4e..93e405feca 100644 --- a/keyboards/planck/keymaps/khord/keymap.c +++ b/keyboards/planck/keymaps/khord/keymap.c @@ -106,10 +106,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, ADMIN, SMSPC1, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, M_BRDFT, M_BRINC, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, M_BRTOG, M_BRDEC, C_A_INS, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, ADMIN, SMSPC1, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, M_BRDFT, M_BRINC, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, M_BRTOG, M_BRDEC, C_A_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, C_A_DEL ) }; diff --git a/keyboards/planck/keymaps/kifinnsson/keymap.c b/keyboards/planck/keymaps/kifinnsson/keymap.c index daee15842c..450d860022 100644 --- a/keyboards/planck/keymaps/kifinnsson/keymap.c +++ b/keyboards/planck/keymaps/kifinnsson/keymap.c @@ -169,16 +169,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | |AGnorm|AGswap| |Colemk| | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | |TermOn|TrmOff| | | | + * | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/kloki/keymap.c b/keyboards/planck/keymaps/kloki/keymap.c index 4320e12a72..9df9edbde7 100644 --- a/keyboards/planck/keymaps/kloki/keymap.c +++ b/keyboards/planck/keymaps/kloki/keymap.c @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, WORKMAN, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/kmontag42/keymap.c b/keyboards/planck/keymaps/kmontag42/keymap.c index f3d3a6dcfb..548c30b803 100644 --- a/keyboards/planck/keymaps/kmontag42/keymap.c +++ b/keyboards/planck/keymaps/kmontag42/keymap.c @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, PLOVER, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/lja83/keymap.c b/keyboards/planck/keymaps/lja83/keymap.c index 8aaeef3a0f..6169196817 100644 --- a/keyboards/planck/keymaps/lja83/keymap.c +++ b/keyboards/planck/keymaps/lja83/keymap.c @@ -160,16 +160,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_NAV] = LAYOUT_planck_grid( diff --git a/keyboards/planck/keymaps/luke/keymap.c b/keyboards/planck/keymaps/luke/keymap.c index 1fa0ea0745..8f20a55867 100644 --- a/keyboards/planck/keymaps/luke/keymap.c +++ b/keyboards/planck/keymaps/luke/keymap.c @@ -325,7 +325,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) set_unicode_input_mode(UC_LNX); break; case M_OSX: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); break; case M_FUNCTION: if (record->event.pressed) { diff --git a/keyboards/planck/keymaps/mgalisa/keymap.c b/keyboards/planck/keymaps/mgalisa/keymap.c index 11fb309851..64a1759ba9 100644 --- a/keyboards/planck/keymaps/mgalisa/keymap.c +++ b/keyboards/planck/keymaps/mgalisa/keymap.c @@ -194,10 +194,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/mikethetiger/keymap.c b/keyboards/planck/keymaps/mikethetiger/keymap.c index 35c6917bbf..5fa664bea2 100644 --- a/keyboards/planck/keymaps/mikethetiger/keymap.c +++ b/keyboards/planck/keymaps/mikethetiger/keymap.c @@ -163,10 +163,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/msiu/keymap.c b/keyboards/planck/keymaps/msiu/keymap.c index afcc799c44..b2576f3bdd 100644 --- a/keyboards/planck/keymaps/msiu/keymap.c +++ b/keyboards/planck/keymaps/msiu/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, _______, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ), diff --git a/keyboards/planck/keymaps/muzfuz/keymap.c b/keyboards/planck/keymaps/muzfuz/keymap.c index 985f4b9dee..10120dece4 100644 --- a/keyboards/planck/keymaps/muzfuz/keymap.c +++ b/keyboards/planck/keymaps/muzfuz/keymap.c @@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/planck/keymaps/myoung34/keymap.c b/keyboards/planck/keymaps/myoung34/keymap.c index 714b7b3a89..b58688c393 100644 --- a/keyboards/planck/keymaps/myoung34/keymap.c +++ b/keyboards/planck/keymaps/myoung34/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL , + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, RGB_M_R, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/planck/keymaps/oryx/keymap.c b/keyboards/planck/keymaps/oryx/keymap.c index 9e451a010a..276a1ff253 100644 --- a/keyboards/planck/keymaps/oryx/keymap.c +++ b/keyboards/planck/keymaps/oryx/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [0] = {{42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {146, 224, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {42, 255, 255}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}, {32, 255, 234}}, [1] = {{89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {169, 120, 255}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}, {89, 255, 246}}, @@ -74,7 +74,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { }; void set_layer_color(int layer) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -90,7 +90,7 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (keyboard_config.disable_layer_led) { return; } @@ -108,6 +108,7 @@ void rgb_matrix_indicators_user(void) { if (rgb_matrix_get_flags() == LED_FLAG_NONE) rgb_matrix_set_color_all(0, 0, 0); break; } + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/planck/keymaps/pevecyan/keymap.c b/keyboards/planck/keymaps/pevecyan/keymap.c index 2b7518f22c..eb5ed928bd 100644 --- a/keyboards/planck/keymaps/pevecyan/keymap.c +++ b/keyboards/planck/keymaps/pevecyan/keymap.c @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/planck/keymaps/pickle_jr/keymap.c b/keyboards/planck/keymaps/pickle_jr/keymap.c index 48ce0e645a..0d2e772955 100644 --- a/keyboards/planck/keymaps/pickle_jr/keymap.c +++ b/keyboards/planck/keymaps/pickle_jr/keymap.c @@ -167,10 +167,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______ + _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/pjanx/keymap.c b/keyboards/planck/keymaps/pjanx/keymap.c index 9e191324c3..9444cf13d4 100644 --- a/keyboards/planck/keymaps/pjanx/keymap.c +++ b/keyboards/planck/keymaps/pjanx/keymap.c @@ -158,15 +158,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | M1 | M2 | M3 | | | | | <- | vv | ^^ | -> | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, _______, _______, _______, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT ) diff --git a/keyboards/planck/keymaps/prog_qgmlwb/src/special.h b/keyboards/planck/keymaps/prog_qgmlwb/src/special.h index de05db2070..3645b3603b 100644 --- a/keyboards/planck/keymaps/prog_qgmlwb/src/special.h +++ b/keyboards/planck/keymaps/prog_qgmlwb/src/special.h @@ -12,7 +12,7 @@ * |------+------+------+------+------+------+------+------+------+------+------+------| * | | XXXX |MusMod|AudOff| AudOn|AgNorm|AgSwap|Dvorak|Colmak|Qwerty|QgmlEN|QgmlNO| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|MusOff| MusOn|MIDIOf|MIDIOn|TermOf|TermOn| T0 | T1 | T2 | + * | |Voice-|Voice+|MusOff| MusOn|MIDIOf|MIDIOn| | | T0 | T1 | T2 | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | XXXX | XXXX | XXXX | XXXX | * `-----------------------------------------------------------------------------------' @@ -20,7 +20,7 @@ #define adjust_map LAYOUT_ortho_4x12(\ QK_RBT, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_DEL,\ QK_MAKE, XXXXXXX, MU_MOD, AU_OFF, AU_ON, AG_NORM, AG_SWAP, DF(DVORAK), DF(COLEMAK), DF(QWERTY), DF(QGMLWB_EN), DF(QGMLWB_NO),\ - _______, MUV_IN, MUV_DE, MU_OFF, MU_ON, MI_OFF, MI_ON, TERM_OFF, TERM_ON, KC_T0, KC_T1, KC_T2,\ + _______, MUV_IN, MUV_DE, MU_OFF, MU_ON, MI_OFF, MI_ON, _______, _______, KC_T0, KC_T1, KC_T2,\ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX\ ) diff --git a/keyboards/planck/keymaps/ptillemans/keymap.c b/keyboards/planck/keymaps/ptillemans/keymap.c index cb240e80aa..025dbc5e55 100644 --- a/keyboards/planck/keymaps/ptillemans/keymap.c +++ b/keyboards/planck/keymaps/ptillemans/keymap.c @@ -146,10 +146,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, QWERTY, DVORAK, PLOVER, _______, - BACKLIT, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, QWERTY, DVORAK, PLOVER, _______, + BACKLIT, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/raffle/keymap.c b/keyboards/planck/keymaps/raffle/keymap.c index 436db90e2c..6ebce40f72 100644 --- a/keyboards/planck/keymaps/raffle/keymap.c +++ b/keyboards/planck/keymaps/raffle/keymap.c @@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/planck/keymaps/rodhaene/keymap.c b/keyboards/planck/keymaps/rodhaene/keymap.c index 1732e19a3d..8441ee5a64 100644 --- a/keyboards/planck/keymaps/rodhaene/keymap.c +++ b/keyboards/planck/keymaps/rodhaene/keymap.c @@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, NUMPAD, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c index c289c50e5b..ea9a85dba1 100644 --- a/keyboards/planck/keymaps/rootiest/keymap.c +++ b/keyboards/planck/keymaps/rootiest/keymap.c @@ -380,7 +380,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FEATURS] = LAYOUT_planck_mit( // LCTL(LALT(KC_DEL)), DO_RESET, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, TD(TD_DEG_DEGF), TD(TD_SMILEY), KC_DEL, // RGB_VAI, RGB_VAD, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, DF(_BASE), DF(_COLEMAK), DF(_DVORAK), TO(_PLOVER), MY_RGBCON, // - KC_TRNS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, CK_ON, CK_OFF, KC_ENTER, // + KC_TRNS, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, KC_TRNS, KC_TRNS, CK_ON, CK_OFF, KC_ENTER, // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(_MOUSY), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), /* Special Features Layer [6] @@ -389,7 +389,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * |RGBVAI|RGBVAD|MU_MOD| AU_ON|AU_OFF|RALTGU|SALTGU| Base |Colemk|Dvorak|Plover|RGBCON| * |------+------+------+------+------+------+------+------+------+------+------+------| - * |------|MUV_DE|MUV_IN| MU_ON|MU_OFF| MI_ON|MI_OFF|TERMON|TRMOFF|CLK-ON|CLKOFF|Enter | + * |------|MUV_DE|MUV_IN| MU_ON|MU_OFF| MI_ON|MI_OFF|------|------|CLK-ON|CLKOFF|Enter | * |------+------+------+------+------+------+------+------+------+------+------+------| * |------|------|------|------|------| TG(8) |------|------|------|------|------| * `-----------------------------------------------------------------------------------' diff --git a/keyboards/planck/keymaps/smittey/keymap.c b/keyboards/planck/keymaps/smittey/keymap.c index f8d3f4b1bb..02ad2bf36f 100644 --- a/keyboards/planck/keymaps/smittey/keymap.c +++ b/keyboards/planck/keymaps/smittey/keymap.c @@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( QK_BOOT, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MI_OFF, MI_ON, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, DVORAK, XXXXXXX, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, AU_OFF, AU_ON, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF, MU_OFF, MU_ON, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_OFF, MU_ON, XXXXXXX, PLOVER, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, MUV_DE, MUV_IN, XXXXXXX ), diff --git a/keyboards/planck/keymaps/snowkuma/keymap.c b/keyboards/planck/keymaps/snowkuma/keymap.c index fef6246b4a..3dbf680d95 100644 --- a/keyboards/planck/keymaps/snowkuma/keymap.c +++ b/keyboards/planck/keymaps/snowkuma/keymap.c @@ -369,5 +369,5 @@ void matrix_scan_user(void) { } void matrix_init_user(void) { - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); } diff --git a/keyboards/planck/keymaps/stuartfong1/keymap.c b/keyboards/planck/keymaps/stuartfong1/keymap.c index c394a9db81..721ffcdc05 100644 --- a/keyboards/planck/keymaps/stuartfong1/keymap.c +++ b/keyboards/planck/keymaps/stuartfong1/keymap.c @@ -168,16 +168,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| |Plover| | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - XXXXXXX, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, - XXXXXXX, XXXXXXX, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, PLOVER, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, XXXXXXX, + XXXXXXX, XXXXXXX, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, PLOVER, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) }; diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c index 89175e0115..d2608ff41f 100644 --- a/keyboards/planck/keymaps/tom/keymap.c +++ b/keyboards/planck/keymaps/tom/keymap.c @@ -104,9 +104,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_planck_grid( C(G(S(KC_4))), QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -226,11 +226,11 @@ bool music_mask_user(uint16_t keycode) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { #ifdef RGB_MATRIX_ENABLE switch (get_highest_layer(layer_state)) { case _RAISE: - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color(i, 0x6B, 0x00, 0x80); } else { @@ -240,7 +240,7 @@ void rgb_matrix_indicators_user(void) { break; case _LOWER: - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { rgb_matrix_set_color(i, 0xFF, 0xA5, 0x00); } else { @@ -250,7 +250,7 @@ void rgb_matrix_indicators_user(void) { break; case _ADJUST: - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { rgb_matrix_set_color(i, 0xFF, 0x99, 0x00); } rgb_matrix_set_color(1, 0xFF, 0x00, 0x00); @@ -260,4 +260,5 @@ void rgb_matrix_indicators_user(void) { break; } #endif + return false; } diff --git a/keyboards/planck/keymaps/tomkonidas/keymap.c b/keyboards/planck/keymaps/tomkonidas/keymap.c index e0232f69ec..c0d4860e12 100644 --- a/keyboards/planck/keymaps/tomkonidas/keymap.c +++ b/keyboards/planck/keymaps/tomkonidas/keymap.c @@ -157,16 +157,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_planck_grid( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/planck/keymaps/tomkonidas/readme.md b/keyboards/planck/keymaps/tomkonidas/readme.md index 34c2147604..fa62bf8be7 100644 --- a/keyboards/planck/keymaps/tomkonidas/readme.md +++ b/keyboards/planck/keymaps/tomkonidas/readme.md @@ -79,7 +79,7 @@ |------+------+------+------+------+------+------+------+------+------+------+------| | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | |------+------+------+------+------+------+------+------+------+------+------+------| - | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | | `-----------------------------------------------------------------------------------' diff --git a/keyboards/planck/keymaps/tylerwince/keymap.c b/keyboards/planck/keymaps/tylerwince/keymap.c index e6d174fbce..79e2580833 100644 --- a/keyboards/planck/keymaps/tylerwince/keymap.c +++ b/keyboards/planck/keymaps/tylerwince/keymap.c @@ -130,7 +130,7 @@ void keyboard_post_init_user(void) { rgb_matrix_enable(); } -const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { +const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = { [0] = { {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255}, {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255}, {32,255,234}, {32,255,234}, {12,225,241}, {12,225,241}, {0,204,255}, {0,204,255}, {169,120,255}, {169,120,255}, {169,120,255}, {146,224,255}, {146,224,255}, {146,224,255}, @@ -151,7 +151,7 @@ const uint8_t PROGMEM ledmap[][DRIVER_LED_TOTAL][3] = { }; void set_layer_color(int layer) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { HSV hsv = { .h = pgm_read_byte(&ledmap[layer][i][0]), .s = pgm_read_byte(&ledmap[layer][i][1]), @@ -166,7 +166,7 @@ void set_layer_color(int layer) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (g_suspend_state || disable_layer_color) { return; } switch (get_highest_layer(layer_state)) { case 0: @@ -182,6 +182,7 @@ void rgb_matrix_indicators_user(void) { set_layer_color(4); break; } + return false; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/planck/keymaps/unagi/keymap.c b/keyboards/planck/keymaps/unagi/keymap.c index e75e7386bc..1ab53ba02e 100644 --- a/keyboards/planck/keymaps/unagi/keymap.c +++ b/keyboards/planck/keymaps/unagi/keymap.c @@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h index 67b42e8c08..d0e30bde02 100644 --- a/keyboards/planck/light/config.h +++ b/keyboards/planck/light/config.h @@ -34,7 +34,7 @@ #define DRIVER_COUNT 2 #define DRIVER_1_LED_TOTAL 25 #define DRIVER_2_LED_TOTAL 24 -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) // 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/planck/light/light.c b/keyboards/planck/light/light.c index 5a7c656f1a..c2c241fab4 100644 --- a/keyboards/planck/light/light.c +++ b/keyboards/planck/light/light.c @@ -16,7 +16,7 @@ #include "light.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_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 3879cb7690..5925feb8d9 100644 --- a/keyboards/planck/rev6/config.h +++ b/keyboards/planck/rev6/config.h @@ -103,7 +103,7 @@ */ #define RGB_DI_PIN A1 #define RGBLED_NUM 9 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/planck/rev6_drop/config.h b/keyboards/planck/rev6_drop/config.h index 3cbee54de5..35b3a55c1f 100644 --- a/keyboards/planck/rev6_drop/config.h +++ b/keyboards/planck/rev6_drop/config.h @@ -108,7 +108,7 @@ */ #define RGB_DI_PIN A1 #define RGBLED_NUM 9 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/planck/thk/keymaps/thk/keymap.c b/keyboards/planck/thk/keymaps/thk/keymap.c index e7d58d2d0b..effac4d90d 100644 --- a/keyboards/planck/thk/keymaps/thk/keymap.c +++ b/keyboards/planck/thk/keymaps/thk/keymap.c @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | |AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | |TermOn|TermOf| | | | + * | | | | | | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_planck_grid( _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL , _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, _______, _______, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/playkbtw/ca66/keymaps/zyber/keymap.c b/keyboards/playkbtw/ca66/keymaps/zyber/keymap.c index ccf248e203..f4db24f90f 100644 --- a/keyboards/playkbtw/ca66/keymaps/zyber/keymap.c +++ b/keyboards/playkbtw/ca66/keymaps/zyber/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( 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_DEL, RGB_TOG, - KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, RGB_MOD, + KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, RGB_MOD, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_INS, KC_HOME, KC_LSFT, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_HUI, KC_END, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, RGB_SAD, RGB_HUD, RGB_SAI), diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h index 2ec5f15a39..c6f03af638 100644 --- a/keyboards/playkbtw/pk64rgb/config.h +++ b/keyboards/playkbtw/pk64rgb/config.h @@ -47,7 +47,7 @@ #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define DRIVER_ADDR_1 0b1010000 #define DRIVER_COUNT 1 - #define DRIVER_LED_TOTAL 64 + #define RGB_MATRIX_LED_COUNT 64 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE diff --git a/keyboards/playkbtw/pk64rgb/keymaps/default/keymap.c b/keyboards/playkbtw/pk64rgb/keymaps/default/keymap.c index 9cfbc3c287..1b3b6fe102 100644 --- a/keyboards/playkbtw/pk64rgb/keymaps/default/keymap.c +++ b/keyboards/playkbtw/pk64rgb/keymaps/default/keymap.c @@ -34,11 +34,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (layer_state_is(1)) { rgb_matrix_set_color(77,0xFF, 0x80, 0x00); } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } -}
\ No newline at end of file + return false; +} diff --git a/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c b/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c index 015ba3a6b1..d3ce3114fe 100644 --- a/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c +++ b/keyboards/playkbtw/pk64rgb/keymaps/via/keymap.c @@ -45,11 +45,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (layer_state_is(1)) { rgb_matrix_set_color(77,0xFF, 0x80, 0x00); } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } -}
\ No newline at end of file + return false; +} diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c index bc1f63a5ba..e2db8056ee 100644 --- a/keyboards/playkbtw/pk64rgb/pk64rgb.c +++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c @@ -17,7 +17,7 @@ #include "pk64rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/ploopyco/mouse/mouse.c b/keyboards/ploopyco/mouse/mouse.c index 19bc17738e..72535bf546 100644 --- a/keyboards/ploopyco/mouse/mouse.c +++ b/keyboards/ploopyco/mouse/mouse.c @@ -49,7 +49,7 @@ keyboard_config_t keyboard_config; uint16_t dpi_array[] = PLOOPY_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) +#define DPI_OPTION_SIZE ARRAY_SIZE(dpi_array) // TODO: Implement libinput profiles // https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html @@ -167,21 +167,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { #endif } -/* If Mousekeys is disabled, then use handle the mouse button - * keycodes. This makes things simpler, and allows usage of - * the keycodes in a consistent manner. But only do this if - * Mousekeys is not enable, so it's not handled twice. - */ -#ifndef MOUSEKEY_ENABLE - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t currentReport = pointing_device_get_report(); - currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(currentReport); - pointing_device_send(); - } - -#endif - return true; } @@ -202,7 +187,7 @@ void keyboard_pre_init_kb(void) { #ifdef UNUSABLE_PINS const pin_t unused_pins[] = UNUSABLE_PINS; - for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(unused_pins); i++) { setPinOutput(unused_pins[i]); writePinLow(unused_pins[i]); } diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c index 786b40f9e8..6dbb73e8f8 100644 --- a/keyboards/ploopyco/trackball/trackball.c +++ b/keyboards/ploopyco/trackball/trackball.c @@ -49,7 +49,7 @@ keyboard_config_t keyboard_config; uint16_t dpi_array[] = PLOOPY_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) +#define DPI_OPTION_SIZE ARRAY_SIZE(dpi_array) // TODO: Implement libinput profiles // https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html @@ -178,14 +178,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { * the keycodes in a consistent manner. But only do this if * Mousekeys is not enable, so it's not handled twice. */ -#ifndef MOUSEKEY_ENABLE - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t currentReport = pointing_device_get_report(); - currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(currentReport); - pointing_device_send(); - } -#endif return true; } @@ -207,7 +199,7 @@ void keyboard_pre_init_kb(void) { #ifdef UNUSABLE_PINS const pin_t unused_pins[] = UNUSABLE_PINS; - for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(unused_pins); i++) { setPinOutput(unused_pins[i]); writePinLow(unused_pins[i]); } diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.c b/keyboards/ploopyco/trackball_mini/trackball_mini.c index df13912af4..1e8212814c 100644 --- a/keyboards/ploopyco/trackball_mini/trackball_mini.c +++ b/keyboards/ploopyco/trackball_mini/trackball_mini.c @@ -57,7 +57,7 @@ keyboard_config_t keyboard_config; uint16_t dpi_array[] = PLOOPY_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) +#define DPI_OPTION_SIZE ARRAY_SIZE(dpi_array) // TODO: Implement libinput profiles // https://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html @@ -169,20 +169,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { pointing_device_set_cpi(is_drag_scroll ? PLOOPY_DRAGSCROLL_DPI : dpi_array[keyboard_config.dpi_config]); } -/* If Mousekeys is disabled, then use handle the mouse button - * keycodes. This makes things simpler, and allows usage of - * the keycodes in a consistent manner. But only do this if - * Mousekeys is not enable, so it's not handled twice. - */ -#ifndef MOUSEKEY_ENABLE - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t currentReport = pointing_device_get_report(); - currentReport.buttons = pointing_device_handle_buttons(currentReport.buttons, record->event.pressed, keycode - KC_MS_BTN1); - pointing_device_set_report(currentReport); - pointing_device_send(); - } -#endif - return true; } @@ -203,7 +189,7 @@ void keyboard_pre_init_kb(void) { #ifdef UNUSABLE_PINS const pin_t unused_pins[] = UNUSABLE_PINS; - for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(unused_pins); i++) { setPinOutput(unused_pins[i]); writePinLow(unused_pins[i]); } diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.c b/keyboards/ploopyco/trackball_nano/trackball_nano.c index eb1d8e10b0..366918e134 100644 --- a/keyboards/ploopyco/trackball_nano/trackball_nano.c +++ b/keyboards/ploopyco/trackball_nano/trackball_nano.c @@ -50,7 +50,7 @@ keyboard_config_t keyboard_config; uint16_t dpi_array[] = PLOOPY_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) +#define DPI_OPTION_SIZE ARRAY_SIZE(dpi_array) void cycle_dpi(void) { keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; @@ -89,7 +89,7 @@ void keyboard_pre_init_kb(void) { #ifdef UNUSABLE_PINS const pin_t unused_pins[] = UNUSABLE_PINS; - for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) { + for (uint8_t i = 0; i < ARRAY_SIZE(unused_pins); i++) { setPinOutput(unused_pins[i]); writePinLow(unused_pins[i]); } diff --git a/keyboards/pluckey/config.h b/keyboards/pluckey/config.h index 152b8c3169..7aa146aa17 100644 --- a/keyboards/pluckey/config.h +++ b/keyboards/pluckey/config.h @@ -46,7 +46,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ENCODER_RESOLUTION_RIGHT 2 /* communication between sides */ -#define USE_SERIAL #define SOFT_SERIAL_PIN D2 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/pom_keyboards/tnln95/config.h b/keyboards/pom_keyboards/tnln95/config.h index e958aebd30..f4dfa80a7e 100644 --- a/keyboards/pom_keyboards/tnln95/config.h +++ b/keyboards/pom_keyboards/tnln95/config.h @@ -66,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_SLEEP // RGB will turn off when PC is put to sleep -// #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_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 225 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 // #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set diff --git a/keyboards/preonic/keymaps/AlexDaigre/keymap.c b/keyboards/preonic/keymaps/AlexDaigre/keymap.c index c4e0f132d8..6a40a58226 100644 --- a/keyboards/preonic/keymaps/AlexDaigre/keymap.c +++ b/keyboards/preonic/keymaps/AlexDaigre/keymap.c @@ -159,7 +159,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ BACKLIT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ diff --git a/keyboards/preonic/keymaps/blake-newman/keymap.c b/keyboards/preonic/keymaps/blake-newman/keymap.c index 53a4cf78f0..311a96f15e 100644 --- a/keyboards/preonic/keymaps/blake-newman/keymap.c +++ b/keyboards/preonic/keymaps/blake-newman/keymap.c @@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_1x2uC( \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,LALT(KC_PSCR), LCTL(KC_PSCR), KC_PSCR, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, LALT(KC_PSCR), LCTL(KC_PSCR), KC_PSCR, \ KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, NUMPAD, KC_INS, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ diff --git a/keyboards/preonic/keymaps/boy314/keymap.c b/keyboards/preonic/keymaps/boy314/keymap.c index 67d1fe4cf8..b5089be5dd 100644 --- a/keyboards/preonic/keymaps/boy314/keymap.c +++ b/keyboards/preonic/keymaps/boy314/keymap.c @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_preonic_grid( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, DVORAK, _______, _______, _______, _______, \ _______, ARROWS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/cranium/keymap.c b/keyboards/preonic/keymaps/cranium/keymap.c index 8267a0a4be..c423d8dac4 100644 --- a/keyboards/preonic/keymaps/cranium/keymap.c +++ b/keyboards/preonic/keymaps/cranium/keymap.c @@ -109,7 +109,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLEP, - _______, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, _______, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_VOLU, KC_VOLD, KC_MPRV, KC_MNXT, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, KC_PSCR diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c index c1faf464d6..0d886ba451 100644 --- a/keyboards/preonic/keymaps/default/keymap.c +++ b/keyboards/preonic/keymaps/default/keymap.c @@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | Reset| Debug| | | | |TermOf|TermOn| | | Del | + * | | Reset| Debug| | | | | | | | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | * |------+------+------+------+------+------|------+------+------+------+------+------| diff --git a/keyboards/preonic/keymaps/drasbeck/keymap.c b/keyboards/preonic/keymaps/drasbeck/keymap.c index a3bfbb4760..da2ab145ca 100644 --- a/keyboards/preonic/keymaps/drasbeck/keymap.c +++ b/keyboards/preonic/keymaps/drasbeck/keymap.c @@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/preonic/keymaps/dudeofawesome/keymap.c b/keyboards/preonic/keymaps/dudeofawesome/keymap.c index 932b76df3e..b5c308d2fd 100644 --- a/keyboards/preonic/keymaps/dudeofawesome/keymap.c +++ b/keyboards/preonic/keymaps/dudeofawesome/keymap.c @@ -180,7 +180,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_1x2uC( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ KC_CAPS, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, WORKMAN, DVORAK, COLEMAK, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/ekis_isa/keymap.c b/keyboards/preonic/keymaps/ekis_isa/keymap.c index ff2bfdb0f1..04051a865e 100644 --- a/keyboards/preonic/keymaps/ekis_isa/keymap.c +++ b/keyboards/preonic/keymaps/ekis_isa/keymap.c @@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_1x2uC( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/elisiano/keymap.c b/keyboards/preonic/keymaps/elisiano/keymap.c index c7ec076ca7..3f0a528247 100644 --- a/keyboards/preonic/keymaps/elisiano/keymap.c +++ b/keyboards/preonic/keymaps/elisiano/keymap.c @@ -158,11 +158,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_preonic_grid( - 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TG(_MOUSE), _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + 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_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TG(_MOUSE), _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/preonic/keymaps/fsck/keymap.c b/keyboards/preonic/keymaps/fsck/keymap.c index cdb5bf1acc..cb73083249 100644 --- a/keyboards/preonic/keymaps/fsck/keymap.c +++ b/keyboards/preonic/keymaps/fsck/keymap.c @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/keelhauler/keymap.c b/keyboards/preonic/keymaps/keelhauler/keymap.c index d6adc08adb..8a1c01617c 100644 --- a/keyboards/preonic/keymaps/keelhauler/keymap.c +++ b/keyboards/preonic/keymaps/keelhauler/keymap.c @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h index eabce5e790..2e8585d0eb 100644 --- a/keyboards/preonic/keymaps/kinesis/config.h +++ b/keyboards/preonic/keymaps/kinesis/config.h @@ -1,58 +1,4 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6061 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Ortholinear Keyboards -#define PRODUCT The Preonic Keyboard - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 12 - -/* Planck PCB default pin-out */ -#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 } -#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } - -#define BACKLIGHT_PIN B7 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 +#pragma once /* ws2812 RGB LED */ #define RGB_DI_PIN D1 @@ -61,25 +7,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_HUE_STEP 10 #define RGBLIGHT_SAT_STEP 17 #define RGBLIGHT_VAL_STEP 17 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -#define TAPPING_TERM 200 - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/preonic/keymaps/laurentlaurent/keymap.c b/keyboards/preonic/keymaps/laurentlaurent/keymap.c index d9df9f16ef..9c26e715fd 100644 --- a/keyboards/preonic/keymaps/laurentlaurent/keymap.c +++ b/keyboards/preonic/keymaps/laurentlaurent/keymap.c @@ -277,7 +277,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ 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_TAB, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, XXXXXXX, + KC_TAB, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, /*_______, _______, MU_MOD, AU_ON, AU_OFF, QWERTY, QWWIN, QWERTY, COLEMAK, DVORAK, _______, _______, \ Remove this if adding Colemak and Dvorak*/ _______, _______, MU_MOD, AU_ON, AU_OFF, QWERTY, QWWIN, QWERTY, QWWIN, _______, _______, KC_F12, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, diff --git a/keyboards/preonic/keymaps/mechmaster48/keymap.c b/keyboards/preonic/keymaps/mechmaster48/keymap.c index 9fcb737490..3d89d25d35 100644 --- a/keyboards/preonic/keymaps/mechmaster48/keymap.c +++ b/keyboards/preonic/keymaps/mechmaster48/keymap.c @@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | Reset| Debug| | | | |TermOf|TermOn| | | Del | + * | | Reset| Debug| | | | | | | | | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty| | | | | * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/preonic/keymaps/mguterl/keymap.c b/keyboards/preonic/keymaps/mguterl/keymap.c index 184c111aef..dcbb16d612 100644 --- a/keyboards/preonic/keymaps/mguterl/keymap.c +++ b/keyboards/preonic/keymaps/mguterl/keymap.c @@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - TG_GAME, QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, + TG_GAME, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/preonic/keymaps/mikethetiger/keymap.c b/keyboards/preonic/keymaps/mikethetiger/keymap.c index 1fb41129cd..a927793a4f 100644 --- a/keyboards/preonic/keymaps/mikethetiger/keymap.c +++ b/keyboards/preonic/keymaps/mikethetiger/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ diff --git a/keyboards/preonic/keymaps/muzfuz/keymap.c b/keyboards/preonic/keymaps/muzfuz/keymap.c index 6baf32a51e..1b32c2143e 100644 --- a/keyboards/preonic/keymaps/muzfuz/keymap.c +++ b/keyboards/preonic/keymaps/muzfuz/keymap.c @@ -117,7 +117,7 @@ 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_F11, KC_F12, _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, _______, _______, QWERTY, _______, _______, _______, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/preonic/keymaps/mverteuil/keymap.c b/keyboards/preonic/keymaps/mverteuil/keymap.c index 03388d785b..0a5637b980 100644 --- a/keyboards/preonic/keymaps/mverteuil/keymap.c +++ b/keyboards/preonic/keymaps/mverteuil/keymap.c @@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * |AudTog|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX| Debug| Reset| * |------+------+------+------+------+------+------+------+------+------+------+------| - * |ClkTog|ClkFq-|ClkFq+|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|TermOn|TermOf| + * |ClkTog|ClkFq-|ClkFq+|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX| * |------+------+------+------+------+-------------+------+------+------+------+------| * |MusTog|Voice- Voice+|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|XXXXXX|AGnorm|AGswap| * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -229,7 +229,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_1x2uC ( AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, QK_BOOT, - CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF, + CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSHIFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_TOG, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD diff --git a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c index a54b547d8c..07c5aa7b8f 100644 --- a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c +++ b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c @@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------+-------+-------+-------+-------+-------|-------+-------+-------+-------+-------+-------. * |AudTog |███████|███████|███████|███████|███████|███████|███████|███████|███████| Debug | Reset | * |-------+-------+-------+-------+-------+-------|-------+-------+-------+-------+-------+-------| - * |Clicky |ClkFrq-|ClkFrq+|███████|███████|███████|███████|███████|███████|███████|TermOn |TermOff| + * |Clicky |ClkFrq-|ClkFrq+|███████|███████|███████|███████|███████|███████|███████|███████|███████| * |-------+-------+-------+-------+-------+-------|-------+-------+-------+-------+-------+-------| * | Music |Voice- |Voice+ |███████|███████|███████|███████|███████|███████|███████|AGnorm |AGswap | * |-------+-------+-------+-------+-------+-------|-------+-------+-------+-------+-------+-------| @@ -205,7 +205,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_2x2u ( AU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, QK_BOOT, - CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TERM_ON, TERM_OFF, + CK_TOGG, CK_DOWN, CK_UP, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, MUV_DE, MUV_IN, XXXXXXX, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AG_NORM, AG_SWAP, MI_TOG, RGB_M_P, RGB_M_B, RGB_M_R,RGB_M_SW,RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_SPI, KC_LSHIFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX,RGB_RMOD, RGB_SPD, RGB_MOD diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c index 46addbca48..4754ad760c 100644 --- a/keyboards/preonic/keymaps/pezhore/keymap.c +++ b/keyboards/preonic/keymaps/pezhore/keymap.c @@ -161,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/preonic/keymaps/pitty/keymap.c b/keyboards/preonic/keymaps/pitty/keymap.c index 249ff16a76..03b1fdd806 100644 --- a/keyboards/preonic/keymaps/pitty/keymap.c +++ b/keyboards/preonic/keymaps/pitty/keymap.c @@ -137,8 +137,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \ + _______, QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY) \ ) diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c index 531b08285f..73c8391185 100644 --- a/keyboards/preonic/keymaps/senseored/keymap.c +++ b/keyboards/preonic/keymaps/senseored/keymap.c @@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_ADJUST] = LAYOUT_preonic_grid( \ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ - TO(_GAMEMODE), QK_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ + TO(_GAMEMODE), QK_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______, \ _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QWERTY) \ diff --git a/keyboards/preonic/keymaps/zach/config.h b/keyboards/preonic/keymaps/zach/config.h index 37e85bf512..f5e4d2c204 100644 --- a/keyboards/preonic/keymaps/zach/config.h +++ b/keyboards/preonic/keymaps/zach/config.h @@ -1,85 +1,7 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6061 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Ortholinear Keyboards -#define PRODUCT The Preonic Keyboard - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 12 - -/* Planck PCB default pin-out */ -#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 } -#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } - -#define BACKLIGHT_PIN B7 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST +#pragma once #define BACKLIGHT_BREATHING // LED breathing -/* number of backlight levels */ +#undef BACKLIGHT_LEVELS #define BACKLIGHT_LEVELS 5 -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -//#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -//#define LOCKING_RESYNC_ENABLE - -/* ws2812 RGB LED */ -//#define RGB_DI_PIN D1 - -//#define RGBLED_NUM 28 // Number of LEDs -//#define RGBLIGHT_HUE_STEP 10 -//#define RGBLIGHT_SAT_STEP 17 -//#define RGBLIGHT_VAL_STEP 17 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER #define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION -//#define DYNAMIC_MACRO_ENABLE // Enable if you need to use the macro functionality -//#define SPACE_CADET // Parenthesis on L/R shift - -#endif diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index 5590ba0252..1c5dfe2e68 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h @@ -92,7 +92,7 @@ #define RGBLED_NUM 9 #define RGBLIGHT_ANIMATIONS // RGB Matrix support -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/preonic/rev3_drop/config.h b/keyboards/preonic/rev3_drop/config.h index 5590ba0252..1c5dfe2e68 100644 --- a/keyboards/preonic/rev3_drop/config.h +++ b/keyboards/preonic/rev3_drop/config.h @@ -92,7 +92,7 @@ #define RGBLED_NUM 9 #define RGBLIGHT_ANIMATIONS // RGB Matrix support -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define WS2812_PWM_DRIVER PWMD2 #define WS2812_PWM_CHANNEL 2 diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/config.h b/keyboards/primekb/prime_e/keymaps/madhatter/config.h index 8075bb73d5..3ec816d7ee 100644 --- a/keyboards/primekb/prime_e/keymaps/madhatter/config.h +++ b/keyboards/primekb/prime_e/keymaps/madhatter/config.h @@ -3,4 +3,4 @@ #define TAPPING_TERM 150 #undef PRODUCT -#define PRODUCT MadHatter\x27s Custom Ilpse +#define PRODUCT "MadHatter's Custom Ilpse" diff --git a/keyboards/prototypist/j01/keymaps/zyber/keymap.c b/keyboards/prototypist/j01/keymaps/zyber/keymap.c index 53a090b262..53b98ad023 100644 --- a/keyboards/prototypist/j01/keymaps/zyber/keymap.c +++ b/keyboards/prototypist/j01/keymaps/zyber/keymap.c @@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn1 layer [1] = LAYOUT_all( - KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, diff --git a/keyboards/pteron36/config.h b/keyboards/pteron36/config.h index 96b5b42f86..32c962dcc0 100644 --- a/keyboards/pteron36/config.h +++ b/keyboards/pteron36/config.h @@ -42,7 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ - #define USE_SERIAL #define SOFT_SERIAL_PIN D3 // or D1, D2, D3, E6 //#define LED_NUM_LOCK_PIN B0 diff --git a/keyboards/qpockets/space_space/rev2/config.h b/keyboards/qpockets/space_space/rev2/config.h index b762783d7e..a1ad4fc021 100644 --- a/keyboards/qpockets/space_space/rev2/config.h +++ b/keyboards/qpockets/space_space/rev2/config.h @@ -46,5 +46,5 @@ #define RGB_DI_PIN F0 #define RGBLED_NUM 4 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_DEFAULT_HUE 130 diff --git a/keyboards/qwertyydox/keymaps/default/config.h b/keyboards/qwertyydox/keymaps/default/config.h index cc85e4e2e8..504bee96de 100644 --- a/keyboards/qwertyydox/keymaps/default/config.h +++ b/keyboards/qwertyydox/keymaps/default/config.h @@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/redox/keymaps/KL1RL/config.h b/keyboards/redox/keymaps/KL1RL/config.h index ea7525b388..5b9a8c161c 100644 --- a/keyboards/redox/keymaps/KL1RL/config.h +++ b/keyboards/redox/keymaps/KL1RL/config.h @@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -// #define USE_SERIAL #define USE_I2C /* Select hand configuration */ diff --git a/keyboards/redox/keymaps/cykedev/config.h b/keyboards/redox/keymaps/cykedev/config.h index 05ff248b6d..47bc84bd67 100644 --- a/keyboards/redox/keymaps/cykedev/config.h +++ b/keyboards/redox/keymaps/cykedev/config.h @@ -15,7 +15,6 @@ #pragma once -#define USE_SERIAL #define MASTER_LEFT #undef RGBLED_NUM #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/redox/keymaps/default/config.h b/keyboards/redox/keymaps/default/config.h index a3ef209a05..39972d3e82 100644 --- a/keyboards/redox/keymaps/default/config.h +++ b/keyboards/redox/keymaps/default/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/eightbitraptor/config.h b/keyboards/redox/keymaps/eightbitraptor/config.h index d1b0012147..1810a97c9f 100644 --- a/keyboards/redox/keymaps/eightbitraptor/config.h +++ b/keyboards/redox/keymaps/eightbitraptor/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/fculpo/config.h b/keyboards/redox/keymaps/fculpo/config.h index bff76aef26..f14e8233f6 100644 --- a/keyboards/redox/keymaps/fculpo/config.h +++ b/keyboards/redox/keymaps/fculpo/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT //#define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/finex/config.h b/keyboards/redox/keymaps/finex/config.h index 8852a4cc87..bfad3bc6bf 100644 --- a/keyboards/redox/keymaps/finex/config.h +++ b/keyboards/redox/keymaps/finex/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/finex/readme.md b/keyboards/redox/keymaps/finex/readme.md index 9b88469a13..ae092e8064 100644 --- a/keyboards/redox/keymaps/finex/readme.md +++ b/keyboards/redox/keymaps/finex/readme.md @@ -3,7 +3,6 @@ ## Features -- Enabled USE_SERIAL for Falba.Tech Redox keyboards. - PC Layouts: Colemak Mod DH-MK, Qwerty. - Mac Layouts: same as above with CTRL-GUI keys inverted. - Added redundant `Space`, `Esc`, `Ctrl` and `Enter` keys. I like to have this diff --git a/keyboards/redox/keymaps/german/config.h b/keyboards/redox/keymaps/german/config.h index a3ef209a05..39972d3e82 100644 --- a/keyboards/redox/keymaps/german/config.h +++ b/keyboards/redox/keymaps/german/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/italian/config.h b/keyboards/redox/keymaps/italian/config.h index a3ef209a05..39972d3e82 100644 --- a/keyboards/redox/keymaps/italian/config.h +++ b/keyboards/redox/keymaps/italian/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/jeherve/config.h b/keyboards/redox/keymaps/jeherve/config.h index e3ed839f44..d467cc801e 100644 --- a/keyboards/redox/keymaps/jeherve/config.h +++ b/keyboards/redox/keymaps/jeherve/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Change the default tapping toggle value (normally 5) */ #define TAPPING_TOGGLE 2 -/* Use I2C or Serial, not both */ -#define USE_SERIAL -//#define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/nrichers/config.h b/keyboards/redox/keymaps/nrichers/config.h index a3ef209a05..39972d3e82 100755 --- a/keyboards/redox/keymaps/nrichers/config.h +++ b/keyboards/redox/keymaps/nrichers/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/ptillemans/config.h b/keyboards/redox/keymaps/ptillemans/config.h index a3ef209a05..39972d3e82 100644 --- a/keyboards/redox/keymaps/ptillemans/config.h +++ b/keyboards/redox/keymaps/ptillemans/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/thattolleyguy/config.h b/keyboards/redox/keymaps/thattolleyguy/config.h index 6e8de527cd..cf32745193 100644 --- a/keyboards/redox/keymaps/thattolleyguy/config.h +++ b/keyboards/redox/keymaps/thattolleyguy/config.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL - /* Select hand configuration */ // #define MASTER_LEFT #define EE_HANDS diff --git a/keyboards/redox/keymaps/tw1t611/config.h b/keyboards/redox/keymaps/tw1t611/config.h index 2110642c54..894d50238a 100644 --- a/keyboards/redox/keymaps/tw1t611/config.h +++ b/keyboards/redox/keymaps/tw1t611/config.h @@ -1,9 +1,5 @@ #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox/keymaps/via/config.h b/keyboards/redox/keymaps/via/config.h index a3ef209a05..39972d3e82 100644 --- a/keyboards/redox/keymaps/via/config.h +++ b/keyboards/redox/keymaps/via/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define MASTER_RIGHT diff --git a/keyboards/redox_media/keymaps/default/config.h b/keyboards/redox_media/keymaps/default/config.h index 5da1f9060a..5970733b20 100644 --- a/keyboards/redox_media/keymaps/default/config.h +++ b/keyboards/redox_media/keymaps/default/config.h @@ -17,10 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT -#define EE_HANDS
\ No newline at end of file +#define EE_HANDS diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h index 0c39127af5..cd92c3893d 100644 --- a/keyboards/rgbkb/mun/config.h +++ b/keyboards/rgbkb/mun/config.h @@ -71,7 +71,7 @@ #define RGBLED_SPLIT { 49, 49 } #define RGBLIGHT_ANIMATIONS -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_SPLIT RGBLED_SPLIT #define RGB_MATRIX_CENTER { 128, 34 } #define RGB_MATRIX_LED_FLUSH_LIMIT 33 diff --git a/keyboards/rgbkb/mun/keymaps/default/config.h b/keyboards/rgbkb/mun/keymaps/default/config.h index debd16163b..9fbbfc5901 100644 --- a/keyboards/rgbkb/mun/keymaps/default/config.h +++ b/keyboards/rgbkb/mun/keymaps/default/config.h @@ -17,7 +17,7 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define STM32_ONBOARD_EEPROM_SIZE 2048 diff --git a/keyboards/rgbkb/mun/keymaps/peott-fr/config.h b/keyboards/rgbkb/mun/keymaps/peott-fr/config.h index 9719d17437..a0b6cced11 100644 --- a/keyboards/rgbkb/mun/keymaps/peott-fr/config.h +++ b/keyboards/rgbkb/mun/keymaps/peott-fr/config.h @@ -17,7 +17,7 @@ #define DISABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define STM32_ONBOARD_EEPROM_SIZE 2048 diff --git a/keyboards/rgbkb/mun/keymaps/via/config.h b/keyboards/rgbkb/mun/keymaps/via/config.h index cfcaa9a1ed..01dc6f1c7d 100644 --- a/keyboards/rgbkb/mun/keymaps/via/config.h +++ b/keyboards/rgbkb/mun/keymaps/via/config.h @@ -17,7 +17,7 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h index 42e60191fc..7e3fc2d908 100644 --- a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h +++ b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h @@ -29,7 +29,7 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define OLED_SCROLL_TIMEOUT 20000 #define ONESHOT_TAP_TOGGLE 2 diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h index 5b6ca7e876..35699147db 100644 --- a/keyboards/rgbkb/pan/config.h +++ b/keyboards/rgbkb/pan/config.h @@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ENCODER_RESOLUTION 4 #define RGBLED_NUM 64 #define RGBLIGHT_ANIMATIONS -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/rgbkb/pan/pan.c b/keyboards/rgbkb/pan/pan.c index c367550e49..f0194ebdfd 100644 --- a/keyboards/rgbkb/pan/pan.c +++ b/keyboards/rgbkb/pan/pan.c @@ -22,13 +22,13 @@ # include "ws2812.h" // LED color buffer -LED_TYPE rgb_matrix_ws2812_array[DRIVER_LED_TOTAL]; +LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; static void init(void) {} static void flush(void) { // Assumes use of RGB_DI_PIN - ws2812_setleds(rgb_matrix_ws2812_array, DRIVER_LED_TOTAL); + ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT); } // Set an led in the buffer to a color @@ -51,7 +51,7 @@ static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { } static void setled_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i = 0; i < sizeof(rgb_matrix_ws2812_array) / sizeof(rgb_matrix_ws2812_array[0]); i++) { + for (int i = 0; i < ARRAY_SIZE(rgb_matrix_ws2812_array); i++) { setled(i, r, g, b); } } diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c index 1ce18bc1ab..87241521ae 100644 --- a/keyboards/rgbkb/sol/keymaps/default/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c @@ -202,7 +202,7 @@ const rgb_matrix_f rgb_matrix_functions[6][2] = { #ifdef ENCODER_ENABLE static pin_t encoders_pad_a[] = ENCODERS_PAD_A; -#define NUMBER_OF_ENCODERS (sizeof(encoders_pad_a)/sizeof(pin_t)) +#define NUMBER_OF_ENCODERS ARRAY_SIZE(encoders_pad_a) const uint16_t PROGMEM encoders[][NUMBER_OF_ENCODERS * 2][2] = { [_QWERTY] = ENCODER_LAYOUT( diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c index cdd0c6620a..d042a4fe27 100644 --- a/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c +++ b/keyboards/rgbkb/sol/keymaps/xyverz/keymap.c @@ -232,7 +232,7 @@ const rgb_matrix_f rgb_matrix_functions[6][2] = { #ifdef ENCODER_ENABLE static pin_t encoders_pad_a[] = ENCODERS_PAD_A; -#define NUMBER_OF_ENCODERS (sizeof(encoders_pad_a)/sizeof(pin_t)) +#define NUMBER_OF_ENCODERS ARRAY_SIZE(encoders_pad_a) const uint16_t PROGMEM encoders[][NUMBER_OF_ENCODERS * 2][2] = { [_QWERTY] = ENCODER_LAYOUT( \ diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h index 3e08848f6b..48f341583d 100644 --- a/keyboards/rgbkb/sol/rev1/config.h +++ b/keyboards/rgbkb/sol/rev1/config.h @@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #else #define RGBLED_NUM 70 #endif -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_CENTER { 112, 35 } diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h index cdaf9c0536..874ec536b1 100644 --- a/keyboards/rgbkb/sol/rev2/config.h +++ b/keyboards/rgbkb/sol/rev2/config.h @@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #endif #endif -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_CENTER { 112, 37 } diff --git a/keyboards/rgbkb/sol3/config.h b/keyboards/rgbkb/sol3/config.h index 20435a159a..9689f65356 100644 --- a/keyboards/rgbkb/sol3/config.h +++ b/keyboards/rgbkb/sol3/config.h @@ -96,7 +96,7 @@ #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_SPLIT RGBLED_SPLIT #define RGB_MATRIX_CENTER { 81, 28 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL diff --git a/keyboards/rgbkb/sol3/keymaps/default/config.h b/keyboards/rgbkb/sol3/keymaps/default/config.h index b239f5bb80..7e46726115 100644 --- a/keyboards/rgbkb/sol3/keymaps/default/config.h +++ b/keyboards/rgbkb/sol3/keymaps/default/config.h @@ -17,7 +17,7 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define STM32_ONBOARD_EEPROM_SIZE 2048 diff --git a/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h b/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h index 400848aa35..b1a8fce865 100644 --- a/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h +++ b/keyboards/rgbkb/sol3/keymaps/kageurufu/config.h @@ -17,7 +17,7 @@ #define DISABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/rgbkb/sol3/keymaps/via/config.h b/keyboards/rgbkb/sol3/keymaps/via/config.h index 3934e6c491..e6aa2bd87b 100644 --- a/keyboards/rgbkb/sol3/keymaps/via/config.h +++ b/keyboards/rgbkb/sol3/keymaps/via/config.h @@ -17,7 +17,7 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -// #define RGB_DISABLE_TIMEOUT 1200000 +// #define RGB_MATRIX_TIMEOUT 1200000 #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h b/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h index 38e5590d38..3d3186342f 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h @@ -24,10 +24,6 @@ #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL - /* Select hand configuration */ //#define MASTER_LEFT #define EE_HANDS diff --git a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h index cdffe6fd50..c150da1cdd 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/cwebster2/config.h @@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL - #define EE_HANDS #ifdef COMBO_ENABLE diff --git a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h index 4a549c5b1f..76598a3ee5 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h @@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h index d813085e46..fa8d58e6c4 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/jwlawrence/config.h @@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // place overrides here -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h b/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h index d7b37d5252..debae6aeb8 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/samae/config.h @@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ // #define MASTER_LEFT diff --git a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h index d3d1a60ca9..91f63a55ba 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/starcalleramethyst/config.h @@ -1,5 +1,5 @@ /* -Copyright 2019 starcalleramethyst +Copyright 2019 starcalleramethyst 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 @@ -17,12 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/keyboards/rgbkb/zen/rev1/keymaps/xyverz/config.h b/keyboards/rgbkb/zen/rev1/keymaps/xyverz/config.h index d3e21ea172..f0ded5f66f 100644 --- a/keyboards/rgbkb/zen/rev1/keymaps/xyverz/config.h +++ b/keyboards/rgbkb/zen/rev1/keymaps/xyverz/config.h @@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL #define EE_HANDS #undef RGBLED_NUM diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h index 3835a3e705..4c5801f4cf 100644 --- a/keyboards/rgbkb/zygomorph/rev1/config.h +++ b/keyboards/rgbkb/zygomorph/rev1/config.h @@ -49,7 +49,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_SPLIT { 30, 30 } #endif -#define DRIVER_LED_TOTAL 60 +#define RGB_MATRIX_LED_COUNT 60 #define RGB_MATRIX_SPLIT { 30, 30 } #ifdef IOS_DEVICE_ENABLE diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c index 0e6e47ba0d..ab2e69b346 100644 --- a/keyboards/rocketboard_16/keycode_lookup.c +++ b/keyboards/rocketboard_16/keycode_lookup.c @@ -18,7 +18,7 @@ #include "print.h" #include "via.h" -#define num_keycodes (sizeof(lookup_table)/sizeof(lookup_table[0])) +#define num_keycodes ARRAY_SIZE(lookup_table) static char UNKNOWN_KEYCODE[] = "UNKNOWN"; int cmp(const void *v1, const void *v2) diff --git a/keyboards/ryanskidmore/rskeys100/config.h b/keyboards/ryanskidmore/rskeys100/config.h index 187834f7e3..e80efaef64 100644 --- a/keyboards/ryanskidmore/rskeys100/config.h +++ b/keyboards/ryanskidmore/rskeys100/config.h @@ -31,7 +31,7 @@ /* RGB Data Pin */ #define RGB_DI_PIN C7 /* The number of RGB LEDs connected */ -#define DRIVER_LED_TOTAL 118 +#define RGB_MATRIX_LED_COUNT 118 /* Set the maximum brightness to 110 to avoid going over 500 mA. * At full brightness with all three indicator LEDs on, the power draw is about 450 mA. */ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 110 diff --git a/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c b/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c index 38a88a3cd4..1459d66ed9 100644 --- a/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c +++ b/keyboards/ryanskidmore/rskeys100/keymaps/default/keymap.c @@ -46,7 +46,7 @@ void keyboard_post_init_user(void) { rgb_matrix_enable_noeeprom(); } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { /* We use RGB for the indicator RGB colours since we don't need to adjust the brightness. * If any of the indicators are enabled, set the key to white. This overrides the active RGB * matrix animation. */ @@ -62,4 +62,5 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().scroll_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(14, 255, 255, 255); } + return false; } diff --git a/keyboards/s_ol/0xc_pad/config.h b/keyboards/s_ol/0xc_pad/config.h index 4260c7a07d..7a6d897e47 100644 --- a/keyboards/s_ol/0xc_pad/config.h +++ b/keyboards/s_ol/0xc_pad/config.h @@ -19,7 +19,7 @@ /* ws2812 RGB LED */ #define RGB_DI_PIN C7 -#define DRIVER_LED_TOTAL 12 +#define RGB_MATRIX_LED_COUNT 12 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_CENTER \ { 112, 63 } diff --git a/keyboards/saevus/cor_tkl/config.h b/keyboards/saevus/cor_tkl/config.h index 449f2da113..6be72c6495 100644 --- a/keyboards/saevus/cor_tkl/config.h +++ b/keyboards/saevus/cor_tkl/config.h @@ -21,6 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB Matrix setup */ #define RGB_DI_PIN GP19 -#define DRIVER_LED_TOTAL 2 +#define RGB_MATRIX_LED_COUNT 2 #define RGBLED_NUM 2 #define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral diff --git a/keyboards/saevus/cor_tkl/cor_tkl.c b/keyboards/saevus/cor_tkl/cor_tkl.c index 45cc8c0868..f7b39471db 100644 --- a/keyboards/saevus/cor_tkl/cor_tkl.c +++ b/keyboards/saevus/cor_tkl/cor_tkl.c @@ -32,13 +32,15 @@ led_config_t g_led_config = {{ LED_FLAG_INDICATOR, LED_FLAG_INDICATOR }}; -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +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) { RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 0); } if (!host_keyboard_led_state().scroll_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(1, 0, 0, 0); } - - rgb_matrix_indicators_advanced_user(led_min, led_max); + return true; } diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default/config.h index 0e452bdb4a..4f3a44d6bb 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/default/config.h @@ -22,7 +22,5 @@ // #define MASTER_RIGHT // #define EE_HANDS -//#define USE_SERIAL - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 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 314fe55c30..4d52c01805 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 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 2ad4d0adeb..7cb5d61e2b 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h index 71a43e208c..e7016c4b78 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h @@ -25,14 +25,13 @@ #undef RGBLED_NUM #endif -#define DRIVER_LED_TOTAL 48 +#define RGB_MATRIX_LED_COUNT 48 #ifdef RGB_MATRIX_ENABLE # 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_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_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 # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h index 7ce6416010..4d52c01805 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h @@ -22,8 +22,6 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h index 2ad4d0adeb..7cb5d61e2b 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 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 7eabf9e831..d1cb2f50d5 100644 --- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h +++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h @@ -25,16 +25,14 @@ #undef RGBLED_NUM #endif -#define DRIVER_LED_TOTAL 48 +#define RGB_MATRIX_LED_COUNT 48 #ifdef RGB_MATRIX_ENABLE #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_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off -// #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended - #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_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 // #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h index 0761e5b6d3..603c9ab026 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h index 0761e5b6d3..603c9ab026 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h index 47da6d4418..603c9ab026 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h @@ -22,7 +22,5 @@ // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 - #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h index 0761e5b6d3..603c9ab026 100644 --- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 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 c88277da20..cba07919ff 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h index 0761e5b6d3..603c9ab026 100644 --- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h +++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h @@ -21,7 +21,6 @@ #define MASTER_LEFT // #define MASTER_RIGHT // #define EE_HANDS -#define USE_SERIAL_PD2 #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h index 06e23ba7a3..26607eca89 100644 --- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h @@ -21,14 +21,13 @@ #define TAPPING_FORCE_HOLD #define TAPPING_TERM 180 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #ifdef RGB_MATRIX_ENABLE # 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_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_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 # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h index 077b18d0d8..b13fd918b8 100644 --- a/keyboards/sawnsprojects/satxri6key/config.h +++ b/keyboards/sawnsprojects/satxri6key/config.h @@ -59,11 +59,10 @@ // #define RGBLIGHT_EFFECT_ALTERNATING #endif -#define DRIVER_LED_TOTAL 6 +#define RGB_MATRIX_LED_COUNT 6 #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_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_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/keyboards/scatter42/config.h b/keyboards/scatter42/config.h index e271984760..a2c5cc6ec6 100644 --- a/keyboards/scatter42/config.h +++ b/keyboards/scatter42/config.h @@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 -#define USE_SERIAL //#define BACKLIGHT_PIN B7 //#define BACKLIGHT_LEVELS 3 diff --git a/keyboards/senselessclay/ck60/config.h b/keyboards/senselessclay/ck60/config.h index ea48db4e15..6035973a03 100644 --- a/keyboards/senselessclay/ck60/config.h +++ b/keyboards/senselessclay/ck60/config.h @@ -35,12 +35,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB matrix lighting */ #define RGB_DI_PIN B1 -#define DRIVER_LED_TOTAL 62 +#define RGB_MATRIX_LED_COUNT 62 #define RGB_MATRIX_KEYPRESSES #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_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_STARTUP_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/sets3n/kk980/config.h b/keyboards/sets3n/kk980/config.h index e24468054e..a988171755 100644 --- a/keyboards/sets3n/kk980/config.h +++ b/keyboards/sets3n/kk980/config.h @@ -86,7 +86,7 @@ #endif #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_KEYPRESSES #endif diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h index 28339ff431..5e011267f1 100644 --- a/keyboards/silverbullet44/config.h +++ b/keyboards/silverbullet44/config.h @@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_SPLIT {26, 26} #define RGBLED_NUM 52 #ifdef RGB_MATRIX_ENABLE - #define DRIVER_LED_TOTAL 52 + #define RGB_MATRIX_LED_COUNT 52 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 #define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/skmt/15k/config.h b/keyboards/skmt/15k/config.h index 6144e332ea..e1f021159e 100644 --- a/keyboards/skmt/15k/config.h +++ b/keyboards/skmt/15k/config.h @@ -23,7 +23,7 @@ #define RGB_DI_PIN GP1 // RGB LED pin #define RGBLED_NUM 15 // Number of LEDs -#define DRIVER_LED_TOTAL 15 // Number of LEDs +#define RGB_MATRIX_LED_COUNT 15 // Number of LEDs #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_LED_FLUSH_LIMIT 16 diff --git a/keyboards/smallkeyboard/config.h b/keyboards/smallkeyboard/config.h index 20a9f2d88a..41b43cf683 100644 --- a/keyboards/smallkeyboard/config.h +++ b/keyboards/smallkeyboard/config.h @@ -43,7 +43,6 @@ #define DEBOUNCE 3 #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_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS @@ -102,7 +101,7 @@ #define DRIVER_ADDR_1 0b1110100 #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 6 +#define RGB_MATRIX_LED_COUNT 6 #endif //#define RGB_DI_PIN B7 //#ifdef RGB_DI_PIN diff --git a/keyboards/smallkeyboard/smallkeyboard.c b/keyboards/smallkeyboard/smallkeyboard.c index af38cb6121..40cf3fc71a 100644 --- a/keyboards/smallkeyboard/smallkeyboard.c +++ b/keyboards/smallkeyboard/smallkeyboard.c @@ -17,7 +17,7 @@ #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/sofle/keymaps/devdev/config.h b/keyboards/sofle/keymaps/devdev/config.h index c34da8382b..a0341e5c6b 100644 --- a/keyboards/sofle/keymaps/devdev/config.h +++ b/keyboards/sofle/keymaps/devdev/config.h @@ -51,7 +51,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGBLED_NUM 35 // Number of LEDs #define RGBLED_NUM 35 // Number of LEDs -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif #ifdef RGBLIGHT_ENABLE @@ -83,10 +83,9 @@ #ifdef RGB_MATRIX_ENABLE # 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_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_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/sofle/keymaps/flare576/config.h b/keyboards/sofle/keymaps/flare576/config.h index c0f0a7d563..c89f38c127 100644 --- a/keyboards/sofle/keymaps/flare576/config.h +++ b/keyboards/sofle/keymaps/flare576/config.h @@ -37,4 +37,4 @@ #define TAPPING_TERM 200 #undef MANUFACTURER -#define MANUFACTURER Flare576 +#define MANUFACTURER "Flare576" diff --git a/keyboards/sofle/keymaps/flare576/graphics.c b/keyboards/sofle/keymaps/flare576/graphics.c index 918334a508..8cade61668 100644 --- a/keyboards/sofle/keymaps/flare576/graphics.c +++ b/keyboards/sofle/keymaps/flare576/graphics.c @@ -156,16 +156,16 @@ static void render_luna(int LUNA_X, int LUNA_Y) { current_frame = (current_frame + 1) % 2; if(isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if(current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if(current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } diff --git a/keyboards/sofle/keymaps/helltm/keymap.c b/keyboards/sofle/keymaps/helltm/keymap.c index c0fd5edb5e..4624bc4700 100644 --- a/keyboards/sofle/keymaps/helltm/keymap.c +++ b/keyboards/sofle/keymaps/helltm/keymap.c @@ -188,7 +188,6 @@ static uint16_t held_shift = 0; /* timers */ uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; /* current frame */ uint8_t current_frame = 0; @@ -280,35 +279,37 @@ static void render_luna(int LUNA_X, int LUNA_Y) { /* current status */ if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(bark[current_frame], ANIM_SIZE); } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } +# if OLED_TIMEOUT > 0 + /* the animation prevents the normal timeout from occuring */ + if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) { + oled_off(); + return; + } else { + oled_on(); + } +# endif + /* animation timer */ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { anim_timer = timer_read32(); animate_luna(); } - - /* this fixes the screen on and off bug */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - } } /* KEYBOARD PET END */ diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h index 9d1de12d5a..db44250c17 100644 --- a/keyboards/sofle/keymaps/killmaster/config.h +++ b/keyboards/sofle/keymaps/killmaster/config.h @@ -25,7 +25,7 @@ for more options. #ifdef RGB_MATRIX_ENABLE #define RGBLED_NUM 72 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. #define RGB_MATRIX_HUE_STEP 8 #define RGB_MATRIX_SAT_STEP 8 diff --git a/keyboards/sofle/keymaps/noqmk/keymap.c b/keyboards/sofle/keymaps/noqmk/keymap.c index ae92a7ec7f..29afbcb842 100644 --- a/keyboards/sofle/keymaps/noqmk/keymap.c +++ b/keyboards/sofle/keymaps/noqmk/keymap.c @@ -167,7 +167,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef OLED_ENABLE bool show_lock = true; // this is used to display the lock icon and disable keypresses when the keyboard is locked -bool animate = true; // this variable is used to fix the flickering bug static void render_logo(void) { static const char PROGMEM no_qmk[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -230,7 +229,6 @@ static const char PROGMEM mac_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* timers */ uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; /* current frame */ uint8_t current_frame = 0; @@ -322,36 +320,36 @@ static void render_luna(int LUNA_X, int LUNA_Y) { /* current status */ if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(bark[current_frame], ANIM_SIZE); } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sneak[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(sit[current_frame], ANIM_SIZE); } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(walk[current_frame], ANIM_SIZE); } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); + oled_write_raw_P(run[current_frame], ANIM_SIZE); } } - /* animation timer, stops the animation logic when the oled is turned off */ - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION && animate == true) { - anim_timer = timer_read32(); - animate_luna(); +# if OLED_TIMEOUT > 0 + /* the animation prevents the normal timeout from occuring */ + if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) { + oled_off(); + return; + } else { + oled_on(); } +# endif - /* this fixes the screen on and off bug by disabling the animation logic when the oled is off */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - animate = true; - } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - oled_off(); - animate = false; + /* animation timer */ + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animate_luna(); } } diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h index c34da8382b..a0341e5c6b 100644 --- a/keyboards/sofle/keymaps/rgb_default/config.h +++ b/keyboards/sofle/keymaps/rgb_default/config.h @@ -51,7 +51,7 @@ #ifdef RGB_MATRIX_ENABLE #define RGBLED_NUM 35 // Number of LEDs #define RGBLED_NUM 35 // Number of LEDs -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif #ifdef RGBLIGHT_ENABLE @@ -83,10 +83,9 @@ #ifdef RGB_MATRIX_ENABLE # 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_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_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/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h index 77ce4f2590..0fb2cbf36d 100644 --- a/keyboards/sofle/keymaps/via/config.h +++ b/keyboards/sofle/keymaps/via/config.h @@ -29,7 +29,7 @@ for more options. # define RGBLED_SPLIT \ { 36, 36 } # ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_SPLIT RGBLED_SPLIT # define SPLIT_TRANSPORT_MIRROR # else diff --git a/keyboards/sofle/rev1/config.h b/keyboards/sofle/rev1/config.h index 26d35982df..1556dc716e 100644 --- a/keyboards/sofle/rev1/config.h +++ b/keyboards/sofle/rev1/config.h @@ -23,6 +23,4 @@ #define TAP_CODE_DELAY 10 /* communication between sides */ -#define USE_SERIAL -#define SERIAL_USE_MULTI_TRANSACTION #define SOFT_SERIAL_PIN D2 diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h index 44d75e670a..48b13e6a28 100644 --- a/keyboards/sowbug/68keys/config.h +++ b/keyboards/sowbug/68keys/config.h @@ -40,7 +40,7 @@ // #define BACKLIGHT_PIN rgb_matrix #define RGB_MATRIX_KEYPRESSES #define RGBLED_NUM 68 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 // RGB Matrix Animation modes. Explicitly enabled diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h index e4752f9425..f34d4434ff 100644 --- a/keyboards/sowbug/ansi_tkl/config.h +++ b/keyboards/sowbug/ansi_tkl/config.h @@ -36,7 +36,7 @@ #define RGB_DI_PIN B9 #define RGB_MATRIX_KEYPRESSES #define RGBLED_NUM 87 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128 diff --git a/keyboards/spaceholdings/nebula12/config.h b/keyboards/spaceholdings/nebula12/config.h index 97623f0ff0..07b2e9fc6c 100755 --- a/keyboards/spaceholdings/nebula12/config.h +++ b/keyboards/spaceholdings/nebula12/config.h @@ -144,7 +144,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 16 +#define RGB_MATRIX_LED_COUNT 16 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/spaceholdings/nebula12b/config.h b/keyboards/spaceholdings/nebula12b/config.h index ac3826b253..b4e319b603 100755 --- a/keyboards/spaceholdings/nebula12b/config.h +++ b/keyboards/spaceholdings/nebula12b/config.h @@ -68,7 +68,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB options */ #define RGB_DI_PIN D5 -#define DRIVER_LED_TOTAL 16 +#define RGB_MATRIX_LED_COUNT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/spaceholdings/nebula68/config.h b/keyboards/spaceholdings/nebula68/config.h index a8a9803d15..0d2db2c824 100755 --- a/keyboards/spaceholdings/nebula68/config.h +++ b/keyboards/spaceholdings/nebula68/config.h @@ -128,7 +128,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 } #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 128 +#define RGB_MATRIX_LED_COUNT 128 // These define which keys in the matrix are alphas/mods // Used for backlight effects so colors are different for diff --git a/keyboards/spaceholdings/nebula68b/config.h b/keyboards/spaceholdings/nebula68b/config.h index 4e22e69e10..b95adb0508 100755 --- a/keyboards/spaceholdings/nebula68b/config.h +++ b/keyboards/spaceholdings/nebula68b/config.h @@ -68,7 +68,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB options */ #define RGB_DI_PIN B7 -#define DRIVER_LED_TOTAL 79 +#define RGB_MATRIX_LED_COUNT 79 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 130 #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/spaceholdings/nebula68b/hs/config.h b/keyboards/spaceholdings/nebula68b/hs/config.h index ac25a8ef1d..b66344facc 100755 --- a/keyboards/spaceholdings/nebula68b/hs/config.h +++ b/keyboards/spaceholdings/nebula68b/hs/config.h @@ -15,5 +15,5 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#undef DRIVER_LED_TOTAL -#define DRIVER_LED_TOTAL 78 +#undef RGB_MATRIX_LED_COUNT +#define RGB_MATRIX_LED_COUNT 78 diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/config.h b/keyboards/spaceman/2_milk/keymaps/emoji/config.h index 90e4d63102..2d86c008d5 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/config.h +++ b/keyboards/spaceman/2_milk/keymaps/emoji/config.h @@ -1,2 +1,2 @@ -#define UNICODE_SELECTED_MODES UC_LNX, UC_OSX, UC_WIN, UC_WINC +#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC #define TAPPING_TERM 300
\ No newline at end of file diff --git a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md index 1d5a08730d..3bcc4831b3 100644 --- a/keyboards/spaceman/2_milk/keymaps/emoji/readme.md +++ b/keyboards/spaceman/2_milk/keymaps/emoji/readme.md @@ -16,7 +16,7 @@ You can change it permanently tapping 2 times the KeyOne to select the next mode ## Unicode Mode List - UC_LNX -- UC_OSX +- UC_MAC - UC_WIN - UC_WINC diff --git a/keyboards/spacetime/config.h b/keyboards/spacetime/config.h index b331c8bcab..14e305f2ab 100644 --- a/keyboards/spacetime/config.h +++ b/keyboards/spacetime/config.h @@ -43,7 +43,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 -#define USE_SERIAL // #define BACKLIGHT_PIN B7 // #define BACKLIGHT_BREATHING diff --git a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk index e57dd11f13..882a3fba09 100644 --- a/keyboards/splitkb/kyria/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk @@ -18,7 +18,7 @@ ifeq ($(strip $(KEYBOARD)), splitkb/kyria/rev1/proton_c) SWAP_HANDS_ENABLE = yes LTO_ENABLE = no ENCODER_MAP_ENABLE = yes - AUTOCORRECTION_ENABLE = yes + AUTOCORRECT_ENABLE = yes CAPS_WORD_ENABLE = yes OLED_DRIVER = custom else diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index f6f9a98c3e..7bc756c042 100644 --- a/keyboards/splitkb/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -82,7 +82,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB matrix support */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs +# define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 # define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h index 6af99e0a7c..1733eddf9a 100644 --- a/keyboards/splitkb/kyria/rev2/config.h +++ b/keyboards/splitkb/kyria/rev2/config.h @@ -92,7 +92,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* RGB matrix support */ #ifdef RGB_MATRIX_ENABLE # define SPLIT_TRANSPORT_MIRROR -# define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs +# define RGB_MATRIX_LED_COUNT RGBLED_NUM // Number of LEDs # define RGB_MATRIX_SPLIT { 10, 10 } # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170 # define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/synapse/config.h b/keyboards/synapse/config.h index b4311c1402..c52ae2edc8 100644 --- a/keyboards/synapse/config.h +++ b/keyboards/synapse/config.h @@ -46,5 +46,5 @@ //#define RGB_DI_PIN D5 //#define RGBLED_NUM 4 -//#define DRIVER_LED_TOTAL RGBLED_NUM +//#define RGB_MATRIX_LED_COUNT RGBLED_NUM //#define RGBLIGHT_DEFAULT_HUE 130 diff --git a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c index 3e55f346f1..8da2afc97a 100644 --- a/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c +++ b/keyboards/synthlabs/solo/keymaps/gamepad/keymap.c @@ -3,8 +3,6 @@ #include QMK_KEYBOARD_H -#include "joystick.h" - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( JS_BUTTON0,JS_BUTTON1,JS_BUTTON2,JS_BUTTON3,JS_BUTTON4,JS_BUTTON5,JS_BUTTON6, @@ -24,11 +22,8 @@ joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = { bool encoder_update_kb(uint8_t index, bool clockwise) { joystick_position += (clockwise ? 2 : -2) * (full_joystick_value / pulses_per_revolution); // +2 and -2 are used, since +1.0 and -1.0 axis output refers to positions at half of a full rotation + joystick_set_axis(0, joystick_position); - if (joystick_position != joystick_status.axes[0]) { - joystick_status.axes[0] = joystick_position; - joystick_status.status |= JS_UPDATED; - } return true; } diff --git a/keyboards/system76/launch_1/config.h b/keyboards/system76/launch_1/config.h index 50a6e6f9d7..739a3c78f8 100644 --- a/keyboards/system76/launch_1/config.h +++ b/keyboards/system76/launch_1/config.h @@ -43,12 +43,10 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DI_PIN E2 -# define DRIVER_LED_TOTAL 84 +# define RGB_MATRIX_LED_COUNT 84 # 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_TIMEOUT 0 // Number of milliseconds to wait until RGB automatically turns off -# define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: Number of ticks to wait until disabling effects # define RGB_DISABLE_WHEN_USB_SUSPENDED // Turns off effects when suspended // Limit brightness to support USB-A at 0.5 A // TODO: Do this dynamically based on power source diff --git a/keyboards/system76/launch_1/rgb_matrix_kb.inc b/keyboards/system76/launch_1/rgb_matrix_kb.inc index 484483e0a1..02de10ed50 100644 --- a/keyboards/system76/launch_1/rgb_matrix_kb.inc +++ b/keyboards/system76/launch_1/rgb_matrix_kb.inc @@ -24,13 +24,13 @@ RGB_MATRIX_EFFECT(unlocked) #include "dynamic_keymap.h" static bool active_keys_initialized = false; -static uint8_t active_keys_table[DRIVER_LED_TOTAL] = {0}; +static uint8_t active_keys_table[RGB_MATRIX_LED_COUNT] = {0}; static void active_keys_initialize(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { uint8_t led = g_led_config.matrix_co[row][col]; - if (led < DRIVER_LED_TOTAL && row < 16 && col < 16) { + if (led < RGB_MATRIX_LED_COUNT && row < 16 && col < 16) { active_keys_table[led] = (row << 4) | col; } } @@ -65,10 +65,10 @@ static bool active_keys(effect_params_t* params) { } } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } -RGB raw_rgb_data[DRIVER_LED_TOTAL] = {0}; +RGB raw_rgb_data[RGB_MATRIX_LED_COUNT] = {0}; static uint8_t normalize_component(uint8_t component) { uint16_t x = (uint16_t)component; @@ -94,7 +94,7 @@ static bool raw_rgb(effect_params_t* params) { RGB rgb = normalize_index(i); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } static uint8_t unlocked_keys[8][2] = { @@ -151,7 +151,7 @@ static bool unlocked(effect_params_t* params) { RGB rgb = hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/keyboards/system76/system76_ec.c b/keyboards/system76/system76_ec.c index f6c8af82fe..5474181eca 100644 --- a/keyboards/system76/system76_ec.c +++ b/keyboards/system76/system76_ec.c @@ -129,7 +129,7 @@ static enum rgb_matrix_effects mode_map[] = { _Static_assert(sizeof(mode_map) == MODE_LAST, "mode_map_length"); -RGB raw_rgb_data[DRIVER_LED_TOTAL]; +RGB raw_rgb_data[RGB_MATRIX_LED_COUNT]; // clang-format off rgb_config_t layer_rgb[DYNAMIC_KEYMAP_LAYER_COUNT] = { @@ -294,7 +294,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { case CMD_LED_GET_COLOR: if (!bootloader_unlocked) { uint8_t index = data[2]; - if (index < DRIVER_LED_TOTAL) { + if (index < RGB_MATRIX_LED_COUNT) { data[3] = raw_rgb_data[index].r; data[4] = raw_rgb_data[index].g; data[5] = raw_rgb_data[index].b; @@ -322,7 +322,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { .b = data[5], }; - if (index < DRIVER_LED_TOTAL) { + if (index < RGB_MATRIX_LED_COUNT) { raw_rgb_data[index] = rgb; data[1] = 0; } else { diff --git a/keyboards/tanuki/keymaps/tucznak/config.h b/keyboards/tanuki/keymaps/tucznak/config.h index 4f2a778ff2..37d42c0814 100644 --- a/keyboards/tanuki/keymaps/tucznak/config.h +++ b/keyboards/tanuki/keymaps/tucznak/config.h @@ -3,23 +3,16 @@ #undef MANUFACTURER #undef PRODUCT -#define MANUFACTURER Potato Inc. -#define PRODUCT Trash Panda +#define MANUFACTURER "Potato Inc." +#define PRODUCT "Trash Panda" /* for bootloader */ #define QMK_ESC_OUTPUT B2 #define QMK_ESC_INPUT D0 #define QMK_LED B0 -/* turn off RGB when computer sleeps */ -#ifdef RGBLIGHT_ENABLE -#define RGBLIGHT_SLEEP -#endif - /* send tap key if no layer key was used even after tap delay */ -#ifdef TAPPING_TERM #undef TAPPING_TERM -#endif #define TAPPING_TERM 250 #define RETRO_TAPPING #define TAPPING_TOGGLE 2 diff --git a/keyboards/terrazzo/config.h b/keyboards/terrazzo/config.h index ec4ded7eb9..1d7224a09b 100644 --- a/keyboards/terrazzo/config.h +++ b/keyboards/terrazzo/config.h @@ -76,7 +76,7 @@ so there is only one configuration. */ #define LED_DRIVER_ADDR_1 0x74 #define LED_DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 105 +#define LED_MATRIX_LED_COUNT 105 #define LED_MATRIX_ROWS 15 #define LED_MATRIX_COLS 7 #define LED_MATRIX_MAXIMUM_BRIGHTNESS 20 diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c index 731efec20c..cc62225de7 100644 --- a/keyboards/terrazzo/terrazzo.c +++ b/keyboards/terrazzo/terrazzo.c @@ -21,7 +21,7 @@ #include "print.h" #include "quantum.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[LED_MATRIX_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 */ @@ -90,7 +90,7 @@ uint8_t terrazzo_effect = 1; void terrazzo_set_pixel(uint8_t x, uint8_t y, uint8_t value) { uint8_t target = y * LED_MATRIX_COLS + x; - if (target < DRIVER_LED_TOTAL && target >= 0) { + if (target < LED_MATRIX_LED_COUNT && target >= 0) { led_matrix_set_value(y * LED_MATRIX_COLS + x, value); } } @@ -115,12 +115,12 @@ void terrazzo_scroll_pixel(bool clockwise) { terrazzo_led_index = terrazzo_led_index + 1; } else { terrazzo_led_index = terrazzo_led_index - 1; - } - - if (terrazzo_led_index >= DRIVER_LED_TOTAL) { + } + + if (terrazzo_led_index >= LED_MATRIX_LED_COUNT) { terrazzo_led_index = 0; } else if (terrazzo_led_index <= 0 ) { - terrazzo_led_index = DRIVER_LED_TOTAL - 1; + terrazzo_led_index = LED_MATRIX_LED_COUNT - 1; } } @@ -156,8 +156,12 @@ void terrazzo_render(void) { } } -void led_matrix_indicators_kb(void) { +bool led_matrix_indicators_kb(void) { + if (!led_matrix_indicators_user()) { + return false; + } terrazzo_render(); + return true; } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { @@ -194,4 +198,4 @@ void suspend_wakeup_init_kb(void) { } -#endif
\ No newline at end of file +#endif diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h index 0a52f2e3af..a0ad0c1652 100644 --- a/keyboards/tkc/portico/config.h +++ b/keyboards/tkc/portico/config.h @@ -33,7 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 -# 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_KEYPRESSES # undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN @@ -58,12 +57,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 36 # define DRIVER_2_LED_TOTAL 31 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #else // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 67 +#define RGB_MATRIX_LED_COUNT 67 #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/tkc/portico/portico.c b/keyboards/tkc/portico/portico.c index 0e2b4b2499..e41de1c232 100644 --- a/keyboards/tkc/portico/portico.c +++ b/keyboards/tkc/portico/portico.c @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { { 0, C2_1, C3_1, C4_1 }, { 0, C1_1, C3_2, C4_2 }, { 0, C1_2, C2_2, C4_3 }, @@ -115,25 +115,20 @@ led_config_t g_led_config = { } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } - else { + else { rgb_matrix_set_color(30, 0x00, 0x00, 0x00); } if (!rgb_matrix_is_enabled()) { rgb_matrix_driver.flush(); } + return true; } -#endif
\ No newline at end of file +#endif + diff --git a/keyboards/tkc/portico68v2/config.h b/keyboards/tkc/portico68v2/config.h index 5cfdf43c3d..4b6d5a2ef6 100644 --- a/keyboards/tkc/portico68v2/config.h +++ b/keyboards/tkc/portico68v2/config.h @@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DRIVER_ADDR_1 0b0110000 #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 82 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL #define DRIVER_INDICATOR_LED_TOTAL 0 #define RGB_MATRIX_CENTER { 116, 32 } #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175 diff --git a/keyboards/tkc/portico68v2/portico68v2.c b/keyboards/tkc/portico68v2/portico68v2.c index 8e98034ca5..32c8f50894 100644 --- a/keyboards/tkc/portico68v2/portico68v2.c +++ b/keyboards/tkc/portico68v2/portico68v2.c @@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "portico68v2.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_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 */ @@ -128,7 +128,10 @@ led_config_t g_led_config = { } }; -void rgb_matrix_indicators_kb(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { for (uint8_t i = 0; i < DRIVER_1_LED_TOTAL; i++) { rgb_matrix_set_color(i, 0xFF, 0xFF, 0xFF); @@ -141,5 +144,6 @@ void rgb_matrix_indicators_kb(void) { } } } + return true; } #endif diff --git a/keyboards/tkc/portico75/config.h b/keyboards/tkc/portico75/config.h index 63a9ee4958..36bd7b3ed5 100644 --- a/keyboards/tkc/portico75/config.h +++ b/keyboards/tkc/portico75/config.h @@ -44,7 +44,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 -# 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_KEYPRESSES @@ -100,12 +99,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # define DRIVER_ADDR_1 0b0110000 # define DRIVER_COUNT 1 # define DRIVER_1_LED_TOTAL 98 -# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +# define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL # define DRIVER_INDICATOR_LED_TOTAL 0 #else // WT_RGB IS31FL3741 driver code # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 98 +# define RGB_MATRIX_LED_COUNT 98 # define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/tkc/portico75/portico75.c b/keyboards/tkc/portico75/portico75.c index 812345b384..299af2f305 100644 --- a/keyboards/tkc/portico75/portico75.c +++ b/keyboards/tkc/portico75/portico75.c @@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, CS18_SW1, CS17_SW1, CS16_SW1}, {0, CS18_SW2, CS17_SW2, CS16_SW2}, {0, CS18_SW3, CS17_SW3, CS16_SW3}, @@ -161,13 +161,14 @@ led_config_t g_led_config = { { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, } }; -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) -{ - if (host_keyboard_led_state().caps_lock) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(45, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/tominabox1/le_chiffre/config.h b/keyboards/tominabox1/le_chiffre/config.h index e5715bdbce..f6fed063c5 100644 --- a/keyboards/tominabox1/le_chiffre/config.h +++ b/keyboards/tominabox1/le_chiffre/config.h @@ -39,7 +39,7 @@ #define RGBLED_NUM 11 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/torn/bongocat.c b/keyboards/torn/bongocat.c index 21322c9536..9d6d9a85f5 100644 --- a/keyboards/torn/bongocat.c +++ b/keyboards/torn/bongocat.c @@ -18,8 +18,6 @@ #ifdef OLED_ENABLE -#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0])) - #define IDLE_SPEED 20 // idle below this wpm #define TAP_SPEED 60 // tap above this wpm diff --git a/keyboards/tzarc/djinn/djinn_portscan_matrix.c b/keyboards/tzarc/djinn/djinn_portscan_matrix.c index f0ae9721f9..6fcfd48bba 100644 --- a/keyboards/tzarc/djinn/djinn_portscan_matrix.c +++ b/keyboards/tzarc/djinn/djinn_portscan_matrix.c @@ -92,11 +92,11 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) { void matrix_wait_for_interrupt(void) { // Set up row/col pins and attach callback - for (int i = 0; i < sizeof(col_pins) / sizeof(pin_t); ++i) { + for (int i = 0; i < ARRAY_SIZE(col_pins); ++i) { setPinOutput(col_pins[i]); writePinLow(col_pins[i]); } - for (int i = 0; i < sizeof(row_pins) / sizeof(pin_t); ++i) { + for (int i = 0; i < ARRAY_SIZE(row_pins); ++i) { setPinInputHigh(row_pins[i]); palEnableLineEvent(row_pins[i], PAL_EVENT_MODE_BOTH_EDGES); } @@ -105,12 +105,12 @@ void matrix_wait_for_interrupt(void) { __WFI(); // Now that the interrupt has woken us up, reset all the row/col pins back to defaults - for (int i = 0; i < sizeof(row_pins) / sizeof(pin_t); ++i) { + for (int i = 0; i < ARRAY_SIZE(row_pins); ++i) { palDisableLineEvent(row_pins[i]); writePinHigh(row_pins[i]); setPinInputHigh(row_pins[i]); } - for (int i = 0; i < sizeof(col_pins) / sizeof(pin_t); ++i) { + for (int i = 0; i < ARRAY_SIZE(col_pins); ++i) { writePinHigh(col_pins[i]); setPinInputHigh(col_pins[i]); } diff --git a/keyboards/tzarc/djinn/rev1/config.h b/keyboards/tzarc/djinn/rev1/config.h index 14cdaf2fdb..6f001cbd0c 100644 --- a/keyboards/tzarc/djinn/rev1/config.h +++ b/keyboards/tzarc/djinn/rev1/config.h @@ -21,7 +21,7 @@ // RGB configuration #define RGBLED_NUM 84 -#define DRIVER_LED_TOTAL 84 +#define RGB_MATRIX_LED_COUNT 84 #define RGB_MATRIX_SPLIT \ { 42, 42 } #define RGB_POWER_ENABLE_PIN B1 diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h index 52c909d442..b0deb6d991 100644 --- a/keyboards/tzarc/djinn/rev2/config.h +++ b/keyboards/tzarc/djinn/rev2/config.h @@ -23,7 +23,7 @@ // RGB configuration #define RGBLED_NUM 86 -#define DRIVER_LED_TOTAL 86 +#define RGB_MATRIX_LED_COUNT 86 #define RGB_MATRIX_SPLIT \ { 43, 43 } #define RGB_POWER_ENABLE_PIN B0 diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h index d641bab9cd..328aafc6e4 100644 --- a/keyboards/ungodly/launch_pad/config.h +++ b/keyboards/ungodly/launch_pad/config.h @@ -45,13 +45,12 @@ #define RGB_DI_PIN F7 #ifdef RGB_MATRIX_ENABLE # define RGBLED_NUM 22 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # 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_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_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 50 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/readme.md b/keyboards/unikeyboard/diverge3/keymaps/workman/readme.md index 48ba482fe6..07a5fd9ed6 100644 --- a/keyboards/unikeyboard/diverge3/keymaps/workman/readme.md +++ b/keyboards/unikeyboard/diverge3/keymaps/workman/readme.md @@ -16,6 +16,6 @@ Reverts the number row to the normal 1, 2, 3, etc... for better gaming compatibi ## Layer 3 - Raise Layer -Volume and backlight controls (although backlight is not fully functional using `USE_SERIAL` in `../config.h`). +Volume and backlight controls. ![Raise Layer Misc Buttons Picture](https://i.imgur.com/50L3O62.png) diff --git a/keyboards/uzu42/config.h b/keyboards/uzu42/config.h index 3364d3063d..72bdafd38d 100644 --- a/keyboards/uzu42/config.h +++ b/keyboards/uzu42/config.h @@ -22,5 +22,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifndef SOFT_SERIAL_PIN #define SOFT_SERIAL_PIN D2 -#define SERIAL_USE_MULTI_TRANSACTION #endif diff --git a/keyboards/wekey/we27/config.h b/keyboards/wekey/we27/config.h index a02bc1661a..67428d5dec 100644 --- a/keyboards/wekey/we27/config.h +++ b/keyboards/wekey/we27/config.h @@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // The pin connected to the data pin of the LEDs #define RGB_DI_PIN C6 // The number of LEDs connected -#define DRIVER_LED_TOTAL 27 +#define RGB_MATRIX_LED_COUNT 27 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) diff --git a/keyboards/wilba_tech/rama_works_kara/config.h b/keyboards/wilba_tech/rama_works_kara/config.h index 3ce58330ed..7c9489e922 100644 --- a/keyboards/wilba_tech/rama_works_kara/config.h +++ b/keyboards/wilba_tech/rama_works_kara/config.h @@ -27,7 +27,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/wilba_tech/rama_works_koyu/config.h b/keyboards/wilba_tech/rama_works_koyu/config.h index 8a02f0bd98..9b5048d11a 100644 --- a/keyboards/wilba_tech/rama_works_koyu/config.h +++ b/keyboards/wilba_tech/rama_works_koyu/config.h @@ -27,7 +27,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/wilba_tech/rama_works_m10_c/config.h b/keyboards/wilba_tech/rama_works_m10_c/config.h index d42c329b96..456023d414 100644 --- a/keyboards/wilba_tech/rama_works_m10_c/config.h +++ b/keyboards/wilba_tech/rama_works_m10_c/config.h @@ -47,7 +47,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 1 -#define DRIVER_LED_TOTAL 12 +#define RGB_MATRIX_LED_COUNT 12 // Enable WT RGB backlight #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_m50_a/config.h b/keyboards/wilba_tech/rama_works_m50_a/config.h index fb6ffd8aba..6284a4027a 100644 --- a/keyboards/wilba_tech/rama_works_m50_a/config.h +++ b/keyboards/wilba_tech/rama_works_m50_a/config.h @@ -47,7 +47,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // Enable WT RGB backlight #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_m60_a/config.h b/keyboards/wilba_tech/rama_works_m60_a/config.h index 55fa484716..22abe6ee60 100644 --- a/keyboards/wilba_tech/rama_works_m60_a/config.h +++ b/keyboards/wilba_tech/rama_works_m60_a/config.h @@ -27,7 +27,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/wilba_tech/rama_works_m60_a/keymaps/zyber/keymap.c b/keyboards/wilba_tech/rama_works_m60_a/keymaps/zyber/keymap.c index ea1f771b2c..36d2d6efcd 100644 --- a/keyboards/wilba_tech/rama_works_m60_a/keymaps/zyber/keymap.c +++ b/keyboards/wilba_tech/rama_works_m60_a/keymaps/zyber/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn3 Layer (zeal60 Configuration) [3] = LAYOUT_60_hhkb( - RESET, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, EEP_RST, + QK_BOOT, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/wilba_tech/rama_works_m65_b/config.h b/keyboards/wilba_tech/rama_works_m65_b/config.h index c753a93841..1982b2e8e1 100644 --- a/keyboards/wilba_tech/rama_works_m65_b/config.h +++ b/keyboards/wilba_tech/rama_works_m65_b/config.h @@ -47,7 +47,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // Enable WT RGB backlight #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_m65_bx/config.h b/keyboards/wilba_tech/rama_works_m65_bx/config.h index f0eb52940c..83c2be2001 100644 --- a/keyboards/wilba_tech/rama_works_m65_bx/config.h +++ b/keyboards/wilba_tech/rama_works_m65_bx/config.h @@ -47,7 +47,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // Enable WT RGB backlight #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/rama_works_u80_a/config.h b/keyboards/wilba_tech/rama_works_u80_a/config.h index 44582ada4f..4653556190 100644 --- a/keyboards/wilba_tech/rama_works_u80_a/config.h +++ b/keyboards/wilba_tech/rama_works_u80_a/config.h @@ -99,7 +99,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 3 -#define DRIVER_LED_TOTAL 108 +#define RGB_MATRIX_LED_COUNT 108 #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt60_b/config.h b/keyboards/wilba_tech/wt60_b/config.h index a68cfa5ec2..43a10844da 100644 --- a/keyboards/wilba_tech/wt60_b/config.h +++ b/keyboards/wilba_tech/wt60_b/config.h @@ -50,7 +50,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt60_bx/config.h b/keyboards/wilba_tech/wt60_bx/config.h index cab8276545..d26b3a02ba 100644 --- a/keyboards/wilba_tech/wt60_bx/config.h +++ b/keyboards/wilba_tech/wt60_bx/config.h @@ -50,7 +50,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt60_c/config.h b/keyboards/wilba_tech/wt60_c/config.h index 47636eef4b..489207d56c 100644 --- a/keyboards/wilba_tech/wt60_c/config.h +++ b/keyboards/wilba_tech/wt60_c/config.h @@ -50,7 +50,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 #define RGB_BACKLIGHT_ENABLED 1 diff --git a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h index afb1d86d6c..dc2a125b1e 100644 --- a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h +++ b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h @@ -1,4 +1,4 @@ #pragma once #undef PRODUCT -#define PRODUCT MadHatter\x27s Custom Singa V3 +#define PRODUCT "MadHatter's Custom Singa V3" diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c index a696fe7ed4..e0a04ce32c 100644 --- a/keyboards/wilba_tech/wt_rgb_backlight.c +++ b/keyboards/wilba_tech/wt_rgb_backlight.c @@ -162,7 +162,7 @@ uint32_t g_any_key_hit = 0; // ADDR_2 is not needed. it is here as a dummy #define ISSI_ADDR_1 0x50 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -243,7 +243,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x50 #define ISSI_ADDR_2 0x52 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -386,7 +386,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { // set to 0 for write, 1 for read (as per I2C protocol) #define ISSI_ADDR_1 0x74 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -418,7 +418,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_2 0x76 // 11101[10] <- SDA #define ISSI_ADDR_3 0x75 // 11101[01] <- SCL -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -545,7 +545,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x74 #define ISSI_ADDR_2 0x76 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -626,7 +626,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x74 #define ISSI_ADDR_2 0x77 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -712,7 +712,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x30 #define ISSI_ADDR_2 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -842,7 +842,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x74 #define ISSI_ADDR_2 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C1_9, C3_10, C4_10}, // LB1 {0, C1_10, C2_10, C4_11}, // LB2 {0, C1_11, C2_11, C3_11}, // LB3 @@ -862,7 +862,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { #define ISSI_ADDR_1 0x74 #define ISSI_ADDR_2 0x76 -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -1832,12 +1832,12 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) IS31FL3733_set_color( index, red, green, blue ); } #elif defined(RGB_BACKLIGHT_DAWN60) - if( index < DRIVER_LED_TOTAL ) { + if( index < RGB_MATRIX_LED_COUNT ) { IS31FL3731_set_color( index, red, green, blue ); } else { - g_ws2812_leds[index - DRIVER_LED_TOTAL].r = red; - g_ws2812_leds[index - DRIVER_LED_TOTAL].g = green; - g_ws2812_leds[index - DRIVER_LED_TOTAL].b = blue; + g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].r = red; + g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].g = green; + g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].b = blue; ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); } #else @@ -2131,9 +2131,9 @@ void backlight_effect_alphas_mods(void) for (int i = 0; i < WS2812_LED_TOTAL; i++) { if ((RGB_UNDERGLOW_ALPHA_TOP_START <= i && i <= RGB_UNDERGLOW_ALPHA_TOP_END) || (RGB_UNDERGLOW_ALPHA_BOT_START <= i && i <= RGB_UNDERGLOW_ALPHA_BOT_END)) { - backlight_set_color(i + DRIVER_LED_TOTAL, rgb1.r, rgb1.g, rgb1.b); + backlight_set_color(i + RGB_MATRIX_LED_COUNT, rgb1.r, rgb1.g, rgb1.b); } else { - backlight_set_color(i + DRIVER_LED_TOTAL, rgb2.r, rgb2.g, rgb2.b); + backlight_set_color(i + RGB_MATRIX_LED_COUNT, rgb2.r, rgb2.g, rgb2.b); } } #endif @@ -2927,7 +2927,7 @@ void backlight_init_drivers(void) #elif defined(RGB_BACKLIGHT_HS60) IS31FL3733_init( ISSI_ADDR_1, 0 ); - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { #if defined(HS60_ANSI) bool enabled = !( ( index == 48-1 ) || //LA48 @@ -2949,7 +2949,7 @@ void backlight_init_drivers(void) IS31FL3733_init( ISSI_ADDR_1, 0 ); IS31FL3733_init( ISSI_ADDR_2, 0 ); - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 6+64-1 ) ); //LB7-LB64 @@ -2964,7 +2964,7 @@ void backlight_init_drivers(void) IS31FL3733_init( ISSI_ADDR_1, 0 ); IS31FL3733_init( ISSI_ADDR_2, 0 ); - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( (index >= 2+64-1) && (index <= 4+64-1) ) || @@ -2994,7 +2994,7 @@ void backlight_init_drivers(void) IS31FL3733_init( ISSI_ADDR_1, 0 ); IS31FL3733_init( ISSI_ADDR_2, 0 ); - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 5+64-1 ) ); //LB6-LB64 @@ -3007,7 +3007,7 @@ void backlight_init_drivers(void) #elif defined(RGB_BACKLIGHT_PORTICO75) IS31FL3741_init( ISSI_ADDR_1 ); bool enabled = true; - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { IS31FL3741_set_led_control_register( index, enabled, enabled, enabled ); } @@ -3017,7 +3017,7 @@ void backlight_init_drivers(void) IS31FL3733_init( ISSI_ADDR_1, 0 ); IS31FL3733_init( ISSI_ADDR_2, 0 ); - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { bool enabled = !( ( index == 61-1 ) || //LA61 ( index > 6+64-1 ) ); //LB7-LB64 @@ -3044,7 +3044,7 @@ void backlight_init_drivers(void) bool disable_spacebar_stab_leds = false; #endif - for ( int index = 0; index < DRIVER_LED_TOTAL; index++ ) + for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) { // OR the possible "disabled" cases together, then NOT the result to get the enabled state // LC6 LD13 not present on Zeal65 diff --git a/keyboards/wilba_tech/zeal60/config.h b/keyboards/wilba_tech/zeal60/config.h index b3c0477342..eaf7b76504 100644 --- a/keyboards/wilba_tech/zeal60/config.h +++ b/keyboards/wilba_tech/zeal60/config.h @@ -27,7 +27,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/wilba_tech/zeal65/config.h b/keyboards/wilba_tech/zeal65/config.h index 27f4fd4b44..d5e83a11e3 100644 --- a/keyboards/wilba_tech/zeal65/config.h +++ b/keyboards/wilba_tech/zeal65/config.h @@ -27,7 +27,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 72 +#define RGB_MATRIX_LED_COUNT 72 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/wilba_tech/zeal65/keymaps/zyber/keymap.c b/keyboards/wilba_tech/zeal65/keymaps/zyber/keymap.c index 747f2dd00c..4129317289 100644 --- a/keyboards/wilba_tech/zeal65/keymaps/zyber/keymap.c +++ b/keyboards/wilba_tech/zeal65/keymaps/zyber/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Fn3 Layer (zeal60 Configuration) [3] = LAYOUT_65_normie( - RESET, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, EEP_RST, KC_TRNS, + QK_BOOT, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, EEP_RST, KC_TRNS, C_BLK, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/winry/winry315/config.h b/keyboards/winry/winry315/config.h index 1a9617c1e3..3d0921590e 100644 --- a/keyboards/winry/winry315/config.h +++ b/keyboards/winry/winry315/config.h @@ -62,7 +62,7 @@ // RGB Matrix configuration. #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL # define RGB_MATRIX_CENTER \ diff --git a/keyboards/winry/winry315/winry315.c b/keyboards/winry/winry315/winry315.c index c741ffeb74..d8042606c0 100644 --- a/keyboards/winry/winry315/winry315.c +++ b/keyboards/winry/winry315/winry315.c @@ -223,7 +223,7 @@ void raw_hid_receive_kb(uint8_t *data, uint8_t length) { void winry315_set_orientation(uint8_t orientation) { (void)orientation; #if defined(RGB_MATRIX_ENABLE) - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; ++i) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; ++i) { led_point_t * dst_point = &g_led_config.point[i]; const led_point_t *src_point = &initial_led_config.point[i]; uint8_t x = pgm_read_byte(&src_point->x); diff --git a/keyboards/work_louder/loop/config.h b/keyboards/work_louder/loop/config.h index 32856ecebf..fc1ce6c902 100644 --- a/keyboards/work_louder/loop/config.h +++ b/keyboards/work_louder/loop/config.h @@ -79,7 +79,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#endif #define RGB_DI_PIN F1 -#define DRIVER_LED_TOTAL 9 +#define RGB_MATRIX_LED_COUNT 9 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set diff --git a/keyboards/work_louder/micro/config.h b/keyboards/work_louder/micro/config.h index a4d5ca2c93..0f1c76ff41 100644 --- a/keyboards/work_louder/micro/config.h +++ b/keyboards/work_louder/micro/config.h @@ -11,7 +11,7 @@ */ #define RGB_DI_PIN D1 -#define DRIVER_LED_TOTAL 12 +#define RGB_MATRIX_LED_COUNT 12 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 #define RGB_MATRIX_DISABLE_KEYCODES #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/work_louder/nano/config.h b/keyboards/work_louder/nano/config.h index 7a7d03b8a3..8d3732e825 100644 --- a/keyboards/work_louder/nano/config.h +++ b/keyboards/work_louder/nano/config.h @@ -80,7 +80,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#endif #define RGB_DI_PIN F6 -#define DRIVER_LED_TOTAL 2 +#define RGB_MATRIX_LED_COUNT 2 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index b22fba4693..de72eaf20a 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -69,7 +69,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#endif #define RGB_DI_PIN D1 -#define DRIVER_LED_TOTAL 49 +#define RGB_MATRIX_LED_COUNT 49 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_DISABLE_KEYCODES #define RGB_DISABLE_WHEN_USB_SUSPENDED diff --git a/keyboards/work_louder/work_board/keymaps/drashna/rules.mk b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk index 6cccd5f8d2..6a98d14daf 100644 --- a/keyboards/work_louder/work_board/keymaps/drashna/rules.mk +++ b/keyboards/work_louder/work_board/keymaps/drashna/rules.mk @@ -6,5 +6,5 @@ NKRO_ENABLE = yes RGBLIGHT_STARTUP_ANIMATION = yes ENCODER_MAP_ENABLE = yes -AUTOCORRECTION_ENABLE = no +AUTOCORRECT_ENABLE = no CUSTOM_UNICODE_ENABLE = no diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c index bd969f3009..928a8abd89 100644 --- a/keyboards/work_louder/work_board/work_board.c +++ b/keyboards/work_louder/work_board/work_board.c @@ -106,7 +106,10 @@ bool via_layout_2u = false; void via_set_layout_options_kb(uint32_t value) { via_layout_2u = (bool)value; } # endif // VIA_ENABLE -__attribute__((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } # ifdef VIA_ENABLE if (via_layout_2u) { rgb_matrix_set_color(5, 0, 0, 0); @@ -118,6 +121,7 @@ __attribute__((weak)) void rgb_matrix_indicators_user(void) { rgb_matrix_set_color(5, 0, 0, 0); rgb_matrix_set_color(7, 0, 0, 0); # endif + return true; } void keyboard_pre_init_kb(void) { diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h index f0fc0f712a..f47695ea91 100644 --- a/keyboards/xbows/knight/config.h +++ b/keyboards/xbows/knight/config.h @@ -27,7 +27,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# 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_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -64,5 +63,5 @@ # define DRIVER_1_LED_TOTAL 36 # define DRIVER_2_LED_TOTAL 35 # define DRIVER_3_LED_TOTAL 15 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) #endif diff --git a/keyboards/xbows/knight/knight.c b/keyboards/xbows/knight/knight.c index 9d9d7cfd10..377c79555d 100644 --- a/keyboards/xbows/knight/knight.c +++ b/keyboards/xbows/knight/knight.c @@ -15,7 +15,7 @@ */ #include "knight.h" #ifdef RGB_MATRIX_ENABLE - const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { + const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 @@ -135,10 +135,15 @@ } }; - __attribute__ ((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h index 91c6dcebd4..6f999e0e07 100644 --- a/keyboards/xbows/knight_plus/config.h +++ b/keyboards/xbows/knight_plus/config.h @@ -27,7 +27,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects # define RGB_MATRIX_KEYPRESSES # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -64,5 +63,5 @@ # define DRIVER_1_LED_TOTAL 36 # define DRIVER_2_LED_TOTAL 35 # define DRIVER_3_LED_TOTAL 15 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) #endif diff --git a/keyboards/xbows/knight_plus/knight_plus.c b/keyboards/xbows/knight_plus/knight_plus.c index bf008fd091..2c377aaf51 100644 --- a/keyboards/xbows/knight_plus/knight_plus.c +++ b/keyboards/xbows/knight_plus/knight_plus.c @@ -15,7 +15,7 @@ */ #include "knight_plus.h" #ifdef RGB_MATRIX_ENABLE - const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { + const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 @@ -135,10 +135,14 @@ } }; - __attribute__ ((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(44, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h index a248fa37bb..e38f0b61e1 100644 --- a/keyboards/xbows/nature/config.h +++ b/keyboards/xbows/nature/config.h @@ -27,7 +27,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# 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_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -66,5 +65,5 @@ # define DRIVER_1_LED_TOTAL 36 # define DRIVER_2_LED_TOTAL 36 # define DRIVER_3_LED_TOTAL 15 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) #endif diff --git a/keyboards/xbows/nature/nature.c b/keyboards/xbows/nature/nature.c index d4957003bd..faa8492123 100644 --- a/keyboards/xbows/nature/nature.c +++ b/keyboards/xbows/nature/nature.c @@ -15,7 +15,7 @@ */ #include "nature.h" #ifdef RGB_MATRIX_ENABLE - const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { + const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C1_3, C2_3, C3_3}, // L01 {0, C1_4, C2_4, C3_4}, // L02 @@ -136,20 +136,14 @@ } }; -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - - __attribute__ ((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(45, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h index 7eb56caea7..6c6a86c5d6 100644 --- a/keyboards/xbows/numpad/config.h +++ b/keyboards/xbows/numpad/config.h @@ -27,7 +27,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# 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_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -59,5 +58,5 @@ # define DRIVER_ADDR_1 0b1110111 # define DRIVER_COUNT 1 -# define DRIVER_LED_TOTAL 22 +# define RGB_MATRIX_LED_COUNT 22 #endif diff --git a/keyboards/xbows/numpad/numpad.c b/keyboards/xbows/numpad/numpad.c index bbc2a1e98a..4d6c256981 100644 --- a/keyboards/xbows/numpad/numpad.c +++ b/keyboards/xbows/numpad/numpad.c @@ -15,7 +15,7 @@ */ #include "numpad.h" #ifdef RGB_MATRIX_ENABLE - const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { + const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C3_3, C2_3, C1_3}, // L01 {0, C3_4, C2_4, C1_4}, // L02 @@ -71,10 +71,14 @@ } }; - __attribute__ ((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().num_lock) { rgb_matrix_set_color(4, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/xbows/ranger/config.h b/keyboards/xbows/ranger/config.h index 6c557bf341..c8627fd2da 100644 --- a/keyboards/xbows/ranger/config.h +++ b/keyboards/xbows/ranger/config.h @@ -27,7 +27,6 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_PROCESS_LIMIT 18 # define RGB_MATRIX_LED_FLUSH_LIMIT 16 -# 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_KEYPRESSES # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -63,6 +62,6 @@ # define DRIVER_1_LED_TOTAL 36 # define DRIVER_2_LED_TOTAL 36 # define DRIVER_3_LED_TOTAL 15 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + DRIVER_3_LED_TOTAL) #endif diff --git a/keyboards/xbows/ranger/ranger.c b/keyboards/xbows/ranger/ranger.c index 9a09918967..4c141cc5d3 100644 --- a/keyboards/xbows/ranger/ranger.c +++ b/keyboards/xbows/ranger/ranger.c @@ -15,7 +15,7 @@ */ #include "ranger.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, C3_3, C2_3, C1_3}, // L01 {0, C3_4, C2_4, C1_4}, // L02 @@ -137,10 +137,14 @@ led_config_t g_led_config = { { }; // clang-format on -__attribute__((weak)) void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(48, 0xFF, 0xFF, 0xFF); } + return true; } #endif diff --git a/keyboards/xbows/woody/config.h b/keyboards/xbows/woody/config.h index d6b7f32c68..c2945cadf6 100644 --- a/keyboards/xbows/woody/config.h +++ b/keyboards/xbows/woody/config.h @@ -10,7 +10,6 @@ #define RGB_MATRIX_LED_PROCESS_LIMIT 4 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 #define DEBOUNCE 3 -#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_KEYPRESSES #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 @@ -69,5 +68,5 @@ # define DRIVER_COUNT 2 # define DRIVER_1_LED_TOTAL 35 # define DRIVER_2_LED_TOTAL 32 -# define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) #endif diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c index 41601d39a9..1f85907f95 100644 --- a/keyboards/xbows/woody/woody.c +++ b/keyboards/xbows/woody/woody.c @@ -1,30 +1,30 @@ #include "woody.h" #ifdef RGB_MATRIX_ENABLE -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { - +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + {0, C8_8, C7_8, C6_8}, // LA17 {0, C9_8, C7_7, C6_7}, // LA16 - {0, C9_7, C8_7, C6_6}, // LA15 + {0, C9_7, C8_7, C6_6}, // LA15 {0, C9_6, C8_6, C7_6}, // LA14 - {0, C9_5, C8_5, C7_5}, // LA13 - {0, C9_4, C8_4, C7_4}, // LA12 - {0, C9_3, C8_3, C7_3}, // LA11 - {0, C9_2, C8_2, C7_2}, // LA10 - {0, C9_1, C8_1, C7_1}, // LA9 + {0, C9_5, C8_5, C7_5}, // LA13 + {0, C9_4, C8_4, C7_4}, // LA12 + {0, C9_3, C8_3, C7_3}, // LA11 + {0, C9_2, C8_2, C7_2}, // LA10 + {0, C9_1, C8_1, C7_1}, // LA9 {0, C2_9, C3_9, C4_9}, // LB0 {0, C1_9, C3_10, C4_10}, // LB1 {0, C1_10, C2_10, C4_11}, // LB2 {0, C1_11, C2_11, C3_11}, // LB3 {0, C1_13, C2_13, C3_13}, // LB5 {0, C1_14, C2_14, C3_14}, // LB6 - + {0, C1_7, C2_7, C3_7}, // LA7 - {0, C1_6, C2_6, C3_6}, // LA6 - {0, C1_5, C2_5, C3_5}, // LA5 - {0, C1_4, C2_4, C3_4}, // LA4 - {0, C1_3, C2_3, C3_3}, // LA3 - {0, C1_2, C2_2, C4_3}, // LA2 - {0, C1_1, C3_2, C4_2}, // LA1 + {0, C1_6, C2_6, C3_6}, // LA6 + {0, C1_5, C2_5, C3_5}, // LA5 + {0, C1_4, C2_4, C3_4}, // LA4 + {0, C1_3, C2_3, C3_3}, // LA3 + {0, C1_2, C2_2, C4_3}, // LA2 + {0, C1_1, C3_2, C4_2}, // LA1 {0, C2_1, C3_1, C4_1}, // LA0 {0, C9_9, C8_9, C7_9}, // LB9 {0, C9_10, C8_10, C7_10}, // LB10 @@ -36,10 +36,10 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, C1_8, C2_8, C3_8}, // LA8 {1, C9_6, C8_6, C7_6}, // LC14 - {1, C9_5, C8_5, C7_5}, // LC13 - {1, C9_4, C8_4, C7_4}, // LC12 - {1, C9_3, C8_3, C7_3}, // LC11 - {1, C9_2, C8_2, C7_2}, // LC10 + {1, C9_5, C8_5, C7_5}, // LC13 + {1, C9_4, C8_4, C7_4}, // LC12 + {1, C9_3, C8_3, C7_3}, // LC11 + {1, C9_2, C8_2, C7_2}, // LC10 {1, C9_1, C8_1, C7_1}, // LC9 {1, C2_9, C3_9, C4_9}, // LD0 {1, C1_9, C3_10, C4_10}, // LD1 @@ -52,8 +52,8 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {1, C9_8, C7_7, C6_7}, // LC16 {1, C1_5, C2_5, C3_5}, // LC5 {1, C1_4, C2_4, C3_4}, // LC4 - {1, C1_3, C2_3, C3_3}, // LC3 - {1, C1_2, C2_2, C4_3}, // LC2 + {1, C1_3, C2_3, C3_3}, // LC3 + {1, C1_2, C2_2, C4_3}, // LC2 {1, C1_1, C3_2, C4_2}, // LC1 {1, C9_9, C8_9, C7_9}, // LD9 {1, C9_10, C8_10, C7_10}, // LD10 @@ -65,7 +65,7 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { {0, C9_15, C8_15, C6_14}, // LB15 {1, C8_8, C7_8, C6_8}, // LC17 - {1, C1_8, C2_8, C3_8}, // LC8 + {1, C1_8, C2_8, C3_8}, // LC8 {1, C1_7, C2_7, C3_7}, // LC7 {1, C2_1, C3_1, C4_1}, // LC0 {1, C9_14, C8_14, C7_14}, // LD14 @@ -91,29 +91,18 @@ led_config_t g_led_config = { { }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1 } }; #endif -void suspend_power_down_kb(void) -{ - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) -{ - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} -__attribute__ ((weak)) - -void rgb_matrix_indicators_user(void) -{ - if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)) - { +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (IS_LED_ON(host_keyboard_leds(), USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); } + return true; } diff --git a/keyboards/xelus/dawn60/rev1/config.h b/keyboards/xelus/dawn60/rev1/config.h index 4b3a1641b9..af4c31e478 100644 --- a/keyboards/xelus/dawn60/rev1/config.h +++ b/keyboards/xelus/dawn60/rev1/config.h @@ -31,7 +31,7 @@ // IS31FL3731 driver #define DRIVER_COUNT 2 -#define DRIVER_LED_TOTAL 64 +#define RGB_MATRIX_LED_COUNT 64 // COL2ROW or ROW2COL #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h index 11c59f8847..755e2c9000 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/config.h +++ b/keyboards/xelus/dawn60/rev1_qmk/config.h @@ -48,7 +48,7 @@ #define DRIVER_1_LED_TOTAL 32 #define DRIVER_2_LED_TOTAL 32 #define ISSI_DRIVER_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) -#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + WS2812_LED_TOTAL) +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL + WS2812_LED_TOTAL) #define RGB_MATRIX_STARTUP_VAL 80 #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c index 8b044ee4f6..203ad4b5c6 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c +++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c @@ -25,7 +25,7 @@ #ifdef RGB_MATRIX_ENABLE LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL]; -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h index 40d53adb06..9561596fd0 100755 --- a/keyboards/xelus/la_plus/config.h +++ b/keyboards/xelus/la_plus/config.h @@ -42,7 +42,7 @@ // The pin connected to the data pin of the LEDs #define RGB_DI_PIN F1 // The number of LEDs connected -#define DRIVER_LED_TOTAL 32 +#define RGB_MATRIX_LED_COUNT 32 #define RGB_MATRIX_STARTUP_VAL 80 #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended diff --git a/keyboards/xelus/pachi/rgb/rev1/config.h b/keyboards/xelus/pachi/rgb/rev1/config.h index 9eda99ed32..9b14fbcbf5 100644 --- a/keyboards/xelus/pachi/rgb/rev1/config.h +++ b/keyboards/xelus/pachi/rgb/rev1/config.h @@ -58,8 +58,8 @@ #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 117 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL -#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL +#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT #define RGB_MATRIX_STARTUP_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/xelus/pachi/rgb/rev1/rev1.c b/keyboards/xelus/pachi/rgb/rev1/rev1.c index 7074265009..7dd446a41e 100644 --- a/keyboards/xelus/pachi/rgb/rev1/rev1.c +++ b/keyboards/xelus/pachi/rgb/rev1/rev1.c @@ -22,7 +22,7 @@ void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } #ifdef RGB_MATRIX_ENABLE #include "i2c_master.h" #include "drivers/led/issi/is31fl3741.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h index 6295228c31..52a8331867 100644 --- a/keyboards/xelus/pachi/rgb/rev2/config.h +++ b/keyboards/xelus/pachi/rgb/rev2/config.h @@ -55,8 +55,8 @@ #define DRIVER_COUNT 1 #define DRIVER_1_LED_TOTAL 117 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL -#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL +#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL +#define ISSI_DRIVER_TOTAL RGB_MATRIX_LED_COUNT #define RGB_MATRIX_STARTUP_VAL 80 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c index f8ca9ec53e..53552d2909 100644 --- a/keyboards/xelus/pachi/rgb/rev2/rev2.c +++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c @@ -22,7 +22,7 @@ void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } #ifdef RGB_MATRIX_ENABLE #include "i2c_master.h" #include "drivers/led/issi/is31fl3741.h" -const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h index 44a16e9b7e..875d8e988f 100644 --- a/keyboards/xelus/valor/rev2/config.h +++ b/keyboards/xelus/valor/rev2/config.h @@ -58,7 +58,7 @@ /* RGB Matrix */ #define RGB_DI_PIN A9 #define RGBLED_NUM 28 -#define DRIVER_LED_TOTAL 28 +#define RGB_MATRIX_LED_COUNT 28 #define NOP_FUDGE 0.4 // RGB PWM diff --git a/keyboards/xelus/valor/rev2/keymaps/default/keymap.c b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c index d98ffe8e95..20ac204777 100644 --- a/keyboards/xelus/valor/rev2/keymaps/default/keymap.c +++ b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // caps lock cyan if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 128, 128); @@ -75,5 +75,6 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128); break; } + return false; } #endif diff --git a/keyboards/xelus/valor/rev2/keymaps/via/keymap.c b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c index f8bed2dd49..c1ed227eff 100644 --- a/keyboards/xelus/valor/rev2/keymaps/via/keymap.c +++ b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // caps lock cyan if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 128, 128); @@ -123,5 +123,6 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128); break; } + return false; } #endif diff --git a/keyboards/xiudi/xd75/keymaps/mtdjr/config.h b/keyboards/xiudi/xd75/keymaps/mtdjr/config.h index 3c8b17df1f..f70569b024 100644 --- a/keyboards/xiudi/xd75/keymaps/mtdjr/config.h +++ b/keyboards/xiudi/xd75/keymaps/mtdjr/config.h @@ -18,5 +18,4 @@ // place overrides here #undef MANUFACTURER -#define MANUFACTURER mtdjr -#define PRODUCT XD75 +#define MANUFACTURER "mtdjr" diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c index 6d1c9d812e..194eac9d89 100644 --- a/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c +++ b/keyboards/xiudi/xd75/keymaps/raoeus/keymap.c @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * .--------------------------------------------------------------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | Reset | Debug | | | | | TermOf | TermOn | | | Del | | | | + * | | Reset | Debug | | | | | | | | | Del | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | | | | | | AGNorm | AGSwap | QWERTY | STENO | | | PLAIN | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| @@ -121,11 +121,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ [_BOTH] = LAYOUT_ortho_5x15( - 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_BOOT, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, _______, _______, _______, - _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, STENO, _______, _______, RGB_M_P, _______, _______, _______, - RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, - RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______) + 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_BOOT, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, + _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, STENO, _______, _______, RGB_M_P, _______, _______, _______, + RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, + RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/xiudi/xd75/keymaps/raoeus/readme.md b/keyboards/xiudi/xd75/keymaps/raoeus/readme.md index 40da8596e5..fdb1095881 100644 --- a/keyboards/xiudi/xd75/keymaps/raoeus/readme.md +++ b/keyboards/xiudi/xd75/keymaps/raoeus/readme.md @@ -66,7 +66,7 @@ To compile _and_ flash, please run `make xiudi/xd75:raoeus:flash` * .--------------------------------------------------------------------------------------------------------------------------------------. * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - * | | Reset | Debug | | | | | TermOf | TermOn | | | Del | | | | + * | | Reset | Debug | | | | | | | | | Del | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| * | | | | | | AGNorm | AGSwap | QWERTY | STENO | | | PLAIN | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h index 665cc96275..224eb16bb3 100644 --- a/keyboards/yandrstudio/nz64/config.h +++ b/keyboards/yandrstudio/nz64/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DI_PIN A7 # define RGBLED_NUM 82 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 # define WS2812_PWM_CHANNEL 2 // default: 2 @@ -105,7 +105,7 @@ #ifdef RGBLIGHT_ENABLE # define RGB_DI_PIN A7 # define RGBLED_NUM 82 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 # define WS2812_PWM_CHANNEL 2 // default: 2 diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c index 9945dec04e..8b64d36fd1 100644 --- a/keyboards/yandrstudio/nz64/nz64.c +++ b/keyboards/yandrstudio/nz64/nz64.c @@ -57,7 +57,10 @@ led_config_t g_led_config = { } }; -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_kb(led_min, led_max)) { + return false; + } if (rgb_matrix_is_enabled()) { if (kb_cums.underground_rgb_sw == 1) { for (uint8_t i = led_min; i < led_max; ++i) { @@ -75,6 +78,7 @@ void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { } else { rgb_matrix_set_color_all(0,0,0); } + return true; } void eeconfig_init_kb(void) { diff --git a/keyboards/yandrstudio/nz67v2/config.h b/keyboards/yandrstudio/nz67v2/config.h index 5d0aa382de..faa7f82141 100644 --- a/keyboards/yandrstudio/nz67v2/config.h +++ b/keyboards/yandrstudio/nz67v2/config.h @@ -46,12 +46,11 @@ # define RGB_DI_PIN B5 # define RGBLED_NUM 86 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 # define RGBLIGHT_VAL_STEP 5 # define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_CENTER { 112, 32 } # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c index b8caa96bc0..64e287b868 100644 --- a/keyboards/yandrstudio/nz67v2/nz67v2.c +++ b/keyboards/yandrstudio/nz67v2/nz67v2.c @@ -54,7 +54,10 @@ led_config_t g_led_config = { } }; -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { +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 (rgb_matrix_is_enabled()) { if (kb_cums.underground_rgb_sw == 1) { for (uint8_t i = led_min; i < led_max; ++i) { @@ -75,6 +78,7 @@ void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(25, rgblight_get_val(), rgblight_get_val(), rgblight_get_val()); } + return true; } diff --git a/keyboards/yandrstudio/tg67/config.h b/keyboards/yandrstudio/tg67/config.h index 729375f987..d4ef221dee 100644 --- a/keyboards/yandrstudio/tg67/config.h +++ b/keyboards/yandrstudio/tg67/config.h @@ -35,12 +35,11 @@ # define RGB_DI_PIN A7 # define RGBLED_NUM 69 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 250 # define RGBLIGHT_VAL_STEP 5 # define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_CENTER { 112, 32 } # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGBLIGHT_ANIMATIONS diff --git a/keyboards/yanghu/unicorne/config.h b/keyboards/yanghu/unicorne/config.h index 749f7f69e4..285f3209aa 100644 --- a/keyboards/yanghu/unicorne/config.h +++ b/keyboards/yanghu/unicorne/config.h @@ -51,7 +51,7 @@ /* RGB LED */ #define RGB_DI_PIN B1 #define RGBLED_NUM 8 -#define DRIVER_LED_TOTAL RGBLED_NUM +#define RGB_MATRIX_LED_COUNT RGBLED_NUM #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/yatara/drink_me/keymaps/queen/config.h b/keyboards/yatara/drink_me/keymaps/queen/config.h index 037c4737f6..ed8565a311 100644 --- a/keyboards/yatara/drink_me/keymaps/queen/config.h +++ b/keyboards/yatara/drink_me/keymaps/queen/config.h @@ -1 +1 @@ -#define UNICODE_SELECTED_MODES UC_LNX, UC_OSX, UC_WIN, UC_WINC +#define UNICODE_SELECTED_MODES UC_LNX, UC_MAC, UC_WIN, UC_WINC diff --git a/keyboards/yatara/drink_me/keymaps/queen/keymap.c b/keyboards/yatara/drink_me/keymaps/queen/keymap.c index 44da2b31ec..70b24be79d 100644 --- a/keyboards/yatara/drink_me/keymaps/queen/keymap.c +++ b/keyboards/yatara/drink_me/keymaps/queen/keymap.c @@ -23,7 +23,7 @@ void td_diamond_osx (qk_tap_dance_state_t *state, void *user_data) { if (state->count == 1) { register_unicode(0x2666); // ♦ } else { - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); } reset_tap_dance(state); } diff --git a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c index 1ee7ca1e77..cc6cbd90c2 100644 --- a/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c +++ b/keyboards/ymdk/melody96/keymaps/konstantin/keymap.c @@ -2,7 +2,7 @@ #include "konstantin.h" static const HSV *colors[] = { &godspeed_blue, &godspeed_yellow }; -static const size_t cnum = sizeof colors / sizeof *colors; +static const size_t cnum = ARRAY_SIZE(colors); static size_t cidx = 0; enum keycodes_keymap { diff --git a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h index e730e99b27..27a2fcd6a7 100644 --- a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h +++ b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h @@ -19,36 +19,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#define VENDOR_ID 0x20A0 -#define PRODUCT_ID 0x422D -// Edit usbconfig.h to change these. -#define MANUFACTURER ymdkey -#define PRODUCT ymd96 - -/* Matrix Size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 15 -#define DIODE_DIRECTION COL2ROW - /* Required for MX Locks installed */ #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE -#define PREVENT_STUCK_MODIFIERS -#define TAPPING_TOGGLE 3 -#define NO_UART 1 - +#undef BACKLIGHT_LEVELS #define BACKLIGHT_LEVELS 12 -/* RGB Underglow */ -// The RGB_DI_PING value seems to be shared between all PS2AVRGB boards. -// The same pin is used on the JJ40, at least. -#define RGBLED_NUM 18 -#define RGB_DI_PIN E2 // NOTE: for PS2AVRGB boards, underglow commands are send - // via I2C to 0xB0 - -#define RGBLIGHT_ANIMATIONS - #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1.0-2.7 #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 1-255 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 7 diff --git a/keyboards/yncognito/batpad/config.h b/keyboards/yncognito/batpad/config.h index a9cac6d816..d1a40a4dce 100644 --- a/keyboards/yncognito/batpad/config.h +++ b/keyboards/yncognito/batpad/config.h @@ -39,11 +39,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW #define RGB_DI_PIN B5 -#define DRIVER_LED_TOTAL 8 +#define RGB_MATRIX_LED_COUNT 8 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_KEYRELEASES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -#define RGB_DISABLE_AFTER_TIMEOUT 0 // #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_LED_FLUSH_LIMIT 16 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 diff --git a/keyboards/yushakobo/quick17/config.h b/keyboards/yushakobo/quick17/config.h index 3595bf20c6..2a74e9e9f5 100644 --- a/keyboards/yushakobo/quick17/config.h +++ b/keyboards/yushakobo/quick17/config.h @@ -52,13 +52,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLED_NUM 18 #ifdef RGB_MATRIX_ENABLE -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # 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_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_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. // HSV_TEAL diff --git a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc index 0232b05ab9..d0071205af 100644 --- a/keyboards/yushakobo/quick17/rgb_matrix_kb.inc +++ b/keyboards/yushakobo/quick17/rgb_matrix_kb.inc @@ -27,7 +27,7 @@ enum lighting_types { NUM_L }; -const uint8_t rgb_keymaps [][DRIVER_LED_TOTAL] = { +const uint8_t rgb_keymaps [][RGB_MATRIX_LED_COUNT] = { [_CONTROL] = LED_LAYOUT( _____, INDC2, INDC1, INDC2, INDC3, INDC4, _____, INDC1, INDC1, INDC1, INDC3, INDC4, diff --git a/keyboards/z34/config.h b/keyboards/z34/config.h index f63b2771fc..13e1188891 100644 --- a/keyboards/z34/config.h +++ b/keyboards/z34/config.h @@ -47,8 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Serial settings */ -#define USE_SERIAL /* serial.c configuration for split keyboard */ #define SOFT_SERIAL_PIN D2 diff --git a/layouts/community/65_ansi_blocker/brandonschlack/keymap.c b/layouts/community/65_ansi_blocker/brandonschlack/keymap.c index ea39959d7e..bd5431a5b8 100644 --- a/layouts/community/65_ansi_blocker/brandonschlack/keymap.c +++ b/layouts/community/65_ansi_blocker/brandonschlack/keymap.c @@ -106,12 +106,12 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, RGB_GREEN); } else if (!HAS_ANY_FLAGS(rgb_matrix_get_flags(), LED_FLAG_KEYS)){ rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, 0, 0, 0); } + return false; } #endif - diff --git a/layouts/community/65_ansi_blocker/spidey3/keymap.c b/layouts/community/65_ansi_blocker/spidey3/keymap.c index e682a281aa..09e612ae6c 100644 --- a/layouts/community/65_ansi_blocker/spidey3/keymap.c +++ b/layouts/community/65_ansi_blocker/spidey3/keymap.c @@ -26,9 +26,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_FN] = 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_INS, KC_SLCK, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VLK_TOG, CH_SUSP, KC_SLEP, KC_PWR, KC_BRIU, - MO(_GLYPH), RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_M_LN, XXXXXXX, XXXXXXX, CH_CPNL, KC_BRID, + MO(_GLYPH), RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_M_LN, XXXXXXX, XXXXXXX, KC_CPNL, KC_BRID, _______, XXXXXXX, UC_M_EM, UC_M_WC, UC_MOD, NK_TOGG, TG(_NUMPAD),UC_M_MA, XXXXXXX, XXXXXXX, DEBUG, _______, KC_VOLU, KC_MUTE, - _______, _______, _______, KC_MPLY, CH_ASST, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, KC_MPLY, KC_ASST, _______, KC_MPRV, KC_VOLD, KC_MNXT ), // Glyph Transformation [_GLYPH] = LAYOUT_65_ansi_blocker( diff --git a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c index 2d76ce1d15..5a32962baa 100644 --- a/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c +++ b/layouts/community/65_ansi_blocker_split_bs/brandonschlack-split/keymap.c @@ -94,11 +94,12 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { } #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, RGB_GREEN); } else if (!HAS_ANY_FLAGS(rgb_matrix_get_flags(), LED_FLAG_KEYS)){ rgb_matrix_set_color(USB_LED_CAPS_LOCK_SCANCODE, 0, 0, 0); } + return false; } #endif diff --git a/layouts/community/75_ansi/spidey3/keymap.c b/layouts/community/75_ansi/spidey3/keymap.c index 5ede802676..abd941ff32 100644 --- a/layouts/community/75_ansi/spidey3/keymap.c +++ b/layouts/community/75_ansi/spidey3/keymap.c @@ -28,6 +28,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, SPI_GLO, VLK_TOG, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRIU, XXXXXXX, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_G, RGB_M_TW, UC_M_LN, XXXXXXX, XXXXXXX, XXXXXXX, KC_BRID, _______, XXXXXXX, UC_M_EM, UC_M_WC, UC_MOD, NK_TOGG, TG(_NUMPAD),UC_M_MA, X(LARR), X(RARR), DEBUG, _______, KC_VOLU, KC_MUTE, - _______, _______, _______, KC_MPLY, CH_ASST, _______, CH_CPNL, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, KC_MPLY, KC_ASST, _______, KC_CPNL, KC_MPRV, KC_VOLD, KC_MNXT ) }; diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h index d669f27298..aa1d05779b 100644 --- a/layouts/community/ergodox/drashna/config.h +++ b/layouts/community/ergodox/drashna/config.h @@ -28,7 +28,7 @@ #endif // RGBLIGHT_ENABLE #undef PRODUCT -#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Hybrid Monstrosity +#define PRODUCT "DrashnaDox - Hacked ErgoDox EZ Hybrid Monstrosity" #undef DEBOUNCE #define DEBOUNCE 20 diff --git a/layouts/community/ergodox/jjerrell/config.h b/layouts/community/ergodox/jjerrell/config.h index 8223108d15..6aeaef35ce 100644 --- a/layouts/community/ergodox/jjerrell/config.h +++ b/layouts/community/ergodox/jjerrell/config.h @@ -17,5 +17,5 @@ #ifdef KEYBOARD_ergodox_ez #undef PRODUCT -#define PRODUCT ErgoDox EZ - Modified by <@jjerrell> +#define PRODUCT "ErgoDox EZ - Modified by <@jjerrell>" #endif diff --git a/layouts/community/ergodox/meagerfindings/config.h b/layouts/community/ergodox/meagerfindings/config.h index d69aaf79dd..28a92e2bf6 100644 --- a/layouts/community/ergodox/meagerfindings/config.h +++ b/layouts/community/ergodox/meagerfindings/config.h @@ -5,9 +5,9 @@ #undef DEVICE_VER #define DEVICE_VER 0x0001 #undef MANUFACTURER -#define MANUFACTURER meagerfindings +#define MANUFACTURER "meagerfindings" #undef PRODUCT -#define PRODUCT ErgoDox +#define PRODUCT "ErgoDox" #define USB_MAX_POWER_CONSUMPTION 500 diff --git a/layouts/community/ergodox/osx_neo2/keymap.c b/layouts/community/ergodox/osx_neo2/keymap.c index 125cc43a8f..22d6f35e08 100644 --- a/layouts/community/ergodox/osx_neo2/keymap.c +++ b/layouts/community/ergodox/osx_neo2/keymap.c @@ -687,9 +687,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if ((capslock_state & MOD_MASK_SHIFT) == MOD_MASK_SHIFT) { // CAPSLOCK is currently active, disable it if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) { - unregister_code(KC_LOCKING_CAPS); + unregister_code(KC_LOCKING_CAPS_LOCK); } else { - register_code(KC_LOCKING_CAPS); + register_code(KC_LOCKING_CAPS_LOCK); } return false; } diff --git a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c index 12548ae0ea..25ce96e068 100644 --- a/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c +++ b/layouts/community/ergodox/twentylives_dvorak_with_hebrew/keymap.c @@ -161,11 +161,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, // Right Hand - KC_TRNS, KC_TRNS, KC_LOCKING_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS, - KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_ENTER, KC_TRNS, - KC_KP_0, KC_KP_0, KC_KP_DOT, KC_ENTER, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LNUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TRNS, + KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_ENTER, KC_TRNS, + KC_KP_0, KC_KP_0, KC_KP_DOT, KC_ENTER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h index aa0c201232..83e8766b27 100644 --- a/layouts/community/numpad_5x6/drashna/config.h +++ b/layouts/community/numpad_5x6/drashna/config.h @@ -32,5 +32,5 @@ #if defined(KEYBOARD_primekb_prime_m) # undef PRODUCT -# define PRODUCT Drashna Hacked Prime_M Macro Pad +# define PRODUCT "Drashna Hacked Prime_M Macro Pad" #endif diff --git a/layouts/community/ortho_3x10/bbaserdem/config.h b/layouts/community/ortho_3x10/bbaserdem/config.h index d781d34478..b792b2e6fa 100644 --- a/layouts/community/ortho_3x10/bbaserdem/config.h +++ b/layouts/community/ortho_3x10/bbaserdem/config.h @@ -17,5 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #ifdef KEYBOARD_40percentclub_gherkin #define MUSIC_MAP #define RGB_DI_PIN F6 - #define DRIVER_LED_TOTAL 10 + #define RGB_MATRIX_LED_COUNT 10 #endif diff --git a/layouts/community/ortho_4x12/buswerks/config.h b/layouts/community/ortho_4x12/buswerks/config.h index 8d6e26287e..f96d099db5 100644 --- a/layouts/community/ortho_4x12/buswerks/config.h +++ b/layouts/community/ortho_4x12/buswerks/config.h @@ -1,24 +1,19 @@ #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT // #define _MASTER_RIGHT // #define EE_HANDS -#ifdef AUDIO_ENABLE - #define STARTUP_SONG SONG(PLANCK_SOUND) - // #define STARTUP_SONG SONG(NO_SOUND) +#ifdef AUDIO_ENABLE + #define STARTUP_SONG SONG(PLANCK_SOUND) + // #define STARTUP_SONG SONG(NO_SOUND) #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ SONG(COLEMAK_SOUND), \ SONG(DVORAK_SOUND) \ - } -#endif + } +#endif // MIDI notes can be sent when in Music mode #define MIDI_BASIC diff --git a/layouts/community/ortho_4x12/colemak_mod_dh_wide/config.h b/layouts/community/ortho_4x12/colemak_mod_dh_wide/config.h index 33e9342039..2f0c23b7f1 100644 --- a/layouts/community/ortho_4x12/colemak_mod_dh_wide/config.h +++ b/layouts/community/ortho_4x12/colemak_mod_dh_wide/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/layouts/community/ortho_4x12/crs/config.h b/layouts/community/ortho_4x12/crs/config.h index 33e9342039..9ba64c921b 100644 --- a/layouts/community/ortho_4x12/crs/config.h +++ b/layouts/community/ortho_4x12/crs/config.h @@ -20,10 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C /* Select hand configuration */ diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index d6197ece29..e2154cbe2f 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -35,18 +35,16 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) # define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects // #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_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # undef RGB_MATRIX_LED_PROCESS_LIMIT # undef RGB_MATRIX_LED_FLUSH_LIMIT # ifdef KEYBOARD_planck_rev6 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM # endif #endif #if defined(KEYBOARD_lets_split_rev2) -# define USE_SERIAL # undef USE_I2C # define EE_HANDS #endif @@ -70,11 +68,11 @@ #if defined(KEYBOARD_planck) # undef PRODUCT # if defined(KEYBOARD_planck_light) -# define PRODUCT Drashna Hacked RGB Beacon(Planck Light) +# define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)" # elif defined(KEYBOARD_planck_rev6) -# define PRODUCT Drashna Hacked Planck Rev6 +# define PRODUCT "Drashna Hacked Planck Rev6" # elif defined(KEYBOARD_planck_ez) -# define PRODUCT Drashna Hacked Planck EZ +# define PRODUCT "Drashna Hacked Planck EZ" # define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 # endif #endif diff --git a/layouts/community/ortho_4x12/ergodoxish/config.h b/layouts/community/ortho_4x12/ergodoxish/config.h index 33e9342039..2f0c23b7f1 100644 --- a/layouts/community/ortho_4x12/ergodoxish/config.h +++ b/layouts/community/ortho_4x12/ergodoxish/config.h @@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/layouts/community/ortho_4x12/grahampheath/config.h b/layouts/community/ortho_4x12/grahampheath/config.h index 8bc3d7762d..342c55cdea 100644 --- a/layouts/community/ortho_4x12/grahampheath/config.h +++ b/layouts/community/ortho_4x12/grahampheath/config.h @@ -23,11 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "keyboards/lets_split/config.h" -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ #define MASTER_LEFT diff --git a/layouts/community/ortho_4x12/jackhumbert/keymap.c b/layouts/community/ortho_4x12/jackhumbert/keymap.c index ed637b7c30..c297a63b37 100644 --- a/layouts/community/ortho_4x12/jackhumbert/keymap.c +++ b/layouts/community/ortho_4x12/jackhumbert/keymap.c @@ -112,16 +112,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, - _______, XXXXXXX, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, XXXXXXX, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, + _______, XXXXXXX, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/layouts/community/ortho_4x12/jarred/keymap.c b/layouts/community/ortho_4x12/jarred/keymap.c index 4be5f9ed69..e419b3942c 100644 --- a/layouts/community/ortho_4x12/jarred/keymap.c +++ b/layouts/community/ortho_4x12/jarred/keymap.c @@ -13,10 +13,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; #ifdef RGB_MATRIX_ENABLE -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { #ifdef KEYBOARD_planck_light // Disable light in middle of 2U position of Planck Light rgb_matrix_set_color(42, 0, 0, 0); #endif + return false; } #endif diff --git a/layouts/community/ortho_4x12/jjerrell/config.h b/layouts/community/ortho_4x12/jjerrell/config.h index aee885b8d0..8d2080d868 100644 --- a/layouts/community/ortho_4x12/jjerrell/config.h +++ b/layouts/community/ortho_4x12/jjerrell/config.h @@ -32,7 +32,7 @@ #ifdef KEYBOARD_planck_ez_glow #undef PRODUCT -#define PRODUCT Planck EZ Glow - Modified by <@jjerrell> +#define PRODUCT "Planck EZ Glow - Modified by <@jjerrell>" #endif /* diff --git a/layouts/community/ortho_4x12/jjerrell/keymap.c b/layouts/community/ortho_4x12/jjerrell/keymap.c index d873907e91..90b7714ec4 100644 --- a/layouts/community/ortho_4x12/jjerrell/keymap.c +++ b/layouts/community/ortho_4x12/jjerrell/keymap.c @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Adjust (Lower + Raise) * ,-----------------------------------------------------------------------------------. - * | Make | Debug|Reset |TermOn|TrmOff| | |MusMod|Mus On|MusOff|MidiOn|MidOff| + * | Make | Debug|Reset | | | | |MusMod|Mus On|MusOff|MidiOn|MidOff| * |------+------+------+------+------+------+------+------+------+------+------+------| * | Mute | Vol- | Vol+ | Play | Skip | | |Voice-| HUE+ | HUE- | SAT+ | SAT- | * |------+------+------+------+------+------+------+------+------+------+------+------| diff --git a/layouts/community/ortho_4x12/juno/keymap.c b/layouts/community/ortho_4x12/juno/keymap.c index 1c9b4af891..5961b62d28 100644 --- a/layouts/community/ortho_4x12/juno/keymap.c +++ b/layouts/community/ortho_4x12/juno/keymap.c @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_ADJUST] = LAYOUT_ortho_4x12( _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/layouts/community/ortho_4x12/junonum/keymap.c b/layouts/community/ortho_4x12/junonum/keymap.c index b5ed159f6a..45de5a9b74 100644 --- a/layouts/community/ortho_4x12/junonum/keymap.c +++ b/layouts/community/ortho_4x12/junonum/keymap.c @@ -89,10 +89,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_ADJUST] = LAYOUT_ortho_4x12( - _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, AG_NORM, MU_MOD, AU_ON, AU_OFF, CG_NORM, CG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, AG_NORM, MU_MOD, AU_ON, AU_OFF, CG_NORM, CG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_FN1] = LAYOUT_ortho_4x12( diff --git a/layouts/community/ortho_4x12/mguterl/keymap.c b/layouts/community/ortho_4x12/mguterl/keymap.c index e57fb0c47f..ed089d6e6d 100644 --- a/layouts/community/ortho_4x12/mguterl/keymap.c +++ b/layouts/community/ortho_4x12/mguterl/keymap.c @@ -158,16 +158,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|TermOn|TermOf| | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - TG_GAME, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , - _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, - _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + TG_GAME, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL , + _______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______, + _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/layouts/community/ortho_4x12/symbolic/config.h b/layouts/community/ortho_4x12/symbolic/config.h index 3f88b4cc17..db74d0fdfa 100644 --- a/layouts/community/ortho_4x12/symbolic/config.h +++ b/layouts/community/ortho_4x12/symbolic/config.h @@ -20,13 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - /* Select hand configuration */ //#define MASTER_LEFT diff --git a/layouts/community/ortho_4x12/wanleg/config.h b/layouts/community/ortho_4x12/wanleg/config.h index bcf2756f6b..7ec47302bc 100644 --- a/layouts/community/ortho_4x12/wanleg/config.h +++ b/layouts/community/ortho_4x12/wanleg/config.h @@ -15,7 +15,6 @@ #define QMK_LED B0 #define QMK_ESC_OUTPUT F6 // usually COL #define QMK_ESC_INPUT D7 // usually ROW -#define USE_SERIAL #undef USE_I2C #define EE_HANDS #endif @@ -36,7 +35,7 @@ // use alternate settings for 4x4 board using ProMicro instead of Micro // usage: make 4x4:wanleg PM=yes -#if defined(KEYBOARD_40percentclub_4x4) && defined(PRO_MICRO) +#if defined(KEYBOARD_40percentclub_4x4) && defined(PRO_MICRO) #define QMK_ESC_OUTPUT F4 // usually COL #define QMK_ESC_INPUT D1 // usually ROW #define QMK_LED B0 diff --git a/layouts/community/ortho_4x12/xyverz/config.h b/layouts/community/ortho_4x12/xyverz/config.h index 287f4cc2b7..6486e0831c 100644 --- a/layouts/community/ortho_4x12/xyverz/config.h +++ b/layouts/community/ortho_4x12/xyverz/config.h @@ -3,8 +3,6 @@ #define MIDI_BASIC -#define USE_SERIAL - #define EE_HANDS #undef RGBLED_NUM diff --git a/layouts/community/ortho_5x12/333fred/config.h b/layouts/community/ortho_5x12/333fred/config.h index bdbeead547..4327d154c2 100644 --- a/layouts/community/ortho_5x12/333fred/config.h +++ b/layouts/community/ortho_5x12/333fred/config.h @@ -22,7 +22,6 @@ #pragma once -#define USE_SERIAL #define MASTER_LEFT #undef TAPPING_TERM diff --git a/layouts/community/ortho_5x12/xyverz/config.h b/layouts/community/ortho_5x12/xyverz/config.h index 5f9f6e5c11..46175c2eb1 100644 --- a/layouts/community/ortho_5x12/xyverz/config.h +++ b/layouts/community/ortho_5x12/xyverz/config.h @@ -23,7 +23,6 @@ #endif // for the split boards // -#define USE_SERIAL #define EE_HANDS #endif diff --git a/layouts/community/planck_mit/guidoism/keys.json b/layouts/community/planck_mit/guidoism/keys.json index 791119b4f2..bcc9e0da62 100644 --- a/layouts/community/planck_mit/guidoism/keys.json +++ b/layouts/community/planck_mit/guidoism/keys.json @@ -118,11 +118,11 @@ "KC_RALT": "\u2325", "KC_RGUI": "\u2318", "KC_RCMD": "\u2318", - "KC_LOCKING_CAPS": "Locking Caps Lock", + "KC_LOCKING_CAPS_LOCK": "Locking Caps Lock", "KC_LCAP": "Locking Caps Lock", - "KC_LOCKING_NUM": "Locking Num Lock", + "KC_LOCKING_NUM_LOCK": "Locking Num Lock", "KC_LNUM": "Locking Num Lock", - "KC_LOCKING_SCROLL": "Locking Scroll Lock", + "KC_LOCKING_SCROLL_LOCK": "Locking Scroll Lock", "KC_LSCR": "Locking Scroll Lock", "KC_INT4": "JIS Henkan", "KC_HENK": "JIS Henkan", diff --git a/layouts/community/split_3x5_3/bbaserdem/config.h b/layouts/community/split_3x5_3/bbaserdem/config.h index 6bb3515b9e..2f7c0f7068 100644 --- a/layouts/community/split_3x5_3/bbaserdem/config.h +++ b/layouts/community/split_3x5_3/bbaserdem/config.h @@ -27,9 +27,9 @@ # ifdef RGBLED_NUM # undef RGBLED_NUM # endif -# ifdef DRIVER_LED_TOTAL -# undef DRIVER_LED_TOTAL +# ifdef RGB_MATRIX_LED_COUNT +# undef RGB_MATRIX_LED_COUNT # endif # define RGBLED_NUM 48 -# define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif // KEYBOARD_crkbd_rev1 diff --git a/layouts/community/split_3x6_3/bbaserdem/config.h b/layouts/community/split_3x6_3/bbaserdem/config.h index adf707d1ba..1d269335fe 100644 --- a/layouts/community/split_3x6_3/bbaserdem/config.h +++ b/layouts/community/split_3x6_3/bbaserdem/config.h @@ -26,9 +26,9 @@ // Rebrand the PCB # undef PRODUCT -# define PRODUCT Protorne Keyboard +# define PRODUCT "Protorne Keyboard" # undef MANUFACTURER -# define MANUFACTURER Waffles +# define MANUFACTURER "Waffles" // Remove OLED definitions? # undef USE_I2C diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h index cfcb873a80..0944e37077 100644 --- a/layouts/community/split_3x6_3/drashna/config.h +++ b/layouts/community/split_3x6_3/drashna/config.h @@ -46,9 +46,8 @@ # endif # 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_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_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) # ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 @@ -87,9 +86,9 @@ #undef PRODUCT #ifdef CONVERT_TO_PROTON_C -# define PRODUCT Drashna Hacked ARM Corne Keyboard +# define PRODUCT "Drashna Hacked ARM Corne Keyboard" #else -# define PRODUCT Drashna Hacked Corne Keyboard +# define PRODUCT "Drashna Hacked Corne Keyboard" #endif #define TAPPING_TERM_PER_KEY diff --git a/lib/chibios b/lib/chibios -Subproject f836d24b06d7265696a33d1cea010bd6a931791 +Subproject 0e9d558b525a8f28285f3bb509fd48a897c4315 diff --git a/lib/chibios-contrib b/lib/chibios-contrib -Subproject d03aa9cc2f76468e431c71421015102956dd6ad +Subproject bb8356fb5a3a9bbc1561826f174a9a631c61454 diff --git a/lib/pico-sdk b/lib/pico-sdk -Subproject 07edde8e49890d2172bbc272aacc119f999df06 +Subproject 8d56ea332b3734cef0a8e61f7d61f2422bd539b diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index 98e212c47b..cf5b5ad87e 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -47,6 +47,7 @@ subcommands = [ 'qmk.cli.format.python', 'qmk.cli.format.text', 'qmk.cli.generate.api', + 'qmk.cli.generate.autocorrect_data', 'qmk.cli.generate.compilation_database', 'qmk.cli.generate.config_h', 'qmk.cli.generate.develop_pr_list', @@ -55,7 +56,6 @@ subcommands = [ 'qmk.cli.generate.info_json', 'qmk.cli.generate.keyboard_c', 'qmk.cli.generate.keyboard_h', - 'qmk.cli.generate.layouts', 'qmk.cli.generate.rgb_breathe_table', 'qmk.cli.generate.rules_mk', 'qmk.cli.generate.version_h', diff --git a/lib/python/qmk/cli/generate/autocorrect_data.py b/lib/python/qmk/cli/generate/autocorrect_data.py new file mode 100644 index 0000000000..00ab6180ab --- /dev/null +++ b/lib/python/qmk/cli/generate/autocorrect_data.py @@ -0,0 +1,289 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Python program to make autocorrect_data.h. +This program reads from a prepared dictionary file and generates a C source file +"autocorrect_data.h" with a serialized trie embedded as an array. Run this +program and pass it as the first argument like: +$ qmk generate-autocorrect-data autocorrect_dict.txt +Each line of the dict file defines one typo and its correction with the syntax +"typo -> correction". Blank lines or lines starting with '#' are ignored. +Example: + :thier -> their + fitler -> filter + lenght -> length + ouput -> output + widht -> width +For full documentation, see QMK Docs +""" + +import sys +import textwrap +from typing import Any, Dict, Iterator, List, Tuple + +from milc import cli + +import qmk.path +from qmk.keyboard import keyboard_completer, keyboard_folder +from qmk.keymap import keymap_completer, locate_keymap + +KC_A = 4 +KC_SPC = 0x2c +KC_QUOT = 0x34 + +TYPO_CHARS = dict([ + ("'", KC_QUOT), + (':', KC_SPC), # "Word break" character. +] + [(chr(c), c + KC_A - ord('a')) for c in range(ord('a'), + ord('z') + 1)]) # Characters a-z. + + +def parse_file(file_name: str) -> List[Tuple[str, str]]: + """Parses autocorrections dictionary file. + Each line of the file defines one typo and its correction with the syntax + "typo -> correction". Blank lines or lines starting with '#' are ignored. The + function validates that typos only have characters a-z and that typos are not + substrings of other typos, otherwise the longer typo would never trigger. + Args: + file_name: String, path of the autocorrections dictionary. + Returns: + List of (typo, correction) tuples. + """ + + try: + from english_words import english_words_lower_alpha_set as correct_words + except ImportError: + cli.echo('Autocorrection will falsely trigger when a typo is a substring of a correctly spelled word.') + cli.echo('To check for this, install the english_words package and rerun this script:') + cli.echo(' {fg_cyan}python3 -m pip install english_words') + # Use a minimal word list as a fallback. + correct_words = ('information', 'available', 'international', 'language', 'loosest', 'reference', 'wealthier', 'entertainment', 'association', 'provides', 'technology', 'statehood') + + autocorrections = [] + typos = set() + for line_number, typo, correction in parse_file_lines(file_name): + if typo in typos: + cli.log.warning('{fg_red}Error:%d:{fg_reset} Ignoring duplicate typo: "{fg_cyan}%s{fg_reset}"', line_number, typo) + continue + + # Check that `typo` is valid. + if not (all([c in TYPO_CHARS for c in typo])): + cli.log.error('{fg_red}Error:%d:{fg_reset} Typo "{fg_cyan}%s{fg_reset}" has characters other than a-z, \' and :.', line_number, typo) + sys.exit(1) + for other_typo in typos: + if typo in other_typo or other_typo in typo: + cli.log.error('{fg_red}Error:%d:{fg_reset} Typos may not be substrings of one another, otherwise the longer typo would never trigger: "{fg_cyan}%s{fg_reset}" vs. "{fg_cyan}%s{fg_reset}".', line_number, typo, other_typo) + sys.exit(1) + if len(typo) < 5: + cli.log.warning('{fg_yellow}Warning:%d:{fg_reset} It is suggested that typos are at least 5 characters long to avoid false triggers: "{fg_cyan}%s{fg_reset}"', line_number, typo) + if len(typo) > 127: + cli.log.error('{fg_red}Error:%d:{fg_reset} Typo exceeds 127 chars: "{fg_cyan}%s{fg_reset}"', line_number, typo) + sys.exit(1) + + check_typo_against_dictionary(typo, line_number, correct_words) + + autocorrections.append((typo, correction)) + typos.add(typo) + + return autocorrections + + +def make_trie(autocorrections: List[Tuple[str, str]]) -> Dict[str, Any]: + """Makes a trie from the the typos, writing in reverse. + Args: + autocorrections: List of (typo, correction) tuples. + Returns: + Dict of dict, representing the trie. + """ + trie = {} + for typo, correction in autocorrections: + node = trie + for letter in typo[::-1]: + node = node.setdefault(letter, {}) + node['LEAF'] = (typo, correction) + + return trie + + +def parse_file_lines(file_name: str) -> Iterator[Tuple[int, str, str]]: + """Parses lines read from `file_name` into typo-correction pairs.""" + + line_number = 0 + for line in open(file_name, 'rt'): + line_number += 1 + line = line.strip() + if line and line[0] != '#': + # Parse syntax "typo -> correction", using strip to ignore indenting. + tokens = [token.strip() for token in line.split('->', 1)] + if len(tokens) != 2 or not tokens[0]: + print(f'Error:{line_number}: Invalid syntax: "{line}"') + sys.exit(1) + + typo, correction = tokens + typo = typo.lower() # Force typos to lowercase. + typo = typo.replace(' ', ':') + + yield line_number, typo, correction + + +def check_typo_against_dictionary(typo: str, line_number: int, correct_words) -> None: + """Checks `typo` against English dictionary words.""" + + if typo.startswith(':') and typo.endswith(':'): + if typo[1:-1] in correct_words: + cli.log.warning('{fg_yellow}Warning:%d:{fg_reset} Typo "{fg_cyan}%s{fg_reset}" is a correctly spelled dictionary word.', line_number, typo) + elif typo.startswith(':') and not typo.endswith(':'): + for word in correct_words: + if word.startswith(typo[1:]): + cli.log.warning('{fg_yellow}Warning:%d: {fg_reset}Typo "{fg_cyan}%s{fg_reset}" would falsely trigger on correctly spelled word "{fg_cyan}%s{fg_reset}".', line_number, typo, word) + elif not typo.startswith(':') and typo.endswith(':'): + for word in correct_words: + if word.endswith(typo[:-1]): + cli.log.warning('{fg_yellow}Warning:%d:{fg_reset} Typo "{fg_cyan}%s{fg_reset}" would falsely trigger on correctly spelled word "{fg_cyan}%s{fg_reset}".', line_number, typo, word) + elif not typo.startswith(':') and not typo.endswith(':'): + for word in correct_words: + if typo in word: + cli.log.warning('{fg_yellow}Warning:%d:{fg_reset} Typo "{fg_cyan}%s{fg_reset}" would falsely trigger on correctly spelled word "{fg_cyan}%s{fg_reset}".', line_number, typo, word) + + +def serialize_trie(autocorrections: List[Tuple[str, str]], trie: Dict[str, Any]) -> List[int]: + """Serializes trie and correction data in a form readable by the C code. + Args: + autocorrections: List of (typo, correction) tuples. + trie: Dict of dicts. + Returns: + List of ints in the range 0-255. + """ + table = [] + + # Traverse trie in depth first order. + def traverse(trie_node): + if 'LEAF' in trie_node: # Handle a leaf trie node. + typo, correction = trie_node['LEAF'] + word_boundary_ending = typo[-1] == ':' + typo = typo.strip(':') + i = 0 # Make the autocorrection data for this entry and serialize it. + while i < min(len(typo), len(correction)) and typo[i] == correction[i]: + i += 1 + backspaces = len(typo) - i - 1 + word_boundary_ending + assert 0 <= backspaces <= 63 + correction = correction[i:] + bs_count = [backspaces + 128] + data = bs_count + list(bytes(correction, 'ascii')) + [0] + + entry = {'data': data, 'links': [], 'byte_offset': 0} + table.append(entry) + elif len(trie_node) == 1: # Handle trie node with a single child. + c, trie_node = next(iter(trie_node.items())) + entry = {'chars': c, 'byte_offset': 0} + + # It's common for a trie to have long chains of single-child nodes. We + # find the whole chain so that we can serialize it more efficiently. + while len(trie_node) == 1 and 'LEAF' not in trie_node: + c, trie_node = next(iter(trie_node.items())) + entry['chars'] += c + + table.append(entry) + entry['links'] = [traverse(trie_node)] + else: # Handle trie node with multiple children. + entry = {'chars': ''.join(sorted(trie_node.keys())), 'byte_offset': 0} + table.append(entry) + entry['links'] = [traverse(trie_node[c]) for c in entry['chars']] + return entry + + traverse(trie) + + def serialize(e: Dict[str, Any]) -> List[int]: + if not e['links']: # Handle a leaf table entry. + return e['data'] + elif len(e['links']) == 1: # Handle a chain table entry. + return [TYPO_CHARS[c] for c in e['chars']] + [0] # + encode_link(e['links'][0])) + else: # Handle a branch table entry. + data = [] + for c, link in zip(e['chars'], e['links']): + data += [TYPO_CHARS[c] | (0 if data else 64)] + encode_link(link) + return data + [0] + + byte_offset = 0 + for e in table: # To encode links, first compute byte offset of each entry. + e['byte_offset'] = byte_offset + byte_offset += len(serialize(e)) + assert 0 <= byte_offset <= 0xffff + + return [b for e in table for b in serialize(e)] # Serialize final table. + + +def encode_link(link: Dict[str, Any]) -> List[int]: + """Encodes a node link as two bytes.""" + byte_offset = link['byte_offset'] + if not (0 <= byte_offset <= 0xffff): + cli.log.error('{fg_red}Error:{fg_reset} The autocorrection table is too large, a node link exceeds 64KB limit. Try reducing the autocorrection dict to fewer entries.') + sys.exit(1) + return [byte_offset & 255, byte_offset >> 8] + + +def write_generated_code(autocorrections: List[Tuple[str, str]], data: List[int], file_name: str) -> None: + """Writes autocorrection data as generated C code to `file_name`. + Args: + autocorrections: List of (typo, correction) tuples. + data: List of ints in 0-255, the serialized trie. + file_name: String, path of the output C file. + """ + assert all(0 <= b <= 255 for b in data) + + def typo_len(e: Tuple[str, str]) -> int: + return len(e[0]) + + min_typo = min(autocorrections, key=typo_len)[0] + max_typo = max(autocorrections, key=typo_len)[0] + generated_code = ''.join([ + '// Generated code.\n\n', f'// Autocorrection dictionary ({len(autocorrections)} entries):\n', ''.join(sorted(f'// {typo:<{len(max_typo)}} -> {correction}\n' for typo, correction in autocorrections)), + f'\n#define AUTOCORRECT_MIN_LENGTH {len(min_typo)} // "{min_typo}"\n', f'#define AUTOCORRECT_MAX_LENGTH {len(max_typo)} // "{max_typo}"\n\n', f'#define DICTIONARY_SIZE {len(data)}\n\n', + textwrap.fill('static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {%s};' % (', '.join(map(str, data))), width=120, subsequent_indent=' '), '\n\n' + ]) + + with open(file_name, 'wt') as f: + f.write(generated_code) + + +@cli.argument('filename', default='autocorrect_dict.txt', help='The autocorrection database file') +@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to') +@cli.subcommand('Generate the autocorrection data file from a dictionary file.') +def generate_autocorrect_data(cli): + autocorrections = parse_file(cli.args.filename) + trie = make_trie(autocorrections) + data = serialize_trie(autocorrections, trie) + # Environment processing + if cli.args.output == '-': + cli.args.output = None + + if cli.args.output: + cli.args.output.parent.mkdir(parents=True, exist_ok=True) + cli.log.info('Creating autocorrect database at {fg_cyan}%s', cli.args.output) + write_generated_code(autocorrections, data, cli.args.output) + + else: + current_keyboard = cli.args.keyboard or cli.config.user.keyboard or cli.config.generate_autocorrect_data.keyboard + current_keymap = cli.args.keymap or cli.config.user.keymap or cli.config.generate_autocorrect_data.keymap + + if current_keyboard and current_keymap: + filename = locate_keymap(current_keyboard, current_keymap).parent / 'autocorrect_data.h' + cli.log.info('Creating autocorrect database at {fg_cyan}%s', filename) + write_generated_code(autocorrections, data, filename) + + else: + write_generated_code(autocorrections, data, 'autocorrect_data.h') + + cli.log.info('Processed %d autocorrection entries to table with %d bytes.', len(autocorrections), len(data)) diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index a26dcdf7d7..3752174841 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -13,6 +13,14 @@ from qmk.path import normpath from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE +def generate_define(define, value=None): + value = f' {value}' if value is not None else '' + return f""" +#ifndef {define} +# define {define}{value} +#endif // {define}""" + + def direct_pins(direct_pins, postfix): """Return the config.h lines that set the direct pins. """ @@ -22,11 +30,7 @@ def direct_pins(direct_pins, postfix): cols = ','.join(map(str, [col or 'NO_PIN' for col in row])) rows.append('{' + cols + '}') - return f""" -#ifndef DIRECT_PINS{postfix} -# define DIRECT_PINS{postfix} {{ {", ".join(rows)} }} -#endif // DIRECT_PINS{postfix} -""" + return generate_define(f'DIRECT_PINS{postfix}', f'{{ {", ".join(rows)} }}') def pin_array(define, pins, postfix): @@ -34,11 +38,7 @@ def pin_array(define, pins, postfix): """ pin_array = ', '.join(map(str, [pin or 'NO_PIN' for pin in pins])) - return f""" -#ifndef {define}_PINS{postfix} -# define {define}_PINS{postfix} {{ {pin_array} }} -#endif // {define}_PINS{postfix} -""" + return generate_define(f'{define}_PINS{postfix}', f'{{ {pin_array} }}') def matrix_pins(matrix_pins, postfix=''): @@ -62,18 +62,8 @@ def generate_matrix_size(kb_info_json, config_h_lines): """Add the matrix size to the config.h. """ if 'matrix_pins' in kb_info_json: - col_count = kb_info_json['matrix_size']['cols'] - row_count = kb_info_json['matrix_size']['rows'] - - config_h_lines.append(f""" -#ifndef MATRIX_COLS -# define MATRIX_COLS {col_count} -#endif // MATRIX_COLS - -#ifndef MATRIX_ROWS -# define MATRIX_ROWS {row_count} -#endif // MATRIX_ROWS -""") + config_h_lines.append(generate_define('MATRIX_COLS', kb_info_json['matrix_size']['cols'])) + config_h_lines.append(generate_define('MATRIX_ROWS', kb_info_json['matrix_size']['rows'])) def generate_config_items(kb_info_json, config_h_lines): @@ -95,43 +85,23 @@ def generate_config_items(kb_info_json, config_h_lines): continue if key_type.startswith('array.array'): - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key} {{ {", ".join(["{" + ",".join(list(map(str, x))) + "}" for x in config_value])} }}') - config_h_lines.append(f'#endif // {config_key}') + config_h_lines.append(generate_define(config_key, f'{{ {", ".join(["{" + ",".join(list(map(str, x))) + "}" for x in config_value])} }}')) elif key_type.startswith('array'): - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key} {{ {", ".join(map(str, config_value))} }}') - config_h_lines.append(f'#endif // {config_key}') + config_h_lines.append(generate_define(config_key, f'{{ {", ".join(map(str, config_value))} }}')) elif key_type == 'bool': if config_value: - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key}') - config_h_lines.append(f'#endif // {config_key}') + config_h_lines.append(generate_define(config_key)) elif key_type == 'mapping': for key, value in config_value.items(): - config_h_lines.append('') - config_h_lines.append(f'#ifndef {key}') - config_h_lines.append(f'# define {key} {value}') - config_h_lines.append(f'#endif // {key}') + config_h_lines.append(generate_define(key, value)) elif key_type == 'str': - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key} "{config_value}"') - config_h_lines.append(f'#endif // {config_key}') + escaped_str = config_value.replace('\\', '\\\\').replace('"', '\\"') + config_h_lines.append(generate_define(config_key, f'"{escaped_str}"')) elif key_type == 'bcd_version': (major, minor, revision) = config_value.split('.') - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key} 0x{major.zfill(2)}{minor}{revision}') - config_h_lines.append(f'#endif // {config_key}') + config_h_lines.append(generate_define(config_key, f'0x{major.zfill(2)}{minor}{revision}')) else: - config_h_lines.append('') - config_h_lines.append(f'#ifndef {config_key}') - config_h_lines.append(f'# define {config_key} {config_value}') - config_h_lines.append(f'#endif // {config_key}') + config_h_lines.append(generate_define(config_key, config_value)) def generate_encoder_config(encoder_json, config_h_lines, postfix=''): @@ -144,24 +114,15 @@ def generate_encoder_config(encoder_json, config_h_lines, postfix=''): b_pads.append(encoder["pin_b"]) resolutions.append(encoder.get("resolution", None)) - config_h_lines.append(f'#ifndef ENCODERS_PAD_A{postfix}') - config_h_lines.append(f'# define ENCODERS_PAD_A{postfix} {{ { ", ".join(a_pads) } }}') - config_h_lines.append(f'#endif // ENCODERS_PAD_A{postfix}') - - config_h_lines.append(f'#ifndef ENCODERS_PAD_B{postfix}') - config_h_lines.append(f'# define ENCODERS_PAD_B{postfix} {{ { ", ".join(b_pads) } }}') - config_h_lines.append(f'#endif // ENCODERS_PAD_B{postfix}') + config_h_lines.append(generate_define(f'ENCODERS_PAD_A{postfix}', f'{{ {", ".join(a_pads)} }}')) + config_h_lines.append(generate_define(f'ENCODERS_PAD_B{postfix}', f'{{ {", ".join(b_pads)} }}')) if None in resolutions: cli.log.debug("Unable to generate ENCODER_RESOLUTION configuration") elif len(set(resolutions)) == 1: - config_h_lines.append(f'#ifndef ENCODER_RESOLUTION{postfix}') - config_h_lines.append(f'# define ENCODER_RESOLUTION{postfix} { resolutions[0] }') - config_h_lines.append(f'#endif // ENCODER_RESOLUTION{postfix}') + config_h_lines.append(generate_define(f'ENCODER_RESOLUTION{postfix}', resolutions[0])) else: - config_h_lines.append(f'#ifndef ENCODER_RESOLUTIONS{postfix}') - config_h_lines.append(f'# define ENCODER_RESOLUTIONS{postfix} {{ { ", ".join(map(str,resolutions)) } }}') - config_h_lines.append(f'#endif // ENCODER_RESOLUTIONS{postfix}') + config_h_lines.append(generate_define(f'ENCODER_RESOLUTIONS{postfix}', f'{{ {", ".join(map(str,resolutions))} }}')) def generate_split_config(kb_info_json, config_h_lines): @@ -170,35 +131,23 @@ def generate_split_config(kb_info_json, config_h_lines): if kb_info_json['split']['primary'] in ('left', 'right'): config_h_lines.append('') config_h_lines.append('#ifndef MASTER_LEFT') - config_h_lines.append('# ifndef MASTER_RIGHT') + config_h_lines.append('# ifndef MASTER_RIGHT') if kb_info_json['split']['primary'] == 'left': - config_h_lines.append('# define MASTER_LEFT') + config_h_lines.append('# define MASTER_LEFT') elif kb_info_json['split']['primary'] == 'right': - config_h_lines.append('# define MASTER_RIGHT') - config_h_lines.append('# endif // MASTER_RIGHT') + config_h_lines.append('# define MASTER_RIGHT') + config_h_lines.append('# endif // MASTER_RIGHT') config_h_lines.append('#endif // MASTER_LEFT') elif kb_info_json['split']['primary'] == 'pin': - config_h_lines.append('') - config_h_lines.append('#ifndef SPLIT_HAND_PIN') - config_h_lines.append('# define SPLIT_HAND_PIN') - config_h_lines.append('#endif // SPLIT_HAND_PIN') + config_h_lines.append(generate_define('SPLIT_HAND_PIN')) elif kb_info_json['split']['primary'] == 'matrix_grid': - config_h_lines.append('') - config_h_lines.append('#ifndef SPLIT_HAND_MATRIX_GRID') - config_h_lines.append('# define SPLIT_HAND_MATRIX_GRID {%s}' % (','.join(kb_info_json["split"]["matrix_grid"],))) - config_h_lines.append('#endif // SPLIT_HAND_MATRIX_GRID') + config_h_lines.append(generate_define('SPLIT_HAND_MATRIX_GRID', f'{{ {",".join(kb_info_json["split"]["matrix_grid"])} }}')) elif kb_info_json['split']['primary'] == 'eeprom': - config_h_lines.append('') - config_h_lines.append('#ifndef EE_HANDS') - config_h_lines.append('# define EE_HANDS') - config_h_lines.append('#endif // EE_HANDS') + config_h_lines.append(generate_define('EE_HANDS')) if 'protocol' in kb_info_json['split'].get('transport', {}): if kb_info_json['split']['transport']['protocol'] == 'i2c': - config_h_lines.append('') - config_h_lines.append('#ifndef USE_I2C') - config_h_lines.append('# define USE_I2C') - config_h_lines.append('#endif // USE_I2C') + config_h_lines.append(generate_define('USE_I2C')) if 'right' in kb_info_json['split'].get('matrix_pins', {}): config_h_lines.append(matrix_pins(kb_info_json['split']['matrix_pins']['right'], '_RIGHT')) @@ -207,6 +156,12 @@ def generate_split_config(kb_info_json, config_h_lines): generate_encoder_config(kb_info_json['split']['encoder']['right'], config_h_lines, '_RIGHT') +def generate_led_animations_config(led_feature_json, config_h_lines, prefix): + for animation in led_feature_json.get('animations', {}): + if led_feature_json['animations'][animation]: + config_h_lines.append(generate_define(f'{prefix}{animation.upper()}')) + + @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, required=True, help='Keyboard to generate config.h for.') @@ -237,5 +192,14 @@ def generate_config_h(cli): if 'split' in kb_info_json: generate_split_config(kb_info_json, config_h_lines) + if 'led_matrix' in kb_info_json: + generate_led_animations_config(kb_info_json['led_matrix'], config_h_lines, 'ENABLE_LED_MATRIX_') + + if 'rgb_matrix' in kb_info_json: + generate_led_animations_config(kb_info_json['rgb_matrix'], config_h_lines, 'ENABLE_RGB_MATRIX_') + + if 'rgblight' in kb_info_json: + generate_led_animations_config(kb_info_json['rgblight'], config_h_lines, 'RGBLIGHT_EFFECT_') + # Show the results dump_lines(cli.args.output, config_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py index 54ddb4cffd..910bd6a08d 100755 --- a/lib/python/qmk/cli/generate/keyboard_h.py +++ b/lib/python/qmk/cli/generate/keyboard_h.py @@ -1,33 +1,72 @@ """Used by the make system to generate keyboard.h from info.json. """ +from pathlib import Path + from milc import cli +from qmk.path import normpath from qmk.info import info_json from qmk.commands import dump_lines from qmk.keyboard import keyboard_completer, keyboard_folder -from qmk.path import normpath -from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE +from qmk.constants import COL_LETTERS, ROW_LETTERS, GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE -def would_populate_layout_h(keyboard): - """Detect if a given keyboard is doing data driven layouts +def _generate_layouts(keyboard): + """Generates the layouts.h file. """ # Build the info.json file kb_info_json = info_json(keyboard) + if 'matrix_size' not in kb_info_json: + cli.log.error(f'{keyboard}: Invalid matrix config.') + return [] + + col_num = kb_info_json['matrix_size']['cols'] + row_num = kb_info_json['matrix_size']['rows'] + + lines = [] for layout_name in kb_info_json['layouts']: if kb_info_json['layouts'][layout_name]['c_macro']: continue if 'matrix' not in kb_info_json['layouts'][layout_name]['layout'][0]: - cli.log.debug('%s/%s: No matrix data!', keyboard, layout_name) + cli.log.debug(f'{keyboard}/{layout_name}: No matrix data!') continue - return True + layout_keys = [] + layout_matrix = [['KC_NO' for i in range(col_num)] for i in range(row_num)] + + for i, key in enumerate(kb_info_json['layouts'][layout_name]['layout']): + row = key['matrix'][0] + col = key['matrix'][1] + identifier = 'k%s%s' % (ROW_LETTERS[row], COL_LETTERS[col]) - return False + try: + layout_matrix[row][col] = identifier + layout_keys.append(identifier) + except IndexError: + key_name = key.get('label', identifier) + cli.log.error(f'Matrix data out of bounds for layout {layout_name} at index {i} ({key_name}): [{row}, {col}]') + return [] + lines.append('') + lines.append('#define %s(%s) {\\' % (layout_name, ', '.join(layout_keys))) + rows = ', \\\n'.join(['\t {' + ', '.join(row) + '}' for row in layout_matrix]) + rows += ' \\' + lines.append(rows) + lines.append('}') + + for alias, target in kb_info_json.get('layout_aliases', {}).items(): + lines.append('') + lines.append(f'#ifndef {alias}') + lines.append(f'# define {alias} {target}') + lines.append('#endif') + + return lines + + +@cli.argument('-i', '--include', nargs='?', arg_only=True, help='Optional file to include') @cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, required=True, help='Keyboard to generate keyboard.h for.') @@ -35,13 +74,23 @@ def would_populate_layout_h(keyboard): def generate_keyboard_h(cli): """Generates the keyboard.h file. """ - has_layout_h = would_populate_layout_h(cli.args.keyboard) + keyboard_h = cli.args.include + dd_layouts = _generate_layouts(cli.args.keyboard) + valid_config = dd_layouts or keyboard_h # Build the layouts.h file. keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"'] - if not has_layout_h: - keyboard_h_lines.append('#error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")') + keyboard_h_lines.append('') + keyboard_h_lines.append('// Layout content') + if dd_layouts: + keyboard_h_lines.extend(dd_layouts) + if keyboard_h: + keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"') + + # Protect against poorly configured keyboards + if not valid_config: + keyboard_h_lines.append('#error("<keyboard>.h is required unless your keyboard uses data-driven configuration. Please rename your keyboard\'s header file to <keyboard>.h")') # Show the results dump_lines(cli.args.output, keyboard_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/cli/generate/layouts.py b/lib/python/qmk/cli/generate/layouts.py deleted file mode 100755 index 193633baf6..0000000000 --- a/lib/python/qmk/cli/generate/layouts.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Used by the make system to generate layouts.h from info.json. -""" -from milc import cli - -from qmk.constants import COL_LETTERS, ROW_LETTERS, GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE -from qmk.decorators import automagic_keyboard, automagic_keymap -from qmk.info import info_json -from qmk.keyboard import keyboard_completer, keyboard_folder -from qmk.path import is_keyboard, normpath -from qmk.commands import dump_lines - -usb_properties = { - 'vid': 'VENDOR_ID', - 'pid': 'PRODUCT_ID', - 'device_ver': 'DEVICE_VER', -} - - -@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to') -@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") -@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate config.h for.') -@cli.subcommand('Used by the make system to generate layouts.h from info.json', hidden=True) -@automagic_keyboard -@automagic_keymap -def generate_layouts(cli): - """Generates the layouts.h file. - """ - # Determine our keyboard(s) - if not cli.config.generate_layouts.keyboard: - cli.log.error('Missing parameter: --keyboard') - cli.subcommands['info'].print_help() - return False - - if not is_keyboard(cli.config.generate_layouts.keyboard): - cli.log.error('Invalid keyboard: "%s"', cli.config.generate_layouts.keyboard) - return False - - # Build the info.json file - kb_info_json = info_json(cli.config.generate_layouts.keyboard) - - # Build the layouts.h file. - layouts_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once'] - - if 'matrix_size' not in kb_info_json: - cli.log.error('%s: Invalid matrix config.', cli.config.generate_layouts.keyboard) - return False - - col_num = kb_info_json['matrix_size']['cols'] - row_num = kb_info_json['matrix_size']['rows'] - - for layout_name in kb_info_json['layouts']: - if kb_info_json['layouts'][layout_name]['c_macro']: - continue - - if 'matrix' not in kb_info_json['layouts'][layout_name]['layout'][0]: - cli.log.debug('%s/%s: No matrix data!', cli.config.generate_layouts.keyboard, layout_name) - continue - - layout_keys = [] - layout_matrix = [['KC_NO' for i in range(col_num)] for i in range(row_num)] - - for i, key in enumerate(kb_info_json['layouts'][layout_name]['layout']): - row = key['matrix'][0] - col = key['matrix'][1] - identifier = 'k%s%s' % (ROW_LETTERS[row], COL_LETTERS[col]) - - try: - layout_matrix[row][col] = identifier - layout_keys.append(identifier) - except IndexError: - key_name = key.get('label', identifier) - cli.log.error('Matrix data out of bounds for layout %s at index %s (%s): %s, %s', layout_name, i, key_name, row, col) - return False - - layouts_h_lines.append('') - layouts_h_lines.append('#define %s(%s) {\\' % (layout_name, ', '.join(layout_keys))) - - rows = ', \\\n'.join(['\t {' + ', '.join(row) + '}' for row in layout_matrix]) - rows += ' \\' - layouts_h_lines.append(rows) - layouts_h_lines.append('}') - - for alias, target in kb_info_json.get('layout_aliases', {}).items(): - layouts_h_lines.append('') - layouts_h_lines.append(f'#ifndef {alias}') - layouts_h_lines.append(f'# define {alias} {target}') - layouts_h_lines.append('#endif') - - # Show the results - dump_lines(cli.args.output, layouts_h_lines, cli.args.quiet) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 7460d84ad3..5ca282b2d3 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -437,19 +437,6 @@ def _extract_matrix_info(info_data, config_c): return info_data -# TODO: kill off usb.device_ver in favor of usb.device_version -def _extract_device_version(info_data): - if info_data.get('usb'): - if info_data['usb'].get('device_version') and not info_data['usb'].get('device_ver'): - (major, minor, revision) = info_data['usb']['device_version'].split('.', 3) - info_data['usb']['device_ver'] = f'0x{major.zfill(2)}{minor}{revision}' - if not info_data['usb'].get('device_version') and info_data['usb'].get('device_ver'): - major = int(info_data['usb']['device_ver'][2:4]) - minor = int(info_data['usb']['device_ver'][4]) - revision = int(info_data['usb']['device_ver'][5]) - info_data['usb']['device_version'] = f'{major}.{minor}.{revision}' - - def _config_to_json(key_type, config_value): """Convert config value using spec """ @@ -479,7 +466,7 @@ def _config_to_json(key_type, config_value): return int(config_value) elif key_type == 'str': - return config_value.strip('"') + return config_value.strip('"').replace('\\"', '"').replace('\\\\', '\\') elif key_type == 'bcd_version': major = int(config_value[2:4]) @@ -535,7 +522,6 @@ def _extract_config_h(info_data, config_c): _extract_split_right_pins(info_data, config_c) _extract_encoders(info_data, config_c) _extract_split_encoders(info_data, config_c) - _extract_device_version(info_data) return info_data @@ -627,20 +613,24 @@ def _extract_led_config(info_data, keyboard): cols = info_data['matrix_size']['cols'] rows = info_data['matrix_size']['rows'] - # Assume what feature owns g_led_config - feature = "rgb_matrix" - if info_data.get("features", {}).get("led_matrix", False): + # Determine what feature owns g_led_config + features = info_data.get("features", {}) + feature = None + if features.get("rgb_matrix", False): + feature = "rgb_matrix" + elif features.get("led_matrix", False): feature = "led_matrix" - # Process - for file in find_keyboard_c(keyboard): - try: - ret = find_led_config(file, cols, rows) - if ret: - info_data[feature] = info_data.get(feature, {}) - info_data[feature]["layout"] = ret - except Exception as e: - _log_warning(info_data, f'led_config: {file.name}: {e}') + if feature: + # Process + for file in find_keyboard_c(keyboard): + try: + ret = find_led_config(file, cols, rows) + if ret: + info_data[feature] = info_data.get(feature, {}) + info_data[feature]["layout"] = ret + except Exception as e: + _log_warning(info_data, f'led_config: {file.name}: {e}') return info_data @@ -755,9 +745,6 @@ def arm_processor_rules(info_data, rules): info_data['processor_type'] = 'arm' info_data['protocol'] = 'ChibiOS' - if 'bootloader' not in info_data: - info_data['bootloader'] = 'unknown' - if 'STM32' in info_data['processor']: info_data['platform'] = 'STM32' elif 'MCU_SERIES' in rules: @@ -775,9 +762,6 @@ def avr_processor_rules(info_data, rules): info_data['platform'] = rules['ARCH'] if 'ARCH' in rules else 'unknown' info_data['protocol'] = 'V-USB' if rules.get('MCU') in VUSB_PROCESSORS else 'LUFA' - if 'bootloader' not in info_data: - info_data['bootloader'] = 'atmel-dfu' - # FIXME(fauxpark/anyone): Eventually we should detect the protocol by looking at PROTOCOL inherited from mcu_selection.mk: # info_data['protocol'] = 'V-USB' if rules.get('PROTOCOL') == 'VUSB' else 'LUFA' diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index f317f4d11e..fc1421962f 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py @@ -412,7 +412,7 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa rules = rules_mk(keyboard) names = set() - if rules: + if rules is not None: keyboards_dir = Path('keyboards') kb_path = keyboards_dir / keyboard diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index fde8b079a3..9bfc5a0a79 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -263,16 +263,16 @@ def test_generate_rgb_breathe_table(): def test_generate_config_h(): result = check_subcommand('generate-config-h', '-kb', 'handwired/pytest/basic') check_returncode(result) - assert '# define DEVICE_VER 0x0001' in result.stdout - assert '# define DIODE_DIRECTION COL2ROW' in result.stdout - assert '# define MANUFACTURER none' in result.stdout - assert '# define PRODUCT pytest' in result.stdout - assert '# define PRODUCT_ID 0x6465' in result.stdout - assert '# define VENDOR_ID 0xFEED' in result.stdout - assert '# define MATRIX_COLS 1' in result.stdout - assert '# define MATRIX_COL_PINS { F4 }' in result.stdout - assert '# define MATRIX_ROWS 1' in result.stdout - assert '# define MATRIX_ROW_PINS { F5 }' in result.stdout + assert '# define DEVICE_VER 0x0001' in result.stdout + assert '# define DIODE_DIRECTION COL2ROW' in result.stdout + assert '# define MANUFACTURER "none"' in result.stdout + assert '# define PRODUCT "pytest"' in result.stdout + assert '# define PRODUCT_ID 0x6465' in result.stdout + assert '# define VENDOR_ID 0xFEED' in result.stdout + assert '# define MATRIX_COLS 1' in result.stdout + assert '# define MATRIX_COL_PINS { F4 }' in result.stdout + assert '# define MATRIX_ROWS 1' in result.stdout + assert '# define MATRIX_ROW_PINS { F5 }' in result.stdout def test_generate_rules_mk(): @@ -288,12 +288,6 @@ def test_generate_version_h(): assert '#define QMK_VERSION' in result.stdout -def test_generate_layouts(): - result = check_subcommand('generate-layouts', '-kb', 'handwired/pytest/basic') - check_returncode(result) - assert '#define LAYOUT_custom(k0A) {' in result.stdout - - def test_format_json_keyboard(): result = check_subcommand('format-json', '--format', 'keyboard', 'lib/python/qmk/tests/minimal_info.json') check_returncode(result) diff --git a/lib/usbhost/USB_Host_Shield_2.0/SPP.cpp b/lib/usbhost/USB_Host_Shield_2.0/SPP.cpp index 0f4ee5e981..8169707661 100644 --- a/lib/usbhost/USB_Host_Shield_2.0/SPP.cpp +++ b/lib/usbhost/USB_Host_Shield_2.0/SPP.cpp @@ -757,7 +757,7 @@ size_t SPP::write(const uint8_t *data, size_t size) { void SPP::write(const uint8_t *data, size_t size) { #endif for(uint8_t i = 0; i < size; i++) { - if(sppIndex >= sizeof (sppOutputBuffer) / sizeof (sppOutputBuffer[0])) + if(sppIndex >= ARRAY_SIZE(sppOutputBuffer)) send(); // Send the current data in the buffer sppOutputBuffer[sppIndex++] = data[i]; // All the bytes are put into a buffer and then send using the send() function } diff --git a/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino index 5ebfd7819c..11833334d0 100644 --- a/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino +++ b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino @@ -19,7 +19,7 @@ USB Usb; BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so PS3BT *PS3[2]; // We will use this pointer to store the two instance, you can easily make it larger if you like, but it will use a lot of RAM! -const uint8_t length = sizeof(PS3) / sizeof(PS3[0]); // Get the lenght of the array +const uint8_t length = ARRAY_SIZE(PS3); // Get the lenght of the array bool printAngle[length]; bool oldControllerState[length]; diff --git a/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino index 07c6f13d2b..93cd084651 100644 --- a/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino +++ b/lib/usbhost/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino @@ -19,7 +19,7 @@ USB Usb; BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so WII *Wii[2]; // We will use this pointer to store the two instance, you can easily make it larger if you like, but it will use a lot of RAM! -const uint8_t length = sizeof(Wii) / sizeof(Wii[0]); // Get the lenght of the array +const uint8_t length = ARRAY_SIZE(Wii); // Get the lenght of the array bool printAngle[length]; bool oldControllerState[length]; diff --git a/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h index 2400364e65..05dab14afe 100644 --- a/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h +++ b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h @@ -25,7 +25,7 @@ public: virtual void OnGamePadChanged(const GamePadEventData *evt); }; -#define RPT_GAMEPAD_LEN sizeof(GamePadEventData)/sizeof(uint8_t) +#define RPT_GAMEPAD_LEN sizeof(GamePadEventData) class JoystickReportParser : public HIDReportParser { diff --git a/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h index 57fbb033bf..7af18b88f7 100644 --- a/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h +++ b/lib/usbhost/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h @@ -38,7 +38,7 @@ public: virtual void OnScaleChanged(const ScaleEventData *evt); }; -#define RPT_SCALE_LEN sizeof(ScaleEventData)/sizeof(uint8_t) +#define RPT_SCALE_LEN sizeof(ScaleEventData) class ScaleReportParser : public HIDReportParser { diff --git a/platforms/arm_atsam/bootloader.mk b/platforms/arm_atsam/bootloader.mk new file mode 100644 index 0000000000..1ec42edeb6 --- /dev/null +++ b/platforms/arm_atsam/bootloader.mk @@ -0,0 +1,46 @@ +# Copyright 2017 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 <http://www.gnu.org/licenses/>. + +# If it's possible that multiple bootloaders can be used for one project, +# you can leave this unset, and the correct size will be selected +# automatically. +# +# Sets the bootloader defined in the keyboard's/keymap's rules.mk +# +# Current options for ARM (ATSAM): +# md-boot Atmel SAM-BA (only used by Drop boards) +# +# If you need to provide your own implementation, you can set inside `rules.mk` +# `BOOTLOADER = custom` -- you'll need to provide your own implementations. See +# the respective file under `platforms/<PLATFORM>/bootloaders/custom.c` to see +# which functions may be overridden. + +ifeq ($(strip $(BOOTLOADER)), custom) + OPT_DEFS += -DBOOTLOADER_CUSTOM + BOOTLOADER_TYPE = custom +endif + +ifeq ($(strip $(BOOTLOADER)), md-boot) + OPT_DEFS += -DBOOTLOADER_MD_BOOT + BOOTLOADER_TYPE = md_boot +endif + +ifeq ($(strip $(BOOTLOADER_TYPE)),) + ifneq ($(strip $(BOOTLOADER)),) + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Invalid bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + else + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + endif +endif diff --git a/builddefs/bootloader.mk b/platforms/avr/bootloader.mk index 9f55536423..63fe635d96 100644 --- a/builddefs/bootloader.mk +++ b/platforms/avr/bootloader.mk @@ -18,9 +18,8 @@ # automatically. # # Sets the bootloader defined in the keyboard's/keymap's rules.mk -# Current options: # -# AVR: +# Current options for AVR: # halfkay PJRC Teensy # caterina Pro Micro (Sparkfun/generic) # atmel-dfu Atmel factory DFU @@ -29,14 +28,6 @@ # qmk-hid QMK HID (LUFA + blinkenlight) # bootloadhid HIDBootFlash compatible (ATmega32A) # usbasploader USBaspLoader (ATmega328P) -# ARM: -# halfkay PJRC Teensy -# kiibohd Input:Club Kiibohd bootloader (only used on their boards) -# stm32duino STM32Duino (STM32F103x8) -# stm32-dfu STM32 USB DFU in ROM -# apm32-dfu APM32 USB DFU in ROM -# RISC-V: -# gd32v-dfu GD32V USB DFU in ROM # # If you need to provide your own implementation, you can set inside `rules.mk` # `BOOTLOADER = custom` -- you'll need to provide your own implementations. See @@ -50,6 +41,7 @@ ifeq ($(strip $(BOOTLOADER)), custom) OPT_DEFS += -DBOOTLOADER_CUSTOM BOOTLOADER_TYPE = custom endif + ifeq ($(strip $(BOOTLOADER)), atmel-dfu) OPT_DEFS += -DBOOTLOADER_ATMEL_DFU OPT_DEFS += -DBOOTLOADER_DFU @@ -105,10 +97,6 @@ ifeq ($(strip $(BOOTLOADER)), halfkay) ifeq ($(strip $(MCU)), at90usb1286) BOOTLOADER_SIZE = 1024 endif - # Teensy LC, 3.0, 3.1/2, 3.5, 3.6 - ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK64FX512 MK66FX1M0)) - FIRMWARE_FORMAT = hex - endif endif ifeq ($(strip $(BOOTLOADER)), caterina) OPT_DEFS += -DBOOTLOADER_CATERINA @@ -116,13 +104,13 @@ ifeq ($(strip $(BOOTLOADER)), caterina) BOOTLOADER_SIZE = 4096 endif -ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID)) +ifeq ($(strip $(BOOTLOADER)), bootloadhid) OPT_DEFS += -DBOOTLOADER_BOOTLOADHID BOOTLOADER_TYPE = bootloadhid BOOTLOADER_SIZE = 4096 endif -ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp)) +ifeq ($(strip $(BOOTLOADER)), usbasploader) OPT_DEFS += -DBOOTLOADER_USBASP BOOTLOADER_TYPE = usbasploader @@ -147,77 +135,10 @@ ifdef BOOTLOADER_SIZE OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE)) endif -ifeq ($(strip $(BOOTLOADER)), stm32-dfu) - OPT_DEFS += -DBOOTLOADER_STM32_DFU - BOOTLOADER_TYPE = stm32_dfu - - # Options to pass to dfu-util when flashing - DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave - DFU_SUFFIX_ARGS ?= -v 0483 -p DF11 -endif -ifeq ($(strip $(BOOTLOADER)), apm32-dfu) - OPT_DEFS += -DBOOTLOADER_APM32_DFU - BOOTLOADER_TYPE = stm32_dfu - - # Options to pass to dfu-util when flashing - DFU_ARGS ?= -d 314B:0106 -a 0 -s 0x08000000:leave - DFU_SUFFIX_ARGS ?= -v 314B -p 0106 -endif -ifeq ($(strip $(BOOTLOADER)), gd32v-dfu) - OPT_DEFS += -DBOOTLOADER_GD32V_DFU - BOOTLOADER_TYPE = gd32v_dfu - - # Options to pass to dfu-util when flashing - DFU_ARGS ?= -d 28E9:0189 -a 0 -s 0x08000000:leave - DFU_SUFFIX_ARGS ?= -v 28E9 -p 0189 -endif -ifeq ($(strip $(BOOTLOADER)), kiibohd) - OPT_DEFS += -DBOOTLOADER_KIIBOHD - BOOTLOADER_TYPE = kiibohd - - ifeq ($(strip $(MCU_ORIG)), MK20DX128) - MCU_LDSCRIPT = MK20DX128BLDR4 - endif - ifeq ($(strip $(MCU_ORIG)), MK20DX256) - MCU_LDSCRIPT = MK20DX256BLDR8 - endif - - # Options to pass to dfu-util when flashing - DFU_ARGS = -d 1C11:B007 - DFU_SUFFIX_ARGS = -v 1C11 -p B007 -endif -ifeq ($(strip $(BOOTLOADER)), stm32duino) - OPT_DEFS += -DBOOTLOADER_STM32DUINO - MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader - BOARD = STM32_F103_STM32DUINO - BOOTLOADER_TYPE = stm32duino - - # Options to pass to dfu-util when flashing - DFU_ARGS = -d 1EAF:0003 -a 2 -R - DFU_SUFFIX_ARGS = -v 1EAF -p 0003 -endif -ifeq ($(strip $(BOOTLOADER)), tinyuf2) - OPT_DEFS += -DBOOTLOADER_TINYUF2 - BOOTLOADER_TYPE = tinyuf2 - FIRMWARE_FORMAT = uf2 -endif -ifeq ($(strip $(BOOTLOADER)), rp2040) - OPT_DEFS += -DBOOTLOADER_RP2040 - BOOTLOADER_TYPE = rp2040 -endif -ifeq ($(strip $(BOOTLOADER)), halfkay) - OPT_DEFS += -DBOOTLOADER_HALFKAY - BOOTLOADER_TYPE = halfkay -endif -ifeq ($(strip $(BOOTLOADER)), md-boot) - OPT_DEFS += -DBOOTLOADER_MD_BOOT - BOOTLOADER_TYPE = md_boot -endif -ifeq ($(strip $(BOOTLOADER)), wb32-dfu) - OPT_DEFS += -DBOOTLOADER_WB32_DFU - BOOTLOADER_TYPE = wb32_dfu -endif - ifeq ($(strip $(BOOTLOADER_TYPE)),) - $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate 'BOOTLOADER' in your keyboard's 'rules.mk' file.) + ifneq ($(strip $(BOOTLOADER)),) + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Invalid bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + else + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + endif endif diff --git a/platforms/avr/flash.mk b/platforms/avr/flash.mk index c104f730b3..4c4ac70512 100644 --- a/platforms/avr/flash.mk +++ b/platforms/avr/flash.mk @@ -178,9 +178,9 @@ else ifeq ($(strip $(BOOTLOADER)), halfkay) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY) else ifeq (dfu,$(findstring dfu,$(BOOTLOADER))) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_DFU) -else ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp)) +else ifeq ($(strip $(BOOTLOADER)), usbasploader) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_USBASP) -else ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID)) +else ifeq ($(strip $(BOOTLOADER)), bootloadhid) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_BOOTLOADHID) else ifeq ($(strip $(BOOTLOADER)), qmk-hid) $(UNSYNC_OUTPUT_CMD) && $(call EXEC_HID_LUFA) diff --git a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h index 8348e5312f..5c0859901e 100644 --- a/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/mcuconf.h @@ -79,6 +79,19 @@ #define RP_SPI_DMA_ERROR_HOOK(spip) /* + * PWM driver system settings. + */ +#define RP_PWM_USE_PWM0 FALSE +#define RP_PWM_USE_PWM1 FALSE +#define RP_PWM_USE_PWM2 FALSE +#define RP_PWM_USE_PWM3 FALSE +#define RP_PWM_USE_PWM4 FALSE +#define RP_PWM_USE_PWM5 FALSE +#define RP_PWM_USE_PWM6 FALSE +#define RP_PWM_USE_PWM7 FALSE +#define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY 3 + +/* * I2C driver system settings. */ #define RP_I2C_USE_I2C0 FALSE diff --git a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h index 9d8dc61aac..f7a66c6ab9 100644 --- a/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_RP_RP2040/configs/mcuconf.h @@ -79,6 +79,19 @@ #define RP_SPI_DMA_ERROR_HOOK(spip) /* + * PWM driver system settings. + */ +#define RP_PWM_USE_PWM0 FALSE +#define RP_PWM_USE_PWM1 FALSE +#define RP_PWM_USE_PWM2 FALSE +#define RP_PWM_USE_PWM3 FALSE +#define RP_PWM_USE_PWM4 FALSE +#define RP_PWM_USE_PWM5 FALSE +#define RP_PWM_USE_PWM6 FALSE +#define RP_PWM_USE_PWM7 FALSE +#define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY 3 + +/* * I2C driver system settings. */ #define RP_I2C_USE_I2C0 FALSE diff --git a/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/mcuconf.h index 32b2777a81..9d26849dff 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_F072XB/configs/mcuconf.h @@ -80,6 +80,7 @@ #define STM32_ADC_ADC1_DMA_PRIORITY 2 #define STM32_ADC_IRQ_PRIORITY 2 #define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2 +#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) /* * GPT driver system settings. diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c index e38a7e0054..f74c9e8be7 100644 --- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c +++ b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/board/board.c @@ -80,3 +80,7 @@ void __early_init(void) { void boardInit(void) { } + +void restart_usb_driver(USBDriver *usbp) { + // Do nothing. Restarting the USB driver on these boards breaks it. +} diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c index 22b4ff73b5..a99537fc27 100644 --- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c +++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/board/board.c @@ -80,3 +80,7 @@ void __early_init(void) { void boardInit(void) { } + +void restart_usb_driver(USBDriver *usbp) { + // Do nothing. Restarting the USB driver on these boards breaks it. +} diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/config.h b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/config.h index e02e526113..d4c7e54642 100644 --- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/config.h +++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/config.h @@ -18,3 +18,5 @@ #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif + +#define USB_ENDPOINTS_ARE_REORDERABLE diff --git a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h index a737b36c1c..e33d6d785f 100644 --- a/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h +++ b/platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h @@ -79,6 +79,19 @@ #define RP_SPI_DMA_ERROR_HOOK(spip) /* + * PWM driver system settings. + */ +#define RP_PWM_USE_PWM0 FALSE +#define RP_PWM_USE_PWM1 FALSE +#define RP_PWM_USE_PWM2 FALSE +#define RP_PWM_USE_PWM3 FALSE +#define RP_PWM_USE_PWM4 FALSE +#define RP_PWM_USE_PWM5 FALSE +#define RP_PWM_USE_PWM6 FALSE +#define RP_PWM_USE_PWM7 FALSE +#define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY 3 + +/* * I2C driver system settings. */ #define RP_I2C_USE_I2C0 FALSE diff --git a/platforms/chibios/bootloader.mk b/platforms/chibios/bootloader.mk new file mode 100644 index 0000000000..0568d35321 --- /dev/null +++ b/platforms/chibios/bootloader.mk @@ -0,0 +1,122 @@ +# Copyright 2017 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 <http://www.gnu.org/licenses/>. + +# If it's possible that multiple bootloaders can be used for one project, +# you can leave this unset, and the correct size will be selected +# automatically. +# +# Sets the bootloader defined in the keyboard's/keymap's rules.mk +# +# Current options for ARM: +# halfkay PJRC Teensy +# kiibohd Input:Club Kiibohd bootloader (only used on their boards) +# stm32duino STM32Duino (STM32F103x8) +# stm32-dfu STM32 USB DFU in ROM +# apm32-dfu APM32 USB DFU in ROM +# wb32-dfu WB32 USB DFU in ROM +# tinyuf2 TinyUF2 +# rp2040 Raspberry Pi RP2040 +# Current options for RISC-V: +# gd32v-dfu GD32V USB DFU in ROM +# +# If you need to provide your own implementation, you can set inside `rules.mk` +# `BOOTLOADER = custom` -- you'll need to provide your own implementations. See +# the respective file under `platforms/<PLATFORM>/bootloaders/custom.c` to see +# which functions may be overridden. + +ifeq ($(strip $(BOOTLOADER)), custom) + OPT_DEFS += -DBOOTLOADER_CUSTOM + BOOTLOADER_TYPE = custom +endif + +ifeq ($(strip $(BOOTLOADER)), halfkay) + OPT_DEFS += -DBOOTLOADER_HALFKAY + BOOTLOADER_TYPE = halfkay + + # Teensy LC, 3.0, 3.1/2, 3.5, 3.6 + ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK64FX512 MK66FX1M0)) + FIRMWARE_FORMAT = hex + endif +endif +ifeq ($(strip $(BOOTLOADER)), stm32-dfu) + OPT_DEFS += -DBOOTLOADER_STM32_DFU + BOOTLOADER_TYPE = stm32_dfu + + # Options to pass to dfu-util when flashing + DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave + DFU_SUFFIX_ARGS ?= -v 0483 -p DF11 +endif +ifeq ($(strip $(BOOTLOADER)), apm32-dfu) + OPT_DEFS += -DBOOTLOADER_APM32_DFU + BOOTLOADER_TYPE = stm32_dfu + + # Options to pass to dfu-util when flashing + DFU_ARGS ?= -d 314B:0106 -a 0 -s 0x08000000:leave + DFU_SUFFIX_ARGS ?= -v 314B -p 0106 +endif +ifeq ($(strip $(BOOTLOADER)), gd32v-dfu) + OPT_DEFS += -DBOOTLOADER_GD32V_DFU + BOOTLOADER_TYPE = gd32v_dfu + + # Options to pass to dfu-util when flashing + DFU_ARGS ?= -d 28E9:0189 -a 0 -s 0x08000000:leave + DFU_SUFFIX_ARGS ?= -v 28E9 -p 0189 +endif +ifeq ($(strip $(BOOTLOADER)), kiibohd) + OPT_DEFS += -DBOOTLOADER_KIIBOHD + BOOTLOADER_TYPE = kiibohd + + ifeq ($(strip $(MCU_ORIG)), MK20DX128) + MCU_LDSCRIPT = MK20DX128BLDR4 + endif + ifeq ($(strip $(MCU_ORIG)), MK20DX256) + MCU_LDSCRIPT = MK20DX256BLDR8 + endif + + # Options to pass to dfu-util when flashing + DFU_ARGS = -d 1C11:B007 + DFU_SUFFIX_ARGS = -v 1C11 -p B007 +endif +ifeq ($(strip $(BOOTLOADER)), stm32duino) + OPT_DEFS += -DBOOTLOADER_STM32DUINO + MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader + BOARD = STM32_F103_STM32DUINO + BOOTLOADER_TYPE = stm32duino + + # Options to pass to dfu-util when flashing + DFU_ARGS = -d 1EAF:0003 -a 2 -R + DFU_SUFFIX_ARGS = -v 1EAF -p 0003 +endif +ifeq ($(strip $(BOOTLOADER)), tinyuf2) + OPT_DEFS += -DBOOTLOADER_TINYUF2 + BOOTLOADER_TYPE = tinyuf2 + FIRMWARE_FORMAT = uf2 +endif +ifeq ($(strip $(BOOTLOADER)), rp2040) + OPT_DEFS += -DBOOTLOADER_RP2040 + BOOTLOADER_TYPE = rp2040 +endif +ifeq ($(strip $(BOOTLOADER)), wb32-dfu) + OPT_DEFS += -DBOOTLOADER_WB32_DFU + BOOTLOADER_TYPE = wb32_dfu +endif + +ifeq ($(strip $(BOOTLOADER_TYPE)),) + ifneq ($(strip $(BOOTLOADER)),) + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Invalid bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + else + $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,No bootloader specified. Please set an appropriate bootloader in your rules.mk or info.json.) + endif +endif diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 8dcc23727f..38d3a40f6b 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -28,6 +28,10 @@ # define USE_GPIOV1 # define PAL_OUTPUT_TYPE_OPENDRAIN _Static_assert(0, "RP2040 has no Open Drain GPIO configuration, setting this is not possible"); +# define BACKLIGHT_PAL_MODE (PAL_MODE_ALTERNATE_PWM | PAL_RP_PAD_DRIVE12 | PAL_RP_GPIO_OE) +# define BACKLIGHT_PWM_COUNTER_FREQUENCY 1000000 +# define BACKLIGHT_PWM_PERIOD BACKLIGHT_PWM_COUNTER_FREQUENCY / 2048 + # define usb_lld_endpoint_fields # define I2C1_SCL_PAL_MODE (PAL_MODE_ALTERNATE_I2C | PAL_RP_PAD_SLEWFAST | PAL_RP_PAD_PUE | PAL_RP_PAD_DRIVE4) diff --git a/platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h b/platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h new file mode 100644 index 0000000000..98dd37e279 --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h @@ -0,0 +1,39 @@ +// Copyright 2022 QMK +// 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 27U +#define F7 26U +#define B1 22U +#define B3 20U +#define B2 23U +#define B6 21U + +// Bottom row +#define B7 12U +#define D5 13U +#define C7 14U +#define F1 15U +#define F0 16U diff --git a/platforms/chibios/converters/elite_c_to_elite_pi/converter.mk b/platforms/chibios/converters/elite_c_to_elite_pi/converter.mk new file mode 100644 index 0000000000..590a004189 --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_elite_pi/converter.mk @@ -0,0 +1,9 @@ +# Elite-Pi 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 diff --git a/platforms/chibios/converters/elite_c_to_stemcell/_pin_defs.h b/platforms/chibios/converters/elite_c_to_stemcell/_pin_defs.h new file mode 100644 index 0000000000..4458abfa1c --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_stemcell/_pin_defs.h @@ -0,0 +1,54 @@ +// Copyright 2022 Mega Mind (@megamind4089) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Pindefs for v2.0.0 +// https://megamind4089.github.io/STeMCell/pinout/ + +// Left side (front) +#ifdef STEMCELL_UART_SWAP +# define D3 PAL_LINE(GPIOA, 3) +# define D2 PAL_LINE(GPIOA, 2) +#else +# define D3 PAL_LINE(GPIOA, 2) +# define D2 PAL_LINE(GPIOA, 3) +#endif +// GND +// GND +#ifdef STEMCELL_I2C_SWAP +# define D1 PAL_LINE(GPIOB, 6) +# define D0 PAL_LINE(GPIOB, 7) +#else +# define D1 PAL_LINE(GPIOB, 7) +# define D0 PAL_LINE(GPIOB, 6) +#endif + +#define D4 PAL_LINE(GPIOA, 15) +#define C6 PAL_LINE(GPIOB, 3) +#define D7 PAL_LINE(GPIOB, 4) +#define E6 PAL_LINE(GPIOB, 5) +#define B4 PAL_LINE(GPIOB, 8) +#define B5 PAL_LINE(GPIOB, 9) + +// Right side (front) +// RAW +// GND +// RESET +// VCC +#define F4 PAL_LINE(GPIOB, 10) +#define F5 PAL_LINE(GPIOB, 2) +#define F6 PAL_LINE(GPIOB, 1) +#define F7 PAL_LINE(GPIOB, 0) + +#define B1 PAL_LINE(GPIOA, 5) +#define B3 PAL_LINE(GPIOA, 6) +#define B2 PAL_LINE(GPIOA, 7) +#define B6 PAL_LINE(GPIOA, 4) + +// Bottom row +#define B7 PAL_LINE(GPIOC, 13) +#define D5 PAL_LINE(GPIOC, 14) +#define C7 PAL_LINE(GPIOC, 15) +#define F1 PAL_LINE(GPIOA, 0) +#define F0 PAL_LINE(GPIOA, 1) diff --git a/platforms/chibios/converters/elite_c_to_stemcell/converter.mk b/platforms/chibios/converters/elite_c_to_stemcell/converter.mk new file mode 100644 index 0000000000..1bbe9bf09e --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_stemcell/converter.mk @@ -0,0 +1,18 @@ +# Copyright 2022 Mega Mind (@megamind4089) +# SPDX-License-Identifier: GPL-2.0-or-later + +MCU := STM32F411 +BOARD := STEMCELL +BOOTLOADER := tinyuf2 + +SERIAL_DRIVER ?= usart +WS2812_DRIVER ?= bitbang + +ifeq ($(strip $(STMC_US)), yes) + OPT_DEFS += -DSTEMCELL_UART_SWAP +endif + +ifeq ($(strip $(STMC_IS)), yes) + OPT_DEFS += -DSTEMCELL_I2C_SWAP +endif + diff --git a/platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h b/platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h new file mode 100644 index 0000000000..1372bef79e --- /dev/null +++ b/platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h @@ -0,0 +1,36 @@ +// Copyright 2022 QMK +// 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 27U +#define F7 26U +#define B1 22U +#define B3 20U +#define B2 23U +#define B6 21U + +// LEDs +#define D5 12U +#define B0 13U diff --git a/platforms/chibios/converters/promicro_to_elite_pi/converter.mk b/platforms/chibios/converters/promicro_to_elite_pi/converter.mk new file mode 100644 index 0000000000..590a004189 --- /dev/null +++ b/platforms/chibios/converters/promicro_to_elite_pi/converter.mk @@ -0,0 +1,9 @@ +# Elite-Pi 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 diff --git a/platforms/chibios/drivers/serial_protocol.c b/platforms/chibios/drivers/serial_protocol.c index c95aed9885..ccaf73282d 100644 --- a/platforms/chibios/drivers/serial_protocol.c +++ b/platforms/chibios/drivers/serial_protocol.c @@ -102,15 +102,11 @@ static inline bool react_to_transaction(void) { * @return bool Indicates success of transaction. */ bool soft_serial_transaction(int index) { - bool result = initiate_transaction((uint8_t)index); + /* Clear the receive queue, to start with a clean slate. + * Parts of failed transactions or spurious bytes could still be in it. */ + serial_transport_driver_clear(); - if (unlikely(!result)) { - /* Clear the receive queue, to start with a clean slate. - * Parts of failed transactions or spurious bytes could still be in it. */ - serial_transport_driver_clear(); - } - - return result; + return initiate_transaction((uint8_t)index); } /** diff --git a/platforms/chibios/drivers/uart.c b/platforms/chibios/drivers/uart.c index 396803f33b..b16130d80b 100644 --- a/platforms/chibios/drivers/uart.c +++ b/platforms/chibios/drivers/uart.c @@ -18,7 +18,9 @@ #include "quantum.h" -#if defined(WB32F3G71xx) || defined(WB32FQ95xx) +#if defined(MCU_KINETIS) +static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE}; +#elif defined(WB32F3G71xx) || defined(WB32FQ95xx) static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE, SD1_WRDLEN, SD1_STPBIT, SD1_PARITY, SD1_ATFLCT}; #else static SerialConfig serialConfig = {SERIAL_DEFAULT_BITRATE, SD1_CR1, SD1_CR2, SD1_CR3}; @@ -30,11 +32,15 @@ void uart_init(uint32_t baud) { if (!is_initialised) { is_initialised = true; +#if defined(MCU_KINETIS) + serialConfig.sc_speed = baud; +#else serialConfig.speed = baud; +#endif #if defined(USE_GPIOV1) - palSetLineMode(SD1_TX_PIN, PAL_MODE_ALTERNATE_OPENDRAIN); - palSetLineMode(SD1_RX_PIN, PAL_MODE_ALTERNATE_OPENDRAIN); + palSetLineMode(SD1_TX_PIN, SD1_TX_PAL_MODE); + palSetLineMode(SD1_RX_PIN, SD1_RX_PAL_MODE); #else palSetLineMode(SD1_TX_PIN, PAL_MODE_ALTERNATE(SD1_TX_PAL_MODE) | PAL_OUTPUT_TYPE_OPENDRAIN); palSetLineMode(SD1_RX_PIN, PAL_MODE_ALTERNATE(SD1_RX_PAL_MODE) | PAL_OUTPUT_TYPE_OPENDRAIN); diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h index 603d51037b..db97840270 100644 --- a/platforms/chibios/drivers/uart.h +++ b/platforms/chibios/drivers/uart.h @@ -28,32 +28,50 @@ # define SD1_TX_PIN A9 #endif -#ifndef SD1_TX_PAL_MODE -# define SD1_TX_PAL_MODE 7 -#endif - #ifndef SD1_RX_PIN # define SD1_RX_PIN A10 #endif -#ifndef SD1_RX_PAL_MODE -# define SD1_RX_PAL_MODE 7 -#endif - #ifndef SD1_CTS_PIN # define SD1_CTS_PIN A11 #endif -#ifndef SD1_CTS_PAL_MODE -# define SD1_CTS_PAL_MODE 7 -#endif - #ifndef SD1_RTS_PIN # define SD1_RTS_PIN A12 #endif -#ifndef SD1_RTS_PAL_MODE -# define SD1_RTS_PAL_MODE 7 +#ifdef USE_GPIOV1 +# ifndef SD1_TX_PAL_MODE +# define SD1_TX_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif + +# ifndef SD1_RX_PAL_MODE +# define SD1_RX_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif + +# ifndef SD1_CTS_PAL_MODE +# define SD1_CTS_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif + +# ifndef SD1_RTS_PAL_MODE +# define SD1_RTS_PAL_MODE PAL_MODE_ALTERNATE_OPENDRAIN +# endif +#else +# ifndef SD1_TX_PAL_MODE +# define SD1_TX_PAL_MODE 7 +# endif + +# ifndef SD1_RX_PAL_MODE +# define SD1_RX_PAL_MODE 7 +# endif + +# ifndef SD1_CTS_PAL_MODE +# define SD1_CTS_PAL_MODE 7 +# endif + +# ifndef SD1_RTS_PAL_MODE +# define SD1_RTS_PAL_MODE 7 +# endif #endif #ifndef SD1_CR1 diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c index 764764b3f9..dd4723a086 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c @@ -140,9 +140,8 @@ void pio_serve_interrupt(void) { // strength is chosen because the transmitting side must still be able to drive // the signal low. With this configuration the rise times are fast enough and // the generated low level with 360mV will generate a logical zero. -static inline void enter_rx_state(void) { +static void __no_inline_not_in_flash_func(enter_rx_state)(void) { osalSysLock(); - nvicEnableVector(RP_USBCTRL_IRQ_NUMBER, RP_IRQ_USB0_PRIORITY); // Wait for the transmitting state machines FIFO to run empty. At this point // the last byte has been pulled from the transmitting state machines FIFO // into the output shift register. We have to wait a tiny bit more until @@ -162,11 +161,8 @@ static inline void enter_rx_state(void) { osalSysUnlock(); } -static inline void leave_rx_state(void) { +static void __no_inline_not_in_flash_func(leave_rx_state)(void) { osalSysLock(); - // We don't want to be interrupted by frequent (1KHz) USB interrupts while - // doing our timing critical sending operation. - nvicDisableVector(RP_USBCTRL_IRQ_NUMBER); // In Half-duplex operation the tx pin dual-functions as sender and // receiver. To not receive the data we will send, we disable the receiving // state machine. @@ -185,12 +181,13 @@ static inline void leave_rx_state(void) {} #endif /** - * @brief Clear the RX and TX hardware FIFOs of the state machines. + * @brief Clear the FIFO of the RX state machine. */ inline void serial_transport_driver_clear(void) { osalSysLock(); - pio_sm_clear_fifos(pio, rx_state_machine); - pio_sm_clear_fifos(pio, tx_state_machine); + while (!pio_sm_is_rx_fifo_empty(pio, rx_state_machine)) { + pio_sm_clear_fifos(pio, rx_state_machine); + } osalSysUnlock(); } @@ -198,11 +195,6 @@ static inline msg_t sync_tx(sysinterval_t timeout) { msg_t msg = MSG_OK; osalSysLock(); while (pio_sm_is_tx_fifo_full(pio, tx_state_machine)) { -#if !defined(SERIAL_USART_FULL_DUPLEX) - // Enable USB interrupts again, because we might sleep for a long time - // here and don't want to be disconnected from the host. - nvicEnableVector(RP_USBCTRL_IRQ_NUMBER, RP_IRQ_USB0_PRIORITY); -#endif pio_set_irq0_source_enabled(pio, pis_sm0_tx_fifo_not_full + tx_state_machine, true); msg = osalThreadSuspendTimeoutS(&tx_thread, timeout); if (msg < MSG_OK) { @@ -210,10 +202,6 @@ static inline msg_t sync_tx(sysinterval_t timeout) { break; } } -#if !defined(SERIAL_USART_FULL_DUPLEX) - // Entering timing critical territory again. - nvicDisableVector(RP_USBCTRL_IRQ_NUMBER); -#endif osalSysUnlock(); return msg; } diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index a73eb69720..390884a2a4 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -181,7 +181,7 @@ void ws2812_init(void) { spiStart(&WS2812_SPI, &spicfg); /* Setup transfer parameters. */ spiSelect(&WS2812_SPI); /* Slave Select assertion. */ #ifdef WS2812_SPI_USE_CIRCULAR_BUFFER - spiStartSend(&WS2812_SPI, sizeof(txbuf) / sizeof(txbuf[0]), txbuf); + spiStartSend(&WS2812_SPI, ARRAY_SIZE(txbuf), txbuf); #endif } @@ -200,9 +200,9 @@ void ws2812_setleds(LED_TYPE* ledarray, uint16_t leds) { // Instead spiSend can be used to send synchronously (or the thread logic can be added back). #ifndef WS2812_SPI_USE_CIRCULAR_BUFFER # ifdef WS2812_SPI_SYNC - spiSend(&WS2812_SPI, sizeof(txbuf) / sizeof(txbuf[0]), txbuf); + spiSend(&WS2812_SPI, ARRAY_SIZE(txbuf), txbuf); # else - spiStartSend(&WS2812_SPI, sizeof(txbuf) / sizeof(txbuf[0]), txbuf); + spiStartSend(&WS2812_SPI, ARRAY_SIZE(txbuf), txbuf); # endif #endif } diff --git a/platforms/chibios/flash.mk b/platforms/chibios/flash.mk index 023da34bb5..6e23d96e1c 100644 --- a/platforms/chibios/flash.mk +++ b/platforms/chibios/flash.mk @@ -23,6 +23,7 @@ define EXEC_DFU_UTIL $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin endef +WB32_DFU_UPDATER ?= wb32-dfu-updater_cli define EXEC_WB32_DFU_UPDATER if ! wb32-dfu-updater_cli -l | grep -q "Found DFU"; then \ @@ -34,7 +35,7 @@ define EXEC_WB32_DFU_UPDATER done ;\ printf "\n" ;\ fi - wb32-dfu-updater_cli -D $(BUILD_DIR)/$(TARGET).bin + $(WB32_DFU_UPDATER) -D $(BUILD_DIR)/$(TARGET).bin && $(WB32_DFU_UPDATER) -R endef dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter diff --git a/platforms/chibios/hardware_id.c b/platforms/chibios/hardware_id.c index 888a275465..1097db5966 100644 --- a/platforms/chibios/hardware_id.c +++ b/platforms/chibios/hardware_id.c @@ -6,10 +6,15 @@ hardware_id_t get_hardware_id(void) { hardware_id_t id = {0}; -#ifdef UID_BASE +#if defined(RP2040) + // Forward declare as including "hardware/flash.h" here causes more issues... + void flash_get_unique_id(uint8_t *); + + flash_get_unique_id((uint8_t *)&id); +#elif defined(UID_BASE) id.data[0] = (uint32_t)(*((uint32_t *)UID_BASE)); id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 4))); - id.data[1] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); + id.data[2] = (uint32_t)(*((uint32_t *)(UID_BASE + 8))); #endif return id; } diff --git a/platforms/chibios/vendors/RP/RP2040.mk b/platforms/chibios/vendors/RP/RP2040.mk index de426c9c40..4360512c05 100644 --- a/platforms/chibios/vendors/RP/RP2040.mk +++ b/platforms/chibios/vendors/RP/RP2040.mk @@ -11,7 +11,8 @@ endif # Raspberry Pi Pico SDK Support ############################################################################## ADEFS += -DCRT0_VTOR_INIT=1 \ - -DCRT0_EXTRA_CORES_NUMBER=0 + -DCRT0_EXTRA_CORES_NUMBER=0 \ + -DCRT0_INIT_VECTORS=1 CFLAGS += -DPICO_NO_FPGA_CHECK \ -DNDEBUG @@ -65,223 +66,34 @@ EXTRAINCDIRS += $(PLATFORM_RP2040_PATH) # RP2040 optimized compiler intrinsics ############################################################################## -# Enables optimized Compiler intrinsics which are located in the RP2040 -# bootrom. This needs startup code and linker script support from ChibiOS, -# which is WIP. Therefore disabled by default for now. -RP2040_INTRINSICS_ENABLED ?= no -ifeq ($(strip $(RP2040_INTRINSICS_ENABLED)), yes) - PICOSDKINTRINSICSSRC = $(PICOSDKROOT)/src/rp2_common/pico_float/float_aeabi.S \ - $(PICOSDKROOT)/src/rp2_common/pico_float/float_math.c \ - $(PICOSDKROOT)/src/rp2_common/pico_float/float_init_rom.c \ - $(PICOSDKROOT)/src/rp2_common/pico_float/float_v1_rom_shim.S \ - $(PICOSDKROOT)/src/rp2_common/pico_double/double_aeabi.S \ - $(PICOSDKROOT)/src/rp2_common/pico_double/double_math.c \ - $(PICOSDKROOT)/src/rp2_common/pico_double/double_init_rom.c \ - $(PICOSDKROOT)/src/rp2_common/pico_double/double_v1_rom_shim.S \ - $(PICOSDKROOT)/src/rp2_common/pico_divider/divider.S \ - $(PICOSDKROOT)/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S \ - $(PICOSDKROOT)/src/rp2_common/pico_mem_ops/mem_ops_aeabi.S \ - $(PICOSDKROOT)/src/rp2_common/pico_malloc/pico_malloc.c \ - $(PICOSDKROOT)/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S - - PICOSDKINTRINSICSINC = $(PICOSDKROOT)/src/common/pico_base/include \ - $(PICOSDKROOT)/src/rp2_common/pico_platfrom/include \ - $(PICOSDKROOT)/src/rp2_common/pico_bootrom/include \ - $(PICOSDKROOT)/src/rp2_common/hardware_divider/include \ - $(PICOSDKROOT)/src/rp2_common/pico_float/include \ - $(PICOSDKROOT)/src/rp2_common/pico_double/include \ - $(PICOSDKROOT)/src/rp2_common/pico_malloc/include - - OPT_DEFS += -DPICO_FLOAT_SUPPORT_ROM_V1=0 -DPICO_DOUBLE_SUPPORT_ROM_V1=0 - - CFLAGS += -Wl,--defsym=__StackLimit=__heap_end__ - CFLAGS += -Wl,--defsym=__unhandled_user_irq=_unhandled_exception - CFLAGS += -Wl,--build-id=none - - # single precision floating point intrinsics - OPT_DEFS += -DPICO_FLOAT_IN_RAM=1 - OPT_DEFS += -DPICO_FLOAT_PROPAGATE_NANS=0 - - CFLAGS += -Wl,--wrap=__aeabi_fdiv - CFLAGS += -Wl,--wrap=__aeabi_fmul - CFLAGS += -Wl,--wrap=__aeabi_frsub - CFLAGS += -Wl,--wrap=__aeabi_fsub - CFLAGS += -Wl,--wrap=__aeabi_cfcmpeq - CFLAGS += -Wl,--wrap=__aeabi_cfrcmple - CFLAGS += -Wl,--wrap=__aeabi_cfcmple - CFLAGS += -Wl,--wrap=__aeabi_fcmpeq - CFLAGS += -Wl,--wrap=__aeabi_fcmplt - CFLAGS += -Wl,--wrap=__aeabi_fcmple - CFLAGS += -Wl,--wrap=__aeabi_fcmpge - CFLAGS += -Wl,--wrap=__aeabi_fcmpgt - CFLAGS += -Wl,--wrap=__aeabi_fcmpun - CFLAGS += -Wl,--wrap=__aeabi_i2f - CFLAGS += -Wl,--wrap=__aeabi_l2f - CFLAGS += -Wl,--wrap=__aeabi_ui2f - CFLAGS += -Wl,--wrap=__aeabi_ul2f - CFLAGS += -Wl,--wrap=__aeabi_i2f - CFLAGS += -Wl,--wrap=__aeabi_f2iz - CFLAGS += -Wl,--wrap=__aeabi_f2lz - CFLAGS += -Wl,--wrap=__aeabi_f2uiz - CFLAGS += -Wl,--wrap=__aeabi_f2ulz - CFLAGS += -Wl,--wrap=__aeabi_f2d - CFLAGS += -Wl,--wrap=sqrtf - CFLAGS += -Wl,--wrap=cosf - CFLAGS += -Wl,--wrap=sinf - CFLAGS += -Wl,--wrap=tanf - CFLAGS += -Wl,--wrap=atan2f - CFLAGS += -Wl,--wrap=expf - CFLAGS += -Wl,--wrap=logf - CFLAGS += -Wl,--wrap=ldexpf - CFLAGS += -Wl,--wrap=copysignf - CFLAGS += -Wl,--wrap=truncf - CFLAGS += -Wl,--wrap=floorf - CFLAGS += -Wl,--wrap=ceilf - CFLAGS += -Wl,--wrap=roundf - CFLAGS += -Wl,--wrap=sincosf - CFLAGS += -Wl,--wrap=asinf - CFLAGS += -Wl,--wrap=acosf - CFLAGS += -Wl,--wrap=atanf - CFLAGS += -Wl,--wrap=sinhf - CFLAGS += -Wl,--wrap=coshf - CFLAGS += -Wl,--wrap=tanhf - CFLAGS += -Wl,--wrap=asinhf - CFLAGS += -Wl,--wrap=acoshf - CFLAGS += -Wl,--wrap=atanhf - CFLAGS += -Wl,--wrap=exp2f - CFLAGS += -Wl,--wrap=log2f - CFLAGS += -Wl,--wrap=exp10f - CFLAGS += -Wl,--wrap=log10f - CFLAGS += -Wl,--wrap=powf - CFLAGS += -Wl,--wrap=powintf - CFLAGS += -Wl,--wrap=hypotf - CFLAGS += -Wl,--wrap=cbrtf - CFLAGS += -Wl,--wrap=fmodf - CFLAGS += -Wl,--wrap=dremf - CFLAGS += -Wl,--wrap=remainderf - CFLAGS += -Wl,--wrap=remquof - CFLAGS += -Wl,--wrap=expm1f - CFLAGS += -Wl,--wrap=log1pf - CFLAGS += -Wl,--wrap=fmaf - - # double precision floating point intrinsics - OPT_DEFS += -DPICO_DOUBLE_IN_RAM=1 - OPT_DEFS += -DPICO_DOUBLE_PROPAGATE_NANS=0 - - CFLAGS += -Wl,--wrap=__aeabi_dadd - CFLAGS += -Wl,--wrap=__aeabi_ddiv - CFLAGS += -Wl,--wrap=__aeabi_dmul - CFLAGS += -Wl,--wrap=__aeabi_drsub - CFLAGS += -Wl,--wrap=__aeabi_dsub - CFLAGS += -Wl,--wrap=__aeabi_cdcmpeq - CFLAGS += -Wl,--wrap=__aeabi_cdrcmple - CFLAGS += -Wl,--wrap=__aeabi_cdcmple - CFLAGS += -Wl,--wrap=__aeabi_dcmpeq - CFLAGS += -Wl,--wrap=__aeabi_dcmplt - CFLAGS += -Wl,--wrap=__aeabi_dcmple - CFLAGS += -Wl,--wrap=__aeabi_dcmpge - CFLAGS += -Wl,--wrap=__aeabi_dcmpgt - CFLAGS += -Wl,--wrap=__aeabi_dcmpun - CFLAGS += -Wl,--wrap=__aeabi_i2d - CFLAGS += -Wl,--wrap=__aeabi_l2d - CFLAGS += -Wl,--wrap=__aeabi_ui2d - CFLAGS += -Wl,--wrap=__aeabi_ul2d - CFLAGS += -Wl,--wrap=__aeabi_d2iz - CFLAGS += -Wl,--wrap=__aeabi_d2lz - CFLAGS += -Wl,--wrap=__aeabi_d2uiz - CFLAGS += -Wl,--wrap=__aeabi_d2ulz - CFLAGS += -Wl,--wrap=__aeabi_d2f - CFLAGS += -Wl,--wrap=sqrt - CFLAGS += -Wl,--wrap=cos - CFLAGS += -Wl,--wrap=sin - CFLAGS += -Wl,--wrap=tan - CFLAGS += -Wl,--wrap=atan2 - CFLAGS += -Wl,--wrap=exp - CFLAGS += -Wl,--wrap=log - CFLAGS += -Wl,--wrap=ldexp - CFLAGS += -Wl,--wrap=copysign - CFLAGS += -Wl,--wrap=trunc - CFLAGS += -Wl,--wrap=floor - CFLAGS += -Wl,--wrap=ceil - CFLAGS += -Wl,--wrap=round - CFLAGS += -Wl,--wrap=sincos - CFLAGS += -Wl,--wrap=asin - CFLAGS += -Wl,--wrap=acos - CFLAGS += -Wl,--wrap=atan - CFLAGS += -Wl,--wrap=sinh - CFLAGS += -Wl,--wrap=cosh - CFLAGS += -Wl,--wrap=tanh - CFLAGS += -Wl,--wrap=asinh - CFLAGS += -Wl,--wrap=acosh - CFLAGS += -Wl,--wrap=atanh - CFLAGS += -Wl,--wrap=exp2 - CFLAGS += -Wl,--wrap=log2 - CFLAGS += -Wl,--wrap=exp10 - CFLAGS += -Wl,--wrap=log10 - CFLAGS += -Wl,--wrap=pow - CFLAGS += -Wl,--wrap=powint - CFLAGS += -Wl,--wrap=hypot - CFLAGS += -Wl,--wrap=cbrt - CFLAGS += -Wl,--wrap=fmod - CFLAGS += -Wl,--wrap=drem - CFLAGS += -Wl,--wrap=remainder - CFLAGS += -Wl,--wrap=remquo - CFLAGS += -Wl,--wrap=expm1 - CFLAGS += -Wl,--wrap=log1p - CFLAGS += -Wl,--wrap=fma - - # bit operation intrinsics - OPT_DEFS += -DPICO_BITS_IN_RAM=1 - - CFLAGS += -Wl,--wrap=__clzsi2 - CFLAGS += -Wl,--wrap=__clzsi2 - CFLAGS += -Wl,--wrap=__clzdi2 - CFLAGS += -Wl,--wrap=__ctzsi2 - CFLAGS += -Wl,--wrap=__ctzdi2 - CFLAGS += -Wl,--wrap=__popcountsi2 - CFLAGS += -Wl,--wrap=__popcountdi2 - CFLAGS += -Wl,--wrap=__clz - CFLAGS += -Wl,--wrap=__clzl - CFLAGS += -Wl,--wrap=__clzsi2 - CFLAGS += -Wl,--wrap=__clzll - - # integer division intrinsics - OPT_DEFS += -DPICO_DIVIDER_IN_RAM=1 - OPT_DEFS += -DPICO_DIVIDER_DISABLE_INTERRUPTS=1 - - CFLAGS += -Wl,--wrap=__aeabi_idiv - CFLAGS += -Wl,--wrap=__aeabi_idivmod - CFLAGS += -Wl,--wrap=__aeabi_ldivmod - CFLAGS += -Wl,--wrap=__aeabi_uidiv - CFLAGS += -Wl,--wrap=__aeabi_uidivmod - CFLAGS += -Wl,--wrap=__aeabi_uldivmod - - # 64bit integer intrinsics - OPT_DEFS += -DPICO_INT64_OPS_IN_RAM=1 - - CFLAGS += -Wl,--wrap=__aeabi_lmul - - # malloc and friends functions - OPT_DEFS += -DPICO_USE_MALLOC_MUTEX=0 - OPT_DEFS += -DPICO_DEBUG_MALLOC=0 - OPT_DEFS ?= -DPICO_MALLOC_PANIC=0 - - CFLAGS += -Wl,--wrap=malloc - CFLAGS += -Wl,--wrap=calloc - CFLAGS += -Wl,--wrap=free - - # memory operation intrinsics - OPT_DEFS += -DPICO_MEM_IN_RAM=1 - - CFLAGS += -Wl,--wrap=memcpy - CFLAGS += -Wl,--wrap=memset - CFLAGS += -Wl,--wrap=__aeabi_memcpy - CFLAGS += -Wl,--wrap=__aeabi_memset - CFLAGS += -Wl,--wrap=__aeabi_memcpy4 - CFLAGS += -Wl,--wrap=__aeabi_memset4 - CFLAGS += -Wl,--wrap=__aeabi_memcpy8 - CFLAGS += -Wl,--wrap=__aeabi_memset8 - - PLATFORM_SRC += $(PICOSDKINTRINSICSSRC) - EXTRAINCDIRS += $(PICOSDKINTRINSICSINC) -endif +# The RP2040 sdk provides optimized compiler intrinsics which override the GCC +# built-ins. Some of these functions are located in the bootrom of the RP2040. +# Execution of these functions is realized via a vtable that is populated on +# bootup. This mechanism needs startup code and linker script support from +# ChibiOS, which is currently not implemented thus these functions are disabled +# ATM. +PICOSDKINTRINSICSSRC = $(PICOSDKROOT)/src/rp2_common/pico_divider/divider.S \ + $(PICOSDKROOT)/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S + +PICOSDKINTRINSICSINC = $(PICOSDKROOT)/src/common/pico_base/include \ + $(PICOSDKROOT)/src/rp2_common/pico_platfrom/include \ + $(PICOSDKROOT)/src/rp2_common/hardware_divider/include + +# integer division intrinsics utilizing the RP2040 hardware divider +OPT_DEFS += -DPICO_DIVIDER_IN_RAM=1 +OPT_DEFS += -DPICO_DIVIDER_DISABLE_INTERRUPTS=1 + +CFLAGS += -Wl,--wrap=__aeabi_idiv +CFLAGS += -Wl,--wrap=__aeabi_idivmod +CFLAGS += -Wl,--wrap=__aeabi_ldivmod +CFLAGS += -Wl,--wrap=__aeabi_uidiv +CFLAGS += -Wl,--wrap=__aeabi_uidivmod +CFLAGS += -Wl,--wrap=__aeabi_uldivmod + +# 64bit integer intrinsics +OPT_DEFS += -DPICO_INT64_OPS_IN_RAM=1 + +CFLAGS += -Wl,--wrap=__aeabi_lmul + +PLATFORM_SRC += $(PICOSDKINTRINSICSSRC) +EXTRAINCDIRS += $(PICOSDKINTRINSICSINC) diff --git a/platforms/chibios/vendors/RP/_pin_defs.h b/platforms/chibios/vendors/RP/_pin_defs.h index 4241845369..b56ab31406 100644 --- a/platforms/chibios/vendors/RP/_pin_defs.h +++ b/platforms/chibios/vendors/RP/_pin_defs.h @@ -35,3 +35,8 @@ #define GP28 28U #define GP29 29U #define GP30 30U + +/* Aliases for GPIO PWM channels - every pin has at least one PWM channel + * assigned */ +#define RP2040_PWM_CHANNEL_A 1U +#define RP2040_PWM_CHANNEL_B 2U diff --git a/quantum/action.c b/quantum/action.c index 6b2e9104e0..78322e4a83 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -293,19 +293,56 @@ void process_record_handler(keyrecord_t *record) { process_action(record, action); } -#if defined(PS2_MOUSE_ENABLE) || defined(POINTING_DEVICE_ENABLE) -void register_button(bool pressed, enum mouse_buttons button) { -# ifdef PS2_MOUSE_ENABLE - tp_buttons = pressed ? tp_buttons | button : tp_buttons & ~button; -# endif -# ifdef POINTING_DEVICE_ENABLE - report_mouse_t currentReport = pointing_device_get_report(); - currentReport.buttons = pressed ? currentReport.buttons | button : currentReport.buttons & ~button; - pointing_device_set_report(currentReport); +/** + * @brief handles all the messy mouse stuff + * + * Handles all the edgecases and special stuff that is needed for coexistense + * of the multiple mouse subsystems. + * + * @param mouse_keycode[in] uint8_t mouse keycode + * @param pressed[in] bool + */ + +void register_mouse(uint8_t mouse_keycode, bool pressed) { +#ifdef MOUSEKEY_ENABLE + // if mousekeys is enabled, let it do the brunt of the work + if (pressed) { + mousekey_on(mouse_keycode); + } else { + mousekey_off(mouse_keycode); + } + // should mousekeys send report, or does something else handle this? + switch (mouse_keycode) { +# if defined(PS2_MOUSE_ENABLE) || defined(POINTING_DEVICE_ENABLE) + case KC_MS_BTN1 ... KC_MS_BTN8: + // let pointing device handle the buttons + // expand if/when it handles more of the code +# if defined(POINTING_DEVICE_ENABLE) + pointing_device_keycode_handler(mouse_keycode, pressed); +# endif + break; # endif -} + default: + mousekey_send(); + break; + } +#elif defined(POINTING_DEVICE_ENABLE) + // if mousekeys isn't enabled, and pointing device is enabled, then + // let pointing device do all the heavy lifting, then + if IS_MOUSEKEY (mouse_keycode) { + pointing_device_keycode_handler(mouse_keycode, pressed); + } #endif +#ifdef PS2_MOUSE_ENABLE + // make sure that ps2 mouse has button report synced + if (KC_MS_BTN1 <= mouse_keycode && mouse_keycode <= KC_MS_BTN3) { + uint8_t tmp_button_msk = MOUSE_BTN_MASK(mouse_keycode - KC_MS_BTN1); + tp_buttons = pressed ? tp_buttons | tmp_button_msk : tp_buttons & ~tmp_button_msk; + } +#endif +} + /** \brief Take an action and processes it. * * FIXME: Needs documentation. @@ -403,9 +440,9 @@ void process_action(keyrecord_t *record, action_t action) { # if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 } else if (tap_count == ONESHOT_TAP_TOGGLE) { dprint("MODS_TAP: Toggling oneshot"); + register_mods(mods); clear_oneshot_mods(); set_oneshot_locked_mods(mods | get_oneshot_locked_mods()); - register_mods(mods); # endif } else { register_mods(mods | get_oneshot_mods()); @@ -418,16 +455,16 @@ void process_action(keyrecord_t *record, action_t action) { // Retain Oneshot mods # if defined(ONESHOT_TAP_TOGGLE) && ONESHOT_TAP_TOGGLE > 1 if (mods & get_mods()) { + unregister_mods(mods); clear_oneshot_mods(); set_oneshot_locked_mods(~mods & get_oneshot_locked_mods()); - unregister_mods(mods); } } else if (tap_count == ONESHOT_TAP_TOGGLE) { // Toggle Oneshot Layer # endif } else { - clear_oneshot_mods(); unregister_mods(mods); + clear_oneshot_mods(); } } } @@ -490,46 +527,18 @@ void process_action(keyrecord_t *record, action_t action) { case ACT_USAGE: switch (action.usage.page) { case PAGE_SYSTEM: - if (event.pressed) { - host_system_send(action.usage.code); - } else { - host_system_send(0); - } + host_system_send(event.pressed ? action.usage.code : 0); break; case PAGE_CONSUMER: - if (event.pressed) { - host_consumer_send(action.usage.code); - } else { - host_consumer_send(0); - } + host_consumer_send(event.pressed ? action.usage.code : 0); break; } break; #endif -#ifdef MOUSEKEY_ENABLE /* Mouse key */ case ACT_MOUSEKEY: - if (event.pressed) { - mousekey_on(action.key.code); - } else { - mousekey_off(action.key.code); - } - switch (action.key.code) { -# if defined(PS2_MOUSE_ENABLE) || defined(POINTING_DEVICE_ENABLE) -# ifdef POINTING_DEVICE_ENABLE - case KC_MS_BTN1 ... KC_MS_BTN8: -# else - case KC_MS_BTN1 ... KC_MS_BTN3: -# endif - register_button(event.pressed, MOUSE_BTN_MASK(action.key.code - KC_MS_BTN1)); - break; -# endif - default: - mousekey_send(); - break; - } + register_mouse(action.key.code, event.pressed); break; -#endif #ifndef NO_ACTION_LAYER case ACT_LAYER: if (action.layer_bitop.on == 0) { @@ -835,9 +844,9 @@ void process_action(keyrecord_t *record, action_t action) { __attribute__((weak)) void register_code(uint8_t code) { if (code == KC_NO) { return; - } + #ifdef LOCKING_SUPPORT_ENABLE - else if (KC_LOCKING_CAPS_LOCK == code) { + } else if (KC_LOCKING_CAPS_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE // Resync: ignore if caps lock already is on if (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) return; @@ -847,9 +856,8 @@ __attribute__((weak)) void register_code(uint8_t code) { wait_ms(TAP_HOLD_CAPS_DELAY); del_key(KC_CAPS_LOCK); send_keyboard_report(); - } - else if (KC_LOCKING_NUM_LOCK == code) { + } else if (KC_LOCKING_NUM_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE if (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) return; # endif @@ -858,9 +866,8 @@ __attribute__((weak)) void register_code(uint8_t code) { wait_ms(100); del_key(KC_NUM_LOCK); send_keyboard_report(); - } - else if (KC_LOCKING_SCROLL_LOCK == code) { + } else if (KC_LOCKING_SCROLL_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE if (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) return; # endif @@ -869,10 +876,9 @@ __attribute__((weak)) void register_code(uint8_t code) { wait_ms(100); del_key(KC_SCROLL_LOCK); send_keyboard_report(); - } #endif - else if IS_KEY (code) { + } else if IS_KEY (code) { // TODO: should push command_proc out of this block? if (command_proc(code)) return; @@ -905,20 +911,17 @@ __attribute__((weak)) void register_code(uint8_t code) { } else if IS_MOD (code) { add_mods(MOD_BIT(code)); send_keyboard_report(); - } + #ifdef EXTRAKEY_ENABLE - else if IS_SYSTEM (code) { + } else if IS_SYSTEM (code) { host_system_send(KEYCODE2SYSTEM(code)); } else if IS_CONSUMER (code) { host_consumer_send(KEYCODE2CONSUMER(code)); - } #endif -#ifdef MOUSEKEY_ENABLE - else if IS_MOUSEKEY (code) { - mousekey_on(code); - mousekey_send(); + + } else if IS_MOUSEKEY (code) { + register_mouse(code, true); } -#endif } /** \brief Utilities for actions. (FIXME: Needs better description) @@ -928,9 +931,9 @@ __attribute__((weak)) void register_code(uint8_t code) { __attribute__((weak)) void unregister_code(uint8_t code) { if (code == KC_NO) { return; - } + #ifdef LOCKING_SUPPORT_ENABLE - else if (KC_LOCKING_CAPS_LOCK == code) { + } else if (KC_LOCKING_CAPS_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE // Resync: ignore if caps lock already is off if (!(host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK))) return; @@ -939,9 +942,8 @@ __attribute__((weak)) void unregister_code(uint8_t code) { send_keyboard_report(); del_key(KC_CAPS_LOCK); send_keyboard_report(); - } - else if (KC_LOCKING_NUM_LOCK == code) { + } else if (KC_LOCKING_NUM_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE if (!(host_keyboard_leds() & (1 << USB_LED_NUM_LOCK))) return; # endif @@ -949,9 +951,8 @@ __attribute__((weak)) void unregister_code(uint8_t code) { send_keyboard_report(); del_key(KC_NUM_LOCK); send_keyboard_report(); - } - else if (KC_LOCKING_SCROLL_LOCK == code) { + } else if (KC_LOCKING_SCROLL_LOCK == code) { # ifdef LOCKING_RESYNC_ENABLE if (!(host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK))) return; # endif @@ -959,26 +960,25 @@ __attribute__((weak)) void unregister_code(uint8_t code) { send_keyboard_report(); del_key(KC_SCROLL_LOCK); send_keyboard_report(); - } #endif - else if IS_KEY (code) { + } else if IS_KEY (code) { del_key(code); send_keyboard_report(); } else if IS_MOD (code) { del_mods(MOD_BIT(code)); send_keyboard_report(); + +#ifdef EXTRAKEY_ENABLE } else if IS_SYSTEM (code) { host_system_send(0); } else if IS_CONSUMER (code) { host_consumer_send(0); - } -#ifdef MOUSEKEY_ENABLE - else if IS_MOUSEKEY (code) { - mousekey_off(code); - mousekey_send(); - } #endif + + } else if IS_MOUSEKEY (code) { + register_mouse(code, false); + } } /** \brief Tap a keycode with a delay. diff --git a/quantum/action_code.h b/quantum/action_code.h index e107f0a740..14cfd025f1 100644 --- a/quantum/action_code.h +++ b/quantum/action_code.h @@ -192,7 +192,11 @@ enum mods_codes { /** \brief Other Keys */ -enum usage_pages { PAGE_SYSTEM, PAGE_CONSUMER }; +enum usage_pages { + PAGE_SYSTEM, + PAGE_CONSUMER, +}; + #define ACTION_USAGE_SYSTEM(id) ACTION(ACT_USAGE, PAGE_SYSTEM << 10 | (id)) #define ACTION_USAGE_CONSUMER(id) ACTION(ACT_USAGE, PAGE_CONSUMER << 10 | (id)) #define ACTION_MOUSEKEY(key) ACTION(ACT_MOUSEKEY, key) diff --git a/quantum/backlight/backlight_chibios.c b/quantum/backlight/backlight_chibios.c index e8f9e70f78..30e95bd5c8 100644 --- a/quantum/backlight/backlight_chibios.c +++ b/quantum/backlight/backlight_chibios.c @@ -40,16 +40,22 @@ # endif #endif -static PWMConfig pwmCFG = {0xFFFF, /* PWM clock frequency */ - 256, /* PWM period (in ticks) 1S (1/10kHz=0.1mS 0.1ms*10000 ticks=1S) */ - NULL, /* Breathing Callback */ - { /* Default all channels to disabled - Channels will be configured durring init */ - {PWM_OUTPUT_DISABLED, NULL}, - {PWM_OUTPUT_DISABLED, NULL}, - {PWM_OUTPUT_DISABLED, NULL}, - {PWM_OUTPUT_DISABLED, NULL}}, - 0, /* HW dependent part.*/ - 0}; +#ifndef BACKLIGHT_PWM_COUNTER_FREQUENCY +# define BACKLIGHT_PWM_COUNTER_FREQUENCY 0xFFFF +#endif + +#ifndef BACKLIGHT_PWM_PERIOD +# define BACKLIGHT_PWM_PERIOD 256 +#endif + +static PWMConfig pwmCFG = { + .frequency = BACKLIGHT_PWM_COUNTER_FREQUENCY, /* PWM clock frequency */ + .period = BACKLIGHT_PWM_PERIOD, /* PWM period in counter ticks. e.g. clock frequency is 10KHz, period is 256 ticks then t_period is 25.6ms */ +}; + +#ifdef BACKLIGHT_BREATHING +static virtual_timer_t breathing_vt; +#endif // See http://jared.geek.nz/2013/feb/linear-led-pwm static uint16_t cie_lightness(uint16_t v) { @@ -60,10 +66,11 @@ static uint16_t cie_lightness(uint16_t v) { // to get a useful result with integer division, we shift left in the expression above // and revert what we've done again after squaring. y = y * y * y >> 8; - if (y > 0xFFFFUL) // prevent overflow + if (y > 0xFFFFUL) { // prevent overflow return 0xFFFFU; - else + } else { return (uint16_t)y; + } } } @@ -85,6 +92,7 @@ void backlight_init_ports(void) { backlight_set(get_backlight_level()); #ifdef BACKLIGHT_BREATHING + chVTObjectInit(&breathing_vt); if (is_backlight_breathing()) { breathing_enable(); } @@ -92,7 +100,9 @@ void backlight_init_ports(void) { } void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) level = BACKLIGHT_LEVELS; + if (level > BACKLIGHT_LEVELS) { + level = BACKLIGHT_LEVELS; + } if (level == 0) { // Turn backlight off @@ -115,20 +125,19 @@ void backlight_task(void) {} */ static const uint8_t breathing_table[BREATHING_STEPS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 17, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 70, 76, 83, 91, 98, 106, 113, 121, 129, 138, 146, 154, 162, 170, 178, 185, 193, 200, 207, 213, 220, 225, 231, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 231, 225, 220, 213, 207, 200, 193, 185, 178, 170, 162, 154, 146, 138, 129, 121, 113, 106, 98, 91, 83, 76, 70, 63, 57, 51, 46, 41, 36, 32, 28, 24, 20, 17, 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -void breathing_callback(PWMDriver *pwmp); +static void breathing_callback(virtual_timer_t *vtp, void *p); bool is_breathing(void) { - return pwmCFG.callback != NULL; + return chVTIsArmed(&breathing_vt); } void breathing_enable(void) { - pwmCFG.callback = breathing_callback; - pwmEnablePeriodicNotification(&BACKLIGHT_PWM_DRIVER); + /* Update frequency is 256Hz -> 3906us intervals */ + chVTSetContinuous(&breathing_vt, TIME_US2I(3906), breathing_callback, NULL); } void breathing_disable(void) { - pwmCFG.callback = NULL; - pwmDisablePeriodicNotification(&BACKLIGHT_PWM_DRIVER); + chVTReset(&breathing_vt); // Restore backlight level backlight_set(get_backlight_level()); @@ -139,7 +148,7 @@ static inline uint16_t scale_backlight(uint16_t v) { return v / BACKLIGHT_LEVELS * get_backlight_level(); } -void breathing_callback(PWMDriver *pwmp) { +static void breathing_callback(virtual_timer_t *vtp, void *p) { uint8_t breathing_period = get_breathing_period(); uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; @@ -150,7 +159,7 @@ void breathing_callback(PWMDriver *pwmp) { uint32_t duty = cie_lightness(rescale_limit_val(scale_backlight(breathing_table[index] * 256))); chSysLockFromISR(); - pwmEnableChannelI(pwmp, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); + pwmEnableChannelI(&BACKLIGHT_PWM_DRIVER, BACKLIGHT_PWM_CHANNEL - 1, PWM_FRACTION_TO_WIDTH(&BACKLIGHT_PWM_DRIVER, 0xFFFF, duty)); chSysUnlockFromISR(); } diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index e4c2e90b5f..1eb8969084 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -9,7 +9,7 @@ #if defined(BACKLIGHT_PINS) static const pin_t backlight_pins[] = BACKLIGHT_PINS; # ifndef BACKLIGHT_LED_COUNT -# define BACKLIGHT_LED_COUNT (sizeof(backlight_pins) / sizeof(pin_t)) +# define BACKLIGHT_LED_COUNT ARRAY_SIZE(backlight_pins) # endif # define FOR_EACH_LED(x) \ diff --git a/quantum/backlight/backlight_software.c b/quantum/backlight/backlight_software.c index 3d412cab52..27ccbd2c9f 100644 --- a/quantum/backlight/backlight_software.c +++ b/quantum/backlight/backlight_software.c @@ -26,7 +26,7 @@ static const uint16_t backlight_duty_table[] = { 0b1110111011101110, 0b1111111111111111, }; -#define backlight_duty_table_size (sizeof(backlight_duty_table) / sizeof(backlight_duty_table[0])) +#define backlight_duty_table_size ARRAY_SIZE(backlight_duty_table) // clang-format on diff --git a/quantum/dip_switch.c b/quantum/dip_switch.c index eee29aaf91..e180cfccdf 100644 --- a/quantum/dip_switch.c +++ b/quantum/dip_switch.c @@ -33,7 +33,7 @@ #endif #ifdef DIP_SWITCH_PINS -# define NUMBER_OF_DIP_SWITCHES (sizeof(dip_switch_pad) / sizeof(pin_t)) +# define NUMBER_OF_DIP_SWITCHES (ARRAY_SIZE(dip_switch_pad)) static pin_t dip_switch_pad[] = DIP_SWITCH_PINS; #endif @@ -43,7 +43,7 @@ typedef struct matrix_index_t { uint8_t col; } matrix_index_t; -# define NUMBER_OF_DIP_SWITCHES (sizeof(dip_switch_pad) / sizeof(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; diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c index 01be9806e4..e9529ed14e 100644 --- a/quantum/dynamic_keymap.c +++ b/quantum/dynamic_keymap.c @@ -153,7 +153,7 @@ void dynamic_keymap_reset(void) { for (int row = 0; row < MATRIX_ROWS; row++) { for (int column = 0; column < MATRIX_COLS; column++) { if (layer < keymap_layer_count()) { - dynamic_keymap_set_keycode(layer, row, column, pgm_read_word(&keymaps[layer][row][column])); + dynamic_keymap_set_keycode(layer, row, column, keycode_at_keymap_location_raw(layer, row, column)); } else { dynamic_keymap_set_keycode(layer, row, column, KC_TRANSPARENT); } @@ -162,8 +162,8 @@ void dynamic_keymap_reset(void) { #ifdef ENCODER_MAP_ENABLE for (int encoder = 0; encoder < NUM_ENCODERS; encoder++) { if (layer < encodermap_layer_count()) { - dynamic_keymap_set_encoder(layer, encoder, true, pgm_read_word(&encoder_map[layer][encoder][0])); - dynamic_keymap_set_encoder(layer, encoder, false, pgm_read_word(&encoder_map[layer][encoder][1])); + dynamic_keymap_set_encoder(layer, encoder, true, keycode_at_encodermap_location_raw(layer, encoder, true)); + dynamic_keymap_set_encoder(layer, encoder, false, keycode_at_encodermap_location_raw(layer, encoder, false)); } else { dynamic_keymap_set_encoder(layer, encoder, true, KC_TRANSPARENT); dynamic_keymap_set_encoder(layer, encoder, false, KC_TRANSPARENT); @@ -201,20 +201,21 @@ void dynamic_keymap_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) { } } -// This overrides the one in quantum/keymap_common.c -uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { - if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { - return dynamic_keymap_get_keycode(layer, key.row, key.col); +uint16_t keycode_at_keymap_location(uint8_t layer_num, uint8_t row, uint8_t column) { + if (layer_num < DYNAMIC_KEYMAP_LAYER_COUNT && row < MATRIX_ROWS && column < MATRIX_COLS) { + return dynamic_keymap_get_keycode(layer_num, row, column); } + return KC_NO; +} + #ifdef ENCODER_MAP_ENABLE - else if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row == KEYLOC_ENCODER_CW && key.col < NUM_ENCODERS) { - return dynamic_keymap_get_encoder(layer, key.col, true); - } else if (layer < DYNAMIC_KEYMAP_LAYER_COUNT && key.row == KEYLOC_ENCODER_CCW && key.col < NUM_ENCODERS) { - return dynamic_keymap_get_encoder(layer, key.col, false); +uint16_t keycode_at_encodermap_location(uint8_t layer_num, uint8_t encoder_idx, bool clockwise) { + if (layer_num < DYNAMIC_KEYMAP_LAYER_COUNT && encoder_idx < NUM_ENCODERS) { + return dynamic_keymap_get_encoder(layer_num, encoder_idx, clockwise); } -#endif // ENCODER_MAP_ENABLE return KC_NO; } +#endif // ENCODER_MAP_ENABLE uint8_t dynamic_keymap_macro_get_count(void) { return DYNAMIC_KEYMAP_MACRO_COUNT; diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c index 0ff9996ca4..27a0f6d48f 100644 --- a/quantum/eeconfig.c +++ b/quantum/eeconfig.c @@ -46,7 +46,8 @@ void eeconfig_init_quantum(void) { eeprom_update_byte(EECONFIG_DEFAULT_LAYER, 0); default_layer_state = 0; eeprom_update_byte(EECONFIG_KEYMAP_LOWER_BYTE, 0); - eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0x4); + // Enable oneshot and autocorrect by default: 0b0001 0100 + eeprom_update_byte(EECONFIG_KEYMAP_UPPER_BYTE, 0x14); eeprom_update_byte(EECONFIG_MOUSEKEY_ACCEL, 0); eeprom_update_byte(EECONFIG_BACKLIGHT, 0); eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default @@ -57,16 +58,6 @@ void eeconfig_init_quantum(void) { eeprom_update_dword(EECONFIG_RGB_MATRIX, 0); eeprom_update_word(EECONFIG_RGB_MATRIX_EXTENDED, 0); - // TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS - // within the emulated eeprom via dfu-util or another tool -#if defined INIT_EE_HANDS_LEFT -# pragma message "Faking EE_HANDS for left hand" - eeprom_update_byte(EECONFIG_HANDEDNESS, 1); -#elif defined INIT_EE_HANDS_RIGHT -# pragma message "Faking EE_HANDS for right hand" - eeprom_update_byte(EECONFIG_HANDEDNESS, 0); -#endif - #if defined(HAPTIC_ENABLE) haptic_reset(); #else diff --git a/quantum/encoder.c b/quantum/encoder.c index 5f8a7ce080..1393e34868 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -24,7 +24,8 @@ #include <string.h> #ifndef ENCODER_MAP_KEY_DELAY -# define ENCODER_MAP_KEY_DELAY 2 +# include "action.h" +# define ENCODER_MAP_KEY_DELAY TAP_CODE_DELAY #endif #if !defined(ENCODER_RESOLUTIONS) && !defined(ENCODER_RESOLUTION) @@ -143,9 +144,14 @@ void encoder_init(void) { static void encoder_exec_mapping(uint8_t index, bool clockwise) { // The delays below cater for Windows and its wonderful requirements. action_exec(clockwise ? ENCODER_CW_EVENT(index, true) : ENCODER_CCW_EVENT(index, true)); +# if ENCODER_MAP_KEY_DELAY > 0 wait_ms(ENCODER_MAP_KEY_DELAY); +# endif // ENCODER_MAP_KEY_DELAY > 0 + action_exec(clockwise ? ENCODER_CW_EVENT(index, false) : ENCODER_CCW_EVENT(index, false)); +# if ENCODER_MAP_KEY_DELAY > 0 wait_ms(ENCODER_MAP_KEY_DELAY); +# endif // ENCODER_MAP_KEY_DELAY > 0 } #endif // ENCODER_MAP_ENABLE diff --git a/quantum/encoder.h b/quantum/encoder.h index 82f95b4931..4eb67fa25d 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -32,17 +32,17 @@ void encoder_state_raw(uint8_t* slave_state); void encoder_update_raw(uint8_t* slave_state); # if defined(ENCODERS_PAD_A_RIGHT) -# define NUM_ENCODERS_LEFT (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) -# define NUM_ENCODERS_RIGHT (sizeof(((pin_t[])ENCODERS_PAD_A_RIGHT)) / sizeof(pin_t)) +# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A)) +# define NUM_ENCODERS_RIGHT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A_RIGHT)) # else -# define NUM_ENCODERS_LEFT (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) +# define NUM_ENCODERS_LEFT ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A)) # define NUM_ENCODERS_RIGHT NUM_ENCODERS_LEFT # endif # define NUM_ENCODERS (NUM_ENCODERS_LEFT + NUM_ENCODERS_RIGHT) #else // SPLIT_KEYBOARD -# define NUM_ENCODERS (sizeof(((pin_t[])ENCODERS_PAD_A)) / sizeof(pin_t)) +# define NUM_ENCODERS ARRAY_SIZE(((pin_t[])ENCODERS_PAD_A)) # define NUM_ENCODERS_LEFT NUM_ENCODERS # define NUM_ENCODERS_RIGHT 0 diff --git a/quantum/joystick.c b/quantum/joystick.c index 86b2c64036..d285dcdb5e 100644 --- a/quantum/joystick.c +++ b/quantum/joystick.c @@ -1,5 +1,24 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + #include "joystick.h" +#include "analog.h" +#include "wait.h" + // clang-format off joystick_t joystick_status = { .buttons = {0}, @@ -15,12 +34,13 @@ joystick_t joystick_status = { // array defining the reading of analog values for each axis __attribute__((weak)) joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {}; -// to be implemented in the hid protocol library -void send_joystick_packet(joystick_t *joystick); +__attribute__((weak)) void joystick_task(void) { + joystick_read_axes(); +} void joystick_flush(void) { if ((joystick_status.status & JS_UPDATED) > 0) { - send_joystick_packet(&joystick_status); + host_joystick_send(&joystick_status); joystick_status.status &= ~JS_UPDATED; } } @@ -36,3 +56,75 @@ void unregister_joystick_button(uint8_t button) { joystick_status.status |= JS_UPDATED; joystick_flush(); } + +int16_t joystick_read_axis(uint8_t axis) { + // disable pull-up resistor + writePinLow(joystick_axes[axis].input_pin); + + // if pin was a pull-up input, we need to uncharge it by turning it low + // before making it a low input + setPinOutput(joystick_axes[axis].input_pin); + + wait_us(10); + + if (joystick_axes[axis].output_pin != JS_VIRTUAL_AXIS) { + setPinOutput(joystick_axes[axis].output_pin); + writePinHigh(joystick_axes[axis].output_pin); + } + + if (joystick_axes[axis].ground_pin != JS_VIRTUAL_AXIS) { + setPinOutput(joystick_axes[axis].ground_pin); + writePinLow(joystick_axes[axis].ground_pin); + } + + wait_us(10); + + setPinInput(joystick_axes[axis].input_pin); + + wait_us(10); + +#if defined(ANALOG_JOYSTICK_ENABLE) && (defined(__AVR__) || defined(PROTOCOL_CHIBIOS)) + int16_t axis_val = analogReadPin(joystick_axes[axis].input_pin); +#else + // default to resting position + int16_t axis_val = joystick_axes[axis].mid_digit; +#endif + + // test the converted value against the lower range + int32_t ref = joystick_axes[axis].mid_digit; + int32_t range = joystick_axes[axis].min_digit; + int32_t ranged_val = ((axis_val - ref) * -JOYSTICK_RESOLUTION) / (range - ref); + + if (ranged_val > 0) { + // the value is in the higher range + range = joystick_axes[axis].max_digit; + ranged_val = ((axis_val - ref) * JOYSTICK_RESOLUTION) / (range - ref); + } + + // clamp the result in the valid range + ranged_val = ranged_val < -JOYSTICK_RESOLUTION ? -JOYSTICK_RESOLUTION : ranged_val; + ranged_val = ranged_val > JOYSTICK_RESOLUTION ? JOYSTICK_RESOLUTION : ranged_val; + + return ranged_val; +} + +void joystick_read_axes() { +#if JOYSTICK_AXES_COUNT > 0 + for (int i = 0; i < JOYSTICK_AXES_COUNT; ++i) { + if (joystick_axes[i].input_pin == JS_VIRTUAL_AXIS) { + continue; + } + + joystick_set_axis(i, joystick_read_axis(i)); + } + + joystick_flush(); +#endif +} + +void joystick_set_axis(uint8_t axis, int16_t value) { + if (value != joystick_status.axes[axis]) { + joystick_status.axes[axis] = value; + joystick_status.status |= JS_UPDATED; + } +} diff --git a/quantum/joystick.h b/quantum/joystick.h index 5d81b14ef2..ee966fdb1a 100644 --- a/quantum/joystick.h +++ b/quantum/joystick.h @@ -1,3 +1,19 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include <stdint.h> @@ -54,7 +70,10 @@ typedef struct { extern joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT]; -enum joystick_status { JS_INITIALIZED = 1, JS_UPDATED = 2 }; +enum joystick_status { + JS_INITIALIZED = 1, + JS_UPDATED, +}; typedef struct { uint8_t buttons[(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1]; @@ -65,7 +84,14 @@ typedef struct { extern joystick_t joystick_status; +void joystick_task(void); void joystick_flush(void); void register_joystick_button(uint8_t button); void unregister_joystick_button(uint8_t button); + +int16_t joystick_read_axis(uint8_t axis); +void joystick_read_axes(void); +void joystick_set_axis(uint8_t axis, int16_t value); + +void host_joystick_send(joystick_t *joystick); diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 1c62a43d9d..280532a5fd 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -106,7 +106,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # include "split_util.h" #endif #ifdef BLUETOOTH_ENABLE -# include "outputselect.h" +# include "bluetooth.h" #endif #ifdef CAPS_WORD_ENABLE # include "caps_word.h" @@ -170,12 +170,11 @@ uint32_t get_matrix_scan_rate(void) { #endif #ifdef MATRIX_HAS_GHOST -extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; -static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata) { +static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata) { matrix_row_t out = 0; for (uint8_t col = 0; col < MATRIX_COLS; col++) { // read each key in the row data and check if the keymap defines it as a real key - if (pgm_read_byte(&keymaps[0][row][col]) && (rowdata & (1 << col))) { + if (keycode_at_keymap_location(0, row, col) && (rowdata & (1 << col))) { // this creates new row data, if a key is defined in the keymap, it will be set here out |= 1 << col; } @@ -346,9 +345,6 @@ void quantum_init(void) { #ifdef HAPTIC_ENABLE haptic_init(); #endif -#if defined(BLUETOOTH_ENABLE) && defined(OUTPUT_AUTO_ENABLE) - set_output(OUTPUT_AUTO); -#endif } /** \brief keyboard_init @@ -410,6 +406,9 @@ void keyboard_init(void) { // init after split init pointing_device_init(); #endif +#ifdef BLUETOOTH_ENABLE + bluetooth_init(); +#endif #if defined(DEBUG_MATRIX_SCAN_RATE) && defined(CONSOLE_ENABLE) debug_enable = true; @@ -587,6 +586,10 @@ void keyboard_task(void) { quantum_task(); +#if defined(SPLIT_WATCHDOG_ENABLE) + split_watchdog_task(); +#endif + #if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif @@ -670,5 +673,9 @@ void keyboard_task(void) { programmable_button_send(); #endif +#ifdef BLUETOOTH_ENABLE + bluetooth_task(); +#endif + led_task(); } diff --git a/quantum/keycode.h b/quantum/keycode.h index 3c80a386d1..b492e4292a 100644 --- a/quantum/keycode.h +++ b/quantum/keycode.h @@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define IS_SPECIAL(code) ((0xA5 <= (code) && (code) <= 0xDF) || (0xE8 <= (code) && (code) <= 0xFF)) #define IS_SYSTEM(code) (KC_PWR <= (code) && (code) <= KC_WAKE) -#define IS_CONSUMER(code) (KC_MUTE <= (code) && (code) <= KC_BRID) +#define IS_CONSUMER(code) (KC_MUTE <= (code) && (code) <= KC_ASST) #define IS_MOUSEKEY(code) (KC_MS_UP <= (code) && (code) <= KC_MS_ACCEL2) #define IS_MOUSEKEY_MOVE(code) (KC_MS_UP <= (code) && (code) <= KC_MS_RIGHT) @@ -205,6 +205,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define KC_MRWD KC_MEDIA_REWIND #define KC_BRIU KC_BRIGHTNESS_UP #define KC_BRID KC_BRIGHTNESS_DOWN +#define KC_CPNL KC_CONTROL_PANEL +#define KC_ASST KC_ASSISTANT /* System Specific */ #define KC_BRMU KC_PAUSE @@ -502,7 +504,9 @@ enum internal_special_keycodes { KC_MEDIA_FAST_FORWARD, KC_MEDIA_REWIND, KC_BRIGHTNESS_UP, - KC_BRIGHTNESS_DOWN + KC_BRIGHTNESS_DOWN, + KC_CONTROL_PANEL, + KC_ASSISTANT // 0xC0 }; enum mouse_keys { @@ -510,11 +514,11 @@ enum mouse_keys { #ifdef VIA_ENABLE KC_MS_UP = 0xF0, #else - KC_MS_UP = 0xED, + KC_MS_UP = 0xCD, #endif KC_MS_DOWN, KC_MS_LEFT, - KC_MS_RIGHT, // 0xF0 + KC_MS_RIGHT, KC_MS_BTN1, KC_MS_BTN2, KC_MS_BTN3, @@ -539,7 +543,7 @@ enum mouse_keys { /* Acceleration */ KC_MS_ACCEL0, KC_MS_ACCEL1, - KC_MS_ACCEL2 // 0xFF + KC_MS_ACCEL2 // 0xDF, or 0xFF if via enabled }; #include "keycode_legacy.h" diff --git a/quantum/keycode_config.h b/quantum/keycode_config.h index 81a8e61471..eef048d95c 100644 --- a/quantum/keycode_config.h +++ b/quantum/keycode_config.h @@ -39,6 +39,7 @@ typedef union { bool swap_rctl_rgui : 1; bool oneshot_enable : 1; bool swap_escape_capslock : 1; + bool autocorrect_enable : 1; }; } keymap_config_t; diff --git a/quantum/keycode_legacy.h b/quantum/keycode_legacy.h index 0317a05534..9169f3cb89 100644 --- a/quantum/keycode_legacy.h +++ b/quantum/keycode_legacy.h @@ -19,9 +19,6 @@ #define KC__MUTE KC_KB_MUTE #define KC__VOLUP KC_KB_VOLUME_UP #define KC__VOLDOWN KC_KB_VOLUME_DOWN -#define KC_LOCKING_CAPS KC_LOCKING_CAPS_LOCK -#define KC_LOCKING_NUM KC_LOCKING_NUM_LOCK -#define KC_LOCKING_SCROLL KC_LOCKING_SCROLL_LOCK #define KC_LANG1 KC_LANGUAGE_1 #define KC_LANG2 KC_LANGUAGE_2 #define KC_LANG3 KC_LANGUAGE_3 diff --git a/quantum/keymap.h b/quantum/keymap.h index edff484129..0225f53362 100644 --- a/quantum/keymap.h +++ b/quantum/keymap.h @@ -19,43 +19,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include <stdint.h> #include <stdbool.h> +#include "platform_deps.h" #include "action.h" -#if defined(__AVR__) -# include <avr/pgmspace.h> -#elif defined PROTOCOL_CHIBIOS -// We need to ensure that chibios is include before redefining reset -# include <ch.h> -#endif #include "keycode.h" #include "report.h" #include "host.h" -// #include "print.h" #include "debug.h" #include "keycode_config.h" #include "gpio.h" // for pin_t -// ChibiOS uses RESET in its FlagStatus enumeration -// Therefore define it as QK_BOOTLOADER here, to avoid name collision -#if defined(PROTOCOL_CHIBIOS) -# define RESET QK_BOOTLOADER -#endif -// Gross hack, remove me and change RESET keycode to QK_BOOT -#if defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__) -# undef RESET -#endif - #include "quantum_keycodes.h" -// Gross hack, remove me and change RESET keycode to QK_BOOT -#if defined(MCU_RP) -# undef RESET -#endif - // translates key to keycode uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key); -extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; - #ifdef ENCODER_MAP_ENABLE // Ensure we have a forward declaration for the encoder map # include "encoder.h" diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 8d7a8bda9a..50e581cd87 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -61,15 +61,13 @@ action_t action_for_keycode(uint16_t keycode) { case KC_SYSTEM_POWER ... KC_SYSTEM_WAKE: action.code = ACTION_USAGE_SYSTEM(KEYCODE2SYSTEM(keycode)); break; - case KC_AUDIO_MUTE ... KC_BRIGHTNESS_DOWN: + case KC_AUDIO_MUTE ... KC_ASSISTANT: action.code = ACTION_USAGE_CONSUMER(KEYCODE2CONSUMER(keycode)); break; #endif -#ifdef MOUSEKEY_ENABLE case KC_MS_UP ... KC_MS_ACCEL2: action.code = ACTION_MOUSEKEY(keycode); break; -#endif case KC_TRANSPARENT: action.code = ACTION_TRANSPARENT; break; @@ -147,13 +145,13 @@ action_t action_for_keycode(uint16_t keycode) { // translates key to keycode __attribute__((weak)) uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { if (key.row < MATRIX_ROWS && key.col < MATRIX_COLS) { - return pgm_read_word(&keymaps[layer][key.row][key.col]); + return keycode_at_keymap_location(layer, key.row, key.col); } #ifdef ENCODER_MAP_ENABLE else if (key.row == KEYLOC_ENCODER_CW && key.col < NUM_ENCODERS) { - return pgm_read_word(&encoder_map[layer][key.col][0]); + return keycode_at_encodermap_location(layer, key.col, true); } else if (key.row == KEYLOC_ENCODER_CCW && key.col < NUM_ENCODERS) { - return pgm_read_word(&encoder_map[layer][key.col][1]); + return keycode_at_encodermap_location(layer, key.col, false); } #endif // ENCODER_MAP_ENABLE return KC_NO; diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h index 6658cc1301..e7b5c97ccb 100644 --- a/quantum/keymap_extras/keymap_colemak.h +++ b/quantum/keymap_extras/keymap_colemak.h @@ -122,4 +122,4 @@ // Row 4 #define CM_LABK S(CM_COMM) // < #define CM_RABK S(CM_DOT) // > -#define CM_QUES S(CM_SLSH) // / +#define CM_QUES S(CM_SLSH) // ? diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 179b5eb037..93aab82fcc 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -19,6 +19,17 @@ uint8_t keymap_layer_count(void) { _Static_assert(NUM_KEYMAP_LAYERS <= MAX_LAYER, "Number of keymap layers exceeds maximum set by LAYER_STATE_(8|16|32)BIT"); +uint16_t keycode_at_keymap_location_raw(uint8_t layer_num, uint8_t row, uint8_t column) { + if (layer_num < NUM_KEYMAP_LAYERS && row < MATRIX_ROWS && column < MATRIX_COLS) { + return pgm_read_word(&keymaps[layer_num][row][column]); + } + return KC_NO; +} + +__attribute__((weak)) uint16_t keycode_at_keymap_location(uint8_t layer_num, uint8_t row, uint8_t column) { + return keycode_at_keymap_location_raw(layer_num, row, column); +} + #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) # define NUM_ENCODERMAP_LAYERS ((uint8_t)(sizeof(encoder_map) / ((NUM_ENCODERS) * (2) * sizeof(uint16_t)))) @@ -29,4 +40,15 @@ uint8_t encodermap_layer_count(void) { _Static_assert(NUM_KEYMAP_LAYERS == NUM_ENCODERMAP_LAYERS, "Number of encoder_map layers doesn't match the number of keymap layers"); +uint16_t keycode_at_encodermap_location_raw(uint8_t layer_num, uint8_t encoder_idx, bool clockwise) { + if (layer_num < NUM_ENCODERMAP_LAYERS && encoder_idx < NUM_ENCODERS) { + return pgm_read_word(&encoder_map[layer_num][encoder_idx][clockwise ? 0 : 1]); + } + return KC_NO; +} + +__attribute__((weak)) uint16_t keycode_at_encodermap_location(uint8_t layer_num, uint8_t encoder_idx, bool clockwise) { + return keycode_at_encodermap_location_raw(layer_num, encoder_idx, clockwise); +} + #endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) diff --git a/quantum/keymap_introspection.h b/quantum/keymap_introspection.h index 23f6f2016f..9de706a021 100644 --- a/quantum/keymap_introspection.h +++ b/quantum/keymap_introspection.h @@ -7,9 +7,19 @@ // Get the number of layers defined in the keymap uint8_t keymap_layer_count(void); +// Get the keycode for the keymap location, stored in firmware rather than any other persistent storage +uint16_t keycode_at_keymap_location_raw(uint8_t layer_num, uint8_t row, uint8_t column); +// Get the keycode for the keymap location, potentially stored dynamically +uint16_t keycode_at_keymap_location(uint8_t layer_num, uint8_t row, uint8_t column); + #if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) // Get the number of layers defined in the encoder map uint8_t encodermap_layer_count(void); +// Get the keycode for the encoder mapping location, stored in firmware rather than any other persistent storage +uint16_t keycode_at_encodermap_location_raw(uint8_t layer_num, uint8_t encoder_idx, bool clockwise); +// Get the keycode for the encoder mapping location, potentially stored dynamically +uint16_t keycode_at_encodermap_location(uint8_t layer_num, uint8_t encoder_idx, bool clockwise); + #endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) diff --git a/quantum/led.c b/quantum/led.c index 444d38f751..7db38bb88c 100644 --- a/quantum/led.c +++ b/quantum/led.c @@ -92,32 +92,36 @@ __attribute__((weak)) bool led_update_user(led_t led_state) { __attribute__((weak)) bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (res) { -#if defined(LED_NUM_LOCK_PIN) || defined(LED_CAPS_LOCK_PIN) || defined(LED_SCROLL_LOCK_PIN) || defined(LED_COMPOSE_PIN) || defined(LED_KANA_PIN) -# if LED_PIN_ON_STATE == 0 - // invert the whole thing to avoid having to conditionally !led_state.x later - led_state.raw = ~led_state.raw; -# endif - -# ifdef LED_NUM_LOCK_PIN - writePin(LED_NUM_LOCK_PIN, led_state.num_lock); -# endif -# ifdef LED_CAPS_LOCK_PIN - writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); -# endif -# ifdef LED_SCROLL_LOCK_PIN - writePin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock); -# endif -# ifdef LED_COMPOSE_PIN - writePin(LED_COMPOSE_PIN, led_state.compose); -# endif -# ifdef LED_KANA_PIN - writePin(LED_KANA_PIN, led_state.kana); -# endif -#endif + led_update_ports(led_state); } return res; } +/** \brief Write LED state to hardware + */ +__attribute__((weak)) void led_update_ports(led_t led_state) { +#if LED_PIN_ON_STATE == 0 + // invert the whole thing to avoid having to conditionally !led_state.x later + led_state.raw = ~led_state.raw; +#endif + +#ifdef LED_NUM_LOCK_PIN + writePin(LED_NUM_LOCK_PIN, led_state.num_lock); +#endif +#ifdef LED_CAPS_LOCK_PIN + writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); +#endif +#ifdef LED_SCROLL_LOCK_PIN + writePin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock); +#endif +#ifdef LED_COMPOSE_PIN + writePin(LED_COMPOSE_PIN, led_state.compose); +#endif +#ifdef LED_KANA_PIN + writePin(LED_KANA_PIN, led_state.kana); +#endif +} + /** \brief Initialise any LED related hardware and/or state */ __attribute__((weak)) void led_init_ports(void) { diff --git a/quantum/led.h b/quantum/led.h index b8262cbd8e..d12e519ea2 100644 --- a/quantum/led.h +++ b/quantum/led.h @@ -60,6 +60,7 @@ void led_set_user(uint8_t usb_led); void led_set_kb(uint8_t usb_led); bool led_update_user(led_t led_state); bool led_update_kb(led_t led_state); +void led_update_ports(led_t led_state); uint32_t last_led_activity_time(void); // Timestamp of the LED activity uint32_t last_led_activity_elapsed(void); // Number of milliseconds since the last LED activity diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c index 14dd0dd48a..e215c2c2c3 100644 --- a/quantum/led_matrix/led_matrix.c +++ b/quantum/led_matrix/led_matrix.c @@ -54,12 +54,8 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER; // -----End led effect includes macros------- // ------------------------------------------ -#if defined(LED_DISABLE_AFTER_TIMEOUT) && !defined(LED_DISABLE_TIMEOUT) -# define LED_DISABLE_TIMEOUT (LED_DISABLE_AFTER_TIMEOUT * 1200UL) -#endif - -#ifndef LED_DISABLE_TIMEOUT -# define LED_DISABLE_TIMEOUT 0 +#ifndef LED_MATRIX_TIMEOUT +# define LED_MATRIX_TIMEOUT 0 #endif #if !defined(LED_MATRIX_MAXIMUM_BRIGHTNESS) || LED_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX @@ -103,9 +99,9 @@ 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_DISABLE_TIMEOUT > 0 +#if LED_MATRIX_TIMEOUT > 0 static uint32_t led_anykey_timer; -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_MATRIX_TIMEOUT > 0 // double buffers static uint32_t led_timer_buffer; @@ -170,7 +166,7 @@ void led_matrix_set_value(int index, uint8_t value) { void led_matrix_set_value_all(uint8_t value) { #if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT) - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) + for (uint8_t i = 0; i < LED_MATRIX_LED_COUNT; i++) led_matrix_set_value(i, value); #else # ifdef USE_CIE1931_CURVE @@ -185,9 +181,9 @@ void process_led_matrix(uint8_t row, uint8_t col, bool pressed) { #ifndef LED_MATRIX_SPLIT if (!is_keyboard_master()) return; #endif -#if LED_DISABLE_TIMEOUT > 0 +#if LED_MATRIX_TIMEOUT > 0 led_anykey_timer = 0; -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_MATRIX_TIMEOUT > 0 #ifdef LED_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -237,13 +233,13 @@ static bool led_matrix_none(effect_params_t *params) { } static void led_task_timers(void) { -#if defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_DISABLE_TIMEOUT > 0 +#if defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0 uint32_t deltaTime = sync_timer_elapsed32(led_timer_buffer); -#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_DISABLE_TIMEOUT > 0 +#endif // defined(LED_MATRIX_KEYREACTIVE_ENABLED) || LED_MATRIX_TIMEOUT > 0 led_timer_buffer = sync_timer_read32(); // Update double buffer timers -#if LED_DISABLE_TIMEOUT > 0 +#if LED_MATRIX_TIMEOUT > 0 if (led_anykey_timer < UINT32_MAX) { if (UINT32_MAX - deltaTime < led_anykey_timer) { led_anykey_timer = UINT32_MAX; @@ -251,7 +247,7 @@ static void led_task_timers(void) { led_anykey_timer += deltaTime; } } -#endif // LED_DISABLE_TIMEOUT > 0 +#endif // LED_MATRIX_TIMEOUT > 0 // Update double buffer last hit timers #ifdef LED_MATRIX_KEYREACTIVE_ENABLED @@ -357,9 +353,9 @@ void led_matrix_task(void) { // Ideally we would also stop sending zeros to the LED driver PWM buffers // while suspended and just do a software shutdown. This is a cheap hack for now. bool suspend_backlight = suspend_state || -#if LED_DISABLE_TIMEOUT > 0 - (led_anykey_timer > (uint32_t)LED_DISABLE_TIMEOUT) || -#endif // LED_DISABLE_TIMEOUT > 0 +#if LED_MATRIX_TIMEOUT > 0 + (led_anykey_timer > (uint32_t)LED_MATRIX_TIMEOUT) || +#endif // LED_MATRIX_TIMEOUT > 0 false; uint8_t effect = suspend_backlight || !led_matrix_eeconfig.enable ? 0 : led_matrix_eeconfig.mode; @@ -389,9 +385,13 @@ void led_matrix_indicators(void) { led_matrix_indicators_user(); } -__attribute__((weak)) void led_matrix_indicators_kb(void) {} +__attribute__((weak)) bool led_matrix_indicators_kb(void) { + return led_matrix_indicators_user(); +} -__attribute__((weak)) void led_matrix_indicators_user(void) {} +__attribute__((weak)) bool led_matrix_indicators_user(void) { + return true; +} void led_matrix_indicators_advanced(effect_params_t *params) { /* special handling is needed for "params->iter", since it's already been incremented. @@ -399,21 +399,25 @@ void led_matrix_indicators_advanced(effect_params_t *params) { * and not sure which would be better. Otherwise, this should be called from * led_task_render, right before the iter++ line. */ -#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL +#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < LED_MATRIX_LED_COUNT uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * (params->iter - 1); uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT; - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; + if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT; #else uint8_t min = 0; - uint8_t max = DRIVER_LED_TOTAL; + uint8_t max = LED_MATRIX_LED_COUNT; #endif led_matrix_indicators_advanced_kb(min, max); led_matrix_indicators_advanced_user(min, max); } -__attribute__((weak)) void led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {} +__attribute__((weak)) bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + return led_matrix_indicators_advanced_user(led_min, led_max); +} -__attribute__((weak)) void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {} +__attribute__((weak)) bool led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + return true; +} void led_matrix_init(void) { led_matrix_driver.init(); diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h index 446f293c78..c7d360f366 100644 --- a/quantum/led_matrix/led_matrix.h +++ b/quantum/led_matrix/led_matrix.h @@ -42,15 +42,15 @@ #endif #ifndef LED_MATRIX_LED_PROCESS_LIMIT -# define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 +# define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 #endif -#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL +#if defined(LED_MATRIX_LED_PROCESS_LIMIT) && LED_MATRIX_LED_PROCESS_LIMIT > 0 && LED_MATRIX_LED_PROCESS_LIMIT < LED_MATRIX_LED_COUNT # if defined(LED_MATRIX_SPLIT) # define LED_MATRIX_USE_LIMITS(min, max) \ uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * params->iter; \ uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT; \ - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; \ + if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT; \ uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; \ if (is_keyboard_left() && (max > k_led_matrix_split[0])) max = k_led_matrix_split[0]; \ if (!(is_keyboard_left()) && (min < k_led_matrix_split[0])) min = k_led_matrix_split[0]; @@ -58,20 +58,20 @@ # define LED_MATRIX_USE_LIMITS(min, max) \ uint8_t min = LED_MATRIX_LED_PROCESS_LIMIT * params->iter; \ uint8_t max = min + LED_MATRIX_LED_PROCESS_LIMIT; \ - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; + if (max > LED_MATRIX_LED_COUNT) max = LED_MATRIX_LED_COUNT; # endif #else # if defined(LED_MATRIX_SPLIT) # define LED_MATRIX_USE_LIMITS(min, max) \ uint8_t min = 0; \ - uint8_t max = DRIVER_LED_TOTAL; \ + uint8_t max = LED_MATRIX_LED_COUNT; \ const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; \ if (is_keyboard_left() && (max > k_led_matrix_split[0])) max = k_led_matrix_split[0]; \ if (!(is_keyboard_left()) && (min < k_led_matrix_split[0])) min = k_led_matrix_split[0]; # else # define LED_MATRIX_USE_LIMITS(min, max) \ uint8_t min = 0; \ - uint8_t max = DRIVER_LED_TOTAL; + uint8_t max = LED_MATRIX_LED_COUNT; # endif #endif @@ -120,12 +120,12 @@ void led_matrix_task(void); // This runs after another backlight effect and replaces // values already set void led_matrix_indicators(void); -void led_matrix_indicators_kb(void); -void led_matrix_indicators_user(void); +bool led_matrix_indicators_kb(void); +bool led_matrix_indicators_user(void); void led_matrix_indicators_advanced(effect_params_t *params); -void led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max); -void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); +bool led_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max); +bool led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); void led_matrix_init(void); @@ -181,9 +181,9 @@ static inline bool led_matrix_check_finished_leds(uint8_t led_idx) { uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT; return led_idx < k_led_matrix_split[0]; } else - return led_idx < DRIVER_LED_TOTAL; + return led_idx < LED_MATRIX_LED_COUNT; #else - return led_idx < DRIVER_LED_TOTAL; + return led_idx < LED_MATRIX_LED_COUNT; #endif } diff --git a/quantum/led_matrix/led_matrix_drivers.c b/quantum/led_matrix/led_matrix_drivers.c index f01b395c15..2c09ba82b1 100644 --- a/quantum/led_matrix/led_matrix_drivers.c +++ b/quantum/led_matrix/led_matrix_drivers.c @@ -96,7 +96,7 @@ static void init(void) { # endif # endif - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < LED_MATRIX_LED_COUNT; index++) { # if defined(IS31FL3731) IS31FL3731_set_led_control_register(index, true); # elif defined(IS31FL3733) diff --git a/quantum/led_matrix/led_matrix_types.h b/quantum/led_matrix/led_matrix_types.h index 3dc533100f..6d79a3592d 100644 --- a/quantum/led_matrix/led_matrix_types.h +++ b/quantum/led_matrix/led_matrix_types.h @@ -76,8 +76,8 @@ typedef struct PACKED { typedef struct PACKED { uint8_t matrix_co[MATRIX_ROWS][MATRIX_COLS]; - led_point_t point[DRIVER_LED_TOTAL]; - uint8_t flags[DRIVER_LED_TOTAL]; + led_point_t point[LED_MATRIX_LED_COUNT]; + uint8_t flags[LED_MATRIX_LED_COUNT]; } led_config_t; typedef union { diff --git a/quantum/painter/qp.h b/quantum/painter/qp.h index fb6904de22..69bc435961 100644 --- a/quantum/painter/qp.h +++ b/quantum/painter/qp.h @@ -432,6 +432,10 @@ int16_t qp_drawtext_recolor(painter_device_t device, uint16_t x, uint16_t y, pai //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter Drivers +#ifdef QUANTUM_PAINTER_RGB565_SURFACE_ENABLE +# include "qp_rgb565_surface.h" +#endif // QUANTUM_PAINTER_RGB565_SURFACE_ENABLE + #ifdef QUANTUM_PAINTER_ILI9163_ENABLE # include "qp_ili9163.h" #endif // QUANTUM_PAINTER_ILI9163_ENABLE diff --git a/quantum/painter/qp_draw_image.c b/quantum/painter/qp_draw_image.c index 5822758dce..e9b975f23a 100644 --- a/quantum/painter/qp_draw_image.c +++ b/quantum/painter/qp_draw_image.c @@ -25,10 +25,10 @@ typedef struct qgf_image_handle_t { static qgf_image_handle_t image_descriptors[QUANTUM_PAINTER_NUM_IMAGES] = {0}; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter External API: qp_load_image_mem +// Helper: load image from stream -painter_image_handle_t qp_load_image_mem(const void *buffer) { - qp_dprintf("qp_load_image_mem: entry\n"); +static painter_image_handle_t qp_load_image_internal(bool (*stream_factory)(qgf_image_handle_t *image, void *arg), void *arg) { + qp_dprintf("qp_load_image: entry\n"); qgf_image_handle_t *image = NULL; // Find a free slot @@ -41,20 +41,18 @@ painter_image_handle_t qp_load_image_mem(const void *buffer) { // Drop out if not found if (!image) { - qp_dprintf("qp_load_image_mem: fail (no free slot)\n"); + qp_dprintf("qp_load_image: fail (no free slot)\n"); return NULL; } - // Assume we can read the graphics descriptor - image->mem_stream = qp_make_memory_stream((void *)buffer, sizeof(qgf_graphics_descriptor_v1_t)); - - // Update the length of the stream to match, and rewind to the start - image->mem_stream.length = qgf_get_total_size(&image->stream); - image->mem_stream.position = 0; + if (!stream_factory(image, arg)) { + qp_dprintf("qp_load_image: fail (could not create stream)\n"); + return NULL; + } // Now that we know the length, validate the input data if (!qgf_validate_stream(&image->stream)) { - qp_dprintf("qp_load_image_mem: fail (failed validation)\n"); + qp_dprintf("qp_load_image: fail (failed validation)\n"); return NULL; } @@ -63,11 +61,31 @@ painter_image_handle_t qp_load_image_mem(const void *buffer) { // Validation success, we can return the handle image->validate_ok = true; - qp_dprintf("qp_load_image_mem: ok\n"); + qp_dprintf("qp_load_image: ok\n"); return (painter_image_handle_t)image; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_load_image_mem + +static inline bool image_mem_stream_factory(qgf_image_handle_t *image, void *arg) { + void *buffer = arg; + + // Assume we can read the graphics descriptor + image->mem_stream = qp_make_memory_stream((void *)buffer, sizeof(qgf_graphics_descriptor_v1_t)); + + // Update the length of the stream to match, and rewind to the start + image->mem_stream.length = qgf_get_total_size(&image->stream); + image->mem_stream.position = 0; + + return true; +} + +painter_image_handle_t qp_load_image_mem(const void *buffer) { + return qp_load_image_internal(image_mem_stream_factory, (void *)buffer); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter External API: qp_close_image bool qp_close_image(painter_image_handle_t image) { @@ -79,6 +97,7 @@ bool qp_close_image(painter_image_handle_t image) { // Free up this image for use elsewhere. qgf_image->validate_ok = false; + qp_stream_close(&qgf_image->stream); return true; } diff --git a/quantum/painter/qp_draw_text.c b/quantum/painter/qp_draw_text.c index f99e082cad..0f5473abd0 100644 --- a/quantum/painter/qp_draw_text.c +++ b/quantum/painter/qp_draw_text.c @@ -36,10 +36,10 @@ typedef struct qff_font_handle_t { static qff_font_handle_t font_descriptors[QUANTUM_PAINTER_NUM_FONTS] = {0}; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Quantum Painter External API: qp_load_font_mem +// Helper: load font from stream -painter_font_handle_t qp_load_font_mem(const void *buffer) { - qp_dprintf("qp_load_font_mem: entry\n"); +static painter_font_handle_t qp_load_font_internal(bool (*stream_factory)(qff_font_handle_t *font, void *arg), void *arg) { + qp_dprintf("qp_load_font: entry\n"); qff_font_handle_t *font = NULL; // Find a free slot @@ -52,20 +52,18 @@ painter_font_handle_t qp_load_font_mem(const void *buffer) { // Drop out if not found if (!font) { - qp_dprintf("qp_load_font_mem: fail (no free slot)\n"); + qp_dprintf("qp_load_font: fail (no free slot)\n"); return NULL; } - // Assume we can read the graphics descriptor - font->mem_stream = qp_make_memory_stream((void *)buffer, sizeof(qff_font_descriptor_v1_t)); - - // Update the length of the stream to match, and rewind to the start - font->mem_stream.length = qff_get_total_size(&font->stream); - font->mem_stream.position = 0; + if (!stream_factory(font, arg)) { + qp_dprintf("qp_load_font: fail (could not create stream)\n"); + return NULL; + } // Now that we know the length, validate the input data if (!qff_validate_stream(&font->stream)) { - qp_dprintf("qp_load_font_mem: fail (failed validation)\n"); + qp_dprintf("qp_load_font: fail (failed validation)\n"); return NULL; } @@ -76,12 +74,12 @@ painter_font_handle_t qp_load_font_mem(const void *buffer) { void *ram_buffer = malloc(font->mem_stream.length); if (ram_buffer == NULL) { - qp_dprintf("qp_load_font_mem: could not allocate enough RAM for font, falling back to original\n"); + qp_dprintf("qp_load_font: could not allocate enough RAM for font, falling back to original\n"); } else { do { // Copy the data into RAM if (qp_stream_read(ram_buffer, 1, font->mem_stream.length, &font->mem_stream) != font->mem_stream.length) { - qp_dprintf("qp_load_font_mem: could not copy from flash to RAM, falling back to original\n"); + qp_dprintf("qp_load_font: could not copy from flash to RAM, falling back to original\n"); break; } @@ -102,18 +100,38 @@ painter_font_handle_t qp_load_font_mem(const void *buffer) { qff_read_font_descriptor(&font->stream, &font->base.line_height, &font->has_ascii_table, &font->num_unicode_glyphs, &font->bpp, &font->has_palette, &font->compression_scheme, NULL); if (!qp_internal_bpp_capable(font->bpp)) { - qp_dprintf("qp_load_font_mem: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)font->bpp); + qp_dprintf("qp_load_font: fail (image bpp too high (%d), check QUANTUM_PAINTER_SUPPORTS_256_PALETTE)\n", (int)font->bpp); qp_close_font((painter_font_handle_t)font); return NULL; } // Validation success, we can return the handle font->validate_ok = true; - qp_dprintf("qp_load_font_mem: ok\n"); + qp_dprintf("qp_load_font: ok\n"); return (painter_font_handle_t)font; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Quantum Painter External API: qp_load_font_mem + +static inline bool font_mem_stream_factory(qff_font_handle_t *font, void *arg) { + void *buffer = arg; + + // Assume we can read the graphics descriptor + font->mem_stream = qp_make_memory_stream(buffer, sizeof(qff_font_descriptor_v1_t)); + + // Update the length of the stream to match, and rewind to the start + font->mem_stream.length = qff_get_total_size(&font->stream); + font->mem_stream.position = 0; + + return true; +} + +painter_font_handle_t qp_load_font_mem(const void *buffer) { + return qp_load_font_internal(font_mem_stream_factory, (void *)buffer); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Quantum Painter External API: qp_close_font bool qp_close_font(painter_font_handle_t font) { @@ -133,6 +151,7 @@ bool qp_close_font(painter_font_handle_t font) { #endif // QUANTUM_PAINTER_LOAD_FONTS_TO_RAM // Free up this font for use elsewhere. + qp_stream_close(&qff_font->stream); qff_font->validate_ok = false; return true; } diff --git a/quantum/painter/qp_stream.c b/quantum/painter/qp_stream.c index f00ae5ed38..1198cf793d 100644 --- a/quantum/painter/qp_stream.c +++ b/quantum/painter/qp_stream.c @@ -38,7 +38,7 @@ uint32_t qp_stream_write_impl(const void *input_buf, uint32_t member_size, uint3 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Memory streams -int16_t mem_get(qp_stream_t *stream) { +static inline int16_t mem_get(qp_stream_t *stream) { qp_memory_stream_t *s = (qp_memory_stream_t *)stream; if (s->position >= s->length) { s->is_eof = true; @@ -47,7 +47,7 @@ int16_t mem_get(qp_stream_t *stream) { return s->buffer[s->position++]; } -bool mem_put(qp_stream_t *stream, uint8_t c) { +static inline bool mem_put(qp_stream_t *stream, uint8_t c) { qp_memory_stream_t *s = (qp_memory_stream_t *)stream; if (s->position >= s->length) { s->is_eof = true; @@ -57,7 +57,7 @@ bool mem_put(qp_stream_t *stream, uint8_t c) { return true; } -int mem_seek(qp_stream_t *stream, int32_t offset, int origin) { +static inline int mem_seek(qp_stream_t *stream, int32_t offset, int origin) { qp_memory_stream_t *s = (qp_memory_stream_t *)stream; // Handle as per fseek @@ -95,26 +95,23 @@ int mem_seek(qp_stream_t *stream, int32_t offset, int origin) { return 0; } -int32_t mem_tell(qp_stream_t *stream) { +static inline int32_t mem_tell(qp_stream_t *stream) { qp_memory_stream_t *s = (qp_memory_stream_t *)stream; return s->position; } -bool mem_is_eof(qp_stream_t *stream) { +static inline bool mem_is_eof(qp_stream_t *stream) { qp_memory_stream_t *s = (qp_memory_stream_t *)stream; return s->is_eof; } +static inline void mem_close(qp_stream_t *stream) { + // No-op. +} + qp_memory_stream_t qp_make_memory_stream(void *buffer, int32_t length) { qp_memory_stream_t stream = { - .base = - { - .get = mem_get, - .put = mem_put, - .seek = mem_seek, - .tell = mem_tell, - .is_eof = mem_is_eof, - }, + .base = {.get = mem_get, .put = mem_put, .seek = mem_seek, .tell = mem_tell, .is_eof = mem_is_eof, .close = mem_close}, .buffer = (uint8_t *)buffer, .length = length, .position = 0, @@ -127,43 +124,41 @@ qp_memory_stream_t qp_make_memory_stream(void *buffer, int32_t length) { #ifdef QP_STREAM_HAS_FILE_IO -int16_t file_get(qp_stream_t *stream) { +static inline int16_t file_get(qp_stream_t *stream) { qp_file_stream_t *s = (qp_file_stream_t *)stream; int c = fgetc(s->file); if (c < 0 || feof(s->file)) return STREAM_EOF; return (uint16_t)c; } -bool file_put(qp_stream_t *stream, uint8_t c) { +static inline bool file_put(qp_stream_t *stream, uint8_t c) { qp_file_stream_t *s = (qp_file_stream_t *)stream; return fputc(c, s->file) == c; } -int file_seek(qp_stream_t *stream, int32_t offset, int origin) { +static inline int file_seek(qp_stream_t *stream, int32_t offset, int origin) { qp_file_stream_t *s = (qp_file_stream_t *)stream; return fseek(s->file, offset, origin); } -int32_t file_tell(qp_stream_t *stream) { +static inline int32_t file_tell(qp_stream_t *stream) { qp_file_stream_t *s = (qp_file_stream_t *)stream; return (int32_t)ftell(s->file); } -bool file_is_eof(qp_stream_t *stream) { +static inline bool file_is_eof(qp_stream_t *stream) { qp_file_stream_t *s = (qp_file_stream_t *)stream; return (bool)feof(s->file); } +static inline void file_close(qp_stream_t *stream) { + qp_file_stream_t *s = (qp_file_stream_t *)stream; + fclose(s->file); +} + qp_file_stream_t qp_make_file_stream(FILE *f) { qp_file_stream_t stream = { - .base = - { - .get = file_get, - .put = file_put, - .seek = file_seek, - .tell = file_tell, - .is_eof = file_is_eof, - }, + .base = {.get = file_get, .put = file_put, .seek = file_seek, .tell = file_tell, .is_eof = file_is_eof, .close = file_close}, .file = f, }; return stream; diff --git a/quantum/painter/qp_stream.h b/quantum/painter/qp_stream.h index 878b9bf530..c0e745adc1 100644 --- a/quantum/painter/qp_stream.h +++ b/quantum/painter/qp_stream.h @@ -41,6 +41,8 @@ typedef struct qp_stream_t qp_stream_t; uint32_t qp_stream_read_impl(void *output_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream); uint32_t qp_stream_write_impl(const void *input_buf, uint32_t member_size, uint32_t num_members, qp_stream_t *stream); +#define qp_stream_close(stream_ptr) (((qp_stream_t *)(stream_ptr))->close((qp_stream_t *)(stream_ptr))) + #define STREAM_EOF ((int16_t)(-1)) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -52,6 +54,7 @@ struct qp_stream_t { int (*seek)(qp_stream_t *stream, int32_t offset, int origin); int32_t (*tell)(qp_stream_t *stream); bool (*is_eof)(qp_stream_t *stream); + void (*close)(qp_stream_t *stream); }; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -77,6 +80,6 @@ typedef struct qp_file_stream_t { FILE * file; } qp_file_stream_t; -qp_file_stream_t qo_make_file_stream(FILE *f); +qp_file_stream_t qp_make_file_stream(FILE *f); #endif // QP_STREAM_HAS_FILE_IO diff --git a/quantum/painter/rules.mk b/quantum/painter/rules.mk index 91787dfe0e..5ac374a96e 100644 --- a/quantum/painter/rules.mk +++ b/quantum/painter/rules.mk @@ -3,14 +3,23 @@ QUANTUM_PAINTER_DRIVERS ?= QUANTUM_PAINTER_ANIMATIONS_ENABLE ?= yes # The list of permissible drivers that can be listed in QUANTUM_PAINTER_DRIVERS -VALID_QUANTUM_PAINTER_DRIVERS := ili9163_spi ili9341_spi ili9488_spi st7789_spi st7735_spi gc9a01_spi ssd1351_spi +VALID_QUANTUM_PAINTER_DRIVERS := \ + rgb565_surface \ + ili9163_spi \ + ili9341_spi \ + ili9488_spi \ + st7735_spi \ + st7789_spi \ + gc9a01_spi \ + ssd1351_spi #------------------------------------------------------------------------------- OPT_DEFS += -DQUANTUM_PAINTER_ENABLE -COMMON_VPATH += $(QUANTUM_DIR)/painter +COMMON_VPATH += $(QUANTUM_DIR)/painter \ + $(QUANTUM_DIR)/unicode SRC += \ - $(QUANTUM_DIR)/utf8.c \ + $(QUANTUM_DIR)/unicode/utf8.c \ $(QUANTUM_DIR)/color.c \ $(QUANTUM_DIR)/painter/qp.c \ $(QUANTUM_DIR)/painter/qp_stream.c \ @@ -39,6 +48,13 @@ define handle_quantum_painter_driver ifeq ($$(filter $$(strip $$(CURRENT_PAINTER_DRIVER)),$$(VALID_QUANTUM_PAINTER_DRIVERS)),) $$(error "$$(CURRENT_PAINTER_DRIVER)" is not a valid Quantum Painter driver) + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),rgb565_surface) + OPT_DEFS += -DQUANTUM_PAINTER_RGB565_SURFACE_ENABLE + COMMON_VPATH += \ + $(DRIVER_PATH)/painter/generic + SRC += \ + $(DRIVER_PATH)/painter/generic/qp_rgb565_surface.c \ + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),ili9163_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes @@ -72,27 +88,27 @@ define handle_quantum_painter_driver $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ $(DRIVER_PATH)/painter/ili9xxx/qp_ili9488.c \ - else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7789_spi) + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7735_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes - OPT_DEFS += -DQUANTUM_PAINTER_ST7789_ENABLE -DQUANTUM_PAINTER_ST7789_SPI_ENABLE + OPT_DEFS += -DQUANTUM_PAINTER_ST7735_ENABLE -DQUANTUM_PAINTER_ST7735_SPI_ENABLE COMMON_VPATH += \ $(DRIVER_PATH)/painter/tft_panel \ $(DRIVER_PATH)/painter/st77xx SRC += \ $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ - $(DRIVER_PATH)/painter/st77xx/qp_st7789.c + $(DRIVER_PATH)/painter/st77xx/qp_st7735.c - else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7735_spi) + else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),st7789_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes QUANTUM_PAINTER_NEEDS_COMMS_SPI_DC_RESET := yes - OPT_DEFS += -DQUANTUM_PAINTER_ST7735_ENABLE -DQUANTUM_PAINTER_ST7735_SPI_ENABLE + OPT_DEFS += -DQUANTUM_PAINTER_ST7789_ENABLE -DQUANTUM_PAINTER_ST7789_SPI_ENABLE COMMON_VPATH += \ $(DRIVER_PATH)/painter/tft_panel \ $(DRIVER_PATH)/painter/st77xx SRC += \ $(DRIVER_PATH)/painter/tft_panel/qp_tft_panel.c \ - $(DRIVER_PATH)/painter/st77xx/qp_st7735.c + $(DRIVER_PATH)/painter/st77xx/qp_st7789.c else ifeq ($$(strip $$(CURRENT_PAINTER_DRIVER)),gc9a01_spi) QUANTUM_PAINTER_NEEDS_COMMS_SPI := yes diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c index 505a7a6ffd..75bb5f81fc 100644 --- a/quantum/pointing_device/pointing_device.c +++ b/quantum/pointing_device/pointing_device.c @@ -22,6 +22,7 @@ #ifdef MOUSEKEY_ENABLE # include "mousekey.h" #endif + #if (defined(POINTING_DEVICE_ROTATION_90) + defined(POINTING_DEVICE_ROTATION_180) + defined(POINTING_DEVICE_ROTATION_270)) > 1 # error More than one rotation selected. This is not supported. #endif @@ -144,7 +145,11 @@ __attribute__((weak)) void pointing_device_init(void) { { pointing_device_driver.init(); #ifdef POINTING_DEVICE_MOTION_PIN +# ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW setPinInputHigh(POINTING_DEVICE_MOTION_PIN); +# else + setPinInput(POINTING_DEVICE_MOTION_PIN); +# endif #endif } @@ -166,11 +171,9 @@ __attribute__((weak)) void pointing_device_send(void) { host_mouse_send(&local_mouse_report); } // send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device - local_mouse_report.x = 0; - local_mouse_report.y = 0; - local_mouse_report.v = 0; - local_mouse_report.h = 0; - + uint8_t buttons = local_mouse_report.buttons; + memset(&local_mouse_report, 0, sizeof(local_mouse_report)); + local_mouse_report.buttons = buttons; memcpy(&old_report, &local_mouse_report, sizeof(local_mouse_report)); } @@ -238,7 +241,11 @@ __attribute__((weak)) void pointing_device_task(void) { # if defined(SPLIT_POINTING_ENABLE) # error POINTING_DEVICE_MOTION_PIN not supported when sharing the pointing device report between sides. # endif +# ifdef POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW if (!readPin(POINTING_DEVICE_MOTION_PIN)) +# else + if (readPin(POINTING_DEVICE_MOTION_PIN)) +# endif #endif #if defined(SPLIT_POINTING_ENABLE) @@ -270,6 +277,10 @@ __attribute__((weak)) void pointing_device_task(void) { local_mouse_report = pointing_device_adjust_by_defines(local_mouse_report); local_mouse_report = pointing_device_task_kb(local_mouse_report); #endif + // automatic mouse layer function +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + pointing_device_task_auto_mouse(local_mouse_report); +#endif // combine with mouse report to ensure that the combined is sent correctly #ifdef MOUSEKEY_ENABLE report_mouse_t mousekey_report = mousekey_get_report(); @@ -469,3 +480,10 @@ __attribute__((weak)) report_mouse_t pointing_device_task_combined_user(report_m return pointing_device_combine_reports(left_report, right_report); } #endif + +__attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, bool pressed) { + if IS_MOUSEKEY_BUTTON (keycode) { + local_mouse_report.buttons = pointing_device_handle_buttons(local_mouse_report.buttons, pressed, keycode - KC_MS_BTN1); + pointing_device_send(); + } +} diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h index 77db5471ea..d430e6cfa4 100644 --- a/quantum/pointing_device/pointing_device.h +++ b/quantum/pointing_device/pointing_device.h @@ -21,20 +21,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "host.h" #include "report.h" +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE +# include "pointing_device_auto_mouse.h" +#endif + #if defined(POINTING_DEVICE_DRIVER_adns5050) # include "drivers/sensors/adns5050.h" +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_adns9800) # include "spi_master.h" # include "drivers/sensors/adns9800.h" +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_analog_joystick) # include "analog.h" # include "drivers/sensors/analog_joystick.h" +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_i2c) || defined(POINTING_DEVICE_DRIVER_cirque_pinnacle_spi) # include "drivers/sensors/cirque_pinnacle.h" # include "drivers/sensors/cirque_pinnacle_gestures.h" # include "pointing_device_gestures.h" #elif defined(POINTING_DEVICE_DRIVER_paw3204) # include "drivers/sensors/paw3204.h" +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_pimoroni_trackball) # include "i2c_master.h" # include "drivers/sensors/pimoroni_trackball.h" @@ -48,9 +56,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # ifdef PIMORONI_TRACKBALL_ROTATE # define POINTING_DEVICE_ROTATION_90 # endif +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #elif defined(POINTING_DEVICE_DRIVER_pmw3360) || defined(POINTING_DEVICE_DRIVER_pmw3389) # include "spi_master.h" # include "drivers/sensors/pmw33xx_common.h" +# define POINTING_DEVICE_MOTION_PIN_ACTIVE_LOW #else void pointing_device_driver_init(void); report_mouse_t pointing_device_driver_get_report(report_mouse_t mouse_report); @@ -100,6 +110,7 @@ report_mouse_t pointing_device_task_kb(report_mouse_t mouse_report); report_mouse_t pointing_device_task_user(report_mouse_t mouse_report); uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, pointing_device_buttons_t button); report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report); +void pointing_device_keycode_handler(uint16_t keycode, bool pressed); #if defined(SPLIT_POINTING_ENABLE) void pointing_device_set_shared_report(report_mouse_t report); diff --git a/quantum/pointing_device/pointing_device_auto_mouse.c b/quantum/pointing_device/pointing_device_auto_mouse.c new file mode 100644 index 0000000000..edffd44787 --- /dev/null +++ b/quantum/pointing_device/pointing_device_auto_mouse.c @@ -0,0 +1,384 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> + * Copyright 2022 Alabastard + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + +# include "pointing_device_auto_mouse.h" + +/* local data structure for tracking auto mouse */ +static auto_mouse_context_t auto_mouse_context = {.config.layer = (uint8_t)AUTO_MOUSE_DEFAULT_LAYER}; + +/* local functions */ +static bool is_mouse_record(uint16_t keycode, keyrecord_t* record); +static void auto_mouse_reset(void); + +/* check for target layer deactivation overrides */ +static inline bool layer_hold_check(void) { + return get_auto_mouse_toggle() || +# ifndef NO_ACTION_ONESHOT + get_oneshot_layer() == (AUTO_MOUSE_TARGET_LAYER) || +# endif + false; +} + +/* check all layer activation criteria */ +static inline bool is_auto_mouse_active(void) { + return auto_mouse_context.status.is_activated || auto_mouse_context.status.mouse_key_tracker || layer_hold_check(); +} + +/** + * @brief Get auto mouse enable state + * + * Return is_enabled value + * + * @return bool true: auto mouse enabled false: auto mouse disabled + */ +bool get_auto_mouse_enable(void) { + return auto_mouse_context.config.is_enabled; +} + +/** + * @brief get current target layer index + * + * NOTE: (AUTO_MOUSE_TARGET_LAYER) is an alias for this function + * + * @return uint8_t target layer index + */ +uint8_t get_auto_mouse_layer(void) { + return auto_mouse_context.config.layer; +} + +/** + * @brief get layer_toggled value + * + * @return bool of current layer_toggled state + */ +bool get_auto_mouse_toggle(void) { + return auto_mouse_context.status.is_toggled; +} + +/** + * @brief Reset auto mouse context + * + * Clear timers and status + * + * NOTE: this will set is_toggled to false so careful when using it + */ +static void auto_mouse_reset(void) { + memset(&auto_mouse_context.status, 0, sizeof(auto_mouse_context.status)); + memset(&auto_mouse_context.timer, 0, sizeof(auto_mouse_context.timer)); +} + +/** + * @brief Set auto mouse enable state + * + * Set local auto mouse enabled state + * + * @param[in] state bool + */ +void set_auto_mouse_enable(bool enable) { + // skip if unchanged + if (auto_mouse_context.config.is_enabled == enable) return; + auto_mouse_context.config.is_enabled = enable; + auto_mouse_reset(); +} + +/** + * @brief Change target layer for auto mouse + * + * Sets input as the new target layer if different from current and resets auto mouse + * + * NOTE: remove_auto_mouse_layer(state, false) or auto_mouse_layer_off should be called + * before this function to avoid issues with layers getting stuck + * + * @param[in] layer uint8_t + */ +void set_auto_mouse_layer(uint8_t layer) { + // skip if unchanged + if (auto_mouse_context.config.layer == layer) return; + auto_mouse_context.config.layer = layer; + auto_mouse_reset(); +} + +/** + * @brief toggle mouse layer setting + * + * Change state of local layer_toggled bool meant to track when the mouse layer is toggled on by other means + * + * NOTE: While is_toggled is true it will prevent deactiving target layer (but not activation) + */ +void auto_mouse_toggle(void) { + auto_mouse_context.status.is_toggled ^= 1; + auto_mouse_context.timer.delay = 0; +} + +/** + * @brief Remove current auto mouse target layer from layer state + * + * Will remove auto mouse target layer from given layer state if appropriate. + * + * NOTE: Removal can be forced, ignoring appropriate critera + * + * @params state[in] layer_state_t original layer state + * @params force[in] bool force removal + * + * @return layer_state_t modified layer state + */ +layer_state_t remove_auto_mouse_layer(layer_state_t state, bool force) { + if (force || ((AUTO_MOUSE_ENABLED) && !layer_hold_check())) { + state &= ~((layer_state_t)1 << (AUTO_MOUSE_TARGET_LAYER)); + } + return state; +} + +/** + * @brief Disable target layer + * + * Will disable target layer if appropriate. + * NOTE: NOT TO BE USED in layer_state_set stack!!! + */ +void auto_mouse_layer_off(void) { + if (layer_state_is((AUTO_MOUSE_TARGET_LAYER)) && (AUTO_MOUSE_ENABLED) && !layer_hold_check()) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + } +} + +/** + * @brief Weak function to handel testing if pointing_device is active + * + * Will trigger target layer activation(if delay timer has expired) and prevent deactivation when true. + * May be replaced by bool in report_mouse_t in future + * + * NOTE: defined weakly to allow for changing and adding conditions for specific hardware/customization + * + * @param[in] mouse_report report_mouse_t + * @return bool of pointing_device activation + */ +__attribute__((weak)) bool auto_mouse_activation(report_mouse_t mouse_report) { + return mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; +} + +/** + * @brief Update the auto mouse based on mouse_report + * + * Handel activation/deactivation of target layer based on auto_mouse_activation and state timers and local key/layer tracking data + * + * @param[in] mouse_report report_mouse_t + */ +void pointing_device_task_auto_mouse(report_mouse_t mouse_report) { + // skip if disabled, delay timer running, or debounce + if (!(AUTO_MOUSE_ENABLED) || timer_elapsed(auto_mouse_context.timer.active) <= AUTO_MOUSE_DEBOUNCE || timer_elapsed(auto_mouse_context.timer.delay) <= AUTO_MOUSE_DELAY) { + return; + } + // update activation and reset debounce + auto_mouse_context.status.is_activated = auto_mouse_activation(mouse_report); + if (is_auto_mouse_active()) { + auto_mouse_context.timer.active = timer_read(); + auto_mouse_context.timer.delay = 0; + if (!layer_state_is((AUTO_MOUSE_TARGET_LAYER))) { + layer_on((AUTO_MOUSE_TARGET_LAYER)); + } + } else if (layer_state_is((AUTO_MOUSE_TARGET_LAYER)) && timer_elapsed(auto_mouse_context.timer.active) > AUTO_MOUSE_TIME) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + auto_mouse_context.timer.active = 0; + } +} + +/** + * @brief Handle mouskey event + * + * Increments/decrements mouse_key_tracker and restart active timer + * + * @param[in] pressed bool + */ +void auto_mouse_keyevent(bool pressed) { + if (pressed) { + auto_mouse_context.status.mouse_key_tracker++; + } else { + auto_mouse_context.status.mouse_key_tracker--; + } + auto_mouse_context.timer.delay = 0; +} + +/** + * @brief Handle auto mouse non mousekey reset + * + * Start/restart delay timer and reset auto mouse on keydown as well as turn the + * target layer off if on and reset toggle status + * + * NOTE: NOT TO BE USED in layer_state_set stack!!! + * + * @param[in] pressed bool + */ +void auto_mouse_reset_trigger(bool pressed) { + if (pressed) { + if (layer_state_is((AUTO_MOUSE_TARGET_LAYER))) { + layer_off((AUTO_MOUSE_TARGET_LAYER)); + }; + auto_mouse_reset(); + } + auto_mouse_context.timer.delay = timer_read(); +} + +/** + * @brief handle key events processing for auto mouse + * + * Will process keys differently depending on if key is defined as mousekey or not. + * Some keys have built in behaviour(not overwritable): + * mouse buttons : auto_mouse_keyevent() + * non-mouse keys : auto_mouse_reset_trigger() + * mod keys : skip auto mouse key processing + * mod tap : skip on hold (mod keys) + * QK mods e.g. LCTL(kc): default to non-mouse key, add at kb/user level as needed + * non target layer keys: skip auto mouse key processing (same as mod keys) + * MO(target layer) : auto_mouse_keyevent() + * target layer toggles : auto_mouse_toggle() (on both key up and keydown) + * target layer tap : default processing on tap mouse key on hold + * all other keycodes : default to non-mouse key, add at kb/user level as needed + * + * Will deactivate target layer once a non mouse key is pressed if nothing is holding the layer active + * such as held mousekey, toggled current target layer, or auto_mouse_activation is true + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + */ +bool process_auto_mouse(uint16_t keycode, keyrecord_t* record) { + // skip if not enabled or mouse_layer not set + if (!(AUTO_MOUSE_ENABLED)) return true; + + switch (keycode) { + // Skip Mod keys to avoid layer reset + case KC_LEFT_CTRL ... KC_RIGHT_GUI: + case QK_MODS ... QK_MODS_MAX: + break; + // TO((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_TO ... QK_TO_MAX: // same proccessing as next + // TG((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + if (!(record->event.pressed)) auto_mouse_toggle(); + } + break; + // MO((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------- + case QK_MOMENTARY ... QK_MOMENTARY_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + // DF --------------------------------------------------------------------------------------------------------- + case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: +# ifndef NO_ACTION_ONESHOT + // OSL((AUTO_MOUSE_TARGET_LAYER))------------------------------------------------------------------------------ + case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: + case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: +# endif + break; + // LM((AUTO_MOUSE_TARGET_LAYER), mod)-------------------------------------------------------------------------- + case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: + if (((keycode >> 8) & 0x0f) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + break; + // TT((AUTO_MOUSE_TARGET_LAYER))--------------------------------------------------------------------------- +# ifndef NO_ACTION_TAPPING + case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: + if ((keycode & 0xff) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); +# if TAPPING_TOGGLE != 0 + if (record->tap.count == TAPPING_TOGGLE) { + if (record->event.pressed) { + auto_mouse_context.status.mouse_key_tracker--; + } else { + auto_mouse_toggle(); + auto_mouse_context.status.mouse_key_tracker++; + } + } +# endif + } + break; + // LT((AUTO_MOUSE_TARGET_LAYER), kc)--------------------------------------------------------------------------- + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + if (!record->tap.count) { + if (((keycode >> 8) & 0x0f) == (AUTO_MOUSE_TARGET_LAYER)) { + auto_mouse_keyevent(record->event.pressed); + } + break; + } + // MT(kc) only skip on hold + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + if (!record->tap.count) break; +# endif + // QK_MODS goes to default + default: + // skip on no event + if (IS_NOEVENT(record->event)) break; + // check if keyrecord is mousekey + if (is_mouse_record(keycode, record)) { + auto_mouse_keyevent(record->event.pressed); + } else if (!is_auto_mouse_active()) { + // all non-mousekey presses restart delay timer and reset status + auto_mouse_reset_trigger(record->event.pressed); + } + } + if (auto_mouse_context.status.mouse_key_tracker < 0) { + auto_mouse_context.status.mouse_key_tracker = 0; + dprintf("key tracker error (<0) \n"); + } + return true; +} + +/** + * @brief Local function to handle checking if a keycode is a mouse button + * + * Starts code stack for checking keyrecord if defined as mousekey + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is mousekey false: keyrecord is not mousekey + */ +static bool is_mouse_record(uint16_t keycode, keyrecord_t* record) { + // allow for keyboard to hook in and override if need be + if (is_mouse_record_kb(keycode, record) || IS_MOUSEKEY(keycode)) return true; + return false; +} + +/** + * @brief Weakly defined keyboard level callback for adding keyrecords as mouse keys + * + * Meant for redefinition at keyboard level and should return is_mouse_record_user by default at end of function + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is defined as mouse key false: keyrecord is not defined as mouse key + */ +__attribute__((weak)) bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { + return is_mouse_record_user(keycode, record); +} + +/** + * @brief Weakly defined keymap/user level callback for adding keyrecords as mouse keys + * + * Meant for redefinition at keymap/user level and should return false by default at end of function + * + * @params keycode[in] uint16_t + * @params record[in] keyrecord_t pointer + * @return bool true: keyrecord is defined as mouse key false: keyrecord is not defined as mouse key + */ +__attribute__((weak)) bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record) { + return false; +} + +#endif // POINTING_DEVICE_AUTO_MOUSE_ENABLE diff --git a/quantum/pointing_device/pointing_device_auto_mouse.h b/quantum/pointing_device/pointing_device_auto_mouse.h new file mode 100644 index 0000000000..0f26af79e6 --- /dev/null +++ b/quantum/pointing_device/pointing_device_auto_mouse.h @@ -0,0 +1,87 @@ +/* Copyright 2022 Alabastard + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include <string.h> + +#include "quantum.h" +#include "pointing_device.h" +#include "print.h" + +/* check settings and set defaults */ +#ifndef POINTING_DEVICE_AUTO_MOUSE_ENABLE +# error "POINTING_DEVICE_AUTO_MOUSE_ENABLE not defined! check config settings" +#endif + +#ifndef AUTO_MOUSE_DEFAULT_LAYER +# define AUTO_MOUSE_DEFAULT_LAYER 1 +#endif +#ifndef AUTO_MOUSE_TIME +# define AUTO_MOUSE_TIME 650 +#endif +#ifndef AUTO_MOUSE_DELAY +# define AUTO_MOUSE_DELAY GET_TAPPING_TERM(KC_MS_BTN1, &(keyrecord_t){}) +#endif +#ifndef AUTO_MOUSE_DEBOUNCE +# define AUTO_MOUSE_DEBOUNCE 25 +#endif + +/* data structure */ +typedef struct { + struct { + bool is_enabled; + uint8_t layer; + } config; + struct { + uint16_t active; + uint16_t delay; + } timer; + struct { + bool is_activated; + bool is_toggled; + int8_t mouse_key_tracker; + } status; +} auto_mouse_context_t; + +/* ----------Set up and control------------------------------------------------------------------------------ */ +void set_auto_mouse_enable(bool enable); // enable/disable auto mouse feature +bool get_auto_mouse_enable(void); // get auto_mouse_enable +void set_auto_mouse_layer(uint8_t layer); // set target layer by index +uint8_t get_auto_mouse_layer(void); // get target layer index +void auto_mouse_layer_off(void); // disable target layer if appropriate (DO NOT USE in layer_state_set stack!!) +layer_state_t remove_auto_mouse_layer(layer_state_t state, bool force); // remove auto mouse target layer from state if appropriate (can be forced) + +/* ----------For custom pointing device activation----------------------------------------------------------- */ +bool auto_mouse_activation(report_mouse_t mouse_report); // handles pointing device trigger conditions for target layer activation (overwritable) + +/* ----------Handling keyevents------------------------------------------------------------------------------ */ +void auto_mouse_keyevent(bool pressed); // trigger auto mouse keyevent: mouse_keytracker increment/decrement on press/release +void auto_mouse_reset_trigger(bool pressed); // trigger non mouse keyevent: reset and start delay timer (DO NOT USE in layer_state_set stack!!) +void auto_mouse_toggle(void); // toggle mouse layer flag disables mouse layer deactivation while on (meant for tap toggle or toggle of target) +bool get_auto_mouse_toggle(void); // get toggle mouse layer flag value + +/* ----------Callbacks for adding keycodes to mouse record checking------------------------------------------ */ +bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record); +bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record); + +/* ----------Core functions (only used in custom pointing devices or key processing)------------------------- */ +void pointing_device_task_auto_mouse(report_mouse_t mouse_report); // add to pointing_device_task_* +bool process_auto_mouse(uint16_t keycode, keyrecord_t* record); // add to process_record_* + +/* ----------Macros/Aliases---------------------------------------------------------------------------------- */ +#define AUTO_MOUSE_TARGET_LAYER get_auto_mouse_layer() +#define AUTO_MOUSE_ENABLED get_auto_mouse_enable() diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c index b96f8ff4b3..172c9f36d7 100644 --- a/quantum/pointing_device/pointing_device_drivers.c +++ b/quantum/pointing_device/pointing_device_drivers.c @@ -17,6 +17,7 @@ */ #include "pointing_device.h" +#include "pointing_device_internal.h" #include "debug.h" #include "wait.h" #include "timer.h" @@ -32,10 +33,7 @@ report_mouse_t adns5050_get_report(report_mouse_t mouse_report) { report_adns5050_t data = adns5050_read_burst(); if (data.dx != 0 || data.dy != 0) { -# ifdef CONSOLE_ENABLE - if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); -# endif - + pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy); mouse_report.x = (mouse_xy_report_t)data.dx; mouse_report.y = (mouse_xy_report_t)data.dy; } @@ -76,9 +74,7 @@ const pointing_device_driver_t pointing_device_driver = { report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) { report_analog_joystick_t data = analog_joystick_read(); -# ifdef CONSOLE_ENABLE - if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); -# endif + pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); mouse_report.x = data.x; mouse_report.y = data.y; @@ -117,12 +113,24 @@ void cirque_pinnacle_configure_cursor_glide(float trigger_px) { # endif # if CIRQUE_PINNACLE_POSITION_MODE + +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE +static bool is_touch_down; + +bool auto_mouse_activation(report_mouse_t mouse_report) { + return is_touch_down || mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons; +} +# endif + report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { pinnacle_data_t touchData = cirque_pinnacle_read_data(); mouse_xy_report_t report_x = 0, report_y = 0; static uint16_t x = 0, y = 0; +# if defined(CIRQUE_PINNACLE_TAP_ENABLE) + mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1); +# endif # ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE - cursor_glide_t glide_report = {0}; + cursor_glide_t glide_report = {0}; if (cursor_glide_enable) { glide_report = cursor_glide_check(&glide); @@ -140,10 +148,12 @@ report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) { return mouse_report; } -# if CONSOLE_ENABLE - if (debug_mouse && touchData.touchDown) { - dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue); + if (touchData.touchDown) { + pd_dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue); } + +# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE + is_touch_down = touchData.touchDown; # endif // Scale coordinates to arbitrary X, Y resolution @@ -227,9 +237,7 @@ const pointing_device_driver_t pointing_device_driver = { report_mouse_t paw3204_get_report(report_mouse_t mouse_report) { report_paw3204_t data = paw3204_read(); if (data.isMotion) { -# ifdef CONSOLE_ENABLE - dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); -# endif + pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y); mouse_report.x = data.x; mouse_report.y = data.y; @@ -329,7 +337,7 @@ report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report) { if (!in_motion) { in_motion = true; - dprintf("PWM3360 (0): starting motion\n"); + pd_dprintf("PWM3360 (0): starting motion\n"); } mouse_report.x = CONSTRAIN_HID_XY(report.delta_x); diff --git a/quantum/pointing_device_internal.h b/quantum/pointing_device_internal.h new file mode 100644 index 0000000000..ef649407ca --- /dev/null +++ b/quantum/pointing_device_internal.h @@ -0,0 +1,14 @@ +// Copyright 2022 Stefan Kerkmann +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef POINTING_DEVICE_DEBUG +# include "debug.h" +# include "print.h" +# define pd_dprintf(...) dprintf(__VA_ARGS__) +#else +# define pd_dprintf(...) \ + do { \ + } while (0) +#endif diff --git a/quantum/process_keycode/autocorrect_data_default.h b/quantum/process_keycode/autocorrect_data_default.h new file mode 100644 index 0000000000..bfc29666df --- /dev/null +++ b/quantum/process_keycode/autocorrect_data_default.h @@ -0,0 +1,85 @@ +// Generated code. + +// Autocorrection dictionary (70 entries): +// :guage -> gauge +// :the:the: -> the +// :thier -> their +// :ture -> true +// accomodate -> accommodate +// acommodate -> accommodate +// aparent -> apparent +// aparrent -> apparent +// apparant -> apparent +// apparrent -> apparent +// aquire -> acquire +// becuase -> because +// cauhgt -> caught +// cheif -> chief +// choosen -> chosen +// cieling -> ceiling +// collegue -> colleague +// concensus -> consensus +// contians -> contains +// cosnt -> const +// dervied -> derived +// fales -> false +// fasle -> false +// fitler -> filter +// flase -> false +// foward -> forward +// frequecy -> frequency +// gaurantee -> guarantee +// guaratee -> guarantee +// heigth -> height +// heirarchy -> hierarchy +// inclued -> include +// interator -> iterator +// intput -> input +// invliad -> invalid +// lenght -> length +// liasion -> liaison +// libary -> library +// listner -> listener +// looses: -> loses +// looup -> lookup +// manefist -> manifest +// namesapce -> namespace +// namespcae -> namespace +// occassion -> occasion +// occured -> occurred +// ouptut -> output +// ouput -> output +// overide -> override +// postion -> position +// priviledge -> privilege +// psuedo -> pseudo +// recieve -> receive +// refered -> referred +// relevent -> relevant +// repitition -> repetition +// retrun -> return +// retun -> return +// reuslt -> result +// reutrn -> return +// saftey -> safety +// seperate -> separate +// singed -> signed +// stirng -> string +// strign -> string +// swithc -> switch +// swtich -> switch +// thresold -> threshold +// udpate -> update +// widht -> width + +#define AUTOCORRECT_MIN_LENGTH 5 // ":ture" +#define AUTOCORRECT_MAX_LENGTH 10 // "accomodate" + +#define DICTIONARY_SIZE 1104 + +static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = {108, 43, 0, 6, 71, 0, 7, 81, 0, 8, 199, 0, 9, 240, 1, 10, 250, 1, 11, 26, 2, 17, 53, 2, 18, 190, 2, 19, 202, 2, 21, 212, 2, 22, 20, 3, 23, 67, 3, 28, 16, 4, 0, 72, 50, 0, 22, 60, 0, 0, 11, 23, 44, 8, 11, 23, 44, 0, 132, 0, 8, 22, 18, 18, 15, 0, 132, 115, 101, 115, 0, 11, 23, 12, 26, 22, 0, 129, 99, 104, 0, 68, 94, 0, 8, 106, 0, 15, 174, 0, 21, 187, 0, 0, 12, 15, 25, 17, 12, 0, 131, 97, 108, 105, 100, 0, 74, 119, 0, 12, 129, 0, 21, 140, 0, 24, 165, 0, 0, 17, 12, 22, 0, 131, 103, 110, 101, 100, 0, 25, 21, 8, 7, 0, 131, 105, 118, 101, 100, 0, 72, 147, 0, 24, 156, 0, 0, 9, 8, 21, 0, 129, 114, 101, 100, 0, 6, 6, 18, 0, 129, 114, 101, 100, 0, 15, 6, 17, 12, 0, 129, 100, 101, 0, 18, 22, 8, 21, 11, 23, 0, 130, 104, 111, + 108, 100, 0, 4, 26, 18, 9, 0, 131, 114, 119, 97, 114, 100, 0, 68, 233, 0, 6, 246, 0, 7, 4, 1, 8, 16, 1, 10, 52, 1, 15, 81, 1, 21, 90, 1, 22, 117, 1, 23, 144, 1, 24, 215, 1, 25, 228, 1, 0, 6, 19, 22, 8, 16, 4, 17, 0, 130, 97, 99, 101, 0, 19, 4, 22, 8, 16, 4, 17, 0, 131, 112, 97, 99, 101, 0, 12, 21, 8, 25, 18, 0, 130, 114, 105, 100, 101, 0, 23, 0, 68, 25, 1, 17, 36, 1, 0, 21, 4, 24, 10, 0, 130, 110, 116, 101, 101, 0, 4, 21, 24, 4, 10, 0, 135, 117, 97, 114, 97, 110, 116, 101, 101, 0, 68, 59, 1, 7, 69, 1, 0, 24, 10, 44, 0, 131, 97, 117, 103, 101, 0, 8, 15, 12, 25, 12, 21, 19, 0, 130, 103, 101, 0, 22, 4, 9, 0, 130, 108, 115, 101, 0, 76, 97, 1, 24, 109, 1, 0, 24, 20, 4, 0, 132, 99, 113, 117, 105, 114, 101, 0, 23, 44, 0, + 130, 114, 117, 101, 0, 4, 0, 79, 126, 1, 24, 134, 1, 0, 9, 0, 131, 97, 108, 115, 101, 0, 6, 8, 5, 0, 131, 97, 117, 115, 101, 0, 4, 0, 71, 156, 1, 19, 193, 1, 21, 203, 1, 0, 18, 16, 0, 80, 166, 1, 18, 181, 1, 0, 18, 6, 4, 0, 135, 99, 111, 109, 109, 111, 100, 97, 116, 101, 0, 6, 6, 4, 0, 132, 109, 111, 100, 97, 116, 101, 0, 7, 24, 0, 132, 112, 100, 97, 116, 101, 0, 8, 19, 8, 22, 0, 132, 97, 114, 97, 116, 101, 0, 10, 8, 15, 15, 18, 6, 0, 130, 97, 103, 117, 101, 0, 8, 12, 6, 8, 21, 0, 131, 101, 105, 118, 101, 0, 12, 8, 11, 6, 0, 130, 105, 101, 102, 0, 17, 0, 76, 3, 2, 21, 16, 2, 0, 15, 8, 12, 6, 0, 133, 101, 105, 108, 105, 110, 103, 0, 12, 23, 22, 0, 131, 114, 105, 110, 103, 0, 70, 33, 2, 23, 44, 2, 0, 12, 23, 26, 22, 0, 131, 105, + 116, 99, 104, 0, 10, 12, 8, 11, 0, 129, 104, 116, 0, 72, 69, 2, 10, 80, 2, 18, 89, 2, 21, 156, 2, 24, 167, 2, 0, 22, 18, 18, 11, 6, 0, 131, 115, 101, 110, 0, 12, 21, 23, 22, 0, 129, 110, 103, 0, 12, 0, 86, 98, 2, 23, 124, 2, 0, 68, 105, 2, 22, 114, 2, 0, 12, 15, 0, 131, 105, 115, 111, 110, 0, 4, 6, 6, 18, 0, 131, 105, 111, 110, 0, 76, 131, 2, 22, 146, 2, 0, 23, 12, 19, 8, 21, 0, 134, 101, 116, 105, 116, 105, 111, 110, 0, 18, 19, 0, 131, 105, 116, 105, 111, 110, 0, 23, 24, 8, 21, 0, 131, 116, 117, 114, 110, 0, 85, 174, 2, 23, 183, 2, 0, 23, 8, 21, 0, 130, 117, 114, 110, 0, 8, 21, 0, 128, 114, 110, 0, 7, 8, 24, 22, 19, 0, 131, 101, 117, 100, 111, 0, 24, 18, 18, 15, 0, 129, 107, 117, 112, 0, 72, 219, 2, 18, 3, 3, 0, 76, 229, 2, 15, 238, + 2, 17, 248, 2, 0, 11, 23, 44, 0, 130, 101, 105, 114, 0, 23, 12, 9, 0, 131, 108, 116, 101, 114, 0, 23, 22, 12, 15, 0, 130, 101, 110, 101, 114, 0, 23, 4, 21, 8, 23, 17, 12, 0, 135, 116, 101, 114, 97, 116, 111, 114, 0, 72, 30, 3, 17, 38, 3, 24, 51, 3, 0, 15, 4, 9, 0, 129, 115, 101, 0, 4, 12, 23, 17, 18, 6, 0, 131, 97, 105, 110, 115, 0, 22, 17, 8, 6, 17, 18, 6, 0, 133, 115, 101, 110, 115, 117, 115, 0, 74, 86, 3, 11, 96, 3, 15, 118, 3, 17, 129, 3, 22, 218, 3, 24, 232, 3, 0, 11, 24, 4, 6, 0, 130, 103, 104, 116, 0, 71, 103, 3, 10, 110, 3, 0, 12, 26, 0, 129, 116, 104, 0, 17, 8, 15, 0, 129, 116, 104, 0, 22, 24, 8, 21, 0, 131, 115, 117, 108, 116, 0, 68, 139, 3, 8, 150, 3, 22, 210, 3, 0, 21, 4, 19, 19, 4, 0, 130, 101, 110, 116, 0, 85, 157, + 3, 25, 200, 3, 0, 68, 164, 3, 21, 175, 3, 0, 19, 4, 0, 132, 112, 97, 114, 101, 110, 116, 0, 4, 19, 0, 68, 185, 3, 19, 193, 3, 0, 133, 112, 97, 114, 101, 110, 116, 0, 4, 0, 131, 101, 110, 116, 0, 8, 15, 8, 21, 0, 130, 97, 110, 116, 0, 18, 6, 0, 130, 110, 115, 116, 0, 12, 9, 8, 17, 4, 16, 0, 132, 105, 102, 101, 115, 116, 0, 83, 239, 3, 23, 6, 4, 0, 87, 246, 3, 24, 254, 3, 0, 17, 12, 0, 131, 112, 117, 116, 0, 18, 0, 130, 116, 112, 117, 116, 0, 19, 24, 18, 0, 131, 116, 112, 117, 116, 0, 70, 29, 4, 8, 41, 4, 11, 51, 4, 21, 69, 4, 0, 8, 24, 20, 8, 21, 9, 0, 129, 110, 99, 121, 0, 23, 9, 4, 22, 0, 130, 101, 116, 121, 0, 6, 21, 4, 21, 12, 8, 11, 0, 135, 105, 101, 114, 97, 114, 99, 104, 121, 0, 4, 5, 12, 15, 0, 130, 114, 97, 114, 121, 0}; diff --git a/quantum/process_keycode/process_auto_shift.c b/quantum/process_keycode/process_auto_shift.c index 3ff188ba7e..644ad2cbaf 100644 --- a/quantum/process_keycode/process_auto_shift.c +++ b/quantum/process_keycode/process_auto_shift.c @@ -17,7 +17,6 @@ #ifdef AUTO_SHIFT_ENABLE # include <stdbool.h> -# include <stdio.h> # include "process_auto_shift.h" # ifndef AUTO_SHIFT_DISABLED_AT_STARTUP @@ -331,11 +330,12 @@ void autoshift_disable(void) { # ifndef AUTO_SHIFT_NO_SETUP void autoshift_timer_report(void) { # ifdef SEND_STRING_ENABLE - char display[8]; - - snprintf(display, 8, "\n%d\n", autoshift_timeout); - - send_string((const char *)display); + const char *autoshift_timeout_str = get_u16_str(autoshift_timeout, ' '); + // Skip padding spaces + while (*autoshift_timeout_str == ' ') { + autoshift_timeout_str++; + } + send_string(autoshift_timeout_str); # endif } # endif diff --git a/users/drashna/keyrecords/autocorrection/autocorrection.c b/quantum/process_keycode/process_autocorrect.c index 90fdba8f5e..abae5e7811 100644 --- a/users/drashna/keyrecords/autocorrection/autocorrection.c +++ b/quantum/process_keycode/process_autocorrect.c @@ -3,26 +3,16 @@ // SPDX-License-Identifier: Apache-2.0 // Original source: https://getreuer.info/posts/keyboards/autocorrection -#include "autocorrection.h" +#include "process_autocorrect.h" #include <string.h> +#include "keycode_config.h" -#if __has_include("autocorrection_data.h") -# pragma GCC push_options -# pragma GCC optimize("O0") -# include "autocorrection_data.h" -# ifndef AUTOCORRECTION_MIN_LENGTH -# define AUTOCORRECTION_MIN_LENGTH AUTOCORRECT_MIN_LENGTH -# endif -# ifndef AUTOCORRECTION_MAX_LENGTH -# define AUTOCORRECTION_MAX_LENGTH AUTOCORRECT_MAX_LENGTH -# endif -# define autocorrection_data autocorrect_data -# if AUTOCORRECTION_MIN_LENGTH < 4 -# error Minimum Length is too short and may cause overflows -# endif -# if DICTIONARY_SIZE > SIZE_MAX -# error Dictionary size excees maximum size permitted -# endif +#if __has_include("autocorrect_data.h") +# include "autocorrect_data.h" +#else +# pragma message "Autocorrect is using the default library." +# include "autocorrect_data_default.h" +#endif static uint8_t typo_buffer[AUTOCORRECT_MAX_LENGTH] = {KC_SPC}; static uint8_t typo_buffer_size = 1; @@ -34,7 +24,7 @@ static uint8_t typo_buffer_size = 1; * @return false if disabled */ bool autocorrect_is_enabled(void) { - return userspace_config.autocorrection; + return keymap_config.autocorrect_enable; } /** @@ -42,8 +32,8 @@ bool autocorrect_is_enabled(void) { * */ void autocorrect_enable(void) { - userspace_config.autocorrection = true; - eeconfig_update_user(userspace_config.raw); + keymap_config.autocorrect_enable = true; + eeconfig_update_keymap(keymap_config.raw); } /** @@ -51,9 +41,9 @@ void autocorrect_enable(void) { * */ void autocorrect_disable(void) { - userspace_config.autocorrection = false; - typo_buffer_size = 0; - eeconfig_update_user(userspace_config.raw); + keymap_config.autocorrect_enable = false; + typo_buffer_size = 0; + eeconfig_update_keymap(keymap_config.raw); } /** @@ -61,9 +51,9 @@ void autocorrect_disable(void) { * */ void autocorrect_toggle(void) { - userspace_config.autocorrection = !userspace_config.autocorrection; - typo_buffer_size = 0; - eeconfig_update_user(userspace_config.raw); + keymap_config.autocorrect_enable = !keymap_config.autocorrect_enable; + typo_buffer_size = 0; + eeconfig_update_keymap(keymap_config.raw); } /** @@ -98,15 +88,15 @@ __attribute__((weak)) bool process_autocorrect_user(uint16_t *keycode, keyrecord } *keycode &= 0xFF; // Get the basic keycode. return true; -# ifndef NO_ACTION_TAPPING +#ifndef NO_ACTION_TAPPING // Exclude tap-hold keys when they are held down // and mask for base keycode when they are tapped. case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: -# ifdef NO_ACTION_LAYER +# ifdef NO_ACTION_LAYER // Exclude Layer Tap, if layers are disabled // but action tapping is still enabled. return false; -# endif +# endif case QK_MOD_TAP ... QK_MOD_TAP_MAX: // Exclude hold keycode if (!record->tap.count) { @@ -114,25 +104,25 @@ __attribute__((weak)) bool process_autocorrect_user(uint16_t *keycode, keyrecord } *keycode &= 0xFF; break; -# else +#else case QK_MOD_TAP ... QK_MOD_TAP_MAX: case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: // Exclude if disabled return false; -# endif +#endif // Exclude swap hands keys when they are held down // and mask for base keycode when they are tapped. case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: -# ifdef SWAP_HANDS_ENABLE +#ifdef SWAP_HANDS_ENABLE if (*keycode >= 0x56F0 || !record->tap.count) { return false; } *keycode &= 0xFF; break; -# else +#else // Exclude if disabled return false; -# endif +#endif } // Disable autocorrect while a mod other than shift is active. @@ -164,11 +154,11 @@ __attribute__((weak)) bool apply_autocorrect(uint8_t backspaces, const char *str * @return true Continue processing keycodes, and send to host * @return false Stop processing keycodes, and don't send to host */ -bool process_autocorrection(uint16_t keycode, keyrecord_t *record) { +bool process_autocorrect(uint16_t keycode, keyrecord_t *record) { uint8_t mods = get_mods(); -# ifndef NO_ACTION_ONESHOT +#ifndef NO_ACTION_ONESHOT mods |= get_oneshot_mods(); -# endif +#endif if ((keycode >= AUTOCORRECT_ON && keycode <= AUTOCORRECT_TOGGLE) && record->event.pressed) { if (keycode == AUTOCORRECT_ON) { @@ -184,7 +174,7 @@ bool process_autocorrection(uint16_t keycode, keyrecord_t *record) { return false; } - if (!autocorrect_is_enabled()) { + if (!keymap_config.autocorrect_enable) { typo_buffer_size = 0; return true; } @@ -295,10 +285,3 @@ bool process_autocorrection(uint16_t keycode, keyrecord_t *record) { } return true; } -# pragma GCC pop_options -#else -# pragma message "Warning!!! Autocorrect is not corretly setup!" -bool process_autocorrection(uint16_t keycode, keyrecord_t* record) { - return true; -} -#endif diff --git a/users/drashna/keyrecords/autocorrection/autocorrection.h b/quantum/process_keycode/process_autocorrect.h index 8946b91f1f..c7596107e5 100644 --- a/users/drashna/keyrecords/autocorrection/autocorrection.h +++ b/quantum/process_keycode/process_autocorrect.h @@ -5,9 +5,9 @@ #pragma once -#include "drashna.h" +#include "quantum.h" -bool process_autocorrection(uint16_t keycode, keyrecord_t *record); +bool process_autocorrect(uint16_t keycode, keyrecord_t *record); bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods); bool apply_autocorrect(uint8_t backspaces, const char *str); diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c index a7555fdd40..41207092a9 100644 --- a/quantum/process_keycode/process_dynamic_macro.c +++ b/quantum/process_keycode/process_dynamic_macro.c @@ -45,6 +45,10 @@ __attribute__((weak)) void dynamic_macro_record_end_user(int8_t direction) { dynamic_macro_led_blink(); } +__attribute__((weak)) bool dynamic_macro_valid_key_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + /* Convenience macros used for retrieving the debug info. All of them * need a `direction` variable accessible at the call site. */ @@ -252,14 +256,16 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) { return false; #endif default: - /* Store the key in the macro buffer and process it normally. */ - switch (macro_id) { - case 1: - dynamic_macro_record_key(macro_buffer, ¯o_pointer, r_macro_end, +1, record); - break; - case 2: - dynamic_macro_record_key(r_macro_buffer, ¯o_pointer, macro_end, -1, record); - break; + if (dynamic_macro_valid_key_user(keycode, record)) { + /* Store the key in the macro buffer and process it normally. */ + switch (macro_id) { + case 1: + dynamic_macro_record_key(macro_buffer, ¯o_pointer, r_macro_end, +1, record); + break; + case 2: + dynamic_macro_record_key(r_macro_buffer, ¯o_pointer, macro_end, -1, record); + break; + } } return true; break; diff --git a/quantum/process_keycode/process_joystick.c b/quantum/process_keycode/process_joystick.c index e867606074..af69d3aa05 100644 --- a/quantum/process_keycode/process_joystick.c +++ b/quantum/process_keycode/process_joystick.c @@ -1,10 +1,21 @@ -#include "joystick.h" -#include "process_joystick.h" - -#include "analog.h" +/* 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 <http://www.gnu.org/licenses/>. + */ -#include <string.h> -#include <math.h> +#include "process_joystick.h" +#include "joystick.h" bool process_joystick(uint16_t keycode, keyrecord_t *record) { switch (keycode) { @@ -18,132 +29,3 @@ bool process_joystick(uint16_t keycode, keyrecord_t *record) { } return true; } - -__attribute__((weak)) void joystick_task(void) { - if (process_joystick_analogread()) { - joystick_flush(); - } -} - -uint16_t savePinState(pin_t pin) { -#ifdef __AVR__ - uint8_t pinNumber = pin & 0xF; - return ((PORTx_ADDRESS(pin) >> pinNumber) & 0x1) << 1 | ((DDRx_ADDRESS(pin) >> pinNumber) & 0x1); -#elif defined(PROTOCOL_CHIBIOS) - /* - The pin configuration is backed up in the following format : - bit 15 9 8 7 6 5 4 3 2 1 0 - |unused|ODR|IDR|PUPDR|OSPEEDR|OTYPER|MODER| - */ - return ((PAL_PORT(pin)->MODER >> (2 * PAL_PAD(pin))) & 0x3) | (((PAL_PORT(pin)->OTYPER >> (1 * PAL_PAD(pin))) & 0x1) << 2) | (((PAL_PORT(pin)->OSPEEDR >> (2 * PAL_PAD(pin))) & 0x3) << 3) | (((PAL_PORT(pin)->PUPDR >> (2 * PAL_PAD(pin))) & 0x3) << 5) | (((PAL_PORT(pin)->IDR >> (1 * PAL_PAD(pin))) & 0x1) << 7) | (((PAL_PORT(pin)->ODR >> (1 * PAL_PAD(pin))) & 0x1) << 8); -#else - return 0; -#endif -} - -void restorePinState(pin_t pin, uint16_t restoreState) { -#if defined(PROTOCOL_LUFA) - uint8_t pinNumber = pin & 0xF; - PORTx_ADDRESS(pin) = (PORTx_ADDRESS(pin) & ~_BV(pinNumber)) | (((restoreState >> 1) & 0x1) << pinNumber); - DDRx_ADDRESS(pin) = (DDRx_ADDRESS(pin) & ~_BV(pinNumber)) | ((restoreState & 0x1) << pinNumber); -#elif defined(PROTOCOL_CHIBIOS) - PAL_PORT(pin)->MODER = (PAL_PORT(pin)->MODER & ~(0x3 << (2 * PAL_PAD(pin)))) | (restoreState & 0x3) << (2 * PAL_PAD(pin)); - PAL_PORT(pin)->OTYPER = (PAL_PORT(pin)->OTYPER & ~(0x1 << (1 * PAL_PAD(pin)))) | ((restoreState >> 2) & 0x1) << (1 * PAL_PAD(pin)); - PAL_PORT(pin)->OSPEEDR = (PAL_PORT(pin)->OSPEEDR & ~(0x3 << (2 * PAL_PAD(pin)))) | ((restoreState >> 3) & 0x3) << (2 * PAL_PAD(pin)); - PAL_PORT(pin)->PUPDR = (PAL_PORT(pin)->PUPDR & ~(0x3 << (2 * PAL_PAD(pin)))) | ((restoreState >> 5) & 0x3) << (2 * PAL_PAD(pin)); - PAL_PORT(pin)->IDR = (PAL_PORT(pin)->IDR & ~(0x1 << (1 * PAL_PAD(pin)))) | ((restoreState >> 7) & 0x1) << (1 * PAL_PAD(pin)); - PAL_PORT(pin)->ODR = (PAL_PORT(pin)->ODR & ~(0x1 << (1 * PAL_PAD(pin)))) | ((restoreState >> 8) & 0x1) << (1 * PAL_PAD(pin)); -#else - return; -#endif -} - -__attribute__((weak)) bool process_joystick_analogread() { - return process_joystick_analogread_quantum(); -} - -bool process_joystick_analogread_quantum() { -#if JOYSTICK_AXES_COUNT > 0 - for (int axis_index = 0; axis_index < JOYSTICK_AXES_COUNT; ++axis_index) { - if (joystick_axes[axis_index].input_pin == JS_VIRTUAL_AXIS) { - continue; - } - - // save previous input pin status as well - uint16_t inputSavedState = savePinState(joystick_axes[axis_index].input_pin); - - // disable pull-up resistor - writePinLow(joystick_axes[axis_index].input_pin); - - // if pin was a pull-up input, we need to uncharge it by turning it low - // before making it a low input - setPinOutput(joystick_axes[axis_index].input_pin); - - wait_us(10); - - // save and apply output pin status - uint16_t outputSavedState = 0; - if (joystick_axes[axis_index].output_pin != JS_VIRTUAL_AXIS) { - // save previous output pin status - outputSavedState = savePinState(joystick_axes[axis_index].output_pin); - - setPinOutput(joystick_axes[axis_index].output_pin); - writePinHigh(joystick_axes[axis_index].output_pin); - } - - uint16_t groundSavedState = 0; - if (joystick_axes[axis_index].ground_pin != JS_VIRTUAL_AXIS) { - // save previous output pin status - groundSavedState = savePinState(joystick_axes[axis_index].ground_pin); - - setPinOutput(joystick_axes[axis_index].ground_pin); - writePinLow(joystick_axes[axis_index].ground_pin); - } - - wait_us(10); - - setPinInput(joystick_axes[axis_index].input_pin); - - wait_us(10); - -# if defined(ANALOG_JOYSTICK_ENABLE) && (defined(__AVR__) || defined(PROTOCOL_CHIBIOS)) - int16_t axis_val = analogReadPin(joystick_axes[axis_index].input_pin); -# else - // default to resting position - int16_t axis_val = joystick_axes[axis_index].mid_digit; -# endif - - // test the converted value against the lower range - int32_t ref = joystick_axes[axis_index].mid_digit; - int32_t range = joystick_axes[axis_index].min_digit; - int32_t ranged_val = ((axis_val - ref) * -JOYSTICK_RESOLUTION) / (range - ref); - - if (ranged_val > 0) { - // the value is in the higher range - range = joystick_axes[axis_index].max_digit; - ranged_val = ((axis_val - ref) * JOYSTICK_RESOLUTION) / (range - ref); - } - - // clamp the result in the valid range - ranged_val = ranged_val < -JOYSTICK_RESOLUTION ? -JOYSTICK_RESOLUTION : ranged_val; - ranged_val = ranged_val > JOYSTICK_RESOLUTION ? JOYSTICK_RESOLUTION : ranged_val; - - if (ranged_val != joystick_status.axes[axis_index]) { - joystick_status.axes[axis_index] = ranged_val; - joystick_status.status |= JS_UPDATED; - } - - // restore output, ground and input status - if (joystick_axes[axis_index].output_pin != JS_VIRTUAL_AXIS) { - restorePinState(joystick_axes[axis_index].output_pin, outputSavedState); - } - if (joystick_axes[axis_index].ground_pin != JS_VIRTUAL_AXIS) { - restorePinState(joystick_axes[axis_index].ground_pin, groundSavedState); - } - - restorePinState(joystick_axes[axis_index].input_pin, inputSavedState); - } - -#endif - return true; -} diff --git a/quantum/process_keycode/process_joystick.h b/quantum/process_keycode/process_joystick.h index 7a8b82913a..1fb8757708 100644 --- a/quantum/process_keycode/process_joystick.h +++ b/quantum/process_keycode/process_joystick.h @@ -1,11 +1,22 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include <stdint.h> #include "quantum.h" bool process_joystick(uint16_t keycode, keyrecord_t *record); - -void joystick_task(void); - -bool process_joystick_analogread(void); -bool process_joystick_analogread_quantum(void); diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c index ae00b3227a..3593f75f0d 100644 --- a/quantum/process_keycode/process_leader.c +++ b/quantum/process_keycode/process_leader.c @@ -58,7 +58,7 @@ bool process_leader(uint16_t keycode, keyrecord_t *record) { keycode = keycode & 0xFF; } # endif // LEADER_KEY_STRICT_KEY_PROCESSING - if (leader_sequence_size < (sizeof(leader_sequence) / sizeof(leader_sequence[0]))) { + if (leader_sequence_size < ARRAY_SIZE(leader_sequence)) { leader_sequence[leader_sequence_size] = keycode; leader_sequence_size++; } else { diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 3270a1b000..6e8e596673 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -115,12 +115,12 @@ static inline void process_tap_dance_action_on_dance_finished(qk_tap_dance_actio } } -void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { +bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { qk_tap_dance_action_t *action; - if (!record->event.pressed) return; + if (!record->event.pressed) return false; - if (!active_td || keycode == active_td) return; + if (!active_td || keycode == active_td) return false; action = &tap_dance_actions[TD_INDEX(active_td)]; action->state.interrupted = true; @@ -130,6 +130,12 @@ void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record) { // Tap dance actions can leave some weak mods active (e.g., if the tap dance is mapped to a keycode with // modifiers), but these weak mods should not affect the keypress which interrupted the tap dance. clear_weak_mods(); + + // Signal that a tap dance has been finished due to being interrupted, + // therefore the keymap lookup for the currently processed event needs to + // be repeated with the current layer state that might have been updated by + // the finished tap dance. + return true; } bool process_tap_dance(uint16_t keycode, keyrecord_t *record) { diff --git a/quantum/process_keycode/process_tap_dance.h b/quantum/process_keycode/process_tap_dance.h index d97900d96b..d6d6c136dc 100644 --- a/quantum/process_keycode/process_tap_dance.h +++ b/quantum/process_keycode/process_tap_dance.h @@ -81,7 +81,7 @@ void reset_tap_dance(qk_tap_dance_state_t *state); /* To be used internally */ -void preprocess_tap_dance(uint16_t keycode, keyrecord_t *record); +bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record); bool process_tap_dance(uint16_t keycode, keyrecord_t *record); void tap_dance_task(void); diff --git a/quantum/process_keycode/process_ucis.c b/quantum/process_keycode/process_ucis.c index 6a8d8f0ff6..646471bc4d 100644 --- a/quantum/process_keycode/process_ucis.c +++ b/quantum/process_keycode/process_ucis.c @@ -15,6 +15,9 @@ */ #include "process_ucis.h" +#include "unicode.h" +#include "keycode.h" +#include "wait.h" qk_ucis_state_t qk_ucis_state; @@ -26,9 +29,7 @@ void qk_ucis_start(void) { } __attribute__((weak)) void qk_ucis_start_user(void) { - unicode_input_start(); - register_hex(0x2328); // ⌨ - unicode_input_finish(); + register_unicode(0x2328); // ⌨ } __attribute__((weak)) void qk_ucis_success(uint8_t symbol_index) {} @@ -51,10 +52,7 @@ static bool is_uni_seq(char *seq) { __attribute__((weak)) void qk_ucis_symbol_fallback(void) { for (uint8_t i = 0; i < qk_ucis_state.count - 1; i++) { - uint8_t keycode = qk_ucis_state.codes[i]; - register_code(keycode); - unregister_code(keycode); - wait_ms(UNICODE_TYPE_DELAY); + tap_code(qk_ucis_state.codes[i]); } } @@ -63,7 +61,6 @@ __attribute__((weak)) void qk_ucis_cancel(void) {} void register_ucis(const uint32_t *code_points) { for (int i = 0; i < UCIS_MAX_CODE_POINTS && code_points[i]; i++) { register_unicode(code_points[i]); - wait_ms(UNICODE_TYPE_DELAY); } } @@ -94,9 +91,7 @@ bool process_ucis(uint16_t keycode, keyrecord_t *record) { case KC_ENTER: case KC_ESCAPE: for (uint8_t i = 0; i < qk_ucis_state.count; i++) { - register_code(KC_BACKSPACE); - unregister_code(KC_BACKSPACE); - wait_ms(UNICODE_TYPE_DELAY); + tap_code(KC_BACKSPACE); } if (keycode == KC_ESCAPE) { diff --git a/quantum/process_keycode/process_ucis.h b/quantum/process_keycode/process_ucis.h index a667430bda..3de0707762 100644 --- a/quantum/process_keycode/process_ucis.h +++ b/quantum/process_keycode/process_ucis.h @@ -16,8 +16,10 @@ #pragma once -#include "quantum.h" -#include "process_unicode_common.h" +#include <stdbool.h> +#include <stdint.h> + +#include "action.h" #ifndef UCIS_MAX_SYMBOL_LENGTH # define UCIS_MAX_SYMBOL_LENGTH 32 diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index 18a1d8bc1f..99cc2f5f26 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -15,14 +15,14 @@ */ #include "process_unicode.h" -#include "action_util.h" -#include "eeprom.h" +#include "unicode.h" +#include "quantum_keycodes.h" bool process_unicode(uint16_t keycode, keyrecord_t *record) { - if (keycode >= QK_UNICODE && keycode <= QK_UNICODE_MAX && record->event.pressed) { - unicode_input_start(); - register_hex(keycode & 0x7FFF); - unicode_input_finish(); + if (record->event.pressed) { + if (keycode >= QK_UNICODE && keycode <= QK_UNICODE_MAX) { + register_unicode(keycode & 0x7FFF); + } } return true; } diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h index 22765ad560..341bc8d861 100644 --- a/quantum/process_keycode/process_unicode.h +++ b/quantum/process_keycode/process_unicode.h @@ -16,6 +16,9 @@ #pragma once -#include "process_unicode_common.h" +#include <stdbool.h> +#include <stdint.h> + +#include "action.h" bool process_unicode(uint16_t keycode, keyrecord_t *record); diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 8de31c055c..bd5fc560f3 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -15,289 +15,17 @@ */ #include "process_unicode_common.h" -#include "eeprom.h" -#include "utf8.h" +#include "unicode.h" +#include "action_util.h" +#include "keycode.h" -unicode_config_t unicode_config; -uint8_t unicode_saved_mods; -bool unicode_saved_caps_lock; -bool unicode_saved_num_lock; - -#if UNICODE_SELECTED_MODES != -1 -static uint8_t selected[] = {UNICODE_SELECTED_MODES}; -static int8_t selected_count = sizeof selected / sizeof *selected; -static int8_t selected_index; -#endif - -void unicode_input_mode_init(void) { - unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); -#if UNICODE_SELECTED_MODES != -1 -# if UNICODE_CYCLE_PERSIST - // Find input_mode in selected modes - int8_t i; - for (i = 0; i < selected_count; i++) { - if (selected[i] == unicode_config.input_mode) { - selected_index = i; - break; - } - } - if (i == selected_count) { - // Not found: input_mode isn't selected, change to one that is - unicode_config.input_mode = selected[selected_index = 0]; - } -# else - // Always change to the first selected input mode - unicode_config.input_mode = selected[selected_index = 0]; -# endif -#endif - dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); -} - -uint8_t get_unicode_input_mode(void) { - return unicode_config.input_mode; -} - -void set_unicode_input_mode(uint8_t mode) { - unicode_config.input_mode = mode; - persist_unicode_input_mode(); - dprintf("Unicode input mode set to: %u\n", unicode_config.input_mode); -} - -void cycle_unicode_input_mode(int8_t offset) { -#if UNICODE_SELECTED_MODES != -1 - selected_index = (selected_index + offset) % selected_count; - if (selected_index < 0) { - selected_index += selected_count; - } - unicode_config.input_mode = selected[selected_index]; -# if UNICODE_CYCLE_PERSIST - persist_unicode_input_mode(); -# endif - dprintf("Unicode input mode cycle to: %u\n", unicode_config.input_mode); -#endif -} - -void persist_unicode_input_mode(void) { - eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); -} - -__attribute__((weak)) void unicode_input_start(void) { - unicode_saved_caps_lock = host_keyboard_led_state().caps_lock; - unicode_saved_num_lock = host_keyboard_led_state().num_lock; - - // Note the order matters here! - // Need to do this before we mess around with the mods, or else - // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work - // correctly in the shifted case. - if (unicode_config.input_mode == UC_LNX && unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - - unicode_saved_mods = get_mods(); // Save current mods - clear_mods(); // Unregister mods to start from a clean state - clear_weak_mods(); - - switch (unicode_config.input_mode) { - case UC_MAC: - register_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code16(UNICODE_KEY_LNX); - break; - case UC_WIN: - // For increased reliability, use numpad keys for inputting digits - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - register_code(KC_LEFT_ALT); - wait_ms(UNICODE_TYPE_DELAY); - tap_code(KC_KP_PLUS); - break; - case UC_WINC: - tap_code(UNICODE_KEY_WINC); - tap_code(KC_U); - break; - case UC_EMACS: - // The usual way to type unicode in emacs is C-x-8 <RET> then the unicode number in hex - tap_code16(LCTL(KC_X)); - tap_code16(KC_8); - tap_code16(KC_ENTER); - break; - } - - wait_ms(UNICODE_TYPE_DELAY); -} - -__attribute__((weak)) void unicode_input_finish(void) { - switch (unicode_config.input_mode) { - case UC_MAC: - unregister_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code(KC_SPACE); - if (unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - break; - case UC_WIN: - unregister_code(KC_LEFT_ALT); - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - break; - case UC_WINC: - tap_code(KC_ENTER); - break; - case UC_EMACS: - tap_code16(KC_ENTER); - break; - } - - set_mods(unicode_saved_mods); // Reregister previously set mods -} - -__attribute__((weak)) void unicode_input_cancel(void) { - switch (unicode_config.input_mode) { - case UC_MAC: - unregister_code(UNICODE_KEY_MAC); - break; - case UC_LNX: - tap_code(KC_ESCAPE); - if (unicode_saved_caps_lock) { - tap_code(KC_CAPS_LOCK); - } - break; - case UC_WINC: - tap_code(KC_ESCAPE); - break; - case UC_WIN: - unregister_code(KC_LEFT_ALT); - if (!unicode_saved_num_lock) { - tap_code(KC_NUM_LOCK); - } - break; - case UC_EMACS: - tap_code16(LCTL(KC_G)); // C-g cancels - break; - } - - set_mods(unicode_saved_mods); // Reregister previously set mods -} - -// clang-format off - -static void send_nibble_wrapper(uint8_t digit) { - if (unicode_config.input_mode == UC_WIN) { - uint8_t kc = digit < 10 - ? KC_KP_1 + (10 + digit - 1) % 10 - : KC_A + (digit - 10); - tap_code(kc); - return; - } - send_nibble(digit); -} - -// clang-format on - -void register_hex(uint16_t hex) { - for (int i = 3; i >= 0; i--) { - uint8_t digit = ((hex >> (i * 4)) & 0xF); - send_nibble_wrapper(digit); - } -} - -void register_hex32(uint32_t hex) { - bool onzerostart = true; - for (int i = 7; i >= 0; i--) { - if (i <= 3) { - onzerostart = false; - } - uint8_t digit = ((hex >> (i * 4)) & 0xF); - if (digit == 0) { - if (!onzerostart) { - send_nibble_wrapper(digit); - } - } else { - send_nibble_wrapper(digit); - onzerostart = false; - } - } -} - -void register_unicode(uint32_t code_point) { - if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) { - // Code point out of range, do nothing - return; - } - - unicode_input_start(); - if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) { - // Convert code point to UTF-16 surrogate pair on macOS - code_point -= 0x10000; - uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10; - register_hex32(hi + 0xD800); - register_hex32(lo + 0xDC00); - } else { - register_hex32(code_point); - } - unicode_input_finish(); -} - -void send_unicode_string(const char *str) { - if (!str) { - return; - } - - while (*str) { - int32_t code_point = 0; - str = decode_utf8(str, &code_point); - - if (code_point >= 0) { - register_unicode(code_point); - } - } -} - -// clang-format off - -static void audio_helper(void) { -#ifdef AUDIO_ENABLE - switch (get_unicode_input_mode()) { -# ifdef UNICODE_SONG_MAC - static float song_mac[][2] = UNICODE_SONG_MAC; - case UC_MAC: - PLAY_SONG(song_mac); - break; -# endif -# ifdef UNICODE_SONG_LNX - static float song_lnx[][2] = UNICODE_SONG_LNX; - case UC_LNX: - PLAY_SONG(song_lnx); - break; -# endif -# ifdef UNICODE_SONG_WIN - static float song_win[][2] = UNICODE_SONG_WIN; - case UC_WIN: - PLAY_SONG(song_win); - break; -# endif -# ifdef UNICODE_SONG_BSD - static float song_bsd[][2] = UNICODE_SONG_BSD; - case UC_BSD: - PLAY_SONG(song_bsd); - break; -# endif -# ifdef UNICODE_SONG_WINC - static float song_winc[][2] = UNICODE_SONG_WINC; - case UC_WINC: - PLAY_SONG(song_winc); - break; -# endif - } +#if defined(UNICODE_ENABLE) +# include "process_unicode.h" +#elif defined(UNICODEMAP_ENABLE) +# include "process_unicodemap.h" +#elif defined(UCIS_ENABLE) +# include "process_ucis.h" #endif -} - -// clang-format on bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { @@ -305,35 +33,27 @@ bool process_unicode_common(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case UNICODE_MODE_FORWARD: cycle_unicode_input_mode(shifted ? -1 : +1); - audio_helper(); break; case UNICODE_MODE_REVERSE: cycle_unicode_input_mode(shifted ? +1 : -1); - audio_helper(); break; case UNICODE_MODE_MAC: set_unicode_input_mode(UC_MAC); - audio_helper(); break; case UNICODE_MODE_LNX: set_unicode_input_mode(UC_LNX); - audio_helper(); break; case UNICODE_MODE_WIN: set_unicode_input_mode(UC_WIN); - audio_helper(); break; case UNICODE_MODE_BSD: set_unicode_input_mode(UC_BSD); - audio_helper(); break; case UNICODE_MODE_WINC: set_unicode_input_mode(UC_WINC); - audio_helper(); break; case UNICODE_MODE_EMACS: set_unicode_input_mode(UC_EMACS); - audio_helper(); break; } } diff --git a/quantum/process_keycode/process_unicode_common.h b/quantum/process_keycode/process_unicode_common.h index 15e798dbb3..fd09a41818 100644 --- a/quantum/process_keycode/process_unicode_common.h +++ b/quantum/process_keycode/process_unicode_common.h @@ -16,187 +16,9 @@ #pragma once -#include "quantum.h" +#include <stdbool.h> +#include <stdint.h> -#if defined(UNICODE_ENABLE) + defined(UNICODEMAP_ENABLE) + defined(UCIS_ENABLE) > 1 -# error "Cannot enable more than one Unicode method (UNICODE, UNICODEMAP, UCIS) at the same time" -#endif - -// Keycodes used for starting Unicode input on different platforms -#ifndef UNICODE_KEY_MAC -# define UNICODE_KEY_MAC KC_LEFT_ALT -#endif -#ifndef UNICODE_KEY_LNX -# define UNICODE_KEY_LNX LCTL(LSFT(KC_U)) -#endif -#ifndef UNICODE_KEY_WINC -# define UNICODE_KEY_WINC KC_RIGHT_ALT -#endif - -// Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) -// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX -#ifndef UNICODE_SELECTED_MODES -# define UNICODE_SELECTED_MODES -1 -#endif - -// Whether input mode changes in cycle should be written to EEPROM -#ifndef UNICODE_CYCLE_PERSIST -# define UNICODE_CYCLE_PERSIST true -#endif - -// Delay between starting Unicode input and sending a sequence, in ms -#ifndef UNICODE_TYPE_DELAY -# define UNICODE_TYPE_DELAY 10 -#endif - -// Deprecated aliases -#if !defined(UNICODE_KEY_MAC) && defined(UNICODE_KEY_OSX) -# define UNICODE_KEY_MAC UNICODE_KEY_OSX -#endif -#if !defined(UNICODE_SONG_MAC) && defined(UNICODE_SONG_OSX) -# define UNICODE_SONG_MAC UNICODE_SONG_OSX -#endif -#define UC_OSX UC_MAC - -enum unicode_input_modes { - UC_MAC, // macOS using Unicode Hex Input - UC_LNX, // Linux using IBus - UC_WIN, // Windows using EnableHexNumpad - UC_BSD, // BSD (not implemented) - UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) - UC_EMACS, // Emacs is an operating system in search of a good text editor - UC__COUNT // Number of available input modes (always leave at the end) -}; - -typedef union { - uint32_t raw; - struct { - uint8_t input_mode : 8; - }; -} unicode_config_t; - -extern unicode_config_t unicode_config; - -void unicode_input_mode_init(void); -uint8_t get_unicode_input_mode(void); -void set_unicode_input_mode(uint8_t mode); -void cycle_unicode_input_mode(int8_t offset); -void persist_unicode_input_mode(void); - -void unicode_input_start(void); -void unicode_input_finish(void); -void unicode_input_cancel(void); - -void register_hex(uint16_t hex); -void register_hex32(uint32_t hex); -void register_unicode(uint32_t code_point); - -void send_unicode_string(const char *str); +#include "action.h" bool process_unicode_common(uint16_t keycode, keyrecord_t *record); - -#define UC_BSPC UC(0x0008) -#define UC_SPC UC(0x0020) - -#define UC_EXLM UC(0x0021) -#define UC_DQUT UC(0x0022) -#define UC_HASH UC(0x0023) -#define UC_DLR UC(0x0024) -#define UC_PERC UC(0x0025) -#define UC_AMPR UC(0x0026) -#define UC_QUOT UC(0x0027) -#define UC_LPRN UC(0x0028) -#define UC_RPRN UC(0x0029) -#define UC_ASTR UC(0x002A) -#define UC_PLUS UC(0x002B) -#define UC_COMM UC(0x002C) -#define UC_DASH UC(0x002D) -#define UC_DOT UC(0x002E) -#define UC_SLSH UC(0x002F) - -#define UC_0 UC(0x0030) -#define UC_1 UC(0x0031) -#define UC_2 UC(0x0032) -#define UC_3 UC(0x0033) -#define UC_4 UC(0x0034) -#define UC_5 UC(0x0035) -#define UC_6 UC(0x0036) -#define UC_7 UC(0x0037) -#define UC_8 UC(0x0038) -#define UC_9 UC(0x0039) - -#define UC_COLN UC(0x003A) -#define UC_SCLN UC(0x003B) -#define UC_LT UC(0x003C) -#define UC_EQL UC(0x003D) -#define UC_GT UC(0x003E) -#define UC_QUES UC(0x003F) -#define UC_AT UC(0x0040) - -#define UC_A UC(0x0041) -#define UC_B UC(0x0042) -#define UC_C UC(0x0043) -#define UC_D UC(0x0044) -#define UC_E UC(0x0045) -#define UC_F UC(0x0046) -#define UC_G UC(0x0047) -#define UC_H UC(0x0048) -#define UC_I UC(0x0049) -#define UC_J UC(0x004A) -#define UC_K UC(0x004B) -#define UC_L UC(0x004C) -#define UC_M UC(0x004D) -#define UC_N UC(0x004E) -#define UC_O UC(0x004F) -#define UC_P UC(0x0050) -#define UC_Q UC(0x0051) -#define UC_R UC(0x0052) -#define UC_S UC(0x0053) -#define UC_T UC(0x0054) -#define UC_U UC(0x0055) -#define UC_V UC(0x0056) -#define UC_W UC(0x0057) -#define UC_X UC(0x0058) -#define UC_Y UC(0x0059) -#define UC_Z UC(0x005A) - -#define UC_LBRC UC(0x005B) -#define UC_BSLS UC(0x005C) -#define UC_RBRC UC(0x005D) -#define UC_CIRM UC(0x005E) -#define UC_UNDR UC(0x005F) - -#define UC_GRV UC(0x0060) - -#define UC_a UC(0x0061) -#define UC_b UC(0x0062) -#define UC_c UC(0x0063) -#define UC_d UC(0x0064) -#define UC_e UC(0x0065) -#define UC_f UC(0x0066) -#define UC_g UC(0x0067) -#define UC_h UC(0x0068) -#define UC_i UC(0x0069) -#define UC_j UC(0x006A) -#define UC_k UC(0x006B) -#define UC_l UC(0x006C) -#define UC_m UC(0x006D) -#define UC_n UC(0x006E) -#define UC_o UC(0x006F) -#define UC_p UC(0x0070) -#define UC_q UC(0x0071) -#define UC_r UC(0x0072) -#define UC_s UC(0x0073) -#define UC_t UC(0x0074) -#define UC_u UC(0x0075) -#define UC_v UC(0x0076) -#define UC_w UC(0x0077) -#define UC_x UC(0x0078) -#define UC_y UC(0x0079) -#define UC_z UC(0x007A) - -#define UC_LCBR UC(0x007B) -#define UC_PIPE UC(0x007C) -#define UC_RCBR UC(0x007D) -#define UC_TILD UC(0x007E) -#define UC_DEL UC(0x007F) diff --git a/quantum/process_keycode/process_unicodemap.c b/quantum/process_keycode/process_unicodemap.c index 459397014d..979d773b05 100644 --- a/quantum/process_keycode/process_unicodemap.c +++ b/quantum/process_keycode/process_unicodemap.c @@ -15,6 +15,11 @@ */ #include "process_unicodemap.h" +#include "unicode.h" +#include "quantum_keycodes.h" +#include "keycode.h" +#include "action_util.h" +#include "host.h" __attribute__((weak)) uint16_t unicodemap_index(uint16_t keycode) { if (keycode >= QK_UNICODEMAP_PAIR) { diff --git a/quantum/process_keycode/process_unicodemap.h b/quantum/process_keycode/process_unicodemap.h index c429859bbb..73f5449864 100644 --- a/quantum/process_keycode/process_unicodemap.h +++ b/quantum/process_keycode/process_unicodemap.h @@ -16,7 +16,11 @@ #pragma once -#include "process_unicode_common.h" +#include <stdbool.h> +#include <stdint.h> + +#include "action.h" +#include "progmem.h" extern const uint32_t PROGMEM unicode_map[]; diff --git a/quantum/quantum.c b/quantum/quantum.c index 9a0016b150..5b5364c8f1 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -251,7 +251,11 @@ bool process_record_quantum(keyrecord_t *record) { #endif #ifdef TAP_DANCE_ENABLE - preprocess_tap_dance(keycode, record); + if (preprocess_tap_dance(keycode, record)) { + // The tap dance might have updated the layer state, therefore the + // result of the keycode lookup might change. + keycode = get_record_keycode(record, true); + } #endif if (!( @@ -272,6 +276,9 @@ bool process_record_quantum(keyrecord_t *record) { #if defined(VIA_ENABLE) process_record_via(keycode, record) && #endif +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + process_auto_mouse(keycode, record) && +#endif process_record_kb(keycode, record) && #if defined(SECURE_ENABLE) process_secure(keycode, record) && @@ -336,6 +343,9 @@ bool process_record_quantum(keyrecord_t *record) { #ifdef PROGRAMMABLE_BUTTON_ENABLE process_programmable_button(keycode, record) && #endif +#ifdef AUTOCORRECT_ENABLE + process_autocorrect(keycode, record) && +#endif true)) { return false; } @@ -361,8 +371,10 @@ bool process_record_quantum(keyrecord_t *record) { #endif return false; case QK_CLEAR_EEPROM: +#ifdef NO_RESET eeconfig_init(); -#ifndef NO_RESET +#else + eeconfig_disable(); soft_reset_keyboard(); #endif return false; diff --git a/quantum/quantum.h b/quantum/quantum.h index 8d74f2be38..9c1b9952b8 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -109,6 +109,7 @@ extern layer_state_t layer_state; #endif #ifdef UNICODE_COMMON_ENABLE +# include "unicode.h" # include "process_unicode_common.h" #endif @@ -235,6 +236,10 @@ extern layer_state_t layer_state; # include "process_caps_word.h" #endif +#ifdef AUTOCORRECT_ENABLE +# include "process_autocorrect.h" +#endif + // For tri-layer void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3); diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index c8f03fa1ce..abf3f1a384 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -611,6 +611,10 @@ enum quantum_keycodes { UNICODE_MODE_EMACS, + AUTOCORRECT_ON, + AUTOCORRECT_OFF, + AUTOCORRECT_TOGGLE, + // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE }; @@ -799,6 +803,10 @@ enum quantum_keycodes { #define EH_LEFT MAGIC_EE_HANDS_LEFT #define EH_RGHT MAGIC_EE_HANDS_RIGHT +#define CRT_ON AUTOCORRECT_ON +#define CRT_OFF AUTOCORRECT_OFF +#define CRT_TOG AUTOCORRECT_TOGGLE + // GOTO layer - 256 layer max #define TO(layer) (QK_TO | ((layer)&0xFF)) diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h index 51380d9c50..1de81b4c0f 100644 --- a/quantum/quantum_keycodes_legacy.h +++ b/quantum/quantum_keycodes_legacy.h @@ -4,7 +4,6 @@ // Deprecated Quantum keycodes -#define RESET QK_BOOTLOADER #define DEBUG QK_DEBUG_TOGGLE #define GRAVE_ESC QK_GRAVE_ESCAPE #define EEPROM_RESET QK_CLEAR_EEPROM @@ -13,4 +12,5 @@ #define EEP_RST QK_CLEAR_EEPROM #define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.") -#define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.")
\ No newline at end of file +#define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.") +// #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.") diff --git a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h index 31dffcbc5a..69bf265d14 100644 --- a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +++ b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h @@ -13,7 +13,7 @@ bool JELLYBEAN_RAINDROPS(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) { - jellybean_raindrops_set_color(rand() % DRIVER_LED_TOTAL, params); + jellybean_raindrops_set_color(rand() % RGB_MATRIX_LED_COUNT, params); } return false; } diff --git a/quantum/rgb_matrix/animations/pixel_flow_anim.h b/quantum/rgb_matrix/animations/pixel_flow_anim.h index 714f5d174e..8628c3c2ec 100644 --- a/quantum/rgb_matrix/animations/pixel_flow_anim.h +++ b/quantum/rgb_matrix/animations/pixel_flow_anim.h @@ -7,7 +7,7 @@ RGB_MATRIX_EFFECT(PIXEL_FLOW) static bool PIXEL_FLOW(effect_params_t* params) { // LED state array - static RGB led[DRIVER_LED_TOTAL]; + static RGB led[RGB_MATRIX_LED_COUNT]; static uint32_t wait_timer = 0; if (wait_timer > g_rgb_timer) { @@ -21,7 +21,7 @@ static bool PIXEL_FLOW(effect_params_t* params) { if (params->init) { // Clear LEDs and fill the state array rgb_matrix_set_color_all(0, 0, 0); - for (uint8_t j = 0; j < DRIVER_LED_TOTAL; ++j) { + for (uint8_t j = 0; j < RGB_MATRIX_LED_COUNT; ++j) { led[j] = (random8() & 2) ? (RGB){0, 0, 0} : hsv_to_rgb((HSV){random8(), qadd8(random8() >> 1, 127), rgb_matrix_config.hsv.v}); } } diff --git a/quantum/rgb_matrix/animations/pixel_rain_anim.h b/quantum/rgb_matrix/animations/pixel_rain_anim.h index ce2528a26d..fded60340f 100644 --- a/quantum/rgb_matrix/animations/pixel_rain_anim.h +++ b/quantum/rgb_matrix/animations/pixel_rain_anim.h @@ -41,7 +41,7 @@ static bool PIXEL_RAIN(effect_params_t* params) { RGB_MATRIX_USE_LIMITS(led_min, led_max); if (g_rgb_timer > wait_timer) { - rain_pixel(mod8(random8(), DRIVER_LED_TOTAL), params, random8() & 2); + rain_pixel(mod8(random8(), RGB_MATRIX_LED_COUNT), params, random8() & 2); } return rgb_matrix_check_finished_leds(led_max); } diff --git a/quantum/rgb_matrix/animations/raindrops_anim.h b/quantum/rgb_matrix/animations/raindrops_anim.h index a508e51183..6b92d649ad 100644 --- a/quantum/rgb_matrix/animations/raindrops_anim.h +++ b/quantum/rgb_matrix/animations/raindrops_anim.h @@ -24,7 +24,7 @@ bool RAINDROPS(effect_params_t* params) { if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 10 == 0) { - raindrops_set_color(random8() % DRIVER_LED_TOTAL, params); + raindrops_set_color(random8() % RGB_MATRIX_LED_COUNT, params); } } else { for (int i = led_min; i < led_max; i++) { diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c index 2730686839..539ca0e100 100644 --- a/quantum/rgb_matrix/rgb_matrix.c +++ b/quantum/rgb_matrix/rgb_matrix.c @@ -56,12 +56,8 @@ __attribute__((weak)) RGB rgb_matrix_hsv_to_rgb(HSV hsv) { // -----End rgb effect includes macros------- // ------------------------------------------ -#if defined(RGB_DISABLE_AFTER_TIMEOUT) && !defined(RGB_DISABLE_TIMEOUT) -# define RGB_DISABLE_TIMEOUT (RGB_DISABLE_AFTER_TIMEOUT * 1200UL) -#endif - -#ifndef RGB_DISABLE_TIMEOUT -# define RGB_DISABLE_TIMEOUT 0 +#ifndef RGB_MATRIX_TIMEOUT +# define RGB_MATRIX_TIMEOUT 0 #endif #if !defined(RGB_MATRIX_MAXIMUM_BRIGHTNESS) || RGB_MATRIX_MAXIMUM_BRIGHTNESS > UINT8_MAX @@ -126,9 +122,9 @@ 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_DISABLE_TIMEOUT > 0 +#if RGB_MATRIX_TIMEOUT > 0 static uint32_t rgb_anykey_timer; -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_MATRIX_TIMEOUT > 0 // double buffers static uint32_t rgb_timer_buffer; @@ -202,7 +198,7 @@ void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { #if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT) - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) rgb_matrix_set_color(i, red, green, blue); #else rgb_matrix_driver.set_color_all(red, green, blue); @@ -213,9 +209,9 @@ void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { #ifndef RGB_MATRIX_SPLIT if (!is_keyboard_master()) return; #endif -#if RGB_DISABLE_TIMEOUT > 0 +#if RGB_MATRIX_TIMEOUT > 0 rgb_anykey_timer = 0; -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_MATRIX_TIMEOUT > 0 #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED uint8_t led[LED_HITS_TO_REMEMBER]; @@ -296,17 +292,17 @@ static bool rgb_matrix_none(effect_params_t *params) { } static void rgb_task_timers(void) { -#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_DISABLE_TIMEOUT > 0 +#if defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0 uint32_t deltaTime = sync_timer_elapsed32(rgb_timer_buffer); -#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_DISABLE_TIMEOUT > 0 +#endif // defined(RGB_MATRIX_KEYREACTIVE_ENABLED) || RGB_MATRIX_TIMEOUT > 0 rgb_timer_buffer = sync_timer_read32(); // Update double buffer timers -#if RGB_DISABLE_TIMEOUT > 0 +#if RGB_MATRIX_TIMEOUT > 0 if (rgb_anykey_timer + deltaTime <= UINT32_MAX) { rgb_anykey_timer += deltaTime; } -#endif // RGB_DISABLE_TIMEOUT > 0 +#endif // RGB_MATRIX_TIMEOUT > 0 // Update double buffer last hit timers #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED @@ -419,9 +415,9 @@ void rgb_matrix_task(void) { // Ideally we would also stop sending zeros to the LED driver PWM buffers // while suspended and just do a software shutdown. This is a cheap hack for now. bool suspend_backlight = suspend_state || -#if RGB_DISABLE_TIMEOUT > 0 - (rgb_anykey_timer > (uint32_t)RGB_DISABLE_TIMEOUT) || -#endif // RGB_DISABLE_TIMEOUT > 0 +#if RGB_MATRIX_TIMEOUT > 0 + (rgb_anykey_timer > (uint32_t)RGB_MATRIX_TIMEOUT) || +#endif // RGB_MATRIX_TIMEOUT > 0 false; uint8_t effect = suspend_backlight || !rgb_matrix_config.enable ? 0 : rgb_matrix_config.mode; @@ -448,12 +444,15 @@ void rgb_matrix_task(void) { void rgb_matrix_indicators(void) { rgb_matrix_indicators_kb(); - rgb_matrix_indicators_user(); } -__attribute__((weak)) void rgb_matrix_indicators_kb(void) {} +__attribute__((weak)) bool rgb_matrix_indicators_kb(void) { + return rgb_matrix_indicators_user(); +} -__attribute__((weak)) void rgb_matrix_indicators_user(void) {} +__attribute__((weak)) bool rgb_matrix_indicators_user(void) { + return true; +} void rgb_matrix_indicators_advanced(effect_params_t *params) { /* special handling is needed for "params->iter", since it's already been incremented. @@ -461,21 +460,24 @@ void rgb_matrix_indicators_advanced(effect_params_t *params) { * and not sure which would be better. Otherwise, this should be called from * rgb_task_render, right before the iter++ line. */ -#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL +#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < RGB_MATRIX_LED_COUNT uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * (params->iter - 1); uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT; - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; + if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT; #else uint8_t min = 0; - uint8_t max = DRIVER_LED_TOTAL; + uint8_t max = RGB_MATRIX_LED_COUNT; #endif rgb_matrix_indicators_advanced_kb(min, max); - rgb_matrix_indicators_advanced_user(min, max); } -__attribute__((weak)) void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {} +__attribute__((weak)) bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + return rgb_matrix_indicators_advanced_user(led_min, led_max); +} -__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {} +__attribute__((weak)) bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + return true; +} void rgb_matrix_init(void) { rgb_matrix_driver.init(); diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h index fc9fc3e020..1cd054abc4 100644 --- a/quantum/rgb_matrix/rgb_matrix.h +++ b/quantum/rgb_matrix/rgb_matrix.h @@ -47,15 +47,15 @@ #endif #ifndef RGB_MATRIX_LED_PROCESS_LIMIT -# define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 +# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 #endif -#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < DRIVER_LED_TOTAL +#if defined(RGB_MATRIX_LED_PROCESS_LIMIT) && RGB_MATRIX_LED_PROCESS_LIMIT > 0 && RGB_MATRIX_LED_PROCESS_LIMIT < RGB_MATRIX_LED_COUNT # if defined(RGB_MATRIX_SPLIT) # define RGB_MATRIX_USE_LIMITS(min, max) \ uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter; \ uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT; \ - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; \ + if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT; \ uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; \ if (is_keyboard_left() && (max > k_rgb_matrix_split[0])) max = k_rgb_matrix_split[0]; \ if (!(is_keyboard_left()) && (min < k_rgb_matrix_split[0])) min = k_rgb_matrix_split[0]; @@ -63,20 +63,20 @@ # define RGB_MATRIX_USE_LIMITS(min, max) \ uint8_t min = RGB_MATRIX_LED_PROCESS_LIMIT * params->iter; \ uint8_t max = min + RGB_MATRIX_LED_PROCESS_LIMIT; \ - if (max > DRIVER_LED_TOTAL) max = DRIVER_LED_TOTAL; + if (max > RGB_MATRIX_LED_COUNT) max = RGB_MATRIX_LED_COUNT; # endif #else # if defined(RGB_MATRIX_SPLIT) # define RGB_MATRIX_USE_LIMITS(min, max) \ uint8_t min = 0; \ - uint8_t max = DRIVER_LED_TOTAL; \ + uint8_t max = RGB_MATRIX_LED_COUNT; \ const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; \ if (is_keyboard_left() && (max > k_rgb_matrix_split[0])) max = k_rgb_matrix_split[0]; \ if (!(is_keyboard_left()) && (min < k_rgb_matrix_split[0])) min = k_rgb_matrix_split[0]; # else # define RGB_MATRIX_USE_LIMITS(min, max) \ uint8_t min = 0; \ - uint8_t max = DRIVER_LED_TOTAL; + uint8_t max = RGB_MATRIX_LED_COUNT; # endif #endif @@ -129,12 +129,12 @@ void rgb_matrix_task(void); // This runs after another backlight effect and replaces // colors already set void rgb_matrix_indicators(void); -void rgb_matrix_indicators_kb(void); -void rgb_matrix_indicators_user(void); +bool rgb_matrix_indicators_kb(void); +bool rgb_matrix_indicators_user(void); void rgb_matrix_indicators_advanced(effect_params_t *params); -void rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max); -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max); +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); void rgb_matrix_init(void); @@ -246,9 +246,9 @@ static inline bool rgb_matrix_check_finished_leds(uint8_t led_idx) { uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT; return led_idx < k_rgb_matrix_split[0]; } else - return led_idx < DRIVER_LED_TOTAL; + return led_idx < RGB_MATRIX_LED_COUNT; #else - return led_idx < DRIVER_LED_TOTAL; + return led_idx < RGB_MATRIX_LED_COUNT; #endif } diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c index 27fa7369bf..e75b2c6c9d 100644 --- a/quantum/rgb_matrix/rgb_matrix_drivers.c +++ b/quantum/rgb_matrix/rgb_matrix_drivers.c @@ -106,7 +106,7 @@ static void init(void) { # endif # endif - for (int index = 0; index < DRIVER_LED_TOTAL; index++) { + for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; // This only caches it for later @@ -336,13 +336,13 @@ const rgb_matrix_driver_t rgb_matrix_driver = { # endif // LED color buffer -LED_TYPE rgb_matrix_ws2812_array[DRIVER_LED_TOTAL]; +LED_TYPE rgb_matrix_ws2812_array[RGB_MATRIX_LED_COUNT]; static void init(void) {} static void flush(void) { // Assumes use of RGB_DI_PIN - ws2812_setleds(rgb_matrix_ws2812_array, DRIVER_LED_TOTAL); + ws2812_setleds(rgb_matrix_ws2812_array, RGB_MATRIX_LED_COUNT); } // Set an led in the buffer to a color @@ -369,7 +369,7 @@ static inline void setled(int i, uint8_t r, uint8_t g, uint8_t b) { } static void setled_all(uint8_t r, uint8_t g, uint8_t b) { - for (int i = 0; i < sizeof(rgb_matrix_ws2812_array) / sizeof(rgb_matrix_ws2812_array[0]); i++) { + for (int i = 0; i < ARRAY_SIZE(rgb_matrix_ws2812_array); i++) { setled(i, r, g, b); } } diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h index d0ac4e4466..eea603c41c 100644 --- a/quantum/rgb_matrix/rgb_matrix_types.h +++ b/quantum/rgb_matrix/rgb_matrix_types.h @@ -78,8 +78,8 @@ typedef struct PACKED { typedef struct PACKED { uint8_t matrix_co[MATRIX_ROWS][MATRIX_COLS]; - led_point_t point[DRIVER_LED_TOTAL]; - uint8_t flags[DRIVER_LED_TOTAL]; + led_point_t point[RGB_MATRIX_LED_COUNT]; + uint8_t flags[RGB_MATRIX_LED_COUNT]; } led_config_t; typedef union { diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c index e5d3a98bea..37cd7a66ab 100644 --- a/quantum/rgblight/rgblight.c +++ b/quantum/rgblight/rgblight.c @@ -16,7 +16,6 @@ #include <math.h> #include <string.h> #include <stdlib.h> -#include "wait.h" #include "progmem.h" #include "sync_timer.h" #include "rgblight.h" @@ -410,7 +409,6 @@ void rgblight_disable(void) { dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); rgblight_timer_disable(); RGBLIGHT_SPLIT_SET_CHANGE_MODE; - wait_ms(50); rgblight_set(); } @@ -419,7 +417,6 @@ void rgblight_disable_noeeprom(void) { dprintf("rgblight disable [NOEEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable); rgblight_timer_disable(); RGBLIGHT_SPLIT_SET_CHANGE_MODE; - wait_ms(50); rgblight_set(); } @@ -526,10 +523,19 @@ void rgblight_sethsv_noeeprom_old(uint8_t hue, uint8_t sat, uint8_t val) { void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool write_to_eeprom) { if (rgblight_config.enable) { +#ifdef RGBLIGHT_SPLIT + if (rgblight_config.hue != hue || rgblight_config.sat != sat || rgblight_config.val != val) { + RGBLIGHT_SPLIT_SET_CHANGE_HSVS; + } +#endif rgblight_status.base_mode = mode_base_table[rgblight_config.mode]; if (rgblight_config.mode == RGBLIGHT_MODE_STATIC_LIGHT) { // same static color LED_TYPE tmp_led; +#ifdef RGBLIGHT_LAYERS_RETAIN_VAL + // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val + rgblight_config.val = val; +#endif sethsv(hue, sat, val, &tmp_led); rgblight_setrgb(tmp_led.r, tmp_led.g, tmp_led.b); } else { @@ -571,15 +577,14 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w dprintf("rgblight rainbow set hsv: %d,%d,%d,%u\n", i, _hue, direction, range); sethsv(_hue, sat, val, (LED_TYPE *)&led[i + rgblight_ranges.effect_start_pos]); } +# ifdef RGBLIGHT_LAYERS_RETAIN_VAL + // needed for rgblight_layers_write() to get the new val, since it reads rgblight_config.val + rgblight_config.val = val; +# endif rgblight_set(); } #endif } -#ifdef RGBLIGHT_SPLIT - if (rgblight_config.hue != hue || rgblight_config.sat != sat || rgblight_config.val != val) { - RGBLIGHT_SPLIT_SET_CHANGE_HSVS; - } -#endif rgblight_config.hue = hue; rgblight_config.sat = sat; rgblight_config.val = val; @@ -704,7 +709,6 @@ void rgblight_setrgb_range(uint8_t r, uint8_t g, uint8_t b, uint8_t start, uint8 #endif } rgblight_set(); - wait_ms(1); } void rgblight_sethsv_range(uint8_t hue, uint8_t sat, uint8_t val, uint8_t start, uint8_t end) { diff --git a/quantum/secure.c b/quantum/secure.c index f07f6af2cb..f2a567f31d 100644 --- a/quantum/secure.c +++ b/quantum/secure.c @@ -3,6 +3,7 @@ #include "secure.h" #include "timer.h" +#include "util.h" #ifndef SECURE_UNLOCK_TIMEOUT # define SECURE_UNLOCK_TIMEOUT 5000 @@ -59,7 +60,7 @@ void secure_activity_event(void) { void secure_keypress_event(uint8_t row, uint8_t col) { static const uint8_t sequence[][2] = SECURE_UNLOCK_SEQUENCE; - static const uint8_t sequence_len = sizeof(sequence) / sizeof(sequence[0]); + static const uint8_t sequence_len = ARRAY_SIZE(sequence); static uint8_t offset = 0; if ((sequence[offset][0] == row) && (sequence[offset][1] == col)) { diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 4892b7f8d8..9f57c7b9fc 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -74,6 +74,46 @@ static inline bool usbIsActive(void) { } #endif +#if defined(SPLIT_WATCHDOG_ENABLE) +# if !defined(SPLIT_WATCHDOG_TIMEOUT) +# if defined(SPLIT_USB_TIMEOUT) +# define SPLIT_WATCHDOG_TIMEOUT (SPLIT_USB_TIMEOUT + 100) +# else +# define SPLIT_WATCHDOG_TIMEOUT 3000 +# endif +# endif +# if defined(SPLIT_USB_DETECT) +_Static_assert(SPLIT_USB_TIMEOUT < SPLIT_WATCHDOG_TIMEOUT, "SPLIT_WATCHDOG_TIMEOUT should not be below SPLIT_USB_TIMEOUT."); +# endif +_Static_assert(SPLIT_MAX_CONNECTION_ERRORS > 0, "SPLIT_WATCHDOG_ENABLE requires SPLIT_MAX_CONNECTION_ERRORS be above 0 for a functioning disconnection check."); + +static uint32_t split_watchdog_started = 0; +static bool split_watchdog_done = false; + +void split_watchdog_init(void) { + split_watchdog_started = timer_read32(); +} + +void split_watchdog_update(bool done) { + split_watchdog_done = done; +} + +bool split_watchdog_check(void) { + if (!is_transport_connected()) { + split_watchdog_done = false; + } + return split_watchdog_done; +} + +void split_watchdog_task(void) { + if (!split_watchdog_done && !is_keyboard_master()) { + if (timer_elapsed32(split_watchdog_started) > SPLIT_WATCHDOG_TIMEOUT) { + mcu_reset(); + } + } +} +#endif // defined(SPLIT_WATCHDOG_ENABLE) + #ifdef SPLIT_HAND_MATRIX_GRID void matrix_io_delay(void); @@ -139,6 +179,20 @@ void split_pre_init(void) { if (!eeconfig_is_enabled()) { eeconfig_init(); } + // TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS within the emulated eeprom via dfu-util or another tool +# if defined(INIT_EE_HANDS_LEFT) || defined(INIT_EE_HANDS_RIGHT) +# if defined(INIT_EE_HANDS_LEFT) +# pragma message "Faking EE_HANDS for left hand" + const bool should_be_left = true; +# else +# pragma message "Faking EE_HANDS for right hand" + const bool should_be_left = false; +# endif + bool is_left = eeconfig_read_handedness(); + if (is_left != should_be_left) { + eeconfig_update_handedness(should_be_left); + } +# endif // defined(INIT_EE_HANDS_LEFT) || defined(INIT_EE_HANDS_RIGHT) #endif isLeftHand = is_keyboard_left(); @@ -165,6 +219,9 @@ void split_pre_init(void) { void split_post_init(void) { if (!is_keyboard_master()) { transport_slave_init(); +#if defined(SPLIT_WATCHDOG_ENABLE) + split_watchdog_init(); +#endif } } diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index c7eabea233..5c9a260a14 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -14,3 +14,7 @@ void split_post_init(void); bool transport_master_if_connected(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]); bool is_transport_connected(void); + +void split_watchdog_update(bool done); +void split_watchdog_task(void); +bool split_watchdog_check(void);
\ No newline at end of file diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index 761a8884f4..8c19948107 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -84,6 +84,10 @@ enum serial_transaction_id { PUT_POINTING_CPI, #endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#if defined(SPLIT_WATCHDOG_ENABLE) + PUT_WATCHDOG, +#endif // defined(SPLIT_WATCHDOG_ENABLE) + #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) PUT_RPC_INFO, PUT_RPC_REQ_DATA, diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 719068908f..527b2f4caf 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -76,8 +76,27 @@ static bool transaction_handler_master(matrix_row_t master_matrix[], matrix_row_ if (!transaction_handler_master(master_matrix, slave_matrix, #prefix, &prefix##_handlers_master)) return false; \ } while (0) +/** + * @brief Constructs a transaction handler that doesn't acquire a lock to the + * split shared memory. Therefore the locking and unlocking has to be done + * manually inside the handler. Use this macro only if the handler is + * non-deterministic in runtime and thus needs a manual lock unlock + * implementation to hold the lock for the shortest possible time. + */ #define TRANSACTION_HANDLER_SLAVE(prefix) \ do { \ + prefix##_handlers_slave(master_matrix, slave_matrix); \ + } while (0) + +/** + * @brief Constructs a transaction handler that automatically acquires a lock to + * safely access the split shared memory and releases the lock again after + * processing the handler. Use this macro if the handler is fast and + * deterministic in runtime and thus holds the lock only for a very short time. + * If not fallback to manually locking and unlocking inside the handler. + */ +#define TRANSACTION_HANDLER_SLAVE_AUTOLOCK(prefix) \ + do { \ split_shared_memory_lock(); \ prefix##_handlers_slave(master_matrix, slave_matrix); \ split_shared_memory_unlock(); \ @@ -139,7 +158,7 @@ static void slave_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row // clang-format off #define TRANSACTIONS_SLAVE_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(slave_matrix) -#define TRANSACTIONS_SLAVE_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(slave_matrix) +#define TRANSACTIONS_SLAVE_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(slave_matrix) #define TRANSACTIONS_SLAVE_MATRIX_REGISTRATIONS \ [GET_SLAVE_MATRIX_CHECKSUM] = trans_target2initiator_initializer(smatrix.checksum), \ [GET_SLAVE_MATRIX_DATA] = trans_target2initiator_initializer(smatrix.matrix), @@ -161,7 +180,7 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro } # define TRANSACTIONS_MASTER_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(master_matrix) -# define TRANSACTIONS_MASTER_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE(master_matrix) +# define TRANSACTIONS_MASTER_MATRIX_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(master_matrix) # define TRANSACTIONS_MASTER_MATRIX_REGISTRATIONS [PUT_MASTER_MATRIX] = trans_initiator2target_initializer(mmatrix.matrix), #else // SPLIT_TRANSPORT_MIRROR @@ -197,7 +216,7 @@ static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sl // clang-format off # define TRANSACTIONS_ENCODERS_MASTER() TRANSACTION_HANDLER_MASTER(encoder) -# define TRANSACTIONS_ENCODERS_SLAVE() TRANSACTION_HANDLER_SLAVE(encoder) +# define TRANSACTIONS_ENCODERS_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(encoder) # define TRANSACTIONS_ENCODERS_REGISTRATIONS \ [GET_ENCODERS_CHECKSUM] = trans_target2initiator_initializer(encoders.checksum), \ [GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.state), @@ -239,7 +258,7 @@ static void sync_timer_handlers_slave(matrix_row_t master_matrix[], matrix_row_t } # define TRANSACTIONS_SYNC_TIMER_MASTER() TRANSACTION_HANDLER_MASTER(sync_timer) -# define TRANSACTIONS_SYNC_TIMER_SLAVE() TRANSACTION_HANDLER_SLAVE(sync_timer) +# define TRANSACTIONS_SYNC_TIMER_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(sync_timer) # define TRANSACTIONS_SYNC_TIMER_REGISTRATIONS [PUT_SYNC_TIMER] = trans_initiator2target_initializer(sync_timer), #else // DISABLE_SYNC_TIMER @@ -273,7 +292,7 @@ static void layer_state_handlers_slave(matrix_row_t master_matrix[], matrix_row_ // clang-format off # define TRANSACTIONS_LAYER_STATE_MASTER() TRANSACTION_HANDLER_MASTER(layer_state) -# define TRANSACTIONS_LAYER_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE(layer_state) +# define TRANSACTIONS_LAYER_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(layer_state) # define TRANSACTIONS_LAYER_STATE_REGISTRATIONS \ [PUT_LAYER_STATE] = trans_initiator2target_initializer(layers.layer_state), \ [PUT_DEFAULT_LAYER_STATE] = trans_initiator2target_initializer(layers.default_layer_state), @@ -304,7 +323,7 @@ static void led_state_handlers_slave(matrix_row_t master_matrix[], matrix_row_t } # define TRANSACTIONS_LED_STATE_MASTER() TRANSACTION_HANDLER_MASTER(led_state) -# define TRANSACTIONS_LED_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE(led_state) +# define TRANSACTIONS_LED_STATE_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(led_state) # define TRANSACTIONS_LED_STATE_REGISTRATIONS [PUT_LED_STATE] = trans_initiator2target_initializer(led_state), #else // SPLIT_LED_STATE_ENABLE @@ -353,10 +372,15 @@ static bool mods_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav } static void mods_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - set_mods(split_shmem->mods.real_mods); - set_weak_mods(split_shmem->mods.weak_mods); + split_shared_memory_lock(); + split_mods_sync_t mods; + memcpy(&mods, &split_shmem->mods, sizeof(split_mods_sync_t)); + split_shared_memory_unlock(); + + set_mods(mods.real_mods); + set_weak_mods(mods.weak_mods); # ifndef NO_ACTION_ONESHOT - set_oneshot_mods(split_shmem->mods.oneshot_mods); + set_oneshot_mods(mods.oneshot_mods); # endif } @@ -384,7 +408,11 @@ static bool backlight_handlers_master(matrix_row_t master_matrix[], matrix_row_t } static void backlight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - backlight_set(split_shmem->backlight_level); + split_shared_memory_lock(); + uint8_t backlight_level = split_shmem->backlight_level; + split_shared_memory_unlock(); + + backlight_set(backlight_level); } # define TRANSACTIONS_BACKLIGHT_MASTER() TRANSACTION_HANDLER_MASTER(backlight) @@ -417,10 +445,15 @@ static bool rgblight_handlers_master(matrix_row_t master_matrix[], matrix_row_t } static void rgblight_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + split_shared_memory_lock(); // Update the RGB with the new data - if (split_shmem->rgblight_sync.status.change_flags != 0) { - rgblight_update_sync(&split_shmem->rgblight_sync, false); - split_shmem->rgblight_sync.status.change_flags = 0; + rgblight_syncinfo_t rgblight_sync; + memcpy(&rgblight_sync, &split_shmem->rgblight_sync, sizeof(rgblight_syncinfo_t)); + split_shmem->rgblight_sync.status.change_flags = 0; + split_shared_memory_unlock(); + + if (rgblight_sync.status.change_flags != 0) { + rgblight_update_sync(&rgblight_sync, false); } } @@ -450,8 +483,12 @@ static bool led_matrix_handlers_master(matrix_row_t master_matrix[], matrix_row_ } static void led_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + split_shared_memory_lock(); memcpy(&led_matrix_eeconfig, &split_shmem->led_matrix_sync.led_matrix, sizeof(led_eeconfig_t)); - led_matrix_set_suspend_state(split_shmem->led_matrix_sync.led_suspend_state); + bool led_suspend_state = split_shmem->led_matrix_sync.led_suspend_state; + split_shared_memory_unlock(); + + led_matrix_set_suspend_state(led_suspend_state); } # define TRANSACTIONS_LED_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(led_matrix) @@ -480,8 +517,12 @@ static bool rgb_matrix_handlers_master(matrix_row_t master_matrix[], matrix_row_ } static void rgb_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + split_shared_memory_lock(); memcpy(&rgb_matrix_config, &split_shmem->rgb_matrix_sync.rgb_matrix, sizeof(rgb_config_t)); - rgb_matrix_set_suspend_state(split_shmem->rgb_matrix_sync.rgb_suspend_state); + bool rgb_suspend_state = split_shmem->rgb_matrix_sync.rgb_suspend_state; + split_shared_memory_unlock(); + + rgb_matrix_set_suspend_state(rgb_suspend_state); } # define TRANSACTIONS_RGB_MATRIX_MASTER() TRANSACTION_HANDLER_MASTER(rgb_matrix) @@ -512,7 +553,7 @@ static void wpm_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_ } # define TRANSACTIONS_WPM_MASTER() TRANSACTION_HANDLER_MASTER(wpm) -# define TRANSACTIONS_WPM_SLAVE() TRANSACTION_HANDLER_SLAVE(wpm) +# define TRANSACTIONS_WPM_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(wpm) # define TRANSACTIONS_WPM_REGISTRATIONS [PUT_WPM] = trans_initiator2target_initializer(current_wpm), #else // defined(WPM_ENABLE) && defined(SPLIT_WPM_ENABLE) @@ -535,7 +576,11 @@ static bool oled_handlers_master(matrix_row_t master_matrix[], matrix_row_t slav } static void oled_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - if (split_shmem->current_oled_state) { + split_shared_memory_lock(); + uint8_t current_oled_state = split_shmem->current_oled_state; + split_shared_memory_unlock(); + + if (current_oled_state) { oled_on(); } else { oled_off(); @@ -566,7 +611,11 @@ static bool st7565_handlers_master(matrix_row_t master_matrix[], matrix_row_t sl } static void st7565_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - if (split_shmem->current_st7565_state) { + split_shared_memory_lock(); + uint8_t current_st7565_state = split_shmem->current_st7565_state; + split_shared_memory_unlock(); + + if (current_st7565_state) { st7565_on(); } else { st7565_off(); @@ -607,9 +656,9 @@ static bool pointing_handlers_master(matrix_row_t master_matrix[], matrix_row_t bool okay = read_if_checksum_mismatch(GET_POINTING_CHECKSUM, GET_POINTING_DATA, &last_update, &temp_state, &split_shmem->pointing.report, sizeof(temp_state)); if (okay) pointing_device_set_shared_report(temp_state); temp_cpi = pointing_device_get_shared_cpi(); - if (temp_cpi && memcmp(&last_cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { - memcpy(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)); - okay = transport_write(PUT_POINTING_CPI, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi)); + if (temp_cpi && last_cpi != temp_cpi) { + split_shmem->pointing.cpi = temp_cpi; + okay = transport_write(PUT_POINTING_CPI, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi)); if (okay) { last_cpi = temp_cpi; } @@ -629,8 +678,6 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s return; } # endif - report_mouse_t temp_report; - uint16_t temp_cpi; # if (POINTING_DEVICE_TASK_THROTTLE_MS > 0) static uint32_t last_exec = 0; if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) { @@ -638,17 +685,25 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s } last_exec = timer_read32(); # endif - temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL - if (split_shmem->pointing.cpi && memcmp(&split_shmem->pointing.cpi, &temp_cpi, sizeof(temp_cpi)) != 0) { - if (pointing_device_driver.set_cpi) { - pointing_device_driver.set_cpi(split_shmem->pointing.cpi); - } + + uint16_t temp_cpi = !pointing_device_driver.get_cpi ? 0 : pointing_device_driver.get_cpi(); // check for NULL + + split_shared_memory_lock(); + split_slave_pointing_sync_t pointing; + memcpy(&pointing, &split_shmem->pointing, sizeof(split_slave_pointing_sync_t)); + split_shared_memory_unlock(); + + if (pointing.cpi && pointing.cpi != temp_cpi && pointing_device_driver.set_cpi) { + pointing_device_driver.set_cpi(pointing.cpi); } - memset(&temp_report, 0, sizeof(temp_report)); - temp_report = pointing_device_driver.get_report(temp_report); - memcpy(&split_shmem->pointing.report, &temp_report, sizeof(temp_report)); + + pointing.report = pointing_device_driver.get_report((report_mouse_t){0}); // Now update the checksum given that the pointing has been written to - split_shmem->pointing.checksum = crc8(&temp_report, sizeof(temp_report)); + pointing.checksum = crc8(&pointing.report, sizeof(report_mouse_t)); + + split_shared_memory_lock(); + memcpy(&split_shmem->pointing, &pointing, sizeof(split_slave_pointing_sync_t)); + split_shared_memory_unlock(); } # define TRANSACTIONS_POINTING_MASTER() TRANSACTION_HANDLER_MASTER(pointing) @@ -664,6 +719,36 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s #endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) //////////////////////////////////////////////////// +// WATCHDOG + +#if defined(SPLIT_WATCHDOG_ENABLE) + +static bool watchdog_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + bool okay = true; + if (!split_watchdog_check()) { + okay = transport_write(PUT_WATCHDOG, &okay, sizeof(okay)); + split_watchdog_update(okay); + } + return okay; +} + +static void watchdog_handlers_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { + split_watchdog_update(split_shmem->watchdog_pinged); +} + +# define TRANSACTIONS_WATCHDOG_MASTER() TRANSACTION_HANDLER_MASTER(watchdog) +# define TRANSACTIONS_WATCHDOG_SLAVE() TRANSACTION_HANDLER_SLAVE_AUTOLOCK(watchdog) +# define TRANSACTIONS_WATCHDOG_REGISTRATIONS [PUT_WATCHDOG] = trans_initiator2target_initializer(watchdog_pinged), + +#else // defined(SPLIT_WATCHDOG_ENABLE) + +# define TRANSACTIONS_WATCHDOG_MASTER() +# define TRANSACTIONS_WATCHDOG_SLAVE() +# define TRANSACTIONS_WATCHDOG_REGISTRATIONS + +#endif // defined(SPLIT_WATCHDOG_ENABLE) + +//////////////////////////////////////////////////// split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { // Set defaults @@ -689,6 +774,7 @@ split_transaction_desc_t split_transaction_table[NUM_TOTAL_TRANSACTIONS] = { TRANSACTIONS_OLED_REGISTRATIONS TRANSACTIONS_ST7565_REGISTRATIONS TRANSACTIONS_POINTING_REGISTRATIONS + TRANSACTIONS_WATCHDOG_REGISTRATIONS // clang-format on #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) @@ -715,6 +801,7 @@ bool transactions_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix TRANSACTIONS_OLED_MASTER(); TRANSACTIONS_ST7565_MASTER(); TRANSACTIONS_POINTING_MASTER(); + TRANSACTIONS_WATCHDOG_MASTER(); return true; } @@ -734,6 +821,7 @@ void transactions_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[ TRANSACTIONS_OLED_SLAVE(); TRANSACTIONS_ST7565_SLAVE(); TRANSACTIONS_POINTING_SLAVE(); + TRANSACTIONS_WATCHDOG_SLAVE(); } #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) diff --git a/quantum/split_common/transport.h b/quantum/split_common/transport.h index 06778ad14a..833633edc2 100644 --- a/quantum/split_common/transport.h +++ b/quantum/split_common/transport.h @@ -188,6 +188,10 @@ typedef struct _split_shared_memory_t { split_slave_pointing_sync_t pointing; #endif // defined(POINTING_DEVICE_ENABLE) && defined(SPLIT_POINTING_ENABLE) +#if defined(SPLIT_WATCHDOG_ENABLE) + bool watchdog_pinged; +#endif // defined(SPLIT_WATCHDOG_ENABLE) + #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) rpc_sync_info_t rpc_info; uint8_t rpc_m2s_buffer[RPC_M2S_BUFFER_SIZE]; diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c new file mode 100644 index 0000000000..3f934c9277 --- /dev/null +++ b/quantum/unicode/unicode.c @@ -0,0 +1,383 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#include "unicode.h" + +#include "eeprom.h" +#include "eeconfig.h" +#include "action.h" +#include "action_util.h" +#include "host.h" +#include "keycode.h" +#include "wait.h" +#include "audio.h" +#include "send_string.h" +#include "utf8.h" + +#if defined(UNICODE_ENABLE) + defined(UNICODEMAP_ENABLE) + defined(UCIS_ENABLE) > 1 +# error "Cannot enable more than one Unicode method (UNICODE, UNICODEMAP, UCIS) at the same time" +#endif + +// Keycodes used for starting Unicode input on different platforms +#ifndef UNICODE_KEY_MAC +# define UNICODE_KEY_MAC KC_LEFT_ALT +#endif +#ifndef UNICODE_KEY_LNX +# define UNICODE_KEY_LNX LCTL(LSFT(KC_U)) +#endif +#ifndef UNICODE_KEY_WINC +# define UNICODE_KEY_WINC KC_RIGHT_ALT +#endif + +// Comma-delimited, ordered list of input modes selected for use (e.g. in cycle) +// Example: #define UNICODE_SELECTED_MODES UC_WINC, UC_LNX +#ifndef UNICODE_SELECTED_MODES +# define UNICODE_SELECTED_MODES -1 +#endif + +// Whether input mode changes in cycle should be written to EEPROM +#ifndef UNICODE_CYCLE_PERSIST +# define UNICODE_CYCLE_PERSIST true +#endif + +// Delay between starting Unicode input and sending a sequence, in ms +#ifndef UNICODE_TYPE_DELAY +# define UNICODE_TYPE_DELAY 10 +#endif + +unicode_config_t unicode_config; +uint8_t unicode_saved_mods; +led_t unicode_saved_led_state; + +#if UNICODE_SELECTED_MODES != -1 +static uint8_t selected[] = {UNICODE_SELECTED_MODES}; +static int8_t selected_count = ARRAY_SIZE(selected); +static int8_t selected_index; +#endif + +/** \brief unicode input mode set at user level + * + * Run user code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_user(uint8_t input_mode) {} + +/** \brief unicode input mode set at keyboard level + * + * Run keyboard code on unicode input mode change + */ +__attribute__((weak)) void unicode_input_mode_set_kb(uint8_t input_mode) { + unicode_input_mode_set_user(input_mode); +} + +#ifdef AUDIO_ENABLE +# ifdef UNICODE_SONG_MAC +static float song_mac[][2] = UNICODE_SONG_MAC; +# endif +# ifdef UNICODE_SONG_LNX +static float song_lnx[][2] = UNICODE_SONG_LNX; +# endif +# ifdef UNICODE_SONG_WIN +static float song_win[][2] = UNICODE_SONG_WIN; +# endif +# ifdef UNICODE_SONG_BSD +static float song_bsd[][2] = UNICODE_SONG_BSD; +# endif +# ifdef UNICODE_SONG_WINC +static float song_winc[][2] = UNICODE_SONG_WINC; +# endif +# ifdef UNICODE_SONG_EMACS +static float song_emacs[][2] = UNICODE_SONG_EMACS; +# endif + +static void unicode_play_song(uint8_t mode) { + switch (mode) { +# ifdef UNICODE_SONG_MAC + case UC_MAC: + PLAY_SONG(song_mac); + break; +# endif +# ifdef UNICODE_SONG_LNX + case UC_LNX: + PLAY_SONG(song_lnx); + break; +# endif +# ifdef UNICODE_SONG_WIN + case UC_WIN: + PLAY_SONG(song_win); + break; +# endif +# ifdef UNICODE_SONG_BSD + case UC_BSD: + PLAY_SONG(song_bsd); + break; +# endif +# ifdef UNICODE_SONG_WINC + case UC_WINC: + PLAY_SONG(song_winc); + break; +# endif +# ifdef UNICODE_SONG_EMACS + case UC_EMACS: + PLAY_SONG(song_emacs); + break; +# endif + } +} +#endif + +void unicode_input_mode_init(void) { + unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE); +#if UNICODE_SELECTED_MODES != -1 +# if UNICODE_CYCLE_PERSIST + // Find input_mode in selected modes + int8_t i; + for (i = 0; i < selected_count; i++) { + if (selected[i] == unicode_config.input_mode) { + selected_index = i; + break; + } + } + if (i == selected_count) { + // Not found: input_mode isn't selected, change to one that is + unicode_config.input_mode = selected[selected_index = 0]; + } +# else + // Always change to the first selected input mode + unicode_config.input_mode = selected[selected_index = 0]; +# endif +#endif + unicode_input_mode_set_kb(unicode_config.input_mode); + dprintf("Unicode input mode init to: %u\n", unicode_config.input_mode); +} + +uint8_t get_unicode_input_mode(void) { + return unicode_config.input_mode; +} + +void set_unicode_input_mode(uint8_t mode) { + unicode_config.input_mode = mode; + persist_unicode_input_mode(); +#ifdef AUDIO_ENABLE + unicode_play_song(mode); +#endif + unicode_input_mode_set_kb(mode); + dprintf("Unicode input mode set to: %u\n", unicode_config.input_mode); +} + +void cycle_unicode_input_mode(int8_t offset) { +#if UNICODE_SELECTED_MODES != -1 + selected_index = (selected_index + offset) % selected_count; + if (selected_index < 0) { + selected_index += selected_count; + } + unicode_config.input_mode = selected[selected_index]; +# if UNICODE_CYCLE_PERSIST + persist_unicode_input_mode(); +# endif +# ifdef AUDIO_ENABLE + unicode_play_song(unicode_config.input_mode); +# endif + unicode_input_mode_set_kb(unicode_config.input_mode); + dprintf("Unicode input mode cycle to: %u\n", unicode_config.input_mode); +#endif +} + +void persist_unicode_input_mode(void) { + eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode); +} + +__attribute__((weak)) void unicode_input_start(void) { + unicode_saved_led_state = host_keyboard_led_state(); + + // Note the order matters here! + // Need to do this before we mess around with the mods, or else + // UNICODE_KEY_LNX (which is usually Ctrl-Shift-U) might not work + // correctly in the shifted case. + if (unicode_config.input_mode == UC_LNX && unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + + unicode_saved_mods = get_mods(); // Save current mods + clear_mods(); // Unregister mods to start from a clean state + clear_weak_mods(); + + switch (unicode_config.input_mode) { + case UC_MAC: + register_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code16(UNICODE_KEY_LNX); + break; + case UC_WIN: + // For increased reliability, use numpad keys for inputting digits + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + register_code(KC_LEFT_ALT); + wait_ms(UNICODE_TYPE_DELAY); + tap_code(KC_KP_PLUS); + break; + case UC_WINC: + tap_code(UNICODE_KEY_WINC); + tap_code(KC_U); + break; + case UC_EMACS: + // The usual way to type unicode in emacs is C-x-8 <RET> then the unicode number in hex + tap_code16(LCTL(KC_X)); + tap_code16(KC_8); + tap_code16(KC_ENTER); + break; + } + + wait_ms(UNICODE_TYPE_DELAY); +} + +__attribute__((weak)) void unicode_input_finish(void) { + switch (unicode_config.input_mode) { + case UC_MAC: + unregister_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code(KC_SPACE); + if (unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + break; + case UC_WIN: + unregister_code(KC_LEFT_ALT); + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + break; + case UC_WINC: + tap_code(KC_ENTER); + break; + case UC_EMACS: + tap_code16(KC_ENTER); + break; + } + + set_mods(unicode_saved_mods); // Reregister previously set mods +} + +__attribute__((weak)) void unicode_input_cancel(void) { + switch (unicode_config.input_mode) { + case UC_MAC: + unregister_code(UNICODE_KEY_MAC); + break; + case UC_LNX: + tap_code(KC_ESCAPE); + if (unicode_saved_led_state.caps_lock) { + tap_code(KC_CAPS_LOCK); + } + break; + case UC_WINC: + tap_code(KC_ESCAPE); + break; + case UC_WIN: + unregister_code(KC_LEFT_ALT); + if (!unicode_saved_led_state.num_lock) { + tap_code(KC_NUM_LOCK); + } + break; + case UC_EMACS: + tap_code16(LCTL(KC_G)); // C-g cancels + break; + } + + set_mods(unicode_saved_mods); // Reregister previously set mods +} + +// clang-format off + +static void send_nibble_wrapper(uint8_t digit) { + if (unicode_config.input_mode == UC_WIN) { + uint8_t kc = digit < 10 + ? KC_KP_1 + (10 + digit - 1) % 10 + : KC_A + (digit - 10); + tap_code(kc); + return; + } + send_nibble(digit); +} + +// clang-format on + +void register_hex(uint16_t hex) { + for (int i = 3; i >= 0; i--) { + uint8_t digit = ((hex >> (i * 4)) & 0xF); + send_nibble_wrapper(digit); + } +} + +void register_hex32(uint32_t hex) { + bool first_digit = true; + bool needs_leading_zero = (unicode_config.input_mode == UC_WINC); + for (int i = 7; i >= 0; i--) { + // Work out the digit we're going to transmit + uint8_t digit = ((hex >> (i * 4)) & 0xF); + + // If we're still searching for the first digit, and found one + // that needs a leading zero sent out, send the zero. + if (first_digit && needs_leading_zero && digit > 9) { + send_nibble_wrapper(0); + } + + // Always send digits (including zero) if we're down to the last + // two bytes of nibbles. + bool must_send = i < 4; + + // If we've found a digit worth transmitting, do so. + if (digit != 0 || !first_digit || must_send) { + send_nibble_wrapper(digit); + first_digit = false; + } + } +} + +void register_unicode(uint32_t code_point) { + if (code_point > 0x10FFFF || (code_point > 0xFFFF && unicode_config.input_mode == UC_WIN)) { + // Code point out of range, do nothing + return; + } + + unicode_input_start(); + if (code_point > 0xFFFF && unicode_config.input_mode == UC_MAC) { + // Convert code point to UTF-16 surrogate pair on macOS + code_point -= 0x10000; + uint32_t lo = code_point & 0x3FF, hi = (code_point & 0xFFC00) >> 10; + register_hex32(hi + 0xD800); + register_hex32(lo + 0xDC00); + } else { + register_hex32(code_point); + } + unicode_input_finish(); +} + +void send_unicode_string(const char *str) { + if (!str) { + return; + } + + while (*str) { + int32_t code_point = 0; + str = decode_utf8(str, &code_point); + + if (code_point >= 0) { + register_unicode(code_point); + } + } +} diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h new file mode 100644 index 0000000000..b3e43799ff --- /dev/null +++ b/quantum/unicode/unicode.h @@ -0,0 +1,165 @@ +/* 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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include <stdint.h> + +#include "quantum.h" + +typedef union { + uint32_t raw; + struct { + uint8_t input_mode : 8; + }; +} unicode_config_t; + +extern unicode_config_t unicode_config; + +enum unicode_input_modes { + UC_MAC, // macOS using Unicode Hex Input + UC_LNX, // Linux using IBus + UC_WIN, // Windows using EnableHexNumpad + UC_BSD, // BSD (not implemented) + UC_WINC, // Windows using WinCompose (https://github.com/samhocevar/wincompose) + UC_EMACS, // Emacs is an operating system in search of a good text editor + UC__COUNT // Number of available input modes (always leave at the end) +}; + +void unicode_input_mode_init(void); +uint8_t get_unicode_input_mode(void); +void set_unicode_input_mode(uint8_t mode); +void cycle_unicode_input_mode(int8_t offset); +void persist_unicode_input_mode(void); + +void unicode_input_mode_set_user(uint8_t input_mode); +void unicode_input_mode_set_kb(uint8_t input_mode); + +void unicode_input_start(void); +void unicode_input_finish(void); +void unicode_input_cancel(void); + +void register_hex(uint16_t hex); +void register_hex32(uint32_t hex); +void register_unicode(uint32_t code_point); + +void send_unicode_string(const char *str); + +// clang-format off + +#define UC_BSPC UC(0x0008) // (backspace) + +#define UC_SPC UC(0x0020) // (space) +#define UC_EXLM UC(0x0021) // ! +#define UC_DQUT UC(0x0022) // " +#define UC_HASH UC(0x0023) // # +#define UC_DLR UC(0x0024) // $ +#define UC_PERC UC(0x0025) // % +#define UC_AMPR UC(0x0026) // & +#define UC_QUOT UC(0x0027) // ' +#define UC_LPRN UC(0x0028) // ( +#define UC_RPRN UC(0x0029) // ) +#define UC_ASTR UC(0x002A) // * +#define UC_PLUS UC(0x002B) // + +#define UC_COMM UC(0x002C) // , +#define UC_DASH UC(0x002D) // - +#define UC_DOT UC(0x002E) // . +#define UC_SLSH UC(0x002F) // / + +#define UC_0 UC(0x0030) // 0 +#define UC_1 UC(0x0031) // 1 +#define UC_2 UC(0x0032) // 2 +#define UC_3 UC(0x0033) // 3 +#define UC_4 UC(0x0034) // 4 +#define UC_5 UC(0x0035) // 5 +#define UC_6 UC(0x0036) // 6 +#define UC_7 UC(0x0037) // 7 +#define UC_8 UC(0x0038) // 8 +#define UC_9 UC(0x0039) // 9 +#define UC_COLN UC(0x003A) // : +#define UC_SCLN UC(0x003B) // ; +#define UC_LT UC(0x003C) // < +#define UC_EQL UC(0x003D) // = +#define UC_GT UC(0x003E) // > +#define UC_QUES UC(0x003F) // ? + +#define UC_AT UC(0x0040) // @ +#define UC_A UC(0x0041) // A +#define UC_B UC(0x0042) // B +#define UC_C UC(0x0043) // C +#define UC_D UC(0x0044) // D +#define UC_E UC(0x0045) // E +#define UC_F UC(0x0046) // F +#define UC_G UC(0x0047) // G +#define UC_H UC(0x0048) // H +#define UC_I UC(0x0049) // I +#define UC_J UC(0x004A) // J +#define UC_K UC(0x004B) // K +#define UC_L UC(0x004C) // L +#define UC_M UC(0x004D) // M +#define UC_N UC(0x004E) // N +#define UC_O UC(0x004F) // O + +#define UC_P UC(0x0050) // P +#define UC_Q UC(0x0051) // Q +#define UC_R UC(0x0052) // R +#define UC_S UC(0x0053) // S +#define UC_T UC(0x0054) // T +#define UC_U UC(0x0055) // U +#define UC_V UC(0x0056) // V +#define UC_W UC(0x0057) // W +#define UC_X UC(0x0058) // X +#define UC_Y UC(0x0059) // Y +#define UC_Z UC(0x005A) // Z +#define UC_LBRC UC(0x005B) // [ +#define UC_BSLS UC(0x005C) // (backslash) +#define UC_RBRC UC(0x005D) // ] +#define UC_CIRM UC(0x005E) // ^ +#define UC_UNDR UC(0x005F) // _ + +#define UC_GRV UC(0x0060) // ` +#define UC_a UC(0x0061) // a +#define UC_b UC(0x0062) // b +#define UC_c UC(0x0063) // c +#define UC_d UC(0x0064) // d +#define UC_e UC(0x0065) // e +#define UC_f UC(0x0066) // f +#define UC_g UC(0x0067) // g +#define UC_h UC(0x0068) // h +#define UC_i UC(0x0069) // i +#define UC_j UC(0x006A) // j +#define UC_k UC(0x006B) // k +#define UC_l UC(0x006C) // l +#define UC_m UC(0x006D) // m +#define UC_n UC(0x006E) // n +#define UC_o UC(0x006F) // o + +#define UC_p UC(0x0070) // p +#define UC_q UC(0x0071) // q +#define UC_r UC(0x0072) // r +#define UC_s UC(0x0073) // s +#define UC_t UC(0x0074) // t +#define UC_u UC(0x0075) // u +#define UC_v UC(0x0076) // v +#define UC_w UC(0x0077) // w +#define UC_x UC(0x0078) // x +#define UC_y UC(0x0079) // y +#define UC_z UC(0x007A) // z +#define UC_LCBR UC(0x007B) // { +#define UC_PIPE UC(0x007C) // | +#define UC_RCBR UC(0x007D) // } +#define UC_TILD UC(0x007E) // ~ +#define UC_DEL UC(0x007F) // (delete) diff --git a/quantum/utf8.c b/quantum/unicode/utf8.c index 4b2cd4d8d4..4b2cd4d8d4 100644 --- a/quantum/utf8.c +++ b/quantum/unicode/utf8.c diff --git a/quantum/utf8.h b/quantum/unicode/utf8.h index fb10910944..521dd1918c 100644 --- a/quantum/utf8.h +++ b/quantum/unicode/utf8.h @@ -18,4 +18,4 @@ #include <stdint.h> -const char *decode_utf8(const char *str, int32_t *code_point);
\ No newline at end of file +const char *decode_utf8(const char *str, int32_t *code_point); diff --git a/quantum/util.h b/quantum/util.h index ab96ce4bde..9c034cc404 100644 --- a/quantum/util.h +++ b/quantum/util.h @@ -1,26 +1,11 @@ -/* -Copyright 2011 Jun Wako <wakojun@gmail.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 <http://www.gnu.org/licenses/>. -*/ +// Copyright 2022 Stefan Kerkmann (KarlK90) +// Copyright 2011 Jun Wako <wakojun@gmail.com> +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "bitwise.h" -// convert to L string -#define LSTR(s) XLSTR(s) -#define XLSTR(s) L## #s // convert to string #define STR(s) XSTR(s) #define XSTR(s) #s @@ -32,3 +17,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #if !defined(MAX) # define MAX(x, y) (((x) > (y)) ? (x) : (y)) #endif + +#if !defined(CEILING) +/** + * @brief Computes the rounded up result of a division of two integers at + * compile time. + */ +# define CEILING(dividend, divisor) (((dividend) + (divisor)-1) / (divisor)) +#endif + +#if !defined(IS_ARRAY) +/** + * @brief Returns true if the value is an array, false if it's a pointer. + * + * This macro is ill-formed for scalars, which is OK for its intended use in + * ARRAY_SIZE. + */ +# define IS_ARRAY(value) (!__builtin_types_compatible_p(typeof((value)), typeof(&(value)[0]))) +#endif + +#if !defined(ARRAY_SIZE) +/** + * @brief Computes the number of elements of the given array at compile time. + * + * This Macro can only be used for statically allocated arrays that have not + * been decayed into a pointer. This is detected at compile time, though the + * error message for scalar values is poor. + */ +# define ARRAY_SIZE(array) (__builtin_choose_expr(IS_ARRAY((array)), sizeof((array)) / sizeof((array)[0]), (void)0)) +#endif diff --git a/quantum/via_ensure_keycode.h b/quantum/via_ensure_keycode.h index 75f816b560..010e1d92d4 100644 --- a/quantum/via_ensure_keycode.h +++ b/quantum/via_ensure_keycode.h @@ -195,6 +195,8 @@ _Static_assert(KC_MFFD == 0x00BB, ""); _Static_assert(KC_MRWD == 0x00BC, ""); _Static_assert(KC_BRIU == 0x00BD, ""); _Static_assert(KC_BRID == 0x00BE, ""); +_Static_assert(KC_CPNL == 0x00BF, ""); +_Static_assert(KC_ASST == 0x00C0, ""); _Static_assert(KC_LEFT_CTRL == 0x00E0, ""); _Static_assert(KC_LEFT_SHIFT == 0x00E1, ""); @@ -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/tests/autocorrect/config.h b/tests/autocorrect/config.h new file mode 100644 index 0000000000..b68bf0c2d5 --- /dev/null +++ b/tests/autocorrect/config.h @@ -0,0 +1,6 @@ +// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "test_common.h" diff --git a/tests/autocorrect/test.mk b/tests/autocorrect/test.mk new file mode 100644 index 0000000000..7b97d8cce3 --- /dev/null +++ b/tests/autocorrect/test.mk @@ -0,0 +1,8 @@ +# Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> +# SPDX-License-Identifier: GPL-2.0-or-later + +# -------------------------------------------------------------------------------- +# Keep this file, even if it is empty, as a marker that this folder contains tests +# -------------------------------------------------------------------------------- + +AUTOCORRECT_ENABLE = yes diff --git a/tests/autocorrect/test_autocorrect.cpp b/tests/autocorrect/test_autocorrect.cpp new file mode 100644 index 0000000000..509c1c9ea4 --- /dev/null +++ b/tests/autocorrect/test_autocorrect.cpp @@ -0,0 +1,204 @@ +// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "keycode.h" +#include "test_common.hpp" + +using ::testing::_; +using ::testing::AnyNumber; +using ::testing::InSequence; + +class AutoCorrect : public TestFixture { + public: + void SetUp() override { + autocorrect_enable(); + } + // Convenience function to tap `key`. + void TapKey(KeymapKey key) { + key.press(); + run_one_scan_loop(); + key.release(); + run_one_scan_loop(); + } + + // Taps in order each key in `keys`. + template <typename... Ts> + void TapKeys(Ts... keys) { + for (KeymapKey key : {keys...}) { + TapKey(key); + } + } +}; + +// Test that verifies enable/disable/toggling works +TEST_F(AutoCorrect, OnOffToggle) { + TestDriver driver; + + EXPECT_EQ(autocorrect_is_enabled(), true); + + autocorrect_disable(); + EXPECT_EQ(autocorrect_is_enabled(), false); + autocorrect_disable(); + EXPECT_EQ(autocorrect_is_enabled(), false); + + autocorrect_enable(); + EXPECT_EQ(autocorrect_is_enabled(), true); + autocorrect_enable(); + EXPECT_EQ(autocorrect_is_enabled(), true); + + autocorrect_toggle(); + EXPECT_EQ(autocorrect_is_enabled(), false); + autocorrect_toggle(); + EXPECT_EQ(autocorrect_is_enabled(), true); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Test that typing "fales" autocorrects to "false" +TEST_F(AutoCorrect, fales_to_false_autocorrection) { + TestDriver driver; + auto key_f = KeymapKey(0, 0, 0, KC_F); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_l = KeymapKey(0, 2, 0, KC_L); + auto key_e = KeymapKey(0, 3, 0, KC_E); + auto key_s = KeymapKey(0, 4, 0, KC_S); + + set_keymap({key_f, key_a, key_l, key_e, key_s}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_F))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_BACKSPACE))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_S))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + } + + TapKeys(key_f, key_a, key_l, key_e, key_s); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Test that typing "fales" doesn't autocorrect if disabled +TEST_F(AutoCorrect, fales_disabled_autocorrect) { + TestDriver driver; + auto key_f = KeymapKey(0, 0, 0, KC_F); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_l = KeymapKey(0, 2, 0, KC_L); + auto key_e = KeymapKey(0, 3, 0, KC_E); + auto key_s = KeymapKey(0, 4, 0, KC_S); + + set_keymap({key_f, key_a, key_l, key_e, key_s}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_F))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_S))); + } + + autocorrect_disable(); + TapKeys(key_f, key_a, key_l, key_e, key_s); + autocorrect_enable(); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Test that typing "falsify" doesn't autocorrect if disabled +TEST_F(AutoCorrect, falsify_should_not_autocorrect) { + TestDriver driver; + auto key_f = KeymapKey(0, 0, 0, KC_F); + auto key_a = KeymapKey(0, 1, 0, KC_A); + auto key_l = KeymapKey(0, 2, 0, KC_L); + auto key_s = KeymapKey(0, 3, 0, KC_S); + auto key_i = KeymapKey(0, 4, 0, KC_I); + auto key_y = KeymapKey(0, 5, 0, KC_Y); + + set_keymap({key_f, key_a, key_l, key_s, key_i, key_y}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_F))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_L))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_S))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_I))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_F))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_Y))); + } + + TapKeys(key_f, key_a, key_l, key_s, key_i, key_f, key_y); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Test that typing "ture" autocorrect to "true" +TEST_F(AutoCorrect, ture_to_true_autocorrect) { + TestDriver driver; + auto key_t_code = KeymapKey(0, 0, 0, KC_T); + auto key_r = KeymapKey(0, 1, 0, KC_R); + auto key_u = KeymapKey(0, 2, 0, KC_U); + auto key_e = KeymapKey(0, 3, 0, KC_E); + auto key_space = KeymapKey(0, 4, 0, KC_SPACE); + + set_keymap({key_t_code, key_r, key_u, key_e, key_space}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_SPACE))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_T))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_U))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_R))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_BACKSPACE))).Times(2); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_R))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_U))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + } + + TapKeys(key_space, key_t_code, key_u, key_r, key_e); + + testing::Mock::VerifyAndClearExpectations(&driver); +} + +// Test that typing "overture" does not autocorrect +TEST_F(AutoCorrect, overture_should_not_autocorrect) { + TestDriver driver; + auto key_t_code = KeymapKey(0, 0, 0, KC_T); + auto key_r = KeymapKey(0, 1, 0, KC_R); + auto key_u = KeymapKey(0, 2, 0, KC_U); + auto key_e = KeymapKey(0, 3, 0, KC_E); + auto key_o = KeymapKey(0, 4, 0, KC_O); + auto key_v = KeymapKey(0, 5, 0, KC_V); + + set_keymap({key_t_code, key_r, key_u, key_e, key_o, key_v}); + + // Allow any number of empty reports. + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())).Times(AnyNumber()); + { // Expect the following reports in this order. + InSequence s; + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_O))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_V))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_R))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_T))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_U))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_R))); + EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_E))); + } + + TapKeys(key_o, key_v, key_e, key_r, key_t_code, key_u, key_r, key_e); + + testing::Mock::VerifyAndClearExpectations(&driver); +} diff --git a/tests/tap_dance/tap_dance_layers/config.h b/tests/tap_dance/tap_dance_layers/config.h new file mode 100644 index 0000000000..32a19a8c68 --- /dev/null +++ b/tests/tap_dance/tap_dance_layers/config.h @@ -0,0 +1,6 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "test_common.h" diff --git a/tests/tap_dance/tap_dance_layers/tap_dance_defs.c b/tests/tap_dance/tap_dance_layers/tap_dance_defs.c new file mode 100644 index 0000000000..5ec900c041 --- /dev/null +++ b/tests/tap_dance/tap_dance_layers/tap_dance_defs.c @@ -0,0 +1,97 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "tap_dance_defs.h" + +// Implement custom keycodes which are used to check that the layer switching +// behaves properly. +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case FAST_AB: + case SLOW_AB: + if (record->event.pressed) { + tap_code(KC_A); + } else { + tap_code(KC_B); + } + return keycode == SLOW_AB; + case FAST_CD: + case SLOW_CD: + if (record->event.pressed) { + tap_code(KC_C); + } else { + tap_code(KC_D); + } + return keycode == SLOW_CD; + } + return true; +} + +// Implement a custom tap dance with the following behavior: +// - single tap: KC_APP +// - single hold: MO(1) +// - double tap/hold: KC_RCTL +// (The single tap and hold actions are mostly equivalent to LT(1, KC_APP).) + +enum lt_app_state { + LTA_NONE, + LTA_SINGLE_TAP, + LTA_SINGLE_HOLD, + LTA_DOUBLE_HOLD, +}; + +static enum lt_app_state saved_lt_app_state; + +static enum lt_app_state get_lt_app_state(qk_tap_dance_state_t *state) { + if (state->count == 1) { + if (!state->pressed) { + return LTA_SINGLE_TAP; + } else { + return LTA_SINGLE_HOLD; + } + } else if (state->count == 2) { + return LTA_DOUBLE_HOLD; + } else { + return LTA_NONE; + } +} + +static void lt_app_finished(qk_tap_dance_state_t *state, void *user_data) { + saved_lt_app_state = get_lt_app_state(state); + switch (saved_lt_app_state) { + case LTA_NONE: + break; + case LTA_SINGLE_TAP: + register_code(KC_APP); + break; + case LTA_SINGLE_HOLD: + layer_on(1); + break; + case LTA_DOUBLE_HOLD: + register_code(KC_RCTL); + break; + } +} + +static void lt_app_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (saved_lt_app_state) { + case LTA_NONE: + break; + case LTA_SINGLE_TAP: + unregister_code(KC_APP); + break; + case LTA_SINGLE_HOLD: + layer_off(1); + break; + case LTA_DOUBLE_HOLD: + unregister_code(KC_RCTL); + break; + } +} + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_L_MOVE] = ACTION_TAP_DANCE_LAYER_MOVE(KC_APP, 1), + [TD_L_TOGG] = ACTION_TAP_DANCE_LAYER_TOGGLE(KC_APP, 1), + [TD_LT_APP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lt_app_finished, lt_app_reset), +}; diff --git a/tests/tap_dance/tap_dance_layers/tap_dance_defs.h b/tests/tap_dance/tap_dance_layers/tap_dance_defs.h new file mode 100644 index 0000000000..37cab0c2cb --- /dev/null +++ b/tests/tap_dance/tap_dance_layers/tap_dance_defs.h @@ -0,0 +1,29 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +enum custom_keycodes { + // (FAST|SLOW)_xy = tap KC_x on press, tap KC_y on release. For FAST_xy + // process_record_user() returns false to stop processing early; for + // SLOW_xy process_record_user() returns true, therefore all other key + // handlers are invoked. + FAST_AB = SAFE_RANGE, + FAST_CD, + SLOW_AB, + SLOW_CD, +}; + +enum tap_dance_ids { + TD_L_MOVE, // ACTION_TAP_DANCE_LAYER_MOVE(KC_APP, 1) + TD_L_TOGG, // ACTION_TAP_DANCE_LAYER_TOGGLE(KC_APP, 1) + TD_LT_APP, // similar to LT(1, KC_APP) with KC_RCTL on tap+hold or double tap +}; + +#ifdef __cplusplus +} +#endif diff --git a/tests/tap_dance/tap_dance_layers/test.mk b/tests/tap_dance/tap_dance_layers/test.mk new file mode 100644 index 0000000000..b4cdc9b088 --- /dev/null +++ b/tests/tap_dance/tap_dance_layers/test.mk @@ -0,0 +1,10 @@ +# Copyright 2022 Sergey Vlasov (@sigprof) +# SPDX-License-Identifier: GPL-2.0-or-later + +# -------------------------------------------------------------------------------- +# Keep this file, even if it is empty, as a marker that this folder contains tests +# -------------------------------------------------------------------------------- + +TAP_DANCE_ENABLE = yes + +SRC += tap_dance_defs.c diff --git a/tests/tap_dance/tap_dance_layers/test_tap_dance_layers.cpp b/tests/tap_dance/tap_dance_layers/test_tap_dance_layers.cpp new file mode 100644 index 0000000000..8b736b19c6 --- /dev/null +++ b/tests/tap_dance/tap_dance_layers/test_tap_dance_layers.cpp @@ -0,0 +1,717 @@ +// Copyright 2022 Sergey Vlasov (@sigprof) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "keyboard_report_util.hpp" +#include "keycode.h" +#include "test_common.hpp" +#include "action_tapping.h" +#include "test_keymap_key.hpp" +#include "tap_dance_defs.h" + +using testing::_; +using testing::InSequence; + +struct TapDanceKeyParams { + std::string name; // Tap dance name (part of test name) + uint16_t keycode; // Tap dance keycode (TD(n)) + uint16_t expect_on_tap; // Keycode for single tap + uint16_t expect_on_hold; // Keycode for single hold (may be MO(1)) + uint16_t expect_on_double_tap; // Keycode for double tap (may be MO(1)) + uint16_t expect_on_double_hold; // Keycode for double hold (may be MO(1)) +}; + +struct OtherKeyLayerParams { + uint16_t keycode; // Keycode in the keymap + uint16_t expect_on_press; // Keycode to expect on press + uint16_t expect_on_release; // Keycode to expect on release (may be KC_NO if none) +}; + +struct OtherKeyParams { + std::string name; // Other key name (part of test name) + OtherKeyLayerParams l0; // Keycodes for layer 0 + OtherKeyLayerParams l1; // Keycodes for layer 1 +}; + +typedef std::tuple<TapDanceKeyParams, OtherKeyParams> TapDanceLayersParams; + +class TapDanceLayers : public ::testing::WithParamInterface<TapDanceLayersParams>, public TestFixture { + protected: + TapDanceKeyParams tap_dance; + OtherKeyParams other_key; + + std::unique_ptr<KeymapKey> key_td, key_td_l1, key_other, key_other_l1; + + void SetUp() override { + std::tie(tap_dance, other_key) = GetParam(); + + key_td = std::make_unique<KeymapKey>(0, 1, 0, tap_dance.keycode); + key_td_l1 = std::make_unique<KeymapKey>(1, 1, 0, KC_TRNS); + key_other = std::make_unique<KeymapKey>(0, 2, 0, other_key.l0.keycode); + key_other_l1 = std::make_unique<KeymapKey>(1, 2, 0, other_key.l1.keycode); + + set_keymap({*key_td, *key_td_l1, *key_other, *key_other_l1}); + } +}; + +static const TapDanceKeyParams tap_dance_keys[] = { + TapDanceKeyParams{ + "LayerMove", + TD(TD_L_MOVE), + KC_APP, + KC_APP, + MO(1), + MO(1), + }, + TapDanceKeyParams{ + "LayerToggle", + TD(TD_L_TOGG), + KC_APP, + KC_APP, + MO(1), + MO(1), + }, + TapDanceKeyParams{ + "CustomLT", + TD(TD_LT_APP), + KC_APP, + MO(1), + KC_RCTL, + KC_RCTL, + }, +}; + +static const OtherKeyParams other_keys[] = { + OtherKeyParams{ + "Builtin", + OtherKeyLayerParams{KC_A, KC_A, KC_NO}, + OtherKeyLayerParams{KC_B, KC_B, KC_NO}, + }, + OtherKeyParams{ + "CustomFast", + OtherKeyLayerParams{FAST_AB, KC_A, KC_B}, + OtherKeyLayerParams{FAST_CD, KC_C, KC_D}, + }, + OtherKeyParams{ + "CustomSlow", + OtherKeyLayerParams{SLOW_AB, KC_A, KC_B}, + OtherKeyLayerParams{SLOW_CD, KC_C, KC_D}, + }, +}; + +// clang-format off +INSTANTIATE_TEST_CASE_P( + Layers, + TapDanceLayers, + ::testing::Combine( + ::testing::ValuesIn(tap_dance_keys), + ::testing::ValuesIn(other_keys) + ), + [](const ::testing::TestParamInfo<TapDanceLayersParams>& info) { + return std::get<0>(info.param).name + std::get<1>(info.param).name; + } +); +// clang-format on + +// Test single tap of the tap dance key with tapping term delay after the tap. +TEST_P(TapDanceLayers, SingleTap) { + TestDriver driver; + InSequence s; + + // The tap of the tap dance key does not result in sending a report + // immediately. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + + // After the tapping term expires, a tap event for the single tap keycode + // is generated. + idle_for(TAPPING_TERM - 1); + EXPECT_REPORT(driver, (tap_dance.expect_on_tap)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 0 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test single tap of the tap dance key without a delay between the tap dance +// key and the other key. +TEST_P(TapDanceLayers, SingleTapFast) { + TestDriver driver; + InSequence s; + + // The tap of the tap dance key does not result in sending a report + // immediately. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + + // A quick press of the other key causes the tap event for the tap dance to + // be sent before the press event for the other key, and the layer 0 + // mapping is used for the other key. + EXPECT_REPORT(driver, (tap_dance.expect_on_tap)); + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test single hold of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which switch the layer on hold). +TEST_P(TapDanceLayers, SingleHoldLayer) { + if (tap_dance.expect_on_hold != MO(1)) { + // Do nothing - the SingleHoldKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the hold of the tap dance key. + EXPECT_NO_REPORT(driver); + key_td->press(); + run_one_scan_loop(); + + // After the tapping term expires, the tap dance finishes and switches the + // layer, but does not send a report. + EXPECT_NO_REPORT(driver); + idle_for(TAPPING_TERM); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key does not produce a report. + EXPECT_NO_REPORT(driver); + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test single hold of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which send a keycode on single hold). +TEST_P(TapDanceLayers, SingleHoldKeycode) { + if (tap_dance.expect_on_hold == MO(1)) { + // Do nothing - the SingleHoldLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the hold of the tap dance key. + EXPECT_NO_REPORT(driver); + key_td->press(); + run_one_scan_loop(); + + // After the tapping term expires, the tap dance sends the report with the + // hold keycode. + EXPECT_NO_REPORT(driver); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (tap_dance.expect_on_hold)); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 0 mapping of + // that key. + EXPECT_REPORT(driver, (tap_dance.expect_on_hold, other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (tap_dance.expect_on_hold)); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key sends the release report for the + // corresponding hold keycode. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } else { + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + } + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test single hold of the tap dance key without tapping term delay after the +// hold (test variant for tap dances which switch the layer on hold). +TEST_P(TapDanceLayers, SingleHoldFastLayer) { + if (tap_dance.expect_on_hold != MO(1)) { + // Do nothing - the SingleHoldFastKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the hold of the tap dance key. + EXPECT_NO_REPORT(driver); + key_td->press(); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key does not produce a report. + EXPECT_NO_REPORT(driver); + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test single hold of the tap dance key without tapping term delay after the hold +// (test variant for tap dances which send a keycode on single hold). +TEST_P(TapDanceLayers, SingleHoldFastKeycode) { + if (tap_dance.expect_on_hold == MO(1)) { + // Do nothing - the SingleHoldFastLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the hold of the tap dance key. + EXPECT_NO_REPORT(driver); + key_td->press(); + run_one_scan_loop(); + + // Pressing the other key produces first the report for the tap dance hold + // keycode, and then the reports for the layer 0 mapping of the other key. + EXPECT_REPORT(driver, (tap_dance.expect_on_hold)); + EXPECT_REPORT(driver, (tap_dance.expect_on_hold, other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (tap_dance.expect_on_hold)); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key sends a release report for the corresponding + // hold keycode. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } else { + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + } + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double tap of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which switch the layer on double tap). +TEST_P(TapDanceLayers, DoubleTapLayer) { + if (tap_dance.expect_on_double_tap != MO(1)) { + // Do nothing - the DoubleTapKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double tap of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + tap_key(*key_td); + + // After the tapping term this tap dance does not send a report too. + EXPECT_NO_REPORT(driver); + idle_for(TAPPING_TERM); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double tap of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which send a keycode on double tap). +TEST_P(TapDanceLayers, DoubleTapKeycode) { + if (tap_dance.expect_on_double_tap == MO(1)) { + // Do nothing - the DoubleTapLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double tap of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + tap_key(*key_td); + + // After the tapping term this tap dance sends the double tap keycode. + idle_for(TAPPING_TERM - 1); + EXPECT_REPORT(driver, (tap_dance.expect_on_double_tap)); + EXPECT_EMPTY_REPORT(driver); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 0 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double tap of the tap dance key without tapping term delay after the +// hold (test variant for tap dances which switch the layer on double tap). +TEST_P(TapDanceLayers, DoubleTapFastLayer) { + if (tap_dance.expect_on_double_tap != MO(1)) { + // Do nothing - the DoubleTapFastKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double tap of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + tap_key(*key_td); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double tap of the tap dance key without tapping term delay after the +// hold (test variant for tap dances which send a keycode on double tap). +TEST_P(TapDanceLayers, DoubleTapFastKeycode) { + if (tap_dance.expect_on_double_tap == MO(1)) { + // Do nothing - the DoubleTapFastLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double tap of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + tap_key(*key_td); + + // Pressing the other key produces first the report for the tap dance + // double tap keycode, and then the reports for the layer 0 mapping of the + // other key. + EXPECT_REPORT(driver, (tap_dance.expect_on_double_tap)); + EXPECT_EMPTY_REPORT(driver); + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double hold of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which switch the layer on double hold). +TEST_P(TapDanceLayers, DoubleHoldLayer) { + if (tap_dance.expect_on_double_hold != MO(1)) { + // Do nothing - the DoubleHoldKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double hold of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + key_td->press(); + run_one_scan_loop(); + + // After the tapping term expires, the tap dance finishes and switches the + // layer, but does not send a report. + EXPECT_NO_REPORT(driver); + idle_for(TAPPING_TERM); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key does not produce a report. + EXPECT_NO_REPORT(driver); + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double hold of the tap dance key with tapping term delay after the hold +// (test variant for tap dances which send a keycode on double hold). +TEST_P(TapDanceLayers, DoubleHoldKeycode) { + if (tap_dance.expect_on_double_hold == MO(1)) { + // Do nothing - the DoubleHoldLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double hold of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + key_td->press(); + run_one_scan_loop(); + + // After the tapping term expires, the tap dance sends the report with the + // double hold keycode. + EXPECT_NO_REPORT(driver); + idle_for(TAPPING_TERM); + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold)); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 0 mapping of + // that key. + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold, other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold)); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key sends the release report for the + // corresponding double hold keycode. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } else { + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + } + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double hold of the tap dance key without tapping term delay after the +// hold (test variant for tap dances which switch the layer on double hold). +TEST_P(TapDanceLayers, DoubleHoldFastLayer) { + if (tap_dance.expect_on_double_hold != MO(1)) { + // Do nothing - the DoubleHoldFastKeycode test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double hold of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + key_td->press(); + run_one_scan_loop(); + + // Pressing the other key produces the reports for the layer 1 mapping of + // that key. + EXPECT_REPORT(driver, (other_key.l1.expect_on_press)); + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key does not produce a report. + EXPECT_NO_REPORT(driver); + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the reports for the layer 1 mapping of + // that key. + if (other_key.l1.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l1.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} + +// Test double hold of the tap dance key without tapping term delay after the hold +// (test variant for tap dances which send a keycode on double hold). +TEST_P(TapDanceLayers, DoubleHoldFastKeycode) { + if (tap_dance.expect_on_double_hold == MO(1)) { + // Do nothing - the DoubleHoldFastLayer test would run instead. + return; + } + + TestDriver driver; + InSequence s; + + // No report gets sent immediately after the double hold of the tap dance + // key. + EXPECT_NO_REPORT(driver); + tap_key(*key_td); + key_td->press(); + run_one_scan_loop(); + + // Pressing the other key produces first the report for the tap dance + // double hold keycode, and then the reports for the layer 0 mapping of the + // other key. + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold)); + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold, other_key.l0.expect_on_press)); + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (tap_dance.expect_on_double_hold)); + } + key_other->press(); + run_one_scan_loop(); + + // Releasing the tap dance key sends a release report for the corresponding + // double hold keycode. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_EMPTY_REPORT(driver); + } else { + EXPECT_REPORT(driver, (other_key.l0.expect_on_press)); + } + key_td->release(); + run_one_scan_loop(); + + // Releasing the other key produces the report for the layer 0 mapping of + // that key. + if (other_key.l0.expect_on_release != KC_NO) { + EXPECT_REPORT(driver, (other_key.l0.expect_on_release)); + } + EXPECT_EMPTY_REPORT(driver); + key_other->release(); + run_one_scan_loop(); +} diff --git a/tests/test_common/test_driver.cpp b/tests/test_common/test_driver.cpp index 86644ab6bd..f1c52cb7b6 100644 --- a/tests/test_common/test_driver.cpp +++ b/tests/test_common/test_driver.cpp @@ -31,7 +31,7 @@ uint8_t hex_digit_to_keycode(uint8_t digit) { } } // namespace -TestDriver::TestDriver() : m_driver{&TestDriver::keyboard_leds, &TestDriver::send_keyboard, &TestDriver::send_mouse, &TestDriver::send_system, &TestDriver::send_consumer} { +TestDriver::TestDriver() : m_driver{&TestDriver::keyboard_leds, &TestDriver::send_keyboard, &TestDriver::send_mouse, &TestDriver::send_extra} { host_set_driver(&m_driver); m_this = this; } @@ -53,12 +53,8 @@ void TestDriver::send_mouse(report_mouse_t* report) { m_this->send_mouse_mock(*report); } -void TestDriver::send_system(uint16_t data) { - m_this->send_system_mock(data); -} - -void TestDriver::send_consumer(uint16_t data) { - m_this->send_consumer(data); +void TestDriver::send_extra(report_extra_t* report) { + m_this->send_extra_mock(*report); } namespace internal { diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp index b58cfd1ebc..c97bda8bc5 100644 --- a/tests/test_common/test_driver.hpp +++ b/tests/test_common/test_driver.hpp @@ -32,15 +32,13 @@ class TestDriver { MOCK_METHOD1(send_keyboard_mock, void(report_keyboard_t&)); MOCK_METHOD1(send_mouse_mock, void(report_mouse_t&)); - MOCK_METHOD1(send_system_mock, void(uint16_t)); - MOCK_METHOD1(send_consumer_mock, void(uint16_t)); + MOCK_METHOD1(send_extra_mock, void(report_extra_t&)); private: static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t* report); static void send_mouse(report_mouse_t* report); - static void send_system(uint16_t data); - static void send_consumer(uint16_t data); + static void send_extra(report_extra_t* report); host_driver_t m_driver; uint8_t m_leds = 0; static TestDriver* m_this; diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index 8ee9e042e7..1ccfbfb54a 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -37,14 +37,13 @@ void main_subtasks(void); uint8_t keyboard_leds(void); void send_keyboard(report_keyboard_t *report); void send_mouse(report_mouse_t *report); -void send_system(uint16_t data); -void send_consumer(uint16_t data); +void send_extra(report_extra_t *report); #ifdef DEFERRED_EXEC_ENABLE void deferred_exec_task(void); #endif // DEFERRED_EXEC_ENABLE -host_driver_t arm_atsam_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer}; +host_driver_t arm_atsam_driver = {keyboard_leds, send_keyboard, send_mouse, send_extra}; uint8_t led_states; @@ -114,33 +113,20 @@ void send_mouse(report_mouse_t *report) { #endif // MOUSEKEY_ENABLE } +void send_extra(report_extra_t *report) { #ifdef EXTRAKEY_ENABLE -void send_extra(uint8_t report_id, uint16_t data) { uint32_t irqflags; irqflags = __get_PRIMASK(); __disable_irq(); __DMB(); - udi_hid_exk_report.desc.report_id = report_id; - udi_hid_exk_report.desc.report_data = data; - udi_hid_exk_b_report_valid = 1; + memcpy(udi_hid_exk_report, report, UDI_HID_EXK_REPORT_SIZE); + udi_hid_exk_b_report_valid = 1; udi_hid_exk_send_report(); __DMB(); __set_PRIMASK(irqflags); -} -#endif // EXTRAKEY_ENABLE - -void send_system(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_SYSTEM, data); -#endif // EXTRAKEY_ENABLE -} - -void send_consumer(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_CONSUMER, data); #endif // EXTRAKEY_ENABLE } diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c index 69b3ad574c..58fc4efd9c 100644 --- a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c +++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c @@ -95,7 +95,7 @@ led_setup_t leds_rainbow_s[] = { void *led_setups[] = {leds_rainbow_s, leds_rainbow_ns, leds_teal_salmon, leds_yellow, leds_red, leds_green, leds_blue, leds_white, leds_white_with_red_stripe, leds_black_with_red_stripe, leds_off}; -const uint8_t led_setups_count = sizeof(led_setups) / sizeof(led_setups[0]); +const uint8_t led_setups_count = ARRAY_SIZE(led_setups); # endif // USE_MASSDROP_CONFIGURATOR #endif // RGB_MATRIX_ENABLE
\ No newline at end of file diff --git a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h index eeed196275..a3c6f1c397 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_device_conf.h @@ -352,21 +352,9 @@ typedef struct { // clang-format on -// set report buffer (from host) -extern uint8_t udi_hid_exk_report_set; - // report buffer # define UDI_HID_EXK_REPORT_SIZE 3 - -typedef union { - struct { - uint8_t report_id; - uint16_t report_data; - } desc; - uint8_t raw[UDI_HID_EXK_REPORT_SIZE]; -} udi_hid_exk_report_t; - -extern udi_hid_exk_report_t udi_hid_exk_report; +extern uint8_t udi_hid_exk_report[UDI_HID_EXK_REPORT_SIZE]; COMPILER_PACK_RESET() diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c index be4f2bb0c9..5d681a8b71 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.c @@ -371,13 +371,13 @@ static uint8_t udi_hid_exk_rate; COMPILER_WORD_ALIGNED static uint8_t udi_hid_exk_protocol; -COMPILER_WORD_ALIGNED -uint8_t udi_hid_exk_report_set; +// COMPILER_WORD_ALIGNED +// uint8_t udi_hid_exk_report_set; bool udi_hid_exk_b_report_valid; COMPILER_WORD_ALIGNED -udi_hid_exk_report_t udi_hid_exk_report; +uint8_t udi_hid_exk_report[UDI_HID_EXK_REPORT_SIZE]; static bool udi_hid_exk_b_report_trans_ongoing; @@ -415,39 +415,24 @@ UDC_DESC_STORAGE udi_hid_exk_report_desc_t udi_hid_exk_report_desc = {{ //clang-format on }}; -static bool udi_hid_exk_setreport(void); - static void udi_hid_exk_report_sent(udd_ep_status_t status, iram_size_t nb_sent, udd_ep_id_t ep); -static void udi_hid_exk_setreport_valid(void); - bool udi_hid_exk_enable(void) { // Initialize internal values udi_hid_exk_rate = 0; udi_hid_exk_protocol = 0; udi_hid_exk_b_report_trans_ongoing = false; - memset(udi_hid_exk_report.raw, 0, UDI_HID_EXK_REPORT_SIZE); + memset(udi_hid_exk_report, 0, UDI_HID_EXK_REPORT_SIZE); udi_hid_exk_b_report_valid = false; return UDI_HID_EXK_ENABLE_EXT(); } void udi_hid_exk_disable(void) { UDI_HID_EXK_DISABLE_EXT(); } -bool udi_hid_exk_setup(void) { return udi_hid_setup(&udi_hid_exk_rate, &udi_hid_exk_protocol, (uint8_t *)&udi_hid_exk_report_desc, udi_hid_exk_setreport); } +bool udi_hid_exk_setup(void) { return udi_hid_setup(&udi_hid_exk_rate, &udi_hid_exk_protocol, (uint8_t *)&udi_hid_exk_report_desc, NULL); } uint8_t udi_hid_exk_getsetting(void) { return 0; } -static bool udi_hid_exk_setreport(void) { - if ((USB_HID_REPORT_TYPE_OUTPUT == (udd_g_ctrlreq.req.wValue >> 8)) && (0 == (0xFF & udd_g_ctrlreq.req.wValue)) && (1 == udd_g_ctrlreq.req.wLength)) { - // Report OUT type on report ID 0 from USB Host - udd_g_ctrlreq.payload = &udi_hid_exk_report_set; - udd_g_ctrlreq.callback = udi_hid_exk_setreport_valid; - udd_g_ctrlreq.payload_size = 1; - return true; - } - return false; -} - bool udi_hid_exk_send_report(void) { if (!main_b_exk_enable) { return false; @@ -457,7 +442,7 @@ bool udi_hid_exk_send_report(void) { return false; } - memcpy(udi_hid_exk_report_trans, udi_hid_exk_report.raw, UDI_HID_EXK_REPORT_SIZE); + memcpy(udi_hid_exk_report_trans, udi_hid_exk_report, UDI_HID_EXK_REPORT_SIZE); udi_hid_exk_b_report_valid = false; udi_hid_exk_b_report_trans_ongoing = udd_ep_run(UDI_HID_EXK_EP_IN | USB_EP_DIR_IN, false, udi_hid_exk_report_trans, UDI_HID_EXK_REPORT_SIZE, udi_hid_exk_report_sent); @@ -474,8 +459,6 @@ static void udi_hid_exk_report_sent(udd_ep_status_t status, iram_size_t nb_sent, } } -static void udi_hid_exk_setreport_valid(void) {} - #endif // EXTRAKEY_ENABLE //******************************************************************************************** diff --git a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h index a330014498..e17538fa70 100644 --- a/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h +++ b/tmk_core/protocol/arm_atsam/usb/udi_hid_kbd.h @@ -79,7 +79,6 @@ bool udi_hid_nkro_send_report(void); #ifdef EXTRAKEY_ENABLE extern UDC_DESC_STORAGE udi_api_t udi_api_hid_exk; extern bool udi_hid_exk_b_report_valid; -extern uint8_t udi_hid_exk_report_set; bool udi_hid_exk_send_report(void); #endif // EXTRAKEY_ENABLE diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index c9a480c325..10a976608a 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -58,13 +58,10 @@ uint8_t keyboard_leds(void); void send_keyboard(report_keyboard_t *report); void send_mouse(report_mouse_t *report); -void send_system(uint16_t data); -void send_consumer(uint16_t data); -void send_programmable_button(uint32_t data); -void send_digitizer(report_digitizer_t *report); +void send_extra(report_extra_t *report); /* host struct */ -host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer, send_programmable_button}; +host_driver_t chibios_driver = {keyboard_leds, send_keyboard, send_mouse, send_extra}; #ifdef VIRTSER_ENABLE void virtser_task(void); diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index eb9ef82554..5eda5dd09f 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -50,10 +50,6 @@ extern keymap_config_t keymap_config; #endif -#ifdef JOYSTICK_ENABLE -# include "joystick.h" -#endif - /* --------------------------------------------------------- * Global interface variables and declarations * --------------------------------------------------------- @@ -738,6 +734,7 @@ void init_usb_driver(USBDriver *usbp) { * after a reset. */ usbDisconnectBus(usbp); + usbStop(usbp); wait_ms(50); usbStart(usbp, &usbcfg); usbConnectBus(usbp); @@ -746,8 +743,8 @@ void init_usb_driver(USBDriver *usbp) { } __attribute__((weak)) void restart_usb_driver(USBDriver *usbp) { - usbStop(usbp); usbDisconnectBus(usbp); + usbStop(usbp); #if USB_SUSPEND_WAKEUP_DELAY > 0 // Some hubs, kvm switches, and monitors do @@ -946,8 +943,8 @@ void shared_in_cb(USBDriver *usbp, usbep_t ep) { * --------------------------------------------------------- */ +void send_extra(report_extra_t *report) { #ifdef EXTRAKEY_ENABLE -static void send_extra(uint8_t report_id, uint16_t data) { osalSysLock(); if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { osalSysUnlock(); @@ -965,27 +962,12 @@ static void send_extra(uint8_t report_id, uint16_t data) { } } - static report_extra_t report; - report = (report_extra_t){.report_id = report_id, .usage = data}; - - usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)&report, sizeof(report_extra_t)); + usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)report, sizeof(report_extra_t)); osalSysUnlock(); -} -#endif - -void send_system(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_SYSTEM, data); -#endif -} - -void send_consumer(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_CONSUMER, data); #endif } -void send_programmable_button(uint32_t data) { +void send_programmable_button(report_programmable_button_t *report) { #ifdef PROGRAMMABLE_BUTTON_ENABLE osalSysLock(); if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { @@ -1003,13 +985,8 @@ void send_programmable_button(uint32_t data) { return; } } - static report_programmable_button_t report = { - .report_id = REPORT_ID_PROGRAMMABLE_BUTTON, - }; - - report.usage = data; - usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)&report, sizeof(report)); + usbStartTransmitI(&USB_DRIVER, SHARED_IN_EPNUM, (uint8_t *)report, sizeof(report_programmable_button_t)); osalSysUnlock(); #endif } @@ -1163,59 +1140,15 @@ void virtser_task(void) { #endif +void send_joystick(report_joystick_t *report) { #ifdef JOYSTICK_ENABLE - -void send_joystick_packet(joystick_t *joystick) { - static joystick_report_t rep; - rep = (joystick_report_t) { -# if JOYSTICK_AXES_COUNT > 0 - .axes = - { joystick->axes[0], - -# if JOYSTICK_AXES_COUNT >= 2 - joystick->axes[1], -# endif -# if JOYSTICK_AXES_COUNT >= 3 - joystick->axes[2], -# endif -# if JOYSTICK_AXES_COUNT >= 4 - joystick->axes[3], -# endif -# if JOYSTICK_AXES_COUNT >= 5 - joystick->axes[4], -# endif -# if JOYSTICK_AXES_COUNT >= 6 - joystick->axes[5], -# endif - }, -# endif // JOYSTICK_AXES_COUNT>0 - -# if JOYSTICK_BUTTON_COUNT > 0 - .buttons = { - joystick->buttons[0], - -# if JOYSTICK_BUTTON_COUNT > 8 - joystick->buttons[1], -# endif -# if JOYSTICK_BUTTON_COUNT > 16 - joystick->buttons[2], -# endif -# if JOYSTICK_BUTTON_COUNT > 24 - joystick->buttons[3], -# endif - } -# endif // JOYSTICK_BUTTON_COUNT>0 - }; - - // chnWrite(&drivers.joystick_driver.driver, (uint8_t *)&rep, sizeof(rep)); osalSysLock(); if (usbGetDriverStateI(&USB_DRIVER) != USB_ACTIVE) { osalSysUnlock(); return; } - usbStartTransmitI(&USB_DRIVER, JOYSTICK_IN_EPNUM, (uint8_t *)&rep, sizeof(joystick_report_t)); + usbStartTransmitI(&USB_DRIVER, JOYSTICK_IN_EPNUM, (uint8_t *)report, sizeof(report_joystick_t)); osalSysUnlock(); -} - #endif +} diff --git a/tmk_core/protocol/chibios/usb_util.c b/tmk_core/protocol/chibios/usb_util.c index c8b435db0c..a8c7d9a228 100644 --- a/tmk_core/protocol/chibios/usb_util.c +++ b/tmk_core/protocol/chibios/usb_util.c @@ -17,6 +17,7 @@ #include "usb_util.h" void usb_disconnect(void) { + usbDisconnectBus(&USBD1); usbStop(&USBD1); } diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c index 3d8604d541..b441d2d5d9 100644 --- a/tmk_core/protocol/host.c +++ b/tmk_core/protocol/host.c @@ -16,13 +16,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> -//#include <avr/interrupt.h> #include "keyboard.h" #include "keycode.h" #include "host.h" #include "util.h" #include "debug.h" -#include "digitizer.h" + +#ifdef DIGITIZER_ENABLE +# include "digitizer.h" +#endif + +#ifdef JOYSTICK_ENABLE +# include "joystick.h" +#endif + +#ifdef BLUETOOTH_ENABLE +# include "bluetooth.h" +# include "outputselect.h" +#endif #ifdef NKRO_ENABLE # include "keycode_config.h" @@ -30,9 +41,8 @@ extern keymap_config_t keymap_config; #endif static host_driver_t *driver; -static uint16_t last_system_report = 0; -static uint16_t last_consumer_report = 0; -static uint32_t last_programmable_button_report = 0; +static uint16_t last_system_usage = 0; +static uint16_t last_consumer_usage = 0; void host_set_driver(host_driver_t *d) { driver = d; @@ -63,6 +73,13 @@ 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; + } +#endif + if (!driver) return; #if defined(NKRO_ENABLE) && defined(NKRO_SHARED_EP) if (keyboard_protocol && keymap_config.nkro) { @@ -90,6 +107,13 @@ void host_keyboard_send(report_keyboard_t *report) { } void host_mouse_send(report_mouse_t *report) { +#ifdef BLUETOOTH_ENABLE + if (where_to_send() == OUTPUT_BLUETOOTH) { + bluetooth_send_mouse(report); + return; + } +#endif + if (!driver) return; #ifdef MOUSE_SHARED_EP report->report_id = REPORT_ID_MOUSE; @@ -102,29 +126,97 @@ void host_mouse_send(report_mouse_t *report) { (*driver->send_mouse)(report); } -void host_system_send(uint16_t report) { - if (report == last_system_report) return; - last_system_report = report; +void host_system_send(uint16_t usage) { + if (usage == last_system_usage) return; + last_system_usage = usage; if (!driver) return; - (*driver->send_system)(report); + + report_extra_t report = { + .report_id = REPORT_ID_SYSTEM, + .usage = usage, + }; + (*driver->send_extra)(&report); } -void host_consumer_send(uint16_t report) { - if (report == last_consumer_report) return; - last_consumer_report = report; +void host_consumer_send(uint16_t usage) { + if (usage == last_consumer_usage) return; + last_consumer_usage = usage; + +#ifdef BLUETOOTH_ENABLE + if (where_to_send() == OUTPUT_BLUETOOTH) { + bluetooth_send_consumer(usage); + return; + } +#endif if (!driver) return; - (*driver->send_consumer)(report); + + report_extra_t report = { + .report_id = REPORT_ID_CONSUMER, + .usage = usage, + }; + (*driver->send_extra)(&report); } -void host_digitizer_send(digitizer_t *digitizer) { +#ifdef JOYSTICK_ENABLE +void host_joystick_send(joystick_t *joystick) { if (!driver) return; + report_joystick_t report = { +# if JOYSTICK_AXES_COUNT > 0 + .axes = + { + joystick->axes[0], + +# if JOYSTICK_AXES_COUNT >= 2 + joystick->axes[1], +# endif +# if JOYSTICK_AXES_COUNT >= 3 + joystick->axes[2], +# endif +# if JOYSTICK_AXES_COUNT >= 4 + joystick->axes[3], +# endif +# if JOYSTICK_AXES_COUNT >= 5 + joystick->axes[4], +# endif +# if JOYSTICK_AXES_COUNT >= 6 + joystick->axes[5], +# endif + }, +# endif + +# if JOYSTICK_BUTTON_COUNT > 0 + .buttons = + { + joystick->buttons[0], + +# if JOYSTICK_BUTTON_COUNT > 8 + joystick->buttons[1], +# endif +# if JOYSTICK_BUTTON_COUNT > 16 + joystick->buttons[2], +# endif +# if JOYSTICK_BUTTON_COUNT > 24 + joystick->buttons[3], +# endif + }, +# endif + }; + + send_joystick(&report); +} +#endif + +__attribute__((weak)) void send_joystick(report_joystick_t *report) {} + +#ifdef DIGITIZER_ENABLE +void host_digitizer_send(digitizer_t *digitizer) { report_digitizer_t report = { -#ifdef DIGITIZER_SHARED_EP +# ifdef DIGITIZER_SHARED_EP .report_id = REPORT_ID_DIGITIZER, -#endif +# endif .tip = digitizer->tipswitch & 0x1, .inrange = digitizer->inrange & 0x1, .x = (uint16_t)(digitizer->x * 0x7FFF), @@ -133,25 +225,27 @@ void host_digitizer_send(digitizer_t *digitizer) { send_digitizer(&report); } +#endif __attribute__((weak)) void send_digitizer(report_digitizer_t *report) {} -void host_programmable_button_send(uint32_t report) { - if (report == last_programmable_button_report) return; - last_programmable_button_report = report; +#ifdef PROGRAMMABLE_BUTTON_ENABLE +void host_programmable_button_send(uint32_t data) { + report_programmable_button_t report = { + .report_id = REPORT_ID_PROGRAMMABLE_BUTTON, + .usage = data, + }; - if (!driver) return; - (*driver->send_programmable_button)(report); + send_programmable_button(&report); } +#endif -uint16_t host_last_system_report(void) { - return last_system_report; -} +__attribute__((weak)) void send_programmable_button(report_programmable_button_t *report) {} -uint16_t host_last_consumer_report(void) { - return last_consumer_report; +uint16_t host_last_system_usage(void) { + return last_system_usage; } -uint32_t host_last_programmable_button_report(void) { - return last_programmable_button_report; +uint16_t host_last_consumer_usage(void) { + return last_consumer_usage; } diff --git a/tmk_core/protocol/host.h b/tmk_core/protocol/host.h index 6b15f0d0c1..dfa86cd7b5 100644 --- a/tmk_core/protocol/host.h +++ b/tmk_core/protocol/host.h @@ -45,13 +45,12 @@ uint8_t host_keyboard_leds(void); led_t host_keyboard_led_state(void); void host_keyboard_send(report_keyboard_t *report); void host_mouse_send(report_mouse_t *report); -void host_system_send(uint16_t data); -void host_consumer_send(uint16_t data); +void host_system_send(uint16_t usage); +void host_consumer_send(uint16_t usage); void host_programmable_button_send(uint32_t data); -uint16_t host_last_system_report(void); -uint16_t host_last_consumer_report(void); -uint32_t host_last_programmable_button_report(void); +uint16_t host_last_system_usage(void); +uint16_t host_last_consumer_usage(void); #ifdef __cplusplus } diff --git a/tmk_core/protocol/host_driver.h b/tmk_core/protocol/host_driver.h index affd0dcb34..7dc6c3d810 100644 --- a/tmk_core/protocol/host_driver.h +++ b/tmk_core/protocol/host_driver.h @@ -27,9 +27,9 @@ typedef struct { uint8_t (*keyboard_leds)(void); void (*send_keyboard)(report_keyboard_t *); void (*send_mouse)(report_mouse_t *); - void (*send_system)(uint16_t); - void (*send_consumer)(uint16_t); - void (*send_programmable_button)(uint32_t); + void (*send_extra)(report_extra_t *); } host_driver_t; -void send_digitizer(report_digitizer_t *report);
\ No newline at end of file +void send_joystick(report_joystick_t *report); +void send_digitizer(report_digitizer_t *report); +void send_programmable_button(report_programmable_button_t *report); diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c index b4b03357a3..fa3ced8fd6 100644 --- a/tmk_core/protocol/lufa/lufa.c +++ b/tmk_core/protocol/lufa/lufa.c @@ -61,19 +61,6 @@ extern keymap_config_t keymap_config; #endif -#ifdef AUDIO_ENABLE -# include "audio.h" -#endif - -#ifdef BLUETOOTH_ENABLE -# include "outputselect.h" -# ifdef BLUETOOTH_BLUEFRUIT_LE -# include "bluefruit_le.h" -# elif BLUETOOTH_RN42 -# include "rn42.h" -# endif -#endif - #ifdef VIRTSER_ENABLE # include "virtser.h" #endif @@ -86,10 +73,6 @@ extern keymap_config_t keymap_config; # include "raw_hid.h" #endif -#ifdef JOYSTICK_ENABLE -# include "joystick.h" -#endif - uint8_t keyboard_idle = 0; /* 0: Boot Protocol, 1: Report Protocol(default) */ uint8_t keyboard_protocol = 1; @@ -101,10 +84,8 @@ static report_keyboard_t keyboard_report_sent; static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t *report); static void send_mouse(report_mouse_t *report); -static void send_system(uint16_t data); -static void send_consumer(uint16_t data); -static void send_programmable_button(uint32_t data); -host_driver_t lufa_driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer, send_programmable_button}; +static void send_extra(report_extra_t *report); +host_driver_t lufa_driver = {keyboard_leds, send_keyboard, send_mouse, send_extra}; #ifdef VIRTSER_ENABLE // clang-format off @@ -271,51 +252,10 @@ static void Console_Task(void) { /******************************************************************************* * Joystick ******************************************************************************/ +void send_joystick(report_joystick_t *report) { #ifdef JOYSTICK_ENABLE -void send_joystick_packet(joystick_t *joystick) { uint8_t timeout = 255; - static joystick_report_t r; - r = (joystick_report_t) { -# if JOYSTICK_AXES_COUNT > 0 - .axes = - { joystick->axes[0], - -# if JOYSTICK_AXES_COUNT >= 2 - joystick->axes[1], -# endif -# if JOYSTICK_AXES_COUNT >= 3 - joystick->axes[2], -# endif -# if JOYSTICK_AXES_COUNT >= 4 - joystick->axes[3], -# endif -# if JOYSTICK_AXES_COUNT >= 5 - joystick->axes[4], -# endif -# if JOYSTICK_AXES_COUNT >= 6 - joystick->axes[5], -# endif - }, -# endif // JOYSTICK_AXES_COUNT>0 - -# if JOYSTICK_BUTTON_COUNT > 0 - .buttons = { - joystick->buttons[0], - -# if JOYSTICK_BUTTON_COUNT > 8 - joystick->buttons[1], -# endif -# if JOYSTICK_BUTTON_COUNT > 16 - joystick->buttons[2], -# endif -# if JOYSTICK_BUTTON_COUNT > 24 - joystick->buttons[3], -# endif - } -# endif // JOYSTICK_BUTTON_COUNT>0 - }; - /* Select the Joystick Report Endpoint */ Endpoint_SelectEndpoint(JOYSTICK_IN_EPNUM); @@ -325,12 +265,12 @@ void send_joystick_packet(joystick_t *joystick) { if (!Endpoint_IsReadWriteAllowed()) return; /* Write Joystick Report Data */ - Endpoint_Write_Stream_LE(&r, sizeof(joystick_report_t), NULL); + Endpoint_Write_Stream_LE(report, sizeof(report_joystick_t), NULL); /* Finalize the stream transfer to send the last packet */ Endpoint_ClearIN(); -} #endif +} /******************************************************************************* * USB Events @@ -649,17 +589,6 @@ static uint8_t keyboard_leds(void) { static void send_keyboard(report_keyboard_t *report) { uint8_t timeout = 255; -#ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef BLUETOOTH_BLUEFRUIT_LE - bluefruit_le_send_keys(report->mods, report->keys, sizeof(report->keys)); -# elif BLUETOOTH_RN42 - rn42_send_keyboard(report); -# endif - return; - } -#endif - /* Select the Keyboard Report Endpoint */ uint8_t ep = KEYBOARD_IN_EPNUM; uint8_t size = KEYBOARD_REPORT_SIZE; @@ -696,18 +625,6 @@ static void send_mouse(report_mouse_t *report) { #ifdef MOUSE_ENABLE uint8_t timeout = 255; -# ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef BLUETOOTH_BLUEFRUIT_LE - // FIXME: mouse buttons - bluefruit_le_send_mouse_move(report->x, report->y, report->v, report->h, report->buttons); -# elif BLUETOOTH_RN42 - rn42_send_mouse(report); -# endif - return; - } -# endif - /* Select the Mouse Report Endpoint */ Endpoint_SelectEndpoint(MOUSE_IN_EPNUM); @@ -746,50 +663,15 @@ static void send_report(void *report, size_t size) { * * FIXME: Needs doc */ +static void send_extra(report_extra_t *report) { #ifdef EXTRAKEY_ENABLE -static void send_extra(uint8_t report_id, uint16_t data) { - static report_extra_t r; - r = (report_extra_t){.report_id = report_id, .usage = data}; - send_report(&r, sizeof(r)); -} -#endif - -/** \brief Send System - * - * FIXME: Needs doc - */ -static void send_system(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_SYSTEM, data); -#endif -} - -/** \brief Send Consumer - * - * FIXME: Needs doc - */ -static void send_consumer(uint16_t data) { -#ifdef EXTRAKEY_ENABLE -# ifdef BLUETOOTH_ENABLE - if (where_to_send() == OUTPUT_BLUETOOTH) { -# ifdef BLUETOOTH_BLUEFRUIT_LE - bluefruit_le_send_consumer_key(data); -# elif BLUETOOTH_RN42 - rn42_send_consumer(data); -# endif - return; - } -# endif - - send_extra(REPORT_ID_CONSUMER, data); + send_report(report, sizeof(report_extra_t)); #endif } -static void send_programmable_button(uint32_t data) { +void send_programmable_button(report_programmable_button_t *report) { #ifdef PROGRAMMABLE_BUTTON_ENABLE - static report_programmable_button_t r; - r = (report_programmable_button_t){.report_id = REPORT_ID_PROGRAMMABLE_BUTTON, .usage = data}; - send_report(&r, sizeof(r)); + send_report(report, sizeof(report_programmable_button_t)); #endif } @@ -1028,10 +910,6 @@ void protocol_pre_init(void) { setup_usb(); sei(); -#if defined(BLUETOOTH_RN42) - rn42_init(); -#endif - /* wait for USB startup & debug output */ #ifdef WAIT_FOR_USB @@ -1083,10 +961,6 @@ void protocol_post_task(void) { MIDI_Device_USBTask(&USB_MIDI_Interface); #endif -#ifdef BLUETOOTH_BLUEFRUIT_LE - bluefruit_le_task(); -#endif - #ifdef VIRTSER_ENABLE virtser_task(); CDC_Device_USBTask(&cdc_device); diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 735ccdb4a1..8bc4a57c0c 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -245,7 +245,7 @@ typedef struct { #if JOYSTICK_BUTTON_COUNT > 0 uint8_t buttons[(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1]; #endif -} __attribute__((packed)) joystick_report_t; +} __attribute__((packed)) report_joystick_t; /* keycode to system usage */ static inline uint16_t KEYCODE2SYSTEM(uint8_t key) { @@ -292,6 +292,10 @@ static inline uint16_t KEYCODE2CONSUMER(uint8_t key) { return AL_CALCULATOR; case KC_MY_COMPUTER: return AL_LOCAL_BROWSER; + case KC_CONTROL_PANEL: + return AL_CONTROL_PANEL; + case KC_ASSISTANT: + return AL_ASSISTANT; case KC_WWW_SEARCH: return AC_SEARCH; case KC_WWW_HOME: diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 21795cef60..7117d2fc11 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -1046,7 +1046,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = { */ const USB_Descriptor_String_t PROGMEM LanguageString = { .Header = { - .Size = USB_STRING_LEN(1), + .Size = 4, .Type = DTYPE_String }, .UnicodeString = {LANGUAGE_ID_ENG} @@ -1054,24 +1054,24 @@ const USB_Descriptor_String_t PROGMEM LanguageString = { const USB_Descriptor_String_t PROGMEM ManufacturerString = { .Header = { - .Size = USB_STRING_LEN(sizeof(STR(MANUFACTURER)) - 1), // Subtract 1 for null terminator + .Size = sizeof(USBSTR(MANUFACTURER)), .Type = DTYPE_String }, - .UnicodeString = LSTR(MANUFACTURER) + .UnicodeString = USBSTR(MANUFACTURER) }; const USB_Descriptor_String_t PROGMEM ProductString = { .Header = { - .Size = USB_STRING_LEN(sizeof(STR(PRODUCT)) - 1), // Subtract 1 for null terminator + .Size = sizeof(USBSTR(PRODUCT)), .Type = DTYPE_String }, - .UnicodeString = LSTR(PRODUCT) + .UnicodeString = USBSTR(PRODUCT) }; #if defined(SERIAL_NUMBER) const USB_Descriptor_String_t PROGMEM SerialNumberString = { .Header = { - .Size = USB_STRING_LEN(sizeof(SERIAL_NUMBER) - 1), // Subtract 1 for null terminator + .Size = sizeof(USBSTR(SERIAL_NUMBER)), .Type = DTYPE_String }, .UnicodeString = USBSTR(SERIAL_NUMBER) diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index d07cc0d27e..84b01b203e 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -224,11 +224,9 @@ void console_task(void) { static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t *report); static void send_mouse(report_mouse_t *report); -static void send_system(uint16_t data); -static void send_consumer(uint16_t data); -static void send_programmable_button(uint32_t data); +static void send_extra(report_extra_t *report); -static host_driver_t driver = {keyboard_leds, send_keyboard, send_mouse, send_system, send_consumer, send_programmable_button}; +static host_driver_t driver = {keyboard_leds, send_keyboard, send_mouse, send_extra}; host_driver_t *vusb_driver(void) { return &driver; @@ -269,31 +267,11 @@ static void send_mouse(report_mouse_t *report) { #endif } +static void send_extra(report_extra_t *report) { #ifdef EXTRAKEY_ENABLE -static void send_extra(uint8_t report_id, uint16_t data) { - static uint8_t last_id = 0; - static uint16_t last_data = 0; - if ((report_id == last_id) && (data == last_data)) return; - last_id = report_id; - last_data = data; - - static report_extra_t report; - report = (report_extra_t){.report_id = report_id, .usage = data}; if (usbInterruptIsReadyShared()) { - usbSetInterruptShared((void *)&report, sizeof(report_extra_t)); + usbSetInterruptShared((void *)report, sizeof(report_extra_t)); } -} -#endif - -static void send_system(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_SYSTEM, data); -#endif -} - -static void send_consumer(uint16_t data) { -#ifdef EXTRAKEY_ENABLE - send_extra(REPORT_ID_CONSUMER, data); #endif } @@ -305,16 +283,10 @@ void send_digitizer(report_digitizer_t *report) { #endif } -static void send_programmable_button(uint32_t data) { +void send_programmable_button(report_programmable_button_t *report) { #ifdef PROGRAMMABLE_BUTTON_ENABLE - static report_programmable_button_t report = { - .report_id = REPORT_ID_PROGRAMMABLE_BUTTON, - }; - - report.usage = data; - if (usbInterruptIsReadyShared()) { - usbSetInterruptShared((void *)&report, sizeof(report)); + usbSetInterruptShared((void *)report, sizeof(report_programmable_button_t)); } #endif } @@ -672,7 +644,7 @@ const PROGMEM uchar console_hid_report[] = { // clang-format off const PROGMEM usbStringDescriptor_t usbStringDescriptorZero = { .header = { - .bLength = USB_STRING_LEN(1), + .bLength = 4, .bDescriptorType = USBDESCR_STRING }, .bString = {0x0409} // US English @@ -680,24 +652,24 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorZero = { const PROGMEM usbStringDescriptor_t usbStringDescriptorManufacturer = { .header = { - .bLength = USB_STRING_LEN(sizeof(STR(MANUFACTURER)) - 1), + .bLength = sizeof(USBSTR(MANUFACTURER)), .bDescriptorType = USBDESCR_STRING }, - .bString = LSTR(MANUFACTURER) + .bString = USBSTR(MANUFACTURER) }; const PROGMEM usbStringDescriptor_t usbStringDescriptorProduct = { .header = { - .bLength = USB_STRING_LEN(sizeof(STR(PRODUCT)) - 1), + .bLength = sizeof(USBSTR(PRODUCT)), .bDescriptorType = USBDESCR_STRING }, - .bString = LSTR(PRODUCT) + .bString = USBSTR(PRODUCT) }; #if defined(SERIAL_NUMBER) const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = { .header = { - .bLength = USB_STRING_LEN(sizeof(SERIAL_NUMBER) - 1), + .bLength = sizeof(USBSTR(SERIAL_NUMBER)), .bDescriptorType = USBDESCR_STRING }, .bString = USBSTR(SERIAL_NUMBER) diff --git a/tmk_core/protocol/vusb/vusb.h b/tmk_core/protocol/vusb/vusb.h index b1ecc98f37..c5cb27ded6 100644 --- a/tmk_core/protocol/vusb/vusb.h +++ b/tmk_core/protocol/vusb/vusb.h @@ -118,8 +118,6 @@ typedef struct usbConfigurationDescriptor { #endif } __attribute__((packed)) usbConfigurationDescriptor_t; -#define USB_STRING_LEN(s) (sizeof(usbDescriptorHeader_t) + ((s) << 1)) - extern bool vusb_suspended; host_driver_t *vusb_driver(void); diff --git a/users/arkag/arkag.c b/users/arkag/arkag.c index da85d4f6d4..00abbf2ae3 100644 --- a/users/arkag/arkag.c +++ b/users/arkag/arkag.c @@ -190,7 +190,7 @@ void set_os (uint8_t os, bool update) { } switch (os) { case OS_MAC: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); underglow = (Color){ 213, 255, 255 }; break; case OS_WIN: diff --git a/users/bbaserdem/bb-rgb.c b/users/bbaserdem/bb-rgb.c index bdb7f12bbd..49b91129ba 100644 --- a/users/bbaserdem/bb-rgb.c +++ b/users/bbaserdem/bb-rgb.c @@ -23,7 +23,7 @@ // Allow hooking into the RGB matrix indications using keymap code -// Modulates the brightness of indicator +// Modulates the brightness of indicator RGB helper_dimmer(uint8_t r, uint8_t g, uint8_t b) { RGB output; output.r = r / 2; @@ -63,12 +63,12 @@ __attribute__ ((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_mi return false; } // Set RGB state depending on layer -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { uint8_t thisInd = 3; RGB thisCol; // Load keymap hooks if(rgb_matrix_indicators_advanced_keymap(led_min, led_max)) { - return; + return false; } // Grab color info switch (get_highest_layer(layer_state)) { @@ -110,6 +110,7 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; } helper_painter(led_min, led_max, thisCol, thisInd); + return false; } // Hook into shutdown code to make all perkey LED's red on hitting reset @@ -120,11 +121,3 @@ void shutdown_rgb(void) { // Delay until this registers while(timer_elapsed(timer_start) < 250) {wait_ms(1);} } - -// Hook into suspend code -void suspend_power_down_rgb(void) { - rgb_matrix_set_suspend_state(true); -} -void suspend_wakeup_init_rgb(void) { - rgb_matrix_set_suspend_state(false); -} diff --git a/users/bbaserdem/bb-rgb.h b/users/bbaserdem/bb-rgb.h index 62b6da9f2f..3e96b997fe 100644 --- a/users/bbaserdem/bb-rgb.h +++ b/users/bbaserdem/bb-rgb.h @@ -21,7 +21,7 @@ */ // For custom indicators -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max); // Hook into shutdown code void shutdown_rgb(void); void suspend_wakeup_init_rgb(void); diff --git a/users/bbaserdem/config.h b/users/bbaserdem/config.h index 477378102b..3c467d5e7d 100644 --- a/users/bbaserdem/config.h +++ b/users/bbaserdem/config.h @@ -121,7 +121,7 @@ // For perkey leds #ifdef RGB_MATRIX_ENABLE // This is not working -//# define RGB_DISABLE_TIMEOUT 1800000 +//# define RGB_MATRIX_TIMEOUT 1800000 # define RGB_DISABLE_WHEN_USB_SUSPENDED true // Start using this mode # define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_RAINBOW_BEACON diff --git a/users/brandonschlack/rgb_bs.c b/users/brandonschlack/rgb_bs.c index 1abf785b49..6b88503f41 100644 --- a/users/brandonschlack/rgb_bs.c +++ b/users/brandonschlack/rgb_bs.c @@ -75,7 +75,7 @@ void rgb_theme_step_reverse(void) { rgb_theme_color_t get_rgb_theme_color(uint8_t index) { rgb_theme_t theme = get_rgb_theme(); - size_t rgb_theme_color_max = sizeof theme.colors / sizeof *theme.colors; + size_t rgb_theme_color_max = ARRAY_SIZE(theme.colors); if (index == _ADJUST) { return default_adjust; @@ -98,7 +98,7 @@ void rgb_theme_layer(layer_state_t state) { #ifdef RGB_MATRIX_ENABLE void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) { - for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (!HAS_ANY_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color( i, red, green, blue ); } diff --git a/users/byungyoonc/saturated_solid_multisplash.h b/users/byungyoonc/saturated_solid_multisplash.h index f302348524..c6850a7873 100644 --- a/users/byungyoonc/saturated_solid_multisplash.h +++ b/users/byungyoonc/saturated_solid_multisplash.h @@ -43,7 +43,7 @@ static bool saturated_solid_multisplash(effect_params_t* params) { RGB rgb = rgb_matrix_hsv_to_rgb(hsv); rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } - return led_max < DRIVER_LED_TOTAL; + return led_max < RGB_MATRIX_LED_COUNT; } # endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS diff --git a/users/curry/oled.c b/users/curry/oled.c index 5a8f0de61d..89112af121 100644 --- a/users/curry/oled.c +++ b/users/curry/oled.c @@ -41,7 +41,7 @@ void add_keylog(uint16_t keycode) { keylog_str[i] = keylog_str[i - 1]; } - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[0] = pgm_read_byte(&code_to_name[keycode]); } diff --git a/users/curry/rgb_matrix_user.c b/users/curry/rgb_matrix_user.c index 96f1f1d4f3..3c2008aa01 100644 --- a/users/curry/rgb_matrix_user.c +++ b/users/curry/rgb_matrix_user.c @@ -36,7 +36,7 @@ void check_default_layer(uint8_t mode, uint8_t type) { } } -void rgb_matrix_indicators_user(void) { +bool rgb_matrix_indicators_user(void) { if (userspace_config.rgb_layer_change && rgb_matrix_config.enable) { switch (get_highest_layer(layer_state)) { case _RAISE: @@ -55,6 +55,7 @@ void rgb_matrix_indicators_user(void) { } check_default_layer(0, LED_FLAG_MODIFIER); } + return false; } bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { @@ -131,7 +132,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(RGBLED_NUM, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } @@ -141,7 +142,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/users/davidkristoffersen/util/functions.c b/users/davidkristoffersen/util/functions.c index 781d8f214d..3ab4ace2d6 100644 --- a/users/davidkristoffersen/util/functions.c +++ b/users/davidkristoffersen/util/functions.c @@ -33,14 +33,14 @@ code_set_t EN_SHIFT_CODES [] = { const shift_code_t SHIFT_CODES [] = { #ifdef LAYER_NO {.lang = LAYER_NO, - .size = ARR_LEN(NO_SHIFT_CODES), + .size = ARRAY_SIZE(NO_SHIFT_CODES), .codes = NO_SHIFT_CODES}, #endif {.lang = LAYER_EN, - .size = ARR_LEN(EN_SHIFT_CODES), + .size = ARRAY_SIZE(EN_SHIFT_CODES), .codes = EN_SHIFT_CODES}, }; -const int SHIFT_CODES_SIZE = ARR_LEN(SHIFT_CODES); +const int SHIFT_CODES_SIZE = ARRAY_SIZE(SHIFT_CODES); #endif #ifdef LAYER_NO @@ -72,7 +72,7 @@ const code_set_t EN2NO_CODES [] = { {KC_DLR, NO_DLR}, {KC_GRV, NO_GRV} }; -const int EN2NO_CODES_SIZE = ARR_LEN(EN2NO_CODES); +const int EN2NO_CODES_SIZE = ARRAY_SIZE(EN2NO_CODES); #endif // Check if layer is an active default layer diff --git a/users/davidkristoffersen/util/functions.h b/users/davidkristoffersen/util/functions.h index eee1dadc57..5fef010694 100644 --- a/users/davidkristoffersen/util/functions.h +++ b/users/davidkristoffersen/util/functions.h @@ -15,8 +15,6 @@ // Return false if test equal false #define HANDLE_FALSE(bool) if (!bool) return false; -// Generic array lenght define -#define ARR_LEN(arr) (sizeof(arr) / sizeof(arr)[0]) // Printf-like functionality for send_string #define SEND_VAR(str, ...) \ do { \ diff --git a/users/drashna/callbacks.c b/users/drashna/callbacks.c index 111b5f79d7..40383f124f 100644 --- a/users/drashna/callbacks.c +++ b/users/drashna/callbacks.c @@ -49,7 +49,7 @@ void keyboard_post_init_user(void) { keyboard_post_init_transport_sync(); #endif #ifdef I2C_SCANNER_ENABLE - matrix_scan_i2c(); + keyboard_post_init_i2c(); #endif keyboard_post_init_keymap(); diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 91f3a06b7c..d63f05b590 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -129,3 +129,15 @@ void keyboard_post_init_i2c(void) { scan_timer = timer_read(); } #endif + +#if defined(AUTOCORRECT_ENABLE) && defined(AUDIO_ENABLE) +# ifdef USER_SONG_LIST +float autocorrect_song[][2] = SONG(MARIO_GAMEOVER); +# else +float autocorrect_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +# endif +bool apply_autocorrect(uint8_t backspaces, const char *str) { + PLAY_SONG(autocorrect_song); + return true; +} +#endif diff --git a/users/drashna/keyrecords/autocorrection/autocorrection_data.h b/users/drashna/keyrecords/autocorrection/autocorrection_data.h deleted file mode 100644 index 90484d3b12..0000000000 --- a/users/drashna/keyrecords/autocorrection/autocorrection_data.h +++ /dev/null @@ -1 +0,0 @@ -#include "autocorrect_data.h" diff --git a/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py b/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py deleted file mode 100755 index 0dd9b78b9c..0000000000 --- a/users/drashna/keyrecords/autocorrection/make_autocorrection_data.py +++ /dev/null @@ -1,298 +0,0 @@ -# Copyright 2021-2022 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Python program to make autocorrection_data.h. - -This program reads "autocorrection_dict.txt" and generates a C source file -"autocorrection_data.h" with a serialized trie embedded as an array. Run this -program without arguments like - -$ python3 make_autocorrection_data.py - -Or to read from a different typo dict file, pass it as the first argument like - -$ python3 make_autocorrection_data.py dict.txt - -Each line of the dict file defines one typo and its correction with the syntax -"typo -> correction". Blank lines or lines starting with '#' are ignored. -Example: - - :thier -> their - dosen't -> doesn't - fitler -> filter - lenght -> length - ouput -> output - widht -> width - -See autocorrection_dict_extra.txt for a larger example. - -For full documentation, see -https://getreuer.info/posts/keyboards/autocorrection -""" - -import sys -import textwrap -from typing import Any, Dict, Iterator, List, Tuple - -try: - from english_words import english_words_lower_alpha_set as CORRECT_WORDS -except ImportError: - print('Autocorrection will falsely trigger when a typo is a substring of a ' - 'correctly spelled word. To check for this, install the english_words ' - 'package and rerun this script:\n\n pip install english_words\n') - # Use a minimal word list as a fallback. - CORRECT_WORDS = ('apparent', 'association', 'available', 'classification', - 'effect', 'entertainment', 'fantastic', 'information', - 'integrate', 'international', 'language', 'loosest', - 'manual', 'nothing', 'provides', 'reference', 'statehood', - 'technology', 'virtually', 'wealthier', 'wonderful') - -KC_A = 4 -KC_SPC = 0x2c -KC_QUOT = 0x34 - -TYPO_CHARS = dict( - [ - ("'", KC_QUOT), - (':', KC_SPC), # "Word break" character. - ] + - # Characters a-z. - [(chr(c), c + KC_A - ord('a')) for c in range(ord('a'), ord('z') + 1)] -) - - -def parse_file(file_name: str) -> List[Tuple[str, str]]: - """Parses autocorrections dictionary file. - - Each line of the file defines one typo and its correction with the syntax - "typo -> correction". Blank lines or lines starting with '#' are ignored. The - function validates that typos only have characters in TYPO_CHARS, that - typos are not substrings of other typos, and checking that typos don't trigger - on CORRECT_WORDS. - - Args: - file_name: String, path of the autocorrections dictionary. - Returns: - List of (typo, correction) tuples. - """ - correct_words = ('information', 'available', 'international', 'language', 'loosest', 'reference', 'wealthier', 'entertainment', 'association', 'provides', 'technology', 'statehood') - autocorrections = [] - typos = set() - for line_number, typo, correction in parse_file_lines(file_name): - if typo in typos: - print(f'Warning:{line_number}: Ignoring duplicate typo: "{typo}"') - continue - - # Check that `typo` is valid. - if not(all([c in TYPO_CHARS for c in typo])): - print(f'Error:{line_number}: Typo "{typo}" has ' - 'characters other than ' + ''.join(TYPO_CHARS.keys())) - sys.exit(1) - for other_typo in typos: - if typo in other_typo or other_typo in typo: - print(f'Error:{line_number}: Typos may not be substrings of one ' - f'another, otherwise the longer typo would never trigger: ' - f'"{typo}" vs. "{other_typo}".') - sys.exit(1) - if len(typo) < 5: - print(f'Warning:{line_number}: It is suggested that typos are at ' - f'least 5 characters long to avoid false triggers: "{typo}"') - - check_typo_against_dictionary(typo, line_number, correct_words) - - autocorrections.append((typo, correction)) - typos.add(typo) - - return autocorrections - - -def make_trie(autocorrections: List[Tuple[str, str]]) -> Dict[str, Any]: - """Makes a trie from the the typos, writing in reverse. - - Args: - autocorrections: List of (typo, correction) tuples. - Returns: - Dict of dict, representing the trie. - """ - trie = {} - for typo, correction in autocorrections: - node = trie - for letter in typo[::-1]: - node = node.setdefault(letter, {}) - node['LEAF'] = (typo, correction) - - return trie - - -def parse_file_lines(file_name: str) -> Iterator[Tuple[int, str, str]]: - """Parses lines read from `file_name` into typo-correction pairs.""" - - line_number = 0 - for line in open(file_name, 'rt'): - line_number += 1 - line = line.strip() - if line and line[0] != '#': - # Parse syntax "typo -> correction", using strip to ignore indenting. - tokens = [token.strip() for token in line.split('->', 1)] - if len(tokens) != 2 or not tokens[0]: - print(f'Error:{line_number}: Invalid syntax: "{line}"') - sys.exit(1) - - typo, correction = tokens - typo = typo.lower() # Force typos to lowercase. - typo = typo.replace(' ', ':') - - yield line_number, typo, correction - - -def check_typo_against_dictionary(typo: str, line_number: int, correct_words) -> None: - """Checks `typo` against English dictionary words.""" - - if typo.startswith(':') and typo.endswith(':'): - if typo[1:-1] in correct_words: - print(f'Warning:{line_number}: Typo "{typo}" is a correctly spelled dictionary word.') - elif typo.startswith(':') and not typo.endswith(':'): - for word in correct_words: - if word.startswith(typo[1:]): - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - elif not typo.startswith(':') and typo.endswith(':'): - for word in correct_words: - if word.endswith(typo[:-1]): - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - elif not typo.startswith(':') and not typo.endswith(':'): - for word in correct_words: - if typo in word: - print(f'Warning:{line_number}: Typo "{typo}" would falsely trigger on correctly spelled word "{word}".') - - -def serialize_trie(autocorrections: List[Tuple[str, str]], - trie: Dict[str, Any]) -> List[int]: - """Serializes trie and correction data in a form readable by the C code. - - Args: - autocorrections: List of (typo, correction) tuples. - trie: Dict of dicts. - Returns: - List of ints in the range 0-255. - """ - table = [] - - # Traverse trie in depth first order. - def traverse(trie_node: Dict[str, Any]) -> Dict[str, Any]: - if 'LEAF' in trie_node: # Handle a leaf trie node. - typo, correction = trie_node['LEAF'] - word_boundary_ending = typo[-1] == ':' - typo = typo.strip(':') - i = 0 # Make the autocorrection data for this entry and serialize it. - while i < min(len(typo), len(correction)) and typo[i] == correction[i]: - i += 1 - backspaces = len(typo) - i - 1 + word_boundary_ending - assert 0 <= backspaces <= 63 - correction = correction[i:] - data = [backspaces + 128] + list(bytes(correction, 'ascii')) + [0] - - entry = {'data': data, 'links': [], 'byte_offset': 0} - table.append(entry) - elif len(trie_node) == 1: # Handle trie node with a single child. - c, trie_node = next(iter(trie_node.items())) - entry = {'chars': c, 'byte_offset': 0} - - # It's common for a trie to have long chains of single-child nodes. We - # find the whole chain so that we can serialize it more efficiently. - while len(trie_node) == 1 and 'LEAF' not in trie_node: - c, trie_node = next(iter(trie_node.items())) - entry['chars'] += c - - table.append(entry) - entry['links'] = [traverse(trie_node)] - else: # Handle trie node with multiple children. - entry = {'chars': ''.join(sorted(trie_node.keys())), 'byte_offset': 0} - table.append(entry) - entry['links'] = [traverse(trie_node[c]) for c in entry['chars']] - return entry - - traverse(trie) - - def serialize(e: Dict[str, Any]) -> List[int]: - if not e['links']: # Handle a leaf table entry. - return e['data'] - elif len(e['links']) == 1: # Handle a chain table entry. - return [TYPO_CHARS[c] for c in e['chars']] + [0] - else: # Handle a branch table entry. - data = [] - for c, link in zip(e['chars'], e['links']): - data += [TYPO_CHARS[c] | (0 if data else 64)] + encode_link(link) - return data + [0] - - byte_offset = 0 - for e in table: # To encode links, first compute byte offset of each entry. - e['byte_offset'] = byte_offset - byte_offset += len(serialize(e)) - - return [b for e in table for b in serialize(e)] # Serialize final table. - - -def encode_link(link: Dict[str, Any]) -> List[int]: - """Encodes a node link as two bytes.""" - byte_offset = link['byte_offset'] - if not (0 <= byte_offset <= 0xffff): - print('Error: The autocorrection table is too large, a node link exceeds ' - '64KB limit. Try reducing the autocorrection dict to fewer entries.') - sys.exit(1) - return [byte_offset & 255, byte_offset >> 8] - - -def write_generated_code(autocorrections: List[Tuple[str, str]], - data: List[int], - file_name: str) -> None: - """Writes autocorrection data as generated C code to `file_name`. - - Args: - autocorrections: List of (typo, correction) tuples. - data: List of ints in 0-255, the serialized trie. - file_name: String, path of the output C file. - """ - assert all(0 <= b <= 255 for b in data) - - def typo_len(e: Tuple[str, str]) -> int: - return len(e[0]) - - min_typo = min(autocorrections, key=typo_len)[0] - max_typo = max(autocorrections, key=typo_len)[0] - generated_code = ''.join([ - '// Generated code.\n\n', - f'// Autocorrection dictionary ({len(autocorrections)} entries):\n', - ''.join(sorted(f'// {typo:<{len(max_typo)}} -> {correction}\n' - for typo, correction in autocorrections)), - f'\n#define AUTOCORRECTION_MIN_LENGTH {len(min_typo)} // "{min_typo}"\n', - f'#define AUTOCORRECTION_MAX_LENGTH {len(max_typo)} // "{max_typo}"\n\n', - textwrap.fill('static const uint8_t autocorrection_data[%d] PROGMEM = {%s};' % ( - len(data), ', '.join(map(str, data))), width=80, subsequent_indent=' '), - '\n\n']) - - with open(file_name, 'wt') as f: - f.write(generated_code) - - -def main(argv): - dict_file = argv[1] if len(argv) > 1 else 'autocorrection_dict.txt' - autocorrections = parse_file(dict_file) - trie = make_trie(autocorrections) - data = serialize_trie(autocorrections, trie) - print(f'Processed %d autocorrection entries to table with %d bytes.' - % (len(autocorrections), len(data))) - write_generated_code(autocorrections, data, 'autocorrection_data.h') - -if __name__ == '__main__': - main(sys.argv) diff --git a/users/drashna/keyrecords/autocorrection/readme.md b/users/drashna/keyrecords/autocorrection/readme.md deleted file mode 100644 index d920508793..0000000000 --- a/users/drashna/keyrecords/autocorrection/readme.md +++ /dev/null @@ -1,301 +0,0 @@ -# Autocorrection - -This is taken from [Pascal Getreuer's implemenation](https://getreuer.info/posts/keyboards/autocorrection/index.html), with a number of modifications. - -To enabled Autocorrection, add `AUTOCORRECTION_ENABLE = yes` to your `rules.mk` file. - -This is mostly a reproduction of Pascal's docs: - -## Overview -Some words are more prone to typos than others. I have a habit of typo-ing *ouput* and *fitler*. This post describes a rudimentary autocorrection implementation that runs on your keyboard with QMK. - -The animation below shows the effect as I type *aparent*. As I press the final t, the autocorrection feature detects the typo and automatically sends keys to correct it: - -Example: Autocorrecting *aparent* → apparent. - -**Features**: -* It runs on your keyboard, so it is always active no matter what software. -* Low resource cost: for an autocorrection dictionary of 70 entries, firmware size cost is 1620 bytes and average CPU cost per key press is about 20 µs. -* It is case insensitive. It corrects Fitler to Filter and FITLER to FILTER. -* It works within words. It corrects fitlered, fitlering, and useful for programming, within longer identifiers like DesignButterworthFitle*r. - -**Limitations**: Running autocorrection on the keyboard comes with some constraints. It is rudimentary like I said: -* It is limited to alphabet characters a–z. No accented or Unicode letters; I’m sorry this probably isn’t useful for languages besides English. -* It does not follow mouse or hotkey driven cursor movement. - -## Taking autocorrection for a test drive -With the above flashed to your keyboard, try for instance typing the misspelled word ouput. The instant you type the final t, the word should be speedily autocorrected to output. As further tests, try becuase and invliad. - -Here is the full list of typos corrected using the provided autocorrection_data.h file. : is a special character denoting a word break. See below for how to change the autocorrection dictionary. - -``` -:guage -> gauge -:the:the: -> the -:thier -> their -:ture -> true -accomodate -> accommodate -acommodate -> accommodate -aparent -> apparent -aparrent -> apparent -apparant -> apparent -apparrent -> apparent -aquire -> acquire -becuase -> because -cauhgt -> caught -cheif -> chief -choosen -> chosen -cieling -> ceiling -collegue -> colleague -concensus -> consensus -contians -> contains -cosnt -> const -dervied -> derived -fales -> false -fasle -> false -fitler -> filter -flase -> false -foward -> forward -frequecy -> frequency -gaurantee -> guarantee -guaratee -> guarantee -heigth -> height -heirarchy -> hierarchy -inclued -> include -interator -> iterator -intput -> input -invliad -> invalid -lenght -> length -liasion -> liaison -libary -> library -listner -> listener -looses: -> loses -looup -> lookup -manefist -> manifest -namesapce -> namespace -namespcae -> namespace -occassion -> occasion -occured -> occurred -ouptut -> output -ouput -> output -overide -> override -postion -> position -priviledge -> privilege -psuedo -> pseudo -recieve -> receive -refered -> referred -relevent -> relevant -repitition -> repetition -reuslt -> result -retrun -> return -retun -> return -reutrn -> return -saftey -> safety -seperate -> separate -singed -> signed -stirng -> string -strign -> string -swithc -> switch -swtich -> switch -thresold -> threshold -udpate -> update -widht -> width -``` - -## Firmware size and CPU costs -I am anxiously aware that a keyboard microcontroller has limited resources. So I was sure to measure how much memory and CPU time autocorrection consumes during development. These measurements are for the example autocorrection dictionary as used above, which has 70 entries: -* **Firmware size**: Autocorrection increases my firmware size by a total of 1620 bytes. Breaking that down, 1104 bytes are for the autocorrection_data array and 516 bytes for the autocorrection code. -* **CPU time**: On my Elite-C microcontrollers, the average CPU time for process_autocorrection to process an alpha key press is around 20 µs. Consider this a rough order-of-magnitude cost. Processing cost increases (more trie nodes are visited) when recent input is close to a known typo, with the max being when a long typo is matched. - -The costs are not free but reasonable. For reference, the firmware size cost for mouse keys is 2124 bytes and the CPU time to process a layer switch is about 70 µs, so autocorrection is cheaper than those things. Of course, the cost scales with the size of the autocorrection dictionary, so keep that in mind if you add a lot more entries. - -## How does it work? -The function process_autocorrection maintains a small buffer of recent key presses. On each key press, it checks whether the buffer ends in a recognized typo, and if so, automatically sends keystrokes to correct it. - -The tricky part is how to efficiently check the buffer for typos. We don’t want to spend too much memory or time on storing or searching the typos. A good solution is to represent the typos with a trie data structure. A trie is a tree data structure where each node is a letter, and words are formed by following a path to one of the leaves. - - -An example trie. -Since we search whether the buffer ends in a typo, we store the trie writing in reverse. The trie is queried starting from the last letter, then second to last letter, and so on, until either a letter doesn’t match or we reach a leaf, meaning a typo was found. - -## Changing the autocorrection dictionary -The file autocorrection_data.h encodes the typos to correct. While you could simply use the version of this file provided above for a practical configuration, you can make your own to personalize the autocorrection to your most troublesome typos: - -1. First, create an autocorrection dictionary autocorrection_dict.txt, like - - ``` -:thier -> their -fitler -> filter -lenght -> length -ouput -> output -widht -> width -``` - For a practical 70-entry example, see autocorrection_dict.txt. And for a yet larger 400-entry example, see autocorrection_dict_extra.txt. - - The syntax is `typo -> correction`. Typos and corrections are case insensitive, and any whitespace before or after the typo and correction is ignored. The typo must be only the letters a–z, or the special character : representing a word break. The correction may have any characters. - -2. Use the make_autocorrection_data.py Python script to process the dictionary - -``` -$ python3 make_autocorrection_data.py -Processed 70 autocorrection entries to table with 1104 bytes. -``` -The script arranges the entries in autocorrection_dict.txt into a trie and generates autocorrection_data.h with the serialized trie embedded as an array. - -3. Finally, recompile and flash your keymap. - -The generated C header looks like this: - -autocorrection_data.h -```c -// Generated code. - -#define AUTOCORRECTION_MIN_LENGTH 5 // "cheif" -#define AUTOCORRECTION_MAX_LENGTH 10 // "accomodate" - -static const uint8_t autocorrection_data[1104] PROGMEM = {108, 43, 0, 6, - 71, 0, 7, 81, 0, 8, 199, 0, 9, 240, 1, 10, 250, 1, 11, 26, 2, 17, 53, 2, - 18, 190, 2, 19, 202, 2, 21, 212, 2, 22, 20, 3, 23, 67, 3, 28, 16, 4, 0, - 72, 50, 0, 22, 60, 0, 0, 11, 23, 44, 8, 11, 23, 44, 0, 132, 0, 8, 22, 18, - 18, 15, 0, 132, 115, 101, 115, 0, 11, 23, 12, 26, 22, 0, 129, 99, 104, 0, - 68, 94, 0, 8, 106, 0, 15, 174, 0, 21, 187, 0, 0, 12, 15, 25, 17, 12, 0, - 131, 97, 108, 105, 100, 0, 74, 119, 0, 12, 129, 0, 21, 140, 0, 24, 165, - 0, 0, 17, 12, 22, 0, 131, 103, 110, 101, 100, 0, 25, 21, 8, 7, 0, 131, - 105, 118, 101, 100, 0, 72, 147, 0, 24, 156, 0, 0, 9, 8, 21, 0, 129, 114, - 101, 100, 0, 6, 6, 18, 0, 129, 114, 101, 100, 0, 15, 6, 17, 12, 0, 129, - 100, 101, 0, 18, 22, 8, 21, 11, 23, 0, 130, 104, 111, 108, 100, 0, 4, 26, - 18, 9, 0, 131, 114, 119, 97, 114, 100, 0, 68, 233, 0, 6, 246, 0, 7, 4, 1, - 8, 16, 1, 10, 52, 1, 15, 81, 1, 21, 90, 1, 22, 117, 1, 23, 144, 1, 24, - 215, 1, 25, 228, 1, 0, 6, 19, 22, 8, 16, 4, 17, 0, 130, 97, 99, 101, 0, - 19, 4, 22, 8, 16, 4, 17, 0, 131, 112, 97, 99, 101, 0, 12, 21, 8, 25, 18, - 0, 130, 114, 105, 100, 101, 0, 23, 0, 68, 25, 1, 17, 36, 1, 0, 21, 4, 24, - 10, 0, 130, 110, 116, 101, 101, 0, 4, 21, 24, 4, 10, 0, 135, 117, 97, - 114, 97, 110, 116, 101, 101, 0, 68, 59, 1, 7, 69, 1, 0, 24, 10, 44, 0, - 131, 97, 117, 103, 101, 0, 8, 15, 12, 25, 12, 21, 19, 0, 130, 103, 101, - 0, 22, 4, 9, 0, 130, 108, 115, 101, 0, 76, 97, 1, 24, 109, 1, 0, 24, 20, - 4, 0, 132, 99, 113, 117, 105, 114, 101, 0, 23, 44, 0, 130, 114, 117, 101, - 0, 4, 0, 79, 126, 1, 24, 134, 1, 0, 9, 0, 131, 97, 108, 115, 101, 0, 6, - 8, 5, 0, 131, 97, 117, 115, 101, 0, 4, 0, 71, 156, 1, 19, 193, 1, 21, - 203, 1, 0, 18, 16, 0, 80, 166, 1, 18, 181, 1, 0, 18, 6, 4, 0, 135, 99, - 111, 109, 109, 111, 100, 97, 116, 101, 0, 6, 6, 4, 0, 132, 109, 111, 100, - 97, 116, 101, 0, 7, 24, 0, 132, 112, 100, 97, 116, 101, 0, 8, 19, 8, 22, - 0, 132, 97, 114, 97, 116, 101, 0, 10, 8, 15, 15, 18, 6, 0, 130, 97, 103, - 117, 101, 0, 8, 12, 6, 8, 21, 0, 131, 101, 105, 118, 101, 0, 12, 8, 11, - 6, 0, 130, 105, 101, 102, 0, 17, 0, 76, 3, 2, 21, 16, 2, 0, 15, 8, 12, 6, - 0, 133, 101, 105, 108, 105, 110, 103, 0, 12, 23, 22, 0, 131, 114, 105, - 110, 103, 0, 70, 33, 2, 23, 44, 2, 0, 12, 23, 26, 22, 0, 131, 105, 116, - 99, 104, 0, 10, 12, 8, 11, 0, 129, 104, 116, 0, 72, 69, 2, 10, 80, 2, 18, - 89, 2, 21, 156, 2, 24, 167, 2, 0, 22, 18, 18, 11, 6, 0, 131, 115, 101, - 110, 0, 12, 21, 23, 22, 0, 129, 110, 103, 0, 12, 0, 86, 98, 2, 23, 124, - 2, 0, 68, 105, 2, 22, 114, 2, 0, 12, 15, 0, 131, 105, 115, 111, 110, 0, - 4, 6, 6, 18, 0, 131, 105, 111, 110, 0, 76, 131, 2, 22, 146, 2, 0, 23, 12, - 19, 8, 21, 0, 134, 101, 116, 105, 116, 105, 111, 110, 0, 18, 19, 0, 131, - 105, 116, 105, 111, 110, 0, 23, 24, 8, 21, 0, 131, 116, 117, 114, 110, 0, - 85, 174, 2, 23, 183, 2, 0, 23, 8, 21, 0, 130, 117, 114, 110, 0, 8, 21, 0, - 128, 114, 110, 0, 7, 8, 24, 22, 19, 0, 131, 101, 117, 100, 111, 0, 24, - 18, 18, 15, 0, 129, 107, 117, 112, 0, 72, 219, 2, 18, 3, 3, 0, 76, 229, - 2, 15, 238, 2, 17, 248, 2, 0, 11, 23, 44, 0, 130, 101, 105, 114, 0, 23, - 12, 9, 0, 131, 108, 116, 101, 114, 0, 23, 22, 12, 15, 0, 130, 101, 110, - 101, 114, 0, 23, 4, 21, 8, 23, 17, 12, 0, 135, 116, 101, 114, 97, 116, - 111, 114, 0, 72, 30, 3, 17, 38, 3, 24, 51, 3, 0, 15, 4, 9, 0, 129, 115, - 101, 0, 4, 12, 23, 17, 18, 6, 0, 131, 97, 105, 110, 115, 0, 22, 17, 8, 6, - 17, 18, 6, 0, 133, 115, 101, 110, 115, 117, 115, 0, 74, 86, 3, 11, 96, 3, - 15, 118, 3, 17, 129, 3, 22, 218, 3, 24, 232, 3, 0, 11, 24, 4, 6, 0, 130, - 103, 104, 116, 0, 71, 103, 3, 10, 110, 3, 0, 12, 26, 0, 129, 116, 104, 0, - 17, 8, 15, 0, 129, 116, 104, 0, 22, 24, 8, 21, 0, 131, 115, 117, 108, - 116, 0, 68, 139, 3, 8, 150, 3, 22, 210, 3, 0, 21, 4, 19, 19, 4, 0, 130, - 101, 110, 116, 0, 85, 157, 3, 25, 200, 3, 0, 68, 164, 3, 21, 175, 3, 0, - 19, 4, 0, 132, 112, 97, 114, 101, 110, 116, 0, 4, 19, 0, 68, 185, 3, 19, - 193, 3, 0, 133, 112, 97, 114, 101, 110, 116, 0, 4, 0, 131, 101, 110, 116, - 0, 8, 15, 8, 21, 0, 130, 97, 110, 116, 0, 18, 6, 0, 130, 110, 115, 116, - 0, 12, 9, 8, 17, 4, 16, 0, 132, 105, 102, 101, 115, 116, 0, 83, 239, 3, - 23, 6, 4, 0, 87, 246, 3, 24, 254, 3, 0, 17, 12, 0, 131, 112, 117, 116, 0, - 18, 0, 130, 116, 112, 117, 116, 0, 19, 24, 18, 0, 131, 116, 112, 117, - 116, 0, 70, 29, 4, 8, 41, 4, 11, 51, 4, 21, 69, 4, 0, 8, 24, 20, 8, 21, - 9, 0, 129, 110, 99, 121, 0, 23, 9, 4, 22, 0, 130, 101, 116, 121, 0, 6, - 21, 4, 21, 12, 8, 11, 0, 135, 105, 101, 114, 97, 114, 99, 104, 121, 0, 4, - 5, 12, 15, 0, 130, 114, 97, 114, 121, 0}; -``` - -## Troubleshooting -### Avoiding false triggers -By default, typos are searched within words, to find typos within longer identifiers like maxFitlerOuput. While this is useful, a consequence is that autocorrection will falsely trigger when a typo happens to be a substring of a correctly-spelled word. For instance, if we had thier -> their as an entry, it would falsely trigger on (correct, though relatively uncommon) words like “wealthier” and “filthier.” - -The solution is to set a word break : before and/or after the typo to constrain matching. : matches space, period, comma, underscore, digits, and most other non-alpha characters. - -| Text | thier | :thier | thier: | :thier: | -|------|-------|--------|--------|---------| -|see thier typo|matches|matches|matches|matches| -it’s thiers |matches|matches|no|no| -wealthier words|matches|no|matches|no| - -:thier: is most restrictive, matching only when thier is a whole word. - -The make_autocorrection_data.py script makes an effort to check for entries that would false trigger as substrings of correct words. It searches each typo against a dictionary of 25K English words from the english_words Python package, provided it’s installed. - -### Overriding autocorrection -Occasionally you might actually want to type a typo (for instance, while editing autocorrection_dict.txt) without being autocorrected. Here is a way to do that: - -1. Begin typing the typo. -2. Before typing the last letter, press and release the Ctrl or Alt key. -3. Type the remaining letters. - -This works because the autocorrection implementation doesn’t understand hotkeys, so it resets itself whenever a modifier other than shift is held. - -Alternatively, the `AUTO_CTN` keycode will toggle autocorrection on and off. - -## Closing thoughts -Based on my own use, an autocorrection dictionary of a few dozen entries is enough to help in day-to-day writing. On the other hand, it is of course far from comprehensively checking that every word is spelled correctly. Keyboard microcontrollers might not have the resources check against a full English dictionary any time soon, but a lot of editors and other software have good integrated spell check features. - -I suggest to enable and use spell check in combination with autocorrection: -* Sublime: Open the View menu and enable “Spell Check.” -* Eclipse: Open the Window menu, click Preferences, and search for “Spelling.” -* Vim: Type :set spell, and misspellings will be highlighted. Use ]s to jump to the next misspelled word and z= to get suggested corrections for the word under the cursor. See the :help spell documentation. Vim also has an abbreviations feature that can autocorrect misspellings (see :help abbreviations). -* Emacs: Use M-x flyspell-mode to enable Flyspell mode in the current buffer. Or for programming, use M-x flyspell-prog-mode to check comments and strings only. See the spelling documentation. There is also an abbreviations feature that can do autocorrection. - -Some useful resources: - -* Wikipedia has a [large list of common typos](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines). -* EmacsWiki has another [list of typos](https://www.emacswiki.org/emacs/autocorrection_abbrev_defs). -* You can find data on English word frequencies at https://www.wordfrequency.info/samples.asp. - -# Appendix: Trie binary data format -This section details how the trie is serialized to byte data in autocorrection_data. You don’t need to care about this to use this autocorrection implementation. But I document it for the record in case anyone is interested in modifying the implementation, or just curious how it works. - -What I did here is fairly arbitrary, but it is simple to decode and gets the job done. - -## Encoding -All autocorrection data is stored in a single flat array autocorrection_data. Each trie node is associated with a byte offset into this array, where data for that node is encoded, beginning with root at offset 0. There are three kinds of nodes. The highest two bits of the first byte of the node indicate what kind: - -* 00 ⇒ chain node: a trie node with a single child. -* 01 ⇒ branching node: a trie node with multiple children. -* 10 ⇒ leaf node: a leaf, corresponding to a typo and storing its correction. - -An example trie. -Branching node. Each branch is encoded with one byte for the keycode (KC_A–KC_Z) followed by a link to the child node. Links between nodes are 16-bit byte offsets relative to the beginning of the array, serialized in little endian order. - -All branches are serialized this way, one after another, and terminated with a zero byte. As described above, the node is identified as a branch by setting the two high bits of the first byte to 01, done by bitwise ORing the first keycode with 64. keycode. The root node for the above figure would be serialized like: - - +-------+-------+-------+-------+-------+-------+-------+ - | R|64 | node 2 | T | node 3 | 0 | - +-------+-------+-------+-------+-------+-------+-------+ - -Chain node. Tries tend to have long chains of single-child nodes, as seen in the example above with f-i-t-l in fitler. So to save space, we use a different format to encode chains than branching nodes. A chain is encoded as a string of keycodes, beginning with the node closest to the root, and terminated with a zero byte. The child of the last node in the chain is encoded immediately after. That child could be either a branching node or a leaf. - -In the figure above, the f-i-t-l chain is encoded as - - +-------+-------+-------+-------+-------+ - | L | T | I | F | 0 | - +-------+-------+-------+-------+-------+ -If we were to encode this chain using the same format used for branching nodes, we would encode a 16-bit node link with every node, costing 8 more bytes in this example. Across the whole trie, this adds up. Conveniently, we can point to intermediate points in the chain and interpret the bytes in the same way as before. E.g. starting at the i instead of the l, and the subchain has the same format. - -Leaf node. A leaf node corresponds to a particular typo and stores data to correct the typo. The leaf begins with a byte for the number of backspaces to type, and is followed by a null-terminated ASCII string of the replacement text. The idea is, after tapping backspace the indicated number of times, we can simply pass this string to QMK’s send_string_P function. For fitler, we need to tap backspace 3 times (not 4, because we catch the typo as the final ‘r’ is pressed) and replace it with lter. To identify the node as a leaf, the two high bits are set to 10 by ORing the backspace count with 128: - - +-------+-------+-------+-------+-------+-------+ - | 3|128 | 'l' | 't' | 'e' | 'r' | 0 | - +-------+-------+-------+-------+-------+-------+ -## Decoding -This format is by design decodable with fairly simple logic. A 16-bit variable state represents our current position in the trie, initialized with 0 to start at the root node. Then, for each keycode, test the highest two bits in the byte at state to identify the kind of node. - -* 00 ⇒ chain node: If the node’s byte matches the keycode, increment state by one to go to the next byte. If the next byte is zero, increment again to go to the following node. -* 01 ⇒ branching node: Search the branches for one that matches the keycode, and follow its node link. -* 10 ⇒ leaf node: a typo has been found! We read its first byte for the number of backspaces to type, then pass its following bytes to send_string_P to type the correction. diff --git a/users/drashna/keyrecords/process_records.c b/users/drashna/keyrecords/process_records.c index 197fd94171..89d1c80b8f 100644 --- a/users/drashna/keyrecords/process_records.c +++ b/users/drashna/keyrecords/process_records.c @@ -3,9 +3,6 @@ #include "drashna.h" #include "version.h" -#ifdef AUTOCORRECTION_ENABLE -# include "autocorrection/autocorrection.h" -#endif uint16_t copy_paste_timer; bool host_driver_disabled = false; @@ -65,9 +62,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #if defined(CUSTOM_POINTING_DEVICE) && process_record_pointing(keycode, record) #endif -#ifdef AUTOCORRECTION_ENABLE - && process_autocorrection(keycode, record) -#endif && true)) { return false; } diff --git a/users/drashna/keyrecords/process_records.h b/users/drashna/keyrecords/process_records.h index be31f992cb..cae3620fe4 100644 --- a/users/drashna/keyrecords/process_records.h +++ b/users/drashna/keyrecords/process_records.h @@ -46,9 +46,6 @@ enum userspace_custom_keycodes { KC_ZALGO, KC_SUPER, KC_ACCEL, - AUTOCORRECT_ON, - AUTOCORRECT_OFF, - AUTOCORRECT_TOGGLE, NEW_SAFE_RANGE // use "NEWPLACEHOLDER for keymap specific codes }; diff --git a/users/drashna/keyrecords/tap_dance.md b/users/drashna/keyrecords/tap_dance.md index 0bf67cbd5a..fef1435918 100644 --- a/users/drashna/keyrecords/tap_dance.md +++ b/users/drashna/keyrecords/tap_dance.md @@ -88,7 +88,7 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) { diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode; // if the tapdance is hit more than the number of elemints in the array, reset - if (state->count >= (sizeof(diablo_times) / sizeof(uint8_t) ) ) { + if (state->count >= ARRAY_SIZE(diablo_times) ) { diablo_timer[diablo_keys->index].key_interval = 0; reset_tap_dance(state); } else { // else set the interval (tapdance count starts at 1, array starts at 0, so offset by one) diff --git a/users/drashna/keyrecords/tap_dances.c b/users/drashna/keyrecords/tap_dances.c index 6caf6b6b3e..7bdea3cae3 100644 --- a/users/drashna/keyrecords/tap_dances.c +++ b/users/drashna/keyrecords/tap_dances.c @@ -23,7 +23,7 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) { diablo_timer[diablo_keys->index].keycode = diablo_keys->keycode; // if the tapdance is hit more than the number of elemints in the array, reset - if (state->count >= (sizeof(diablo_times) / sizeof(uint8_t))) { + if (state->count >= ARRAY_SIZE(diablo_times)) { diablo_timer[diablo_keys->index].key_interval = 0; reset_tap_dance(state); } else { // else set the interval (tapdance count starts at 1, array starts at 0, so offset by one) diff --git a/users/drashna/keyrecords/unicode.c b/users/drashna/keyrecords/unicode.c index b3fc71cb09..bfce38f555 100644 --- a/users/drashna/keyrecords/unicode.c +++ b/users/drashna/keyrecords/unicode.c @@ -43,7 +43,7 @@ typedef uint32_t (*translator_function_t)(bool is_shifted, uint32_t keycode); static inline uint32_t translator_name(bool is_shifted, uint32_t keycode) { \ static const uint32_t translation[] = {__VA_ARGS__}; \ uint32_t ret = keycode; \ - if ((keycode - KC_A) < (sizeof(translation) / sizeof(uint32_t))) { \ + if ((keycode - KC_A) < ARRAY_SIZE(translation)) { \ ret = translation[keycode - KC_A]; \ } \ return ret; \ diff --git a/users/drashna/oled/oled_stuff.c b/users/drashna/oled/oled_stuff.c index e082f8ab3e..7aee350baf 100644 --- a/users/drashna/oled/oled_stuff.c +++ b/users/drashna/oled/oled_stuff.c @@ -23,9 +23,6 @@ #ifdef AUDIO_CLICKY # include "process_clicky.h" #endif -#if defined(AUTOCORRECTION_ENABLE) -# include "keyrecords/autocorrection/autocorrection.h" -#endif #include <string.h> bool is_oled_enabled = true; @@ -87,7 +84,7 @@ void add_keylog(uint16_t keycode, keyrecord_t *record) { memmove(keylog_str, keylog_str + 1, OLED_KEYLOGGER_LENGTH - 1); - if (keycode < (sizeof(code_to_name) / sizeof(char))) { + if (keycode < ARRAY_SIZE(code_to_name)) { keylog_str[(OLED_KEYLOGGER_LENGTH - 1)] = pgm_read_byte(&code_to_name[keycode]); } @@ -458,10 +455,6 @@ void render_bootmagic_status(uint8_t col, uint8_t line) { #endif } -#if defined(CUSTOM_POINTING_DEVICE) -extern bool tap_toggling; -#endif - void render_user_status(uint8_t col, uint8_t line) { #ifdef AUDIO_ENABLE bool is_audio_on = false, l_is_clicky_on = false; @@ -490,9 +483,9 @@ void render_user_status(uint8_t col, uint8_t line) { # if !defined(OLED_DISPLAY_VERBOSE) oled_write_P(PSTR(" "), false); # endif -#elif defined(CUSTOM_POINTING_DEVICE) +#elif defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) static const char PROGMEM mouse_lock[3] = {0xF2, 0xF3, 0}; - oled_write_P(mouse_lock, tap_toggling); + oled_write_P(mouse_lock, get_auto_mouse_toggle()); #endif #ifdef AUDIO_ENABLE static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}}; @@ -771,8 +764,8 @@ void render_unicode_mode(uint8_t col, uint8_t line) { uint32_t kitty_animation_phases(uint32_t triger_time, void *cb_arg) { static uint32_t anim_frame_duration = 500; -#ifdef CUSTOM_POINTING_DEVICE - if (tap_toggling) { +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + if (get_auto_mouse_toggle()) { animation_frame = (animation_frame + 1) % OLED_RTOGI_FRAMES; animation_type = 3; anim_frame_duration = 300; diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c index c9a7945a84..1b64502ed3 100644 --- a/users/drashna/pointing/pointing.c +++ b/users/drashna/pointing/pointing.c @@ -3,10 +3,8 @@ #include "pointing.h" -static uint16_t mouse_timer = 0; -static uint16_t mouse_debounce_timer = 0; -static uint8_t mouse_keycode_tracker = 0; -bool tap_toggling = false, enable_acceleration = false; +static uint16_t mouse_debounce_timer = 0; +bool enable_acceleration = false; #ifdef TAPPING_TERM_PER_KEY # define TAP_CHECK get_tapping_term(KC_BTN1, NULL) @@ -17,6 +15,15 @@ bool tap_toggling = false, enable_acceleration = false; # define TAP_CHECK TAPPING_TERM #endif +__attribute__((weak)) void pointing_device_init_keymap(void) {} + +void pointing_device_init_user(void) { + set_auto_mouse_layer(_MOUSE); + set_auto_mouse_enable(true); + + pointing_device_init_keymap(); +} + __attribute__((weak)) report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report) { return mouse_report; } @@ -26,28 +33,16 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { mouse_report.x = 0; mouse_report.y = 0; - if (x != 0 && y != 0) { - mouse_timer = timer_read(); + if (x != 0 && y != 0 && (timer_elapsed(mouse_debounce_timer) > TAP_CHECK)) { #ifdef OLED_ENABLE oled_timer_reset(); #endif - if (timer_elapsed(mouse_debounce_timer) > TAP_CHECK) { - if (enable_acceleration) { - x = (mouse_xy_report_t)(x > 0 ? x * x / 16 + x : -x * x / 16 + x); - y = (mouse_xy_report_t)(y > 0 ? y * y / 16 + y : -y * y / 16 + y); - } - mouse_report.x = x; - mouse_report.y = y; - if (!layer_state_is(_MOUSE)) { - layer_on(_MOUSE); - } - } - } else if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { - layer_off(_MOUSE); - } else if (tap_toggling) { - if (!layer_state_is(_MOUSE)) { - layer_on(_MOUSE); + if (enable_acceleration) { + x = (mouse_xy_report_t)(x > 0 ? x * x / 16 + x : -x * x / 16 + x); + y = (mouse_xy_report_t)(y > 0 ? y * y / 16 + y : -y * y / 16 + y); } + mouse_report.x = x; + mouse_report.y = y; } return pointing_device_task_keymap(mouse_report); @@ -55,64 +50,10 @@ report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case TT(_MOUSE): - if (record->event.pressed) { - mouse_keycode_tracker++; - } else { -#if TAPPING_TOGGLE != 0 - if (record->tap.count == TAPPING_TOGGLE) { - tap_toggling ^= 1; -# if TAPPING_TOGGLE == 1 - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; -# else - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; -# endif - } else { - mouse_keycode_tracker--; - } -#endif - } - mouse_timer = timer_read(); - break; - case TG(_MOUSE): - if (record->event.pressed) { - tap_toggling ^= 1; - } - break; - case MO(_MOUSE): -#if defined(KEYBOARD_ploopy) - case DPI_CONFIG: -#elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) - case SAFE_RANGE ... (CHARYBDIS_SAFE_RANGE-1): -#endif - case KC_MS_UP ... KC_MS_WH_RIGHT: - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; case KC_ACCEL: enable_acceleration = record->event.pressed; - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; -#if 0 - case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: break; -#endif - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - if (record->event.pressed || !record->tap.count) { - break; - } default: - if (IS_NOEVENT(record->event)) break; - if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) { - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; - } - if (layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { - layer_off(_MOUSE); - } - mouse_keycode_tracker = 0; mouse_debounce_timer = timer_read(); break; } @@ -122,6 +63,32 @@ bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { layer_state_t layer_state_set_pointing(layer_state_t state) { if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO) || layer_state_cmp(state, _DIABLOII)) { state |= ((layer_state_t)1 << _MOUSE); + set_auto_mouse_enable(false); // auto mouse can be disabled any time during run time + } else { + set_auto_mouse_enable(true); } return state; } + + +#if defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) +__attribute__((weak)) bool is_mouse_record_keymap(uint16_t keycode, keyrecord_t *record) { return false; } + +bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record) { + if (is_mouse_record_keymap(keycode, record)) { + return true; + } + switch (keycode) { +# if defined(KEYBOARD_ploopy) + case DPI_CONFIG: +# elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) + case SAFE_RANGE ...(CHARYBDIS_SAFE_RANGE - 1): +# elif (defined(KEYBOARD_bastardkb_dilemma) && !defined(NO_DILEMMA_KEYCODES)) + case SAFE_RANGE ...(DILEMMA_SAFE_RANGE - 1): +# endif + case KC_ACCEL: + return true; + } + return false; +} +#endif diff --git a/users/drashna/pointing/pointing.h b/users/drashna/pointing/pointing.h index 8b00ffc0ec..28d8610148 100644 --- a/users/drashna/pointing/pointing.h +++ b/users/drashna/pointing/pointing.h @@ -3,8 +3,8 @@ #include "drashna.h" +void pointing_device_init_keymap(void); report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report); void matrix_scan_pointing(void); bool process_record_pointing(uint16_t keycode, keyrecord_t* record); layer_state_t layer_state_set_pointing(layer_state_t state); -extern bool tap_toggling, enable_acceleration; diff --git a/users/drashna/post_config.h b/users/drashna/post_config.h index ec9aa49462..ed80174819 100644 --- a/users/drashna/post_config.h +++ b/users/drashna/post_config.h @@ -127,3 +127,7 @@ } \ } #endif + +#if defined(SPLIT_KEYBOARD) && defined(PROTOCOL_CHIBIOS) && !defined(USB_SUSPEND_WAKEUP_DELAY) +# define USB_SUSPEND_WAKEUP_DELAY 200 +#endif diff --git a/users/drashna/rgb/rgb_matrix_config.h b/users/drashna/rgb/rgb_matrix_config.h index 33979a198e..86f238f392 100644 --- a/users/drashna/rgb/rgb_matrix_config.h +++ b/users/drashna/rgb/rgb_matrix_config.h @@ -6,7 +6,6 @@ #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # 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 #undef ENABLE_RGB_MATRIX_ALPHAS_MODS diff --git a/users/drashna/rgb/rgb_matrix_stuff.c b/users/drashna/rgb/rgb_matrix_stuff.c index 2c23c29784..2867641a3e 100644 --- a/users/drashna/rgb/rgb_matrix_stuff.c +++ b/users/drashna/rgb/rgb_matrix_stuff.c @@ -20,7 +20,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(g_rgb_timer, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } @@ -30,7 +30,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); } @@ -91,9 +91,9 @@ bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record) { __attribute__((weak)) bool rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { return true; } -void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_keymap(led_min, led_max)) { - return; + return false; } #if defined(RGBLIGHT_ENABLE) @@ -140,11 +140,12 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; } } + return false; } __attribute__((weak)) bool rgb_matrix_indicators_keymap(void) { return true; } -void rgb_matrix_indicators_user(void) { - rgb_matrix_indicators_keymap(); +bool rgb_matrix_indicators_user(void) { + return rgb_matrix_indicators_keymap(); } diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index 5644aad2c4..76bb5debe1 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk @@ -9,9 +9,9 @@ ifneq ($(PLATFORM),CHIBIOS) ifneq ($(strip $(LTO_SUPPORTED)), no) LTO_ENABLE = yes endif + SPACE_CADET_ENABLE = no + GRAVE_ESC_ENABLE = no endif -SPACE_CADET_ENABLE = no -GRAVE_ESC_ENABLE = no # DEBUG_MATRIX_SCAN_RATE_ENABLE = api ifneq ($(strip $(NO_SECRETS)), yes) @@ -115,6 +115,7 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) ifeq ($(strip $(CUSTOM_POINTING_DEVICE)), yes) SRC += $(USER_PATH)/pointing/pointing.c OPT_DEFS += -DCUSTOM_POINTING_DEVICE + OPT_DEFS += -DPOINTING_DEVICE_AUTO_MOUSE_ENABLE endif endif @@ -127,11 +128,8 @@ ifeq ($(strip $(CUSTOM_SPLIT_TRANSPORT_SYNC)), yes) endif -AUTOCORRECTION_ENABLE ?= no ifeq ($(strip $(AUTOCORRECTION_ENABLE)), yes) - SRC += $(USER_PATH)/keyrecords/autocorrection/autocorrection.c - $(shell touch $(USER_PATH)/keyrecords/autocorrection/autocorrection.c) - OPT_DEFS += -DAUTOCORRECTION_ENABLE + AUTOCORRECT_ENABLE = yes endif ifeq ($(strip $(BOOTMAGIC_ENABLE)), yes) diff --git a/users/drashna/split/transport_sync.c b/users/drashna/split/transport_sync.c index 6b5c384480..11c56849eb 100644 --- a/users/drashna/split/transport_sync.c +++ b/users/drashna/split/transport_sync.c @@ -98,8 +98,8 @@ void user_transport_update(void) { #if defined(OLED_ENABLE) && !defined(SPLIT_OLED_ENABLE) && defined(CUSTOM_OLED_DRIVER) user_state.is_oled_enabled = is_oled_enabled; #endif -#if defined(CUSTOM_POINTING_DEVICE) - user_state.tap_toggling = tap_toggling; +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + user_state.tap_toggling = get_auto_mouse_toggle(); #endif #ifdef UNICODE_COMMON_ENABLE user_state.unicode_mode = unicode_config.input_mode; @@ -122,8 +122,10 @@ void user_transport_update(void) { #if defined(OLED_ENABLE) && !defined(SPLIT_OLED_ENABLE) && defined(CUSTOM_OLED_DRIVER) is_oled_enabled = user_state.is_oled_enabled; #endif -#if defined(CUSTOM_POINTING_DEVICE) - tap_toggling = user_state.tap_toggling; +#if defined(POINTING_DEVICE_ENABLE) && defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) + if (get_auto_mouse_toggle() != user_state.tap_toggling) { + auto_mouse_toggle(); + } #endif #ifdef SWAP_HANDS_ENABLE swap_hands = user_state.swap_hands; diff --git a/users/gary/gary.h b/users/gary/gary.h index 10f2331591..ce920cf776 100644 --- a/users/gary/gary.h +++ b/users/gary/gary.h @@ -1,7 +1,6 @@ #include QMK_KEYBOARD_H #pragma once -#define USE_SERIAL #define MASTER_LEFT // Layers diff --git a/users/gourdo1/gourdo1.h b/users/gourdo1/gourdo1.h index ecf6eaf25d..a198fd0805 100644 --- a/users/gourdo1/gourdo1.h +++ b/users/gourdo1/gourdo1.h @@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -// DEFINE MACROS -#define ARRAYSIZE(arr) sizeof(arr) / sizeof(arr[0]) - // LAYERS -- Note: to avoid compile problems, make sure total layers matches DYNAMIC_KEYMAP_LAYER_COUNT defined in config.h (where _COLEMAK layer is defined) enum custom_user_layers { _BASE, diff --git a/users/jjerrell/wrappers.h b/users/jjerrell/wrappers.h index cc0f963e8d..322dbd12f6 100644 --- a/users/jjerrell/wrappers.h +++ b/users/jjerrell/wrappers.h @@ -319,9 +319,9 @@ #define __________________RAISE_R3___________________ KC_AT, KC_QUOT, KC_DQUO, KC_PLUS, KC_CIRC // Adjust -#define __________________ADJUST_L1__________________ KC_MAKE, DEBUG, RESET, TERM_ON, TERM_OFF -#define __________________ADJUST_L2__________________ KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_MPLY, KC_MNXT -#define __________________ADJUST_L3__________________ KC_VRSN, AU_ON, AU_OFF, CG_SWAP, CG_NORM +#define __________________ADJUST_L1__________________ KC_MAKE, DEBUG, RESET, XXXXXXX, XXXXXXX +#define __________________ADJUST_L2__________________ KC__MUTE, KC__VOLDOWN, KC__VOLUP, KC_MPLY, KC_MNXT +#define __________________ADJUST_L3__________________ KC_VRSN, AU_ON, AU_OFF, CG_SWAP, CG_NORM #define __________________ADJUST_R1__________________ MU_MOD, MU_ON, MU_OFF, MI_ON, MI_OFF #define __________________ADJUST_R2__________________ MUV_IN, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD diff --git a/users/jonavin/jonavin.h b/users/jonavin/jonavin.h index 3ebd3fe9f2..97f72c1248 100644 --- a/users/jonavin/jonavin.h +++ b/users/jonavin/jonavin.h @@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define ARRAYSIZE(arr) sizeof(arr)/sizeof(arr[0]) #endif // !ARRAYSIZE - // LAYERS enum custom_user_layers { _BASE, diff --git a/users/muppetjones/wrappers.h b/users/muppetjones/wrappers.h index 301554f5d5..ba94d0eda4 100644 --- a/users/muppetjones/wrappers.h +++ b/users/muppetjones/wrappers.h @@ -65,7 +65,7 @@ * `----------------------------------' `----------------------------------' */ // NOTE: The "BACKLIT" keycode is planck specific -#define __ADJUST_L1________________________________ RESET, DEBUG, XXXXXXX, TERM_ON, TERM_OFF +#define __ADJUST_L1________________________________ RESET, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX #define __ADJUST_L2________________________________ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD #define __ADJUST_L3________________________________ XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX diff --git a/users/sigma/sigma.c b/users/sigma/sigma.c index 8470060a53..64fa68228b 100644 --- a/users/sigma/sigma.c +++ b/users/sigma/sigma.c @@ -67,7 +67,7 @@ void set_os(uint8_t os) { #if defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) switch (os) { case _OS_MACOS: - set_unicode_input_mode(UC_OSX); + set_unicode_input_mode(UC_MAC); break; case _OS_LINUX: set_unicode_input_mode(UC_LNX); diff --git a/users/spidey3/config.h b/users/spidey3/config.h index 91bcf910ee..36d59b6a5d 100644 --- a/users/spidey3/config.h +++ b/users/spidey3/config.h @@ -42,7 +42,7 @@ #define SPI_DEBUG_SCAN_RATE #undef MANUFACTURER -#define MANUFACTURER Window of Fire +#define MANUFACTURER "Window of Fire" // Some keyboards enable BACKLIGHT_CAPS_LOCK without checking if backlight is enabled. // Undef as appropriate to avoid compiler warnings in that case. diff --git a/users/spidey3/layer_rgb.c b/users/spidey3/layer_rgb.c index c867468194..bdf4584ef1 100644 --- a/users/spidey3/layer_rgb.c +++ b/users/spidey3/layer_rgb.c @@ -97,7 +97,7 @@ const rgblight_segment_t *const PROGMEM _rgb_layers[] = { // clang-format on -const uint8_t PROGMEM _n_rgb_layers = sizeof(_rgb_layers) / sizeof(_rgb_layers[0]) - 1; +const uint8_t PROGMEM _n_rgb_layers = ARRAY_SIZE(_rgb_layers) - 1; void clear_rgb_layers() { for (uint8_t i = 0; i < _n_rgb_layers; i++) { @@ -112,8 +112,7 @@ void do_rgb_layers(layer_state_t state, uint8_t start, uint8_t end) { } } -void do_rgb_unicode(void) { - uint8_t uc_mode = get_unicode_input_mode(); +void do_rgb_unicode(uint8_t uc_mode) { for (uint8_t i = 0; i < UC__COUNT; i++) { bool is_on = i == uc_mode; rgblight_set_layer_state(UNICODE_OFFSET + i, is_on); @@ -123,7 +122,7 @@ void do_rgb_unicode(void) { void do_rgb_all(void) { do_rgb_layers(default_layer_state, LAYER_BASE_DEFAULT, LAYER_BASE_REGULAR); do_rgb_layers(layer_state, LAYER_BASE_REGULAR, LAYER_BASE_END); - do_rgb_unicode(); + do_rgb_unicode(get_unicode_input_mode()); rgblight_set_layer_state(MISC_OFFSET + 0, spi_gflock); rgblight_set_layer_state(MISC_OFFSET + 1, spi_replace_mode != SPI_NORMAL); } @@ -148,7 +147,7 @@ extern rgblight_status_t rgblight_status; # define STARTUP_ANIMATION_CYCLE_STEP 2 # define STARTUP_ANIMATION_RAMP_TO_STEPS 70 # define STARTUP_ANIMATION_STEP_TIME 10 -# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME +# define STARTUP_ANIMATION_INITIAL_DELAY 0 // milliseconds, must be < 255 * STEP_TIME // clang-format off typedef enum { @@ -382,6 +381,13 @@ bool led_update_user_rgb(led_t led_state) { return true; } +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode) { + rgb_layer_ack(ACK_MEH); + do_rgb_unicode(input_mode); +} +#endif + void rgb_layer_ack_yn(bool yn) { rgb_layer_ack(yn ? ACK_YES : ACK_NO); } void rgb_layer_ack(layer_ack_t n) { @@ -458,7 +464,7 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { break; case RGB_TOG: - // Hack - we only get called on the press for RGB_TOG, + // Hack - we only get called on the press for RGB_TOG, // but the flag is only flipped on the release... rgb_layer_ack_yn(!rgblight_config.enable); break; @@ -476,20 +482,5 @@ void post_process_record_user_rgb(uint16_t keycode, keyrecord_t *record) { rgb_layer_ack_yn(keymap_config.nkro); break; #endif - -#if defined(UNICODE_COMMON_ENABLE) - case UC_M_MA: - case UC_M_LN: - case UC_M_WI: - case UC_M_BS: - case UC_M_WC: - case UC_M_EM: - - case UC_MOD: - case UC_RMOD: - rgb_layer_ack(ACK_MEH); - do_rgb_unicode(); - break; -#endif } } diff --git a/users/spidey3/rules.mk b/users/spidey3/rules.mk index c95582e176..35cfdb4187 100644 --- a/users/spidey3/rules.mk +++ b/users/spidey3/rules.mk @@ -11,5 +11,5 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) SRC += layer_rgb.c endif ifeq ($(strip $(UNICODEMAP_ENABLE)), yes) - SRC += unicode.c + SRC += spidey3_unicode.c endif diff --git a/users/spidey3/spidey3.c b/users/spidey3/spidey3.c index 842bb465f7..b4c261ce1d 100644 --- a/users/spidey3/spidey3.c +++ b/users/spidey3/spidey3.c @@ -98,14 +98,14 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin clear_oneshot_mods(); #endif - bool caps = host_keyboard_led_state().caps_lock; + bool caps = host_keyboard_led_state().caps_lock; uint32_t base = ((shifted == caps) ? baseAlphaLower : baseAlphaUpper); _register(base + (keycode - KC_A)); set_mods(temp_mod); } return false; case KC_0: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -113,7 +113,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin } return false; case KC_1 ... KC_9: - if (shifted) { // skip shifted numbers, so that we can still use symbols etc. + if (shifted) { // skip shifted numbers, so that we can still use symbols etc. return true; } if (record->event.pressed) { @@ -122,7 +122,7 @@ bool process_record_glyph_replacement(uint16_t keycode, keyrecord_t *record, uin return false; case KC_SPACE: if (record->event.pressed) { - _register(spaceGlyph); // em space + _register(spaceGlyph); // em space } return false; } @@ -199,8 +199,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // clang-format off - case CH_CPNL: host_consumer_send(AL_CONTROL_PANEL); return false; - case CH_ASST: host_consumer_send(AL_ASSISTANT); return false; case CH_SUSP: tap_code16(LGUI(LSFT(KC_L))); return true; // clang-format on @@ -285,11 +283,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } else { switch (keycode) { - case CH_CPNL: - case CH_ASST: - host_consumer_send(0); - return false; - case SPI_KP_00: unregister_code(KC_KP_0); return false; @@ -338,7 +331,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { set_mods(mods); return false; } - } else { // on release of KC_BSPC + } else { // on release of KC_BSPC // In case KC_DEL is still being sent even after the release of KC_BSPC if (delkey_registered) { unregister_code(KC_DEL); @@ -387,3 +380,11 @@ bool led_update_user(led_t led_state) { return true; #endif } + +#if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user(uint8_t input_mode) { +# ifdef RGBLIGHT_ENABLE + unicode_input_mode_set_user_rgb(input_mode); +# endif +} +#endif diff --git a/users/spidey3/spidey3.h b/users/spidey3/spidey3.h index e91b299e55..2b2cac0a20 100644 --- a/users/spidey3/spidey3.h +++ b/users/spidey3/spidey3.h @@ -6,7 +6,7 @@ #include QMK_KEYBOARD_H #ifdef UNICODEMAP_ENABLE -# include "unicode.h" +# include "spidey3_unicode.h" #endif enum userspace_layers { @@ -17,9 +17,7 @@ enum userspace_layers { }; enum custom_keycodes { - CH_CPNL = SAFE_RANGE, // AL Control Panel - CH_ASST, // AL Context-aware Desktop Assistant - CH_SUSP, // Suspend + CH_SUSP = SAFE_RANGE, // Suspend SPI_NORMAL, SPI_WIDE, @@ -65,6 +63,11 @@ void rgb_layer_ack(layer_ack_t n); void rgb_layer_ack_yn(bool yn); void clear_rgb_layers(void); void shutdown_user_rgb(void); + +# if defined(UNICODE_COMMON_ENABLE) +void unicode_input_mode_set_user_rgb(uint8_t input_mode); +# endif + #endif #ifdef UNICODEMAP_ENABLE diff --git a/users/spidey3/unicode.c b/users/spidey3/spidey3_unicode.c index 5292b0809b..c2804d8805 100644 --- a/users/spidey3/unicode.c +++ b/users/spidey3/spidey3_unicode.c @@ -2,7 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "unicode.h" +#include "spidey3_unicode.h" const uint32_t PROGMEM unicode_map[] = { [BUL1] = 0x2022, // • diff --git a/users/spidey3/unicode.h b/users/spidey3/spidey3_unicode.h index ee8e00056c..ee8e00056c 100644 --- a/users/spidey3/unicode.h +++ b/users/spidey3/spidey3_unicode.h diff --git a/users/tominabox1/config.h b/users/tominabox1/config.h index f853e18605..5fd8ba3a74 100644 --- a/users/tominabox1/config.h +++ b/users/tominabox1/config.h @@ -22,7 +22,7 @@ #ifdef RGB_MATRIX_ENABLE #undef RGBLED_NUM #define RGBLED_NUM 50 - #define DRIVER_LED_TOTAL RGBLED_NUM + #define RGB_MATRIX_LED_COUNT RGBLED_NUM #endif // RGBL_MATRIX_ENABLE #endif // KEYBOARD_lazydesigners_dimple diff --git a/users/tominabox1/dimple_rgb.c b/users/tominabox1/dimple_rgb.c index 49d95eb43a..299dc830f1 100644 --- a/users/tominabox1/dimple_rgb.c +++ b/users/tominabox1/dimple_rgb.c @@ -1,7 +1,7 @@ #include "dz60rgb.h" #include "config.h" #if defined (dzrgb60_iso) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, {0, K_12, J_12, L_12}, @@ -86,7 +86,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_hhkb) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, H_15, G_15, I_15}, {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, @@ -172,7 +172,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_hhkb_iso) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, H_15, G_15, I_15}, {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, @@ -258,7 +258,7 @@ led_config_t g_led_config = { { } }; #elif defined (dzrgb60_ansi) -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_LED_COUNT] = { {0, K_14, J_14, L_14}, {0, K_13, J_13, L_13}, {0, K_12, J_12, L_12}, @@ -343,7 +343,7 @@ led_config_t g_led_config = { { } }; #else -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led g_is31_leds[RGB_MATRIX_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/users/tominabox1/tominabox1.c b/users/tominabox1/tominabox1.c index b4ec224d07..999222fa67 100644 --- a/users/tominabox1/tominabox1.c +++ b/users/tominabox1/tominabox1.c @@ -58,7 +58,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode uint16_t time = scale16by8(g_rgb_counters.tick, speed / 8); hsv.v = scale8(abs8(sin8(time) - 128) * 2, hsv.v); RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } @@ -68,7 +68,7 @@ void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t mode default: // Solid Color { RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { if (HAS_FLAGS(g_led_config.flags[i], led_type)) { rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); } diff --git a/users/uqs/uqs.c b/users/uqs/uqs.c index 72284143c6..7e2d09e0f6 100644 --- a/users/uqs/uqs.c +++ b/users/uqs/uqs.c @@ -78,9 +78,9 @@ const rgblight_segment_t* const PROGMEM my_rgb_layers[] = { my_rgb_segments[L_MOUSE], }; -_Static_assert(sizeof(my_rgb_layers) / sizeof(my_rgb_layers[0]) == - sizeof(my_rgb_segments) / sizeof(my_rgb_segments[0]), - "Number of rgb_segment definitions does not match up!"); +_Static_assert(ARRAY_SIZE(my_rgb_layers) == + ARRAY_SIZE(my_rgb_segments), + "Number of rgb_segment definitions does not match up!"); #endif #ifdef COMBO_ENABLE @@ -125,7 +125,7 @@ const uint16_t PROGMEM my_combos[][4] = { {KC_BTN1, KC_BTN2, KC_BTN3, COMBO_END}, }; -const uint16_t COMBO_LEN = sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0]); +const uint16_t COMBO_LEN = ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos); #define MY_ACTION_COMBO(ck) \ [ck] = { .keys = &(my_action_combos[ck][0]) } @@ -162,11 +162,11 @@ combo_t key_combos[] = { MY_COMBO(14), }; -_Static_assert(sizeof(key_combos) / sizeof(key_combos[0]) == - (sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0])), - "Number of combo definitions does not match up!"); +_Static_assert(ARRAY_SIZE(key_combos) == + (ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos)), + "Number of combo definitions does not match up!"); #else -combo_t key_combos[sizeof(my_action_combos) / sizeof(my_action_combos[0]) + sizeof(my_combos) / sizeof(my_combos[0])]; +combo_t key_combos[ARRAY_SIZE(my_action_combos) + ARRAY_SIZE(my_combos)]; #endif void process_combo_event(uint16_t combo_index, bool pressed) { @@ -235,10 +235,10 @@ void keyboard_post_init_user(void) { #endif #if defined(COMBO_ENABLE) && !defined(COMBO_STATICALLY) uint8_t i = 0; - for (; i < sizeof(my_action_combos) / sizeof(my_action_combos[0]); i++) { + for (; i < ARRAY_SIZE(my_action_combos); i++) { key_combos[i].keys = &(my_action_combos[i][0]); } - for (uint8_t j = 0; j < sizeof(my_combos) / sizeof(my_combos[0]); j++, i++) { + for (uint8_t j = 0; j < ARRAY_SIZE(my_combos); j++, i++) { key_combos[i].keycode = my_combos[j][0]; key_combos[i].keys = &(my_combos[j][1]); } diff --git a/users/vitoni/rgb_matrix_effects.h b/users/vitoni/rgb_matrix_effects.h index ed74500b18..c3234b159b 100644 --- a/users/vitoni/rgb_matrix_effects.h +++ b/users/vitoni/rgb_matrix_effects.h @@ -22,7 +22,7 @@ enum states { #if defined(RGB_DISABLE_WITH_FADE_OUT) ,FADE_OUT //!< before supending #endif - ,SUSPENDED //!< expecting to be suspended by RGB_DISABLE_TIMEOUT any time + ,SUSPENDED //!< expecting to be suspended by RGB_MATRIX_TIMEOUT any time }; /** @@ -99,8 +99,8 @@ bool fade_in(const uint8_t time); #endif #if defined(RGB_DISABLE_WITH_FADE_OUT) -# if !defined(RGB_DISABLE_TIMEOUT) -# warning "RGB_DISABLE_WITH_FADE_OUT expects RGB_DISABLE_TIMEOUT to be defined" +# if !defined(RGB_MATRIX_TIMEOUT) +# warning "RGB_DISABLE_WITH_FADE_OUT expects RGB_MATRIX_TIMEOUT to be defined" # endif #endif diff --git a/users/vitoni/vitoni.c b/users/vitoni/vitoni.c index 2a0ff5c46f..f8cb50ea78 100644 --- a/users/vitoni/vitoni.c +++ b/users/vitoni/vitoni.c @@ -31,17 +31,17 @@ void matrix_scan_user_rgb(void) { #endif #if defined(RGB_DISABLE_WITH_FADE_OUT) const uint32_t fade_out_duration = scale_2_rgb_time(128); - const uint32_t start_fade_out_after_millis = (RGB_DISABLE_TIMEOUT) > fade_out_duration - ? (RGB_DISABLE_TIMEOUT) - fade_out_duration + const uint32_t start_fade_out_after_millis = (RGB_MATRIX_TIMEOUT) > fade_out_duration + ? (RGB_MATRIX_TIMEOUT) - fade_out_duration : 0; if (start_fade_out_after_millis <= inactivity_millis) { update_value(&state, FADE_OUT, &calc_offset); } -#elif defined(RGB_DISABLE_TIMEOUT) +#elif defined(RGB_MATRIX_TIMEOUT) // having to set brightness "manually" to black as starting point for fade in // for the time when returning from suspended state - if (RGB_DISABLE_TIMEOUT <= inactivity_millis + 15) { + if (RGB_MATRIX_TIMEOUT <= inactivity_millis + 15) { rgb_matrix_config.hsv.v = 0; state = SUSPENDED; } diff --git a/users/xulkal/config.h b/users/xulkal/config.h index 88e3efbe72..7f7782807e 100644 --- a/users/xulkal/config.h +++ b/users/xulkal/config.h @@ -31,5 +31,5 @@ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH // 20m timeout (20m * 60s * 1000mil) -#define RGB_DISABLE_TIMEOUT 1200000 +#define RGB_MATRIX_TIMEOUT 1200000 #define OLED_SCROLL_TIMEOUT 20000 diff --git a/users/xulkal/layouts.h b/users/xulkal/layouts.h index 63e73c32e6..e30427b3cd 100644 --- a/users/xulkal/layouts.h +++ b/users/xulkal/layouts.h @@ -96,7 +96,7 @@ * ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | RESET| DEBUG| | | | | |TERM_ON|TERM_OFF| | | | + * | | RESET| DEBUG| | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |MusMod|Aud on|AudOff|AGnorm| |AGswap|ClkUp |ClkDwn| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| @@ -113,7 +113,7 @@ #define _________________ADJUST_L5_________________ _______, _______, _______, _______, _______, _______ #define _________________ADJUST_R1_________________ _______, _______, _______, _______, _______, _______ -#define _________________ADJUST_R2_________________ _______, TERM_ON, TERM_OFF, _______, _______, _______ +#define _________________ADJUST_R2_________________ _______, _______, _______, _______, _______, _______ #define _________________ADJUST_R3_________________ AG_SWAP, CK_UP, CK_DOWN, _______, _______, _______ #define _________________ADJUST_R4_________________ MI_OFF, CK_ON, CK_OFF, _______, _______, _______ #define _________________ADJUST_R5_________________ _______, _______, _______, _______, _______, _______ diff --git a/util/install/gentoo.sh b/util/install/gentoo.sh index b031fc7629..49e80490be 100755 --- a/util/install/gentoo.sh +++ b/util/install/gentoo.sh @@ -19,7 +19,7 @@ _qmk_install() { sudo touch /etc/portage/package.use/qmkfirmware # tee is used here since sudo doesn't apply to >> - echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null + echo "sys-devel/gcc multilib\ncross-arm-none-eabi/newlib nano" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null sudo emerge -auN sys-devel/gcc sudo emerge -au --noreplace \ app-arch/unzip app-arch/zip net-misc/wget sys-devel/clang \ |