new split code changes
This commit is contained in:
		
							
								
								
									
										4
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								config.h
									
									
									
									
									
								
							@@ -31,6 +31,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
#define TAPPING_FORCE_HOLD
 | 
			
		||||
#define TAPPING_TERM 100
 | 
			
		||||
 | 
			
		||||
#define SPLIT_LAYER_STATE_ENABLE
 | 
			
		||||
#define SPLIT_WPM_ENABLE
 | 
			
		||||
#define SPLIT_OLED_ENABLE
 | 
			
		||||
 | 
			
		||||
#ifndef NO_DEBUG
 | 
			
		||||
#define NO_DEBUG
 | 
			
		||||
#endif // !NO_DEBUG
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								keymap.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								keymap.c
									
									
									
									
									
								
							@@ -12,17 +12,18 @@ enum layer_number {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
	[0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_LGUI, KC_LAPO, MO(2), KC_SPC, KC_SPC, MO(1), KC_RAPC, KC_RCTL),
 | 
			
		||||
	[1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_BRID, KC_BRIU, KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_LPRN, KC_NO, KC_NO, KC_RPRN, KC_EQL, KC_MINS, KC_NO, KC_DEL, KC_BSLS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
			
		||||
	[2] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS)
 | 
			
		||||
	[0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, KC_LGUI, KC_LAPO, MO(1), KC_SPC, KC_SPC, MO(2), KC_RAPC, KC_RCTL),
 | 
			
		||||
	[1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_BRID, KC_BRIU, KC_MPRV, KC_MNXT, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_LPRN, KC_NO, KC_NO, KC_RPRN, KC_EQL, KC_MINS, KC_NO, KC_DEL, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS),
 | 
			
		||||
	[2] = LAYOUT(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
  return update_tri_layer_state(state, _LOWER, _RAISE, _BLANK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in
 | 
			
		||||
// rules.mk
 | 
			
		||||
#ifdef OLED_DRIVER_ENABLE
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
 | 
			
		||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
 | 
			
		||||
  if (!is_keyboard_master())
 | 
			
		||||
@@ -43,12 +44,12 @@ const char *read_keylogs(void);
 | 
			
		||||
 | 
			
		||||
// WPM-responsive animation stuff here
 | 
			
		||||
#define IDLE_FRAMES 5
 | 
			
		||||
#define IDLE_SPEED 35 // below this wpm value your animation will idle
 | 
			
		||||
#define IDLE_SPEED 40 // below this wpm value your animation will idle
 | 
			
		||||
 | 
			
		||||
// #define PREP_FRAMES 1 // uncomment if >1
 | 
			
		||||
 | 
			
		||||
#define TAP_FRAMES 2
 | 
			
		||||
#define TAP_SPEED 45 // above this wpm value typing animation to trigger
 | 
			
		||||
#define TAP_SPEED 40 // above this wpm value typing animation to trigger
 | 
			
		||||
 | 
			
		||||
#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
 | 
			
		||||
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs
 | 
			
		||||
@@ -491,7 +492,7 @@ void oled_task_user(void) {
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  if (record->event.pressed) {
 | 
			
		||||
#ifdef OLED_DRIVER_ENABLE
 | 
			
		||||
#ifdef OLED_ENABLE
 | 
			
		||||
    set_keylog(keycode, record);
 | 
			
		||||
#endif
 | 
			
		||||
    // set_timelog();
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								nm.json
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								nm.json
									
									
									
									
									
								
							@@ -59,10 +59,10 @@
 | 
			
		||||
      "KC_BSLS",
 | 
			
		||||
      "KC_LGUI",
 | 
			
		||||
      "KC_LAPO",
 | 
			
		||||
      "MO(2)",
 | 
			
		||||
      "KC_SPC",
 | 
			
		||||
      "KC_SPC",
 | 
			
		||||
      "MO(1)",
 | 
			
		||||
      "KC_SPC",
 | 
			
		||||
      "KC_SPC",
 | 
			
		||||
      "MO(2)",
 | 
			
		||||
      "KC_RAPC",
 | 
			
		||||
      "KC_RCTL"
 | 
			
		||||
    ],
 | 
			
		||||
@@ -97,10 +97,10 @@
 | 
			
		||||
      "KC_MPRV",
 | 
			
		||||
      "KC_MNXT",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_LEFT",
 | 
			
		||||
      "KC_DOWN",
 | 
			
		||||
      "KC_UP",
 | 
			
		||||
      "KC_RGHT",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
@@ -119,11 +119,11 @@
 | 
			
		||||
      "KC_BSLS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS"
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
@@ -182,7 +182,7 @@
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_NO",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS",
 | 
			
		||||
      "KC_TRNS"
 | 
			
		||||
    ]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								rules.mk
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								rules.mk
									
									
									
									
									
								
							@@ -4,7 +4,6 @@
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
 | 
			
		||||
MOUSEKEY_ENABLE = no        # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = no        # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
@@ -15,12 +14,14 @@ UNICODE_ENABLE = no         # Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
RGBLIGHT_ENABLE = no       # Enable WS2812 RGB underlight. 
 | 
			
		||||
SWAP_HANDS_ENABLE = no      # Enable one-hand typing
 | 
			
		||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
			
		||||
 | 
			
		||||
WPM_ENABLE = yes
 | 
			
		||||
SPLIT_KEYBOARD = yes
 | 
			
		||||
OLED_DRIVER_ENABLE= yes     # OLED display
 | 
			
		||||
OLED_ENABLE= yes     # OLED display
 | 
			
		||||
EXTRAKEY_ENABLE = yes
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
			
		||||
SPLIT_COMMUNICATION = i2c
 | 
			
		||||
OLED_DRIVER = SSD1306
 | 
			
		||||
 | 
			
		||||
EXTRAFLAGS        += -flto
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user