aboutsummaryrefslogtreecommitdiff
path: root/layouts/community/ortho_4x12/wanleg
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community/ortho_4x12/wanleg')
-rw-r--r--layouts/community/ortho_4x12/wanleg/config.h43
-rw-r--r--layouts/community/ortho_4x12/wanleg/keymap.c97
-rw-r--r--layouts/community/ortho_4x12/wanleg/readme.md54
-rw-r--r--layouts/community/ortho_4x12/wanleg/rules.mk10
4 files changed, 204 insertions, 0 deletions
diff --git a/layouts/community/ortho_4x12/wanleg/config.h b/layouts/community/ortho_4x12/wanleg/config.h
new file mode 100644
index 0000000000..f7650ddd3a
--- /dev/null
+++ b/layouts/community/ortho_4x12/wanleg/config.h
@@ -0,0 +1,43 @@
+#pragma once
+
+#if defined(KEYBOARD_jj40)
+#undef BACKLIGHT_BREATHING
+#undef BACKLIGHT_LEVELS
+#undef BREATHING_PERIOD
+#define BACKLIGHT_BREATHING
+#define BACKLIGHT_LEVELS 3
+#define BREATHING_PERIOD 15
+#endif
+
+//QMK DFU settings (ProMicro boards with QMK bootloader)
+// set top left key as bootloader mode escape key on Lets Split rev2
+#if defined(KEYBOARD_lets_split_rev2)
+#define QMK_LED B0
+#define QMK_ESC_OUTPUT F6 // usually COL
+#define QMK_ESC_INPUT D7 // usually ROW
+#define USE_SERIAL
+#undef USE_I2C
+#define EE_HANDS
+#endif
+
+// set top left key as bootloader mode escape key on 4x4 48key layout
+#if defined(KEYBOARD_40percentclub_4x4) && !defined(PRO_MICRO)
+#define QMK_LED B0
+#define QMK_ESC_OUTPUT C6 // usually COL
+#define QMK_ESC_INPUT B2 // usually ROW
+#endif
+
+// use alternate settings for 4x4 board using ProMicro instead of Micro
+// usage: make 4x4:wanleg PM=yes
+#if defined(KEYBOARD_40percentclub_4x4) && defined(PRO_MICRO)
+#define QMK_ESC_OUTPUT F4 // usually COL
+#define QMK_ESC_INPUT D1 // usually ROW
+#define QMK_LED B0
+
+//need to undefine standard 4x4 array before defining alternate ProMicro array
+#undef MATRIX_ROW_PINS
+#undef MATRIX_COL_PINS
+#define MATRIX_ROW_PINS { D1, D0, D4, C6 }
+//last 4 elements of the column array are not broken out on a ProMicro (included only to preserve array structure)
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7, F0, B7, D6, F1 }
+#endif
diff --git a/layouts/community/ortho_4x12/wanleg/keymap.c b/layouts/community/ortho_4x12/wanleg/keymap.c
new file mode 100644
index 0000000000..23e794dc41
--- /dev/null
+++ b/layouts/community/ortho_4x12/wanleg/keymap.c
@@ -0,0 +1,97 @@
+#include QMK_KEYBOARD_H
+#include "wanleg.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+#if defined(KEYBOARD_lets_split_rev2)
+[_GK] = LAYOUT_ortho_4x12_wrapper(
+ _______________GherkinLike_0_______________,
+ _______________GherkinLike_1_______________,
+ _______________GherkinLike_2_______________,
+ _______________GherkinLike_3_OneHand_______
+),
+[ONE] = LAYOUT_ortho_4x12_wrapper(
+ _______________Qwerty_Row__0_______________,
+ _______________Qwerty_Row__1_______________,
+ _______________Qwerty_Row__2_______________,
+ KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL
+),
+[DIR] = LAYOUT_ortho_4x12_wrapper(
+ _____________DIRECTIONS_Row__0_____________,
+ _____________DIRECTIONS_Row__1_____________,
+ _____________DIRECTIONS_Row__2_____________,
+ _______, _______, ONEHAND, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+#elif defined(KEYBOARD_40percentclub_4x4)
+[_GK] = LAYOUT_ortho_4x12_wrapper(
+ _______________GherkinLike_0_______________,
+ _______________GherkinLike_1_______________,
+ _______________GherkinLike_2_______________,
+ TD(RST_TAP_DANCE), KC_LGUI, KC_LALT, NUMPAD, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
+),
+
+[PAD] = LAYOUT_ortho_4x4_wrapper(
+ _______________NUMPAD_Row__0_______________,
+ _______________NUMPAD_Row__1_______________,
+ _______________NUMPAD_Row__2_______________,
+ _______________NUMPAD_Row__3_______________
+),
+
+#elif defined(KEYBOARD_jj40)
+[_GK] = LAYOUT_ortho_4x12_wrapper(
+ _______________GherkinLike_0_______________,
+ _______________GherkinLike_1_______________,
+ _______________GherkinLike_2_______________,
+ TD(RST_TAP_DANCE), BL_TOGG, BL_STEP, BL_BRTG, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL
+),
+
+#else
+[_GK] = LAYOUT_ortho_4x12_wrapper(
+ _______________GherkinLike_0_______________,
+ _______________GherkinLike_1_______________,
+ _______________GherkinLike_2_______________,
+ _______________GherkinLike_3_______________
+),
+#endif
+[_QW] = LAYOUT_ortho_4x12_wrapper(
+ _______________Qwerty_Row__0_______________,
+ _______________Qwerty_Row__1_______________,
+ _______________Qwerty_Row__2_______________,
+ _______________Qwerty_Row__3_______________
+),
+
+[SUP] = LAYOUT_ortho_4x12_wrapper(
+ ________________SUPRA_Row_0________________,
+ ________________SUPRA_Row_1________________,
+ ________________SUPRA_Row_2________________,
+ ________________SUPRA_Row_3________________
+),
+
+[SUB] = LAYOUT_ortho_4x12_wrapper(
+ _______________SUBTER_Row__0_______________,
+ _______________SUBTER_Row__1_______________,
+ _______________SUBTER_Row__2_______________,
+ _______________SUBTER_Row__3_______________
+),
+
+[NUM] = LAYOUT_ortho_4x12_wrapper(
+ _______________NUMBERS_Row_0_______________,
+ _______________NUMBERS_Row_1_______________,
+ _______________NUMBERS_Row_2_______________,
+ _______________NUMBERS_Row_3_______________
+),
+
+[DIR] = LAYOUT_ortho_4x12_wrapper(
+ _____________DIRECTIONS_Row__0_____________,
+ _____________DIRECTIONS_Row__1_____________,
+ _____________DIRECTIONS_Row__2_____________,
+ _____________DIRECTIONS_Row__3_____________
+),
+
+[ETC] = LAYOUT_ortho_4x12_wrapper(
+ ______________ETCETERA_Row__0______________,
+ ______________ETCETERA_Row__1______________,
+ ______________ETCETERA_Row__2______________,
+ ______________ETCETERA_Row__3______________
+),
+
+};
diff --git a/layouts/community/ortho_4x12/wanleg/readme.md b/layouts/community/ortho_4x12/wanleg/readme.md
new file mode 100644
index 0000000000..1cd41d116d
--- /dev/null
+++ b/layouts/community/ortho_4x12/wanleg/readme.md
@@ -0,0 +1,54 @@
+# Let's Split Flashing
+(More information at `qmk_firmware/layouts/community/ortho_3x10/wanleg/readme.md`)
+## Make the QMK DFU .hex
+`make lets_split/rev2:wanleg:production dfu=qmk`
+
+## Burning EEPROM settings and Firmware
+Navigate to the directory with your .hex file and the `eeprom-lefthand.eep` and `eeprom-righthand.eep` files in it.
+**Burn Left Side With QMK DFU and Firmware**
+`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-lefthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
+
+**Burn Right Side With QMK DFU and Firmware**
+`avrdude -b 19200 -c avrisp -p m32u4 -v -e -U lock:w:0x3F:m -U efuse:w:0xC3:m -U hfuse:w:0xD9:m -U lfuse:w:0x5E:m -U eeprom:w:eeprom-righthand.eep -P comPORT -U flash:w:YOUR_production.hex:a`
+
+Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Windows or `/dev/ttyACM0` in Linux). Use Device Manager in Windows to find the port being used. Use `ls /dev/tty*` in Linux. Change `YOUR_production.hex` to whatever you've created in the previous step.
+
+## Using QMK DFU
+Once QMK DFU is burned to your ProMicro, you can then flash subsequent hex files with
+`make lets_split/rev2:<keymap>:dfu dfu=qmk`
+The `dfu=qmk` conditional will set `BOOTLOADER = qmk-dfu` instead of `BOOTLOADER = caterina`
+
+# Let's Split LEDs
+In `qmk_firmware/keyboards/lets_split/rev2/rev2.c`, replace contents with
+```
+#include "lets_split.h"
+
+
+#ifdef SSD1306OLED
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+ led_set_user(usb_led);
+}
+#endif
+
+void matrix_init_kb(void) {
+
+ // // green led on
+ // DDRD |= (1<<5);
+ // PORTD &= ~(1<<5);
+
+ // // orange led on
+ // DDRB |= (1<<0);
+ // PORTB &= ~(1<<0);
+
+ //turn off LEDs on ProMicro
+ DDRD &= ~(1<<5);
+ PORTD &= ~(1<<5);
+
+ DDRB &= ~(1<<0);
+ PORTB &= ~(1<<0);
+
+ matrix_init_user();
+};
+```
+to turn off LEDs
diff --git a/layouts/community/ortho_4x12/wanleg/rules.mk b/layouts/community/ortho_4x12/wanleg/rules.mk
new file mode 100644
index 0000000000..e8277610b6
--- /dev/null
+++ b/layouts/community/ortho_4x12/wanleg/rules.mk
@@ -0,0 +1,10 @@
+AUDIO_ENABLE = no
+SWAP_HANDS_ENABLE = no
+
+ifeq ($(strip $(KEYBOARD)), lets_split/rev2)
+ SWAP_HANDS_ENABLE = yes
+endif
+
+ifeq ($(strip $(KEYBOARD)), planck/rev6)
+ AUDIO_ENABLE = yes
+endif \ No newline at end of file