Age | Commit message (Collapse) | Author |
|
feat: added toggle mode to key and layer toggles
docs: documented toggle mode changes
|
|
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.
|
|
* 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]>
|
|
Ensure the set active physical layout RPC returns the full keymap
details including the available layers.
|
|
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
|
|
|
|
* Fix bug with setting keymap layer bindings when a non-stock layout
is selected.
|
|
|
|
* 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.
|
|
* 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.
|
|
* Imply nanopb setting for reduced stack usage.
|
|
* 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.
|
|
* 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.
|
|
* When building with ZMK Studio, assert that we have physical layouts,
and those layouts have key information set.
|
|
|
|
|
|
|
|
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
|
|
|
|
* Ensure the split peripherals have the same selected physical
layout on connection and change.
|
|
|
|
|
|
|
|
TODO: Currently the source is hardcoded to central for source local behaviors
|
|
Co-authored-by: Tokazio <[email protected]>
|
|
|
|
|
|
* Instead of erroring out, simply ignore physical layouts if we
detect a chosen matrix transform, and warn instead.
|
|
|
|
|
|
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.
|
|
|
|
* When not building with runtime keymap support, make the keymap
const.
|
|
* 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.
|
|
|
|
|
|
* Refactor broke the build when clearing bonds on start.
|
|
This reverts commit 03b5b38bc4b81b68787bb052613e771279fa049c.
|
|
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
|
|
* Ensure the split peripherals have the same selected physical
layout on connection and change.
|
|
|
|
|
|
* 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.
|
|
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]>
|
|
* New behavior allows unlocking the keyboard to allow ZMK Studio to
make changes.
Co-authored-by: Cem Aksoylar <[email protected]>
|
|
* 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]>
|
|
|
|
* Add new Kconfig symbols to config max held sticky-keys/hold-taps
and for max captured events during hold-tap resolution.
|
|
* Other drivers properly disconnect/de-config pins now, so we need
to be sure the wakeup trigger connects the wake pin as input.
|
|
|