Commit Graph

3036 Commits

Author SHA1 Message Date
QMK Bot
a2306ebcf1 Merge remote-tracking branch 'origin/develop' into xap 2024-12-02 05:58:50 +00:00
Drashna Jaelre
b599c78548
Fix Quantum Painter compiliation issues with heavy optimization (#24667) 2024-12-02 16:58:18 +11:00
QMK Bot
ce130eeae9 Merge remote-tracking branch 'origin/develop' into xap 2024-11-24 20:35:53 +00:00
Joel Challis
36f306b4a5
Provide method to save a single default layer in the full range of 0-31 (#24639) 2024-11-25 07:35:21 +11:00
QMK Bot
dd2dbffb16 Merge remote-tracking branch 'origin/develop' into xap 2024-11-23 10:10:04 +00:00
Joel Challis
4a5bae51cd
[Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#24630)
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881)

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

---------

Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-11-23 10:09:34 +00:00
QMK Bot
ce6bc82ca7 Merge remote-tracking branch 'origin/develop' into xap 2024-11-21 13:03:22 +00:00
Joel Challis
968a611476
Review fixes for layer lock feature (#24627) 2024-11-21 13:02:49 +00:00
QMK Bot
6298984d12 Merge remote-tracking branch 'origin/develop' into xap 2024-11-21 06:32:17 +00:00
Drashna Jaelre
36b5559b99
[Core] Add Layer Lock feature (#23430)
Co-authored-by: Daniel <1767914+iamdanielv@users.noreply.github.com>
Co-authored-by: Pascal Getreuer <getreuer@google.com>
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
2024-11-21 17:31:54 +11:00
QMK Bot
d2f5a1c1f1 Merge remote-tracking branch 'origin/develop' into xap 2024-11-19 22:54:06 +00:00
Ryan
9c86583981
Backward compatibility for new RGB keycode handling (#24490)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2024-11-20 09:53:33 +11:00
QMK Bot
dd3ff636a8 Merge remote-tracking branch 'origin/develop' into xap 2024-11-14 10:17:25 +00:00
Nick Brassel
0bda0f4775
Revert removal of QK_OUTPUT_AUTO, fixup docs to reflect. (#24593) 2024-11-14 21:16:52 +11:00
QMK Bot
479e507cff Merge remote-tracking branch 'origin/develop' into xap 2024-11-09 22:10:41 +00:00
Ryan
a3cfb1dab7
Joystick: add support for 8-way hat switch (#24515) 2024-11-09 14:10:10 -08:00
QMK Bot
da066c78a7 Merge remote-tracking branch 'origin/develop' into xap 2024-11-08 06:13:45 +00:00
Eric N. Vander Weele
9523ed9e32
Expose rgb_matrix_update_pwm_buffers to be available in keymaps (#24573)
* Expose rgb_matrix_update_pwm_buffers to be available in keymaps

Exposing this API enables the examples in the keyboard shutdown/reboot
documentation to compile instead of calling `rgb_matrix_driver.flush`
directly.

* Remove extraneous rgb_matrix_update_pwm_buffers prototype declarations

Now that `rgb_matrix_update_pwm_buffers` is public, there isn't the need
for local prototype declarations.
2024-11-07 23:12:59 -07:00
QMK Bot
b1f95ffd5f Merge remote-tracking branch 'origin/develop' into xap 2024-10-28 17:57:27 +00:00
フィルターペーパー
06b7dce565
Refactor LED Breathing effect with runner (#24540) 2024-10-28 10:56:54 -07:00
QMK Bot
5b42ce0ad4 Merge remote-tracking branch 'origin/develop' into xap 2024-10-28 06:20:48 +00:00
フィルターペーパー
25fac5e737
Refactor Breathing effect with runner (#24535) 2024-10-27 23:20:38 -07:00
QMK Bot
1647ce22d2 Merge remote-tracking branch 'origin/develop' into xap 2024-10-28 06:20:17 +00:00
フィルターペーパー
dd7287bf4e
Update Jellybean Raindrops to respect LED range limits (#24534) 2024-10-27 23:20:14 -07:00
フィルターペーパー
d9fedce9b9
Update Pixel Rain to respect LED range limits (#24532) 2024-10-27 23:19:45 -07:00
QMK Bot
b394a465c9 Merge remote-tracking branch 'origin/develop' into xap 2024-10-28 05:51:33 +00:00
フィルターペーパー
644588baef
Refactor Riverflow matrix effect with runner (#24520)
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-10-27 22:51:01 -07:00
QMK Bot
2088bb3774 Merge remote-tracking branch 'origin/develop' into xap 2024-10-25 17:12:26 +00:00
Dasky
f5b495e06e
Move pointing device driver code (#24445)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-10-25 18:11:51 +01:00
QMK Bot
d383244336 Merge remote-tracking branch 'origin/develop' into xap 2024-10-24 04:27:57 +00:00
Ryan
bb9625ba55
RGBLight: Improve RGB Test animation (#24477) 2024-10-24 15:27:24 +11:00
QMK Bot
88b7b9a756 Merge remote-tracking branch 'origin/develop' into xap 2024-10-19 10:25:13 +00:00
Drashna Jaelre
baa29fef9d
[Bug] Fix compiliation issues with OS Detection (#24502) 2024-10-19 12:24:42 +02:00
QMK Bot
595e339f57 Merge remote-tracking branch 'origin/develop' into xap 2024-10-18 07:57:41 +00:00
Stefan Kerkmann
3f9d464412
[Core] usb_device_state: consolidate usb state handling across implementations (#24258)
* usb_device_state: add idle_rate, led and protocol

Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:

- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint

And a local variable that was exposed trough some indirection:

- keyboard_led_state: for the currently set indicator leds (caps lock etc.)

These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.

This reduces code duplication and centralizes the state management
across platforms and drivers.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* usb_device_state: reset protocol on reset

The usb hid specification section 7.2.6 states:

When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.

Thus on reset we should always do exactly that.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* keyboards: fix oversize warnings

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

---------

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-10-18 09:57:08 +02:00
QMK Bot
c544ea0a58 Merge remote-tracking branch 'origin/develop' into xap 2024-10-12 16:48:35 +00:00
Stefan Kerkmann
5478051d74
[Core] quantum: util: add bit and bitmask helpers (#24229)
quantum: util: add bit and bitmask helpers

These helpers are handy and can prevent off-by-one errors when working
with registers and general low level bit manipulation tasks. The macros
themself are inspired by the bits.h macros from the linux kernel source
code.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
2024-10-12 18:48:00 +02:00
QMK Bot
f54b3a244b Merge remote-tracking branch 'origin/develop' into xap 2024-10-12 16:44:22 +00:00
Ryan
6fa11bf219
Separate RGBLight/RGB Matrix keycode handling (#23679)
* Separate RGBLight/RGB Matrix keycode handling

* Remove `_DISABLE_KEYCODES` handling

* Update RGB Matrix keycode docs

* Update underglow keycodes for previously migrated boards

* Update keycodes for boards with custom handling

* Fix typos

* Fix bad merge
2024-10-12 18:43:50 +02:00
QMK Bot
6ed62e1a84 Merge remote-tracking branch 'origin/develop' into xap 2024-10-11 23:14:07 +00:00
フィルターペーパー
8844fba607
Update combo user function variable (#24467) 2024-10-12 00:13:31 +01:00
QMK Bot
31cdc0eb28 Merge remote-tracking branch 'origin/develop' into xap 2024-10-11 23:10:38 +00:00
Ryan
6129af93f4
Rename RGB and HSV structs (#24471) 2024-10-12 00:10:02 +01:00
QMK Bot
ccae9c280d Merge remote-tracking branch 'origin/develop' into xap 2024-10-10 19:56:01 +00:00
QMK Bot
29bc842fe2 Merge remote-tracking branch 'origin/master' into develop 2024-10-10 19:55:27 +00:00
Drashna Jaelre
49a1a12a32
Expand count checks in keymap introspection (#24464)
* Add check Tap Dance count check to keymap introspection

* Add checks for combos and key overrides to introspection
2024-10-11 06:54:53 +11:00
QMK Bot
4620ec420b Merge remote-tracking branch 'origin/develop' into xap 2024-10-06 09:27:36 +00:00
eynsai
2cb35373c6
Extended wheel reports (#24422)
extended wheel reports
2024-10-06 11:26:55 +02:00
QMK Bot
fd2f87fe9f Merge remote-tracking branch 'origin/develop' into xap 2024-10-06 08:51:40 +00:00
Andre Brait
7f475b590a
Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379)
* Default OS_DETECTION_DEBOUNCE bumped from 200ms to 250ms
* Add OS_DETECTION_SINGLE_REPORT to prevent undesired multiple reports
* Prevents random stability issues on ARM MacBooks after switching via KVM
* Works for every device I could test, including ARM MacBooks
* Disabled by default to keep current behavior
* Add Troubleshooting section on documentation
* Tweak reset logic to prevent a freeze with some KVMs

The USB stack on ARM MacBooks is more similar to that of iOS and,
for some reason, it seems to like sending packets that influence
the OS detection and results in a second OS_MACOS report being sent
at a random period of time after plugging the keyboard back. This
does not always happen and the consequences of this vary based on
what the user is doing in the callback, but since this is not
obvious and it's hard to debug, I've decided to add a flag for
those affected by such issue. The stability issue I had in mine was
a combination of factors and I found the actual cause being my own
bad math when changing the default layer, but this change alone is
also confirmed to fix it. Lastly, soem KVMs seem to leave the USB
controlled in a suspended state when cold-booting Windows, meaning
the keyboard would hang and the reset logic would not work. This
tunes it so that it can get out of such state. Also retested for
compatibility with my old KVM to ensure the logic works for both.
2024-10-06 21:50:39 +13:00