From 1c9d0f0eec614a20cbf88c20c448ebfe69414ca8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 19 Jun 2023 08:33:45 +1000 Subject: Remove default `TAPPING_TERM` from keyboard config.h (#21284) --- keyboards/input_club/ergodox_infinity/config.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index 6d642e5d45..bc51d6ed4e 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -25,8 +25,6 @@ along with this program. If not, see . #define TAPPING_TOGGLE 1 -#define TAPPING_TERM 200 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ -- cgit v1.2.3 From 416af0171c6433a7ecb198386dd2c3ac70d4cbd2 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 24 Jun 2023 05:31:25 +1000 Subject: Remove CORTEX_ENABLE_WFI_IDLE from keyboards. (#21353) * Remove CORTEX_ENABLE_WFI_IDLE from the codebase. * Turn on CORTEX_ENABLE_WFI_IDLE by default. --- keyboards/input_club/infinity60/rules.mk | 2 -- keyboards/input_club/k_type/rules.mk | 2 -- keyboards/input_club/whitefox/rules.mk | 2 -- 3 files changed, 6 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/infinity60/rules.mk b/keyboards/input_club/infinity60/rules.mk index e47069dac9..5f885e1194 100644 --- a/keyboards/input_club/infinity60/rules.mk +++ b/keyboards/input_club/infinity60/rules.mk @@ -13,5 +13,3 @@ AUDIO_ENABLE = no # Audio output DEFAULT_FOLDER = input_club/infinity60/led -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/input_club/k_type/rules.mk b/keyboards/input_club/k_type/rules.mk index 450eb9a023..d7776bb755 100644 --- a/keyboards/input_club/k_type/rules.mk +++ b/keyboards/input_club/k_type/rules.mk @@ -18,5 +18,3 @@ RGB_MATRIX_ENABLE = no SRC += k_type-rgbdriver.c QUANTUM_LIB_SRC += i2c_master.c is31fl3733-dual.c -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/input_club/whitefox/rules.mk b/keyboards/input_club/whitefox/rules.mk index 9b9b2ed739..821041ea83 100644 --- a/keyboards/input_club/whitefox/rules.mk +++ b/keyboards/input_club/whitefox/rules.mk @@ -12,5 +12,3 @@ AUDIO_ENABLE = no # Audio output LED_MATRIX_ENABLE = yes -# Enter lower-power sleep mode when on the ChibiOS idle thread -OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -- cgit v1.2.3 From 8093b13365864ec96192265242a9da44c36db798 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 24 Jun 2023 17:10:22 +1000 Subject: Move `TAPPING_TOGGLE` to data driven (#21360) --- keyboards/input_club/ergodox_infinity/config.h | 2 -- keyboards/input_club/ergodox_infinity/info.json | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/ergodox_infinity/config.h b/keyboards/input_club/ergodox_infinity/config.h index bc51d6ed4e..7db6119a1c 100644 --- a/keyboards/input_club/ergodox_infinity/config.h +++ b/keyboards/input_club/ergodox_infinity/config.h @@ -23,8 +23,6 @@ along with this program. If not, see . #define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 -#define TAPPING_TOGGLE 1 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json index ca6aa92b5d..e3e0399bed 100644 --- a/keyboards/input_club/ergodox_infinity/info.json +++ b/keyboards/input_club/ergodox_infinity/info.json @@ -17,6 +17,9 @@ "processor": "MK20DX256", "bootloader": "kiibohd", "board": "IC_TEENSY_3_1", + "tapping": { + "toggle": 1 + }, "community_layouts": ["ergodox"], "layouts": { "LAYOUT_ergodox": { -- cgit v1.2.3 From 9ab16e62f75dc6228549ec0aba00ec0704bbc779 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 3 Jul 2023 04:35:41 +1000 Subject: Get rid of `USB_LED_NUM_LOCK` (#21424) --- keyboards/input_club/infinity60/led.c | 52 +++++++++++++----------- keyboards/input_club/infinity60/led_controller.c | 5 ++- 2 files changed, 31 insertions(+), 26 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/infinity60/led.c b/keyboards/input_club/infinity60/led.c index 8effcea81a..33871bcc49 100644 --- a/keyboards/input_club/infinity60/led.c +++ b/keyboards/input_club/infinity60/led.c @@ -26,29 +26,33 @@ along with this program. If not, see . * both regular threads and ISRs, unlocked (during resume-from-sleep). * In particular, I2C functions (interrupt-driven) should NOT be called from here. */ -void led_set(uint8_t usb_led) { - msg_t msg; - - if (usb_led & (1< Date: Sun, 16 Jul 2023 23:42:56 +1000 Subject: quantum: remove direct `quantum.h` includes (#21507) --- keyboards/input_club/k_type/k_type-rgbdriver.c | 3 +-- keyboards/input_club/k_type/keymaps/default/keymap.c | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c index e663c224c4..6529f98201 100644 --- a/keyboards/input_club/k_type/k_type-rgbdriver.c +++ b/keyboards/input_club/k_type/k_type-rgbdriver.c @@ -19,8 +19,7 @@ #include "rgb_matrix.h" #include "i2c_master.h" #include "is31fl3733-dual.h" - - +#include "gpio.h" static void init(void) { i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); diff --git a/keyboards/input_club/k_type/keymaps/default/keymap.c b/keyboards/input_club/k_type/keymaps/default/keymap.c index 790bd93290..452791b13a 100644 --- a/keyboards/input_club/k_type/keymaps/default/keymap.c +++ b/keyboards/input_club/k_type/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -- cgit v1.2.3 From 571b8bac826b12d7b837df8bf8bd8d2787f934b8 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jul 2023 15:25:00 +1000 Subject: LED Matrix: driver naming cleanups (#21580) --- keyboards/input_club/ergodox_infinity/info.json | 2 +- keyboards/input_club/whitefox/info.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/ergodox_infinity/info.json b/keyboards/input_club/ergodox_infinity/info.json index e3e0399bed..d69aeb5d0c 100644 --- a/keyboards/input_club/ergodox_infinity/info.json +++ b/keyboards/input_club/ergodox_infinity/info.json @@ -7,7 +7,7 @@ "device_version": "0.0.1" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["D1", "D4", "D5", "D6", "D7"], diff --git a/keyboards/input_club/whitefox/info.json b/keyboards/input_club/whitefox/info.json index 02dd975752..cb578e99b4 100644 --- a/keyboards/input_club/whitefox/info.json +++ b/keyboards/input_club/whitefox/info.json @@ -8,7 +8,7 @@ "device_version": "0.0.1" }, "led_matrix": { - "driver": "IS31FL3731" + "driver": "is31fl3731" }, "matrix_pins": { "cols": ["B2", "B3", "B18", "B19", "C0", "C8", "C9", "C10", "C11"], -- cgit v1.2.3 From 37bc9499453f95e4e835faa751dbfffff9bfd644 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 23 Aug 2023 10:00:03 +1000 Subject: RGB Matrix: driver naming cleanups (#21594) --- keyboards/input_club/k_type/is31fl3733-dual.c | 52 +++++++++++++------------- keyboards/input_club/k_type/is31fl3733-dual.h | 16 ++++---- keyboards/input_club/k_type/k_type-rgbdriver.c | 18 ++++----- 3 files changed, 43 insertions(+), 43 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c index 3898016875..2dec2b0a26 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.c +++ b/keyboards/input_club/k_type/is31fl3733-dual.c @@ -65,7 +65,7 @@ uint8_t g_twi_transfer_buffer[20]; // The control buffers match the PG0 LED On/Off registers. // Storing them like this is optimal for I2C transfers to the registers. // We could optimize this and take out the unused registers from these -// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's +// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's // probably not worth the extra complexity. uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; @@ -73,7 +73,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; -bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { +bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { // If the transaction fails function returns false. g_twi_transfer_buffer[0] = reg; g_twi_transfer_buffer[1] = data; @@ -92,7 +92,7 @@ bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t return true; } -bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { +bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { // Assumes PG1 is already selected. // If any of the transactions fails function returns false. // Transmit PWM registers in 12 transfers of 16 bytes. @@ -123,7 +123,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffe return true; } -void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { +void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { // In order to avoid the LEDs being driven with garbage data // in the LED driver's PWM registers, shutdown is enabled last. // Set up the mode and other settings, clear the PWM registers, @@ -131,35 +131,35 @@ void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { // Sync is passed so set it according to the datasheet. // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG0 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); // Turn off all LEDs. for (int i = 0x00; i <= 0x17; i++) { - IS31FL3733_write_register(bus, addr, i, 0x00); + is31fl3733_write_register(bus, addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG1 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // Set PWM on all LEDs to 0 // No need to setup Breath registers to PWM as that is the default. for (int i = 0x00; i <= 0xBF; i++) { - IS31FL3733_write_register(bus, addr, i, 0x00); + is31fl3733_write_register(bus, addr, i, 0x00); } // Unlock the command register. - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); // Select PG3 - IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); + is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); // Set global current to maximum. - IS31FL3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF); + is31fl3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF); // Disable software shutdown. - IS31FL3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01); + is31fl3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01); // Wait 10ms to ensure the device has woken up. wait_ms(10); } -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { is31_led led = g_is31_leds[index]; @@ -170,13 +170,13 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { } } -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - IS31FL3733_set_color(i, red, green, blue); + is31fl3733_set_color(i, red, green, blue); } } -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { is31_led led = g_is31_leds[index]; uint8_t control_register_r = led.r / 8; @@ -205,28 +205,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) { if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1. - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); // If any of the transactions fail we risk writing dirty PG0, // refresh page 0 just in case. - if (!IS31FL3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { + if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { g_led_control_registers_update_required[index] = true; } } g_pwm_buffer_update_required[index] = false; } -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) { if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3733_write_register(index, addr, i, g_led_control_registers[index][i]); + is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]); } } g_led_control_registers_update_required[index] = false; diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h index 16586714b8..1becefbf93 100644 --- a/keyboards/input_club/k_type/is31fl3733-dual.h +++ b/keyboards/input_club/k_type/is31fl3733-dual.h @@ -31,21 +31,21 @@ typedef struct is31_led { extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; -void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync); -bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); -bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); +void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync); +bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); +bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); -void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); -void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); +void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); // This should not be called from an interrupt // (eg. from a timer interrupt). // Call this while idle (in between matrix scans). // If the buffer is dirty, it will update the driver with the buffer. -void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index -void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); +void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index +void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index); #define A_1 0x00 #define A_2 0x01 diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c index 6529f98201..dc5d4abd67 100644 --- a/keyboards/input_club/k_type/k_type-rgbdriver.c +++ b/keyboards/input_club/k_type/k_type-rgbdriver.c @@ -23,34 +23,34 @@ static void init(void) { i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); - IS31FL3733_init(0, DRIVER_ADDR_1, 0); + is31fl3733_init(0, DRIVER_ADDR_1, 0); # ifdef USE_I2C2 i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN); - IS31FL3733_init(1, DRIVER_ADDR_2, 0); + is31fl3733_init(1, DRIVER_ADDR_2, 0); # endif for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { bool enabled = true; // This only caches it for later - IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); + is31fl3733_set_led_control_register(index, enabled, enabled, enabled); } - IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); + is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0); # ifdef USE_I2C2 - IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); + is31fl3733_update_led_control_registers(DRIVER_ADDR_2, 1); # endif } static void flush(void) { - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0); # ifdef USE_I2C2 - IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); + is31fl3733_update_pwm_buffers(DRIVER_ADDR_2, 1); # endif } const rgb_matrix_driver_t rgb_matrix_driver = { .init = init, .flush = flush, - .set_color = IS31FL3733_set_color, - .set_color_all = IS31FL3733_set_color_all, + .set_color = is31fl3733_set_color, + .set_color_all = is31fl3733_set_color_all, }; #endif -- cgit v1.2.3 From 66b744b63b6328a206f9ab463b4acb44002e4bb0 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sun, 27 Aug 2023 16:51:19 +1000 Subject: Clean up Unicode API usage in user keymaps (#21849) --- .../ergodox_infinity/keymaps/not-quite-neo/keymap.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'keyboards/input_club') diff --git a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c index a345e075d9..a49fe882ea 100644 --- a/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c +++ b/keyboards/input_club/ergodox_infinity/keymaps/not-quite-neo/keymap.c @@ -21,11 +21,6 @@ A layout based on neo2 #endif #define LEADER_TIMEOUT 300 -#define TAP_ONCE(code) \ - register_code (code); \ - unregister_code (code) - - // Automatic number generation of important keywords enum my_keycodes{ // Layer numbers follow the neo2 terminology, i.e. base layer = layer 1 @@ -257,22 +252,11 @@ L06 -> : UNSPECIFIED void leader_end_user(void) { if (leader_sequence_one_key(KC_1)) { - // ¯\_(ツ)_/¯ - unicode_input_start(); register_hex(0xaf); unicode_input_finish(); - register_code (KC_RALT); TAP_ONCE (KC_MINS); unregister_code (KC_RALT); - register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_9); TAP_ONCE(KC_7); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0xaf); unicode_input_finish(); + send_unicode_string("¯\\_(ツ)_/¯"); } if (leader_sequence_one_key(KC_2)) { - // 凸(ツ)凸 - unicode_input_start(); register_hex(0x51F8); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_9); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x51F8); unicode_input_finish(); + send_unicode_string("凸(ツ)凸"); } } -- cgit v1.2.3