aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/keyboard.c
Commit message (Collapse)AuthorAgeFilesLines
* [Core] suspend: suppress wake up keypress (#23389)Stefan Kerkmann2025-11-111-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * suspend: suppress wake up keypress Waking the host from suspend is done by pressing any key on the keyboard, the regular key codes assigned to the keys are not important and must not be sent - otherwise they usually end up in password prompts as ghost characters that have to be deleted again. This commit adds suppression for all keys pressed at the time of wake up. Once a key is released it functions as a regular key again. Signed-off-by: Stefan Kerkmann <karlk90@pm.me> * suspend: update wake up matrix after wake up delay If USB_SUSPEND_WAKEUP_DELAY is set, the keyboard sleeps during wake up - which can be up to multiple seconds. To handle key presses and releases in that time frame we have to handle the following cases: 1. Key not pressed before suspend, and not pressed after wakeup → do nothing (normal case). 2. Key not pressed before suspend, but pressed after wakeup → set the wakeup_matrix bit to 1 (so that the press and release events would be suppressed). 3. Key pressed before suspend, but not pressed after wakeup → do nothing (the release event will be generated on the first matrix_task() call after the wakeup). 4. Key pressed before suspend, and still pressed after wakeup → do nothing (the release event will be generated some time later). Signed-off-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * keyboards: anavi: macropad8: disable snake and rgb_test effects ...to shrink the binary size.
* Implement minimal connection update logic (#25334)Joel Challis2025-11-071-0/+4
|
* Refactor battery driver (#25550)Joel Challis2025-08-171-3/+3
|
* Relocate `AUDIO_INIT_DELAY` implementation (#25491)Joel Challis2025-07-141-18/+2
|
* Deprecate `usb.force_nkro`/`FORCE_NKRO` (#25262)Joel Challis2025-05-141-0/+1
|
* Implement connection keycode logic (#25176)Joel Challis2025-04-211-0/+6
|
* Non-volatile memory data repository pattern (#24356)Nick Brassel2025-03-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First batch of eeconfig conversions. * Offset and length for datablocks. * `via`, `dynamic_keymap`. * Fix filename. * Commentary. * wilba leds * satisfaction75 * satisfaction75 * more keyboard whack-a-mole * satisfaction75 * omnikeyish * more whack-a-mole * `generic_features.mk` to automatically pick up nvm repositories * thievery * deferred variable resolve * whitespace * convert api to structs/unions * convert api to structs/unions * convert api to structs/unions * fixups * code-side docs * code size fix * rollback * nvm_xxxxx_erase * Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too. * Fixup build. * Fixup compilation error with encoders. * Build fixes. * Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof. * Build failure rectification.
* Implement battery level interface (#24666)Joel Challis2025-02-281-0/+10
| | | | Co-authored-by: Nick Brassel <nick@tzarc.org>
* Community modules (#24848)Nick Brassel2025-02-261-2/+42
|
* Review fixes for layer lock feature (#24627)Joel Challis2024-11-211-3/+3
|
* [Core] Add Layer Lock feature (#23430)Drashna Jaelre2024-11-211-0/+7
| | | | | | 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>
* Rename `process_{led,rgb}_matrix()` (#23422)Ryan2024-04-051-2/+2
|
* Add encoder abstraction. (#21548)Nick Brassel2024-02-181-1/+1
|
* [Core] Add OS detection callbacks (#21777)Andre Brait2024-02-161-0/+7
|
* Fix joystick initialization (#22953)Joel Challis2024-02-161-0/+3
|
* Begin removal of bootmagic lite terminology (#22970)Joel Challis2024-01-281-19/+39
|
* Align Dip Switch feature (#22625)Joel Challis2023-12-081-1/+1
|
* Move velocikey to within rgblight (#22123)Joel Challis2023-09-251-9/+0
|
* Add full solenoid support on split keyboards (#21583)jacob-w-gable2023-09-251-7/+7
| | | | Co-authored-by: Jacob Gable <jacob.gable@statheros.tech>
* quantum: remove direct `quantum.h` includes (#21507)Ryan2023-07-161-2/+32
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2023-04-301-2/+2
|\
| * Fix MATRIX_HAS_GHOST when MATRIX_COL > 16 (#20093)Christopher Berner2023-04-301-2/+2
| |
* | [Core] Refactor `keyevent_t` for 1ms timing resolution (#15847)Stefan Kerkmann2023-04-031-1/+1
| |
* | Add last activity functions for pointing device (#20079)Drashna Jaelre2023-03-311-22/+30
| |
* | Remove use of keymap.h (#20004)Joel Challis2023-03-271-1/+1
| |
* | Sync activity timestamps between sides. (#20192)Nick Brassel2023-03-211-5/+11
|/ | | | Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* core: allow locking the matrix state (#18852)dexter932023-02-121-1/+13
| | | | | | Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me> Co-authored-by: Nick Brassel <nick@tzarc.org>
* Refactor Leader key feature (#19632)Ryan2023-02-121-0/+7
| | | | Co-authored-by: Drashna Jaelre <drashna@live.com>
* Fix functions with empty params (#19647)Ryan2023-01-201-1/+1
| | | | | * Fix functions with empty params * Found a bunch more
* Fix encoder_init call order in keyboard_init (#19140)Christopher Hoage2022-11-271-3/+3
|
* Digitizer feature improvements (#19034)Ryan2022-11-131-7/+0
|
* Programmable Button API refactor and improve docs (#18641)Ryan2022-10-151-7/+0
|
* Implement split comms watchdog (#18599)Dasky2022-10-061-0/+4
|
* Start Bluetooth API (#18366)Ryan2022-09-291-10/+5
|
* Start moving towards introspection-based data retrieval (#18441)Nick Brassel2022-09-291-3/+2
|
* Move Bluetooth-related function calls up to host/keyboard level (#18274)Ryan2022-09-071-3/+12
| | | | | | | | | | | * Move Bluetooth-related function calls up to host/keyboard level * Remove pointless set_output() call * Move bluetooth (rn42) init to end of keyboard_init() * Enable SPI/UART for ChibiOS targets * Some more slight tweaks
* [Core] Process all changed keys in one scan loop, deprecate ↵Stefan Kerkmann2022-08-061-64/+74
| | | | `QMK_KEYS_PER_SCAN` (#15292)
* Move Pointing Device Initialization (#17740)Drashna Jaelre2022-07-211-3/+4
| | | | | Move Pointing Device Initialization to after Split Post Initialization If both pointing device and split is enabled, the pointing device init needs to be called after the split post init, otherwise the connection (serial/etc) isn't initialized yet, and any commands that need to send data over (such as calling the set cpi command) never get sent over.
* Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)precondition2022-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT] * Update stenography documentation * STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT TXBOLT is a better name but BOLT is more consistent with the pre-existing TX Bolt related constants, which all drop the "TX " prefix * Comments * STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all] * Add note on lacking V-USB support * Clear chord at the end of the switch(mode){send_steno_chord} block * Return true if NOEVENT * update_chord_xxx → add_xxx_key_to_chord * Enable the defines for all the protocols if STENO_PROTOCOL = all * Mention how to use `steno_set_mode` * Set the default steno protocol to "all" This is done so that existing keymaps invoking `steno_set_mode` don't all suddenly break * Add data driver equivalents for stenography feature * Document format of serial steno packets (Thanks dnaq) * Add missing comma
* [Core] Add Caps Word feature to core (#16588)Pascal Getreuer2022-05-141-0/+7
| | | | Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
* Move disable_jtag to platforms (#16960)Joel Challis2022-04-291-14/+0
|
* Implement XAP 'secure' core requirements (#16843)Joel Challis2022-04-161-0/+4
| | | | Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-04-091-1/+1
|\
| * [Bug] Fix matrix scan reporting interval (#16825)Simon Arlott2022-04-091-1/+1
| |
* | Rename TICK to TICK_EVENT to prevent naming conflicts (#16649)Stefan Kerkmann2022-03-141-1/+1
|/
* Format code according to conventions (#16322)QMK Bot2022-02-121-15/+43
|
* Relocate matrix_init_quantum content (#15953)Joel Challis2022-01-231-0/+44
| | | | | | | * Relocate matrix_init_quantum content * Update include order * Fix cherry pick from 15722
* Align location of some host led logic (#15954)Joel Challis2022-01-221-26/+0
| | | | | | | | | | | | | * Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
* Relocate matrix_scan_quantum tasks (#15882)Joel Challis2022-01-191-0/+70
| | | | | | | * Move matrix_scan_quantum tasks * Fix tests * Fix up missing refs
* Slight tidy up of keyboard task loop (#15725)Joel Challis2022-01-091-35/+48
|