aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builddefs/common_features.mk2
-rw-r--r--keyboards/pabile/p18/keyboard.json3
-rw-r--r--keyboards/pabile/p20/ver1/keyboard.json3
-rw-r--r--keyboards/pabile/p20/ver2/keyboard.json3
-rw-r--r--keyboards/pabile/p40/keyboard.json3
-rw-r--r--keyboards/pabile/p40_ortho/keyboard.json3
-rw-r--r--keyboards/pabile/p42/keyboard.json3
-rw-r--r--keyboards/peej/tripel/info.json3
-rw-r--r--keyboards/peranekofactory/tone/rev1/keyboard.json3
-rw-r--r--keyboards/peranekofactory/tone/rev2/keyboard.json3
-rw-r--r--keyboards/pica40/rev1/keyboard.json3
-rw-r--r--keyboards/pimentoso/paddino02/rev1/keyboard.json3
-rw-r--r--keyboards/pimentoso/paddino02/rev2/left/keyboard.json3
-rw-r--r--keyboards/pimentoso/paddino02/rev2/right/keyboard.json3
-rw-r--r--keyboards/pimentoso/touhoupad/keyboard.json3
-rw-r--r--keyboards/pinky/3/keyboard.json3
-rw-r--r--keyboards/pinky/4/keyboard.json3
-rw-r--r--keyboards/plum47/keyboard.json3
-rw-r--r--keyboards/psuieee/pluto12/keyboard.json3
-rw-r--r--keyboards/pteron36/keyboard.json3
-rw-r--r--keyboards/rainkeebs/rainkeeb/keyboard.json3
-rw-r--r--keyboards/rart/rart4x4/keyboard.json3
-rw-r--r--keyboards/rart/rart67m/keyboard.json3
-rw-r--r--keyboards/rart/rartlite/keyboard.json3
-rw-r--r--keyboards/rart/rartpad/keyboard.json3
-rw-r--r--keyboards/rate/pistachio_mp/keyboard.json3
-rw-r--r--keyboards/recompile_keys/choco60/rev1/keyboard.json3
-rw-r--r--keyboards/recompile_keys/cocoa40/keyboard.json3
-rw-r--r--keyboards/recompile_keys/nomu30/rev1/keyboard.json3
-rw-r--r--keyboards/rect44/keyboard.json3
-rw-r--r--keyboards/redox_media/keyboard.json3
-rwxr-xr-xkeyboards/reviung/reviung34/keyboard.json3
-rw-r--r--keyboards/reviung/reviung39/keyboard.json3
-rw-r--r--keyboards/reviung/reviung41/keyboard.json3
-rw-r--r--keyboards/reviung/reviung5/keyboard.json3
-rw-r--r--keyboards/reviung/reviung53/keyboard.json3
-rw-r--r--keyboards/rgbkb/zen/rev1/keyboard.json3
-rw-r--r--keyboards/rgbkb/zen/rev2/keyboard.json3
-rw-r--r--keyboards/rpiguy9907/southpaw66/keyboard.json3
-rw-r--r--keyboards/rura66/rev1/keyboard.json3
-rw-r--r--keyboards/ryanbaekr/rb1/keyboard.json3
-rw-r--r--quantum/process_keycode/process_oneshot.c25
-rw-r--r--quantum/process_keycode/process_oneshot.h10
-rw-r--r--quantum/process_keycode/process_quantum.c76
-rw-r--r--quantum/process_keycode/process_quantum.h10
-rw-r--r--quantum/process_keycode/process_underglow.c5
-rw-r--r--quantum/quantum.c95
-rw-r--r--quantum/quantum.h1
-rw-r--r--readme.md4
49 files changed, 185 insertions, 163 deletions
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index ca60873bec..90231c9a96 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -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
diff --git a/keyboards/pabile/p18/keyboard.json b/keyboards/pabile/p18/keyboard.json
index bf3380038a..12b7006680 100644
--- a/keyboards/pabile/p18/keyboard.json
+++ b/keyboards/pabile/p18/keyboard.json
@@ -27,8 +27,7 @@
{"pin_a": "F6", "pin_b": "F5"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pabile/p20/ver1/keyboard.json b/keyboards/pabile/p20/ver1/keyboard.json
index 3e3a16a6d9..2cc5fed1ee 100644
--- a/keyboards/pabile/p20/ver1/keyboard.json
+++ b/keyboards/pabile/p20/ver1/keyboard.json
@@ -22,8 +22,7 @@
{"pin_a": "F7", "pin_b": "B1"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/pabile/p20/ver2/keyboard.json b/keyboards/pabile/p20/ver2/keyboard.json
index cdacbf3aec..b82959af7a 100644
--- a/keyboards/pabile/p20/ver2/keyboard.json
+++ b/keyboards/pabile/p20/ver2/keyboard.json
@@ -15,8 +15,7 @@
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT_numpad_5x4": {
"layout": [
diff --git a/keyboards/pabile/p40/keyboard.json b/keyboards/pabile/p40/keyboard.json
index fbe4896687..de4eca82ac 100644
--- a/keyboards/pabile/p40/keyboard.json
+++ b/keyboards/pabile/p40/keyboard.json
@@ -20,8 +20,7 @@
"rows": ["F6", "B3", "B2", "B6"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"community_layouts": ["ortho_4x10"],
"layouts": {
"LAYOUT_ortho_4x10": {
diff --git a/keyboards/pabile/p40_ortho/keyboard.json b/keyboards/pabile/p40_ortho/keyboard.json
index 3e5d9ea504..838c58235c 100644
--- a/keyboards/pabile/p40_ortho/keyboard.json
+++ b/keyboards/pabile/p40_ortho/keyboard.json
@@ -19,8 +19,7 @@
"rows": ["D1", "D0", "F4", "F5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT_ortho_4x10": {
"layout": [
diff --git a/keyboards/pabile/p42/keyboard.json b/keyboards/pabile/p42/keyboard.json
index 42c8964332..8311becdfc 100644
--- a/keyboards/pabile/p42/keyboard.json
+++ b/keyboards/pabile/p42/keyboard.json
@@ -20,8 +20,7 @@
"rows": ["D1", "D0", "D4", "C6"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json
index 7a5c12461a..e716e20cfe 100644
--- a/keyboards/peej/tripel/info.json
+++ b/keyboards/peej/tripel/info.json
@@ -20,6 +20,5 @@
"rows": ["C6", "D4", "D0", "B4", "E6", "D7", "D1", "D2", "D3"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/peranekofactory/tone/rev1/keyboard.json b/keyboards/peranekofactory/tone/rev1/keyboard.json
index fb7b41b27a..9e9f7013c2 100644
--- a/keyboards/peranekofactory/tone/rev1/keyboard.json
+++ b/keyboards/peranekofactory/tone/rev1/keyboard.json
@@ -27,8 +27,7 @@
},
"tap_keycode_delay": 100
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"matrix_pins": {
"direct": [
["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"]
diff --git a/keyboards/peranekofactory/tone/rev2/keyboard.json b/keyboards/peranekofactory/tone/rev2/keyboard.json
index fb7b41b27a..9e9f7013c2 100644
--- a/keyboards/peranekofactory/tone/rev2/keyboard.json
+++ b/keyboards/peranekofactory/tone/rev2/keyboard.json
@@ -27,8 +27,7 @@
},
"tap_keycode_delay": 100
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"matrix_pins": {
"direct": [
["D4", "C6", "D7", "E6", "F6", "F7", "B1", "B3"]
diff --git a/keyboards/pica40/rev1/keyboard.json b/keyboards/pica40/rev1/keyboard.json
index 85c2221a13..a616a2e497 100644
--- a/keyboards/pica40/rev1/keyboard.json
+++ b/keyboards/pica40/rev1/keyboard.json
@@ -1,6 +1,5 @@
{
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["D2", "B5", "B4", "E6", "D7"],
diff --git a/keyboards/pimentoso/paddino02/rev1/keyboard.json b/keyboards/pimentoso/paddino02/rev1/keyboard.json
index b0fddff9d3..30ac2a9a06 100644
--- a/keyboards/pimentoso/paddino02/rev1/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev1/keyboard.json
@@ -24,8 +24,7 @@
"rows": ["D1", "D0", "D4"]
},
"diode_direction": "ROW2COL",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
index f89552220d..ff9687b2b1 100644
--- a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
@@ -24,8 +24,7 @@
"rows": ["D0", "D4", "D1"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
index 1148564a05..006eca8794 100644
--- a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
@@ -24,8 +24,7 @@
"rows": ["F4", "F6", "F5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pimentoso/touhoupad/keyboard.json b/keyboards/pimentoso/touhoupad/keyboard.json
index fed01eb5a6..5407d49e59 100644
--- a/keyboards/pimentoso/touhoupad/keyboard.json
+++ b/keyboards/pimentoso/touhoupad/keyboard.json
@@ -35,8 +35,7 @@
"rows": ["D4"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pinky/3/keyboard.json b/keyboards/pinky/3/keyboard.json
index f02b6c72d0..9ca44c26f3 100644
--- a/keyboards/pinky/3/keyboard.json
+++ b/keyboards/pinky/3/keyboard.json
@@ -17,8 +17,7 @@
"pin": "D2"
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT": "LAYOUT_split_3x7_4"
},
diff --git a/keyboards/pinky/4/keyboard.json b/keyboards/pinky/4/keyboard.json
index 68b1dcb14c..bc651638ac 100644
--- a/keyboards/pinky/4/keyboard.json
+++ b/keyboards/pinky/4/keyboard.json
@@ -17,8 +17,7 @@
"pin": "D2"
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT": "LAYOUT_split_4x7_4"
},
diff --git a/keyboards/plum47/keyboard.json b/keyboards/plum47/keyboard.json
index 2c6e009300..00efab2c28 100644
--- a/keyboards/plum47/keyboard.json
+++ b/keyboards/plum47/keyboard.json
@@ -2,7 +2,7 @@
"manufacturer": "Masayuki Takagi",
"keyboard_name": "plum47",
"maintainer": "awh-tokyo",
- "bootloader": "caterina",
+ "development_board": "promicro",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
@@ -14,7 +14,6 @@
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
"rows": ["D1", "D0", "D4", "C6"]
},
- "processor": "atmega32u4",
"url": "ihttps://github.com/takagi/plum47_buildguide",
"usb": {
"device_version": "1.0.0",
diff --git a/keyboards/psuieee/pluto12/keyboard.json b/keyboards/psuieee/pluto12/keyboard.json
index 02db5bc0a1..815c3b5949 100644
--- a/keyboards/psuieee/pluto12/keyboard.json
+++ b/keyboards/psuieee/pluto12/keyboard.json
@@ -31,8 +31,7 @@
{"pin_a": "B6", "pin_b": "B2"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/pteron36/keyboard.json b/keyboards/pteron36/keyboard.json
index 783e1e8db0..5daca888e9 100644
--- a/keyboards/pteron36/keyboard.json
+++ b/keyboards/pteron36/keyboard.json
@@ -54,8 +54,7 @@
"ws2812": {
"pin": "B6"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
diff --git a/keyboards/rainkeebs/rainkeeb/keyboard.json b/keyboards/rainkeebs/rainkeeb/keyboard.json
index 2d4a2ac5b9..b14ea45dde 100644
--- a/keyboards/rainkeebs/rainkeeb/keyboard.json
+++ b/keyboards/rainkeebs/rainkeeb/keyboard.json
@@ -32,8 +32,7 @@
{"pin_a": "B2", "pin_b": "B6"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rart/rart4x4/keyboard.json b/keyboards/rart/rart4x4/keyboard.json
index a18e4a4606..13d7ca3345 100644
--- a/keyboards/rart/rart4x4/keyboard.json
+++ b/keyboards/rart/rart4x4/keyboard.json
@@ -54,8 +54,7 @@
{"pin_a": "D7", "pin_b": "E6"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"community_layouts": ["ortho_4x4"],
"layouts": {
"LAYOUT_ortho_4x4": {
diff --git a/keyboards/rart/rart67m/keyboard.json b/keyboards/rart/rart67m/keyboard.json
index bade7834fd..a9ab73ce57 100644
--- a/keyboards/rart/rart67m/keyboard.json
+++ b/keyboards/rart/rart67m/keyboard.json
@@ -26,8 +26,7 @@
"rows": ["D3", "D2", "D4", "F6", "B3", "B4", "B2", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT_all": "LAYOUT"
},
diff --git a/keyboards/rart/rartlite/keyboard.json b/keyboards/rart/rartlite/keyboard.json
index df9180d622..48325bf391 100644
--- a/keyboards/rart/rartlite/keyboard.json
+++ b/keyboards/rart/rartlite/keyboard.json
@@ -29,8 +29,7 @@
"num_lock": "F6",
"on_state": 0
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT_right_numpad": {
"layout": [
diff --git a/keyboards/rart/rartpad/keyboard.json b/keyboards/rart/rartpad/keyboard.json
index cc3f7120d2..70195fc4bf 100644
--- a/keyboards/rart/rartpad/keyboard.json
+++ b/keyboards/rart/rartpad/keyboard.json
@@ -57,8 +57,7 @@
"twinkle": true
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"community_layouts": ["ortho_5x4", "numpad_5x4"],
"layouts": {
"LAYOUT_ortho_5x4": {
diff --git a/keyboards/rate/pistachio_mp/keyboard.json b/keyboards/rate/pistachio_mp/keyboard.json
index 71e3244523..cea6190b84 100644
--- a/keyboards/rate/pistachio_mp/keyboard.json
+++ b/keyboards/rate/pistachio_mp/keyboard.json
@@ -39,8 +39,7 @@
{"pin_a": "F4", "pin_b": "F5"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/recompile_keys/choco60/rev1/keyboard.json b/keyboards/recompile_keys/choco60/rev1/keyboard.json
index 4e5a8903bd..6c0b363011 100644
--- a/keyboards/recompile_keys/choco60/rev1/keyboard.json
+++ b/keyboards/recompile_keys/choco60/rev1/keyboard.json
@@ -19,6 +19,5 @@
"pin": "D3"
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json
index 9fad026ea7..a576e54551 100644
--- a/keyboards/recompile_keys/cocoa40/keyboard.json
+++ b/keyboards/recompile_keys/cocoa40/keyboard.json
@@ -28,8 +28,7 @@
"pin": "D2"
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/recompile_keys/nomu30/rev1/keyboard.json b/keyboards/recompile_keys/nomu30/rev1/keyboard.json
index 01afb9fe7d..8865eb0535 100644
--- a/keyboards/recompile_keys/nomu30/rev1/keyboard.json
+++ b/keyboards/recompile_keys/nomu30/rev1/keyboard.json
@@ -10,6 +10,5 @@
"rows": ["D1", "D0", "D4"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/rect44/keyboard.json b/keyboards/rect44/keyboard.json
index c863bec9a3..7e0202cde7 100644
--- a/keyboards/rect44/keyboard.json
+++ b/keyboards/rect44/keyboard.json
@@ -37,8 +37,7 @@
"rows": ["D3", "D2", "F5", "F4"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT_all": {
"layout": [
diff --git a/keyboards/redox_media/keyboard.json b/keyboards/redox_media/keyboard.json
index dba5657ea2..145d9116ca 100644
--- a/keyboards/redox_media/keyboard.json
+++ b/keyboards/redox_media/keyboard.json
@@ -36,8 +36,7 @@
"pin": "D0"
}
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/reviung/reviung34/keyboard.json b/keyboards/reviung/reviung34/keyboard.json
index 7495b7cc9d..d7e6fe422a 100755
--- a/keyboards/reviung/reviung34/keyboard.json
+++ b/keyboards/reviung/reviung34/keyboard.json
@@ -26,8 +26,7 @@
"rows": ["F4", "F5", "F6", "F7"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"community_layouts": [
"split_3x5_2"
],
diff --git a/keyboards/reviung/reviung39/keyboard.json b/keyboards/reviung/reviung39/keyboard.json
index e18c1c163e..b57100d1eb 100644
--- a/keyboards/reviung/reviung39/keyboard.json
+++ b/keyboards/reviung/reviung39/keyboard.json
@@ -49,8 +49,7 @@
"rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT_reviung39": "LAYOUT"
},
diff --git a/keyboards/reviung/reviung41/keyboard.json b/keyboards/reviung/reviung41/keyboard.json
index b44827c3d2..f0ad524da2 100644
--- a/keyboards/reviung/reviung41/keyboard.json
+++ b/keyboards/reviung/reviung41/keyboard.json
@@ -49,8 +49,7 @@
"rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT_reviung41": "LAYOUT"
},
diff --git a/keyboards/reviung/reviung5/keyboard.json b/keyboards/reviung/reviung5/keyboard.json
index 7e7101c0ab..014cbb288a 100644
--- a/keyboards/reviung/reviung5/keyboard.json
+++ b/keyboards/reviung/reviung5/keyboard.json
@@ -53,8 +53,7 @@
{"pin_a": "D0", "pin_b": "D1"}
]
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT_reviung5": "LAYOUT"
},
diff --git a/keyboards/reviung/reviung53/keyboard.json b/keyboards/reviung/reviung53/keyboard.json
index 15f896e7d4..0468912f82 100644
--- a/keyboards/reviung/reviung53/keyboard.json
+++ b/keyboards/reviung/reviung53/keyboard.json
@@ -47,8 +47,7 @@
"rows": ["D0", "D4", "C6", "D7", "E6", "B4", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layout_aliases": {
"LAYOUT_reviung53": "LAYOUT"
},
diff --git a/keyboards/rgbkb/zen/rev1/keyboard.json b/keyboards/rgbkb/zen/rev1/keyboard.json
index b35381f607..94164016bb 100644
--- a/keyboards/rgbkb/zen/rev1/keyboard.json
+++ b/keyboards/rgbkb/zen/rev1/keyboard.json
@@ -38,8 +38,7 @@
"ws2812": {
"pin": "D1"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rgbkb/zen/rev2/keyboard.json b/keyboards/rgbkb/zen/rev2/keyboard.json
index 917274f186..d34fd7afb1 100644
--- a/keyboards/rgbkb/zen/rev2/keyboard.json
+++ b/keyboards/rgbkb/zen/rev2/keyboard.json
@@ -56,8 +56,7 @@
"ws2812": {
"pin": "B6"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rpiguy9907/southpaw66/keyboard.json b/keyboards/rpiguy9907/southpaw66/keyboard.json
index c751ee6d8e..980d217806 100644
--- a/keyboards/rpiguy9907/southpaw66/keyboard.json
+++ b/keyboards/rpiguy9907/southpaw66/keyboard.json
@@ -35,8 +35,7 @@
"tapping": {
"term": 400
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/rura66/rev1/keyboard.json b/keyboards/rura66/rev1/keyboard.json
index cb9ad6f29a..3dc41aabd4 100644
--- a/keyboards/rura66/rev1/keyboard.json
+++ b/keyboards/rura66/rev1/keyboard.json
@@ -55,8 +55,7 @@
"ws2812": {
"pin": "D3"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/ryanbaekr/rb1/keyboard.json b/keyboards/ryanbaekr/rb1/keyboard.json
index a7222869e0..8b1b1a5a82 100644
--- a/keyboards/ryanbaekr/rb1/keyboard.json
+++ b/keyboards/ryanbaekr/rb1/keyboard.json
@@ -7,8 +7,7 @@
"pid": "0x0001",
"device_version": "0.0.3"
},
- "processor": "atmega32u4",
- "bootloader": "caterina",
+ "development_board": "promicro",
"features": {
"bootmagic": true,
"extrakey": true,
diff --git a/quantum/process_keycode/process_oneshot.c b/quantum/process_keycode/process_oneshot.c
new file mode 100644
index 0000000000..6c43da1011
--- /dev/null
+++ b/quantum/process_keycode/process_oneshot.c
@@ -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;
+}
diff --git a/quantum/process_keycode/process_oneshot.h b/quantum/process_keycode/process_oneshot.h
new file mode 100644
index 0000000000..11445b9b38
--- /dev/null
+++ b/quantum/process_keycode/process_oneshot.h
@@ -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);
diff --git a/quantum/process_keycode/process_quantum.c b/quantum/process_keycode/process_quantum.c
new file mode 100644
index 0000000000..703e00755b
--- /dev/null
+++ b/quantum/process_keycode/process_quantum.c
@@ -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;
+}
diff --git a/quantum/process_keycode/process_quantum.h b/quantum/process_keycode/process_quantum.h
new file mode 100644
index 0000000000..5c2462be01
--- /dev/null
+++ b/quantum/process_keycode/process_quantum.h
@@ -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);
diff --git a/quantum/process_keycode/process_underglow.c b/quantum/process_keycode/process_underglow.c
index b8d8989ef3..78006ee099 100644
--- a/quantum/process_keycode/process_underglow.c
+++ b/quantum/process_keycode/process_underglow.c
@@ -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
}
}
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 0bb6ee0a91..cc20c7db2b 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -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)
@@ -174,10 +179,6 @@ __attribute__((weak)) bool pre_process_record_user(uint16_t keycode, keyrecord_t
return true;
}
-__attribute__((weak)) bool process_action_kb(keyrecord_t *record) {
- return true;
-}
-
__attribute__((weak)) bool process_record_modules(uint16_t keycode, keyrecord_t *record) {
return true;
}
@@ -292,9 +293,10 @@ void post_process_record_quantum(keyrecord_t *record) {
post_process_record_kb(keycode, record);
}
-/* Core keycode function, hands off handling to other functions,
- then processes internal quantum keycodes, and then processes
- ACTIONs. */
+/** \brief Core keycode function
+ *
+ * Hands off handling to other quantum/process_keycode/ functions
+ */
bool process_record_quantum(keyrecord_t *record) {
uint16_t keycode = get_record_keycode(record, true);
@@ -439,85 +441,14 @@ bool process_record_quantum(keyrecord_t *record) {
#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");
- }
-#endif
- return false;
- 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();
- break;
- case QK_ONE_SHOT_ON:
- oneshot_enable();
- break;
- case QK_ONE_SHOT_OFF:
- oneshot_disable();
- break;
-#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();
- }
- }
+ process_oneshot(keycode, record) &&
#endif
- }
+ process_quantum(keycode, record))) {
+ return false;
}
- return process_action_kb(record);
+ return true;
}
void set_single_default_layer(uint8_t default_layer) {
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 3a994e9a03..0036cd784b 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -263,7 +263,6 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache);
bool pre_process_record_quantum(keyrecord_t *record);
bool pre_process_record_kb(uint16_t keycode, keyrecord_t *record);
bool pre_process_record_user(uint16_t keycode, keyrecord_t *record);
-bool process_action_kb(keyrecord_t *record);
bool process_record_kb(uint16_t keycode, keyrecord_t *record);
bool process_record_user(uint16_t keycode, keyrecord_t *record);
void post_process_record_kb(uint16_t keycode, keyrecord_t *record);
diff --git a/readme.md b/readme.md
index 62aed12066..e5c0d41b7b 100644
--- a/readme.md
+++ b/readme.md
@@ -1,3 +1,7 @@
+# THIS IS THE DEVELOP BRANCH
+
+Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information.
+
# Quantum Mechanical Keyboard Firmware
[![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)