summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builddefs/bootloader.mk4
-rw-r--r--data/mappings/info_config.json4
-rw-r--r--data/mappings/info_rules.json2
-rw-r--r--data/schemas/keyboard.jsonschema5
-rw-r--r--docs/config_options.md6
-rw-r--r--docs/feature_encoders.md14
-rw-r--r--docs/feature_pointing_device.md10
-rw-r--r--drivers/sensors/cirque_pinnacle.c8
-rw-r--r--drivers/sensors/cirque_pinnacle.h1
-rw-r--r--drivers/sensors/cirque_pinnacle_i2c.c10
-rw-r--r--drivers/sensors/cirque_pinnacle_spi.c10
-rw-r--r--drivers/sensors/pimoroni_trackball.c21
-rw-r--r--drivers/sensors/pmw33xx_common.c13
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/mjt/config.h3
-rw-r--r--keyboards/40percentclub/mf68/keymaps/68keys/config.h4
-rw-r--r--keyboards/40percentclub/mf68/keymaps/delivrance/config.h4
-rw-r--r--keyboards/adpenrose/shisaku/info.json1
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h2
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h2
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/config.h2
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/config.h2
-rw-r--r--keyboards/dz60/keymaps/LEdiodes/config.h45
-rw-r--r--keyboards/gh60/satan/keymaps/admiralStrokers/config.h86
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/config.h51
-rw-r--r--keyboards/gh60/satan/keymaps/fakb/config.h74
-rw-r--r--keyboards/gray_studio/space65/keymaps/madhatter/config.h2
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/config.h136
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk2
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/config.h140
-rw-r--r--keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk2
-rw-r--r--keyboards/hhkb/ansi/keymaps/cinaeco/config.h14
-rw-r--r--keyboards/hhkb/ansi/keymaps/mjt/config.h70
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/config.h6
-rw-r--r--keyboards/karlb/kbic65/info.json1
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h4
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h4
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h5
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/tucznak/config.h4
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h4
-rw-r--r--keyboards/keebio/bamfk4/info.json1
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/config.h6
-rw-r--r--keyboards/keebio/iris/keymaps/pvinis/config.h2
-rw-r--r--keyboards/keebio/iris/keymaps/xyverz/config.h28
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna/config.h2
-rw-r--r--keyboards/kegen/gboy/info.json3
-rw-r--r--keyboards/keyhive/ut472/keymaps/tucznak/config.h4
-rw-r--r--keyboards/massdrop/alt/config.h2
-rw-r--r--keyboards/massdrop/alt/info.json3
-rw-r--r--keyboards/massdrop/ctrl/config.h2
-rw-r--r--keyboards/massdrop/ctrl/info.json3
-rw-r--r--keyboards/moonlander/keymaps/jjerrell/config.h2
-rw-r--r--keyboards/nacly/splitreus62/keymaps/scheiklp/config.h31
-rw-r--r--keyboards/orthodox/keymaps/drashna/config.h4
-rw-r--r--keyboards/planck/keymaps/handwired_binaryplease/config.h4
-rw-r--r--keyboards/preonic/keymaps/kinesis/config.h78
-rw-r--r--keyboards/preonic/keymaps/zach/config.h82
-rw-r--r--keyboards/primekb/prime_e/keymaps/madhatter/config.h2
-rw-r--r--keyboards/sofle/keymaps/flare576/config.h2
-rw-r--r--keyboards/tanuki/keymaps/tucznak/config.h11
-rw-r--r--keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h2
-rw-r--r--keyboards/xiudi/xd75/keymaps/mtdjr/config.h3
-rw-r--r--keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h25
-rw-r--r--layouts/community/ergodox/drashna/config.h2
-rw-r--r--layouts/community/ergodox/jjerrell/config.h2
-rw-r--r--layouts/community/ergodox/meagerfindings/config.h4
-rw-r--r--layouts/community/numpad_5x6/drashna/config.h2
-rw-r--r--layouts/community/ortho_4x12/drashna/config.h6
-rw-r--r--layouts/community/ortho_4x12/jjerrell/config.h2
-rw-r--r--layouts/community/split_3x6_3/bbaserdem/config.h4
-rw-r--r--layouts/community/split_3x6_3/drashna/config.h4
-rwxr-xr-xlib/python/qmk/cli/generate/config_h.py3
-rw-r--r--lib/python/qmk/info.py2
-rw-r--r--lib/python/qmk/tests/test_cli_commands.py4
-rw-r--r--platforms/avr/flash.mk4
-rw-r--r--quantum/encoder.c8
-rw-r--r--quantum/pointing_device/pointing_device.c8
-rw-r--r--quantum/pointing_device/pointing_device_drivers.c22
-rw-r--r--quantum/pointing_device_internal.h14
-rw-r--r--quantum/util.h3
-rw-r--r--readme.md4
-rw-r--r--tmk_core/protocol/usb_descriptor.c12
-rw-r--r--tmk_core/protocol/vusb/vusb.c12
-rw-r--r--tmk_core/protocol/vusb/vusb.h2
-rw-r--r--users/spidey3/config.h2
86 files changed, 202 insertions, 1008 deletions
diff --git a/builddefs/bootloader.mk b/builddefs/bootloader.mk
index 9f55536423..31004cab98 100644
--- a/builddefs/bootloader.mk
+++ b/builddefs/bootloader.mk
@@ -116,13 +116,13 @@ ifeq ($(strip $(BOOTLOADER)), caterina)
BOOTLOADER_SIZE = 4096
endif
-ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID))
+ifeq ($(strip $(BOOTLOADER)), bootloadhid)
OPT_DEFS += -DBOOTLOADER_BOOTLOADHID
BOOTLOADER_TYPE = bootloadhid
BOOTLOADER_SIZE = 4096
endif
-ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp))
+ifeq ($(strip $(BOOTLOADER)), usbasploader)
OPT_DEFS += -DBOOTLOADER_USBASP
BOOTLOADER_TYPE = usbasploader
diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json
index 582b5149ea..d0f67f4e3a 100644
--- a/data/mappings/info_config.json
+++ b/data/mappings/info_config.json
@@ -40,7 +40,7 @@
"LED_COMPOSE_PIN": {"info_key": "indicators.compose"},
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
- "MANUFACTURER": {"info_key": "manufacturer"},
+ "MANUFACTURER": {"info_key": "manufacturer", "value_type": "str"},
"MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"},
"MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"},
"MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"},
@@ -78,7 +78,7 @@
"RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"},
"RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"},
"RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"},
- "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false},
+ "PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str"},
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"},
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
"QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json
index 3f140277fe..87a4b795b6 100644
--- a/data/mappings/info_rules.json
+++ b/data/mappings/info_rules.json
@@ -12,7 +12,7 @@
# replace_with: use with a key marked deprecated or invalid to designate a replacement
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
- "BLUETOOTH": {"info_key": "bluetooth.driver"},
+ "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
"CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},
"ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 0308f45116..e425d13dd8 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -75,8 +75,7 @@
"driver": {
"type": "string",
"enum": ["BluefruitLE", "RN42"]
- },
- "lto": {"type": "boolean"}
+ }
}
},
"board": {
@@ -89,7 +88,6 @@
"enum": [
"atmel-dfu",
"bootloadhid",
- "bootloadHID",
"caterina",
"custom",
"gd32v-dfu",
@@ -106,7 +104,6 @@
"tinyuf2",
"unknown",
"usbasploader",
- "USBasp",
"wb32-dfu"
]
},
diff --git a/docs/config_options.md b/docs/config_options.md
index 3e011a5cc9..05e27a835c 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -39,11 +39,11 @@ This is a C header file that is one of the first things included, and will persi
* defines your VID, and for most DIY projects, can be whatever you want
* `#define PRODUCT_ID 0x5678`
* defines your PID, and for most DIY projects, can be whatever you want
-* `#define DEVICE_VER 0`
+* `#define DEVICE_VER 0x0100`
* defines the device version (often used for revisions)
-* `#define MANUFACTURER Me`
+* `#define MANUFACTURER "Me"`
* generally who/whatever brand produced the board
-* `#define PRODUCT Board`
+* `#define PRODUCT "Board"`
* the name of the keyboard
* `#define MATRIX_ROWS 5`
* the number of rows in your keyboard's matrix
diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md
index fdde03ac23..f93ab9fd2d 100644
--- a/docs/feature_encoders.md
+++ b/docs/feature_encoders.md
@@ -88,6 +88,14 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
```
+Using encoder mapping pumps events through the normal QMK keycode processing pipeline, resulting in a _keydown/keyup_ combination pushed through `process_record_xxxxx()`. To configure the amount of time between the encoder "keyup" and "keydown", you can add the following to your `config.h`:
+
+```c
+#define ENCODER_MAP_KEY_DELAY 10
+```
+
+?> By default, the encoder map delay matches the value of `TAP_CODE_DELAY`.
+
## Callbacks
When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`:
@@ -119,7 +127,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
```
-!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up.
+!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up.
Layer conditions can also be used with the callback function like the following:
@@ -172,7 +180,7 @@ The A an B lines of the encoders should be wired directly to the MCU, and the C/
Multiple encoders may share pins so long as each encoder has a distinct pair of pins when the following conditions are met:
- using detent encoders
- pads must be high at the detent stability point which is called 'default position' in QMK
-- no more than two encoders sharing a pin can be turned at the same time
+- no more than two encoders sharing a pin can be turned at the same time
For example you can support two encoders using only 3 pins like this
```
@@ -185,4 +193,4 @@ You could even support three encoders using only three pins (one per encoder) ho
#define ENCODERS_PAD_A { B1, B1, B2 }
#define ENCODERS_PAD_B { B2, B3, B3 }
```
-Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case
+Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case
diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md
index 999dd1272d..afc57ed493 100644
--- a/docs/feature_pointing_device.md
+++ b/docs/feature_pointing_device.md
@@ -487,3 +487,13 @@ report_mouse_t pointing_device_task_combined_user(report_mouse_t left_report, re
return pointing_device_combine_reports(left_report, right_report);
}
```
+
+# Troubleshooting
+
+If you are having issues with pointing device drivers debug messages can be enabled that will give you insights in the inner workings. To enable these add to your keyboards `config.h` file:
+
+```c
+#define POINTING_DEVICE_DEBUG
+```
+
+?> The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](faq_debug.md).
diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c
index 8bd4eb736e..4aed5fe67a 100644
--- a/drivers/sensors/cirque_pinnacle.c
+++ b/drivers/sensors/cirque_pinnacle.c
@@ -4,8 +4,6 @@
// refer to documentation: Gen2 and Gen3 (Pinnacle ASIC) at https://www.cirque.com/documentation
#include "cirque_pinnacle.h"
-#include "print.h"
-#include "debug.h"
#include "wait.h"
#include "timer.h"
@@ -27,12 +25,6 @@ void cirque_pinnacle_enable_feed(bool feedEnable);
void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count);
void RAP_Write(uint8_t address, uint8_t data);
-#ifdef CONSOLE_ENABLE
-void print_byte(uint8_t byte) {
- xprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0'));
-}
-#endif
-
#if CIRQUE_PINNACLE_POSITION_MODE
/* Logical Scaling Functions */
// Clips raw coordinates to "reachable" window of sensor
diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h
index fa06e047f2..8717b32991 100644
--- a/drivers/sensors/cirque_pinnacle.h
+++ b/drivers/sensors/cirque_pinnacle.h
@@ -5,6 +5,7 @@
#include "cirque_pinnacle_regdefs.h"
#include <stdint.h>
#include <stdbool.h>
+#include "pointing_device_internal.h"
#ifndef CIRQUE_PINNACLE_TIMEOUT
# define CIRQUE_PINNACLE_TIMEOUT 20 // I2C timeout in milliseconds
diff --git a/drivers/sensors/cirque_pinnacle_i2c.c b/drivers/sensors/cirque_pinnacle_i2c.c
index b328dd9a7a..3c11e5f079 100644
--- a/drivers/sensors/cirque_pinnacle_i2c.c
+++ b/drivers/sensors/cirque_pinnacle_i2c.c
@@ -1,8 +1,6 @@
// Copyright (c) 2018 Cirque Corp. Restrictions apply. See: www.cirque.com/sw-license
#include "cirque_pinnacle.h"
#include "i2c_master.h"
-#include "print.h"
-#include "debug.h"
#include "stdio.h"
// Masks for Cirque Register Access Protocol (RAP)
@@ -18,9 +16,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) {
if (touchpad_init) {
i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, NULL, 0, CIRQUE_PINNACLE_TIMEOUT);
if (i2c_readReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, data, count, CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
-#ifdef CONSOLE_ENABLE
- dprintf("error cirque_pinnacle i2c_readReg\n");
-#endif
+ pd_dprintf("error cirque_pinnacle i2c_readReg\n");
touchpad_init = false;
}
i2c_stop();
@@ -33,9 +29,7 @@ void RAP_Write(uint8_t address, uint8_t data) {
if (touchpad_init) {
if (i2c_writeReg(CIRQUE_PINNACLE_ADDR << 1, cmdByte, &data, sizeof(data), CIRQUE_PINNACLE_TIMEOUT) != I2C_STATUS_SUCCESS) {
-#ifdef CONSOLE_ENABLE
- dprintf("error cirque_pinnacle i2c_writeReg\n");
-#endif
+ pd_dprintf("error cirque_pinnacle i2c_writeReg\n");
touchpad_init = false;
}
i2c_stop();
diff --git a/drivers/sensors/cirque_pinnacle_spi.c b/drivers/sensors/cirque_pinnacle_spi.c
index bd980fc863..5cb39aebb0 100644
--- a/drivers/sensors/cirque_pinnacle_spi.c
+++ b/drivers/sensors/cirque_pinnacle_spi.c
@@ -1,8 +1,6 @@
// Copyright (c) 2018 Cirque Corp. Restrictions apply. See: www.cirque.com/sw-license
#include "cirque_pinnacle.h"
#include "spi_master.h"
-#include "print.h"
-#include "debug.h"
// Masks for Cirque Register Access Protocol (RAP)
#define WRITE_MASK 0x80
@@ -24,9 +22,7 @@ void RAP_ReadBytes(uint8_t address, uint8_t* data, uint8_t count) {
data[i] = spi_write(FILLER_BYTE); // write filler, receive data on the third filler send
}
} else {
-#ifdef CONSOLE_ENABLE
- dprintf("error cirque_pinnacle spi_start read\n");
-#endif
+ pd_dprintf("error cirque_pinnacle spi_start read\n");
touchpad_init = false;
}
spi_stop();
@@ -42,9 +38,7 @@ void RAP_Write(uint8_t address, uint8_t data) {
spi_write(cmdByte);
spi_write(data);
} else {
-#ifdef CONSOLE_ENABLE
- dprintf("error cirque_pinnacle spi_start write\n");
-#endif
+ pd_dprintf("error cirque_pinnacle spi_start write\n");
touchpad_init = false;
}
spi_stop();
diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c
index 88a351316b..326e59744f 100644
--- a/drivers/sensors/pimoroni_trackball.c
+++ b/drivers/sensors/pimoroni_trackball.c
@@ -14,10 +14,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+#include "pointing_device_internal.h"
#include "pimoroni_trackball.h"
#include "i2c_master.h"
-#include "print.h"
-#include "debug.h"
#include "timer.h"
// clang-format off
@@ -58,20 +58,17 @@ void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
uint8_t data[4] = {r, g, b, w};
__attribute__((unused)) i2c_status_t status = i2c_writeReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LED_RED, data, sizeof(data), PIMORONI_TRACKBALL_TIMEOUT);
-#ifdef CONSOLE_ENABLE
- if (debug_mouse) dprintf("Trackball RGBW i2c_status_t: %d\n", status);
-#endif
+ pd_dprintf("Trackball RGBW i2c_status_t: %d\n", status);
}
i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) {
i2c_status_t status = i2c_readReg(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT);
-#ifdef CONSOLE_ENABLE
- if (debug_mouse) {
- static uint16_t d_timer;
- if (timer_elapsed(d_timer) > PIMORONI_TRACKBALL_DEBUG_INTERVAL) {
- dprintf("Trackball READ i2c_status_t: %d L: %d R: %d Up: %d D: %d SW: %d\n", status, data->left, data->right, data->up, data->down, data->click);
- d_timer = timer_read();
- }
+
+#ifdef POINTING_DEVICE_DEBUG
+ static uint16_t d_timer;
+ if (timer_elapsed(d_timer) > PIMORONI_TRACKBALL_DEBUG_INTERVAL) {
+ pd_dprintf("Trackball READ i2c_status_t: %d L: %d R: %d Up: %d D: %d SW: %d\n", status, data->left, data->right, data->up, data->down, data->click);
+ d_timer = timer_read();
}
#endif
diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c
index 13164cb150..4993cc2d34 100644
--- a/drivers/sensors/pmw33xx_common.c
+++ b/drivers/sensors/pmw33xx_common.c
@@ -7,9 +7,8 @@
// Copyright 2020 Ploopy Corporation
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "debug.h"
+#include "pointing_device_internal.h"
#include "pmw33xx_common.h"
-#include "print.h"
#include "string.h"
#include "wait.h"
#include "spi_master.h"
@@ -154,7 +153,7 @@ bool pmw33xx_init(uint8_t sensor) {
pmw33xx_read(sensor, REG_Delta_Y_H);
if (!pmw33xx_upload_firmware(sensor)) {
- dprintf("PMW33XX (%d): firmware upload failed!\n", sensor);
+ pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor);
return false;
}
@@ -170,7 +169,7 @@ bool pmw33xx_init(uint8_t sensor) {
pmw33xx_write(sensor, REG_Lift_Config, PMW33XX_LIFTOFF_DISTANCE);
if (!pmw33xx_check_signature(sensor)) {
- dprintf("PMW33XX (%d): firmware signature verification failed!\n", sensor);
+ pd_dprintf("PMW33XX (%d): firmware signature verification failed!\n", sensor);
return false;
}
@@ -185,7 +184,7 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) {
}
if (!in_burst[sensor]) {
- dprintf("PMW33XX (%d): burst\n", sensor);
+ pd_dprintf("PMW33XX (%d): burst\n", sensor);
if (!pmw33xx_write(sensor, REG_Motion_Burst, 0x00)) {
return report;
}
@@ -208,9 +207,7 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) {
spi_stop();
- if (debug_config.mouse) {
- dprintf("PMW33XX (%d): motion: 0x%x dx: %i dy: %i\n", sensor, report.motion.w, report.delta_x, report.delta_y);
- }
+ pd_dprintf("PMW33XX (%d): motion: 0x%x dx: %i dy: %i\n", sensor, report.motion.w, report.delta_x, report.delta_y);
report.delta_x *= -1;
report.delta_y *= -1;
diff --git a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
index ce9d5ab2ae..5a295a06ca 100644
--- a/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
+++ b/keyboards/40percentclub/gherkin/keymaps/mjt/config.h
@@ -1,5 +1,4 @@
#pragma once
-/* USB Device descriptor parameter */
#undef MANUFACTURER
-#define MANUFACTURER Some Guy
+#define MANUFACTURER "Some Guy"
diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/config.h b/keyboards/40percentclub/mf68/keymaps/68keys/config.h
index 651c17069d..66e7bbed99 100644
--- a/keyboards/40percentclub/mf68/keymaps/68keys/config.h
+++ b/keyboards/40percentclub/mf68/keymaps/68keys/config.h
@@ -9,5 +9,5 @@
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0A0C
#define DEVICE_VER 0x0068
-#define MANUFACTURER 68Keys.io
-#define PRODUCT The 68Keys.io Keyboard
+#define MANUFACTURER "68Keys.io"
+#define PRODUCT "The 68Keys.io Keyboard"
diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h
index 7ae8805765..50c64b4b51 100644
--- a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h
+++ b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h
@@ -21,10 +21,10 @@
#pragma once
#undef MANUFACTURER
-#define MANUFACTURER Dan
+#define MANUFACTURER "Dan"
#undef PRODUCT
-#define PRODUCT Magicforce 68 QMK
+#define PRODUCT "Magicforce 68 QMK"
#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 20
diff --git a/keyboards/adpenrose/shisaku/info.json b/keyboards/adpenrose/shisaku/info.json
index 6f765ba648..a93898c33b 100644
--- a/keyboards/adpenrose/shisaku/info.json
+++ b/keyboards/adpenrose/shisaku/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "shisaku",
+ "manufacturer": "ADPenrose",
"url": "https://github.com/ADPenrose/shisaku_keeb",
"maintainer": "ADPenrose",
"usb": {
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
index 39204a3667..f3e8f83b2a 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/drashna/config.h
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#undef PRODUCT
-#define PRODUCT Charybdis Nano (Blackpill)
+#define PRODUCT "Charybdis Nano (Blackpill)"
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS \
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h b/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h
index 122627e88f..9ff01f7e84 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h
+++ b/keyboards/bpiphany/pegasushoof/keymaps/citadel/config.h
@@ -3,4 +3,4 @@
/* overridden settings: */
#undef PRODUCT
-#define PRODUCT Pegasus Hoof Citadel
+#define PRODUCT "Pegasus Hoof Citadel"
diff --git a/keyboards/crkbd/keymaps/julian_turner/config.h b/keyboards/crkbd/keymaps/julian_turner/config.h
index cf3e80b23e..fbe5277c40 100644
--- a/keyboards/crkbd/keymaps/julian_turner/config.h
+++ b/keyboards/crkbd/keymaps/julian_turner/config.h
@@ -17,7 +17,7 @@
#pragma once
#undef MANUFACTURER
-#define MANUFACTURER Trner
+#define MANUFACTURER "Trner"
/* Select hand configuration */
#define MASTER_LEFT
diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h
index 2801436709..fefb8eb0ee 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/config.h
+++ b/keyboards/crkbd/keymaps/kidbrazil/config.h
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 150
#undef PRODUCT
-#define PRODUCT CRKBD Loose Transistor Ed.
+#define PRODUCT "CRKBD Loose Transistor Ed."
#ifdef RGBLIGHT_ENABLE
//#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h
index 994aef314e..fd53b57c68 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/config.h
+++ b/keyboards/crkbd/keymaps/rpbaptist/config.h
@@ -131,7 +131,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_ONESHOT
#undef PRODUCT
-#define PRODUCT Corne Keyboard
+#define PRODUCT "Corne Keyboard"
#define LCPC_KEYS KC_LCTL, KC_LSFT, KC_9
#define RCPC_KEYS KC_RCTL, KC_RSFT, KC_0
diff --git a/keyboards/dz60/keymaps/LEdiodes/config.h b/keyboards/dz60/keymaps/LEdiodes/config.h
index e5ead20c12..bb6c5c55e4 100644
--- a/keyboards/dz60/keymaps/LEdiodes/config.h
+++ b/keyboards/dz60/keymaps/LEdiodes/config.h
@@ -1,48 +1,5 @@
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x2260
-#define DEVICE_VER 0x0001
-#define MANUFACTURER KBDFans
-#define PRODUCT DZ60
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-#define BACKLIGHT_PIN B6
-#define BACKLIGHT_LEVELS 5
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-#define RGB_DI_PIN E2
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 16
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+#pragma once
/* sets 'Auto Shift' timeouts */
#define AUTO_SHIFT_TIMEOUT 150
#define NO_AUTO_SHIFT_SPECIAL
-
-#endif
diff --git a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
index 5bb9bd59a8..60c6ad4a12 100644
--- a/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
+++ b/keyboards/gh60/satan/keymaps/admiralStrokers/config.h
@@ -1,87 +1,3 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H_ADMSTROK
-#define CONFIG_H_ADMSTROK
-
-#include "config_common.h"
-#include "../../config.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER SATAN
-#define PRODUCT GH60
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-
-#define BACKLIGHT_PIN B6
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* Backlight configuration */
-#define BACKLIGHT_LEVELS 4
-
-/* Underlight configuration */
-#define RGB_DI_PIN E2
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 8 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
+#pragma once
#define DISABLE_SPACE_CADET_ROLLOVER
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/config.h b/keyboards/gh60/satan/keymaps/ben_iso/config.h
index e59015dcbd..34add12727 100644
--- a/keyboards/gh60/satan/keymaps/ben_iso/config.h
+++ b/keyboards/gh60/satan/keymaps/ben_iso/config.h
@@ -1,57 +1,8 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H_BEN
-#define CONFIG_H_BEN
-
-#include "config_common.h"
-#include "../../config.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER SATAN
-#define PRODUCT GH60
+#pragma once
/*MOUSE CONFIG OPTIONS */
-
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 45
#define MOUSEKEY_MAX_SPEED 3
#define MOUSEKEY_WHEEL_DELAY 0
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/gh60/satan/keymaps/fakb/config.h b/keyboards/gh60/satan/keymaps/fakb/config.h
index 720b359c1e..f7314a8671 100644
--- a/keyboards/gh60/satan/keymaps/fakb/config.h
+++ b/keyboards/gh60/satan/keymaps/fakb/config.h
@@ -1,76 +1,9 @@
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0003
-#define MANUFACTURER SATAN
-#define PRODUCT GH60
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-// ROWS: Top to bottom, COLS: Left to right
-
-#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
-#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 }
-
-#define BACKLIGHT_PIN B6
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/* Backlight configuration
- */
+#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 8
-/* Underlight configuration
- */
-
-#define RGB_DI_PIN E2
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 8 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
#define NO_ACTION_ONESHOT
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-#endif
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 1
@@ -79,8 +12,5 @@
#define MOUSEKEY_WHEEL_MAX_SPEED 1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
-// only change
#undef RGB_DI_PIN
#define RGB_DI_PIN B2
-
-#endif
diff --git a/keyboards/gray_studio/space65/keymaps/madhatter/config.h b/keyboards/gray_studio/space65/keymaps/madhatter/config.h
index e297ebedc5..b591b6d76f 100644
--- a/keyboards/gray_studio/space65/keymaps/madhatter/config.h
+++ b/keyboards/gray_studio/space65/keymaps/madhatter/config.h
@@ -1,4 +1,4 @@
#pragma once
#undef PRODUCT
-#define PRODUCT MadHatter\x27s Custom Spacc
+#define PRODUCT "MadHatter's Custom Spacc"
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
index 1f07965555..0bff14a28d 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/config.h
@@ -15,137 +15,25 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
+#undef VENDOR_ID
+#undef PRODUCT_ID
+#undef DEVICE_VER
+#undef MANUFACTURER
+#undef PRODUCT
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x4097
#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT Arrow Pad 21
+#define MANUFACTURER "Nobody"
+#define PRODUCT "Arrow Pad 21"
-/* key matrix size */
+#undef MATRIX_ROWS
+#undef MATRIX_COLS
#define MATRIX_ROWS 2
#define MATRIX_COLS 11
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
+#undef MATRIX_ROW_PINS
+#undef MATRIX_COL_PINS
#define MATRIX_ROW_PINS { D3, D5 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D4 }
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
index 6fae940a50..d3e5864916 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk
@@ -10,5 +10,3 @@ 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.
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
index 4bc89f5ce7..3f9997b380 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/config.h
@@ -15,139 +15,15 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
+#undef VENDOR_ID
+#undef PRODUCT_ID
+#undef DEVICE_VER
+#undef MANUFACTURER
+#undef PRODUCT
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x4096
#define DEVICE_VER 0x0001
-#define MANUFACTURER Nobody
-#define PRODUCT Arrow Pad 24
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 4
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, F7 }
-#define MATRIX_COL_PINS { B0, B1, B2, B3 }
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
+#define MANUFACTURER "Nobody"
+#define PRODUCT "Arrow Pad 24"
diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
index 1cf01b79e4..d7fdd82dfe 100644
--- a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
+++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk
@@ -10,5 +10,3 @@ 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.
-
-CONFIG_H = keymaps/$(KEYMAP)/config.h \ No newline at end of file
diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h b/keyboards/hhkb/ansi/keymaps/cinaeco/config.h
index 1c714deca4..ed660722c2 100644
--- a/keyboards/hhkb/ansi/keymaps/cinaeco/config.h
+++ b/keyboards/hhkb/ansi/keymaps/cinaeco/config.h
@@ -1,18 +1,10 @@
-#ifndef CONFIG_CINAECO_H
-#define CONFIG_CINAECO_H
-
-#include "../../config.h"
+#pragma once
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER QMK
-#define PRODUCT HHKB QMK cinaeco
+#define MANUFACTURER "QMK"
+#define PRODUCT "HHKB QMK cinaeco"
// Increase "Tap" detection window. Avoid missing 'q' or 'z' when typing slowly.
#undef TAPPING_TERM
#define TAPPING_TERM 230
-
-// Uncomment to enable NKRO by default. May cause issues with KVM switches.
-//#define FORCE_NKRO
-
-#endif
diff --git a/keyboards/hhkb/ansi/keymaps/mjt/config.h b/keyboards/hhkb/ansi/keymaps/mjt/config.h
index b98ec52311..41d1557c6f 100644
--- a/keyboards/hhkb/ansi/keymaps/mjt/config.h
+++ b/keyboards/hhkb/ansi/keymaps/mjt/config.h
@@ -1,71 +1,3 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xCAFE
-#define DEVICE_VER 0x0104
-#define MANUFACTURER q.m.k
-#define PRODUCT HHKB mod
-
-/* key matrix size */
-#ifdef HHKB_JP
-# define MATRIX_ROWS 16
-#else
-# define MATRIX_ROWS 8
-#endif
-#define MATRIX_COLS 8
-
-#define TAPPING_TERM 200
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
+#pragma once
#define USB_MAX_POWER_CONSUMPTION 50
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
-*/
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/hhkb/ansi/keymaps/shela/config.h b/keyboards/hhkb/ansi/keymaps/shela/config.h
index 25794900c3..db66659165 100644
--- a/keyboards/hhkb/ansi/keymaps/shela/config.h
+++ b/keyboards/hhkb/ansi/keymaps/shela/config.h
@@ -16,8 +16,6 @@
#pragma once
-#include "../../config.h"
-
/* USB Device descriptor parameter */
#undef VENDOR_ID
#define VENDOR_ID 0x0853
@@ -26,9 +24,9 @@
#undef DEVICE_VER
#define DEVICE_VER 0x0102
#undef MANUFACTURER
-#define MANUFACTURER Topre Corporation
+#define MANUFACTURER "Topre Corporation"
#undef PRODUCT
-#define PRODUCT HHKB Professional
+#define PRODUCT "HHKB Professional"
#undef TAPPING_TERM
#define TAPPING_TERM 210
diff --git a/keyboards/karlb/kbic65/info.json b/keyboards/karlb/kbic65/info.json
index d572a92fc2..2d9d7ab037 100644
--- a/keyboards/karlb/kbic65/info.json
+++ b/keyboards/karlb/kbic65/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "KBIC65",
+ "manufacturer": "b-karl",
"url": "https://karlb.eu/kbic65/",
"maintainer": "b-karl",
"diode_direction": "ROW2COL",
diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h
index bf28016ea4..798dd7b297 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h
+++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/madhatter/config.h
@@ -17,4 +17,4 @@
#pragma once
#undef PRODUCT
-#define PRODUCT MadHatter\x27s Hotswap Kbd67 rev1
+#define PRODUCT "MadHatter's Hotswap Kbd67 rev1"
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h
index 911051c31a..f6aa35176a 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/droxx/config.h
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef PRODUCT
#define VENDOR_ID 0xAF88
-#define MANUFACTURER Droxx-FurFuzz
-#define PRODUCT Carbon v2 4rk
+#define MANUFACTURER "Droxx-FurFuzz"
+#define PRODUCT "Carbon v2 4rk"
/* force N key rollover even on startup regardless of EEPROM setting */
#define FORCE_NKRO
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h
index e387c84b2f..234a44ae70 100644
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h
+++ b/keyboards/kbdfans/kbd67/rev2/keymaps/tucznak/config.h
@@ -3,8 +3,8 @@
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER Potato Inc.
-#define PRODUCT Qt3.14
+#define MANUFACTURER "Potato Inc."
+#define PRODUCT "Qt3.14"
/* send tap key if no layer key was used even after tap delay */
#define TAPPING_TERM 50
diff --git a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h
index 73bb22aea4..0b28746081 100644
--- a/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h
+++ b/keyboards/kbdfans/kbd75/keymaps/noroadsleft/config.h
@@ -16,11 +16,6 @@
#pragma once
-#undef MANUFACTURER
-#undef PRODUCT
-#define MANUFACTURER KBDfans
-#define PRODUCT KBD75 rev1
-
#define BACKLIGHT_BREATHING
#define ANSI_NUBS_ROW 4
diff --git a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h b/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h
index a5578b235f..dd05076444 100644
--- a/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h
+++ b/keyboards/kbdfans/kbd75/keymaps/tucznak/config.h
@@ -3,8 +3,8 @@
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER Potato Inc.
-#define PRODUCT Qt3.14
+#define MANUFACTURER "Potato Inc."
+#define PRODUCT "Qt3.14"
/* send tap key if no layer key was used even after tap delay */
#define TAPPING_TERM 250
diff --git a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h
index 429955b3a0..cfcda1bf7d 100644
--- a/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h
+++ b/keyboards/kbdfans/niu_mini/keymaps/tucznak/config.h
@@ -3,8 +3,8 @@
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER Potato Inc.
-#define PRODUCT Qt3.14
+#define MANUFACTURER "Potato Inc."
+#define PRODUCT "Qt3.14"
/* turn off RGB when computer sleeps */
#ifdef RGB_DI_PIN
diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json
index 1d04f4348b..0704d0e1d2 100644
--- a/keyboards/keebio/bamfk4/info.json
+++ b/keyboards/keebio/bamfk4/info.json
@@ -1,5 +1,6 @@
{
"keyboard_name": "BAMFK-4",
+ "manufacturer": "Keebio",
"url": "https://keeb.io",
"maintainer": "nooges",
"usb": {
diff --git a/keyboards/keebio/iris/keymaps/drashna/config.h b/keyboards/keebio/iris/keymaps/drashna/config.h
index cf67aa6984..0569f30744 100644
--- a/keyboards/keebio/iris/keymaps/drashna/config.h
+++ b/keyboards/keebio/iris/keymaps/drashna/config.h
@@ -51,11 +51,11 @@
#undef PRODUCT
#if defined(KEYBOARD_keebio_iris_rev2)
-# define PRODUCT Drashna Hacked Iris Rev 2
+# define PRODUCT "Drashna Hacked Iris Rev 2"
#elif defined(KEYBOARD_keebio_iris_rev3)
-# define PRODUCT Drashna Hacked Iris Rev 3
+# define PRODUCT "Drashna Hacked Iris Rev 3"
#elif defined(KEYBOARD_keebio_iris_rev4)
-# define PRODUCT Drashna Hacked Iris Rev 4
+# define PRODUCT "Drashna Hacked Iris Rev 4"
#endif
#define SHFT_LED1 6
diff --git a/keyboards/keebio/iris/keymaps/pvinis/config.h b/keyboards/keebio/iris/keymaps/pvinis/config.h
index c2870eba0b..19925d3a91 100644
--- a/keyboards/keebio/iris/keymaps/pvinis/config.h
+++ b/keyboards/keebio/iris/keymaps/pvinis/config.h
@@ -2,7 +2,7 @@
#ifdef PRODUCT
# undef PRODUCT
-# define PRODUCT Iris Keyboard - pvinis
+# define PRODUCT "Iris Keyboard - pvinis"
#endif
// Use I2C or Serial, not both.
diff --git a/keyboards/keebio/iris/keymaps/xyverz/config.h b/keyboards/keebio/iris/keymaps/xyverz/config.h
index d3fc22ca76..fab8591844 100644
--- a/keyboards/keebio/iris/keymaps/xyverz/config.h
+++ b/keyboards/keebio/iris/keymaps/xyverz/config.h
@@ -1,33 +1,13 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "config_common.h"
+#pragma once
#define USE_SERIAL
#define EE_HANDS
#undef PRODUCT
-#define PRODUCT Iris Keyboard
+#define PRODUCT "Iris Keyboard"
#undef MANUFACTURER
-#define MANUFACTURER Ian Sterling
+#define MANUFACTURER "Ian Sterling"
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
@@ -35,5 +15,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
-
-#endif
diff --git a/keyboards/keebio/viterbi/keymaps/drashna/config.h b/keyboards/keebio/viterbi/keymaps/drashna/config.h
index 2decb3b3e9..cd640ec8d5 100644
--- a/keyboards/keebio/viterbi/keymaps/drashna/config.h
+++ b/keyboards/keebio/viterbi/keymaps/drashna/config.h
@@ -31,7 +31,7 @@
#endif // RGBLIGHT_ENABLE
#undef PRODUCT
-#define PRODUCT Drashnas Viterbi Macro Pad
+#define PRODUCT "Drashnas Viterbi Macro Pad"
#ifdef AUDIO_ENABLE
# define AUDIO_PIN C6
diff --git a/keyboards/kegen/gboy/info.json b/keyboards/kegen/gboy/info.json
index 059dafd89b..ad274c1957 100644
--- a/keyboards/kegen/gboy/info.json
+++ b/keyboards/kegen/gboy/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "Kegen G-Boy",
+ "keyboard_name": "G-Boy",
+ "manufacturer": "Kegen",
"url": "",
"maintainer": "@mattchan",
"usb": {
diff --git a/keyboards/keyhive/ut472/keymaps/tucznak/config.h b/keyboards/keyhive/ut472/keymaps/tucznak/config.h
index b3d402337a..bc3587f542 100644
--- a/keyboards/keyhive/ut472/keymaps/tucznak/config.h
+++ b/keyboards/keyhive/ut472/keymaps/tucznak/config.h
@@ -3,8 +3,8 @@
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER Potato Inc.
-#define PRODUCT Qt3.14
+#define MANUFACTURER "Potato Inc."
+#define PRODUCT "Qt3.14"
/* turn off RGB when computer sleeps */
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h
index 2a3b5b3311..364e8325b1 100644
--- a/keyboards/massdrop/alt/config.h
+++ b/keyboards/massdrop/alt/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define MANUFACTURER "Massdrop Inc."
-#define PRODUCT "ALT Keyboard"
#define SERIAL_NUM "Unavailable"
/* key matrix size */
diff --git a/keyboards/massdrop/alt/info.json b/keyboards/massdrop/alt/info.json
index 909ca8904a..6e87648d95 100644
--- a/keyboards/massdrop/alt/info.json
+++ b/keyboards/massdrop/alt/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "ALT",
+ "keyboard_name": "ALT Keyboard",
+ "manufacturer": "Massdrop Inc.",
"url": "https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard",
"maintainer": "Massdrop",
"usb": {
diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h
index 8b8625e700..77967e17d3 100644
--- a/keyboards/massdrop/ctrl/config.h
+++ b/keyboards/massdrop/ctrl/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define MANUFACTURER "Massdrop Inc."
-#define PRODUCT "CTRL Keyboard"
#define SERIAL_NUM "Unavailable"
/* key matrix size */
diff --git a/keyboards/massdrop/ctrl/info.json b/keyboards/massdrop/ctrl/info.json
index 7d0810c630..34c60ca088 100644
--- a/keyboards/massdrop/ctrl/info.json
+++ b/keyboards/massdrop/ctrl/info.json
@@ -1,5 +1,6 @@
{
- "keyboard_name": "CTRL",
+ "keyboard_name": "CTRL Keyboard",
+ "manufacturer": "Massdrop Inc.",
"url": "https://www.massdrop.com/buy/massdrop-ctrl-mechanical-keyboard",
"maintainer": "Massdrop",
"usb": {
diff --git a/keyboards/moonlander/keymaps/jjerrell/config.h b/keyboards/moonlander/keymaps/jjerrell/config.h
index 1fd17fbbe3..aa4bf3885e 100644
--- a/keyboards/moonlander/keymaps/jjerrell/config.h
+++ b/keyboards/moonlander/keymaps/jjerrell/config.h
@@ -22,6 +22,6 @@
#define ORYX_CONFIGURATOR
#undef PRODUCT
-#define PRODUCT Moonlander Mark I - Modified by <@jjerrell>
+#define PRODUCT "Moonlander Mark I - Modified by <@jjerrell>"
#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h b/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h
index 04af418d8f..da8287df64 100644
--- a/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h
+++ b/keyboards/nacly/splitreus62/keymaps/scheiklp/config.h
@@ -18,37 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEEF
-#define PRODUCT_ID 0xFED0
-#define DEVICE_VER 0x0001
-#define MANUFACTURER NaCly
-#define PRODUCT Splitreus62
-
-/* key matrix size */
-// Rows are doubled-up
-#define MATRIX_ROWS 12
-#define MATRIX_COLS 6
-
-// wiring of each half
-#define MATRIX_ROW_PINS { D3, D2, D1, D4, C6, D7 }
-#define MATRIX_COL_PINS { E6, B4, B5, B6, B2, B3 }
-
-#define DIODE_DIRECTION ROW2COL
-
-#define SPLIT_HAND_PIN F4
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* serial.c configuration for split keyboard */
-#define SOFT_SERIAL_PIN D0
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
#define AUTO_SHIFT_TIMEOUT 100
#define NO_AUTO_SHIFT_SPECIAL
#define NO_AUTO_SHIFT_NUMERIC
diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h
index e3a89bce6a..caa69821a0 100644
--- a/keyboards/orthodox/keymaps/drashna/config.h
+++ b/keyboards/orthodox/keymaps/drashna/config.h
@@ -58,9 +58,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef PRODUCT
#ifdef KEYBOARD_orthodox_rev1
-# define PRODUCT Drashna Hacked Orthodox Rev .1
+# define PRODUCT "Drashna Hacked Orthodox Rev .1"
#elif KEYBOARD_orthodox_rev3
-# define PRODUCT Drashna Hacked Orthodox Rev .3
+# define PRODUCT "Drashna Hacked Orthodox Rev .3"
#endif
#define QMK_ESC_OUTPUT D7 // usually COL
diff --git a/keyboards/planck/keymaps/handwired_binaryplease/config.h b/keyboards/planck/keymaps/handwired_binaryplease/config.h
index abf9f5771f..065bc2d688 100644
--- a/keyboards/planck/keymaps/handwired_binaryplease/config.h
+++ b/keyboards/planck/keymaps/handwired_binaryplease/config.h
@@ -1,9 +1,9 @@
#pragma once
#undef MANUFACTURER
-#define MANUFACTURER binaryplease
+#define MANUFACTURER "binaryplease"
#undef PRODUCT
-#define PRODUCT Teensy_Planck
+#define PRODUCT "Teensy_Planck"
#undef MATRIX_ROW_PINS
#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h
index eabce5e790..2e8585d0eb 100644
--- a/keyboards/preonic/keymaps/kinesis/config.h
+++ b/keyboards/preonic/keymaps/kinesis/config.h
@@ -1,58 +1,4 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ortholinear Keyboards
-#define PRODUCT The Preonic Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
+#pragma once
/* ws2812 RGB LED */
#define RGB_DI_PIN D1
@@ -61,25 +7,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-#define TAPPING_TERM 200
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/preonic/keymaps/zach/config.h b/keyboards/preonic/keymaps/zach/config.h
index 37e85bf512..f5e4d2c204 100644
--- a/keyboards/preonic/keymaps/zach/config.h
+++ b/keyboards/preonic/keymaps/zach/config.h
@@ -1,85 +1,7 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6061
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Ortholinear Keyboards
-#define PRODUCT The Preonic Keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 12
-
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
+#pragma once
#define BACKLIGHT_BREATHING // LED breathing
-/* number of backlight levels */
+#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 5
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCE 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-//#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-//#define LOCKING_RESYNC_ENABLE
-
-/* ws2812 RGB LED */
-//#define RGB_DI_PIN D1
-
-//#define RGBLED_NUM 28 // Number of LEDs
-//#define RGBLIGHT_HUE_STEP 10
-//#define RGBLIGHT_SAT_STEP 17
-//#define RGBLIGHT_VAL_STEP 17
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-//#define DYNAMIC_MACRO_ENABLE // Enable if you need to use the macro functionality
-//#define SPACE_CADET // Parenthesis on L/R shift
-
-#endif
diff --git a/keyboards/primekb/prime_e/keymaps/madhatter/config.h b/keyboards/primekb/prime_e/keymaps/madhatter/config.h
index 8075bb73d5..3ec816d7ee 100644
--- a/keyboards/primekb/prime_e/keymaps/madhatter/config.h
+++ b/keyboards/primekb/prime_e/keymaps/madhatter/config.h
@@ -3,4 +3,4 @@
#define TAPPING_TERM 150
#undef PRODUCT
-#define PRODUCT MadHatter\x27s Custom Ilpse
+#define PRODUCT "MadHatter's Custom Ilpse"
diff --git a/keyboards/sofle/keymaps/flare576/config.h b/keyboards/sofle/keymaps/flare576/config.h
index c0f0a7d563..c89f38c127 100644
--- a/keyboards/sofle/keymaps/flare576/config.h
+++ b/keyboards/sofle/keymaps/flare576/config.h
@@ -37,4 +37,4 @@
#define TAPPING_TERM 200
#undef MANUFACTURER
-#define MANUFACTURER Flare576
+#define MANUFACTURER "Flare576"
diff --git a/keyboards/tanuki/keymaps/tucznak/config.h b/keyboards/tanuki/keymaps/tucznak/config.h
index 4f2a778ff2..37d42c0814 100644
--- a/keyboards/tanuki/keymaps/tucznak/config.h
+++ b/keyboards/tanuki/keymaps/tucznak/config.h
@@ -3,23 +3,16 @@
#undef MANUFACTURER
#undef PRODUCT
-#define MANUFACTURER Potato Inc.
-#define PRODUCT Trash Panda
+#define MANUFACTURER "Potato Inc."
+#define PRODUCT "Trash Panda"
/* for bootloader */
#define QMK_ESC_OUTPUT B2
#define QMK_ESC_INPUT D0
#define QMK_LED B0
-/* turn off RGB when computer sleeps */
-#ifdef RGBLIGHT_ENABLE
-#define RGBLIGHT_SLEEP
-#endif
-
/* send tap key if no layer key was used even after tap delay */
-#ifdef TAPPING_TERM
#undef TAPPING_TERM
-#endif
#define TAPPING_TERM 250
#define RETRO_TAPPING
#define TAPPING_TOGGLE 2
diff --git a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h
index afb1d86d6c..dc2a125b1e 100644
--- a/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h
+++ b/keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h
@@ -1,4 +1,4 @@
#pragma once
#undef PRODUCT
-#define PRODUCT MadHatter\x27s Custom Singa V3
+#define PRODUCT "MadHatter's Custom Singa V3"
diff --git a/keyboards/xiudi/xd75/keymaps/mtdjr/config.h b/keyboards/xiudi/xd75/keymaps/mtdjr/config.h
index 3c8b17df1f..f70569b024 100644
--- a/keyboards/xiudi/xd75/keymaps/mtdjr/config.h
+++ b/keyboards/xiudi/xd75/keymaps/mtdjr/config.h
@@ -18,5 +18,4 @@
// place overrides here
#undef MANUFACTURER
-#define MANUFACTURER mtdjr
-#define PRODUCT XD75
+#define MANUFACTURER "mtdjr"
diff --git a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h
index e730e99b27..27a2fcd6a7 100644
--- a/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h
+++ b/keyboards/ymdk/ymd96/keymaps/AnthonyWharton/config.h
@@ -19,36 +19,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define VENDOR_ID 0x20A0
-#define PRODUCT_ID 0x422D
-// Edit usbconfig.h to change these.
-#define MANUFACTURER ymdkey
-#define PRODUCT ymd96
-
-/* Matrix Size */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 15
-#define DIODE_DIRECTION COL2ROW
-
/* Required for MX Locks installed */
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define PREVENT_STUCK_MODIFIERS
-#define TAPPING_TOGGLE 3
-#define NO_UART 1
-
+#undef BACKLIGHT_LEVELS
#define BACKLIGHT_LEVELS 12
-/* RGB Underglow */
-// The RGB_DI_PING value seems to be shared between all PS2AVRGB boards.
-// The same pin is used on the JJ40, at least.
-#define RGBLED_NUM 18
-#define RGB_DI_PIN E2 // NOTE: for PS2AVRGB boards, underglow commands are send
- // via I2C to 0xB0
-
-#define RGBLIGHT_ANIMATIONS
-
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1.0-2.7
#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 1-255
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 7
diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h
index d669f27298..aa1d05779b 100644
--- a/layouts/community/ergodox/drashna/config.h
+++ b/layouts/community/ergodox/drashna/config.h
@@ -28,7 +28,7 @@
#endif // RGBLIGHT_ENABLE
#undef PRODUCT
-#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Hybrid Monstrosity
+#define PRODUCT "DrashnaDox - Hacked ErgoDox EZ Hybrid Monstrosity"
#undef DEBOUNCE
#define DEBOUNCE 20
diff --git a/layouts/community/ergodox/jjerrell/config.h b/layouts/community/ergodox/jjerrell/config.h
index 8223108d15..6aeaef35ce 100644
--- a/layouts/community/ergodox/jjerrell/config.h
+++ b/layouts/community/ergodox/jjerrell/config.h
@@ -17,5 +17,5 @@
#ifdef KEYBOARD_ergodox_ez
#undef PRODUCT
-#define PRODUCT ErgoDox EZ - Modified by <@jjerrell>
+#define PRODUCT "ErgoDox EZ - Modified by <@jjerrell>"
#endif
diff --git a/layouts/community/ergodox/meagerfindings/config.h b/layouts/community/ergodox/meagerfindings/config.h
index d69aaf79dd..28a92e2bf6 100644
--- a/layouts/community/ergodox/meagerfindings/config.h
+++ b/layouts/community/ergodox/meagerfindings/config.h
@@ -5,9 +5,9 @@
#undef DEVICE_VER
#define DEVICE_VER 0x0001
#undef MANUFACTURER
-#define MANUFACTURER meagerfindings
+#define MANUFACTURER "meagerfindings"
#undef PRODUCT
-#define PRODUCT ErgoDox
+#define PRODUCT "ErgoDox"
#define USB_MAX_POWER_CONSUMPTION 500
diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h
index aa0c201232..83e8766b27 100644
--- a/layouts/community/numpad_5x6/drashna/config.h
+++ b/layouts/community/numpad_5x6/drashna/config.h
@@ -32,5 +32,5 @@
#if defined(KEYBOARD_primekb_prime_m)
# undef PRODUCT
-# define PRODUCT Drashna Hacked Prime_M Macro Pad
+# define PRODUCT "Drashna Hacked Prime_M Macro Pad"
#endif
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h
index d6197ece29..0b10a64eaa 100644
--- a/layouts/community/ortho_4x12/drashna/config.h
+++ b/layouts/community/ortho_4x12/drashna/config.h
@@ -70,11 +70,11 @@
#if defined(KEYBOARD_planck)
# undef PRODUCT
# if defined(KEYBOARD_planck_light)
-# define PRODUCT Drashna Hacked RGB Beacon(Planck Light)
+# define PRODUCT "Drashna Hacked RGB Beacon(Planck Light)"
# elif defined(KEYBOARD_planck_rev6)
-# define PRODUCT Drashna Hacked Planck Rev6
+# define PRODUCT "Drashna Hacked Planck Rev6"
# elif defined(KEYBOARD_planck_ez)
-# define PRODUCT Drashna Hacked Planck EZ
+# define PRODUCT "Drashna Hacked Planck EZ"
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
# endif
#endif
diff --git a/layouts/community/ortho_4x12/jjerrell/config.h b/layouts/community/ortho_4x12/jjerrell/config.h
index aee885b8d0..8d2080d868 100644
--- a/layouts/community/ortho_4x12/jjerrell/config.h
+++ b/layouts/community/ortho_4x12/jjerrell/config.h
@@ -32,7 +32,7 @@
#ifdef KEYBOARD_planck_ez_glow
#undef PRODUCT
-#define PRODUCT Planck EZ Glow - Modified by <@jjerrell>
+#define PRODUCT "Planck EZ Glow - Modified by <@jjerrell>"
#endif
/*
diff --git a/layouts/community/split_3x6_3/bbaserdem/config.h b/layouts/community/split_3x6_3/bbaserdem/config.h
index adf707d1ba..1d269335fe 100644
--- a/layouts/community/split_3x6_3/bbaserdem/config.h
+++ b/layouts/community/split_3x6_3/bbaserdem/config.h
@@ -26,9 +26,9 @@
// Rebrand the PCB
# undef PRODUCT
-# define PRODUCT Protorne Keyboard
+# define PRODUCT "Protorne Keyboard"
# undef MANUFACTURER
-# define MANUFACTURER Waffles
+# define MANUFACTURER "Waffles"
// Remove OLED definitions?
# undef USE_I2C
diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h
index cfcb873a80..a84d6eef2e 100644
--- a/layouts/community/split_3x6_3/drashna/config.h
+++ b/layouts/community/split_3x6_3/drashna/config.h
@@ -87,9 +87,9 @@
#undef PRODUCT
#ifdef CONVERT_TO_PROTON_C
-# define PRODUCT Drashna Hacked ARM Corne Keyboard
+# define PRODUCT "Drashna Hacked ARM Corne Keyboard"
#else
-# define PRODUCT Drashna Hacked Corne Keyboard
+# define PRODUCT "Drashna Hacked Corne Keyboard"
#endif
#define TAPPING_TERM_PER_KEY
diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py
index a26dcdf7d7..a2178bf1e9 100755
--- a/lib/python/qmk/cli/generate/config_h.py
+++ b/lib/python/qmk/cli/generate/config_h.py
@@ -117,9 +117,10 @@ def generate_config_items(kb_info_json, config_h_lines):
config_h_lines.append(f'# define {key} {value}')
config_h_lines.append(f'#endif // {key}')
elif key_type == 'str':
+ escaped_str = config_value.replace('\\', '\\\\').replace('"', '\\"')
config_h_lines.append('')
config_h_lines.append(f'#ifndef {config_key}')
- config_h_lines.append(f'# define {config_key} "{config_value}"')
+ config_h_lines.append(f'# define {config_key} "{escaped_str}"')
config_h_lines.append(f'#endif // {config_key}')
elif key_type == 'bcd_version':
(major, minor, revision) = config_value.split('.')
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index c95b55916c..e0a46e7ed1 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -479,7 +479,7 @@ def _config_to_json(key_type, config_value):
return int(config_value)
elif key_type == 'str':
- return config_value.strip('"')
+ return config_value.strip('"').replace('\\"', '"').replace('\\\\', '\\')
elif key_type == 'bcd_version':
major = int(config_value[2:4])
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py
index fde8b079a3..185abb5f21 100644
--- a/lib/python/qmk/tests/test_cli_commands.py
+++ b/lib/python/qmk/tests/test_cli_commands.py
@@ -265,8 +265,8 @@ def test_generate_config_h():
check_returncode(result)
assert '# define DEVICE_VER 0x0001' in result.stdout
assert '# define DIODE_DIRECTION COL2ROW' in result.stdout
- assert '# define MANUFACTURER none' in result.stdout
- assert '# define PRODUCT pytest' in result.stdout
+ assert '# define MANUFACTURER "none"' in result.stdout
+ assert '# define PRODUCT "pytest"' in result.stdout
assert '# define PRODUCT_ID 0x6465' in result.stdout
assert '# define VENDOR_ID 0xFEED' in result.stdout
assert '# define MATRIX_COLS 1' in result.stdout
diff --git a/platforms/avr/flash.mk b/platforms/avr/flash.mk
index 6d50e72534..cd980b9733 100644
--- a/platforms/avr/flash.mk
+++ b/platforms/avr/flash.mk
@@ -177,9 +177,9 @@ else ifeq ($(strip $(BOOTLOADER)), halfkay)
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY)
else ifeq (dfu,$(findstring dfu,$(BOOTLOADER)))
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_DFU)
-else ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp))
+else ifeq ($(strip $(BOOTLOADER)), usbasploader)
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_USBASP)
-else ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID))
+else ifeq ($(strip $(BOOTLOADER)), bootloadhid)
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_BOOTLOADHID)
else ifeq ($(strip $(BOOTLOADER)), qmk-hid)
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_HID_LUFA)
diff --git a/quantum/encoder.c b/quantum/encoder.c
index 5f8a7ce080..1393e34868 100644
--- a/quantum/encoder.c
+++ b/quantum/encoder.c
@@ -24,7 +24,8 @@
#include <string.h>
#ifndef ENCODER_MAP_KEY_DELAY
-# define ENCODER_MAP_KEY_DELAY 2
+# include "action.h"
+# define ENCODER_MAP_KEY_DELAY TAP_CODE_DELAY
#endif
#if !defined(ENCODER_RESOLUTIONS) && !defined(ENCODER_RESOLUTION)
@@ -143,9 +144,14 @@ void encoder_init(void) {
static void encoder_exec_mapping(uint8_t index, bool clockwise) {
// The delays below cater for Windows and its wonderful requirements.
action_exec(clockwise ? ENCODER_CW_EVENT(index, true) : ENCODER_CCW_EVENT(index, true));
+# if ENCODER_MAP_KEY_DELAY > 0
wait_ms(ENCODER_MAP_KEY_DELAY);
+# endif // ENCODER_MAP_KEY_DELAY > 0
+
action_exec(clockwise ? ENCODER_CW_EVENT(index, false) : ENCODER_CCW_EVENT(index, false));
+# if ENCODER_MAP_KEY_DELAY > 0
wait_ms(ENCODER_MAP_KEY_DELAY);
+# endif // ENCODER_MAP_KEY_DELAY > 0
}
#endif // ENCODER_MAP_ENABLE
diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c
index 505a7a6ffd..ae3f122e89 100644
--- a/quantum/pointing_device/pointing_device.c
+++ b/quantum/pointing_device/pointing_device.c
@@ -166,11 +166,9 @@ __attribute__((weak)) void pointing_device_send(void) {
host_mouse_send(&local_mouse_report);
}
// send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device
- local_mouse_report.x = 0;
- local_mouse_report.y = 0;
- local_mouse_report.v = 0;
- local_mouse_report.h = 0;
-
+ uint8_t buttons = local_mouse_report.buttons;
+ memset(&local_mouse_report, 0, sizeof(local_mouse_report));
+ local_mouse_report.buttons = buttons;
memcpy(&old_report, &local_mouse_report, sizeof(local_mouse_report));
}
diff --git a/quantum/pointing_device/pointing_device_drivers.c b/quantum/pointing_device/pointing_device_drivers.c
index b96f8ff4b3..096ad5d028 100644
--- a/quantum/pointing_device/pointing_device_drivers.c
+++ b/quantum/pointing_device/pointing_device_drivers.c
@@ -17,6 +17,7 @@
*/
#include "pointing_device.h"
+#include "pointing_device_internal.h"
#include "debug.h"
#include "wait.h"
#include "timer.h"
@@ -32,10 +33,7 @@ report_mouse_t adns5050_get_report(report_mouse_t mouse_report) {
report_adns5050_t data = adns5050_read_burst();
if (data.dx != 0 || data.dy != 0) {
-# ifdef CONSOLE_ENABLE
- if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy);
-# endif
-
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy);
mouse_report.x = (mouse_xy_report_t)data.dx;
mouse_report.y = (mouse_xy_report_t)data.dy;
}
@@ -76,9 +74,7 @@ const pointing_device_driver_t pointing_device_driver = {
report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) {
report_analog_joystick_t data = analog_joystick_read();
-# ifdef CONSOLE_ENABLE
- if (debug_mouse) dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
-# endif
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
mouse_report.x = data.x;
mouse_report.y = data.y;
@@ -140,11 +136,9 @@ report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) {
return mouse_report;
}
-# if CONSOLE_ENABLE
- if (debug_mouse && touchData.touchDown) {
- dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue);
+ if (touchData.touchDown) {
+ pd_dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue);
}
-# endif
// Scale coordinates to arbitrary X, Y resolution
cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale());
@@ -227,9 +221,7 @@ const pointing_device_driver_t pointing_device_driver = {
report_mouse_t paw3204_get_report(report_mouse_t mouse_report) {
report_paw3204_t data = paw3204_read();
if (data.isMotion) {
-# ifdef CONSOLE_ENABLE
- dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
-# endif
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
mouse_report.x = data.x;
mouse_report.y = data.y;
@@ -329,7 +321,7 @@ report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report) {
if (!in_motion) {
in_motion = true;
- dprintf("PWM3360 (0): starting motion\n");
+ pd_dprintf("PWM3360 (0): starting motion\n");
}
mouse_report.x = CONSTRAIN_HID_XY(report.delta_x);
diff --git a/quantum/pointing_device_internal.h b/quantum/pointing_device_internal.h
new file mode 100644
index 0000000000..ef649407ca
--- /dev/null
+++ b/quantum/pointing_device_internal.h
@@ -0,0 +1,14 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#ifdef POINTING_DEVICE_DEBUG
+# include "debug.h"
+# include "print.h"
+# define pd_dprintf(...) dprintf(__VA_ARGS__)
+#else
+# define pd_dprintf(...) \
+ do { \
+ } while (0)
+#endif
diff --git a/quantum/util.h b/quantum/util.h
index ab96ce4bde..21c290013c 100644
--- a/quantum/util.h
+++ b/quantum/util.h
@@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "bitwise.h"
-// convert to L string
-#define LSTR(s) XLSTR(s)
-#define XLSTR(s) L## #s
// convert to string
#define STR(s) XSTR(s)
#define XSTR(s) #s
diff --git a/readme.md b/readme.md
index 5649ddfa09..c2fcda103e 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)
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c
index 52e3276d35..635e4c6cd7 100644
--- a/tmk_core/protocol/usb_descriptor.c
+++ b/tmk_core/protocol/usb_descriptor.c
@@ -1043,7 +1043,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = {
*/
const USB_Descriptor_String_t PROGMEM LanguageString = {
.Header = {
- .Size = USB_STRING_LEN(1),
+ .Size = 4,
.Type = DTYPE_String
},
.UnicodeString = {LANGUAGE_ID_ENG}
@@ -1051,24 +1051,24 @@ const USB_Descriptor_String_t PROGMEM LanguageString = {
const USB_Descriptor_String_t PROGMEM ManufacturerString = {
.Header = {
- .Size = USB_STRING_LEN(sizeof(STR(MANUFACTURER)) - 1), // Subtract 1 for null terminator
+ .Size = sizeof(USBSTR(MANUFACTURER)),
.Type = DTYPE_String
},
- .UnicodeString = LSTR(MANUFACTURER)
+ .UnicodeString = USBSTR(MANUFACTURER)
};
const USB_Descriptor_String_t PROGMEM ProductString = {
.Header = {
- .Size = USB_STRING_LEN(sizeof(STR(PRODUCT)) - 1), // Subtract 1 for null terminator
+ .Size = sizeof(USBSTR(PRODUCT)),
.Type = DTYPE_String
},
- .UnicodeString = LSTR(PRODUCT)
+ .UnicodeString = USBSTR(PRODUCT)
};
#if defined(SERIAL_NUMBER)
const USB_Descriptor_String_t PROGMEM SerialNumberString = {
.Header = {
- .Size = USB_STRING_LEN(sizeof(SERIAL_NUMBER) - 1), // Subtract 1 for null terminator
+ .Size = sizeof(USBSTR(SERIAL_NUMBER)),
.Type = DTYPE_String
},
.UnicodeString = USBSTR(SERIAL_NUMBER)
diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c
index d07cc0d27e..65f5027574 100644
--- a/tmk_core/protocol/vusb/vusb.c
+++ b/tmk_core/protocol/vusb/vusb.c
@@ -672,7 +672,7 @@ const PROGMEM uchar console_hid_report[] = {
// clang-format off
const PROGMEM usbStringDescriptor_t usbStringDescriptorZero = {
.header = {
- .bLength = USB_STRING_LEN(1),
+ .bLength = 4,
.bDescriptorType = USBDESCR_STRING
},
.bString = {0x0409} // US English
@@ -680,24 +680,24 @@ const PROGMEM usbStringDescriptor_t usbStringDescriptorZero = {
const PROGMEM usbStringDescriptor_t usbStringDescriptorManufacturer = {
.header = {
- .bLength = USB_STRING_LEN(sizeof(STR(MANUFACTURER)) - 1),
+ .bLength = sizeof(USBSTR(MANUFACTURER)),
.bDescriptorType = USBDESCR_STRING
},
- .bString = LSTR(MANUFACTURER)
+ .bString = USBSTR(MANUFACTURER)
};
const PROGMEM usbStringDescriptor_t usbStringDescriptorProduct = {
.header = {
- .bLength = USB_STRING_LEN(sizeof(STR(PRODUCT)) - 1),
+ .bLength = sizeof(USBSTR(PRODUCT)),
.bDescriptorType = USBDESCR_STRING
},
- .bString = LSTR(PRODUCT)
+ .bString = USBSTR(PRODUCT)
};
#if defined(SERIAL_NUMBER)
const PROGMEM usbStringDescriptor_t usbStringDescriptorSerial = {
.header = {
- .bLength = USB_STRING_LEN(sizeof(SERIAL_NUMBER) - 1),
+ .bLength = sizeof(USBSTR(SERIAL_NUMBER)),
.bDescriptorType = USBDESCR_STRING
},
.bString = USBSTR(SERIAL_NUMBER)
diff --git a/tmk_core/protocol/vusb/vusb.h b/tmk_core/protocol/vusb/vusb.h
index b1ecc98f37..c5cb27ded6 100644
--- a/tmk_core/protocol/vusb/vusb.h
+++ b/tmk_core/protocol/vusb/vusb.h
@@ -118,8 +118,6 @@ typedef struct usbConfigurationDescriptor {
#endif
} __attribute__((packed)) usbConfigurationDescriptor_t;
-#define USB_STRING_LEN(s) (sizeof(usbDescriptorHeader_t) + ((s) << 1))
-
extern bool vusb_suspended;
host_driver_t *vusb_driver(void);
diff --git a/users/spidey3/config.h b/users/spidey3/config.h
index 91bcf910ee..36d59b6a5d 100644
--- a/users/spidey3/config.h
+++ b/users/spidey3/config.h
@@ -42,7 +42,7 @@
#define SPI_DEBUG_SCAN_RATE
#undef MANUFACTURER
-#define MANUFACTURER Window of Fire
+#define MANUFACTURER "Window of Fire"
// Some keyboards enable BACKLIGHT_CAPS_LOCK without checking if backlight is enabled.
// Undef as appropriate to avoid compiler warnings in that case.