summaryrefslogtreecommitdiff
path: root/quantum/keyboard.c
AgeCommit message (Collapse)AuthorFilesLines
2025-11-11[Core] suspend: suppress wake up keypress (#23389)Stefan Kerkmann1-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.
2025-11-06Implement minimal connection update logic (#25334)Joel Challis1-0/+4
2025-08-17Refactor battery driver (#25550)Joel Challis1-3/+3
2025-07-14Relocate `AUDIO_INIT_DELAY` implementation (#25491)Joel Challis1-18/+2
2025-05-14Deprecate `usb.force_nkro`/`FORCE_NKRO` (#25262)Joel Challis1-0/+1
2025-04-21Implement connection keycode logic (#25176)Joel Challis1-0/+6
2025-03-21Non-volatile memory data repository pattern (#24356)Nick Brassel1-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.
2025-02-28Implement battery level interface (#24666)Joel Challis1-0/+10
Co-authored-by: Nick Brassel <nick@tzarc.org>
2025-02-26Community modules (#24848)Nick Brassel1-2/+42
2024-11-21Review fixes for layer lock feature (#24627)Joel Challis1-3/+3
2024-11-21[Core] Add Layer Lock feature (#23430)Drashna Jaelre1-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>
2024-04-05Rename `process_{led,rgb}_matrix()` (#23422)Ryan1-2/+2
2024-02-18Add encoder abstraction. (#21548)Nick Brassel1-1/+1
2024-02-17[Core] Add OS detection callbacks (#21777)Andre Brait1-0/+7
2024-02-17Fix joystick initialization (#22953)Joel Challis1-0/+3
2024-01-28Begin removal of bootmagic lite terminology (#22970)Joel Challis1-19/+39
2023-12-08Align Dip Switch feature (#22625)Joel Challis1-1/+1
2023-09-25Move velocikey to within rgblight (#22123)Joel Challis1-9/+0
2023-09-25Add full solenoid support on split keyboards (#21583)jacob-w-gable1-7/+7
Co-authored-by: Jacob Gable <jacob.gable@statheros.tech>
2023-07-16quantum: remove direct `quantum.h` includes (#21507)Ryan1-2/+32
2023-04-30Merge remote-tracking branch 'origin/master' into developQMK Bot1-2/+2
2023-04-30Fix MATRIX_HAS_GHOST when MATRIX_COL > 16 (#20093)Christopher Berner1-2/+2
2023-04-03[Core] Refactor `keyevent_t` for 1ms timing resolution (#15847)Stefan Kerkmann1-1/+1
2023-03-30Add last activity functions for pointing device (#20079)Drashna Jaelre1-22/+30
2023-03-27Remove use of keymap.h (#20004)Joel Challis1-1/+1
2023-03-21Sync activity timestamps between sides. (#20192)Nick Brassel1-5/+11
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2023-02-13core: allow locking the matrix state (#18852)dexter931-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>
2023-02-13Refactor Leader key feature (#19632)Ryan1-0/+7
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-01-20Fix functions with empty params (#19647)Ryan1-1/+1
* Fix functions with empty params * Found a bunch more
2022-11-27Fix encoder_init call order in keyboard_init (#19140)Christopher Hoage1-3/+3
2022-11-12Digitizer feature improvements (#19034)Ryan1-7/+0
2022-10-15Programmable Button API refactor and improve docs (#18641)Ryan1-7/+0
2022-10-06Implement split comms watchdog (#18599)Dasky1-0/+4
2022-09-29Start Bluetooth API (#18366)Ryan1-10/+5
2022-09-29Start moving towards introspection-based data retrieval (#18441)Nick Brassel1-3/+2
2022-09-07Move Bluetooth-related function calls up to host/keyboard level (#18274)Ryan1-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
2022-08-06[Core] Process all changed keys in one scan loop, deprecate ↵Stefan Kerkmann1-64/+74
`QMK_KEYS_PER_SCAN` (#15292)
2022-07-21Move Pointing Device Initialization (#17740)Drashna Jaelre1-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.
2022-06-23Refactor steno and add `STENO_PROTOCOL = [all|txbolt|geminipr]` (#17065)precondition1-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
2022-05-14[Core] Add Caps Word feature to core (#16588)Pascal Getreuer1-0/+7
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-04-29Move disable_jtag to platforms (#16960)Joel Challis1-14/+0
2022-04-16Implement XAP 'secure' core requirements (#16843)Joel Challis1-0/+4
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-09Merge remote-tracking branch 'origin/master' into developQMK Bot1-1/+1
2022-04-09[Bug] Fix matrix scan reporting interval (#16825)Simon Arlott1-1/+1
2022-03-14Rename TICK to TICK_EVENT to prevent naming conflicts (#16649)Stefan Kerkmann1-1/+1
2022-02-12Format code according to conventions (#16322)QMK Bot1-15/+43
2022-01-23Relocate matrix_init_quantum content (#15953)Joel Challis1-0/+44
* Relocate matrix_init_quantum content * Update include order * Fix cherry pick from 15722
2022-01-22Align location of some host led logic (#15954)Joel Challis1-26/+0
* Align location of host led logic * Move more * align ifdefs * Fix up includes * Move callback defs * Convert comment to build message
2022-01-19Relocate matrix_scan_quantum tasks (#15882)Joel Challis1-0/+70
* Move matrix_scan_quantum tasks * Fix tests * Fix up missing refs
2022-01-09Slight tidy up of keyboard task loop (#15725)Joel Challis1-35/+48