mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 04:43:02 +00:00
Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
commit
bca7a99e7a
@ -21,7 +21,6 @@
|
||||
|
||||
import hid
|
||||
import time
|
||||
import string
|
||||
import psutil
|
||||
import GPUtil
|
||||
import datetime
|
||||
|
@ -584,11 +584,6 @@ def unicode_macro_cases(config):
|
||||
for macro_id, uc_hex in config['unicode_macros'].items():
|
||||
hi = int(uc_hex, 16) >> 8
|
||||
lo = int(uc_hex, 16) & 0xFF
|
||||
unimacro_keys = ", ".join(
|
||||
"T({})".format(
|
||||
"KP_" + digit if digit.isdigit() else digit
|
||||
) for digit in uc_hex
|
||||
)
|
||||
yield UNICODE_MACRO_TEMPLATE.format(
|
||||
macro_id=macro_id, hi=hi, lo=lo
|
||||
)
|
||||
|
@ -227,7 +227,6 @@ class KeymapBeautifier:
|
||||
self.layer_keys_pointer = 0
|
||||
|
||||
begin = self.layer_keys_pointer
|
||||
end = begin + n_columns
|
||||
return self.layer_keys[self.layer_keys_pointer-n_keys:self.layer_keys_pointer]
|
||||
|
||||
key_coordinates_counter = 0
|
||||
|
@ -8,7 +8,6 @@ import time
|
||||
|
||||
from math import floor
|
||||
from os.path import dirname
|
||||
from subprocess import Popen, PIPE, STDOUT
|
||||
from blessings import Terminal
|
||||
|
||||
class Heatmap(object):
|
||||
@ -122,7 +121,6 @@ class Heatmap(object):
|
||||
|
||||
for (c, r) in self.log:
|
||||
coords = self.coord(c, r)
|
||||
b, n = coords
|
||||
cap = self.max_cnt
|
||||
if cap == 0:
|
||||
cap = 1
|
||||
@ -302,7 +300,7 @@ def main(opts):
|
||||
break
|
||||
if not process_line(line, heatmaps, opts):
|
||||
continue
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
stamped_log = open ("%s/stamped-log" % (out_dir), "a+")
|
||||
|
@ -1,6 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
charmap = {
|
||||
|
@ -584,11 +584,6 @@ def unicode_macro_cases(config):
|
||||
for macro_id, uc_hex in config['unicode_macros'].items():
|
||||
hi = int(uc_hex, 16) >> 8
|
||||
lo = int(uc_hex, 16) & 0xFF
|
||||
unimacro_keys = ", ".join(
|
||||
"T({})".format(
|
||||
"KP_" + digit if digit.isdigit() else digit
|
||||
) for digit in uc_hex
|
||||
)
|
||||
yield UNICODE_MACRO_TEMPLATE.format(
|
||||
macro_id=macro_id, hi=hi, lo=lo
|
||||
)
|
||||
|
@ -118,10 +118,9 @@ def check_udev_rules():
|
||||
cli.log.warning("{fg_yellow}Found old, deprecated udev rules for '%s' boards. The new rules on https://docs.qmk.fm/#/faq_build?id=linux-udev-rules offer better security with the same functionality.", bootloader)
|
||||
else:
|
||||
# For caterina, check if ModemManager is running
|
||||
if bootloader == "caterina":
|
||||
if check_modem_manager():
|
||||
rc = CheckStatus.WARNING
|
||||
if bootloader == "caterina" and check_modem_manager():
|
||||
cli.log.warning("{fg_yellow}Detected ModemManager without the necessary udev rules. Please either disable it or set the appropriate udev rules if you are using a Pro Micro.")
|
||||
|
||||
rc = CheckStatus.WARNING
|
||||
cli.log.warning("{fg_yellow}Missing or outdated udev rules for '%s' boards. Run 'sudo cp %s/util/udev/50-qmk.rules /etc/udev/rules.d/'.", bootloader, QMK_FIRMWARE)
|
||||
|
||||
@ -167,6 +166,5 @@ def os_test_linux():
|
||||
return CheckStatus.OK
|
||||
else:
|
||||
cli.log.info("Detected {fg_cyan}Linux{fg_reset}.")
|
||||
from .linux import check_udev_rules
|
||||
|
||||
return check_udev_rules()
|
||||
|
@ -79,12 +79,13 @@ def doctor(cli):
|
||||
cli.log.info('CLI version: %s', cli.version)
|
||||
cli.log.info('QMK home: {fg_cyan}%s', QMK_FIRMWARE)
|
||||
|
||||
status = os_tests()
|
||||
status = os_status = os_tests()
|
||||
git_status = git_tests()
|
||||
|
||||
status = git_tests()
|
||||
if git_status == CheckStatus.ERROR or (os_status == CheckStatus.OK and git_status == CheckStatus.WARNING):
|
||||
status = git_status
|
||||
|
||||
venv = in_virtualenv()
|
||||
if venv:
|
||||
if in_virtualenv():
|
||||
cli.log.info('CLI installed in virtualenv.')
|
||||
|
||||
# Make sure the basic CLI tools we need are available and can be executed.
|
||||
|
@ -173,7 +173,7 @@ def generate_config_h(cli):
|
||||
kb_info_json = dotty(info_json(cli.args.keyboard))
|
||||
|
||||
# Build the info_config.h file.
|
||||
config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.' ' */', '', '#pragma once']
|
||||
config_h_lines = ['/* This file was generated by `qmk generate-config-h`. Do not edit or copy.', ' */', '', '#pragma once']
|
||||
|
||||
generate_config_items(kb_info_json, config_h_lines)
|
||||
|
||||
|
@ -30,7 +30,7 @@ def generate_dfu_header(cli):
|
||||
# Build the Keyboard.h file.
|
||||
kb_info_json = dotty(info_json(cli.config.generate_dfu_header.keyboard))
|
||||
|
||||
keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.' ' */', '', '#pragma once']
|
||||
keyboard_h_lines = ['/* This file was generated by `qmk generate-dfu-header`. Do not edit or copy.', ' */', '', '#pragma once']
|
||||
keyboard_h_lines.append(f'#define MANUFACTURER {kb_info_json["manufacturer"]}')
|
||||
keyboard_h_lines.append(f'#define PRODUCT {cli.config.generate_dfu_header.keyboard} Bootloader')
|
||||
|
||||
|
@ -36,7 +36,7 @@ def generate_keyboard_h(cli):
|
||||
has_layout_h = would_populate_layout_h(cli.args.keyboard)
|
||||
|
||||
# Build the layouts.h file.
|
||||
keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.' ' */', '', '#pragma once', '#include "quantum.h"']
|
||||
keyboard_h_lines = ['/* This file was generated by `qmk generate-keyboard-h`. Do not edit or copy.', ' */', '', '#pragma once', '#include "quantum.h"']
|
||||
|
||||
if not has_layout_h:
|
||||
keyboard_h_lines.append('#pragma error("<keyboard>.h is only optional for data driven keyboards - kb.h == bad times")')
|
||||
|
@ -38,7 +38,7 @@ def generate_layouts(cli):
|
||||
kb_info_json = info_json(cli.config.generate_layouts.keyboard)
|
||||
|
||||
# Build the layouts.h file.
|
||||
layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.' ' */', '', '#pragma once']
|
||||
layouts_h_lines = ['/* This file was generated by `qmk generate-layouts`. Do not edit or copy.', ' */', '', '#pragma once']
|
||||
|
||||
if 'matrix_pins' in kb_info_json:
|
||||
if 'direct' in kb_info_json['matrix_pins']:
|
||||
|
@ -29,10 +29,10 @@ def info_json(keyboard):
|
||||
"""Generate the info.json data for a specific keyboard.
|
||||
"""
|
||||
cur_dir = Path('keyboards')
|
||||
rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
|
||||
if 'DEFAULT_FOLDER' in rules:
|
||||
keyboard = rules['DEFAULT_FOLDER']
|
||||
rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk', rules)
|
||||
root_rules_mk = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk')
|
||||
|
||||
if 'DEFAULT_FOLDER' in root_rules_mk:
|
||||
keyboard = root_rules_mk['DEFAULT_FOLDER']
|
||||
|
||||
info_data = {
|
||||
'keyboard_name': str(keyboard),
|
||||
|
@ -149,8 +149,8 @@ def is_keymap_dir(keymap, c=True, json=True, additional_files=None):
|
||||
for file in files:
|
||||
if (keymap / file).is_file():
|
||||
if additional_files:
|
||||
for file in additional_files:
|
||||
if not (keymap / file).is_file():
|
||||
for additional_file in additional_files:
|
||||
if not (keymap / additional_file).is_file():
|
||||
return False
|
||||
|
||||
return True
|
||||
|
@ -1,5 +1,4 @@
|
||||
from functools import reduce
|
||||
import re
|
||||
|
||||
strings = []
|
||||
number_of_strings = -1
|
||||
|
@ -197,7 +197,6 @@ def dumpBinary(data, canonical):
|
||||
print("")
|
||||
|
||||
size = len(data)
|
||||
empty_rows = 0
|
||||
prev_row = ''
|
||||
first_repeat = True
|
||||
for pos in range(0, size, 16):
|
||||
|
@ -78,7 +78,7 @@ def convert_from_uf2(buf):
|
||||
if datalen > 476:
|
||||
assert False, "Invalid UF2 data size at " + ptr
|
||||
newaddr = hd[3]
|
||||
if curraddr == None:
|
||||
if curraddr is None:
|
||||
appstartaddr = newaddr
|
||||
curraddr = newaddr
|
||||
padding = newaddr - curraddr
|
||||
@ -171,7 +171,7 @@ def convert_from_hex_to_uf2(buf):
|
||||
break
|
||||
elif tp == 0:
|
||||
addr = upper | (rec[1] << 8) | rec[2]
|
||||
if appstartaddr == None:
|
||||
if appstartaddr is None:
|
||||
appstartaddr = addr
|
||||
i = 4
|
||||
while i < len(rec) - 1:
|
||||
@ -215,7 +215,7 @@ def get_drives():
|
||||
def has_info(d):
|
||||
try:
|
||||
return os.path.isfile(d + INFO_FILE)
|
||||
except:
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
return list(filter(has_info, drives))
|
||||
@ -300,7 +300,7 @@ def main():
|
||||
(ext, len(outbuf), appstartaddr))
|
||||
if args.convert or ext != "uf2":
|
||||
drives = []
|
||||
if args.output == None:
|
||||
if args.output is None:
|
||||
args.output = "flash." + ext
|
||||
else:
|
||||
drives = get_drives()
|
||||
|
Loading…
Reference in New Issue
Block a user