* remove keyboard revision wide feature locks to let rev1_003 use its full
feature set
* add feature removals to let keyboard compile small enough to fit
* change folder structure and add new keyboard id
fixes vial feature set for old and new ploopy mouse.
this is achieved by moving the keymaps folder into the respective
folders.
also change the keyboard id for the new revision.
* remove commented out lines
* remove added newline
* remove all comments
* adds support for ploopy mouse while not using tapdance
* Add Vial support for NCR80 ALPS SKFL/FR (#819)
* add support
* fix
* Update config.h
* Add vial support for the elongate delta (#826)
* Add vial support for the elongate delta delta
* removing uneeded parts
* Add Vial support for desire65 (#830)
* Add vial support for lazydesigners/kontro (#842)
Add vial support for lazydesigners/kontro
* added readme file for rorian04_kbd keyboard (#843)
* added readme file for rorian05_kbd
* Update readme.md
* Add support for K1 Pro ISO RGB, bluetooth delete, USB cable only. (#838)
* add keyboard kbd0/curve0/60_ansi (#834)
* add keyboard kbd0/curve0/60_ansi
* Update vial.json
* Port Leviatan to VIAL (#829)
* Port Swiss to VIAL (#827)
* Port Swiss to VIAL
* Revert some changes
* feat: add VIAL support for xt60_singa (#824)
* fix tapping force hold to use quick tap term internally (#839)
* keebio/quefrency/rev5: reduce vial fw size
* disable key override to save a lot of flash storage
---------
Co-authored-by: Sắn <59417802+MaiTheSan@users.noreply.github.com>
Co-authored-by: Patrick Muldoon <doon@labratsoftware.com>
Co-authored-by: akyp <archerkeyboard2022@gmail.com>
Co-authored-by: Jacky@LAZYDESIGNERS <jacky_lijun@126.com>
Co-authored-by: Rorian04 <114996287+Rorian04@users.noreply.github.com>
Co-authored-by: richud <github@richud.com>
Co-authored-by: kbd0 <108237598+kbd0@users.noreply.github.com>
Co-authored-by: Nam <hey@sunsetsonwheels.me>
Co-authored-by: Yuri Paharev <blood13th@gmail.com>
Co-authored-by: Jaeseok Lee <devsunb@gmail.com>
Co-authored-by: Ilya Zhuravlev <whatever@xyz.is>
* Move RGBLight animations to data driven, 0-9
* Move RGBLight animations to data driven, A
* Move RGBLight animations to data driven, B
* Move RGBLight animations to data driven, C
* Move RGBLight animations to data driven, D
* Move RGBLight animations to data driven, E
* Move RGBLight animations to data driven, F
* Move RGBLight animations to data driven, G
* Move RGBLight animations to data driven, H
* Move RGBLight animations to data driven, handwired
* Move RGBLight animations to data driven, I
* Move RGBLight animations to data driven, J
* Move RGBLight animations to data driven, K
* Move RGBLight animations to data driven, L
* Move RGBLight animations to data driven, M
* Move RGBLight animations to data driven, N
* Move RGBLight animations to data driven, O
* Move RGBLight animations to data driven, P
* Move RGBLight animations to data driven, Q
* Move RGBLight animations to data driven, R
* Move RGBLight animations to data driven, S
* Move RGBLight animations to data driven, T
* Move RGBLight animations to data driven, U
* Move RGBLight animations to data driven, V
* Move RGBLight animations to data driven, W
* Move RGBLight animations to data driven, X
* Move RGBLight animations to data driven, Y
* Move RGBLight animations to data driven, Z
* Fix incorrect placement
* Fix build failures and mismatches
* Clean up `DEBOUNCE` in config.h, 0-9
* Clean up `DEBOUNCE` in config.h, A
* Clean up `DEBOUNCE` in config.h, B
* Clean up `DEBOUNCE` in config.h, C
* Clean up `DEBOUNCE` in config.h, D
* Clean up `DEBOUNCE` in config.h, E
* Clean up `DEBOUNCE` in config.h, F
* Clean up `DEBOUNCE` in config.h, G
* Clean up `DEBOUNCE` in config.h, H
* Clean up `DEBOUNCE` in config.h, handwired
* Clean up `DEBOUNCE` in config.h, I
* Clean up `DEBOUNCE` in config.h, J
* Clean up `DEBOUNCE` in config.h, K
* Clean up `DEBOUNCE` in config.h, L
* Clean up `DEBOUNCE` in config.h, M
* Clean up `DEBOUNCE` in config.h, N
* Clean up `DEBOUNCE` in config.h, O
* Clean up `DEBOUNCE` in config.h, P
* Clean up `DEBOUNCE` in config.h, Q
* Clean up `DEBOUNCE` in config.h, R
* Clean up `DEBOUNCE` in config.h, S
* Clean up `DEBOUNCE` in config.h, T
* Clean up `DEBOUNCE` in config.h, U
* Clean up `DEBOUNCE` in config.h, V
* Clean up `DEBOUNCE` in config.h, W
* Clean up `DEBOUNCE` in config.h, X
* Clean up `DEBOUNCE` in config.h, Y
* Clean up `DEBOUNCE` in config.h, Z
* Remove default debounce from info.json
* Migrate non-default debounce to info.json
* 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>
* PMW33XX drivers overhaul
This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:
* PMW3389 now gets the same multi-sensor feature that is already available on the
PMW3360.
* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
transactions instead of individual byte-sized reads, saving multiple
copies and bitshift operations.
* pmw33(89/60)_get_report functions had unreachable branches in their motion
detection logic these have been simplied as much as possible.
* The fast firmware upload option has been removed as this becomes obsolete by
the newly introduced polled waiting functions for ChibiOS polled waiting
* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
have been removed as they don't need to be configurable.
* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
to reduce code duplication and make the defines interchangeable
* Adjust keyboards to PMW33XX naming scheme