Repository Analysis

qmk/qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families

4.9 Likely human-written View on GitHub
4.9
Adjusted Score
4.9
Raw Score
100%
Time Factor
2026-05-29
Last Push
20,415
Stars
C
Language
1,804,654
Lines of Code
20547
Files
6065
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 8MEDIUM 855LOW 5202

Pattern Findings

6065 matches across 14 categories. Click a row to expand file-level details.

Over-Commented Block5016 hits · 4979 pts
SeverityFileLineSnippet
LOWsetup.cfg21
LOWsetup.cfg41#
LOWsetup.cfg61# definitions.
LOWsetup.cfg81#
LOWsetup.cfg101#
LOWsetup.cfg121# config = {
LOWsetup.cfg141
LOWsetup.cfg161# 'key2': value1 +
LOWsetup.cfg181# Use spaces around default or named assigns.
LOWsetup.cfg201#
LOWsetup.cfg241# Set to True to prefer splitting before '&', '|' or '^' rather than
LOWsetup.cfg261#
LOWsetup.cfg281split_before_named_assigns=True
LOWsetup.cfg321split_penalty_excess_character=7000
LOWplatforms/pin_defs.h21#if __has_include("_pin_defs.h")
LOWplatforms/progmem.h1#pragma once
LOWplatforms/eeprom.h21void eeprom_update_dword(uint32_t *__p, uint32_t __value);
LOWplatforms/eeprom.h41# define TOTAL_EEPROM_BYTE_COUNT (WEAR_LEVELING_LOGICAL_SIZE)
LOWplatforms/eeprom.h61# include "eeprom_samd.h"
LOWplatforms/eeprom.h81# error Unknown EEPROM driver.
LOWplatforms/wait.h21extern "C" {
LOWplatforms/synchronization_util.c1// Copyright 2023 Sergey Vlasov (@sigprof)
LOWplatforms/atomic_util.h21
LOWplatforms/gpio.h21# include_next "gpio.h" /* Include the platforms gpio.h */
LOWplatforms/lv_conf.h221 *LV_LOG_LEVEL_USER Only logs added by the user
LOWplatforms/lv_conf.h261/*1: Show CPU usage and FPS count*/
LOWplatforms/lv_conf.h281/*Change the built in (v)snprintf functions*/
LOWplatforms/lv_conf.h341#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/
LOWplatforms/lv_conf.h361#define LV_FONT_MONTSERRAT_26 0
LOWplatforms/lv_conf.h481#ifndef LV_USE_LABEL
LOWplatforms/lv_conf.h521#if LV_USE_CALENDAR
LOWplatforms/lv_conf.h621
LOWplatforms/lv_conf.h681 #define LV_FREETYPE_CACHE_FT_FACES 0
LOWplatforms/lv_conf.h741#ifndef LV_USE_DEMO_MUSIC
LOWplatforms/suspend.h21#ifndef USB_SUSPEND_WAKEUP_DELAY
LOWplatforms/chibios/_pin_defs.h21# include <hal.h>
LOWplatforms/chibios/_pin_defs.h41# define A13 PAL_LINE(GPIOA, 13)
LOWplatforms/chibios/_pin_defs.h61# define B0 PAL_LINE(GPIOB, 0)
LOWplatforms/chibios/_pin_defs.h81# define B20 PAL_LINE(GPIOB, 20)
LOWplatforms/chibios/_pin_defs.h101# define C7 PAL_LINE(GPIOC, 7)
LOWplatforms/chibios/_pin_defs.h121# define C27 PAL_LINE(GPIOC, 27)
LOWplatforms/chibios/_pin_defs.h141# define D14 PAL_LINE(GPIOD, 14)
LOWplatforms/chibios/_pin_defs.h161# define E1 PAL_LINE(GPIOE, 1)
LOWplatforms/chibios/_pin_defs.h181# define E21 PAL_LINE(GPIOE, 21)
LOWplatforms/chibios/_pin_defs.h201# define F8 PAL_LINE(GPIOF, 8)
LOWplatforms/chibios/_pin_defs.h221# define G12 PAL_LINE(GPIOG, 12)
LOWplatforms/chibios/_pin_defs.h241# define I0 PAL_LINE(GPIOI, 0)
LOWplatforms/chibios/_pin_defs.h261# define J4 PAL_LINE(GPIOJ, 4)
LOWplatforms/chibios/_pin_defs.h281# define K3 PAL_LINE(GPIOK, 3)
LOWplatforms/chibios/gd32v_compatibility.h21 * we just redefine the GD32 names. */
LOWplatforms/chibios/gd32v_compatibility.h41#define STM32_DMA_CR_MINC GD32_DMA_CTL_MNAGA
LOWplatforms/chibios/gd32v_compatibility.h61# define ADC_SMPR2_SMP_AN1 ADC_SAMPT1_SMP_SPT1
LOWplatforms/chibios/gd32v_compatibility.h81/* FLASH redefines */
LOWplatforms/chibios/gd32v_compatibility.h101# if !defined(SERIAL_USART_CR1)
LOWplatforms/chibios/gd32v_compatibility.h121# define SPI_CR1_BR_2 SPI_CTL0_PSC_2
LOWplatforms/chibios/config.h1// Copyright 2023 Nick Brassel (@tzarc)
LOWplatforms/chibios/suspend.c1/* TODO */
LOWplatforms/chibios/interrupt_handlers.c1// Copyright 2023 Nick Brassel (@tzarc)
LOWplatforms/chibios/interrupt_handlers.c41#endif // ECC_ERRORS_TRIGGER_NMI_INTERRUPT
LOWplatforms/chibios/atomic_util.h41}
4956 more matches not shown…
Decorative Section Separators847 hits · 3567 pts
SeverityFileLineSnippet
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c15 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c17 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c19 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c21 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c23 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c25 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c29 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c31 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c33 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c35 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c37 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c39 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c43 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c45 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c47 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c49 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c51 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_lm/keymaps/default/keymap.c53 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c15 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c17 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c19 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c21 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c23 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c25 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c29 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c31 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c33 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c35 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c37 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c39 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c43 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c45 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c47 //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c49 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c51 //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴───────
MEDIUMkeyboards/keebio/iris_ce/keymaps/default/keymap.c53 // └────────┴────────┴────────┘ └────────┴────────┴────────┘
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c11 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c13 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬───
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c15 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬─
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c17 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴─
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c19 //├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬────
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c21 //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴────
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c25 //┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬───────
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c27 //├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬───
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c29 //├────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬─
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c31 //├──────────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴─
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c33 //├──────────┬───────┴──┬─────┴────┬───┴────────┴────────┴────────┴────────┴────────┴──────┬─┴────────┼────────┴─┬────
MEDIUMkeyboards/keebio/tragicforce68/keymaps/default/keymap.c35 //└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴────
MEDIUMkeyboards/redox/keymaps/default/keymap.c42 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c44 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c46 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c48 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c50 //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────
MEDIUMkeyboards/redox/keymaps/default/keymap.c52 //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘
MEDIUMkeyboards/redox/keymaps/default/keymap.c56 //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c58 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c60 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c62 //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────
MEDIUMkeyboards/redox/keymaps/default/keymap.c64 //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────
MEDIUMkeyboards/redox/keymaps/default/keymap.c66 //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘
787 more matches not shown…
Deep Nesting76 hits · 76 pts
SeverityFileLineSnippet
LOWutil/polling_rate.py12
LOWutil/polling_rate.py34
LOWutil/uf2conv.py37
LOWutil/uf2conv.py168
LOWutil/uf2conv.py210
LOWutil/uf2conv.py278
LOWutil/stm32eeprom_parser.py105
LOWkeyboards/signum/3_0/keymaps/default/generate_km.py20
LOWkeyboards/signum/3_0/keymaps/default/generate_km.py81
LOWkeyboards/ferris/keymaps/json2crab.py22
LOWkeyboards/ergodox_ez/util/compile_keymap.py157
LOWkeyboards/ergodox_ez/util/compile_keymap.py569
LOW…/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py364
LOWlib/python/kle2xy.py49
LOWlib/python/qmk/submodules.py6
LOWlib/python/qmk/painter.py326
LOWlib/python/qmk/painter.py409
LOWlib/python/qmk/userspace.py130
LOWlib/python/qmk/userspace.py154
LOWlib/python/qmk/json_encoders.py100
LOWlib/python/qmk/json_encoders.py128
LOWlib/python/qmk/json_encoders.py161
LOWlib/python/qmk/json_encoders.py195
LOWlib/python/qmk/keymap.py83
LOWlib/python/qmk/keymap.py153
LOWlib/python/qmk/keymap.py209
LOWlib/python/qmk/keymap.py330
LOWlib/python/qmk/keymap.py392
LOWlib/python/qmk/keymap.py475
LOWlib/python/qmk/keymap.py156
LOWlib/python/qmk/compilation_database.py39
LOWlib/python/qmk/compilation_database.py69
LOWlib/python/qmk/c_parse.py61
LOWlib/python/qmk/c_parse.py114
LOWlib/python/qmk/c_parse.py178
LOWlib/python/qmk/c_parse.py237
LOWlib/python/qmk/makefile.py6
LOWlib/python/qmk/search.py229
LOWlib/python/qmk/search.py268
LOWlib/python/qmk/search.py272
LOWlib/python/qmk/info.py70
LOWlib/python/qmk/info.py638
LOWlib/python/qmk/info.py684
LOWlib/python/qmk/info.py733
LOWlib/python/qmk/info.py753
LOWlib/python/qmk/info.py823
LOWlib/python/qmk/info.py920
LOWlib/python/qmk/info.py947
LOWlib/python/qmk/info.py1023
LOWlib/python/qmk/commands.py102
LOWlib/python/qmk/flashers.py80
LOWlib/python/qmk/flashers.py110
LOWlib/python/qmk/flashers.py217
LOWlib/python/qmk/keyboard.py234
LOWlib/python/qmk/cli/via2json.py23
LOWlib/python/qmk/cli/mass_compile.py19
LOWlib/python/qmk/cli/license_check.py54
LOWlib/python/qmk/cli/license_check.py68
LOWlib/python/qmk/cli/info.py184
LOWlib/python/qmk/cli/migrate.py31
16 more matches not shown…
Hyper-Verbose Identifiers74 hits · 72 pts
SeverityFileLineSnippet
LOWutil/polling_rate.py26def usb_hid_interface_subclass(subclass):
LOWutil/polling_rate.py34def usb_hid_interface_protocol(subclass, protocol):
LOWutil/polling_rate.py47def usb_interface_polling_rate(speed, interval):
LOW…/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py107 def index_conversion_map_reversed(self, conversion_map):
LOW…/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py192 def calculate_column_max_widths(self, key_symbols):
LOWlib/python/qmk/painter_qff.py163def _generate_font_glyphs_list(use_ascii, unicode_glyphs):
LOWlib/python/qmk/community_modules.py45def find_available_module_paths():
LOWlib/python/qmk/build_targets.py151 def generate_compilation_database(self, build_target: str = None, skip_clean: bool = False, **env_vars) -> None:
LOWlib/python/qmk/keymap.py56def _generate_encodermap_table(keymap_json):
LOWlib/python/qmk/keymap.py70def _generate_dipswitchmap_table(keymap_json):
LOWlib/python/qmk/keymap.py83def _generate_macros_function(keymap_json):
LOWlib/python/qmk/keymap.py156 def _impl_find_keymap_from_dir(relative_path):
LOWlib/python/qmk/importers.py40def _extract_kbfirmware_layout(kbf_data):
LOWlib/python/qmk/importers.py57def _extract_kbfirmware_keymap(kbf_data):
LOWlib/python/qmk/compilation_database.py105def write_compilation_database(keyboard: str = None, keymap: str = None, output_path: Path = QMK_FIRMWARE / 'compile_com
LOWlib/python/qmk/json_schema.py17def _dict_raise_on_duplicates(ordered_pairs):
LOWlib/python/qmk/keycodes.py19def _potential_search_versions(version, lang=None):
LOWlib/python/qmk/info.py70def _find_invalid_encoder_index(info_data):
LOWlib/python/qmk/info.py517def _extract_split_handedness(info_data, config_c):
LOWlib/python/qmk/info.py571def _extract_split_right_pins(info_data, config_c):
LOWlib/python/qmk/flashers.py48def _check_dfu_programmer_version():
LOWlib/python/qmk/keyboard.py74def keyboard_alias_definitions():
LOWlib/python/qmk/tests/test_qmk_keymap.py4def test_generate_c_pytest_basic():
LOWlib/python/qmk/tests/test_qmk_keymap.py37def test_generate_json_pytest_basic():
LOWlib/python/qmk/tests/test_cli_commands.py111def test_list_keymaps_community():
LOWlib/python/qmk/tests/test_cli_commands.py117def test_list_keymaps_kb_only():
LOWlib/python/qmk/tests/test_cli_commands.py123def test_list_keymaps_vendor_kb():
LOWlib/python/qmk/tests/test_cli_commands.py129def test_list_keymaps_vendor_kb_rev():
LOWlib/python/qmk/tests/test_cli_commands.py135def test_list_keymaps_no_keyboard_found():
LOWlib/python/qmk/tests/test_cli_commands.py224def test_info_keyboard_render():
LOWlib/python/qmk/tests/test_cli_commands.py287def test_generate_rgb_breathe_table():
LOWlib/python/qmk/tests/test_cli_commands.py322def test_format_json_keyboard():
LOWlib/python/qmk/tests/test_cli_commands.py334def test_format_json_keyboard_auto():
LOWlib/python/qmk/tests/test_cli_commands.py340def test_format_json_keymap_auto():
LOWlib/python/qmk/tests/test_cli_commands.py384def test_find_multiple_conditions():
LOWlib/python/qmk/cli/__init__.py18def _get_default_distrib_path():
LOWlib/python/qmk/cli/__init__.py153def _find_broken_requirements(requirements):
LOWlib/python/qmk/cli/license_check.py37def _determine_suffix_condition(extensions):
LOWlib/python/qmk/cli/license_check.py38 def _default_suffix_condition(s):
LOWlib/python/qmk/cli/license_check.py46 def _specific_suffix_condition(s):
LOWlib/python/qmk/cli/license_check.py68def _detect_license_from_file_contents(filename, absolute=False, short=False):
LOWlib/python/qmk/cli/lint.py184def _chibios_conf_includenext_check(target):
LOWlib/python/qmk/cli/lint.py193def _rules_mk_assignment_only(rules_mk):
LOWlib/python/qmk/cli/lint.py219def _handle_duplicating_code_defaults(kb, info):
LOWlib/python/qmk/cli/painter/make_font.py36def painter_convert_font_image(cli):
LOWlib/python/qmk/cli/ci/validate_keyboard_targets.py9def ci_validate_keyboard_targets(cli):
LOWlib/python/qmk/cli/doctor/check.py84def _check_arm_gcc_installation():
LOWlib/python/qmk/cli/doctor/check.py124def _check_avr_gcc_installation():
LOWlib/python/qmk/cli/doctor/check.py172def _check_dfu_programmer_version():
LOWlib/python/qmk/cli/doctor/main.py30 def _parse_toolchain_release_file(file):
LOWlib/python/qmk/cli/doctor/main.py40 def _parse_flashutils_release_file(file):
LOWlib/python/qmk/cli/new/keymap.py23def _list_available_converters(kb_name):
LOWlib/python/qmk/cli/new/keyboard.py61def select_default_bootloader(mcu):
LOWlib/python/qmk/cli/new/keyboard.py134def prompt_heading_subheading(heading, subheading):
LOWlib/python/qmk/cli/generate/keymap_h.py11def _generate_keycodes_function(keymap_json):
LOWlib/python/qmk/cli/generate/rgb_breathe_table.py68def generate_rgb_breathe_table(cli):
LOWlib/python/qmk/cli/generate/config_h.py165def generate_led_animations_config(feature, led_feature_json, config_h_lines, enable_prefix, animation_prefix):
LOWlib/python/qmk/cli/generate/make_dependencies.py20def generate_make_dependencies(cli):
LOWlib/python/qmk/cli/generate/community_modules.py70def _render_api_implementations(api, module):
LOWlib/python/qmk/cli/generate/community_modules.py111def _render_core_implementation(api, modules):
14 more matches not shown…
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippet
HIGHlib/python/qmk/cli/mass_compile.py92 @{{ grep '\\[ERRORS\\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \\e[1;31m[ERRORS]\\e[0m\\n" "{keyboard_nam
HIGHlib/python/qmk/cli/mass_compile.py93 || {{ grep '\\[WARNINGS\\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \\e[1;33m[WARNINGS]\\e[0m\\n" "{keybo
HIGHlib/python/qmk/cli/mass_compile.py104 @rm -rf "{builddir}/{target_filename}.elf" 2>/dev/null || true
HIGHlib/python/qmk/cli/mass_compile.py105 @rm -rf "{builddir}/{target_filename}.map" 2>/dev/null || true
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippet
MEDIUMutil/install_udev.sh77# Create a temporary directory for downloads
MEDIUM.github/workflows/bootstrap_testing.yml134 # Create a test user for the bootstrap script
MEDIUMlib/python/qmk/painter_qff.py272 # Create the output image
MEDIUMlib/python/qmk/cli/mass_compile.py43# This file is auto-generated by qmk mass-compile
MEDIUMlib/python/qmk/cli/painter/make_font.py19 # Create the font object
MEDIUMlib/python/qmk/cli/painter/make_font.py40 # Create the font object
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippet
HIGHlib/python/qmk/datetime.py0returns the current time in utz as a formatted string.
HIGHlib/python/qmk/datetime.py0returns the current time in utz as a formatted string.
HIGHlib/python/qmk/datetime.py0returns the current time in utz as a formatted string.
Excessive Try-Catch Wrapping12 hits · 14 pts
SeverityFileLineSnippet
LOWlib/python/qmk/keymap.py202 except Exception as e:
LOWlib/python/qmk/json_schema.py44 except Exception as e:
LOWlib/python/qmk/info.py714 except Exception as e:
LOWlib/python/qmk/info.py795 except Exception as e:
LOWlib/python/qmk/info.py840 except Exception as e:
LOWlib/python/qmk/cli/__init__.py24 except Exception:
MEDIUMlib/python/qmk/cli/__init__.py237 _eprint('Error: Your Python is too old! Please upgrade to Python 3.9 or later.')
LOWlib/python/qmk/cli/kle2json.py39 except Exception as e:
LOWlib/python/qmk/cli/ci/validate_aliases.py11 except Exception:
MEDIUMlib/python/qmk/cli/ci/validate_aliases.py8def _safe_keyboard_folder(target):
LOWlib/python/qmk/cli/doctor/main.py36 except Exception as e:
LOWlib/python/qmk/cli/doctor/main.py46 except Exception as e:
Unused Imports14 hits · 14 pts
SeverityFileLineSnippet
LOWutil/stm32eeprom_parser.py19
LOWutil/ci/discord-results.py6
LOWkeyboards/ergodox_ez/util/compile_keymap.py11
LOWkeyboards/ergodox_ez/util/compile_keymap.py12
LOWkeyboards/ergodox_ez/util/compile_keymap.py13
LOWkeyboards/ergodox_ez/util/compile_keymap.py14
LOWlib/python/qmk/cli/painter/__init__.py1
LOWlib/python/qmk/cli/painter/__init__.py2
LOWlib/python/qmk/cli/doctor/__init__.py5
LOWlib/python/qmk/cli/userspace/__init__.py1
LOWlib/python/qmk/cli/userspace/__init__.py2
LOWlib/python/qmk/cli/userspace/__init__.py3
LOWlib/python/qmk/cli/userspace/__init__.py4
LOWlib/python/qmk/cli/userspace/__init__.py5
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippet
LOWlib/python/qmk/painter_qff.py352 # Check if we have all the ASCII glyphs present
LOWlib/python/qmk/flashers.py200 # Check if the provided mcu has an avrdude-specific name, otherwise pass on what the user provided
LOWlib/python/qmk/cli/via2json.py80 # Check if passed LAYOUT is correct
LOWlib/python/qmk/cli/kle2json.py32 # Check if info.json exists, allow overwrite with force
LOWlib/python/qmk/cli/generate/info_json.py92 # Display the results
LOWlib/python/qmk/cli/format/json.py114 # Display the results if print was set
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHdocs/coding_conventions_python.md120Return the number of seconds since 1970 Jan 1 00:00 UTC. This function always returns an integer number of seconds.
Slop Phrases3 hits · 4 pts
SeverityFileLineSnippet
LOWdrivers/sensors/adns5050.c142// Don't forget to use the register map (as defined in the header file).
LOWdrivers/sensors/adns5050.c213// Don't forget to use the definitions for CPI in the header file.
LOWtmk_core/protocol/vusb/usbconfig.h244 * Don't forget to keep the array and this define in sync!
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippet
LOWdocs/__capabilities_inc.md1Lorem ipsum dolor sit amet.
LOWdocs/__capabilities_inc.md1Lorem ipsum dolor sit amet.
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWutil/env-bootstrap.sh24# Usage: