diff --git a/betalupi_ergodox.c b/betalupi_ergodox.c index 81fe5d2..965b1a8 100644 --- a/betalupi_ergodox.c +++ b/betalupi_ergodox.c @@ -47,173 +47,172 @@ bool i2c_initialized = 0; i2c_status_t mcp23018_status = 0x20; void matrix_init_kb(void) { - // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") - TCCR1A = 0b10101001; // set and configure fast PWM - TCCR1B = 0b00001001; // set and configure fast PWM + // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") + TCCR1A = 0b10101001; // set and configure fast PWM + TCCR1B = 0b00001001; // set and configure fast PWM - // (tied to Vcc for hardware convenience) - DDRB &= ~(1<<4); // set B(4) as input - PORTB &= ~(1<<4); // set B(4) internal pull-up disabled + // (tied to Vcc for hardware convenience) + DDRB &= ~(1<<4); // set B(4) as input + PORTB &= ~(1<<4); // set B(4) internal pull-up disabled - // unused pins - C7, D4, D5, D7, E6 - // set as input with internal pull-up enabled - DDRC &= ~(1<<7); - DDRD &= ~(1<<5 | 1<<4); - DDRE &= ~(1<<6); - PORTC |= (1<<7); - PORTD |= (1<<5 | 1<<4); - PORTE |= (1<<6); + // unused pins - C7, D4, D5, D7, E6 + // set as input with internal pull-up enabled + DDRC &= ~(1<<7); + DDRD &= ~(1<<5 | 1<<4); + DDRE &= ~(1<<6); + PORTC |= (1<<7); + PORTD |= (1<<5 | 1<<4); + PORTE |= (1<<6); - keyboard_config.raw = eeconfig_read_kb(); - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + keyboard_config.raw = eeconfig_read_kb(); + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); #ifdef RGB_MATRIX_ENABLE - if (keyboard_config.rgb_matrix_enable) { - rgb_matrix_set_flags(LED_FLAG_ALL); - } else { - rgb_matrix_set_flags(LED_FLAG_NONE); - } + if (keyboard_config.rgb_matrix_enable) { + rgb_matrix_set_flags(LED_FLAG_ALL); + } else { + rgb_matrix_set_flags(LED_FLAG_NONE); + } #endif - ergodox_blink_all_leds(); + ergodox_blink_all_leds(); - matrix_init_user(); + matrix_init_user(); } -void ergodox_blink_all_leds(void) -{ - ergodox_led_all_off(); - ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT); - ergodox_right_led_1_on(); - _delay_ms(50); - ergodox_right_led_2_on(); - _delay_ms(50); - ergodox_right_led_3_on(); - _delay_ms(50); +void ergodox_blink_all_leds(void) { + ergodox_led_all_off(); + ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT); + ergodox_right_led_1_on(); + _delay_ms(50); + ergodox_right_led_2_on(); + _delay_ms(50); + ergodox_right_led_3_on(); + _delay_ms(50); #ifdef LEFT_LEDS - ergodox_left_led_1_on(); - _delay_ms(50); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } - ergodox_left_led_2_on(); - _delay_ms(50); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } - ergodox_left_led_3_on(); - _delay_ms(50); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } + ergodox_left_led_1_on(); + _delay_ms(50); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } + ergodox_left_led_2_on(); + _delay_ms(50); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } + ergodox_left_led_3_on(); + _delay_ms(50); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } #endif - ergodox_right_led_1_off(); - _delay_ms(50); - ergodox_right_led_2_off(); - _delay_ms(50); - ergodox_right_led_3_off(); + ergodox_right_led_1_off(); + _delay_ms(50); + ergodox_right_led_2_off(); + _delay_ms(50); + ergodox_right_led_3_off(); #ifdef LEFT_LEDS - _delay_ms(50); - ergodox_left_led_1_off(); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } - _delay_ms(50); - ergodox_left_led_2_off(); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } - _delay_ms(50); - ergodox_left_led_3_off(); - if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); - } + _delay_ms(50); + ergodox_left_led_1_off(); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } + _delay_ms(50); + ergodox_left_led_2_off(); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } + _delay_ms(50); + ergodox_left_led_3_off(); + if (!mcp23018_status) { + mcp23018_status = ergodox_left_leds_update(); + } #endif - //ergodox_led_all_on(); - //_delay_ms(333); - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + //ergodox_led_all_on(); + //_delay_ms(333); + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); - ergodox_led_all_off(); + ergodox_led_all_off(); } uint8_t init_mcp23018(void) { - mcp23018_status = 0x20; + mcp23018_status = 0x20; - // I2C subsystem + // I2C subsystem - // uint8_t sreg_prev; - // sreg_prev=SREG; - // cli(); + // uint8_t sreg_prev; + // sreg_prev=SREG; + // cli(); - if (i2c_initialized == 0) { - i2c_init(); // on pins D(1,0) - i2c_initialized = true; - _delay_ms(1000); - } - // i2c_init(); // on pins D(1,0) - // _delay_ms(1000); + if (i2c_initialized == 0) { + i2c_init(); // on pins D(1,0) + i2c_initialized = true; + _delay_ms(1000); + } + // i2c_init(); // on pins D(1,0) + // _delay_ms(1000); - // set pin direction - // - unused : input : 1 - // - input : input : 1 - // - driving : output : 0 - mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - i2c_stop(); + // set pin direction + // - unused : input : 1 + // - input : input : 1 + // - driving : output : 0 + mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + i2c_stop(); - // set pull-up - // - unused : on : 1 - // - input : on : 1 - // - driving : off : 0 - mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + // set pull-up + // - unused : on : 1 + // - input : on : 1 + // - driving : off : 0 + mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; out: - i2c_stop(); + i2c_stop(); #ifdef LEFT_LEDS - if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update(); + if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update(); #endif // LEFT_LEDS - // SREG=sreg_prev; + // SREG=sreg_prev; - return mcp23018_status; + return mcp23018_status; } #ifdef LEFT_LEDS uint8_t ergodox_left_leds_update(void) { - if (mcp23018_status) { // if there was an error - return mcp23018_status; - } + if (mcp23018_status) { // if there was an error + return mcp23018_status; + } #define LEFT_LED_1_SHIFT 7 // in MCP23018 port B #define LEFT_LED_2_SHIFT 6 // in MCP23018 port B #define LEFT_LED_3_SHIFT 7 // in MCP23018 port A - // set logical value (doesn't matter on inputs) - // - unused : hi-Z : 1 - // - input : hi-Z : 1 - // - driving : hi-Z : 1 - mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); - if (mcp23018_status) goto out; - mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT); - if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b11111111 - & ~(ergodox_left_led_3<event.pressed) { - keyboard_config.led_level++; - if (keyboard_config.led_level > 4) { - keyboard_config.led_level = 0; - } - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); - eeconfig_update_kb(keyboard_config.raw); - layer_state_set_kb(layer_state); - } - break; + switch (keycode) { + case LED_LEVEL: + if (record->event.pressed) { + keyboard_config.led_level++; + if (keyboard_config.led_level > 4) { + keyboard_config.led_level = 0; + } + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + eeconfig_update_kb(keyboard_config.raw); + layer_state_set_kb(layer_state); + } + break; #ifdef RGB_MATRIX_ENABLE - case TOGGLE_LAYER_COLOR: - if (record->event.pressed) { - keyboard_config.disable_layer_led ^= 1; - if (keyboard_config.disable_layer_led) - rgb_matrix_set_color_all(0, 0, 0); - eeconfig_update_kb(keyboard_config.raw); - } - break; - case RGB_TOG: - if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - keyboard_config.rgb_matrix_enable = false; - rgb_matrix_set_color_all(0, 0, 0); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - keyboard_config.rgb_matrix_enable = true; - } - break; - } - eeconfig_update_kb(keyboard_config.raw); - } - return false; + case TOGGLE_LAYER_COLOR: + if (record->event.pressed) { + keyboard_config.disable_layer_led ^= 1; + if (keyboard_config.disable_layer_led) { + rgb_matrix_set_color_all(0, 0, 0); + } + eeconfig_update_kb(keyboard_config.raw); + } + break; + + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } + break; + } + eeconfig_update_kb(keyboard_config.raw); + } + return false; #endif - } - return process_record_user(keycode, record); + } + return process_record_user(keycode, record); } void eeconfig_init_kb(void) { // EEPROM is getting reset! - keyboard_config.raw = 0; - keyboard_config.led_level = 4; - keyboard_config.rgb_matrix_enable = true; - eeconfig_update_kb(keyboard_config.raw); - eeconfig_init_user(); + keyboard_config.raw = 0; + keyboard_config.led_level = 4; + keyboard_config.rgb_matrix_enable = true; + eeconfig_update_kb(keyboard_config.raw); + eeconfig_init_user(); } #ifdef ORYX_ENABLE @@ -418,70 +419,70 @@ static bool is_dynamic_recording = false; static uint16_t dynamic_loop_timer; void dynamic_macro_record_start_user(void) { - is_dynamic_recording = true; - dynamic_loop_timer = timer_read(); - ergodox_right_led_1_on(); + is_dynamic_recording = true; + dynamic_loop_timer = timer_read(); + ergodox_right_led_1_on(); } void dynamic_macro_record_end_user(int8_t direction) { - is_dynamic_recording = false; - layer_state_set_user(layer_state); + is_dynamic_recording = false; + layer_state_set_user(layer_state); } #endif void matrix_scan_kb(void) { #ifdef ORYX_ENABLE - if(webusb_state.pairing == true) { - if(loops == 0) { - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - } - if(loops % WEBUSB_BLINK_STEPS == 0) { - if(is_on) { - ergodox_right_led_2_off(); - } else { - ergodox_right_led_2_on(); - } - is_on ^= 1; - } - if(loops > WEBUSB_BLINK_END) { - webusb_state.pairing = false; - layer_state_set_user(layer_state); - loops = 0; - } - loops++; - } else if(loops > 0) { - loops = 0; - layer_state_set_user(layer_state); - } + if(webusb_state.pairing == true) { + if(loops == 0) { + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + } + if(loops % WEBUSB_BLINK_STEPS == 0) { + if(is_on) { + ergodox_right_led_2_off(); + } else { + ergodox_right_led_2_on(); + } + is_on ^= 1; + } + if(loops > WEBUSB_BLINK_END) { + webusb_state.pairing = false; + layer_state_set_user(layer_state); + loops = 0; + } + loops++; + } else if(loops > 0) { + loops = 0; + layer_state_set_user(layer_state); + } #endif #ifdef DYNAMIC_MACRO_ENABLE - if (is_dynamic_recording) { - ergodox_right_led_1_off(); - // if (timer_elapsed(dynamic_loop_timer) > 5) - { - static uint8_t counter; - counter++; - if (counter > 100) ergodox_right_led_1_on(); - dynamic_loop_timer = timer_read(); - } - } + if (is_dynamic_recording) { + ergodox_right_led_1_off(); + // if (timer_elapsed(dynamic_loop_timer) > 5) + { + static uint8_t counter; + counter++; + if (counter > 100) ergodox_right_led_1_on(); + dynamic_loop_timer = timer_read(); + } + } #endif #ifdef CAPS_LOCK_STATUS - led_t led_state = host_keyboard_led_state(); - if(led_state.caps_lock) { - ergodox_right_led_3_on(); - } - else { - uint8_t layer = get_highest_layer(layer_state); - if(layer != 3) { - ergodox_right_led_3_off(); - } - } + led_t led_state = host_keyboard_led_state(); + if(led_state.caps_lock) { + ergodox_right_led_3_on(); + } + else { + uint8_t layer = get_highest_layer(layer_state); + if(layer != 3) { + ergodox_right_led_3_off(); + } + } #endif - matrix_scan_user(); + matrix_scan_user(); } diff --git a/betalupi_ergodox.h b/betalupi_ergodox.h index 62c5522..88ad017 100644 --- a/betalupi_ergodox.h +++ b/betalupi_ergodox.h @@ -80,29 +80,27 @@ inline void ergodox_left_led_2_off(void) { ergodox_left_led_2 = 0; } inline void ergodox_left_led_3_off(void) { ergodox_left_led_3 = 0; } #endif // LEFT_LEDS -inline void ergodox_led_all_on(void) -{ - ergodox_board_led_on(); - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); +inline void ergodox_led_all_on(void) { + ergodox_board_led_on(); + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); #ifdef LEFT_LEDS - ergodox_left_led_1_on(); - ergodox_left_led_2_on(); - ergodox_left_led_3_on(); + ergodox_left_led_1_on(); + ergodox_left_led_2_on(); + ergodox_left_led_3_on(); #endif // LEFT_LEDS } -inline void ergodox_led_all_off(void) -{ - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); +inline void ergodox_led_all_off(void) { + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); #ifdef LEFT_LEDS - ergodox_left_led_1_off(); - ergodox_left_led_2_off(); - ergodox_left_led_3_off(); + ergodox_left_led_1_off(); + ergodox_left_led_2_off(); + ergodox_left_led_3_off(); #endif // LEFT_LEDS } @@ -110,177 +108,176 @@ inline void ergodox_right_led_1_set(uint8_t n) { OCR1A = n; } inline void ergodox_right_led_2_set(uint8_t n) { OCR1B = n; } inline void ergodox_right_led_3_set(uint8_t n) { OCR1C = n; } inline void ergodox_right_led_set(uint8_t led, uint8_t n) { - (led == 1) ? (OCR1A = n) : - (led == 2) ? (OCR1B = n) : - (OCR1C = n); + (led == 1) ? (OCR1A = n) : + (led == 2) ? (OCR1B = n) : + (OCR1C = n); } -inline void ergodox_led_all_set(uint8_t n) -{ - ergodox_right_led_1_set(n); - ergodox_right_led_2_set(n); - ergodox_right_led_3_set(n); +inline void ergodox_led_all_set(uint8_t n) { + ergodox_right_led_1_set(n); + ergodox_right_led_2_set(n); + ergodox_right_led_3_set(n); } enum ergodox_ez_keycodes { - LED_LEVEL = SAFE_RANGE, - TOGGLE_LAYER_COLOR, - EZ_SAFE_RANGE, + LED_LEVEL = SAFE_RANGE, + TOGGLE_LAYER_COLOR, + EZ_SAFE_RANGE, }; typedef union { uint32_t raw; struct { - uint8_t led_level :3; - bool disable_layer_led :1; - bool rgb_matrix_enable :1; + uint8_t led_level :3; + bool disable_layer_led :1; + bool rgb_matrix_enable :1; }; } keyboard_config_t; extern keyboard_config_t keyboard_config; /* - * LEFT HAND: LINES 115-122 - * RIGHT HAND: LINES 124-131 - */ + LEFT HAND: LINES 115-122 + RIGHT HAND: LINES 124-131 +*/ #define LAYOUT_ergodox( \ - \ - k00,k01,k02,k03,k04,k05,k06, \ - k10,k11,k12,k13,k14,k15,k16, \ - k20,k21,k22,k23,k24,k25, \ - k30,k31,k32,k33,k34,k35,k36, \ - k40,k41,k42,k43,k44, \ - k55,k56, \ - k54, \ - k53,k52,k51, \ - \ - k07,k08,k09,k0A,k0B,k0C,k0D, \ - k17,k18,k19,k1A,k1B,k1C,k1D, \ - k28,k29,k2A,k2B,k2C,k2D, \ - k37,k38,k39,k3A,k3B,k3C,k3D, \ - k49,k4A,k4B,k4C,k4D, \ - k57,k58, \ - k59, \ - k5C,k5B,k5A ) \ - \ - /* matrix positions */ \ - { \ - { k00, k10, k20, k30, k40, KC_NO }, \ - { k01, k11, k21, k31, k41, k51 }, \ - { k02, k12, k22, k32, k42, k52 }, \ - { k03, k13, k23, k33, k43, k53 }, \ - { k04, k14, k24, k34, k44, k54 }, \ - { k05, k15, k25, k35, KC_NO, k55 }, \ - { k06, k16, KC_NO, k36, KC_NO, k56 }, \ - \ - { k07, k17, KC_NO, k37,KC_NO, k57 }, \ - { k08, k18, k28, k38,KC_NO, k58 }, \ - { k09, k19, k29, k39, k49, k59 }, \ - { k0A, k1A, k2A, k3A, k4A, k5A }, \ - { k0B, k1B, k2B, k3B, k4B, k5B }, \ - { k0C, k1C, k2C, k3C, k4C, k5C }, \ - { k0D, k1D, k2D, k3D, k4D, KC_NO } \ - } + \ + k00,k01,k02,k03,k04,k05,k06, \ + k10,k11,k12,k13,k14,k15,k16, \ + k20,k21,k22,k23,k24,k25, \ + k30,k31,k32,k33,k34,k35,k36, \ + k40,k41,k42,k43,k44, \ + k55,k56, \ + k54, \ + k53,k52,k51, \ + \ + k07,k08,k09,k0A,k0B,k0C,k0D, \ + k17,k18,k19,k1A,k1B,k1C,k1D, \ + k28,k29,k2A,k2B,k2C,k2D, \ + k37,k38,k39,k3A,k3B,k3C,k3D, \ + k49,k4A,k4B,k4C,k4D, \ + k57,k58, \ + k59, \ + k5C,k5B,k5A ) \ + \ + /* matrix positions */ \ + { \ + { k00, k10, k20, k30, k40, KC_NO }, \ + { k01, k11, k21, k31, k41, k51 }, \ + { k02, k12, k22, k32, k42, k52 }, \ + { k03, k13, k23, k33, k43, k53 }, \ + { k04, k14, k24, k34, k44, k54 }, \ + { k05, k15, k25, k35, KC_NO, k55 }, \ + { k06, k16, KC_NO, k36, KC_NO, k56 }, \ + \ + { k07, k17, KC_NO, k37,KC_NO, k57 }, \ + { k08, k18, k28, k38,KC_NO, k58 }, \ + { k09, k19, k29, k39, k49, k59 }, \ + { k0A, k1A, k2A, k3A, k4A, k5A }, \ + { k0B, k1B, k2B, k3B, k4B, k5B }, \ + { k0C, k1C, k2C, k3C, k4C, k5C }, \ + { k0D, k1D, k2D, k3D, k4D, KC_NO } \ + } /* - * LEFT HAND: LINES 158-165 - * RIGHT HAND: LINES 167-174 - */ + LEFT HAND: LINES 158-165 + RIGHT HAND: LINES 167-174 +*/ #define LAYOUT_ergodox_80( \ - \ - k00,k01,k02,k03,k04,k05,k06, \ - k10,k11,k12,k13,k14,k15,k16, \ - k20,k21,k22,k23,k24,k25, \ - k30,k31,k32,k33,k34,k35,k36, \ - k40,k41,k42,k43,k44, \ - k55,k56, \ - k45,k46,k54, \ - k53,k52,k51, \ - \ - k07,k08,k09,k0A,k0B,k0C,k0D, \ - k17,k18,k19,k1A,k1B,k1C,k1D, \ - k28,k29,k2A,k2B,k2C,k2D, \ - k37,k38,k39,k3A,k3B,k3C,k3D, \ - k49,k4A,k4B,k4C,k4D, \ - k57,k58, \ - k59,k47,k48, \ - k5C,k5B,k5A ) \ - \ - /* matrix positions */ \ - { \ - { k00, k10, k20, k30, k40, KC_NO }, \ - { k01, k11, k21, k31, k41, k51 }, \ - { k02, k12, k22, k32, k42, k52 }, \ - { k03, k13, k23, k33, k43, k53 }, \ - { k04, k14, k24, k34, k44, k54 }, \ - { k05, k15, k25, k35, k45, k55 }, \ - { k06, k16, KC_NO, k36, k46, k56 }, \ - \ - { k07, k17, KC_NO, k37, k47, k57 }, \ - { k08, k18, k28, k38, k48, k58 }, \ - { k09, k19, k29, k39, k49, k59 }, \ - { k0A, k1A, k2A, k3A, k4A, k5A }, \ - { k0B, k1B, k2B, k3B, k4B, k5B }, \ - { k0C, k1C, k2C, k3C, k4C, k5C }, \ - { k0D, k1D, k2D, k3D, k4D, KC_NO } \ - } + \ + k00,k01,k02,k03,k04,k05,k06, \ + k10,k11,k12,k13,k14,k15,k16, \ + k20,k21,k22,k23,k24,k25, \ + k30,k31,k32,k33,k34,k35,k36, \ + k40,k41,k42,k43,k44, \ + k55,k56, \ + k45,k46,k54, \ + k53,k52,k51, \ + \ + k07,k08,k09,k0A,k0B,k0C,k0D, \ + k17,k18,k19,k1A,k1B,k1C,k1D, \ + k28,k29,k2A,k2B,k2C,k2D, \ + k37,k38,k39,k3A,k3B,k3C,k3D, \ + k49,k4A,k4B,k4C,k4D, \ + k57,k58, \ + k59,k47,k48, \ + k5C,k5B,k5A ) \ + \ + /* matrix positions */ \ + { \ + { k00, k10, k20, k30, k40, KC_NO }, \ + { k01, k11, k21, k31, k41, k51 }, \ + { k02, k12, k22, k32, k42, k52 }, \ + { k03, k13, k23, k33, k43, k53 }, \ + { k04, k14, k24, k34, k44, k54 }, \ + { k05, k15, k25, k35, k45, k55 }, \ + { k06, k16, KC_NO, k36, k46, k56 }, \ + \ + { k07, k17, KC_NO, k37, k47, k57 }, \ + { k08, k18, k28, k38, k48, k58 }, \ + { k09, k19, k29, k39, k49, k59 }, \ + { k0A, k1A, k2A, k3A, k4A, k5A }, \ + { k0B, k1B, k2B, k3B, k4B, k5B }, \ + { k0C, k1C, k2C, k3C, k4C, k5C }, \ + { k0D, k1D, k2D, k3D, k4D, KC_NO } \ + } /* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */ #define LAYOUT_ergodox_pretty( \ - L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ - L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ - L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ - L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ - L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ - L55,L56, R50,R51, \ - L54, R52, \ - L53,L52,L51, R55,R54,R53 ) \ - \ - /* matrix positions */ \ - { \ - { L00, L10, L20, L30, L40, KC_NO }, \ - { L01, L11, L21, L31, L41, L51 }, \ - { L02, L12, L22, L32, L42, L52 }, \ - { L03, L13, L23, L33, L43, L53 }, \ - { L04, L14, L24, L34, L44, L54 }, \ - { L05, L15, L25, L35, KC_NO, L55 }, \ - { L06, L16, KC_NO, L36, KC_NO, L56 }, \ - \ - { R00, R10, KC_NO, R30,KC_NO, R50 }, \ - { R01, R11, R21, R31,KC_NO, R51 }, \ - { R02, R12, R22, R32, R42, R52 }, \ - { R03, R13, R23, R33, R43, R53 }, \ - { R04, R14, R24, R34, R44, R54 }, \ - { R05, R15, R25, R35, R45, R55 }, \ - { R06, R16, R26, R36, R46, KC_NO } \ - } + L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ + L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ + L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ + L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ + L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ + L55,L56, R50,R51, \ + L54, R52, \ + L53,L52,L51, R55,R54,R53 ) \ + \ + /* matrix positions */ \ + { \ + { L00, L10, L20, L30, L40, KC_NO }, \ + { L01, L11, L21, L31, L41, L51 }, \ + { L02, L12, L22, L32, L42, L52 }, \ + { L03, L13, L23, L33, L43, L53 }, \ + { L04, L14, L24, L34, L44, L54 }, \ + { L05, L15, L25, L35, KC_NO, L55 }, \ + { L06, L16, KC_NO, L36, KC_NO, L56 }, \ + \ + { R00, R10, KC_NO, R30,KC_NO, R50 }, \ + { R01, R11, R21, R31,KC_NO, R51 }, \ + { R02, R12, R22, R32, R42, R52 }, \ + { R03, R13, R23, R33, R43, R53 }, \ + { R04, R14, R24, R34, R44, R54 }, \ + { R05, R15, R25, R35, R45, R55 }, \ + { R06, R16, R26, R36, R46, KC_NO } \ + } /* ---------- LEFT HAND ----------- ---------- RIGHT HAND ---------- */ #define LAYOUT_ergodox_pretty_80( \ - L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ - L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ - L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ - L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ - L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ - L55,L56, R50,R51, \ - L45,L46,L54, R52,R40,R41, \ - L53,L52,L51, R55,R54,R53 ) \ - \ - /* matrix positions */ \ - { \ - { L00, L10, L20, L30, L40, KC_NO }, \ - { L01, L11, L21, L31, L41, L51 }, \ - { L02, L12, L22, L32, L42, L52 }, \ - { L03, L13, L23, L33, L43, L53 }, \ - { L04, L14, L24, L34, L44, L54 }, \ - { L05, L15, L25, L35, L45, L55 }, \ - { L06, L16, KC_NO, L36, L46, L56 }, \ - \ - { R00, R10, KC_NO, R30, R40, R50 }, \ - { R01, R11, R21, R31, R41, R51 }, \ - { R02, R12, R22, R32, R42, R52 }, \ - { R03, R13, R23, R33, R43, R53 }, \ - { R04, R14, R24, R34, R44, R54 }, \ - { R05, R15, R25, R35, R45, R55 }, \ - { R06, R16, R26, R36, R46, KC_NO } \ - } + L00,L01,L02,L03,L04,L05,L06, R00,R01,R02,R03,R04,R05,R06, \ + L10,L11,L12,L13,L14,L15,L16, R10,R11,R12,R13,R14,R15,R16, \ + L20,L21,L22,L23,L24,L25, R21,R22,R23,R24,R25,R26, \ + L30,L31,L32,L33,L34,L35,L36, R30,R31,R32,R33,R34,R35,R36, \ + L40,L41,L42,L43,L44, R42,R43,R44,R45,R46, \ + L55,L56, R50,R51, \ + L45,L46,L54, R52,R40,R41, \ + L53,L52,L51, R55,R54,R53 ) \ + \ + /* matrix positions */ \ + { \ + { L00, L10, L20, L30, L40, KC_NO }, \ + { L01, L11, L21, L31, L41, L51 }, \ + { L02, L12, L22, L32, L42, L52 }, \ + { L03, L13, L23, L33, L43, L53 }, \ + { L04, L14, L24, L34, L44, L54 }, \ + { L05, L15, L25, L35, L45, L55 }, \ + { L06, L16, KC_NO, L36, L46, L56 }, \ + \ + { R00, R10, KC_NO, R30, R40, R50 }, \ + { R01, R11, R21, R31, R41, R51 }, \ + { R02, R12, R22, R32, R42, R52 }, \ + { R03, R13, R23, R33, R43, R53 }, \ + { R04, R14, R24, R34, R44, R54 }, \ + { R05, R15, R25, R35, R45, R55 }, \ + { R06, R16, R26, R36, R46, KC_NO } \ + }