aboutsummaryrefslogtreecommitdiffhomepage
path: root/app/src
AgeCommit message (Collapse)Author
14 daysfeat: Added `toggle-mode`, allowing toggle-on and toggle-off (#2555)Nicolas Munnich
feat: added toggle mode to key and layer toggles docs: documented toggle mode changes
2024-12-11fix: Fix warnings in nanopb encoding code (#2643)Joel Spadin
The "arg" field on nanopb structs is a void* because it is shared between the encode and decode callbacks, even though the encode callback probably should not modify the data. We are passing const data using this non-const pointer, which causes warnings about discarding const. This commit explicitly casts to void* to suppress these warnings.
2024-12-09feat(mouse): Add mouse move and scroll support (#2477)Pete Johanson
* feat(mouse): Add mouse move and scroll support * Use Zephyr input subsystem for all pointers. * Input processors for modifying events, e.g. scaling, swapping codes, temporary (mouse) layers, etc. * Mouse move/scroll behaviors. * Infrastructure in place for physical pointer input devices. * feat: Add input split support. * docs: Add initial pointer docs. --------- Co-authored-by: Cem Aksoylar <[email protected]> Co-authored-by: Alexander Krikun <[email protected]> Co-authored-by: Robert U <[email protected]> Co-authored-by: Shawn Meier <[email protected]> Co-authored-by: Chris Andreae <[email protected]> Co-authored-by: Anant Thazhemadam <[email protected]> Co-authored-by: Erik Tollerud <[email protected]> Co-authored-by: Nicolas Munnich <[email protected]>
2024-12-06fix(studio): Properly return complete keymap from RPC (#2696)Pete Johanson
Ensure the set active physical layout RPC returns the full keymap details including the available layers.
2024-12-04refactor(Kconfig): Extracted designer defaults out into new files (#2537)Nicolas Munnich
docs: Fix incorrect kconfig default values fix(Kconfig): Added a name to EC11's trigger mode choice, allowing it to be set in device Kconfig.defconfig refactor(Kconfig): Moved designer defaults out into new files
2024-11-13fix(studio): Improved error message when keyboard is missing a physical layout.Nicolas Munnich
2024-11-04fix(keymap): Set bindings with changed layoutPeter Johanson
* Fix bug with setting keymap layer bindings when a non-stock layout is selected.
2024-10-21chore(studio): Only clear settings for overridden key positions.Peter Johanson
2024-10-18fix: Optimize layout changes by doing runtime mappingPeter Johanson
* To avoid tons of migration, extra flash writes, etc, we keep the keymaps and settings using a key position index that's tied to the stock layout, and at runtime mapping key positions as needed.
2024-10-14fix(usb): detect USB power mode to fallback to BLEangweekiat
* Add tracking to see if we ever hit a configured status before suspend, so we can properly track "is connected" even when connected to a suspended/asleep host.
2024-10-10fix(studio): Reduce stack usage. (#2547)Pete Johanson
* Imply nanopb setting for reduced stack usage.
2024-10-08fix: Defer auto enabling of kscan sideband.Peter Johanson
* Now that device init of kscan sideband is in POST_KERNEL stage, use a separate SYS_INIT for auto enabling the device so processing of early/initial presses from referenced toggle mode kscan devices occurs at the proper time during init.
2024-10-03feat: A few enhancements to our RPC messages.Peter Johanson
* More fine grained status reporting when saving changes. Needed to we can notify the client if we've got errors saving settings due to running out of space, etc. * Return the max layer name lenght in the keymap payload, for the UI to leverage.
2024-09-30feat: Build asserts for requires studio layout bits.Peter Johanson
* When building with ZMK Studio, assert that we have physical layouts, and those layouts have key information set.
2024-09-25chore: Fix keymap const warning.Peter Johanson
2024-09-25feat(studio): Log entry into all RPC.Peter Johanson
2024-09-25feat: Add RPC thread analysis support.Peter Johanson
2024-09-25feat(ble): Set device name at runtimeReFil
This allows for the device name to be set at runtime, possible uses for this include a custom display screen that lets you type it in using the keycode state event, future configuration in zmk studio, or altering it per profile as per #1169
2024-09-25feat(power): Support multiple ext_power GPIOSReFil
2024-09-23feat: Split physical layout selection sync.Peter Johanson
* Ensure the split peripherals have the same selected physical layout on connection and change.
2024-09-23chore: Formatting fix.Peter Johanson
2024-09-23refactor: Condition source props on CONFIG_ZMK_SPLITCem Aksoylar
2024-09-23feat(sensors): Make sensors always trigger on central (for now)Cem Aksoylar
2024-09-23feat(split): Make combos invoke behaviors with localityCem Aksoylar
TODO: Currently the source is hardcoded to central for source local behaviors
2024-09-23feat(split): Make locality work nested behavior invocationsCem Aksoylar
Co-authored-by: Tokazio <[email protected]>
2024-09-20fix(display): Check layer name length too.Peter Johanson
2024-09-20fix: Properly calculate highest active layer for display.Peter Johanson
2024-09-19fix(core): Warn only with layouts + chosen transformPeter Johanson
* Instead of erroring out, simply ignore physical layouts if we detect a chosen matrix transform, and warn instead.
2024-09-19chore: Better errno formatting in logs.Peter Johanson
2024-09-18feat: Bit of extra studio keymap logging.Peter Johanson
2024-09-18fix(studio): Ensure null-termination of layer name read from settingsXiNGRZ
This fixes the string leak when a layer name is changed to a longer one, but is discarded and reverted to the original shorter one from ZMK Studio.
2024-09-17fix(studio): Update position map queryingAndrew Kannan
2024-09-16fix: Reduce RAM usage in the keymapPeter Johanson
* When not building with runtime keymap support, make the keymap const.
2024-09-16fix: Fix wakeup from kscan wrapped in sideband.Peter Johanson
* If using a sideband kscan device to wrap a native kscan device, ensure the inner kscan device is also wakeup enabled to it can be waken from a deep sleep state by key press.
2024-09-16fix(ble): Properly compile with clear bonds on startAbe Nonym
2024-09-13pre-commit: re-format using clang-format hook (v18.1.8)Maxime Vincent
2024-09-09fix(bt): Fix compilation failure for clearing bonds.Peter Johanson
* Refactor broke the build when clearing bonds on start.
2024-09-07Revert "feat: Split physical layout selection sync."Pete Johanson
This reverts commit 03b5b38bc4b81b68787bb052613e771279fa049c.
2024-09-06fix: Correct max brightness in backlight metadataReFil
The set brightness function in the backlighting code has a max of 100, as does the zephyr led-pwm driver https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/led/led_pwm.c The range for the set brightness function should reflect this max
2024-09-06feat: Split physical layout selection sync.Peter Johanson
* Ensure the split peripherals have the same selected physical layout on connection and change.
2024-09-05fix: Locking fix for RPC subsystem.Peter Johanson
2024-09-05fix: Fixes for CRC16 local IDs.Peter Johanson
2024-09-05feat(keymap): Add binding get/set, layer movementPeter Johanson
* Add keymap API for getting/setting a bindings in keymap layers. * Add layer move support via intemediary ordering array. * Add settings storage for keymap changes.
2024-08-28fix(display): widgets: increase buffer size for symbolsMike Szczys
Increase buffer size used for placing LVGL symbols on displays. This prevents array overflow warnings as discussed in #2444. Also convert one sprintf to snprintf to ensure the buffers are always null terminated and never overflow. Signed-off-by: Mike Szczys <[email protected]>
2024-08-15feat: Add `&studio_unlock` behavior.Peter Johanson
* New behavior allows unlocking the keyboard to allow ZMK Studio to make changes. Co-authored-by: Cem Aksoylar <[email protected]>
2024-08-15feat(studio): Initial RPC infrastructure and subsystems.Peter Johanson
* UART and BLE/GATT transports for a protobuf encoded RPC request/response protocol. * Custom framing protocol is used to frame a give message. * Requests/responses are divided into major "subsystems" which handle requests and create response messages. * Notification support, including mapping local events to RPC notifications by a given subsystem. * Meta responses for "no response" and "unlock needed". * Initial basic lock state support in a new core section, and allow specifying if a given RPC callback requires unlocked state or not. * Add behavior subsystem with full metadata support and examples of using callback to serialize a repeated field without extra stack space needed. Co-authored-by: Cem Aksoylar <[email protected]>
2024-08-14fix: no error return in sticky key get_parameter_metadatadown
2024-08-12feat: Add config settings for sticky keys/hold-tapPeter Johanson
* Add new Kconfig symbols to config max held sticky-keys/hold-taps and for max captured events during hold-tap resolution.
2024-08-02fix(pm): Properly configure a wakeup as input.Peter Johanson
* Other drivers properly disconnect/de-config pins now, so we need to be sure the wakeup trigger connects the wake pin as input.
2024-07-05fix: Proper behavior metadata for key repeat/togglePeter Johanson