From cc291cff7f7e06d192f1f846ab9ad93cdcacc767 Mon Sep 17 00:00:00 2001 From: Dimitris Mantzouranis Date: Fri, 17 Apr 2026 01:53:05 +0300 Subject: [PATCH] VIA v13 (#26001) --- quantum/via.c | 8 ++++++++ quantum/via.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/quantum/via.c b/quantum/via.c index 0a4eb29401f..9c10840ec51 100644 --- a/quantum/via.c +++ b/quantum/via.c @@ -357,6 +357,14 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { command_data[4] = value & 0xFF; break; } + case id_keycodes_version: { + uint32_t value = QMK_KEYCODES_VERSION_BCD; + command_data[1] = (value >> 24) & 0xFF; + command_data[2] = (value >> 16) & 0xFF; + command_data[3] = (value >> 8) & 0xFF; + command_data[4] = value & 0xFF; + break; + } default: { // The value ID is not known // Return the unhandled state diff --git a/quantum/via.h b/quantum/via.h index 9f0eef10f75..ef788ebfd85 100644 --- a/quantum/via.h +++ b/quantum/via.h @@ -39,7 +39,7 @@ // This is changed only when the command IDs change, // so VIA Configurator can detect compatible firmware. -#define VIA_PROTOCOL_VERSION 0x000C +#define VIA_PROTOCOL_VERSION 0x000D // This is a version number for the firmware for the keyboard. // It can be used to ensure the VIA keyboard definition and the firmware @@ -82,6 +82,7 @@ enum via_keyboard_value_id { id_switch_matrix_state = 0x03, id_firmware_version = 0x04, id_device_indication = 0x05, + id_keycodes_version = 0x06, }; enum via_channel_id {