summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodox_ez/matrix.c3
-rw-r--r--keyboards/handwired/108key_trackpoint/108key_trackpoint.c1
-rw-r--r--keyboards/handwired/108key_trackpoint/108key_trackpoint.h23
-rw-r--r--keyboards/handwired/108key_trackpoint/README.md23
-rw-r--r--keyboards/handwired/108key_trackpoint/config.h73
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c14
-rw-r--r--keyboards/handwired/108key_trackpoint/rules.mk82
-rw-r--r--keyboards/levinson/readme.md14
-rw-r--r--keyboards/rama/m60_a/rules.mk6
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h (renamed from keyboards/tv44/keymaps/talljoe-minivan/config.h)10
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/keymap.c (renamed from keyboards/tv44/keymaps/talljoe-minivan/keymap.c)0
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/rules.mk (renamed from keyboards/tv44/keymaps/talljoe-minivan/rules.mk)0
-rw-r--r--layouts/community/60_ansi_split_bs_rshift/talljoe/config.h2
-rw-r--r--layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c95
-rw-r--r--layouts/community/60_hhkb/talljoe-hhkb/config.h3
-rw-r--r--layouts/community/tkl_ansi/talljoe-tkl/keymap.c90
-rw-r--r--quantum/process_keycode/process_ucis.c6
-rw-r--r--tmk_core/protocol/chibios/main.c4
-rw-r--r--users/talljoe/config.h4
-rw-r--r--users/talljoe/rules.mk2
-rw-r--r--users/talljoe/talljoe.c34
23 files changed, 314 insertions, 203 deletions
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index 6d5bfca31..22837d312 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -386,7 +386,7 @@ static void select_row(uint8_t row)
break;
case 11:
DDRD |= (1<<2);
- PORTD &= ~(1<<3);
+ PORTD &= ~(1<<2);
break;
case 12:
DDRD |= (1<<3);
@@ -399,4 +399,3 @@ static void select_row(uint8_t row)
}
}
}
-
diff --git a/keyboards/handwired/108key_trackpoint/108key_trackpoint.c b/keyboards/handwired/108key_trackpoint/108key_trackpoint.c
new file mode 100644
index 000000000..3834f8961
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/108key_trackpoint.c
@@ -0,0 +1 @@
+#include "108key_trackpoint.h"
diff --git a/keyboards/handwired/108key_trackpoint/108key_trackpoint.h b/keyboards/handwired/108key_trackpoint/108key_trackpoint.h
new file mode 100644
index 000000000..100f4cb93
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/108key_trackpoint.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+ K000, K002, K003, K004, K005, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K019, K020, K021, K022, \
+ \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K219, K220, K221, K222, \
+ K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K319, K320, K321, \
+ K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K419, K420, K421, K422, \
+ K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K516, K519, K520, K521, \
+ K600, K601, K603, K606, K610, K611, K613, K614, K615, K616, K617, K619, K621, K622, \
+ K705, K706, K707 \
+) { \
+ { K000, KC_NO, K002, K003, K004, K005, KC_NO, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, KC_NO, K019, K020, K021, K022 }, \
+ { 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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, KC_NO, K219, K220, K221, K222 }, \
+ { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, KC_NO, K319, K320, K321, KC_NO }, \
+ { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K419, K420, K421, K422 }, \
+ { KC_NO, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, KC_NO, KC_NO, K516, KC_NO, KC_NO, K519, K520, K521, KC_NO }, \
+ { K600, K601, KC_NO, K603, KC_NO, KC_NO, K606, KC_NO, KC_NO, KC_NO, K610, K611, KC_NO, K613, K614, K615, K616, K617, KC_NO, K619, KC_NO, K621, K622 }, \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K705, K706, K707, 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_NO, KC_NO } \
+}
diff --git a/keyboards/handwired/108key_trackpoint/README.md b/keyboards/handwired/108key_trackpoint/README.md
new file mode 100644
index 000000000..247043e17
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/README.md
@@ -0,0 +1,23 @@
+# 108 Key with TrackPoint
+
+![wiring](https://raw.githubusercontent.com/qmk/qmk.fm/gh-pages/keyboards/handwired/108key_trackpoint/wiring.JPG)
+
+This is based off the handwired/trackpoint keyboard and generated code from [Keyboard Firmware Builder](https://kbfirmware.com/).
+
+Keyboard Maintainer: [mkem114](https://github.com/mkem114)
+Hardware Supported (tested): Teensy++ 2.0
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/108keyTrackpoint:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+You may have to modify the source code to suit 104 keys, RGB back-lights, different micro-controllers, or big ass enter.
+
+There are three keymaps:
+* qwerty with the four extra keys being: mute, media prev, media next, and media play
+* dvorak with the four extra keys being: mute, media prev, media next, and media play
+* dvorak_media with the caps lock being media play and the four extra keys being: mute, volume down, volume up, and media next
+
+To figure out how to wire your specific TrackPoint have a look out: [How to integrate a trackpoint in a mechanical keyboard](https://github.com/alonswartz/trackpoint).
diff --git a/keyboards/handwired/108key_trackpoint/config.h b/keyboards/handwired/108key_trackpoint/config.h
new file mode 100644
index 000000000..7a63fe262
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/config.h
@@ -0,0 +1,73 @@
+#pragma once
+
+#include "config_common.h"
+
+#define VENDOR_ID 0x1234
+#define PRODUCT_ID 0x5678
+#define DEVICE_VER 0x0001
+#define MANUFACTURER QMK
+#define PRODUCT 108Key-Trackpoint
+#define DESCRIPTION A 108 key ANSI keyboard with a trackpoint and three mouse buttons
+
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 23
+
+#ifdef PS2_USE_USART
+ #define PS2_CLOCK_PORT PORTD
+ #define PS2_CLOCK_PIN PIND
+ #define PS2_CLOCK_DDR DDRD
+ #define PS2_CLOCK_BIT 5
+ #define PS2_DATA_PORT PORTD
+ #define PS2_DATA_PIN PIND
+ #define PS2_DATA_DDR DDRD
+ #define PS2_DATA_BIT 2
+
+ /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
+ /* set DDR of CLOCK as input to be slave */
+ #define PS2_USART_INIT() do { \
+ PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
+ PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
+ UCSR1C = ((1 << UMSEL10) | \
+ (3 << UPM10) | \
+ (0 << USBS1) | \
+ (3 << UCSZ10) | \
+ (0 << UCPOL1)); \
+ UCSR1A = 0; \
+ UBRR1H = 0; \
+ UBRR1L = 0; \
+ } while (0)
+ #define PS2_USART_RX_INT_ON() do { \
+ UCSR1B = ((1 << RXCIE1) | \
+ (1 << RXEN1)); \
+ } while (0)
+ #define PS2_USART_RX_POLL_ON() do { \
+ UCSR1B = (1 << RXEN1); \
+ } while (0)
+ #define PS2_USART_OFF() do { \
+ UCSR1C = 0; \
+ UCSR1B &= ~((1 << RXEN1) | \
+ (1 << TXEN1)); \
+ } while (0)
+ #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
+ #define PS2_USART_RX_DATA UDR1
+ #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
+ #define PS2_USART_RX_VECT USART1_RX_vect
+#endif
+
+#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
+#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, F0, D3, D4, F1, D6, D7, E0, E1, E2, E3, E4, E5, E6 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCING_DELAY 5
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
+
+/* key combination for commkand */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c
new file mode 100644
index 000000000..3345aca16
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/keymaps/default/keymap.c
@@ -0,0 +1,14 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT (
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
+ KC_BTN1, KC_BTN3, KC_BTN2
+ )
+};
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c
new file mode 100644
index 000000000..0181ad9f7
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/keymaps/dvorak/keymap.c
@@ -0,0 +1,14 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT (
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
+ KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
+ KC_BTN1, KC_BTN3, KC_BTN2
+ )
+};
diff --git a/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c b/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c
new file mode 100644
index 000000000..d6223c496
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/keymaps/dvorak_media/keymap.c
@@ -0,0 +1,14 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT (
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9,
+ KC_MPLY, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_APP, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT,
+ KC_BTN1, KC_BTN3, KC_BTN2
+ )
+};
diff --git a/keyboards/handwired/108key_trackpoint/rules.mk b/keyboards/handwired/108key_trackpoint/rules.mk
new file mode 100644
index 000000000..84ec52eee
--- /dev/null
+++ b/keyboards/handwired/108key_trackpoint/rules.mk
@@ -0,0 +1,82 @@
+# MCU name
+MCU = at90usb1286
+#MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# atmega32a bootloadHID
+BOOTLOADER = halfkay
+
+
+# If you don't know the bootloader type, then you can specify the
+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
+PS2_MOUSE_ENABLE = yes
+PS2_USE_USART = yes
diff --git a/keyboards/levinson/readme.md b/keyboards/levinson/readme.md
index 79e64d332..8cb4ff1cf 100644
--- a/keyboards/levinson/readme.md
+++ b/keyboards/levinson/readme.md
@@ -4,17 +4,25 @@ Levinson
A split 40% split 4x12 ortholinear keyboard made and sold by Keebio. It's essentially a Let's Split with LED backlight support and 2u thumb key support. [More info at Keebio](https://keeb.io).
Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
-Hardware Supported: Pro Micro
+Hardware Supported: Pro Micro, Elite-C
Hardware Availability: [Keebio](https://keeb.io)
Make example for this keyboard (after setting up your build environment):
make levinson/rev2:default
-Example of flashing this keyboard:
+Example of flashing this keyboard with Pro micro:
make levinson/rev2:default:avrdude
-See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
+Example of flashing this keyboard with Elite-C:
+
+You'll need to add `BOOTLOADER = atmel-dfu` to your `rules.mk` to ensure that resetting the board works properly.
+
+Hold the reset button on the Elite-C board, or the reset button on the keyboard if already assembled, then release the button and run:
+
+ make levinson/rev2:default:dfu
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
A build guide for this keyboard can be found here: [Levinson Build Guide](https://docs.keeb.io)
diff --git a/keyboards/rama/m60_a/rules.mk b/keyboards/rama/m60_a/rules.mk
index 7ab1b7d3b..9c1a2d9df 100644
--- a/keyboards/rama/m60_a/rules.mk
+++ b/keyboards/rama/m60_a/rules.mk
@@ -54,7 +54,7 @@ BOOTLOADER = atmel-dfu
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
+# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
@@ -68,7 +68,7 @@ MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
@@ -76,3 +76,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
RAW_ENABLE = yes
DYNAMIC_KEYMAP_ENABLE = yes
CIE1931_CURVE = yes
+
+LAYOUTS = 60_hhkb
diff --git a/keyboards/tv44/keymaps/talljoe-minivan/config.h b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h
index fa1f43adc..26d5e207e 100644
--- a/keyboards/tv44/keymaps/talljoe-minivan/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h
@@ -11,7 +11,7 @@
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
-) KEYMAP_ARROW( \
+) LAYOUT_arrow( \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K0D, \
@@ -24,7 +24,7 @@
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
-) KEYMAP_ARROW( \
+) LAYOUT_arrow( \
K00, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
@@ -37,14 +37,14 @@
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \
-) KEYMAP_ARROW( \
+) LAYOUT_arrow( \
K00, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K2D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
- K40, K49, K42, K44, K45, K48, K0B, K0C, K4C \
+ K40, K41, K42, K44, K45, K48, K0B, K0C, K4C \
)
-#define TEMPLATE_RESET KEYMAP_ARROW( \
+#define TEMPLATE_RESET LAYOUT_arrow( \
RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET, \
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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
diff --git a/keyboards/tv44/keymaps/talljoe-minivan/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/keymap.c
index 7812add81..7812add81 100644
--- a/keyboards/tv44/keymaps/talljoe-minivan/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/keymap.c
diff --git a/keyboards/tv44/keymaps/talljoe-minivan/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/rules.mk
index a4e40d0ba..a4e40d0ba 100644
--- a/keyboards/tv44/keymaps/talljoe-minivan/rules.mk
+++ b/keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/rules.mk
diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
index bf18fd9f7..65568d3ab 100644
--- a/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
+++ b/layouts/community/60_ansi_split_bs_rshift/talljoe/config.h
@@ -34,7 +34,7 @@
{ K40, K41, K42, {}, {}, {}, {}, K47, {}, {}, K4A, K4B, K4C, K4D } \
}
-#ifdef KEYBOARD_zeal60
+#if defined (RGB_BACKLIGHT_ZEAL60) || defined (RGB_BACKLIGHT_M60_A)
#define ZEAL_RGB
diff --git a/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c b/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c
index cfad9da8a..7812add81 100644
--- a/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c
+++ b/layouts/community/60_ansi_split_bs_rshift/talljoe/keymap.c
@@ -1,94 +1 @@
-#ifdef KEYBOARD_zeal60
-#include "config.h"
-#include "zeal60.h"
-#include "rgb_backlight.h"
-#include "action_layer.h"
-#include "solarized.h"
-#include "talljoe.h"
-
-// from zeal_backlight.c
-// we want to be able to set indicators for the spacebar stabs
-// but they are not represented by a row/index.
-extern backlight_config g_config;
-void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led );
-
-void set_backlight_defaults(void) {
- uint8_t space;
- uint8_t caps_lock;
- map_row_column_to_led(3, 12, &caps_lock);
- map_row_column_to_led(4, 7, &space);
- backlight_config default_values = {
- .use_split_backspace = USE_SPLIT_BACKSPACE,
- .use_split_left_shift = USE_SPLIT_LEFT_SHIFT,
- .use_split_right_shift = USE_SPLIT_RIGHT_SHIFT,
- .use_7u_spacebar = USE_7U_SPACEBAR,
- .use_iso_enter = USE_ISO_ENTER,
- .disable_when_usb_suspended = 1,
- .disable_after_timeout = 0,
- .brightness = 255,
- .effect = 10,
- .color_1 = solarized.base2,
- .color_2 = solarized.base02,
- .caps_lock_indicator = { .index = caps_lock, .color = solarized.red },
- .layer_1_indicator = { .index = space, .color = solarized.blue },
- .layer_2_indicator = { .index = space, .color = solarized.yellow },
- .layer_3_indicator = { .index = 254, .color = solarized.red },
- .alphas_mods = {
- RGB_BACKLIGHT_ALPHAS_MODS_ROW_0,
- RGB_BACKLIGHT_ALPHAS_MODS_ROW_1,
- RGB_BACKLIGHT_ALPHAS_MODS_ROW_2,
- RGB_BACKLIGHT_ALPHAS_MODS_ROW_3,
- RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 }
- };
- memcpy(&g_config, &default_values, sizeof(backlight_config));
- backlight_config_save();
-
-#undef CUSTOM_RGB_LAYOUTS
-#ifdef CUSTOM_RGB_LAYOUTS
- solarized_t* S = &solarized;
- HSV alphas = S->base2;
- HSV custom_color_map[MATRIX_ROWS][MATRIX_COLS] = CM(
- S->red, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->red,
- S->orange, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->orange,
- S->green, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->green,
- S->blue, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->blue, S->blue,
- S->violet, S->magenta, S->yellow, alphas, S->yellow, S->magenta, S->violet, S->green
- );
- for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
- for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
- uint8_t index;
- map_row_column_to_led( row, col, &index );
- set_key_color(index, custom_color_map[row][col]);
- }
- }
-#endif // CUSTOM_RGB_LAYOUTS
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- static uint8_t last_effect;
- switch (keycode) {
- case DFAULTS:
- if (IS_PRESSED(record->event)) set_backlight_defaults();
- return false;
- case BL_TOGG:
- if (IS_PRESSED(record->event)) {
- if (g_config.effect) {
- last_effect = g_config.effect;
- g_config.effect = 0;
- } else {
- g_config.effect = last_effect;
- }
- }
- return false;
- case EFFECT...EFFECT_END:
- if (IS_PRESSED(record->event)) {
- uint8_t effect = keycode - EFFECT;
- g_config.effect = effect;
- backlight_config_save();
- }
- return false;
- }
-
- return true;
-}
-#endif
+// This space intentionally left blank
diff --git a/layouts/community/60_hhkb/talljoe-hhkb/config.h b/layouts/community/60_hhkb/talljoe-hhkb/config.h
index 9e907feeb..54756a940 100644
--- a/layouts/community/60_hhkb/talljoe-hhkb/config.h
+++ b/layouts/community/60_hhkb/talljoe-hhkb/config.h
@@ -19,4 +19,7 @@
K41, K42, K45, K48, K4C \
)
+#ifdef RGB_BACKLIGHT_M60_A
+ #define ZEAL_RGB
+#endif
#endif //CONFIG_USER_H
diff --git a/layouts/community/tkl_ansi/talljoe-tkl/keymap.c b/layouts/community/tkl_ansi/talljoe-tkl/keymap.c
index b5dc54492..7812add81 100644
--- a/layouts/community/tkl_ansi/talljoe-tkl/keymap.c
+++ b/layouts/community/tkl_ansi/talljoe-tkl/keymap.c
@@ -1,89 +1 @@
-#ifdef KEYBOARD_zeal60
-#include "config.h"
-#include "zeal60.h"
-#include "zeal_backlight.h"
-#include "action_layer.h"
-#include "solarized.h"
-#include "talljoe.h"
-
-// from zeal_backlight.c
-// we want to be able to set indicators for the spacebar stabs
-// but they are not represented by a row/index.
-extern zeal_backlight_config g_config;
-void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led );
-
-void set_backlight_defaults(void) {
- uint8_t space;
- uint8_t caps_lock;
- map_row_column_to_led(3, 12, &caps_lock);
- map_row_column_to_led(4, 7, &space);
- zeal_backlight_config default_values = {
- .use_split_backspace = USE_SPLIT_BACKSPACE,
- .use_split_left_shift = USE_SPLIT_LEFT_SHIFT,
- .use_split_right_shift = USE_SPLIT_RIGHT_SHIFT,
- .use_7u_spacebar = USE_7U_SPACEBAR,
- .use_iso_enter = USE_ISO_ENTER,
- .disable_when_usb_suspended = 1,
- .disable_after_timeout = 0,
- .brightness = 255,
- .effect = 10,
- .color_1 = solarized.base2,
- .color_2 = solarized.base02,
- .caps_lock_indicator = { .index = caps_lock, .color = solarized.red },
- .layer_1_indicator = { .index = space, .color = solarized.blue },
- .layer_2_indicator = { .index = space, .color = solarized.yellow },
- .layer_3_indicator = { .index = 254, .color = solarized.red },
- .alphas_mods = {
- BACKLIGHT_ALPHAS_MODS_ROW_0,
- BACKLIGHT_ALPHAS_MODS_ROW_1,
- BACKLIGHT_ALPHAS_MODS_ROW_2,
- BACKLIGHT_ALPHAS_MODS_ROW_3,
- BACKLIGHT_ALPHAS_MODS_ROW_4 }
- };
- memcpy(&g_config, &default_values, sizeof(zeal_backlight_config));
- backlight_config_save();
-
- solarized_t* S = &solarized;
- HSV alphas = S->base2;
- HSV custom_color_map[MATRIX_ROWS][MATRIX_COLS] = CM(
- S->red, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->red,
- S->orange, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->orange,
- S->green, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->green,
- S->blue, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, alphas, S->blue, S->blue,
- S->violet, S->magenta, S->yellow, alphas, S->yellow, S->magenta, S->violet, S->green
- );
- for (uint8_t row = 0; row < MATRIX_ROWS; ++row) {
- for (uint8_t col = 0; col < MATRIX_COLS; ++col) {
- backlight_set_key_color(row, col, custom_color_map[row][col]);
- }
- }
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
- static uint8_t last_effect;
- switch (keycode) {
- case DFAULTS:
- if (IS_PRESSED(record->event)) set_backlight_defaults();
- return false;
- case BL_TOGG:
- if (IS_PRESSED(record->event)) {
- if (g_config.effect) {
- last_effect = g_config.effect;
- g_config.effect = 0;
- } else {
- g_config.effect = last_effect;
- }
- }
- return false;
- case EFFECT...EFFECT_END:
- if (IS_PRESSED(record->event)) {
- uint8_t effect = keycode - EFFECT;
- g_config.effect = effect;
- backlight_config_save();
- }
- return false;
- }
-
- return true;
-}
-#endif
+// This space intentionally left blank
diff --git a/quantum/process_keycode/process_ucis.c b/quantum/process_keycode/process_ucis.c
index 380199771..8deb24a86 100644
--- a/quantum/process_keycode/process_ucis.c
+++ b/quantum/process_keycode/process_ucis.c
@@ -93,6 +93,8 @@ void register_ucis(const char *hex) {
}
bool process_ucis (uint16_t keycode, keyrecord_t *record) {
+ uint8_t i;
+
unicode_input_mode_init();
if (!qk_ucis_state.in_progress)
@@ -122,7 +124,7 @@ bool process_ucis (uint16_t keycode, keyrecord_t *record) {
if (keycode == KC_ENT || keycode == KC_SPC || keycode == KC_ESC) {
bool symbol_found = false;
- for (uint8_t i = qk_ucis_state.count; i > 0; i--) {
+ for (i = qk_ucis_state.count; i > 0; i--) {
register_code (KC_BSPC);
unregister_code (KC_BSPC);
wait_ms(UNICODE_TYPE_DELAY);
@@ -134,7 +136,7 @@ bool process_ucis (uint16_t keycode, keyrecord_t *record) {
}
unicode_input_start();
- for (uint8_t i = 0; ucis_symbol_table[i].symbol; i++) {
+ for (i = 0; ucis_symbol_table[i].symbol; i++) {
if (is_uni_seq (ucis_symbol_table[i].symbol)) {
symbol_found = true;
register_ucis(ucis_symbol_table[i].code + 2);
diff --git a/tmk_core/protocol/chibios/main.c b/tmk_core/protocol/chibios/main.c
index 6cceccd23..ee9571c95 100644
--- a/tmk_core/protocol/chibios/main.c
+++ b/tmk_core/protocol/chibios/main.c
@@ -75,7 +75,7 @@ host_driver_t chibios_driver = {
void virtser_task(void);
#endif
-#ifdef RAW_HID_ENABLE
+#ifdef RAW_ENABLE
void raw_hid_task(void);
#endif
@@ -220,7 +220,7 @@ int main(void) {
#ifdef VIRTSER_ENABLE
virtser_task();
#endif
-#ifdef RAW_HID_ENABLE
+#ifdef RAW_ENABLE
raw_hid_task();
#endif
}
diff --git a/users/talljoe/config.h b/users/talljoe/config.h
index 0d06a0b12..33374014d 100644
--- a/users/talljoe/config.h
+++ b/users/talljoe/config.h
@@ -5,4 +5,8 @@
#define RESET_LAYER 15
+#define BOOTMAGIC_KEY_SALT KC_ESC
+#define BOOTMAGIC_KEY_SKIP KC_I
+#define BOOTMAGIC_KEY_EEPROM_CLEAR KC_E
+
#endif // !USERSPACE_CONFIG_H
diff --git a/users/talljoe/rules.mk b/users/talljoe/rules.mk
index 0f1f6f26a..e0a71561f 100644
--- a/users/talljoe/rules.mk
+++ b/users/talljoe/rules.mk
@@ -5,3 +5,5 @@ EXTRAFLAGS+=-flto
TAP_DANCE_ENABLE=yes
CONSOLE_ENABLE=no
COMMAND_ENABLE=no
+DYNAMIC_KEYMAP_ENABLE=no
+BOOTMAGIC_ENABLE=full
diff --git a/users/talljoe/talljoe.c b/users/talljoe/talljoe.c
index 7a343e776..e72dc6c3e 100644
--- a/users/talljoe/talljoe.c
+++ b/users/talljoe/talljoe.c
@@ -1,13 +1,16 @@
#include QMK_KEYBOARD_H
#include "talljoe.h"
+#ifdef ZEAL_RGB
+#include "../../../keyboards/zeal60/rgb_backlight.h"
+#endif
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = TEMPLATE_TKL(
KC_ESC, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, MO_ADJ ,
US_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , US_BSLS, KC_INS , KC_HOME, KC_PGUP,
US_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T , KC_Y, KC_U, KC_I, KC_O, KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , KC_END , KC_PGDN,
- CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G , KC_H, KC_J, KC_K, KC_L, US_SCLN, US_QUOT, US_ENT ,
+ CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G , KC_H, KC_J, KC_K, KC_L, US_SCLN, KC_QUOT, US_ENT ,
SH_LBRC, KC_Z, KC_X, KC_C, KC_V, KC_B , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SH_RBRC, KC_UP ,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC2, KC_SPC1, KC_SPC3, KC_RALT, KC_RGUI, KC_RCTL, KC_PTT , KC_LEFT, KC_DOWN, KC_RGHT),
[_WORKMAN] = TEMPLATE(
@@ -52,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_PTT , KC_PGDN, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_PTT ),
#endif
[_NAV] = TEMPLATE_NAV(
- KC_GRV , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , XXXXXXX, XXXXXXX,
US_TAB , KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_INS , KC_PGUP, KC_UP , KC_PGDN, KC_BTN1, KC_BTN3, KC_BTN2, KC_DEL ,
CTL_ESC, KC_LCBR, KC_RCBR, KC_LPRN, KC_RPRN, KC_AMPR, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END , US_QUOT, TG_ADJ ,
KC_LSFT, KC_EQL, KC_PLUS, KC_MINS, KC_UNDS, KC_ASTR, KC_CALC, US_GRV , KC_WBAK, KC_WFWD, KC_WREF, KC_RSFT, KC_APP ,
@@ -65,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, NM_SPC2, NM_SPC1, NM_SPC3, KC_PDOT, KC_PCMM, KC_RCTL, KC_PTT ),
// Adjust layer is on the split-shift key; or NAV+Enter (for non-split keyboards)
[_ADJUST] = TEMPLATE_ADJUST(
- MO_RST , FX(1) , FX(2) , FX(3) , FX(4) , FX(5) , FX(8) , FX(9) , FX(10) , FX(20) , FX(0) , BR_DEC , BR_INC , XXXXXXX, MO_RST ,
+ MO_RST , FX(1) , FX(2) , FX(3) , FX(4) , FX(5) , FX(6) , FX(7) , FX(8) , FX(9) , FX(10) , BR_DEC , BR_INC , XXXXXXX, MO_RST ,
MO_RST , H1_INC , S1_INC , H2_INC , S2_INC , EF_INC , RGB_HUI, RGB_SAI, RGB_MOD, RGB_M_P, DFAULTS, RGB_VAD, RGB_VAI, MO_RST ,
XXXXXXX, H1_DEC , S1_DEC , H2_DEC , S2_DEC , EF_DEC , RGB_HUD, RGB_SAD, RGB_RMOD,RGB_M_K, RGB_M_B, RGB_M_G, TG_ADJ ,
TG_NKRO, LY_QWER, LY_WORK, LY_NRMN, LY_DVRK, LY_CLMK, XXXXXXX, LY_MALT, XXXXXXX, XXXXXXX, KC_MAKE, KC_CAPS, XXXXXXX,
@@ -101,7 +104,11 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
return true;
}
+#ifdef ZEAL_RGB
+extern backlight_config g_config;
+#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ static uint8_t last_effect;
#ifdef RGBLIGHT_ENABLE
static uint32_t savedRgbMode;
@@ -144,6 +151,27 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
+#ifdef ZEAL_RGB
+ case BL_TOGG:
+ if (IS_PRESSED(record->event)) {
+ if (g_config.effect) {
+ last_effect = g_config.effect;
+ g_config.effect = 0;
+ } else {
+ g_config.effect = last_effect;
+ }
+ }
+ return false;
+ case EFFECT...EFFECT_END:
+ if (IS_PRESSED(record->event)) {
+ uint8_t effect = keycode - EFFECT;
+ if(effect == g_config.effect)
+ effect = 0; // Toggle effect on second press
+ g_config.effect = effect;
+ backlight_config_save();
+ }
+ return false;
+#endif
}
return process_record_keymap(keycode, record);
}