aboutsummaryrefslogtreecommitdiff
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
* Community modules (#24848)Nick Brassel2025-02-267-4/+93
|
* Created SH1107 driver for quantum painter (#24724)Steve Storck2025-02-173-0/+32
| | | | Co-authored-by: Sergey Vlasov <[email protected]>
* Retro Tapping Re-Write; Key Roll Fix (#23641)John2025-02-161-12/+38
|
* Chaining OSL and MO (#23065)DavidSannier2025-02-161-0/+4
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2025-01-292-8/+55
|\
| * [OS Detection] Improve MacOS detection (#24708)Drashna Jaelre2025-01-302-8/+55
| |
* | Invoke `process_record_via` after `_user`/`_kb` have a chance to handle it. ↵Nick Brassel2025-01-301-3/+3
| | | | | | | | (#24879)
* | [Bug][Core] Fix for Chordal Hold: stuck mods when mod-taps are pressed in a ↵Pascal Getreuer2025-01-301-1/+1
| | | | | | | | stuttered sequence. (#24878)
* | [Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to ↵Pascal Getreuer2025-01-272-20/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Achordion, Bilateral Combinations. (#24560) * Chordal Hold: restrict what chords settle as hold * Chordal Hold: docs and further improvements * Fix formatting. * Doc rewording and minor edit. * Support Chordal Hold of multiple tap-hold keys. * Fix formatting. * Simplification and additional test. * Fix formatting. * Tighten tests. * Add test two_mod_taps_same_hand_hold_til_timeout. * Revise handing of pairs of tap-hold keys. * Generate a default chordal_hold_layout. * Document chordal_hold_handedness(). * Add license notice to new and branched files in PR. * Add `tapping.chordal_hold` property for info.json. * Update docs/reference_info_json.md * Revise "hand" jsonschema. * Chordal Hold: Improved layout handedness heuristic. This commit improves the heuristic used in generate-keyboard-c for inferring key handedness from keyboard.json geometry data. Heuristic summary: 1. If the layout is symmetric (e.g. most split keyboards), guess the handedness based on the sign of (x - layout_x_midpoint). 2. Otherwise, if the layout has a key of >=6u width, it is probably the spacebar. Form a dividing line through the spacebar, nearly vertical but with a slight angle to follow typical row stagger. 3. Otherwise, assume handedness based on the widest horizontal separation. I have tested this strategy on a couple dozen keyboards and found it to work reliably. * Use Optional instead of `| None`. * Refactor to avoid lambdas. * Remove trailing comma in chordal_hold_layout. * Minor docs edits. * Revise to allow combining multiple same-hand mods. This commit revises Chordal Hold as described in discussion in https://github.com/qmk/qmk_firmware/pull/24560#discussion_r1894655238 1. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RCTL_T(KC_A)↑" before the tapping term, RCTL_T(KC_A) is settled as tapped. 2. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RSFT_T(KC_C)↑", both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 3. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, KC_U↓" (all keys on the same side), both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 4. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, LSFT_T(KC_T)↓", with the third key on the other side, we allow Permissive Hold or Hold On Other Keypress to decide how/when to settle the keys. 5. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓" held until the tapping term, the keys are settled as held. 1–3 provide same-hand roll protection. 4–5 are for combining multiple same-hand modifiers. I've updated the unit tests and have been running it on my keyboard, for a few hours so far, and all seems good. I really like this scheme. It allows combining same-side mods, yet it also has roll protection on streaks. For me, this feels like Achordion, but clearly better streak handling and improved responsiveness. * Fix formatting. * Add a couple tests with LT keys. * Remove stale use of CHORDAL_HOLD_LAYOUT. * Fix misspelling lastest -> latest * Handling tweak for LTs and tests. * Fix formatting. * More tests with LT keys. * Fix formatting.
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-01-251-0/+1
|\|
| * Fix missing wait.h include in Dip Switch Map (#24863)Drashna Jaelre2025-01-251-0/+1
| |
* | Consolidate send_string implementations. (#24817)Nick Brassel2025-01-213-102/+60
| |
* | Consolidate timer_elapsed implementations (#24830)Joel Challis2025-01-193-0/+3
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-01-081-1/+4
|\|
| * [Bug] Fix Underglow keycode processing (#24798)Drashna Jaelre2025-01-081-1/+4
| | | | | | | | Co-authored-by: Ryan <[email protected]>
* | Refactor Hue Breathing matrix effect with runner (#24525)フィルターペーパー2025-01-021-13/+9
| |
* | Add leader_add_user callback (#24266)Will Spooner2025-01-012-0/+16
| |
* | Update Raindrops effect to respect LED range limits (#24531)フィルターペーパー2025-01-011-11/+18
| |
* | Update Starlight matrix effects (#24521)フィルターペーパー2025-01-013-35/+56
| |
* | always return audio pin to 0 on ARM (#24503)David Hoelscher2025-01-011-3/+2
| |
* | [CI] Regenerate Files (#24772)QMK Bot2025-01-011-1/+1
| | | | | | Regenerate Files
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-01-0173-73/+73
|\|
| * [CI] Regenerate Files (#24770)QMK Bot2025-01-0173-73/+73
| | | | | | Regenerate Files
* | Add keymap-extras for EurKEY layout (#24241)j-hap2024-12-231-0/+166
| | | | | | | | | | Co-authored-by: Ryan <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]>
* | Subscript alef correction (#24707)フィルターペーパー2024-12-121-1/+1
| | | | | | Output for U+0656 is AltGr + V
* | Fix Quantum Painter compiliation issues with heavy optimization (#24667)Drashna Jaelre2024-12-022-7/+7
|/
* 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