M data/schemas/keyboard.jsonschema => data/schemas/keyboard.jsonschema +2 -2
@@ 314,8 314,8 @@
},
"features": {
"$ref": "qmk.definitions.v1#/boolean_array",
- "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
-
+ "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" },
+ "not": { "required": [ "lto" ] }
},
"indicators": {
"type": "object",
M keyboards/acheron/themis/87h/info.json => keyboards/acheron/themis/87h/info.json +3 -1
@@ 8,9 8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
M keyboards/acheron/themis/87htsc/info.json => keyboards/acheron/themis/87htsc/info.json +3 -1
@@ 8,9 8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
M keyboards/acheron/themis/88htsc/info.json => keyboards/acheron/themis/88htsc/info.json +3 -1
@@ 8,9 8,11 @@
"cols": ["A8" ,"C9" ,"C8" ,"B14","B12","B10","B1" ,"B0" ,"A7" ,"A6" ,"A5" ,"A4" ,"C5" ,"C7" ,"B3" ,"A2" ,"C12","D2" ],
"rows": ["A15","A10","C6" ,"C4" ,"A3" ,"A1" ,"C11","C10","B4"]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
- "lto": true,
"mousekey": true,
"extrakey": true,
"console": false,
M keyboards/clueboard/card/info.json => keyboards/clueboard/card/info.json +0 -1
@@ 14,7 14,6 @@
"command": false,
"console": true,
"extrakey": true,
- "lto": true,
"midi": false,
"mousekey": true,
"nkro": false,
M keyboards/crkbd/info.json => keyboards/crkbd/info.json +0 -1
@@ 14,7 14,6 @@
"features": {
"bootmagic": true,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"oled": true
M keyboards/dark/magnum_ergo_1/info.json => keyboards/dark/magnum_ergo_1/info.json +3 -1
@@ 8,6 8,9 @@
"pid": "0x4D45",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
"features": {
"audio": false,
"backlight": true,
@@ 16,7 19,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": false,
"nkro": true,
"rgblight": false
M keyboards/fancytech/fancyalice66/info.json => keyboards/fancytech/fancyalice66/info.json +3 -1
@@ 9,11 9,13 @@
{"pin_a": "F0", "pin_b": "F1", "resolution": 2}
]
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
M keyboards/hotdox76v2/info.json => keyboards/hotdox76v2/info.json +0 -1
@@ 11,7 11,6 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "lto": true,
"oled": true,
"rgb_matrix": true
},
M keyboards/kbdfans/kbdpad/mk3/info.json => keyboards/kbdfans/kbdpad/mk3/info.json +0 -1
@@ 9,7 9,6 @@
"command": false,
"console": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
M keyboards/keychron/q1v1/info.json => keyboards/keychron/q1v1/info.json +3 -1
@@ 4,13 4,15 @@
"maintainer": "lalalademaxiya1",
"bootloader": "atmel-dfu",
"diode_direction": "ROW2COL",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"dip_switch": true,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
M keyboards/mode/m256wh/info.json => keyboards/mode/m256wh/info.json +3 -1
@@ 4,9 4,11 @@
"maintainer": "Gondolindrim",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
M keyboards/mode/m256ws/info.json => keyboards/mode/m256ws/info.json +3 -1
@@ 4,12 4,14 @@
"maintainer": "Gondolindrim",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
M keyboards/moondrop/dash75/info.json => keyboards/moondrop/dash75/info.json +4 -2
@@ 3,14 3,16 @@
"keyboard_name": "Dash 75",
"maintainer": "vinorodrigues",
"bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": false,
- "lto": true
+ "nkro": false
},
"diode_direction": "COL2ROW",
"matrix_pins": {
M keyboards/moondrop/dash75/keymaps/via/keymap.json => keyboards/moondrop/dash75/keymaps/via/keymap.json +1 -2
@@ 7,8 7,7 @@
"author": "vinorodrigues",
"config": {
"features": {
- "via": true,
- "lto": true
+ "via": true
}
},
"layers": [
M keyboards/pauperboards/brick/info.json => keyboards/pauperboards/brick/info.json +1 -2
@@ 23,8 23,7 @@
"mousekey": true,
"nkro": true,
"encoder": true,
- "rgblight": true,
- "lto": true
+ "rgblight": true
},
"build": {
"lto": true
M keyboards/quadrum/delta/info.json => keyboards/quadrum/delta/info.json +3 -1
@@ 4,6 4,9 @@
"maintainer": "Sleepdealr",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
@@ 11,7 14,6 @@
"extrakey": true,
"mousekey": true,
"nkro": true,
- "lto": true,
"encoder": true
},
"matrix_pins": {
M keyboards/quokka/info.json => keyboards/quokka/info.json +0 -1
@@ 10,7 10,6 @@
"features": {
"audio": true,
"extrakey": true,
- "lto": true,
"oled": true,
"rgb_matrix": true
},
M keyboards/smithrune/magnus/m75h/info.json => keyboards/smithrune/magnus/m75h/info.json +3 -1
@@ 8,6 8,9 @@
"pid": "0x1676",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
"features": {
"audio": false,
"backlight": false,
@@ 16,7 19,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
M keyboards/smithrune/magnus/m75s/info.json => keyboards/smithrune/magnus/m75s/info.json +3 -1
@@ 8,6 8,9 @@
"pid": "0x1675",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
"features": {
"audio": false,
"backlight": true,
@@ 16,7 19,6 @@
"console": false,
"encoder": false,
"extrakey": true,
- "lto": true,
"mousekey": true,
"nkro": true,
"rgblight": true
M keyboards/teleport/native/info.json => keyboards/teleport/native/info.json +4 -2
@@ 29,14 29,16 @@
"led_flush_limit": 32,
"sleep": true
},
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": true,
- "lto": true
+ "nkro": true
},
"diode_direction": "ROW2COL",
"matrix_pins": {
M keyboards/thevankeyboards/minivan/keymaps/via/keymap.json => keyboards/thevankeyboards/minivan/keymaps/via/keymap.json +4 -2
@@ 9,10 9,12 @@
["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
],
"config": {
- "features": {
- "via": true,
+ "build": {
"lto": true
},
+ "features": {
+ "via": true
+ },
"dynamic_keymap": {
"layer_count": 4
}
M lib/python/qmk/info.py => lib/python/qmk/info.py +3 -0
@@ 233,6 233,9 @@ def _extract_features(info_data, rules):
key = '_'.join(key.split('_')[:-1]).lower()
value = True if value.lower() in true_values else False if value.lower() in false_values else value
+ if key in ['lto']:
+ continue
+
if 'config_h_features' not in info_data:
info_data['config_h_features'] = {}