mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-02 22:12:05 +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/sendchar.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
|
||||
|
||||
|
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
|
||||
return false;
|
||||
#ifdef VELOCIKEY_ENABLE
|
||||
case QK_VELOCIKEY_TOGGLE:
|
||||
velocikey_toggle();
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include "process_quantum.h"
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
# include "process_backlight.h"
|
||||
@ -84,6 +85,10 @@
|
||||
# include "process_layer_lock.h"
|
||||
#endif
|
||||
|
||||
#ifndef NO_ACTION_ONESHOT
|
||||
# include "process_oneshot.h"
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
# ifndef GOODBYE_SONG
|
||||
# define GOODBYE_SONG SONG(GOODBYE_SOUND)
|
||||
@ -438,84 +443,12 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
#endif
|
||||
#ifdef CONNECTION_ENABLE
|
||||
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
|
||||
#ifndef NO_ACTION_ONESHOT
|
||||
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;
|
||||
process_oneshot(keycode, record) &&
|
||||
#endif
|
||||
#ifdef ENABLE_COMPILE_KEYCODE
|
||||
case QK_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
|
||||
{
|
||||
# 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
|
||||
}
|
||||
process_quantum(keycode, record))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return process_action_kb(record);
|
||||
|
Loading…
Reference in New Issue
Block a user