From d0d8721132d8de586ffe2d75cbf7edb5932b1729 Mon Sep 17 00:00:00 2001
From: mtei <2170248+mtei@users.noreply.github.com>
Date: Thu, 10 May 2018 01:53:45 +0900
Subject: [PATCH] Add iPhone/iPad LED support to Helix default keymap
---
keyboards/helix/rev2/keymaps/default/config.h | 32 ++++++++++-----
.../helix/rev2/keymaps/default/readme.md | 6 ++-
.../helix/rev2/keymaps/default/readme_jp.md | 15 ++++++-
keyboards/helix/rev2/keymaps/default/rules.mk | 39 ++++++++++++++++++-
4 files changed, 77 insertions(+), 15 deletions(-)
diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h
index 66c9b9e8bdc4..17c4a30b3409 100644
--- a/keyboards/helix/rev2/keymaps/default/config.h
+++ b/keyboards/helix/rev2/keymaps/default/config.h
@@ -78,30 +78,44 @@ along with this program. If not, see .
#define RGBLED_NUM 6
#endif
-#if RGBLED_NUM <= 6
- #define RGBLIGHT_LIMIT_VAL 255
+#ifndef IOS_DEVICE_ENABLE
+ #if RGBLED_NUM <= 6
+ #define RGBLIGHT_LIMIT_VAL 255
+ #else
+ #if HELIX_ROWS == 5
+ #define RGBLIGHT_LIMIT_VAL 120
+ #else
+ #define RGBLIGHT_LIMIT_VAL 130
+ #endif
+ #endif
+ #define RGBLIGHT_VAL_STEP 17
#else
- #if HELIX_ROWS == 5
- #define RGBLIGHT_LIMIT_VAL 120
+ #if RGBLED_NUM <= 6
+ #define RGBLIGHT_LIMIT_VAL 90
#else
- #define RGBLIGHT_LIMIT_VAL 130
+ #if HELIX_ROWS == 5
+ #define RGBLIGHT_LIMIT_VAL 35
+ #else
+ #define RGBLIGHT_LIMIT_VAL 45
+ #endif
#endif
+ #define RGBLIGHT_VAL_STEP 4
#endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-#endif
-#ifdef RGBLIGHT_ENABLE
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
// 120 RGBoff, OLEDoff
// 120 OLED
// 330 RGB 6
// 300 RGB 32
// 310 OLED & RGB 32
- #define USB_MAX_POWER_CONSUMPTION 330
+ #define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
// iOS device need lessthan 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif
+
+#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/default/readme.md b/keyboards/helix/rev2/keymaps/default/readme.md
index 307e5c30b933..2cdc5506ca0b 100644
--- a/keyboards/helix/rev2/keymaps/default/readme.md
+++ b/keyboards/helix/rev2/keymaps/default/readme.md
@@ -109,13 +109,15 @@ see `qmk_firmware/keyboards/helix/rev2/keymaps/default/rules.mk`
```
# Helix keyboard customize
-# you can edit follows 5 Variables
-# jp: 以下の5つの変数を必要に応じて編集します。
+# you can edit follows 7 Variables
+# jp: 以下の7つの変数を必要に応じて編集します。
HELIX_ROWS = 5 # Helix Rows is 4 or 5
OLED_ENABLE = no # 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.)
LED_ANIMATIONS = yes # LED animations
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
```
## Compile
diff --git a/keyboards/helix/rev2/keymaps/default/readme_jp.md b/keyboards/helix/rev2/keymaps/default/readme_jp.md
index 88ffc02ff37f..3eaeab48ecf8 100644
--- a/keyboards/helix/rev2/keymaps/default/readme_jp.md
+++ b/keyboards/helix/rev2/keymaps/default/readme_jp.md
@@ -52,13 +52,15 @@ RGB バックライトまたは、RGB Underglow をつけた場合は、
```
# Helix keyboard customize
-# you can edit follows 5 Variables
-# jp: 以下の5つの変数を必要に応じて編集します。
+# you can edit follows 7 Variables
+# jp: 以下の7つの変数を必要に応じて編集します。
HELIX_ROWS = 5 # Helix Rows is 4 or 5
OLED_ENABLE = no # 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.)
LED_ANIMATIONS = yes # LED animations
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
```
@@ -92,6 +94,15 @@ rules.mk の下記の部分を編集して no を yes に変更してくださ
OLED_ENABLE = yes # OLED_ENABLE
```
+## iPad/iPhoneサポートを有効にする。
+
+rules.mk の下記の部分を編集して no を yes に変更してください。
+RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone にも接続できるようになります。
+
+```
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
+```
+
## リンク
* さらに詳細は、[こちら helix/Doc/firmware_jp.md](https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md)をご覧ください。
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index d407dfb5eb92..4174a3045796 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -23,21 +23,52 @@ define HELIX_CUSTOMISE_MSG
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
+ $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
endef
# Helix keyboard customize
-# you can edit follows 6 Variables
-# jp: 以下の6つの変数を必要に応じて編集します。
+# you can edit follows 7 Variables
+# jp: 以下の7つの変数を必要に応じて編集します。
HELIX_ROWS = 5 # Helix Rows is 4 or 5
OLED_ENABLE = no # 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.)
LED_ANIMATIONS = yes # LED animations
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
#### Do not enable these with audio at the same time.
+### Helix keyboard 'default' keymap: convenient command line option
+## make HELIX= helix:defualt
+## option= oled | back | under | na | ios
+## ex.
+## make HELIX=oled helix:defualt
+## make HELIX=oled,back helix:defualt
+## make HELIX=oled,under helix:defualt
+## make HELIX=oled,back,na helix:defualt
+## make HELIX=oled,back,ios helix:defualt
+##
+ifneq ($(strip $(HELIX)),)
+ ifeq ($(findstring oled,$(HELIX)), oled)
+ OLED_ENABLE = yes
+ endif
+ ifeq ($(findstring back,$(HELIX)), back)
+ LED_BACK_ENABLE = yes
+ else ifeq ($(findstring under,$(HELIX)), under)
+ LED_UNDERGLOW_ENABLE = yes
+ endif
+ ifeq ($(findstring na,$(HELIX)), na)
+ LED_ANIMATIONS = no
+ endif
+ ifeq ($(findstring ios,$(HELIX)), ios)
+ IOS_DEVICE_ENABLE = yes
+ endif
+ $(eval $(call HELIX_CUSTOMISE_MSG))
+ $(info )
+endif
+
# Uncomment these for checking
# jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
# $(eval $(call HELIX_CUSTOMISE_MSG))
@@ -63,6 +94,10 @@ else
RGBLIGHT_ENABLE = no
endif
+ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
+endif
+
ifeq ($(strip $(LED_ANIMATIONS)), yes)
OPT_DEFS += -DRGBLIGHT_ANIMATIONS
endif