Commit Graph

102 Commits

Author SHA1 Message Date
Jeff Epler
9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
Joel Challis
bbc3bc55f2
RESET -> QK_BOOT user keymaps (#17940) 2022-08-21 23:55:30 +01:00
Drashna Jael're
8f6b019dcc
Merge remote-tracking branch 'origin/master' into develop 2022-08-20 10:22:48 -07:00
Joel Challis
d2accb48e7
RESET -> QK_BOOT keyboard readme (#18110) 2022-08-20 11:34:17 +01:00
fauxpark
61689ae609 Merge remote-tracking branch 'upstream/master' into develop 2022-08-20 10:55:40 +10:00
Ryan
835c971f78
Move keyboard USB IDs and strings to data driven, pass 2: J-L (#18080) 2022-08-20 10:39:35 +10:00
Nick Brassel
154d35ac14
Remove UNUSED_PINS (#17931) 2022-08-06 23:23:35 +10:00
Stefan Kerkmann
f27b617f36
[Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292) 2022-08-06 20:51:13 +10:00
Ryan
7222969964
Move keyboard USB IDs and strings to data driven: L (#17849) 2022-08-02 01:02:19 +01:00
Joel Challis
b7771ec25b
RESET -> QK_BOOT default keymaps (#17037) 2022-05-15 20:26:27 +01:00
Ryan
764dc18a81
Remove NO_ACTION_MACRO and NO_ACTION_FUNCTION from keyboard config.h (#16655) 2022-03-15 13:56:58 +00:00
Matthew Bautista
2ff646c642
[Keyboard] LFK78 VIA support and Update (#16502) 2022-03-07 09:05:41 -08:00
Nick Brassel
a2ffdb4abd Merge remote-tracking branch 'upstream/master' into develop 2022-02-09 16:00:09 +11:00
James Young
e26778ceb5
LFKeyboards Mini1800: refactor into revisions (#16260)
* fork Mini1800 into reva and revc versions

* update info.json

- apply friendly formatting
- update maintainer value

* update keymap rules.mk formatting

- align inline comments
- convert tabs to spaces

* align keymap rules.mk files to QMK template

* move common keymap rules.mk settings to revision level

* info.json: correct key sequence

* align revision rules.mk files to QMK template

* clean up revision rules.mk files

* add readme files for each revision

* correct USB Product string

* remove post_rules.mk files

The internal settings were commented out, so the files actually don't do anything.

* edit Bootloader instructions on main readme

* move non-assignment rules to post_rules.mk

* add inline comments for NKRO_ENABLE per fauxpark
2022-02-07 20:12:59 -08:00
Ryan
8ec18d1476
Remove action_function() from LFKeyboards boards (#15993) 2022-01-22 18:24:02 +00:00
Ryan
99b35940bc
Remove unnecessary backslash-escapes in default keymaps (#15472)
* Remove unnecessary backslash-escapes in default keymaps

* Remove unnecessary backslash-escapes in via keymaps

* Remove unnecessary backslash-escapes in default-ish keymaps
2021-12-14 12:41:16 +00:00
Ryan
a8d440e4e0
Tidy up NKRO_ENABLE rules (#15382) 2021-12-09 16:05:44 +11:00
Ryan
315fb6e724
Remove empty config.h from default-ish keymaps (#15429) 2021-12-09 16:00:55 +11:00
Ryan
7f90cb1781
Remove references to Makefile in keyboard-level rules.mk (#15427) 2021-12-07 23:40:26 +00:00
Ryan
c12b997679
Tidy up SLEEP_LED_ENABLE rules (#15362) 2021-12-01 21:13:00 +11:00
James Young
84ea77ead6
Remove BOOTMAGIC_ENABLE = lite option (#15002)
* remove BOOTMAGIC_ENABLE=lite setting

* change keyboard BOOTMAGIC_ENABLE rules

Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keyboard BOOTMAGIC_ENABLE inline comments

Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite".

* change keymap BOOTMAGIC_ENABLE rules

Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keymap BOOTMAGIC_ENABLE inline comments

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* change layout/user BOOTMAGIC_ENABLE rules/comments

Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/

* remove docs references to Full Bootmagic

* convert data-driven Bootmagic Lite instances

* remove Bootmagic Lite bodge from data-driven generation

* Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a

* update docs/ja/config_options.md per mtei

* update docs/faq_misc.md per mtei

Remove remaining Full Bootmagic reference.
2021-11-05 08:18:09 +11:00
QMK Bot
e5d48f6d16 Merge remote-tracking branch 'origin/master' into develop 2021-09-30 09:17:50 +00:00
Ryan
0b37e07f90
Remove redundant MIDI_ENABLE = no in keyboard-level rules.mk (#14649) 2021-09-30 19:17:20 +10:00
James Young
922c8071e4
Merge remote-tracking branch 'upstream/master' into develop 2021-09-29 23:23:10 -07:00
Ryan
36bc3c867e
Remove redundant UNICODE_ENABLE = no in keyboard-level rules.mk (#14633) 2021-09-30 08:14:21 +10:00
James Young
843b9a7e4d
Merge remote-tracking branch 'upstream/master' into develop 2021-09-26 03:04:11 -07:00
James Young
6f36eb469d
Remove unused IS_COMMAND() instances and Magic Key definitions (#14610)
* Remove unused IS_COMMAND() instances from keyboard-level config.h, 0-9

* Remove unused IS_COMMAND() instances from keyboard-level config.h, A-B

* Remove unused IS_COMMAND() instances from keyboard-level config.h, C-D

* Remove unused IS_COMMAND() instances from keyboard-level config.h, E-G

* Remove unused IS_COMMAND() instances from keyboard-level config.h, handwired

* Remove unused IS_COMMAND() instances from keyboard-level config.h, H-M

* Remove unused IS_COMMAND() instances from keyboard-level config.h, N-R

* Remove unused IS_COMMAND() instances from keyboard-level config.h, S-Z

* Remove unused Magic Key definitions from keyboard-level config.h, 0-9

* Remove unused Magic Key definitions from keyboard-level config.h, A

* Remove unused Magic Key definitions from keyboard-level config.h, B

* Remove unused Magic Key definitions from keyboard-level config.h, C

* Remove unused Magic Key definitions from keyboard-level config.h, D-E

* Remove unused Magic Key definitions from keyboard-level config.h, F-H

* Remove unused Magic Key definitions from keyboard-level config.h, handwired

* Remove unused Magic Key definitions from keyboard-level config.h, I-K

* Remove unused Magic Key definitions from keyboard-level config.h, L-M

* Remove unused Magic Key definitions from keyboard-level config.h, N-R

* Remove unused Magic Key definitions from keyboard-level config.h, S-V

* Remove unused Magic Key definitions from keyboard-level config.h, W-Z

* Merge remote-tracking branch 'upstream/master' into clean/command_and_magic

* Remove remaining unused IS_COMMAND() instances from keyboard-level config.h
2021-09-26 02:57:20 -07:00
QMK Bot
cbdaf686ff Merge remote-tracking branch 'origin/master' into develop 2021-09-21 16:55:10 +00:00
Ryan
d84794b352
Remove keyboard-level TAP_DANCE_ENABLE rules (#14538) 2021-09-21 17:54:36 +01:00
fauxpark
94572d74b5 Merge remote-tracking branch 'upstream/master' into develop 2021-09-21 20:19:07 +10:00
Ryan
6b74e48f81
Remove audio pin references in rules.mk (#14532) 2021-09-21 20:04:03 +10:00
QMK Bot
bda8924795 Merge remote-tracking branch 'origin/master' into develop 2021-09-12 05:28:01 +00:00
Ryan
5af1799735
Remove BLUETOOTH_ENABLE from keyboard-level rules.mk (#14379) 2021-09-12 15:27:29 +10:00
fauxpark
1895151a9c Merge remote-tracking branch 'upstream/master' into develop 2021-09-12 14:10:26 +10:00
Ryan
4791cfae1a
Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
QMK Bot
b6a6217f85 Merge remote-tracking branch 'origin/master' into develop 2021-09-10 13:11:50 +00:00
Ryan
7277f1febe
Remove BLUETOOTH_ENABLE from defaultish keymaps (#14375) 2021-09-10 14:11:17 +01:00
Zach White
c94cc1effa
Move non-assignment code to post_rules.mk (#14207)
* 40percentclub/ut47: move non-assignment code to post_rules.mk

* converter/palm_usb: move non-assignment code to post_rules.mk

* converter/sun_usb: move non-assignment code to post_rules.mk

* dm9records/ergoinu: move non-assignment code to post_rules.mk

* ergotaco: move non-assignment code to post_rules.mk

* handwired/symmetric70_proto: move non-assignment code to post_rules.mk

* hhkb/ansi: move non-assignment code to post_rules.mk

* hhkb/jp: move non-assignment code to post_rules.mk

* lfkeyboards/lfk78: move non-assignment code to post_rules.mk

* lfkeyboards/lfk87: move non-assignment code to post_rules.mk

* lfkeyboards/lfkpad: move non-assignment code to post_rules.mk

* lfkeyboards/mini1800: move non-assignment code to post_rules.mk

* manta60: move non-assignment code to post_rules.mk

* mschwingen/modelm: move non-assignment code to post_rules.mk

* newgame40: move non-assignment code to post_rules.mk

* numatreus: move non-assignment code to post_rules.mk

* rgbkb/zen: move non-assignment code to post_rules.mk

* rgbkb/zen/rev2: move non-assignment code to post_rules.mk

* Revert "handwired/symmetric70_proto: move non-assignment code to post_rules.mk"

This reverts commit cffaf0075c3c9b2473a660ba4af8835a9162311b.
2021-09-09 21:37:31 -07:00
QMK Bot
e6ff638abf Merge remote-tracking branch 'origin/master' into develop 2021-09-10 03:36:14 +00:00
Ryan
7eea780a7d
Remove bootloader listings from rules.mk (#14330) 2021-09-10 13:35:46 +10:00
QMK Bot
147289e173 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 20:37:03 +00:00
Ryan
fe6d6cf76d
Remove empty override functions (#14312)
* Remove empty override functions, 0-9

* Remove empty override functions, A-D

* Remove empty override functions, E-H

* Remove empty override functions, handwired

* Remove empty override functions, I-L

* Remove empty override functions, M-P

* Remove empty override functions, Q-T

* Remove empty override functions, U-Z
2021-09-05 21:36:31 +01:00
QMK Bot
337be283ca Merge remote-tracking branch 'origin/master' into develop 2021-09-03 16:10:08 +00:00
Ryan
8574bf20d3
Remove more cruft in keyboard files (#14288) 2021-09-03 17:09:30 +01:00
Ryan
41c50bb653
Change keyboard level include guards to pragma once (#14248)
* Change keyboard level include guards to `pragma once`

And clean up a lot of layout macros

* Oops

* Remove dangling endif
2021-09-01 19:03:14 +10:00
Drashna Jaelre
c5f41d42d8
Updated RGB Matrix suspend define part 3 (#13954)
* Updated RGB Matrix suspend define part 3

* Revert "Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)"

This reverts commit 80015f7fb0.

* Add additional boards/keymaps
2021-08-22 09:46:35 +10:00
James Young
4b453dca92
Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
fauxpark
4b3691e72d Merge remote-tracking branch 'upstream/master' into develop 2021-08-15 15:27:25 +10:00
Ryan
b1d8efeb59
LFKeyboards: Replace KC_FNx with F(x) (#13999) 2021-08-15 15:18:41 +10:00
QMK Bot
6c5ef3ce30 Merge remote-tracking branch 'origin/master' into develop 2021-08-08 03:38:09 +00:00