mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-03 06:22:04 +00:00
Relocate remaining process_record_quantum
keycodes (#25328)
This commit is contained in:
parent
53c6fa5de7
commit
f096e5a3f3
@ -29,6 +29,8 @@ QUANTUM_SRC += \
|
|||||||
$(QUANTUM_DIR)/logging/debug.c \
|
$(QUANTUM_DIR)/logging/debug.c \
|
||||||
$(QUANTUM_DIR)/logging/sendchar.c \
|
$(QUANTUM_DIR)/logging/sendchar.c \
|
||||||
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
|
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
|
||||||
|
$(QUANTUM_DIR)/process_keycode/process_oneshot.c \
|
||||||
|
$(QUANTUM_DIR)/process_keycode/process_quantum.c \
|
||||||
|
|
||||||
include $(QUANTUM_DIR)/nvm/rules.mk
|
include $(QUANTUM_DIR)/nvm/rules.mk
|
||||||
|
|
||||||
|
25
quantum/process_keycode/process_oneshot.c
Normal file
25
quantum/process_keycode/process_oneshot.c
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright 2025 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "process_oneshot.h"
|
||||||
|
#include "action_util.h"
|
||||||
|
|
||||||
|
bool process_oneshot(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
#ifndef NO_ACTION_ONESHOT
|
||||||
|
if (record->event.pressed) {
|
||||||
|
switch (keycode) {
|
||||||
|
case QK_ONE_SHOT_TOGGLE:
|
||||||
|
oneshot_toggle();
|
||||||
|
return false;
|
||||||
|
case QK_ONE_SHOT_ON:
|
||||||
|
oneshot_enable();
|
||||||
|
return false;
|
||||||
|
case QK_ONE_SHOT_OFF:
|
||||||
|
oneshot_disable();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
10
quantum/process_keycode/process_oneshot.h
Normal file
10
quantum/process_keycode/process_oneshot.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2025 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "action.h"
|
||||||
|
|
||||||
|
bool process_oneshot(uint16_t keycode, keyrecord_t *record);
|
76
quantum/process_keycode/process_quantum.c
Normal file
76
quantum/process_keycode/process_quantum.c
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
// Copyright 2025 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "process_quantum.h"
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef ENABLE_COMPILE_KEYCODE
|
||||||
|
/** \brief Compiles the firmware, and adds the flash command based on keyboard bootloader
|
||||||
|
*/
|
||||||
|
static void send_make_command(void) {
|
||||||
|
# ifdef NO_ACTION_ONESHOT
|
||||||
|
const uint8_t temp_mod = mod_config(get_mods());
|
||||||
|
# else
|
||||||
|
const uint8_t temp_mod = mod_config(get_mods() | get_oneshot_mods());
|
||||||
|
clear_oneshot_mods();
|
||||||
|
# endif
|
||||||
|
clear_mods();
|
||||||
|
|
||||||
|
SEND_STRING_DELAY("qmk", TAP_CODE_DELAY);
|
||||||
|
if (temp_mod & MOD_MASK_SHIFT) { // if shift is held, flash rather than compile
|
||||||
|
SEND_STRING_DELAY(" flash ", TAP_CODE_DELAY);
|
||||||
|
} else {
|
||||||
|
SEND_STRING_DELAY(" compile ", TAP_CODE_DELAY);
|
||||||
|
}
|
||||||
|
# if defined(CONVERTER_ENABLED)
|
||||||
|
SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP " -e CONVERT_TO=" CONVERTER_TARGET SS_TAP(X_ENTER), TAP_CODE_DELAY);
|
||||||
|
# else
|
||||||
|
SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP SS_TAP(X_ENTER), TAP_CODE_DELAY);
|
||||||
|
# endif
|
||||||
|
if (temp_mod & MOD_MASK_SHIFT && temp_mod & MOD_MASK_CTRL) {
|
||||||
|
reset_keyboard();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool process_quantum(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
if (record->event.pressed) {
|
||||||
|
switch (keycode) {
|
||||||
|
#ifndef NO_RESET
|
||||||
|
case QK_BOOTLOADER:
|
||||||
|
reset_keyboard();
|
||||||
|
return false;
|
||||||
|
case QK_REBOOT:
|
||||||
|
soft_reset_keyboard();
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
#ifndef NO_DEBUG
|
||||||
|
case QK_DEBUG_TOGGLE:
|
||||||
|
debug_enable ^= 1;
|
||||||
|
if (debug_enable) {
|
||||||
|
print("DEBUG: enabled.\n");
|
||||||
|
} else {
|
||||||
|
print("DEBUG: disabled.\n");
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
case QK_CLEAR_EEPROM:
|
||||||
|
#ifdef NO_RESET
|
||||||
|
eeconfig_init();
|
||||||
|
#else
|
||||||
|
eeconfig_disable();
|
||||||
|
soft_reset_keyboard();
|
||||||
|
#endif
|
||||||
|
return false;
|
||||||
|
#ifdef ENABLE_COMPILE_KEYCODE
|
||||||
|
case QK_MAKE:
|
||||||
|
send_make_command();
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
10
quantum/process_keycode/process_quantum.h
Normal file
10
quantum/process_keycode/process_quantum.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2025 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "action.h"
|
||||||
|
|
||||||
|
bool process_quantum(uint16_t keycode, keyrecord_t *record);
|
@ -200,6 +200,11 @@ bool process_underglow(uint16_t keycode, keyrecord_t *record) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
|
#ifdef VELOCIKEY_ENABLE
|
||||||
|
case QK_VELOCIKEY_TOGGLE:
|
||||||
|
velocikey_toggle();
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
#include "process_quantum.h"
|
||||||
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
# include "process_backlight.h"
|
# include "process_backlight.h"
|
||||||
@ -84,6 +85,10 @@
|
|||||||
# include "process_layer_lock.h"
|
# include "process_layer_lock.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO_ACTION_ONESHOT
|
||||||
|
# include "process_oneshot.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
#ifdef AUDIO_ENABLE
|
||||||
# ifndef GOODBYE_SONG
|
# ifndef GOODBYE_SONG
|
||||||
# define GOODBYE_SONG SONG(GOODBYE_SOUND)
|
# define GOODBYE_SONG SONG(GOODBYE_SOUND)
|
||||||
@ -438,84 +443,12 @@ bool process_record_quantum(keyrecord_t *record) {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef CONNECTION_ENABLE
|
#ifdef CONNECTION_ENABLE
|
||||||
process_connection(keycode, record) &&
|
process_connection(keycode, record) &&
|
||||||
#endif
|
|
||||||
true)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (record->event.pressed) {
|
|
||||||
switch (keycode) {
|
|
||||||
#ifndef NO_RESET
|
|
||||||
case QK_BOOTLOADER:
|
|
||||||
reset_keyboard();
|
|
||||||
return false;
|
|
||||||
case QK_REBOOT:
|
|
||||||
soft_reset_keyboard();
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
#ifndef NO_DEBUG
|
|
||||||
case QK_DEBUG_TOGGLE:
|
|
||||||
debug_enable ^= 1;
|
|
||||||
if (debug_enable) {
|
|
||||||
print("DEBUG: enabled.\n");
|
|
||||||
} else {
|
|
||||||
print("DEBUG: disabled.\n");
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
case QK_CLEAR_EEPROM:
|
|
||||||
#ifdef NO_RESET
|
|
||||||
eeconfig_init();
|
|
||||||
#else
|
|
||||||
eeconfig_disable();
|
|
||||||
soft_reset_keyboard();
|
|
||||||
#endif
|
|
||||||
return false;
|
|
||||||
#ifdef VELOCIKEY_ENABLE
|
|
||||||
case QK_VELOCIKEY_TOGGLE:
|
|
||||||
velocikey_toggle();
|
|
||||||
return false;
|
|
||||||
#endif
|
#endif
|
||||||
#ifndef NO_ACTION_ONESHOT
|
#ifndef NO_ACTION_ONESHOT
|
||||||
case QK_ONE_SHOT_TOGGLE:
|
process_oneshot(keycode, record) &&
|
||||||
oneshot_toggle();
|
|
||||||
return false;
|
|
||||||
case QK_ONE_SHOT_ON:
|
|
||||||
oneshot_enable();
|
|
||||||
return false;
|
|
||||||
case QK_ONE_SHOT_OFF:
|
|
||||||
oneshot_disable();
|
|
||||||
return false;
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef ENABLE_COMPILE_KEYCODE
|
process_quantum(keycode, record))) {
|
||||||
case QK_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
|
return false;
|
||||||
{
|
|
||||||
# ifdef NO_ACTION_ONESHOT
|
|
||||||
const uint8_t temp_mod = mod_config(get_mods());
|
|
||||||
# else
|
|
||||||
const uint8_t temp_mod = mod_config(get_mods() | get_oneshot_mods());
|
|
||||||
clear_oneshot_mods();
|
|
||||||
# endif
|
|
||||||
clear_mods();
|
|
||||||
|
|
||||||
SEND_STRING_DELAY("qmk", TAP_CODE_DELAY);
|
|
||||||
if (temp_mod & MOD_MASK_SHIFT) { // if shift is held, flash rather than compile
|
|
||||||
SEND_STRING_DELAY(" flash ", TAP_CODE_DELAY);
|
|
||||||
} else {
|
|
||||||
SEND_STRING_DELAY(" compile ", TAP_CODE_DELAY);
|
|
||||||
}
|
|
||||||
# if defined(CONVERTER_ENABLED)
|
|
||||||
SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP " -e CONVERT_TO=" CONVERTER_TARGET SS_TAP(X_ENTER), TAP_CODE_DELAY);
|
|
||||||
# else
|
|
||||||
SEND_STRING_DELAY("-kb " QMK_KEYBOARD " -km " QMK_KEYMAP SS_TAP(X_ENTER), TAP_CODE_DELAY);
|
|
||||||
# endif
|
|
||||||
if (temp_mod & MOD_MASK_SHIFT && temp_mod & MOD_MASK_CTRL) {
|
|
||||||
reset_keyboard();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return process_action_kb(record);
|
return process_action_kb(record);
|
||||||
|
Loading…
Reference in New Issue
Block a user