mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Keymap: Refactor helix keymap based on changes to default keymap (#3469)
This commit is contained in:
		
							parent
							
								
									b5d9bee969
								
							
						
					
					
						commit
						7e8d4be8ac
					
				@ -21,98 +21,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#ifndef CONFIG_USER_H
 | 
			
		||||
#define CONFIG_USER_H
 | 
			
		||||
 | 
			
		||||
/* Use I2C or Serial */
 | 
			
		||||
 | 
			
		||||
#define USE_I2C
 | 
			
		||||
#define USE_SERIAL
 | 
			
		||||
//#define USE_MATRIX_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// Helix keyboard OLED support
 | 
			
		||||
//      see ./rules.mk: OLED_ENABLE=yes or no
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
  #define SSD1306OLED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Select rows configuration */
 | 
			
		||||
// Rows are 4 or 5
 | 
			
		||||
// #define HELIX_ROWS 5 see ./rules.mk
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#if  HELIX_ROWS == 4
 | 
			
		||||
  #define MATRIX_ROWS 8
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6 }
 | 
			
		||||
#elif HELIX_ROWS == 5
 | 
			
		||||
  #define MATRIX_ROWS 10
 | 
			
		||||
  #define MATRIX_COLS 7
 | 
			
		||||
  #define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
 | 
			
		||||
#else
 | 
			
		||||
  #error "expected HELIX_ROWS 4 or 5"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
// Helix keyboard RGB LED support
 | 
			
		||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
 | 
			
		||||
//    see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
 | 
			
		||||
#ifdef RGBLED_BACK
 | 
			
		||||
  #if HELIX_ROWS == 4
 | 
			
		||||
    #define RGBLED_NUM 25
 | 
			
		||||
  #elif HELIX_ROWS == 5
 | 
			
		||||
    #define RGBLED_NUM 32
 | 
			
		||||
  #endif
 | 
			
		||||
#else
 | 
			
		||||
  #define RGBLED_NUM 6
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#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 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
 | 
			
		||||
 | 
			
		||||
#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 400
 | 
			
		||||
#else
 | 
			
		||||
  // fix iPhone and iPad power adapter issue
 | 
			
		||||
  // iOS device need lessthan 100
 | 
			
		||||
  #define USB_MAX_POWER_CONSUMPTION 100
 | 
			
		||||
#endif
 | 
			
		||||
// place overrides here
 | 
			
		||||
 | 
			
		||||
#ifdef MOUSEKEY_ENABLE
 | 
			
		||||
  #undef MOUSEKEY_INTERVAL
 | 
			
		||||
 | 
			
		||||
@ -1,12 +1,9 @@
 | 
			
		||||
#include "helix.h"
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
#include "bootloader.h"
 | 
			
		||||
#include "action_layer.h"
 | 
			
		||||
#include "eeconfig.h"
 | 
			
		||||
#ifdef PROTOCOL_LUFA
 | 
			
		||||
#include "lufa.h"
 | 
			
		||||
#include "split_util.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "LUFA/Drivers/Peripheral/TWI.h"
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
  #include "audio.h"
 | 
			
		||||
#endif
 | 
			
		||||
@ -14,12 +11,6 @@
 | 
			
		||||
  #include "ssd1306.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. *
 | 
			
		||||
// #define ADJUST_MACRO_ENABLE
 | 
			
		||||
 | 
			
		||||
// * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. *
 | 
			
		||||
// #define KANA_ENABLE
 | 
			
		||||
 | 
			
		||||
extern keymap_config_t keymap_config;
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
@ -441,7 +432,6 @@ void matrix_init_user(void) {
 | 
			
		||||
  #endif
 | 
			
		||||
  //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
 | 
			
		||||
  #ifdef SSD1306OLED
 | 
			
		||||
    TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
 | 
			
		||||
    iota_gfx_init(!has_usb());   // turns on the display
 | 
			
		||||
  #endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,7 @@
 | 
			
		||||
# Helix 5 rows JIS layout
 | 
			
		||||
 | 
			
		||||
## コンセプト
 | 
			
		||||
 | 
			
		||||
このキーマップは日本語JISキーボード配列を利用しているユーザーが無理なく操作出来るというコンセプトで作成しました。以下の特徴があります。  
 | 
			
		||||
 | 
			
		||||
* 日本語の長音記号をレイヤーを移動せずに入力可能なように考慮しています
 | 
			
		||||
@ -8,24 +10,29 @@
 | 
			
		||||
* Ctrl,Shift,Tab,漢字,Esc,GUI(Win),Appの各キーは位置関係を維持して配置しています
 | 
			
		||||
* Lower/Raiseキーマップは暗記しないでも使えるようにわかりやすい配置を考慮しています
 | 
			
		||||
 | 
			
		||||
 またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップを切り替えられるようにしています。これらにはさらに以下の特徴があります。  
 | 
			
		||||
 またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップをバイナリの書き換えなしに切り替えられるようにしています。これらにはさらに以下の特徴があります。  
 | 
			
		||||
 | 
			
		||||
## NORMALキーマップ
 | 
			
		||||
### NORMALキーマップ
 | 
			
		||||
 | 
			
		||||
* Nキーを左人差し指で、Bキーを右人差し指で押下することが可能
 | 
			
		||||
 | 
			
		||||
## EXCHANGEキーマップ
 | 
			
		||||
### EXCHANGEキーマップ
 | 
			
		||||
 | 
			
		||||
* Pro micro下の2キーを有効に使うことにより、NORMALのベースキーマップに```[{```,```}]```,```/?```の各キーを追加し、```\_```キー以外の入力をベースマップで可能にしています
 | 
			
		||||
* 漢字キー,Enterキーの押し間違いを避けるためPro micro下の2キーに移動しています
 | 
			
		||||
 | 
			
		||||
## カスタマイズ
 | 
			
		||||
 | 
			
		||||
Normal/Exchangeにそれぞれ、Base,Lower,Raiseの各レイヤーを備え、2マップ3レイヤー、共通1レイヤー(Adjust)の全7種のレイヤーを備えています。  
 | 
			
		||||
ファームの書き換えなしにキーマップを別のものに切り替えられるので、片方は通常のキーマップ、もう片方は画像や動画編集用のキーマップや別の変態配置のキーマップにすれば、状況に応じて簡単に切り替えられます。
 | 
			
		||||
 | 
			
		||||
## 配列
 | 
			
		||||
 | 
			
		||||
### NORMALキーマップ
 | 
			
		||||
### NORMAL
 | 
			
		||||
 | 
			
		||||
 Adjust + ModNrmキーでNORMALキーマップに切り替わります。  
 | 
			
		||||
 | 
			
		||||
Baseレイヤー  
 | 
			
		||||
#### Baseレイヤー  
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 ,-----------------------------------------.             ,-----------------------------------------.
 | 
			
		||||
@ -41,7 +48,7 @@ Baseレイヤー
 | 
			
		||||
 `-------------------------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Lowerレイヤー  
 | 
			
		||||
#### Lowerレイヤー  
 | 
			
		||||
 | 
			
		||||
 記号キーと、BackSpace位置にDeleteキーを配置しています。  
 | 
			
		||||
 例えば```|```キーを入力する場合、Lower + Shift + \キーで入力することが出来ます。
 | 
			
		||||
@ -60,7 +67,7 @@ Lowerレイヤー
 | 
			
		||||
 `-------------------------------------------------------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Raiseレイヤー  
 | 
			
		||||
#### Raiseレイヤー  
 | 
			
		||||
 | 
			
		||||
 rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。  
 | 
			
		||||
 また、F1-F12キーをHHKBライクに使えるように横並びにしました。  
 | 
			
		||||
@ -84,7 +91,7 @@ Raiseレイヤー
 | 
			
		||||
 Adjust + ModExcキーでEXCHANGEキーマップに切り替わります。  
 | 
			
		||||
 HelixのUSBやフォンケーブルの接続は変更せず、分割された左右のキーボードを入れ替えて使います。  
 | 
			
		||||
 | 
			
		||||
Baseレイヤー  
 | 
			
		||||
#### Baseレイヤー  
 | 
			
		||||
 | 
			
		||||
 ちょっと無理やりですが```[{```,```}]```キーを突っ込んでいます。  
 | 
			
		||||
 | 
			
		||||
@ -102,7 +109,7 @@ Baseレイヤー
 | 
			
		||||
 `------------------------------------------------'`------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Lowerレイヤー  
 | 
			
		||||
#### Lowerレイヤー  
 | 
			
		||||
 | 
			
		||||
 記号キーと、BackSpace位置にDeleteキーを配置しています。  
 | 
			
		||||
 PageDown/Up, Home/EndをCtrl+十字キーの延長線上で使用できるように配置しています。  
 | 
			
		||||
@ -121,7 +128,7 @@ Lowerレイヤー
 | 
			
		||||
 `------------------------------------------------'`------------------------------------------------'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Raiseレイヤー  
 | 
			
		||||
#### Raiseレイヤー  
 | 
			
		||||
 | 
			
		||||
 rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。  
 | 
			
		||||
 また、F1-F12キーをHHKBライクに使えるように横並びにしました。  
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user