aboutsummaryrefslogtreecommitdiffhomepage
path: root/app/src
AgeCommit message (Collapse)Author
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
2024-07-05fix: Fix up layer metadata, move to layer IDs.Peter Johanson
* Studio will use stable layer IDs to refer to layers, so that layer reordering doesn't affect behavior bindings, so update to match. * Fix a few layer metadata entries that missed being refactored.
2024-07-04fix: Fix external power settings load issue.Peter Johanson
* Because settings load is delayed now, enable external power on init, and let it be disabled on settings load later, to ensure power is on early for other peripheral initialization. Fixes: #2361