Browse Source

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>
pull/11735/head 0.11.56
Zach White 3 years ago
committed by GitHub
parent
commit
d02c4c5241
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
45 changed files with 211 additions and 1 deletions
  1. +3
    -0
      build_keyboard.mk
  2. +31
    -0
      disable_features.mk
  3. +5
    -0
      keyboards/40percentclub/4x4/rules.mk
  4. +4
    -0
      keyboards/40percentclub/gherkin/rules.mk
  5. +3
    -0
      keyboards/40percentclub/nori/rules.mk
  6. +5
    -0
      keyboards/acheron/shark/rules.mk
  7. +4
    -0
      keyboards/amjkeyboard/amj66/rules.mk
  8. +5
    -0
      keyboards/boardsource/4x12/rules.mk
  9. +5
    -0
      keyboards/boardsource/5x12/rules.mk
  10. +5
    -0
      keyboards/chimera_ls/rules.mk
  11. +3
    -1
      keyboards/clueboard/66_hotswap/gen1/rules.mk
  12. +5
    -0
      keyboards/contra/rules.mk
  13. +3
    -0
      keyboards/crkbd/rev1/legacy/rules.mk
  14. +5
    -0
      keyboards/dm9records/plaid/rules.mk
  15. +5
    -0
      keyboards/dm9records/tartan/rules.mk
  16. +4
    -0
      keyboards/efreet/rules.mk
  17. +4
    -0
      keyboards/ergodox_ez/rules.mk
  18. +5
    -0
      keyboards/evyd13/eon40/rules.mk
  19. +5
    -0
      keyboards/evyd13/nt660/rules.mk
  20. +5
    -0
      keyboards/evyd13/pockettype/rules.mk
  21. +5
    -0
      keyboards/fractal/rules.mk
  22. +3
    -0
      keyboards/jj40/rules.mk
  23. +4
    -0
      keyboards/jnao/rules.mk
  24. +3
    -0
      keyboards/kbdfans/kbd4x/rules.mk
  25. +4
    -0
      keyboards/keebio/levinson/rev3/rules.mk
  26. +3
    -0
      keyboards/keebio/wavelet/rules.mk
  27. +4
    -0
      keyboards/lazydesigners/dimple/rules.mk
  28. +2
    -0
      keyboards/lets_split/rev2/rules.mk
  29. +3
    -0
      keyboards/lets_split/sockets/rules.mk
  30. +3
    -0
      keyboards/lets_split_eh/eh/rules.mk
  31. +4
    -0
      keyboards/mechstudio/ud_40_ortho/rules.mk
  32. +4
    -0
      keyboards/meira/promicro/rules.mk
  33. +4
    -0
      keyboards/montsinger/rebound/rev4/rules.mk
  34. +4
    -0
      keyboards/niu_mini/rules.mk
  35. +4
    -0
      keyboards/quark/rules.mk
  36. +4
    -0
      keyboards/redox/rules.mk
  37. +4
    -0
      keyboards/rgbkb/zygomorph/rules.mk
  38. +5
    -0
      keyboards/signum/3_0/elitec/rules.mk
  39. +5
    -0
      keyboards/spaceman/pancake/feather/rules.mk
  40. +5
    -0
      keyboards/spaceman/pancake/promicro/rules.mk
  41. +5
    -0
      keyboards/telophase/rules.mk
  42. +3
    -0
      keyboards/vitamins_included/rev2/rules.mk
  43. +4
    -0
      keyboards/zlant/rules.mk
  44. +4
    -0
      keyboards/zvecr/split_blackpill/rules.mk
  45. +4
    -0
      keyboards/zvecr/zv48/f401/rules.mk

+ 3
- 0
build_keyboard.mk View File

@ -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
- 0
disable_features.mk View 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)))

+ 5
- 0
keyboards/40percentclub/4x4/rules.mk View File

@ -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

+ 4
- 0
keyboards/40percentclub/gherkin/rules.mk View File

@ -26,3 +26,7 @@ AUDIO_ENABLE = no
RGBLIGHT_ENABLE = no
LAYOUTS = ortho_3x10
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no

+ 3
- 0
keyboards/40percentclub/nori/rules.mk View File

@ -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

+ 5
- 0
keyboards/acheron/shark/rules.mk View File

@ -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

+ 4
- 0
keyboards/amjkeyboard/amj66/rules.mk View File

@ -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

+ 5
- 0
keyboards/boardsource/4x12/rules.mk View File

@ -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

+ 5
- 0
keyboards/boardsource/5x12/rules.mk View File

@ -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

+ 5
- 0
keyboards/chimera_ls/rules.mk View File

@ -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

+ 3
- 1
keyboards/clueboard/66_hotswap/gen1/rules.mk View File

@ -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

+ 5
- 0
keyboards/contra/rules.mk View File

@ -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

+ 3
- 0
keyboards/crkbd/rev1/legacy/rules.mk View File

@ -5,3 +5,6 @@ SRC += matrix.c \
split_scomm.c
QUANTUM_LIB_SRC += i2c.c serial.c
# Disable unsupported hardware
BACKLIGHT_SUPPORTED = no

+ 5
- 0
keyboards/dm9records/plaid/rules.mk View File

@ -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

+ 5
- 0
keyboards/dm9records/tartan/rules.mk View File

@ -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

+ 4
- 0
keyboards/efreet/rules.mk View File

@ -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

+ 4
- 0
keyboards/ergodox_ez/rules.mk View File

@ -41,3 +41,7 @@ SRC += matrix.c \
QUANTUM_LIB_SRC += i2c_master.c
LAYOUTS = ergodox
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

+ 5
- 0
keyboards/evyd13/eon40/rules.mk View File

@ -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

+ 5
- 0
keyboards/evyd13/nt660/rules.mk View File

@ -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

+ 5
- 0
keyboards/evyd13/pockettype/rules.mk View File

@ -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

+ 5
- 0
keyboards/fractal/rules.mk View File

@ -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

+ 3
- 0
keyboards/jj40/rules.mk View File

@ -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

+ 4
- 0
keyboards/jnao/rules.mk View File

@ -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

+ 3
- 0
keyboards/kbdfans/kbd4x/rules.mk View File

@ -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

+ 4
- 0
keyboards/keebio/levinson/rev3/rules.mk View File

@ -1 +1,5 @@
BACKLIGHT_ENABLE = yes
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no

+ 3
- 0
keyboards/keebio/wavelet/rules.mk View File

@ -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

+ 4
- 0
keyboards/lazydesigners/dimple/rules.mk View File

@ -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

+ 2
- 0
keyboards/lets_split/rev2/rules.mk View File

@ -0,0 +1,2 @@
# Disable unsupported hardware
AUDIO_SUPPORTED = no

+ 3
- 0
keyboards/lets_split/sockets/rules.mk View File

@ -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

+ 3
- 0
keyboards/lets_split_eh/eh/rules.mk View File

@ -1,2 +1,5 @@
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
# Disable unsupported hardware
AUDIO_SUPPORTED = no

+ 4
- 0
keyboards/mechstudio/ud_40_ortho/rules.mk View File

@ -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

+ 4
- 0
keyboards/meira/promicro/rules.mk View File

@ -1 +1,5 @@
BLUETOOTH_ENABLE = no
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no

+ 4
- 0
keyboards/montsinger/rebound/rev4/rules.mk View File

@ -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

+ 4
- 0
keyboards/niu_mini/rules.mk View File

@ -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

+ 4
- 0
keyboards/quark/rules.mk View File

@ -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

+ 4
- 0
keyboards/redox/rules.mk View File

@ -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

+ 4
- 0
keyboards/rgbkb/zygomorph/rules.mk View File

@ -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

+ 5
- 0
keyboards/signum/3_0/elitec/rules.mk View File

@ -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

+ 5
- 0
keyboards/spaceman/pancake/feather/rules.mk View File

@ -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

+ 5
- 0
keyboards/spaceman/pancake/promicro/rules.mk View File

@ -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

+ 5
- 0
keyboards/telophase/rules.mk View File

@ -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

+ 3
- 0
keyboards/vitamins_included/rev2/rules.mk View File

@ -9,3 +9,6 @@
BOOTLOADER = qmk-dfu
SPLIT_KEYBOARD = yes
# Disable unsupported hardware
BACKLIGHT_SUPPORTED = no

+ 4
- 0
keyboards/zlant/rules.mk View File

@ -26,3 +26,7 @@ AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
LAYOUTS = ortho_4x12 planck_mit
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

+ 4
- 0
keyboards/zvecr/split_blackpill/rules.mk View File

@ -28,3 +28,7 @@ SERIAL_DRIVER = usart
WS2812_DRIVER = pwm
LAYOUTS = ortho_4x12
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

+ 4
- 0
keyboards/zvecr/zv48/f401/rules.mk View File

@ -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…
Cancel
Save