Commit Graph

2086 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
QMK Bot
2c5aa98143 Merge remote-tracking branch 'origin/master' into develop 2022-08-30 08:04:19 +00:00
precondition
6f2c173743
Expand on the differences between Caps Word and Caps Lock (#18139)
* Expand on the differences between Caps Word and Caps Lock

* Add the equiv default KC_ next to intl alias

* It's configurable so it's not a problem
2022-08-30 10:03:25 +02:00
Stefan Kerkmann
e99ec28f5f
[Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
Nick Brassel
d910e8df77
Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
Ryan
d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
Nick Brassel
9b5b072255
2022q3 Changelog. (#18180)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-28 14:20:52 +10:00
QMK Bot
d942c03be6 Merge remote-tracking branch 'origin/master' into develop 2022-08-22 23:06:18 +00:00
Jesse
624d92e2f5
Update Tap Dance Example 4 (#18138)
break statements are missing from the switch for both registering and unregistering key codes. Neither have a default: case either. The code as exists in the repository right now does not compile. It does with this changes.
2022-08-23 00:05:35 +01:00
Erovia
5e2ffe7d8f
CLI: Teaching the CLI to flash binaries (#16584)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-08-20 15:39:19 +10:00
QMK Bot
5ee482b110 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:19:23 +00:00
Simon Hengel
e6a1afb8f1
[Docs] Fix typo in data driven config docs (#18095) 2022-08-18 18:18:51 -07:00
QMK Bot
2ed2c88a08 Merge remote-tracking branch 'origin/master' into develop 2022-08-19 01:17:50 +00:00
~ aka goonf!sh
286dd6abe6
[Docs] Update list of "ARM-based ProMicro replacements" (#18083) 2022-08-18 18:17:20 -07:00
David Hoelscher
a645301c82
Add Bonsai C4 converter (#17711) 2022-08-18 01:01:54 +01:00
QMK Bot
cfab3e2d6e Merge remote-tracking branch 'origin/master' into develop 2022-08-17 02:37:10 +00:00
Albert Y
a1f0208797
[Docs] Use layer number as example for COMBO_ONLY_FROM_LAYER (#18072)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-16 19:37:06 -07:00
QMK Bot
77150d00ac Merge remote-tracking branch 'origin/master' into develop 2022-08-16 18:42:23 +00:00
coliss86
837a57b3c5
Adjust the hierarchy of chapter Deferred Execution (#18075) 2022-08-16 11:41:31 -07:00
QMK Bot
c5dc4b4d1d Merge remote-tracking branch 'origin/master' into develop 2022-08-16 17:02:38 +00:00
Tom Barnes
2f4ad40561
[Docs] update pr_checklist.md with info about data-driven (#18068)
* update pr_checklist with info about data-driven

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-08-16 18:01:56 +01:00
Chewxy
6fc7c03e95
Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
Mega Mind
fce99f3875
[Controller] Added board config for custom controller STeMCell (#16287)
Co-authored-by: Mariappan Ramasamy <947300+Mariappan@users.noreply.github.com>
Co-authored-by: Mariappan Ramasamy <maari@basis-ai.com>
Co-authored-by: Sadek Baroudi <sadekbaroudi@gmail.com>
2022-08-14 21:27:26 +10:00
QMK Bot
2d40713567 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:52:21 +00:00
Nick Brassel
86261bfd8e
Add texts for Discord Events to be created post-merge. (#17944) 2022-08-13 17:51:45 -07:00
QMK Bot
2363a3bc42 Merge remote-tracking branch 'origin/master' into develop 2022-08-14 00:33:31 +00:00
Tom Barnes
0d3e07a3db
[Docs] Suggest imgur images are edited to set size (#18031) 2022-08-13 17:32:30 -07:00
Jay Greco
4eeafbebab
Add Bit-C PRO converter (#17827) 2022-08-13 14:48:30 +01:00
Joel Challis
fc7e9efd21
Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
QMK Bot
06391314cd Merge remote-tracking branch 'origin/master' into develop 2022-08-13 00:27:58 +00:00
Albert Y
70c6b183df
[Docs] Refactor code examples (#18003) 2022-08-12 17:27:24 -07:00
Drashna Jaelre
ccdba43e59
Create generic Pointing Device Pin defines (#17776) 2022-08-12 16:22:34 -07: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
QMK Bot
1d45c99355 Merge remote-tracking branch 'origin/master' into develop 2022-08-06 06:37:08 +00:00
Albert Y
64acbcb42a
[Docs] Building with GitHub Userspace (#16271) 2022-08-06 16:36:31 +10:00
Drashna Jaelre
eb417b3aaf
Add deprecated check for RGBLIGHT_ANIMATIONS (#17832) 2022-08-04 11:05:53 -07:00
David Hoelscher
2bdd73f801
Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
Joel Challis
c10c2575b8
Remove OLED driver Split Common warning (#17862) 2022-07-31 12:33:12 -07:00
Daniel Kao
b03a7cef75
Fix POINTING_DEVICE_GESTURES_SCROLL_ENABLE typo (#17850)
* Fix typo for POINTING_DEVICE_GESTURES_SCROLL_ENABLE

Follow the name written in documentation which follows
POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE

* Reword the blurb about POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE in docs
2022-07-31 15:51:20 +01:00
Drzony
0b726a437b
Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07:00
precondition
95c1cc425e
Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
Drashna Jael're
3d98269652
Merge remote-tracking branch 'origin/master' into develop 2022-07-27 07:40:30 -07:00
Drashna Jaelre
8973835183
[Docs] Add information about WeAct Blackpill F411 (#16755)
* [Docs] Add information about WeAct Blackpill F411

* Add clarification for matrix pins

* Update documentation

* Tweak wording
2022-07-27 14:49:12 +01:00
Drashna Jaelre
5d898a3d34
[Docs] Updates to Pointing Device Docs (#17777) 2022-07-26 00:27:34 -07:00
Drashna Jaelre
683eeca2e2
[Docs] Fix custom debug function and sample output (#17790) 2022-07-25 23:07:15 +01:00
QMK Bot
336df3297e Merge remote-tracking branch 'origin/master' into develop 2022-07-24 23:01:36 +00:00
Drashna Jaelre
c0763363db
[Docs] Fix tables in Audio driver document (#17780) 2022-07-25 00:00:51 +01:00
JayceFayne
d02cefe613
implement tap_code16_delay (#17748) 2022-07-23 19:21:20 +01:00
jack
a6f3194397
Add ability to enter bootloader mode from QK_MAKE (#17745) 2022-07-23 17:43:32 +01:00