aboutsummaryrefslogtreecommitdiff
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
* [CI] Regenerate Files (#24770)QMK Bot2025-01-0173-73/+73
| | | Regenerate Files
* Provide method to save a single default layer in the full range of 0-31 (#24639)Joel Challis2024-11-252-7/+23
|
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#24630)Joel Challis2024-11-237-0/+76
| | | | | | | | | | | | * [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881) * Apply suggestions from code review Co-authored-by: Nick Brassel <[email protected]> --------- Co-authored-by: Nebuleon <[email protected]> Co-authored-by: Nick Brassel <[email protected]>
* Review fixes for layer lock feature (#24627)Joel Challis2024-11-217-114/+35
|
* [Core] Add Layer Lock feature (#23430)Drashna Jaelre2024-11-218-2/+402
| | | | | | Co-authored-by: Daniel <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]>
* Backward compatibility for new RGB keycode handling (#24490)Ryan2024-11-202-5/+118
| | | | Co-authored-by: Dasky <[email protected]>
* Revert removal of `QK_OUTPUT_AUTO`, fixup docs to reflect. (#24593)Nick Brassel2024-11-141-9/+10
|
* Joystick: add support for 8-way hat switch (#24515)Ryan2024-11-092-1/+31
|
* Expose rgb_matrix_update_pwm_buffers to be available in keymaps (#24573)Eric N. Vander Weele2024-11-071-0/+1
| | | | | | | | | | | | * 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.
* Refactor LED Breathing effect with runner (#24540)フィルターペーパー2024-10-281-10/+5
|
* Refactor Breathing effect with runner (#24535)フィルターペーパー2024-10-271-11/+6
|
* Update Jellybean Raindrops to respect LED range limits (#24534)フィルターペーパー2024-10-271-8/+16
|
* Update Pixel Rain to respect LED range limits (#24532)フィルターペーパー2024-10-271-14/+9
|
* Refactor Riverflow matrix effect with runner (#24520)フィルターペーパー2024-10-271-11/+7
| | | | Co-authored-by: Ryan <[email protected]>
* Move pointing device driver code (#24445)Dasky2024-10-254-537/+46
| | | | Co-authored-by: Drashna Jaelre <[email protected]>
* RGBLight: Improve RGB Test animation (#24477)Ryan2024-10-241-22/+6
|
* [Bug] Fix compiliation issues with OS Detection (#24502)Drashna Jaelre2024-10-191-1/+1
|
* [Core] `usb_device_state`: consolidate usb state handling across ↵Stefan Kerkmann2024-10-187-25/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> * 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 <[email protected]> * keyboards: fix oversize warnings Signed-off-by: Stefan Kerkmann <[email protected]> --------- Signed-off-by: Stefan Kerkmann <[email protected]>
* [Core] quantum: util: add bit and bitmask helpers (#24229)Stefan Kerkmann2024-10-122-0/+34
| | | | | | | | | | | 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 <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]>
* Separate RGBLight/RGB Matrix keycode handling (#23679)Ryan2024-10-123-252/+11
| | | | | | | | | | | | | | | * 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
* Update combo user function variable (#24467)フィルターペーパー2024-10-121-3/+3
|
* Rename RGB and HSV structs (#24471)Ryan2024-10-1256-112/+117
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2024-10-101-0/+6
|\
| * Expand count checks in keymap introspection (#24464)Drashna Jaelre2024-10-111-0/+6
| | | | | | | | | | * Add check Tap Dance count check to keymap introspection * Add checks for combos and key overrides to introspection
* | Extended wheel reports (#24422)eynsai2024-10-063-22/+32
| | | | | | extended wheel reports
* | Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379)Andre Brait2024-10-061-21/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Add easier way to set default single layer (#24376)Andre Brait2024-10-062-2/+7
| | | | | | | | * Add set_single_default_layer to match set_single_persistent_default_layer * Implements exactly the same behavior, except the write to EEPROM
* | WS2812 API rework (#24364)Ryan2024-10-0611-213/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Begin WS2812 API rework * Move RGBW conversion, clean up color.h, fix RGBW for AVR bitbang * Formatting & update PS2AVRGB I2C driver (untested) * Tested ARM bitbang RGB+RGBW * Tested ARM SPI RGB - RGBW not working * Tested ARM PWM RGB+RGBW * Tested RP2040 PIO driver RGB+RGBW * Update RGBLight * Formatting * Fix BM60HSRGB rev2 * Fix oddforge/vea * Fix 1k and XD002 RGBLite * Fix model_m/mschwingen * Fix handwired/promethium * Rename `WS2812_LED_TOTAL` for BM60HSRGB * Fix work_louder boards * Fix dawn60 * Fix rgbkb/pan * Fix neson_design/700e and n6 * Fix ergodox_ez/shine * ergodox_ez/shine: invert indices for left half * Fix matrix/abelx * Fix matrix/m20add * Remove custom rgblight driver for matrix/noah - should be done with lighting layers * Fix LED indexes for RGBLight split * Rename `convert_rgb_to_rgbw()` to `ws2812_rgb_to_rgbw()` * Update WS2812 API docs * `ergodox_ez/shine`: simplify LED index calculation * LED/RGB Matrix: Add weak function for LED index resolution * Bandaid fix for RGB Matrix splits not using WS2812 * `steelseries/prime_plus`: redo custom RGBLight driver * Update keyboards/steelseries/prime_plus/rgblight_custom.c Co-authored-by: Dasky <[email protected]> --------- Co-authored-by: Dasky <[email protected]>
* | Add LD7032 support to QP. (#20828)Dasky2024-09-183-1/+33
| | | | | | | | | | Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]>
* | Reinstate global `k_rgb_matrix_split` (#24388)Ryan2024-09-152-8/+9
| |
* | Add combo key repress feature (#22858)Filios922024-09-051-12/+34
| | | | | | | | Co-authored-by: jack <[email protected]>
* | Remove `arm_atsam` platform (#24337)Joel Challis2024-09-022-6/+1
| |
* | Remove global k_rgb_matrix_split (#24348)Thomas Weißschuh2024-08-311-5/+0
| | | | | | All users have their own local definition.
* | Add new connection keycodes for Bluetooth, 2.4GHz. (#24251)Nick Brassel2024-08-275-18/+85
| |
* | Segregrate keycode at pre-process record quantum (#24194)フィルターペーパー2024-08-261-3/+2
|/
* Enhance overlapping mouse keys control (#23341)フィルターペーパー2024-08-192-5/+15
| | | Enhance the overlapping mouse key press acceleration (introduced in #21494) with user preprocessor controls.
* Add dynamic macro keyboard callbacks (#24142)Drashna Jaelre2024-08-183-286/+44
|
* Refactor starlight RGB matrix effects (#24202)フィルターペーパー2024-08-143-14/+17
| | | | | | * Use unsigned integers * Use lib8tion random8 function * Test for valid LED flags * Use rgb_matrix_hsv_to_rgb function
* Refactor riverflow RGB matrix loop (#24203)フィルターペーパー2024-08-141-1/+1
| | | Check for LED flags at the start of loop to skip early
* Check LED flags for Pixel Fractal effect (#23881)フィルターペーパー2024-07-231-12/+12
|
* Add support for key override introspection. (#24120)Nick Brassel2024-07-164-15/+64
|
* Update atomic GPIO macros in keyboard custom matrix (#23796)Ryan2024-07-131-11/+11
|
* Tap dance introspection (#24049)Nick Brassel2024-07-064-8/+56
|
* Normalise mouse keycodes (#23975)Ryan2024-07-039-111/+150
|
* Rename encoder pins defines (#24003)Ryan2024-07-038-37/+46
|
* Remove deprecated `led_set_user` (#23979)Joel Challis2024-06-222-11/+3
|
* add farsi keymap extras (#23650)Amir2024-06-201-0/+171
|
* APA102: API rework (#23355)Ryan2024-06-131-0/+8
|
* Add process_keycode handlers for new RGB Matrix and Underglow keycodes (#23896)Ryan2024-06-134-0/+212
|
* GC9xxx LCD family drivers (GC9107 and GC9A01) (#23091)Fernando Birra2024-06-053-2/+21
| | | | | | | | | | | | Co-authored-by: Nick Brassel <[email protected]> Co-authored-by: jack <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: フィルターペーパー <[email protected]> Co-authored-by: rookiebwoy <[email protected]> Fixup boardsource/equals (#23106) Fix make clean test:os_detection (#23112) Fix make clean test:os_detection (#23112)" Fixup boardsource/equals (#23106)"