Created
February 12, 2020 05:01
-
-
Save AeliusSaionji/e1232d943d860254ee1f3d2617519f47 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- keyboards/ergodox_ez/config.h 2020-02-11 00:59:19.189990347 -0500 | |
+++ keyboards/ergodox_ez_rhalf/config.h 2020-02-11 23:46:48.212405452 -0500 | |
@@ -16,6 +16,7 @@ | |
along with this program. If not, see <http://www.gnu.org/licenses/>. | |
*/ | |
+#define DIODE_DIRECTION COL2ROW | |
#ifndef ERGODOX_EZ_CONFIG_H | |
#define ERGODOX_EZ_CONFIG_H | |
@@ -30,17 +31,19 @@ | |
#define DESCRIPTION QMK keyboard firmware for Ergodox EZ | |
/* key matrix size */ | |
-#define MATRIX_ROWS 14 | |
-#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2) | |
+#define MATRIX_ROWS 7 | |
#define MATRIX_COLS 6 | |
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, D2, D3, C6 } | |
+#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7 } | |
+ | |
#define MOUSEKEY_INTERVAL 20 | |
#define MOUSEKEY_DELAY 0 | |
#define MOUSEKEY_TIME_TO_MAX 60 | |
#define MOUSEKEY_MAX_SPEED 7 | |
#define MOUSEKEY_WHEEL_DELAY 0 | |
-#define DEBOUNCE 30 | |
+#define DEBOUNCE 5 | |
#define TAPPING_TOGGLE 1 | |
@@ -112,10 +115,10 @@ | |
// RGB backlight | |
#define DRIVER_ADDR_1 0b1110100 | |
#define DRIVER_ADDR_2 0b1110111 | |
-#define DRIVER_COUNT 2 | |
+#define DRIVER_COUNT 1 | |
#define DRIVER_1_LED_TOTAL 24 | |
#define DRIVER_2_LED_TOTAL 24 | |
-#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) | |
+#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL | |
#define RGB_MATRIX_LED_PROCESS_LIMIT 5 | |
#define RGB_MATRIX_LED_FLUSH_LIMIT 26 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- keyboards/ergodox_ez/ergodox_ez.c 2020-02-11 00:59:19.189990347 -0500 | |
+++ keyboards/ergodox_ez_rhalf/ergodox_ez_rhalf.c 2020-02-11 02:49:42.758858190 -0500 | |
@@ -70,46 +70,11 @@ | |
_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(); | |
- } | |
-#endif | |
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(); | |
- } | |
-#endif | |
- | |
//ergodox_led_all_on(); | |
//_delay_ms(333); | |
ergodox_led_all_off(); | |
@@ -163,63 +128,6 @@ | |
return mcp23018_status; | |
} | |
-#ifdef LEFT_LEDS | |
-uint8_t ergodox_left_leds_update(void) { | |
- 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<<LEFT_LED_3_SHIFT), | |
- ERGODOX_EZ_I2C_TIMEOUT); | |
- if (mcp23018_status) goto out; | |
- mcp23018_status = i2c_write(0b11111111 | |
- & ~(ergodox_left_led_2<<LEFT_LED_2_SHIFT) | |
- & ~(ergodox_left_led_1<<LEFT_LED_1_SHIFT), | |
- ERGODOX_EZ_I2C_TIMEOUT); | |
- if (mcp23018_status) goto out; | |
- | |
- out: | |
- i2c_stop(); | |
- return mcp23018_status; | |
-} | |
-#endif | |
- | |
- | |
-#ifdef SWAP_HANDS_ENABLE | |
-__attribute__ ((weak)) | |
-// swap-hands action needs a matrix to define the swap | |
-const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { | |
- /* Left hand, matrix positions */ | |
- {{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, | |
- {{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, | |
- {{0,11}, {1,11}, {2,11}, {3,11}, {4,11}, {5,11}}, | |
- {{0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}}, | |
- {{0,9}, {1,9}, {2,9}, {3,9}, {4,9}, {5,9}}, | |
- {{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}}, | |
- {{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}}, | |
- /* Right hand, matrix positions */ | |
- {{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, | |
- {{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, | |
- {{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, | |
- {{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}}, | |
- {{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}}, | |
- {{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}}, | |
- {{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, | |
-}; | |
-#endif | |
- | |
#ifdef RGB_MATRIX_ENABLE | |
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { | |
/* driver | |
@@ -253,31 +161,6 @@ | |
{0, C2_11, C1_11, C3_11}, // LED23 | |
{0, C5_11, C4_11, C6_11}, // LED24 | |
- {1, C3_1, C2_1, C4_1}, // LED1 on left | |
- {1, C6_1, C5_1, C7_1}, // LED2 | |
- {1, C4_2, C3_2, C5_2}, // LED3 | |
- {1, C7_2, C6_2, C8_2}, // LED4 | |
- {1, C2_3, C1_3, C3_3}, // LED5 | |
- {1, C5_3, C4_3, C6_3}, // LED6 | |
- {1, C8_3, C7_3, C9_3}, // LED7 | |
- {1, C2_4, C1_4, C3_4}, // LED8 | |
- {1, C6_4, C5_4, C7_4}, // LED9 | |
- {1, C2_5, C1_5, C3_5}, // LED10 | |
- {1, C7_5, C6_5, C8_5}, // LED11 | |
- {1, C2_6, C1_6, C3_6}, // LED12 | |
- {1, C5_6, C4_6, C6_6}, // LED13 | |
- {1, C8_6, C7_6, C9_6}, // LED14 | |
- {1, C2_7, C1_7, C3_7}, // LED15 | |
- {1, C5_7, C4_7, C6_7}, // LED16 | |
- {1, C2_8, C1_8, C3_8}, // LED17 | |
- {1, C5_8, C4_8, C6_8}, // LED18 | |
- | |
- {1, C3_9, C2_9, C4_9}, // LED19 | |
- {1, C6_9, C5_9, C7_9}, // LED20 | |
- {1, C4_10, C3_10, C5_10}, // LED21 | |
- {1, C7_10, C6_10, C8_10}, // LED22 | |
- {1, C2_11, C1_11, C3_11}, // LED23 | |
- {1, C5_11, C4_11, C6_11} // LED24 | |
}; | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- keyboards/ergodox_ez/ergodox_ez.h 2020-02-11 00:59:19.189990347 -0500 | |
+++ keyboards/ergodox_ez_rhalf/ergodox_ez_rhalf.h 2020-02-11 03:01:55.662601004 -0500 | |
@@ -51,19 +51,6 @@ | |
inline void ergodox_right_led_3_off(void) { DDRB &= ~(1<<7); PORTB &= ~(1<<7); } | |
inline void ergodox_right_led_off(uint8_t led) { DDRB &= ~(1<<(led+4)); PORTB &= ~(1<<(led+4)); } | |
-#ifdef LEFT_LEDS | |
-bool ergodox_left_led_1; | |
-bool ergodox_left_led_2; | |
-bool ergodox_left_led_3; | |
- | |
-inline void ergodox_left_led_1_on(void) { ergodox_left_led_1 = 1; } | |
-inline void ergodox_left_led_2_on(void) { ergodox_left_led_2 = 1; } | |
-inline void ergodox_left_led_3_on(void) { ergodox_left_led_3 = 1; } | |
- | |
-inline void ergodox_left_led_1_off(void) { ergodox_left_led_1 = 0; } | |
-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) | |
{ | |
@@ -71,11 +58,6 @@ | |
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(); | |
-#endif // LEFT_LEDS | |
} | |
inline void ergodox_led_all_off(void) | |
@@ -84,11 +66,6 @@ | |
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(); | |
-#endif // LEFT_LEDS | |
} | |
inline void ergodox_right_led_1_set(uint8_t n) { OCR1A = n; } | |
@@ -127,20 +104,10 @@ | |
extern keyboard_config_t keyboard_config; | |
/* | |
- * LEFT HAND: LINES 115-122 | |
- * RIGHT HAND: LINES 124-131 | |
+ * RIGHT HAND | |
*/ | |
#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, \ | |
@@ -152,38 +119,20 @@ | |
\ | |
/* 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 }, \ | |
+ { 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 } \ | |
+ { 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 | |
+ * RIGHT HAND | |
*/ | |
#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, \ | |
@@ -195,44 +144,28 @@ | |
\ | |
/* 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 }, \ | |
+ { 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 } \ | |
+ { 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 ) \ | |
- \ | |
+/* ---------- RIGHT HAND ---------- */ | |
+#define LAYOUT_ergodox_pretty( \ | |
+ R00,R01,R02,R03,R04,R05,R06, \ | |
+ R10,R11,R12,R13,R14,R15,R16, \ | |
+ R21,R22,R23,R24,R25,R26, \ | |
+ R30,R31,R32,R33,R34,R35,R36, \ | |
+ R42,R43,R44,R45,R46, \ | |
+ R50,R51, \ | |
+ R52, \ | |
+ 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 }, \ | |
@@ -242,27 +175,19 @@ | |
{ 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 ) \ | |
+/* ---------- RIGHT HAND ---------- */ | |
+#define LAYOUT_ergodox_pretty_80( \ | |
+ R00,R01,R02,R03,R04,R05,R06, \ | |
+ R10,R11,R12,R13,R14,R15,R16, \ | |
+ R21,R22,R23,R24,R25,R26, \ | |
+ R30,R31,R32,R33,R34,R35,R36, \ | |
+ R42,R43,R44,R45,R46, \ | |
+ R50,R51, \ | |
+ R52,R40,R41, \ | |
+ 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 }, \ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- keyboards/ergodox_ez/rules.mk 2020-02-11 00:59:19.193323680 -0500 | |
+++ keyboards/ergodox_ez_rhalf/rules.mk 2020-02-11 23:36:45.806733705 -0500 | |
@@ -24,21 +24,15 @@ | |
EXTRAKEY_ENABLE = yes # Audio control and System control | |
CONSOLE_ENABLE = no # Console for debug | |
COMMAND_ENABLE = yes # Commands for debug and configuration | |
-CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ | |
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |
UNICODE_ENABLE = yes # Unicode | |
-SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard | |
SLEEP_LED_ENABLE = no | |
API_SYSEX_ENABLE = no | |
RGBLIGHT_ENABLE = yes | |
-RGBLIGHT_CUSTOM_DRIVER = yes | |
+RGBLIGHT_CUSTOM_DRIVER = no | |
RGB_MATRIX_ENABLE = no # enable later | |
DEBOUNCE_TYPE = eager_pr | |
# project specific files | |
-SRC += matrix.c \ | |
- led_i2c.c | |
QUANTUM_LIB_SRC += i2c_master.c | |
- | |
-LAYOUTS = ergodox |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment