Support ios to default keymap (#3118)
* add some comment about Helix customize and auto-setup RGBLIGHT_LIMIT_VAL * add define USB_MAX_POWER_CONSUMPTION * Helix keyboard OLED, RGBLIGHT enable/disable control integrate into rules.mk rules.mk: add 4 Variables for compile control. # Helix keyboard customize # you can edit follows 4 Variables # jp: 以下の4つの変数を必要に応じて編集します。 OLED_ENABLE = no # OLED_ENABLE 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 config.h: auto set RGBLED_NUM by HELIX_ROWS and rules.mk's define * HELIX_ROWS define move from config.h to rules.mk * add readme.md * rename readme.md to readme_jp.md * add readme.md and modify readme_jp.md * change helix/ssd1306.c for select glcdfont.c position * add variable LOCAL_GLCDFONT into each keymaps rules.mk * Add iPhone/iPad LED support to Helix default keymap * add Freggy keymap * adjust the delay of serial.c * change readme * renumber _ADJUST for shrink program size
This commit is contained in:
		
							parent
							
								
									e354e36ece
								
							
						
					
					
						commit
						7498b184b7
					
				
					 11 changed files with 1314 additions and 32 deletions
				
			
		| 
						 | 
				
			
			@ -78,30 +78,44 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if RGBLED_NUM <= 6
 | 
			
		||||
  #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
#else
 | 
			
		||||
  #if HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
#ifndef IOS_DEVICE_ENABLE
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
  #else
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #if HELIX_ROWS == 5
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
    #else
 | 
			
		||||
      #define RGBLIGHT_LIMIT_VAL 130
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
  #define RGBLIGHT_VAL_STEP 17
 | 
			
		||||
#else
 | 
			
		||||
  #if RGBLED_NUM <= 6
 | 
			
		||||
    #define RGBLIGHT_LIMIT_VAL 90
 | 
			
		||||
  #else
 | 
			
		||||
    #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 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,12 +27,14 @@ extern uint8_t is_master;
 | 
			
		|||
// 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.
 | 
			
		||||
#define _QWERTY 0
 | 
			
		||||
#define _COLEMAK 1
 | 
			
		||||
#define _DVORAK 2
 | 
			
		||||
#define _LOWER 3
 | 
			
		||||
#define _RAISE 4
 | 
			
		||||
#define _ADJUST 16
 | 
			
		||||
enum layer_number {
 | 
			
		||||
    _QWERTY = 0,
 | 
			
		||||
    _COLEMAK,
 | 
			
		||||
    _DVORAK,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _ADJUST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  QWERTY = SAFE_RANGE,
 | 
			
		||||
| 
						 | 
				
			
			@ -526,15 +528,10 @@ void matrix_update(struct CharacterMatrix *dest,
 | 
			
		|||
 | 
			
		||||
//assign the right code to your layers for OLED display
 | 
			
		||||
#define L_BASE 0
 | 
			
		||||
#define L_LOWER 8
 | 
			
		||||
#define L_RAISE 16
 | 
			
		||||
#define L_FNLAYER 64
 | 
			
		||||
#define L_NUMLAY 128
 | 
			
		||||
#define L_NLOWER 136
 | 
			
		||||
#define L_NFNLAYER 192
 | 
			
		||||
#define L_MOUSECURSOR 256
 | 
			
		||||
#define L_ADJUST 65536
 | 
			
		||||
#define L_ADJUST_TRI 65560
 | 
			
		||||
#define L_LOWER (1<<_LOWER)
 | 
			
		||||
#define L_RAISE (1<<_RAISE)
 | 
			
		||||
#define L_ADJUST (1<<_ADJUST)
 | 
			
		||||
#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER)
 | 
			
		||||
 | 
			
		||||
static void render_logo(struct CharacterMatrix *matrix) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)をご覧ください。
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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=<options> 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue