diff --git a/keyboards/helix/pico/keymaps/default/readme.md b/keyboards/helix/pico/keymaps/default/readme.md index 3c097247e527..e5b1dc821d9b 100644 --- a/keyboards/helix/pico/keymaps/default/readme.md +++ b/keyboards/helix/pico/keymaps/default/readme.md @@ -116,15 +116,13 @@ build ``` $ make helix/pico:default $ make helix/pico/back:default # with backlight -$ make HELIX=no_ani helix/pico/back:default # with backlight without animation +$ make HELIX=no-ani helix/pico/back:default # with backlight without animation $ make helix/pico/under:default # with underglow ``` -build (experimental use of split_common) +build (experimental use of split_common with backlight) ``` -$ make helix/pico/sc:default -$ make helix/pico/sc/back:default -$ make helix/pico/sc/under:default +$ make helix/pico/split_common:default ``` flash to keyboard diff --git a/keyboards/helix/pico/local_features.mk b/keyboards/helix/pico/local_features.mk index 0277a3d227c0..de86c2062203 100644 --- a/keyboards/helix/pico/local_features.mk +++ b/keyboards/helix/pico/local_features.mk @@ -5,6 +5,8 @@ # combinations of standard options) into QMK standard options. # +KEYBOARD_LOCAL_FEATURES_MK := + define HELIX_CUSTOMISE_MSG $(info Helix Spacific Build Options) $(info - OLED_ENABLE = $(OLED_ENABLE)) @@ -15,42 +17,61 @@ define HELIX_CUSTOMISE_MSG $(info ) endef +define HELIX_HELP_MSG + $(info Helix keyboard convenient command line option) + $(info - make HELIX= helix/pico:) + $(info - option= oled | back | under | na | no-ani) + $(info - ios | sc | split-common | scan | verbose) + $(info - ex.) + $(info - make HELIX=oled helix/pico:) + $(info - make HELIX=back helix/pico:) + $(info - make HELIX=under helix/pico:) + $(info - make HELIX=back,na helix/pico:) + $(info - make HELIX=back,ios helix/pico:) + $(info ) +endef + ifneq ($(strip $(HELIX)),) - ### Helix keyboard keymap: convenient command line option - ## make HELIX= helix/pico: - ## option= oled | back | under | no_ani | na | ios | verbose - ## ex. - ## make HELIX=oled helix/pico: - ## make HELIX=oled,back helix/pico: - ## make HELIX=oled,under helix/pico: - ## make HELIX=oled,back,na helix/pico: - ## make HELIX=oled,back,ios helix/pico: - ## - ifeq ($(findstring oled,$(HELIX)), oled) + COMMA=, + helix_option := $(subst $(COMMA), , $(HELIX)) + ifneq ($(filter help,$(helix_option)),) + $(eval $(call HELIX_HELP_MSG)) + $(error ) + endif + ifneq ($(filter oled,$(helix_option)),) OLED_ENABLE = yes endif - ifeq ($(findstring back,$(HELIX)), back) + ifneq ($(filter back,$(helix_option)),) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(HELIX)), under) + else ifneq ($(filter under,$(helix_option)),) LED_UNDERGLOW_ENABLE = yes endif - ifeq ($(findstring na,$(HELIX)), na) + ifneq ($(filter na,$(helix_option)),) LED_ANIMATIONS = no endif - ifeq ($(findstring no_ani,$(HELIX)), no_ani) + ifneq ($(filter no_ani,$(helix_option)),) LED_ANIMATIONS = no endif - ifeq ($(findstring ios,$(HELIX)), ios) + ifneq ($(filter no-ani,$(helix_option)),) + LED_ANIMATIONS = no + endif + ifneq ($(filter ios,$(helix_option)),) IOS_DEVICE_ENABLE = yes endif - ifeq ($(findstring scan,$(HELIX)), scan) + ifneq ($(filter sc,$(helix_option)),) + SPLIT_KEYBOARD = yes + endif + ifneq ($(filter split-common,$(helix_option)),) + SPLIT_KEYBOARD = yes + endif + ifneq ($(filter scan,$(helix_option)),) # use DEBUG_MATRIX_SCAN_RATE # see docs/newbs_testing_debugging.md OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE CONSOLE_ENABLE = yes SHOW_VERBOSE_INFO = yes endif - ifeq ($(findstring verbose,$(HELIX)), verbose) + ifneq ($(filter verbose,$(helix_option)),) SHOW_VERBOSE_INFO = yes endif SHOW_HELIX_OPTIONS = yes @@ -120,6 +141,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE)) $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) $(info -- OPT_DEFS = $(OPT_DEFS)) + $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE)) $(info ) endif diff --git a/keyboards/helix/pico/sc/rules.mk b/keyboards/helix/pico/sc/rules.mk deleted file mode 100644 index d38a61809075..000000000000 --- a/keyboards/helix/pico/sc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SPLIT_KEYBOARD = yes diff --git a/keyboards/helix/pico/sc/under/rules.mk b/keyboards/helix/pico/sc/under/rules.mk deleted file mode 100644 index a37aa6fab370..000000000000 --- a/keyboards/helix/pico/sc/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/pico/sc/back/rules.mk b/keyboards/helix/pico/split_common/rules.mk similarity index 51% rename from keyboards/helix/pico/sc/back/rules.mk rename to keyboards/helix/pico/split_common/rules.mk index 066fffb74af2..4ed0672a7086 100644 --- a/keyboards/helix/pico/sc/back/rules.mk +++ b/keyboards/helix/pico/split_common/rules.mk @@ -1 +1,2 @@ +SPLIT_KEYBOARD = yes LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/back/oled/rules.mk b/keyboards/helix/rev2/back/oled/rules.mk deleted file mode 100644 index dd68e9d3b090..000000000000 --- a/keyboards/helix/rev2/back/oled/rules.mk +++ /dev/null @@ -1 +0,0 @@ -OLED_ENABLE = yes diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md index 1237e5d5b62f..a24bfd713458 100644 --- a/keyboards/helix/rev2/keymaps/default/readme.md +++ b/keyboards/helix/rev2/keymaps/default/readme.md @@ -112,7 +112,7 @@ see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk` # you can uncomment and edit follows 7 Variables # jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 # HELIX_ROWS = 5 # Helix Rows is 4 or 5 -# OLED_ENABLE = no # OLED_ENABLE +# OLED_ENABLE = yes # OLED_ENABLE # LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" # LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) # LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) @@ -128,35 +128,25 @@ $ cd qmk_firmware build ``` -$ make helix:default -$ make helix/rev2/back:default # with backlight -$ make HELIX=no_ani helix/rev2/back:default # with backlight without animation -$ make helix/rev2/under:default # with underglow -$ make helix/rev2/oled:default # with oled -$ make helix/rev2/oled/back:default # with oled and backlight -$ make helix/rev2/oled/under:default # with oled and underglow +$ make helix:default # with oled +$ make helix/rev2/back:default # with oled and backlight +$ make HELIX=no-ani helix/rev2/back:default # with oled and backlight without animation +$ make helix/rev2/under:default # with oled and underglow +$ make HELIX=no-oled helix:default # without oled ``` -build (experimental use of split_common) +build (experimental use of split_common with backlight and oled) ``` -$ make helix/rev2/sc:default -$ make helix/rev2/sc/back:default -$ make helix/rev2/sc/under:default -$ make helix/rev2/sc/oled:default -$ make helix/rev2/sc/oledback:default -$ make helix/rev2/sc/oledunder:default +$ make helix/rev2/split_common:default ``` flash to keyboard ``` -$ make helix:default:flash -$ make helix/rev2/back:default:flash # with backlight -$ make HELIX=no_ani helix/rev2/back:default:flash # with backlight without animation -$ make helix/rev2/under:default:flash # with underglow -$ make helix/rev2/oled:default:flash # with oled -$ make helix/rev2/oled/back:default:flash # with oled and backlight -$ make helix/rev2/oled/under:default:flash # with oled and underglow - +$ make helix:default:flash # with oled +$ make helix/rev2/back:default:flash # with oled and backlight +$ make HELIX=no-ani helix/rev2/back:default:flash # with oled and backlight without animation +$ make helix/rev2/under:default:flash # with oled and underglow +$ make HELIX=no-oled helix:default:flash # without oled ``` ## Link diff --git a/keyboards/helix/rev2/keymaps/default/readme_jp.md b/keyboards/helix/rev2/keymaps/default/readme_jp.md index 2dfab351b0c6..5f0295f8f346 100644 --- a/keyboards/helix/rev2/keymaps/default/readme_jp.md +++ b/keyboards/helix/rev2/keymaps/default/readme_jp.md @@ -30,7 +30,7 @@ RGB バックライトまたは、RGB Underglow をつけた場合は、 # you can uncomment and edit follows 7 Variables # jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。 # HELIX_ROWS = 5 # Helix Rows is 4 or 5 -# OLED_ENABLE = no # OLED_ENABLE +# OLED_ENABLE = yes # OLED_ENABLE # LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" # LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) # LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) @@ -61,11 +61,12 @@ rules.mk の下記の部分を編集して no を yes に変更してくださ LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.) ``` -## OLEDを有効にする +## OLEDを無効にする -rules.mk の下記の部分を編集して no を yes に変更してください。 +OLED はデフォルトで有効になっています。 +無効にしたいときは rules.mk の下記の部分を編集して yes を no に変更してください。 ``` -OLED_ENABLE = yes # OLED_ENABLE +OLED_ENABLE = no # OLED_ENABLE ``` ## iPad/iPhoneサポートを有効にする。 @@ -104,9 +105,9 @@ $ make helix:default:clean 上記の、rules.mk によるカスタマイズ項目の一部は下記のようにコマンド上で直接指定することも可能です。 -OLED を有効にしてコンパイルしてキーボードへの書き込む。 +OLED を無効にしてコンパイルしてキーボードへの書き込む。 ``` -$ make helix/rev2/oled:default:flash +$ make HELIX=no-oled helix/rev2:default:flash ``` RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 @@ -119,14 +120,14 @@ RGB Underglow を有効にしてコンパイルしてキーボードへ書き込 $ make helix/rev2/under:default:flash ``` -OLED とRGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 +OLED を無効にして、RGB バックライトを有効にしてコンパイルしてキーボードへ書き込む。 ``` -$ make helix/rev2/oled/back:default:flash +$ make HELIX=no-oled helix/rev2/back:default:flash ``` -OLED とRGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。 +OLED を無効にして、RGB Underglowを有効にしてコンパイルしてキーボードへ書き込む。 ``` -$ make helix/rev2/oled/under:default:flash +$ make HELIX=no-oled helix/rev2/under:default:flash ``` ## リンク diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk index fb0b5a547622..a3fc26f8c05c 100644 --- a/keyboards/helix/rev2/keymaps/led_test/rules.mk +++ b/keyboards/helix/rev2/keymaps/led_test/rules.mk @@ -14,8 +14,8 @@ LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this opti OLED_ENABLE = yes # OLED_ENABLE # LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" LED_BACK_ENABLE = yes # LED backlight (Enable WS2812 RGB underlight.) -# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) -LED_ANIMATIONS = yes # LED animations +LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) +LED_ANIMATIONS = yes # LED animations # IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) SRC += led_test_init.c diff --git a/keyboards/helix/rev2/keymaps/xulkal/rules.mk b/keyboards/helix/rev2/keymaps/xulkal/rules.mk index 03800f9bb95b..7fac4df7e102 100644 --- a/keyboards/helix/rev2/keymaps/xulkal/rules.mk +++ b/keyboards/helix/rev2/keymaps/xulkal/rules.mk @@ -11,3 +11,6 @@ OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" OPT_DEFS += -DOLED_90ROTATION SPLIT_KEYBOARD = yes + +# Explicitly disable helix standard post-processing +KEYBOARD_LOCAL_FEATURES_MK := diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index 4b120936dedd..6e84eaceb19e 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -5,6 +5,8 @@ # combinations of standard options) into QMK standard options. # +KEYBOARD_LOCAL_FEATURES_MK := + define HELIX_CUSTOMISE_MSG $(info Helix Spacific Build Options) $(info - OLED_ENABLE = $(OLED_ENABLE)) @@ -15,42 +17,79 @@ define HELIX_CUSTOMISE_MSG $(info ) endef +define HELIX_HELP_MSG + $(info Helix keyboard convenient command line option) + $(info - make HELIX= helix:) + $(info - option= oled | no-oled | back | no-back | under | na | no-ani) + $(info - ios | sc | split-common | scan | verbose) + $(info - ex.) + $(info - make HELIX=no-oled helix:) + $(info - make HELIX=oled,no-back helix:) + $(info - make HELIX=oled,under helix:) + $(info - make HELIX=oled,back,na helix:) + $(info - make HELIX=oled,back,ios helix:) + $(info ) +endef + ifneq ($(strip $(HELIX)),) - ### Helix keyboard keymap: convenient command line option - ## make HELIX= helix: - ## option= oled | back | under | na | ios - ## ex. - ## make HELIX=oled helix: - ## make HELIX=oled,back helix: - ## make HELIX=oled,under helix: - ## make HELIX=oled,back,na helix: - ## make HELIX=oled,back,ios helix: - ## - ifeq ($(findstring oled,$(HELIX)), oled) + COMMA=, + helix_option := $(subst $(COMMA), , $(HELIX)) + ifneq ($(filter help,$(helix_option)),) + $(eval $(call HELIX_HELP_MSG)) + $(error ) + endif + ifneq ($(filter nooled,$(helix_option)),) + OLED_ENABLE = no + else ifneq ($(filter no-oled,$(helix_option)),) + OLED_ENABLE = no + else ifneq ($(filter oled,$(helix_option)),) OLED_ENABLE = yes endif - ifeq ($(findstring back,$(HELIX)), back) + ifneq ($(filter noback,$(helix_option)),) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = no + else ifneq ($(filter no-back,$(helix_option)),) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = no + else ifneq ($(filter nounder,$(helix_option)),) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = no + else ifneq ($(filter no-under,$(helix_option)),) + LED_BACK_ENABLE = no + LED_UNDERGLOW_ENABLE = no + else ifneq ($(filter back,$(helix_option)),) LED_BACK_ENABLE = yes - else ifeq ($(findstring under,$(HELIX)), under) + LED_UNDERGLOW_ENABLE = no + else ifneq ($(filter under,$(helix_option)),) + LED_BACK_ENABLE = no LED_UNDERGLOW_ENABLE = yes endif - ifeq ($(findstring na,$(HELIX)), na) + ifneq ($(filter na,$(helix_option)),) LED_ANIMATIONS = no endif - ifeq ($(findstring no_ani,$(HELIX)), no_ani) + ifneq ($(filter no_ani,$(helix_option)),) LED_ANIMATIONS = no endif - ifeq ($(findstring ios,$(HELIX)), ios) + ifneq ($(filter no-ani,$(helix_option)),) + LED_ANIMATIONS = no + endif + ifneq ($(filter ios,$(helix_option)),) IOS_DEVICE_ENABLE = yes endif - ifeq ($(findstring scan,$(HELIX)), scan) + ifneq ($(filter sc,$(helix_option)),) + SPLIT_KEYBOARD = yes + endif + ifneq ($(filter split-common,$(helix_option)),) + SPLIT_KEYBOARD = yes + endif + ifneq ($(filter scan,$(helix_option)),) # use DEBUG_MATRIX_SCAN_RATE # see docs/newbs_testing_debugging.md OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE CONSOLE_ENABLE = yes SHOW_VERBOSE_INFO = yes endif - ifeq ($(findstring verbose,$(HELIX)), verbose) + ifeq ($(filter verbose,$(helix_option)), verbose) SHOW_VERBOSE_INFO = yes endif SHOW_HELIX_OPTIONS = yes @@ -119,6 +158,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE)) $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) $(info -- OPT_DEFS = $(OPT_DEFS)) + $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE)) $(info ) endif diff --git a/keyboards/helix/rev2/oled/rules.mk b/keyboards/helix/rev2/oled/rules.mk deleted file mode 100644 index dd68e9d3b090..000000000000 --- a/keyboards/helix/rev2/oled/rules.mk +++ /dev/null @@ -1 +0,0 @@ -OLED_ENABLE = yes diff --git a/keyboards/helix/rev2/oled/under/rules.mk b/keyboards/helix/rev2/oled/under/rules.mk deleted file mode 100644 index a37aa6fab370..000000000000 --- a/keyboards/helix/rev2/oled/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/rev2/rules.mk b/keyboards/helix/rev2/rules.mk index db584c0b23ba..d5d69c979ce3 100644 --- a/keyboards/helix/rev2/rules.mk +++ b/keyboards/helix/rev2/rules.mk @@ -2,7 +2,7 @@ KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features. # Helix Spacific Build Options default values HELIX_ROWS = 5 # Helix Rows is 4 or 5 -OLED_ENABLE = no # OLED_ENABLE +OLED_ENABLE = yes # OLED_ENABLE LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c" LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) diff --git a/keyboards/helix/rev2/sc/back/rules.mk b/keyboards/helix/rev2/sc/back/rules.mk deleted file mode 100644 index 066fffb74af2..000000000000 --- a/keyboards/helix/rev2/sc/back/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/sc/oled/rules.mk b/keyboards/helix/rev2/sc/oled/rules.mk deleted file mode 100644 index dd68e9d3b090..000000000000 --- a/keyboards/helix/rev2/sc/oled/rules.mk +++ /dev/null @@ -1 +0,0 @@ -OLED_ENABLE = yes diff --git a/keyboards/helix/rev2/sc/oledback/rules.mk b/keyboards/helix/rev2/sc/oledback/rules.mk deleted file mode 100644 index 645984f865ad..000000000000 --- a/keyboards/helix/rev2/sc/oledback/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/sc/oledunder/rules.mk b/keyboards/helix/rev2/sc/oledunder/rules.mk deleted file mode 100644 index e415cbd49208..000000000000 --- a/keyboards/helix/rev2/sc/oledunder/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -OLED_ENABLE = yes -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/rev2/sc/rules.mk b/keyboards/helix/rev2/sc/rules.mk deleted file mode 100644 index d38a61809075..000000000000 --- a/keyboards/helix/rev2/sc/rules.mk +++ /dev/null @@ -1 +0,0 @@ -SPLIT_KEYBOARD = yes diff --git a/keyboards/helix/rev2/sc/under/rules.mk b/keyboards/helix/rev2/sc/under/rules.mk deleted file mode 100644 index a37aa6fab370..000000000000 --- a/keyboards/helix/rev2/sc/under/rules.mk +++ /dev/null @@ -1 +0,0 @@ -LED_UNDERGLOW_ENABLE = yes diff --git a/keyboards/helix/rev2/oled/back/rules.mk b/keyboards/helix/rev2/split_common/rules.mk similarity index 51% rename from keyboards/helix/rev2/oled/back/rules.mk rename to keyboards/helix/rev2/split_common/rules.mk index 066fffb74af2..4ed0672a7086 100644 --- a/keyboards/helix/rev2/oled/back/rules.mk +++ b/keyboards/helix/rev2/split_common/rules.mk @@ -1 +1,2 @@ +SPLIT_KEYBOARD = yes LED_BACK_ENABLE = yes diff --git a/keyboards/helix/rev2/under/oled/rules.mk b/keyboards/helix/rev2/under/oled/rules.mk deleted file mode 100644 index dd68e9d3b090..000000000000 --- a/keyboards/helix/rev2/under/oled/rules.mk +++ /dev/null @@ -1 +0,0 @@ -OLED_ENABLE = yes