mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-24 02:05:01 +06:00
Add a <FEATURE>_SUPPORTED flag (#9058)
* Initial attempt at allowing keyboards to indicate what features they do not support * try to use a for loop instead * Update disable_features.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * add a few more features * remove my test fixture * disable things that make all:all suggested" Co-authored-by: Zach White <skullydazed@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
92a787ca4c
commit
d02c4c5241
@ -283,6 +283,9 @@ ifneq ("$(wildcard $(USER_PATH)/config.h)","")
|
||||
CONFIG_H += $(USER_PATH)/config.h
|
||||
endif
|
||||
|
||||
# Disable features that a keyboard doesn't support
|
||||
-include disable_features.mk
|
||||
|
||||
# Object files directory
|
||||
# To put object files in current directory, use a dot (.), do NOT make
|
||||
# this an empty or blank macro!
|
||||
|
31
disable_features.mk
Normal file
31
disable_features.mk
Normal file
@ -0,0 +1,31 @@
|
||||
# Unconditionally disable features that a keyboard advertises it doesn't support
|
||||
|
||||
FEATURE_NAMES :=
|
||||
FEATURE_NAMES += ADAFRUIT_BLE
|
||||
FEATURE_NAMES += AUDIO
|
||||
FEATURE_NAMES += BACKLIGHT
|
||||
FEATURE_NAMES += BLUETOOTH
|
||||
FEATURE_NAMES += DIP_SWITCH
|
||||
FEATURE_NAMES += DYNAMIC_KEYMAP
|
||||
FEATURE_NAMES += ENCODER
|
||||
FEATURE_NAMES += HAPTIC
|
||||
FEATURE_NAMES += HD44780
|
||||
FEATURE_NAMES += IOS_DEVICE
|
||||
FEATURE_NAMES += LCD_BACKLIGHT
|
||||
FEATURE_NAMES += LCD
|
||||
FEATURE_NAMES += OLED
|
||||
FEATURE_NAMES += POINTING_DEVICE
|
||||
FEATURE_NAMES += PRINTING
|
||||
FEATURE_NAMES += PS2_MOUSE
|
||||
FEATURE_NAMES += RGBLIGHT
|
||||
FEATURE_NAMES += RGB_MATRIX
|
||||
FEATURE_NAMES += SLEEP_LED
|
||||
FEATURE_NAMES += SERIAL_LINK
|
||||
FEATURE_NAMES += STENO
|
||||
FEATURE_NAMES += SWAP_HANDS
|
||||
FEATURE_NAMES += VISUALIZER
|
||||
FEATURE_NAMES += WATCHDOG
|
||||
FEATURE_NAMES += XT
|
||||
|
||||
$(foreach AFEATURE,$(FEATURE_NAMES),\
|
||||
$(if $(filter $($(AFEATURE)_SUPPORTED),no),$(eval $(AFEATURE)_ENABLE=no)))
|
@ -31,3 +31,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12 ortho_4x16
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -26,3 +26,7 @@ AUDIO_ENABLE = no
|
||||
RGBLIGHT_ENABLE = no
|
||||
|
||||
LAYOUTS = ortho_3x10
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -32,3 +32,6 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -22,3 +22,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -31,3 +31,7 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = 66_ansi 66_iso
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -30,3 +30,8 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -31,3 +31,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_5x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -38,3 +38,8 @@ CHIMERA_LS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
SRC = matrix.c
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -18,4 +18,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
AUDIO_ENABLE = yes
|
||||
# SERIAL_LINK_ENABLE = yes
|
||||
|
||||
LAYOUTS = 66_ansi
|
||||
# project specific files
|
||||
SRC = led.c
|
||||
LAYOUTS += 66_ansi
|
||||
|
@ -29,3 +29,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
|
||||
LAYOUTS = planck_mit ortho_4x12
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -5,3 +5,6 @@ SRC += matrix.c \
|
||||
split_scomm.c
|
||||
|
||||
QUANTUM_LIB_SRC += i2c.c serial.c
|
||||
|
||||
# Disable unsupported hardware
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -33,3 +33,8 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -33,3 +33,8 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -22,3 +22,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -41,3 +41,7 @@ SRC += matrix.c \
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
|
||||
LAYOUTS = ergodox
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -34,3 +34,8 @@ ENCODER_ENABLE = yes
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -31,3 +31,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = 66_ansi 66_iso
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -29,3 +29,8 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -29,3 +29,8 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
|
||||
LAYOUTS = ortho_5x12 # preonic_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -33,3 +33,6 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -33,3 +33,7 @@ FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_5x12 ortho_4x12
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -32,3 +32,6 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -1 +1,5 @@
|
||||
BACKLIGHT_ENABLE = yes
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -32,3 +32,6 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -20,3 +20,7 @@ EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -0,0 +1,2 @@
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
@ -3,3 +3,6 @@ AUDIO_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes #Don't enable this along with I2C
|
||||
|
||||
LTO_ENABLE = yes
|
||||
|
||||
# Disable unsupported hardware
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -1,2 +1,5 @@
|
||||
BACKLIGHT_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -22,3 +22,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -1 +1,5 @@
|
||||
BLUETOOTH_ENABLE = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
|
@ -31,3 +31,7 @@ ENCODER_ENABLE = yes
|
||||
LAYOUTS = ortho_4x12
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -34,3 +34,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -23,3 +23,7 @@ AUDIO_ENABLE = no # Audio output
|
||||
UNICODE_ENABLE = yes # Unicode
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -34,3 +34,7 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
DEFAULT_FOLDER = redox/rev1
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -36,3 +36,7 @@ SPLIT_KEYBOARD = yes
|
||||
LAYOUTS = ortho_4x12 ortho_5x12
|
||||
|
||||
DEFAULT_FOLDER = rgbkb/zygomorph/rev1
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -28,3 +28,8 @@ RGBLIGHT_ENABLE = no
|
||||
UNICODEMAP_ENABLE = no
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -30,3 +30,8 @@ AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expans
|
||||
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -26,3 +26,8 @@ AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expans
|
||||
RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -39,3 +39,8 @@ MITOSIS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -9,3 +9,6 @@
|
||||
BOOTLOADER = qmk-dfu
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
# Disable unsupported hardware
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -26,3 +26,7 @@ AUDIO_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -28,3 +28,7 @@ SERIAL_DRIVER = usart
|
||||
WS2812_DRIVER = pwm
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
@ -3,3 +3,7 @@ MCU = STM32F401
|
||||
|
||||
# Address of the bootloader in system memory
|
||||
STM32_BOOTLOADER_ADDRESS = 0x1FFF0000
|
||||
|
||||
# Disable unsupported hardware
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
Loading…
Reference in New Issue
Block a user