aboutsummaryrefslogtreecommitdiffhomepage
path: root/app/dts
AgeCommit message (Collapse)Author
13 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: allow kscan-composite to wake up device. (#2682)svek1
* include kscan.yaml so we can set kscan-composite as a wakeup source * modify enable and disable callback to check for wakeup capabilities of composite and children * disable children wakeup source The disable function is only called when the composite is not an enabled wakeup source. In that case the children should also not be an enabled wakeup source, so they can get suspended
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-09feat(studio): Add ortho_4x10 grid layout (#2651)pabile
* added 4x10 grid layout Co-authored-by: Cem Aksoylar <[email protected]>
2024-11-20feat(boards): Add glove80 nexus node for extension GPIO. (#2594)Pete Johanson
Add generic extension nexus node for consistent GPIO access to the extension pins in a left/right agnostic way.
2024-11-12fix: Fix inconsistent column offset propertyJoel Spadin
Renamed the composite kscan's column-offset property to col-offset for consistency with other properties such as matrix transform's col-offset and matrix kscan's col-gpios.
2024-11-06refactor: new physical layouts conventionNicolas Munnich
2024-11-06feat(boards): Add numpad layoutsJoel Spadin
Added physical layouts for the following variants of numpads: - With and without extra top row - 2U plus key or 1U plus and backspace keys - 2U 0 key or 1U 0 and 00 keys - Full 1U grid/macropad layout Other layouts exist, such as "southpaw" horizontally mirrored layouts, and layouts with a fifth column, but those seem to be much less common.
2024-10-16feat(shields): add physical layouts and update keymap for JianAlexander Krikun
Add physical layouts and update the keymap for King of Hedgehogs' Jian. Layouts are added for all three possible transforms: - Full (with additional pinky key) - 6 column (Corne) - 5 column (Minidox) The layouts are added to be re-usable for the Jiran and other custom boards/shields. Keymap update includes, small guide clarifications, output selection, tri-layer and &studio_unlock.
2024-10-10refactor: Give position map children labels. (#2544)Pete Johanson
* To make is easier to reuse layouts and override the position maps for them, add labels to all the position map children in our shared layouts.
2024-10-02feat(boards)!: refactor Corne layoutsJoel Spadin
Split up the Corne layout files to match the previous commit.
2024-10-02feat(boards)!: refactor common layoutsJoel Spadin
Removed the combined .dtsi file for each group of common layouts, and split the position map across the files in each group. This makes reading the position maps slightly more difficult, but it aligns the common layouts with the keyboard-specific ones such as foostan/corne.dtsi in that simply including each header adds the layout, with no need to set status = "okay".
2024-09-30feat: Add reviung41 physical layout.Peter Johanson
2024-09-30refactor(shields): Use space not hyphen for layout namesCem Aksoylar
2024-09-30feat(shields): Add more shared layoutsCem Aksoylar
2024-09-26feat(boards): add common keyboard layoutsReFil
2024-09-05feat: Add shared layout .dtsi files to promote reuse.Peter Johanson
* Add Corne and Ferris shared layouts, and update the respective shields to use them. * Add a sample Hummingbird physical layout for testing posix xiao. * Add Sofle physical layout as an additional reference.
2024-09-05feat: Add the ability to keep/omit behaviors for a given build.Peter Johanson
* Use defines to keep either all behaviors with omits, or selective behaviors with explicit kept behavior, before including `behavior.dtsi` in keymaps. * Default ZMK_BEHAVIORS_KEEP_ALL when building with the studio RPC endpoint snippet.
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-07-03feat(kscan): More complete PM support to drivers.Peter Johanson
* Update our GPIO kscan drivers to more completely support PM device, by doing proper hardare init/deinit in the PM action hook.
2024-07-03feat: Add keyboard physical layout system.Peter Johanson
* Add bindings to allow creating multiple physical layouts that specify their key's physical attributes, and the matching matrix transform and dependant kscan to use. * Synthesize a basic physical layout if none specified, for backwards compatibility. * Update matrix transform API to explicitly pass in the selected transform to the API instead of using a fixed chosen transform. * Move kscan subscription and handling into the physical layout code, so that selecting a different physical layout at runtime can also use the correct kscan instance. * Add `physical_layouts.dtsi` file to include so you can use the pre-configured `&key_physical_attrs` for adding you layout keys.
2024-06-24feat(behaviors): Add behavior metadata information.Peter Johanson
* For upcoming ZMK studio work, make a set of rich metadata available to provide a friendly name for a behavior, and allow super flexible descriptions of the parameters the behaviors take. * Add ability to validate a zmk_behavior_binding against the behavior metadata available.
2024-05-13chore: fix typos in various placesHoru
2024-04-29fix: shortening keymap_soft_off behavior nodeGerman Gutierrez
* Shorten the soft off node in order for it to work across splits.
2024-03-27fix(pm): Fixes for dedicated on/off on peripherals.Peter Johanson
* Add new flag to differentiate soft off on peripherals that is invoked by split GATT svc and dedicated additional ones tied to GPIO pin.
2024-03-27fix: Cleanups of sideband and direct kscan from review.Peter Johanson
* Add dedicated init priority for the sideband kscan. * Refactor sideband code for clarity. * Tweaks to direct kscan for clarity. * Make sideband behavior row optional for brevity. * Allow overriding ZMK Uno sideband behaviors.
2024-03-27fix(pm): Fix deep sleep with sideband behaviors.Peter Johanson
* Properly implement the PM hook needed for sideband behavior kscan device to have wakeup source enabled on it.
2024-03-27refactor: Add kscan sideband behavior driverPeter Johanson
* Instead of gpio key behavior trigger, add new kscan driver that decorates/wraps a given kscan driver and will invoke basic system behavior assigned to a given row + column, without the need for keymap mapping in the matrix transform, bypassing keymaps entirely.
2024-03-27refactor(pm): Remove scanned behavior trigger.Pete Johanson
* Remove the painful scanned behavior trigger for now, future enhancement will restore this high level functionality using kscan directly.
2024-03-27refactor: Fixes for soft-off based on review.Peter Johanson
* Better naming for gpio-key behavior triggers. * Tweaks to scanned behavior trigger to avoid bad semaphore use, and reduce chance of issues with slowly scanned matrixes. * Various code cleanups of style issues.
2024-03-27fix(bt): Fix BT tests after soft off work.Peter Johanson
* Move to explicit enable of `ZMK_PM_SOFT_OFF` to turn on the feature and use the behaviors, which matches how other features work, and helps with split and testing schemes.
2024-03-27feat(behaviors): Add soft off behavior.Peter Johanson
* New soft-off behavior that can be used to force the device into soft-off state with only certain configured wakeup devices.
2024-03-27feat: Add soft on/off support.Peter Johanson
Initial work on a soft on/off support for ZMK. Triggering soft off puts the device into deep sleep with only a specific GPIO pin configured to wake the device, avoiding waking from other key presses in the matrix like the normal deep sleep. Co-authored-by: Cem Aksoylar <[email protected]>
2024-03-18feat(behaviors): lazy sticky keysTheo Lemay
2024-02-20feat(behaviors): hold while undecidedTheo Lemay
2023-12-04refactor: Remove new uses of label propertyJoel Spadin
Removed new uses of the "label" property which were introduced after the previous commits on this branch were written.
2023-12-04refactor(behaviors)!: Remove labels from behaviorsJoel Spadin
Removed the label property from built-in behaviors, custom behaviors defined in a few keymaps, and macros generated with ZMK_MACRO(). Now that node names are used to identify behaviors, and names only need to be unique within the set of behaviors, the names of all behaviors have been shortened to be similar to their original labels. This means that any keymaps which reference behavior nodes by name instead of by label will need to be updated. Keymaps typically use the labels though, so most keymaps should be unaffected by this change.
2023-12-04refactor(keymaps): Rename layer label to "display-name"Joel Spadin
Changed the property used to define a layer name for displays from "label" (which affects other things in Zephyr and is deprecated) to "display-name". (It cannot be named simply "name", because that has special meaning in newer versions of the devicetree compiler.) "label" is still supported as a fallback, so no changes need to be made to existing keymaps.
2023-12-04refactor(ext_power): Remove label propertyJoel Spadin
Changed the label property on zmk,ext-power-generic to be optional and removed it from existing uses. Renamed the nodes for all non-development boards to "EXT_POWER" to preserve user settings. rgb_underglow.c now finds the correct device by finding the first instance of zmk,ext-power-generic instead of looking for a node named "EXT_POWER".
2023-12-04refactor(behaviors): Make label property optionalJoel Spadin
Changed all code (except for layer names) which used the label property to use DEVICE_DT_NAME() instead, which uses the label if set or falls back to the full node name. This matches how Zephyr determines the node names used with device_get_binding() and allows us to start removing the deprecated label property from things.
2023-11-15feat(mouse): Initial mouse keys support.Alexander Krikun
* Add HID report/descriptor for a new report with mouse buttons, and x/y/wheel deltas. * New mouse key press behavior for press/release of mouse keys. * Add constants for HID main item values (e.g. data/array/absolute) * Define and use constants for our HID report IDs.
2023-10-03refactor(behaviors): Final global-quick-tap deprecation.Andrew Rae
2023-10-03refactor(behaviors): global-quick-tap -> require-prior-idleAndrew Rae
Renaming global-quick-tap-ms to require-prior-idle.
2023-10-03feat(behaviors): Adding global-quick-tap-ms for combosAndrew Rae
This brings the 'global-quick-tap' functionality to combos by filtering out candidate combos that fell within their own quick tap term. I also replaced `return 0` with `return ZMK_EV_EVENT_BUBBLE` where appropriate. (I assume this was done in past as it is similar to errno returning, but being that this is to signify an event type I find this more clear)
2023-10-03refactor(behaviors): Giving global-quick-tap its own termAndrew Rae
Detaching the global-quick-tap functionality from the quick-tap term. This makes way for two improvements: 1. This functionality can be added to combos under a unified name 'global-quick-tap-ms'. 2. This allows users to set a lower term for the 'global-quick-tap' (typically ~100ms), and a higher term for the regular quick-tap (typically ~200ms) This deprecates the global-quick-tap option, however if it is set, the quick-tap-ms value will be copied to global-quick-tap-ms.
2023-09-16refactor: Move drivers into properly module.Peter Johanson
* Align our driver module layout to properly match Zephyr conventions, allowing proper CMake setup to amend the library for each type of driver.
2023-06-20feat(behaviors): Support parameterized macros.Peter Johanson
* Add two new compatibles for macros that take one or two parameters when bound in a keymap. * Use `&macro_param_1to1`, `&macro_param_1to2`, `&macro_param_2to1`, and `&macro_param_2to2` control entries in the bindings for the macro to have the next binding entry have it's values substituted. Co-authored-by: Cem Aksoylar <[email protected]>
2023-06-18refactor(sensors): Sensor event channel data, resolution tweaks.Peter Johanson
* Refactor sensor events to include channel data, necessary for prop split encoders, and avoiding duplicate calls, to fetch channel data twice, etc. * More consistent behavior driver API. * Allow setting triggers per resolution at the behavior level optionally.
2023-04-24refactor: Replace tabs with spacesJoel Spadin
Standardized indentation to use spaces with a new pre-commit hook.
2023-04-24refactor: Add more checks to pre-commitJoel Spadin
Updated existing pre-commit hooks and added some new hooks: - Remove trailing whitespace - Ensure every non-empty file ends with a new line - Check YAML file validity - Prevent adding large files - Ensure any scripts with shebangs are executable Added a GitHub action to run pre-commit on every commit. Removed any existing actions which duplicate pre-commit. Ran pre-commit on the codebase.