-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(blog): Add SOTF #6 #1943
feat(blog): Add SOTF #6 #1943
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few initial thoughts. Thanks for working on this!
docs/blog/2023-09-15-zmk-sotf-6.md
Outdated
|
||
[Open Collective](https://opencollective.com/zmkfirmware) | ||
[Pete Johanson](https://github.com/sponsors/petejohanson) | ||
(detail what is used for what) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let me know if you want help with the verbiage on this. Do we know if anyone else has sponsorship set up? Do you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am willing to try writing an initial draft, but I'd appreciate any suggestions on it afterwards.
Good question on others, I don't and I am not aware of any other contributors (did a quick check on Github, at least).
Any contributor that sees this and has such a funding mechanism, please give a shout!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please have a look at the new section and let me know if wording can be improved, or if it requires a bit more nuance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What you added seems reasonable to me. I don't think it's worth getting too in depth on the topic, since it's just one aspect of an already detailed SOTF.
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks so much for pulling this together! Feel free to merge when you're ready, if you want to get it in while the date is still right in the file. 😀
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Thank you so much for this. Reading this blog helped me fix all the minor annoyances I had with my keyboard! |
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
This reverts commit ca5c9b4.
commit 1b8b6b4a0ee86b5b18737da4d03ab36df13812f4 Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Dec 16 10:24:15 2023 -0800 refactor(core): Make low priority queue optional. * Add a new Kconfig symbol to enable the low priority queue, and make the two features that depend on it `select` the symbol to turn it on. This helps ensure no wasted RAM/ROM on devices that don't need it. commit f4f402fa44793ef7ce2a6ac382aeded57a5f16aa Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Dec 15 20:13:43 2023 +0000 fix(ci): Use unique artifact for test logs * To address conflicts with identically named artifact uploads, include the test name in the artifact name. commit 9b3a98691c178067e87f888d986e1ec87dda66e6 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Dec 13 10:59:24 2023 -0800 refactor(bt): Split security and conn exp. Kconfig * Split connection and security experimental changes into dedicated Kconfig flags for easier testing of only connection related fixes. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 52ed49b4bb2ed14ea1a5bc8305cf6f6cabb79673 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Dec 13 19:13:21 2023 +0000 fix(ci): Upgrade to github-script@v7 * Also adjust form @actions/upload API changes. commit ff57ccc75adcce2b64d37dc923e424d026c5f12f Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:51:37 2023 -0800 feat(shields): Allow settings_reset to build with board-only keyboards commit 2c50cff891becd70e04152202ee76a1be95089fa Author: Hooky <117450225+HookyKB@users.noreply.github.com> Date: Sun Dec 10 06:10:05 2023 +0800 feat(kscan): Add charlieplex keyscan driver * Supports matrixes with and without additional interrupt pin use. Co-authored-by: Peter Johanson <peter@peterjohanson.com> commit b35a5e83c05a3ed9db8d13e5571ee20f588fa3ad Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Dec 8 14:11:36 2023 -0800 fix(shields): Don't enable passkey support on Uno. * The ZMK Uno has no way to input the full range of digits, so skip that setting so it's not pulled in by BLE experimental feature flag. commit 63c8c5700acb781ca9ac7c7985f78e0b95ff8130 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Dec 6 23:07:20 2023 +0000 feat(bt): Add more experimental tweaks. * Support auto security upgrade for splits properly. * Disable 2M and legacy LLCP if the experimental Kconfig flag is selected. commit 96f9031951f4edc3477b523e5cc33bafe8017482 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Dec 7 10:41:40 2023 -0800 fix(build): Only copy if zephyr module detected * To fix issues with breakage with existing user config repos, only do our copy strategy if we detect a zephyr module present in the repo as well. commit 384637ae6c8073ef7e5ac87db111c8aaab972015 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 22:36:04 2023 -0800 fix(docs): Fix text blurb about split Kconfig.defconfig commit 09d47d81176175ed104d6b1de1bae804dfbca9fc Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Tue Dec 5 14:14:06 2023 -0800 refactor(docs): Convert breaks to unordered lists in tables Co-authored-by: Joel Spadin <joelspadin@gmail.com> commit 55bf7cae7e67a57831ccd003061d60859deb9ff9 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 23:28:41 2023 -0800 feat(docs): Note how parameters are forwarded for behaviors commit 56d863cba6e26c49a43b6b1bf0404765823dfad6 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 23:04:28 2023 -0800 feat(docs): Document sensor-rotate in behaviors config commit 2bab81a3046302c4c07d93150e35ca39b87af560 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 23:16:58 2023 -0800 fix(docs): Note -var definition files for macros commit 76a209c728415e0cd6d3ab5400e42709c6aabf03 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 23:02:35 2023 -0800 fix(docs): Fix sticky key #binding-cells commit f3ad08b619c5c1e6fd95df01fd98eef2207d6aa8 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 22:48:47 2023 -0800 fix(docs): Add missing page pointers in behaviors config commit 88338a9b3cc9b87d48ad1845cffb51b57cffbcb3 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Dec 6 20:05:29 2023 +0000 feat(shields): Add ZMK Uno split setup * Make it easier to test split code with ZMK Uno hardware by adding a split left/right setup as well. commit 291bbc22572fb91cc4c773cf7d6b0e88f49eee38 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Nov 27 01:57:17 2023 +0000 refactor(docs): New shield guide to suggest modules * Update the new shield guide to position Zephyr module location as the default when creating new shields, with a note about using ZMK repository itself as a last resort. * Document building with additional Zephyr modules. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 3656ec63d01ef99258ed7c4ee6cb7132898ac71e Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Nov 25 00:55:11 2023 +0000 feat(build): Build unified config/mod repos. * Detect in our build script if our config repo is *also* a Zephyr module and if so pass to ZMK build in ZMK_EXTRA_MODULES define. * Copy config directory contents to new independent temp workspace to avoid Kconfig conflicts between the build repo's zephyr module directory and the checkout zephyr pulled in by `west update`. commit efd403a56773a59c01478037c5739ff6c35c9de8 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Nov 6 17:59:01 2023 +0000 refactor: Hook into CMake loading in a better spot. * Shift to using an extra Zephyr module to do keymap location work after all board roots are resolved. This avoids duplicate work and allows us to load custom boards from Zephyr modules as well as user config setups. commit 0ab6a0ad11d0eb65f2cdca959a840e3331aa599a Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Dec 4 19:11:12 2023 +0000 feat(bt): Add new experimental Kconfig setting. * In order to have an easy way to test and phase in BT changes, add a new `ZMK_BLE_EXPERIMENTAL_FEATURES` Kconfig setting. commit 17a6f0b1285030d2d2b5a7d5197a91ec0aae7aff Author: Joel Spadin <joelspadin@gmail.com> Date: Mon Dec 4 18:31:42 2023 -0600 refactor: Remove new uses of label property Removed new uses of the "label" property which were introduced after the previous commits on this branch were written. commit 0fd8e25807b15eaac8edf818d46be8d004885f62 Author: Joel Spadin <joelspadin@gmail.com> Date: Sat Nov 18 19:49:49 2023 -0600 docs: Document behavior name length limit Added a section to the new behavior guide to document that the names of behaviors invoked on the peripheral side of a split must be at most 8 characters long. commit 23ecf081192959f66f5cc064ed81c69f2988e3e7 Author: Joel Spadin <joelspadin@gmail.com> Date: Sat Nov 18 00:47:01 2023 -0600 refactor(behaviors)!: Remove labels from behaviors 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. commit 36eda571b77fb03e0af51caf4f5f1d2c7d43b3d5 Author: Joel Spadin <joelspadin@gmail.com> Date: Sat Nov 18 19:19:15 2023 -0600 refactor(behaviors): Create a list to lookup behaviors Added BEHAVIOR_DT_DEFINE() and BEHAVIOR_DT_INST_DEFINE(), which work exactly like the DEVICE_*_DEFINE() macros, except they also register the device as a behavior by adding a pointer to it to a memory section. Added zmk_behavior_get_binding(), which works like device_get_binding() except that it only searches the devices that have been registered as behaviors. This ensures that behaviors cannot have name collisions with other devices defined by the SoC, which will be important when we remove the label property from behaviors so they are given their node names. As an added benefit, this is faster since it searches a smaller list. Some basic benchmark code I wrote indicates it takes 30-70% as long, depending on where the behavior is in the list and whether the name string is an exact pointer match. From now on, behaviors should use BEHAVIOR_*_DEFINe() instead of DEVICE_*_DEFINE(), and any code that looks up a behavior by name should use zmk_behavior_get_binding() instead of device_get_binding(). commit 5ecd3521f52bc08a811324d26f3b539cfeb2158c Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 6 20:49:58 2023 -0500 docs: Remove label property from documentation commit d4e8dee44479864af5bef1b88a71d40b9e8edabf Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 6 20:04:41 2023 -0500 refactor(keymaps): Rename layer label to "display-name" 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. commit ba5637fdefc5aff8e57ec9172887405dcb363bb1 Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 6 19:53:37 2023 -0500 refactor: Remove unimportant labels Removed "label" properties which no longer have any function. Labels are still used as layer names and as identifiers for sending behaviors between sides of a split keyboard, so those have been left alone for now. commit 3ae9e740567081fceb1c67ad403e4d94e983e08b Author: Joel Spadin <joelspadin@gmail.com> Date: Sat Nov 18 00:39:11 2023 -0600 refactor(drivers): Make label property optional commit 05925c72d7303fe786455e64d2c938bdf6be3b0a Author: Joel Spadin <joelspadin@gmail.com> Date: Tue Sep 5 17:52:18 2023 -0500 refactor(ext_power): Remove label property 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". commit 179bdbc41a85165d3d535cd3b0df410ad0621662 Author: Joel Spadin <joelspadin@gmail.com> Date: Tue Sep 5 11:35:51 2023 -0500 refactor(behaviors): Make label property optional 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. commit dbe5dfb1d841f55f2ad853275206aa706d24770b Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon Dec 4 23:31:35 2023 +0000 feat(split): Add is_bonded function to peripherals There is already a function to see if the peripheral is connected, a matching one for if it's bonded is a useful addition for displays/indicators. `is_bonded` gets reset to false in the advertising function in preparation for runtime peripheral bond clearing commit 9bacaffe6244fd00329f959700e2fd52b241c520 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon Dec 4 23:24:05 2023 +0000 feat(hid): Add KConfig option for higher NKRO usages By default the maximum NKRO usage is set to maximise compatibility, but some keys dont work, this adds the ability to use those extended keys, at the cost of compatibiltity Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> Co-authored-by: Pete Johanson <peter@peterjohanson.com> commit 8ee3467adff4cd0ced085ee7778c99d42b1889c8 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 22:25:45 2023 -0800 fix(docs): Update outdated information in the hardware page commit 042e5209b3c2fc387793366d979f8bc986be2514 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun Dec 3 22:43:06 2023 -0800 fix(docs): Fix table for BT_DISC commit ecefd6d24b05124e2efcf3573ed8a32901d531d6 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon Dec 4 17:21:49 2023 +0000 fix(docs): Update backlight docs (#1894) Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> commit 55aed8e89d3d256b3e758be5bc5dfbb23ea04ece Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Dec 2 16:16:49 2023 +0000 feat(tests): Add ability to auto-accept test diff. commit c63d0791d52f2566bdca50895866339ce6fb947a Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Jul 13 22:16:44 2023 -0700 chore: Ensure BSIM env. variables set in devcontainer. commit 693530c2f1e7f8f59355b67878a7ed2c10f2b2bd Author: Peter Johanson <peter@peterjohanson.com> Date: Tue Jun 20 09:31:55 2023 -0700 feat(bluetooth): Initial nRF52 BSIM based test support. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit da15564d0e7069e5f262e5d8351f1622b08a1118 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Jul 12 23:00:05 2023 -0700 feat(bluetooth): Build on ARCH_POSIX. commit 3fad4dba07c22cfbe6e54512cd2052da3aca4f10 Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Dec 1 23:33:29 2023 +0000 fix(bt): Passkey entry pairing fixes. * Don't propogate any key press events while in the middle of passkey entry, avoid funky state on hosts. * Handle passkey on release, not press, to ensure key *releases* are not accidentally sent, especially the Enter release at the very end of passkey entry, which can trigger cancel in the dialog if the keyboard is connected via USB to the same host. commit 329d6474ee4eed9791d53f9dcfc6dd0ec6401701 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Nov 30 06:48:35 2023 +0000 feat(ble): Make it possible to use BT_GATT_AUTO_SEC_REQ * Only upgrade security of new connections if BT_GATT_AUTO_SEC_REQ is not enabled. commit 744f70c80c84cc0e471db41c3834a4030b4743dc Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Dec 1 23:39:31 2023 +0000 feat(bt): Add support for unauth overwrite * Properly handle the user enabling the `CONFIG_BT_SMP_ALLOW_UNAUTH_OVERWRITE` Zephyr flag and handle re-pairing to an existing taken profile from the same address. commit 69f7bfb40911d4bbf9af0910d956a092d5fb9159 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Tue Nov 28 00:09:58 2023 +0000 feat(boards): Kinesis Advantage 360 pro Add the Kinesis Advantage 360 Pro board definition. commit 817ce8764fcb9ad89d3cb8464d18c07b7169ed25 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Nov 27 23:48:13 2023 +0000 refactor: Move to `zmk_hid_indicators_t` type. commit d9bb0d7d0e05c547d1138c48746a72660d2bf326 Author: Alessandro Bortolin <bortolin.alessandro@outlook.it> Date: Sun Nov 27 18:11:43 2022 +0100 feat: LED indicators on peripheral side commit 4e55c5f6e912ca02eebaf402137beb37fa1d3d8e Author: Alessandro Bortolin <bortolin.alessandro@outlook.it> Date: Tue Sep 6 12:29:07 2022 +0000 feat: handle LED indicators report commit 6276e973d52863878933ac90d2b6a4a922e51fb3 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed Nov 15 20:24:22 2023 +0000 feat(ble): Only update BAS when active Subscribes to the activity changing event, will stop the battery work timer when in idle or deep sleep, restart when board goes active commit 84b93350b8be30d2b5a5b8f4e07fa86ce2bb1fe7 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon Nov 27 17:12:33 2023 +0000 feat(docs): Document adding USB logging to a standalone board (#2039) Currently this is only documented in the zephyr 3.0 upgrade blog. This explicitly documents it as well as when it doesn't need to be applied (i.e. when a mcu board is already in use). commit a3f30ee799598a95fc91befc4cb42385644b7e0a Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:40:55 2023 -0800 feat(build): Add support for artifact-name in build.yaml, correctly commit f77e38f2b980a2d8491523b1c89b11edc740021e Author: Idan Gazit <idan@gazit.me> Date: Thu Nov 23 21:02:22 2023 -0800 chore: Update devcontainer.json The format has changed slightly. commit 0a4b1a6533f434e6bdb7f7f5c336aa3096a90ad7 Author: Chris Andreae <chris@andreae.gen.nz> Date: Tue Nov 21 05:00:10 2023 +0900 feat(ble): add behavior to disconnect from BLE profile Adds new functionality and a behavior to disconnect an active BLE connection. The motivation for this is that for some devices like phones, the presence of an active BLE connection results in the onscreen keyboard being selected. commit d7d9eed317b3f788370a8728afa449c5e525f2ca Author: Alexander Krikun <krikun98@gmail.com> Date: Tue Apr 27 18:24:11 2021 +0300 feat(mouse): Initial mouse keys support. * 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. commit 8776911da5005d42cd0bdf108b23deca16d7ec82 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed Nov 15 18:03:30 2023 +0000 feat(ble): Allow disabling BLE BAS reporting The battery reporting has been known to cause macOS computers to wakeup repeatedly. In some cases (e.g. display or custom lighting implementation) one might want to collect battery SOC without broadcasting over BLE * Update docs/docs/config/battery.md Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 3027b2a6e8f2896f7e08d5a502be50ad21f32d7f Author: Peter Johanson <peter@peterjohanson.com> Date: Tue Nov 14 07:50:48 2023 +0000 chore(usb): Don't enable ZMK_USB_ROOT by default. * Some initial reports of crashes with this code enabled, so disabling by default for now pending further investigation. commit f6716f869a0fd20ac9520e2808dc4183742436a5 Author: Peter Johanson <peter@peterjohanson.com> Date: Tue Nov 14 07:03:25 2023 +0000 fix(usb): Build with ZMK_USB_BOOT disabled. * Invert the logic so `get_keyboard_report` is sane when `ZMK_USB_BOOT` is disabled. commit 2a1904e184c5802a50c13f2d0ceca63df7c1b7df Author: Chris Andreae <chris@andreae.gen.nz> Date: Tue Nov 14 16:08:58 2023 +0900 feat(boards): Add Glove80 to boards * Add board definition for MoErgo Glove80 commit afe65ead9c0f1418fa34bfa93325d0cce33c6c2c Author: Pete Johanson <peter@peterjohanson.com> Date: Mon Nov 13 16:50:00 2023 -0500 Revert "feat(build): Add support for artifact-name in build.yaml" This reverts commit c1bf35ce1de4b7d99c034300c9a813a0a3d11669. commit 964c54139dcc5fca466eb2a6dc72b4092c7152a0 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Nov 13 11:00:28 2023 -0800 fix(usb): Tweak how ZMK_USB gets enabled. * Previous version of multiple overrides of the default value of ZMK_USB were problematic. Move to using board _defconfig files for the defaults for those, along with proper `depends on` for ZMK_USB that accounts for split and split roles. commit 7b4b5d4ff20957c3cba0d3e3eb679dd45c3181f5 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:01:31 2023 -0800 fix(docs): Fix debouncing driver support note commit a5c3edd51b46f45a7fdf9ff157f69296d7a9fddb Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:22:05 2023 -0800 refactor(docs): Remove local build section in customization commit 2554b5c88f4d304f311d9f29017ac6fbe948ca7a Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:08:37 2023 -0800 fix(docs): Update boards in build examples to common+uf2 ones commit c1bf35ce1de4b7d99c034300c9a813a0a3d11669 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 10 22:40:55 2023 -0800 feat(build): Add support for artifact-name in build.yaml commit 91aa3378f32f5688329a663fdaba4772e069d548 Author: Chris Andreae <chris@andreae.gen.nz> Date: Tue Nov 14 03:04:04 2023 +0900 feat(usb): Add boot protocol support * USB boot protocol support * Use a single definition of a boot report, used for regular reports in non-6KRO, and for rollover in all branches. * Handle gaps in the zmk report when producing a boot report in HKRO mode. For .example, if it was 8KRO, it would be possible to have the state 0 0 0 0 0 0 0 17 (by pressing 8 keys, and letting go of the first 7). Copying the first 6 bytes would not show up the single pressed key. * Disable usb status change and callback on SOF events: SOF events were introduced by the boot protocol changes, and required internally by Zephyr's idle support, but are unused within ZMK itself. Ignore them in the usb status callback. --------- Co-authored-by: Andrew Childs <lorne@cons.org.nz> commit b80c0be0cedf42b58be2fc431b2a673ab9760c64 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 3 23:20:23 2023 -0700 feat(blog): Add keymap editor post for spotlight series Co-authored-by: Nick Coutsos <nick@coutsos.com> commit 5b49bc10cd7251bb9a90c018410abfc557fa0e9c Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Nov 3 23:20:42 2023 -0700 feat(blog): Show all posts on sidebar commit c2d220fbdf2c9ae6957d080a47545aa28e3ec275 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Nov 8 22:05:53 2023 +0000 refactor(hid): Use proper defines for HID values. * Add report ID defines and use them consistently. * Add defines for main item value flags to avoid magic constants. commit 34c8b3f1e30725d2711d5a75cd2da8e60da7b995 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Oct 18 02:33:03 2023 +0000 refactor: Update boards/shields for encoders. * Update existing boards/shields for new `steps` and `triggers-per-rotation` set up. commit 8d09809ef0cfb29c4481e1b31327e0866c2fb902 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Oct 18 01:19:14 2023 +0000 fix(docs): Updated encoder config docs. * Update new shield guide for new sensor/encoder settings. * Add DTS section to encoder config docs. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 9e8ee8684252aecca36c1e6f2403b0a9fd3ebf4f Author: Nick Coutsos <nick@coutsos.com> Date: Sun Oct 22 12:05:49 2023 -0400 chore(docs): Fix links to relocated files (#1975) commit 82e85699edd7261500ea2feb0697f8a6a5bbd42c Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Thu Oct 19 22:04:04 2023 +0100 feat(docs): Document ZMK_BATTERY_REPORTING config (#1971) `CONFIG_ZMK_BATTERY_REPORTING` is currently undocumented, A new KConfig section for battery has been added in line with the other sections in the configuration section of the docs, `CONFIG_ZMK_BATTERY_REPORT_INTERVAL` has been moved from system to battery for consistency commit 7fe9ecd87f086fe6fcf253559e751fab575faa5c Author: Khalid Aj <kh411dz@gmail.com> Date: Wed Oct 18 05:43:50 2023 +0700 feat(shields): Add Reviung53 shield. * Initial Reviung53 shield --------- Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 3b1d04372b0a013ec2738019166c1c2e85bf0ba7 Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 13 14:58:27 2023 -0500 feat: Print Kconfig and DTS for failed builds Added the combined devicetree file to the user config build action. Set it and the Kconfig output to run even on a failed build. commit a9a53e6da490e319bae5efa85c221010a2578b15 Author: Alex Kang <akang95@gmail.com> Date: Sat Oct 14 19:39:42 2023 -0700 feat(shields): Reviung34 shield definition * Initial implementation of REVIUNG34 shield. * Add copyright information to files * Added a README with instructions on how to enable the 1x2u layout. * Add a default chosen matrix transform in the default keymap, alongside a commented out version for the alternate layout. --------- Co-authored-by: Peter Johanson <peter@peterjohanson.com> Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 3ab922822c0b1bbf99e9ea50f17fe15dcef6c3f3 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Oct 2 22:05:24 2023 -0700 feat(shields): Add ZMK Uno nice!view support. Export the `nice_view_spi` node properly from the ZMK Uno overlay to ensure the shield will work when built along with the `nice_view` shield. commit a9f677007bccc3d2c0d988d3b1f45bb7d79d6131 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Tue Oct 10 20:09:15 2023 -0700 fix(blog): Correct incorrect info re: global-quick-tap commit 0c06023ca03fe2e7e7d5f7abe24b3f5d835b5b5f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Oct 10 22:58:15 2023 +0000 chore(deps): bump postcss from 8.4.18 to 8.4.31 in /docs Bumps [postcss](https://github.com/postcss/postcss) from 8.4.18 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.18...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> commit 6c75d6986c3dfaf7562783476059349c0814792a Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Mon Oct 9 15:08:45 2023 +0100 feat(docs): Document globe key specific quirks commit 65667b863ad380955da60d38ac2ae81b4dab06f5 Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 6 22:05:49 2023 -0500 docs: Add syntax highlighting to more code blocks Added language tags to more code blocks in the documentation to enable syntax highlighting. commit 4a339093cebd9e89e531f78dc218907a292cbb1b Author: Joel Spadin <joelspadin@gmail.com> Date: Fri Oct 6 22:02:23 2023 -0500 docs: Add highlighting for devicetree and kconfig Added syntax highlighting for devicetree and kconfig files. The PrismJS project is not accepting contributions right now as they work on a version 2 of the library, so the new language files are added directly here. Also enabled syntax highlighting for various languages that are used in the docs but aren't enabled in Docusaurus by default. commit 6af22424f1a7cdbe1845ffab96cae8aa9ed9c5d9 Author: Diogo Doreto <diogo@doreto.com.br> Date: Tue Mar 21 14:36:53 2023 +0100 feat(shields): add right encoders support to waterfowl commit 791711b5556adee55ff9f9c68cdf4ab7fa0be117 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 14:22:18 2023 -0700 feat(docs): Note how to use GPIO outside interconnect definition commit 8a84b7dd5b843e69c8a2e74409c282cd3056c4ce Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Oct 8 18:30:23 2023 -0500 fix(shields): Fix incorrect union access in nice view Fixed an error in a previous commit where a member of the selected endpoint was used without checking if it was the correct transport type. The nice!view status screen displays the active BLE profile regardless of whether BLE is active, so we have to get that data directly from the BLE code instead of from the selected endpoint. commit fd05478897567bff34d607229636ae4d4507ef0f Author: Alex Kang <akang95@gmail.com> Date: Fri Oct 6 12:27:38 2023 -0700 feat(shields): Microdox V2 shield definition * Refactor common parts of the Microdox sheild into a separate file. This is in preparation for adding Microdox V2 as another shield in the same directory. * Refactor Microdox keymap into a common file in preparation for Microdox V2 * Add Microdox V2 shield definition * Added a README to explain v1/v2 differences. commit ca5c9b4ae6b7008b81c9f9cb02fb7d295b3290b0 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Thu Oct 5 19:53:15 2023 -0700 feat(blog): Add SOTF #6 (#1943) Co-authored-by: Pete Johanson <peter@peterjohanson.com> commit 913fdb831e4445bf26df74881fa74666a590020b Author: Amettler Thierry <amthierry81@live.fr> Date: Wed Oct 4 22:29:06 2023 +0200 feat(docs): Add configuration snippet for layer-taps commit df92b0e37d5c53e23ffe60c7a8005eb311cff785 Author: Seth Milliken <seth_github@araxia.net> Date: Wed Oct 4 08:48:46 2023 -0700 feat(shields): sofle: add underglow support with `&pinctrl` update * Sofle Shield: Add underglow support --------- Co-authored-by: Kim Streich <kim@infusedinsight.com> Co-authored-by: Seth Milliken <seth_zmk@araxia.net> commit 11996ff7f05bdbe0d5ee59dc3b695d5e9d8c5c8d Author: Andrew Rae <ajrae.nv@gmail.com> Date: Tue Sep 26 22:00:23 2023 -0400 refactor(behaviors): Final global-quick-tap deprecation. commit 2234be0871cdab4c0d8bfc6abee3013716e5601a Author: Andrew Rae <56003701+andrewjrae@users.noreply.github.com> Date: Mon Sep 25 09:15:57 2023 -0400 refactor(docs): Apply suggestions from @caksoylar Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit f0f6d61e794633a06b04246ee31e276c9fbf3040 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Sun Sep 24 10:19:58 2023 -0400 fix(tests): Updating old tests includes commit b85ffa4b6cfb5e2a8c735534ac1b46dc52f8ad86 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Sun Sep 24 09:38:45 2023 -0400 refactor(behaviors): global-quick-tap -> require-prior-idle Renaming global-quick-tap-ms to require-prior-idle. commit 49c393e8f80701a8736b3e07bf7479c5b9a6592c Author: Andrew Rae <56003701+andrewjrae@users.noreply.github.com> Date: Sun May 28 21:35:02 2023 -0400 refactor(docs): Applying suggestions for gqt from @caksoylar Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 1e84e265b144602431d723e1080ebe32d87871e6 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Sun May 28 15:35:51 2023 -0400 feat(docs): Adding global-quick-tap-ms docs commit 77eb44ba9b14d0c47eb81001d6a90a3ec4e82b19 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Mon Jul 18 18:27:44 2022 -0700 feat(behaviors): Adding global-quick-tap-ms for combos 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) commit 2f6abff3bcb4f157d7b0d8eaa53faf2afebe7878 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Sat Jul 16 21:51:25 2022 -0700 refactor(behaviors): Giving global-quick-tap its own term 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. commit aa4cb143bf2de89f06039fd9ba0b259f6d38fc5d Author: Flo Kempenich <flo@kempenich.dev> Date: Tue Oct 3 09:03:59 2023 +0100 fix(combos)Fix bug with overlapping combos timeouts (#1945) * Fix bug with overlapping combos timeouts * Fix trailing whitespace * Fix log format commit 6a3cc914fcc0ecc01f33f81413080b882c3022c5 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Aug 27 18:33:29 2023 -0500 fix: Fix nice_view display widgets commit b17d896c5c30dbb038de36e7ed540318f9b048a1 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Aug 27 18:03:06 2023 -0500 fix: Address review comments commit 651ed05e9aab061703fb6e3736c974702310a9e1 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun May 14 11:55:21 2023 -0500 refactor: Split endpoint to transport and instance Changed the endpoints code to rename the existing endpoint types to "transport" and add the concept of "endpoint instances". A transport is the method by which data is sent, while instances allow describing multiple endpoints that use the same transport (e.g. bluetooth profiles) Also added new APIs to get the total number of possible endpoint instances and assign each instance a unique index, which can be used for tracking separate state for each endpoint in other code files. commit 2f05ad55ca9734f1cc890dcd659d0691ce327658 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Sat Sep 16 17:24:39 2023 -0400 fix(core): Prevent pre-releasing explicit mods. commit dffdb2365e1ff977020a1c62967512b196edee2c Author: Andrew Rae <ajrae.nv@gmail.com> Date: Tue Jun 6 20:42:52 2023 -0400 test(core): Adding coverage for key pre-releasing. Added cases for the two use cases I know of: 1. Rolling with key-repeat behavior 2. Rolling symbols that have the same base key, eg `+=` commit 933e369d7cacd2680cd8c1355eb7e4a35b4e34f9 Author: Andrew Rae <ajrae.nv@gmail.com> Date: Mon May 29 22:48:38 2023 -0400 feat(core): Adding pre-release for keys that were already pressed. This fixes #1207 and #1076 (and maybe more?). commit c1ebadcd2a1b7cad47c2224a4fb6130cda80b7e3 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Fri Sep 29 21:14:31 2023 +0100 feat(hid): Add apple globe keycode * feat(hid): Add apple globe keycode * Update docs/src/data/hid.js Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> Co-authored-by: Pete Johanson <peter@peterjohanson.com> Co-authored-by: Nick Coutsos <nick@coutsos.com> commit 9b3d2cb99fe806db5897063e372a5ae45a58b0ec Author: zhiayang <500236+zhiayang@users.noreply.github.com> Date: Thu Sep 28 12:19:14 2023 -0400 fix(driver): Fix broken compilation for MAX7318 driver commit 07c82836e032ee4db64098e3b0aa26295b29b989 Author: ClicketySplit <101202583+ClicketySplit@users.noreply.github.com> Date: Thu Sep 28 09:54:08 2023 -0600 fix(shields): Leeloo-Micro set status disabled for encoders. commit 8abc449cc29ef35ffd5770e9f7680348b8c708f7 Author: zhiayang <500236+zhiayang@users.noreply.github.com> Date: Mon Sep 25 21:04:03 2023 -0400 feat(drivers): add driver for MAX17048 fuel gauge Add driver for MAX17048 fuel gauge for battery reporting. commit 28ce23d4891eee3a1ef0a0d8187afe233d05cf81 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Sep 14 23:43:47 2023 -0700 chore(tests): Move to proper header name. commit 0ca7f69b6d21f0e24555d635a017459a8ed0fe43 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Sep 11 21:56:37 2023 -0700 refactor: Promote debounce to exposed mod lib. * Promote previously local debounce code from kscan drivers to exposed module lib, for use with other drivers as needed. * Refactor existing kscan driver to new "public" API. commit c28ef1b61e9feb748ff0823f7f226d67e14fd3aa Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Sep 2 20:28:47 2023 -0700 refactor(drivers): Use proper init stage/priority. * Avoid APPLICATION stage and use the proper earlier stage for kscan drivers. commit 690bc1bb44b1b62228900906cb308dc6f1a05eb8 Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Sep 2 20:07:31 2023 -0700 refactor: Move drivers into properly module. * Align our driver module layout to properly match Zephyr conventions, allowing proper CMake setup to amend the library for each type of driver. commit eaeea4bdfa2d67c7faea8e5f77b638723ebfe5e9 Author: Jeppe Klitgaard <jeppe@dapj.dk> Date: Tue Sep 12 08:32:09 2023 +0200 feat(docs): Add missing `&kp` tip for `devicetree_unfixed.h` error commit 7f9e9f8c64f3128c2c3e7af3f22ced665fe1b873 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Tue Sep 5 22:23:44 2023 -0700 fix(boards): Disable QSPI for Xiao BLE The GD25Q16 flash connected via QSPI seems to be causing issues with excessive battery use and inability to sleep. Since ZMK doesn't use it, disable it. Resolves #1901 commit f442776fe2bea2a3644d0767a2cf1e975c6d9b38 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Jun 10 17:41:22 2023 -0700 feat(docs): Detail logging and note extra useful options commit 8087fa3b2b8bb0590e7cf5de6d22b03acd9411a4 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Sep 5 05:12:55 2023 +0000 chore(deps): bump @fortawesome/fontawesome-svg-core in /docs Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.4.2. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.4.2) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-svg-core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> commit 693875675fec96b46c687540ef46a17fa4132779 Author: Nate Eagleson <nate@nateeag.com> Date: Mon Sep 4 19:59:59 2023 -0400 fix(docs): Fix typo in caps-word.md (#1924) commit 718500543b6d087ce8aac00caac173030b75be16 Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Sep 2 01:45:12 2023 -0700 feat(split): Use directed advertising. * Split centrals to scan with their identity so they receive direct advertising packets. * Split peripherals to use direct advertising if they have an existing bond to a split central. commit 3936298260699d88f8fb8c839991128ed0edfafa Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 4 05:18:02 2023 +0000 chore(deps-dev): bump eslint-plugin-react from 7.32.2 to 7.33.2 in /docs Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.32.2 to 7.33.2. - [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases) - [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.32.2...v7.33.2) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> commit 647945d9f8c80b7de8df8f9dc54bdcf865d531ad Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Jul 17 07:20:45 2023 -0700 feat(shields): Add splitkb.com Aurora Helix * Add new shield for splitkb.com Aurora Helix, supporting keys, encoder(s), displays, and RGB. commit 8984e12f0d0442b15e6fd18dfd48666bc4cbceb2 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Aug 30 05:10:14 2023 +0000 chore(deps-dev): bump json-schema-to-typescript in /docs Bumps [json-schema-to-typescript](https://github.com/bcherny/json-schema-to-typescript) from 12.0.0 to 13.1.1. - [Changelog](https://github.com/bcherny/json-schema-to-typescript/blob/master/CHANGELOG.md) - [Commits](https://github.com/bcherny/json-schema-to-typescript/commits) --- updated-dependencies: - dependency-name: json-schema-to-typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> commit 3de23938d687badb346cd97f2e4003bc4357508c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Jul 19 08:51:44 2023 +0000 chore(deps): bump word-wrap from 1.2.3 to 1.2.4 in /docs Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> commit ac0691471f1adb8336fb7eb5d01f18c988c5bad8 Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Thu Aug 3 10:26:34 2023 +0800 feat(shields): Add Bluetooth bindings to kyria keymaps Bluetooth bindings are useful for handling pairings with hosts. This change adds the header and a few default commands as template for new users to work with. commit 544612c8c0929ff3089bcdb86f9ea8a2f77081eb Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Fri Sep 1 23:32:17 2023 -0400 fix(split): reserve peripheral slot before stopping scanning In the event that the peripheral MAC address does not match, this allows scanning to continue. commit 4e18b879bdeab047e901856cf6a0cbf3a4855adc Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 15:26:00 2023 -0700 feat(docs): Document persisted settings and debouncing commit b20d3178b9d681f2b959cc7980d7252cda415189 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 14:11:30 2023 -0700 feat(docs): Note devicetree limits re: macro bindings commit 369c7c1721861c9a0e5e47c6b1090abe8cfb0566 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 14:10:59 2023 -0700 fix(docs): Correct default macro wait/tap ms commit 3d938033b002c78ce24245e3cf37b7ba55876145 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 14:45:25 2023 -0700 feat(docs): Note GPIO flags and add examples commit 1e11e84d0d367a90d155df1d13824077f61bf158 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 14:44:37 2023 -0700 fix(docs): Fix row/col comments in matrix examples commit fd4796583810b6fa42edcee7aa33fa9db4ba4a44 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sat Sep 2 13:49:18 2023 -0700 fix(docs): Remove diode-direction from direct GPIO driver commit 185457bc1169176037aa281edb0a9bf485a70dbd Author: Mikhail Stralenia <mstralenya@gmail.com> Date: Tue Aug 29 18:53:30 2023 +0300 fix(shields): leeloo - proper encoder status for split encoders. commit a92a4967aa85f4ab19d36bcb81afc0420f2775d2 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Jun 28 19:26:33 2023 +0000 fix(sensors): Only accept data once per behavior. * Don't accept data for the same behavior on multiple layers more than once, to avoid duplicate/extraneous triggers. commit dcb1f8f13528effc3e2ee3dadf9b385bf2394037 Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Jun 23 07:28:27 2023 +0000 fix(docs): Update docs about split encoder support commit 9d4422980088fb6d2130ac9a3119809984762267 Author: Stephen Wan <stephen@stephenwan.com> Date: Mon Mar 15 12:26:18 2021 -0700 feature(split): add support for sensors from peripheral This commit adds a new GATT characteristics on the peripheral side and wires it up to read sensor values. The central side subscribes to this new characteristics and replays sensor values on its side. Co-authored-by: Peter Johanson <peter@peterjohanson.com> commit c957348e6187ffde3c073e8c367a60a7ee16b12c Author: Seth Milliken <seth_github@araxia.net> Date: Tue Aug 8 15:12:46 2023 -0700 fix(docs): detail overriding the `led_strip` `chain-length` property Quite a few people have struggled with setting the correct `chain-length` for their `led_strip`. For some, this is their first time needing to change a pre-defined devicetree property, and so they aren't familiar with the technique. I commonly see folks adding a duplicate of the entire `*.overlay` file with only the `chain-length` value changed. Having clear documentation for this specific application of the property override technique could help forestall these problems, and give those of us helping out in Discord something to easily reference. commit d17c473d45b3bd01d80b8a5eab417986be0281da Author: Jorge Villalobos <minusfive@users.noreply.github.com> Date: Wed Aug 2 12:57:00 2023 -0400 feat(docs): Improve parameterized macros docs commit e65a7e3075a7a153ea478d4fd293ae65b31e33ed Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Thu Jul 20 16:48:02 2023 -0400 fix(battery): change nRF52 ADC gain With ADC pin, maximum 3.6V input needs gain 1/6 to be less than the 0.6V reference. With VDDHDIV5, maximum 6V input corresponds to 1.2V so gain 1/2 will be less than the 0.6V reference and be slightly more precise. commit cb9c573b534dcb52ee8cf6b2cec6cb880e841301 Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Mon Jul 17 17:32:14 2023 -0400 refactor(underglow): turn underglow off in low priority work queue commit 9a963abfc8b27c6fdfb5b6b4b38e5905d6a360a7 Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Mon Jul 17 17:16:04 2023 -0400 refactor: use low priority workqueue for underglow and battery reporting Blocking operations on the high priority system workqueue may result in deadlocks, particularly when Bluetooth is in use. commit f743d57ff1d4d68f51fb11b99fc0217eeca42919 Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Jul 10 22:44:44 2023 -0700 feat(shields): Add splitkb.com Aurora Sofle * Add new shield for splitkb.com Aurora Sofle, supporting keys, encoder(s), displays, and RGB. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 147f7f23dca7a2eb5d7433d399948cfd51e068a9 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Jul 20 23:53:38 2023 -0700 fix(shields): Make settings_reset more flexible. * Don't reference `pro_micro` nexus node in settings_reset so it can be used with other controllers. * Use mock kscan node instead. commit 5f6a13413bba84eeb1eb89c4ff2a5710ca552e6b Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Jul 20 23:34:09 2023 -0700 fix(bluetooth): Split improvements * Proper usage of bt_uuid_cmp. * Central's don't start scanning for peripherals if `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled. * Split peripherals don't advertize if `ZMK_BLE_CLEAR_BONDS_ON_START` is enabled. commit 54c2e8e155e9be71026251946c98e8e45c989388 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Jul 20 06:35:41 2023 +0000 feat: Add more logging to peripheral settings. commit ed400c4feb7955bdc839fbf33b463a73c898a033 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Jul 19 16:21:06 2023 +0000 fix(bluetooth): Corrected use of `bt_addr_le_cmp` * Properly compare to zero when comparing LE addresses. commit 73e1b526d56376be09908a3726fbe9553052e447 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Jul 19 14:59:40 2023 +0000 fix(bluetooth): Properly clear peripheral slots * When the clear bonds Kconfig is set, also clear peripheral address slots addresses from settings as well. commit b945ffe943f1639bfe992ddb4bc12f968d3858f9 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Jul 12 15:07:59 2023 +0000 chore(deps): bump semver from 5.7.1 to 5.7.2 in /docs Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> commit cec2061dada6b18580ce20f0c1c70df38aa2a379 Author: Maciej Konieczny aka narf <narfdotpl@users.noreply.github.com> Date: Wed Jul 19 21:59:29 2023 +0200 fix(docs): Fix typos in parameterized macros docs. commit ee1e13510410e9b482fd20acf112bc3f1466c362 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Tue Jul 18 23:21:09 2023 -0700 fix: Proper battery sensor Kconfig dependencies. Properly make the battery sensor Kconfig symbols depend on `SENSOR` config, and minor battery reporting Kconfig symbol dependency fix. commit 51a4be89355550ccdc00833c18ceaba5ddabcb51 Author: Nick Winans <nick@winans.codes> Date: Tue Jul 18 16:55:32 2023 -0500 fix(displays): Don't enable built-in widget configs by default commit 18a2b76bf085249e9d650d6664d32931c56dc7b7 Author: Nick Winans <nick@winans.codes> Date: Tue Jul 18 16:43:30 2023 -0500 feat(nice!view): Custom widgets commit f3110d1d1ea195725551b4c997c542a4003e1452 Author: NAHO <90870942+trueNAHO@users.noreply.github.com> Date: Tue Jul 18 00:23:22 2023 +0200 fix(docs): Fix README punctuation and add license link commit aaf9958d865ac28659d16e1ea1ba356f7e742ea8 Author: ClicketySplit <101202583+ClicketySplit@users.noreply.github.com> Date: Mon Jul 17 15:26:27 2023 -0600 feat(boards): Leeloo v2 and V2 Zephyr 3.2 fixes * Add Leeloo v2 * Leeloo-Micro v1 updates to support Zephyr 3.2 * Refactored for new Encoder Configuration Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit bbb27ac02769c7bf5f20b76605f2b4e0f811e6e0 Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Fri Jul 7 01:39:08 2023 +0800 feat(docs): Note that UF2 drive unmounts after flashing (#1859) Add a note about the UF2 drive that automatically unmounts itself to restart, which may surprise some new users. commit 3772ecb04e777ec4d592711427211cfac26a712d Author: Kyle McCreery <mccreery.kyle@gmail.com> Date: Wed Jul 5 12:50:19 2023 -0400 fix(boards): Update pillbug_defconfig to enable pinctrl commit b259d5a22e423458b94bd1aba70fd62f327528c0 Author: Peter Johanson <peter@peterjohanson.com> Date: Tue Jun 20 22:23:06 2023 +0000 fix(sensors): Sensor rotate behavior fix for layers. * Properly return transparent value when processing mode for higher disabled layers means the processing is ignored. commit 805dd4a53bc9ff7fe1f7eb5c9ea332a9affbc5f9 Author: Peter Johanson <peter@peterjohanson.com> Date: Fri Apr 8 15:38:46 2022 +0000 feat(behaviors): Support parameterized macros. * Add two new compatibles for macros that take one or two parameters when bound in a keymap. * Use `¯o_param_1to1`, `¯o_param_1to2`, `¯o_param_2to1`, and `¯o_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 <caksoylar@users.noreply.github.com> commit e686fce4d917b708da7f2baba4115043d3f0deab Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Fri May 19 18:41:08 2023 -0400 refactor(split): allow central to define connection parameters Fixes #1614 commit 5763558a02154ab599775c770fcf954931816e52 Author: Peter Johanson <peter@peterjohanson.com> Date: Tue May 30 02:38:28 2023 +0000 feat(blog): Add post about sensor refactor. * Document changed configuration, support for other Zephyr drivers, next steps. Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 753802cd79ce12d2e5d86c72ced3a4cc76fe4564 Author: Peter Johanson <peter@peterjohanson.com> Date: Sun Jun 18 05:59:31 2023 +0000 fix(sensors): Clean ups based on code review. commit 3a91b325138dfba8ede743aec28e2cdbc85d17d2 Author: Peter Johanson <peter@peterjohanson.com> Date: Tue May 16 22:27:01 2023 -0700 refactor(sensors): Use "sensor index" consistently commit 8b29f6d34556d98df60f529e84ee66e49e6bf0c0 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu May 4 00:04:20 2023 +0000 refactor(sensors): Split data handling from triggers. * All sensor behaviors should see sensor data, then selectively only have some trigger their behaviors. commit d781ec795b9d9e053ce71c30450ba2b979eab43b Author: Peter Johanson <peter@peterjohanson.com> Date: Tue Apr 18 07:14:18 2023 +0000 refactor(bluetooth): Add battery reporting config. * Add dedicated battery reporting Kconfig that is `imply`d by enabling ZMK_BLE. commit f8aaaff556e1c43c6646ea1c1ee7faa2907cdf51 Author: Peter Johanson <peter@peterjohanson.com> Date: Sun Apr 16 08:18:57 2023 +0000 refactor(shields): Updated ZMK Uno encoder config. * Move to new steps/triggers-per-rotation config. * Leverage QDEC Nordic driver when used on Nordic DK. commit 621d946d2926f28aa866947f110182726fa9ca10 Author: Peter Johanson <peter@peterjohanson.com> Date: Sun May 21 21:27:41 2023 -0700 refactor(bluetooth): Bump HoG stack size. * Bump the default stack size for the HoG processing thread to avoid issues w/ some pathways. commit f0f7e2081b5a4aa5bc35d7d8855b0e73e962319b Author: Peter Johanson <peter@peterjohanson.com> Date: Thu May 26 16:53:41 2022 +0000 refactor(config): Select SENSOR as needed. * Don't force on SENSOR Kconfig setting unless needed based on the detected DT. commit 295ed83409ab0bede761eb2e51f4e4670e4dbf08 Author: Peter Johanson <peter@peterjohanson.com> Date: Thu Dec 2 15:07:29 2021 +0000 refactor(sensors): ec11 rotation sensor value in degrees. * Add new `steps` property to the `aips,ec11` binding, to make the driver properly report degrees in the rotation delta channel. * Handle old sensor values in sensor rotate behavior. commit 2244bd3d81931753dfd170e804a90a487a205aa1 Author: Peter Johanson <peter@peterjohanson.com> Date: Wed Sep 1 03:49:18 2021 +0000 refactor(sensors): Sensor event channel data, resolution tweaks. * 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. commit dcf5e75fa674184d9615793882db1c3f4c4194b9 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun May 14 13:08:33 2023 -0500 fix(boards): Bump nRF5340 DK I2C buffer size Increased the I2C buffer size again, since it needs to be at least 641 to support 128x64 displays. commit 9ff1eaeb5a5f892d17ca87c38697466fd48fc301 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun May 14 11:44:49 2023 -0500 fix: Enable BT_TINYCRYPT_ECC when using HCI BT_TINYCRYPT_ECC is required for BT_SMP_SC_PAIR_ONLY to work on setups that use BT HCI like the nRF5340. commit 9d714c0b69fee2098a010d29e534051aeca26386 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Jun 11 06:47:34 2023 +0000 chore(deps-dev): bump webpack from 5.80.0 to 5.86.0 in /docs Bumps [webpack](https://github.com/webpack/webpack) from 5.80.0 to 5.86.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.80.0...v5.86.0) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> commit 0be0d0763081de0c163dd26c29752d1085381dbb Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun Jun 11 04:35:54 2023 +0000 chore(deps): bump minimatch and serve-handler in /docs Bumps [minimatch](https://github.com/isaacs/minimatch) and [serve-handler](https://github.com/zeit/serve-handler). These dependencies needed to be updated together. Updates `minimatch` from 3.0.4 to 3.1.2 - [Release notes](https://github.com/isaacs/minimatch/releases) - [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2) Updates `serve-handler` from 6.1.3 to 6.1.5 - [Release notes](https://github.com/zeit/serve-handler/releases) - [Commits](https://github.com/zeit/serve-handler/compare/6.1.3...6.1.5) --- updated-dependencies: - dependency-name: minimatch dependency-type: indirect - dependency-name: serve-handler dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> commit 9d39a87f67668b4c083e09b04adf006d6fd1385d Author: pixls <github@dev.snack.supply> Date: Sat Jun 10 20:49:30 2023 -0400 fix(docs): Change user-setup.md order to agree with order in setup script Fixes #1281 Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 98524a95671fe9d819a65d1515f9bc37895efc3d Author: kadoyau <11990327+kadoyau@users.noreply.github.com> Date: Sun Jun 11 04:32:50 2023 +0900 fix(docs): Fix INT6 keycode description commit a5c57fa224ba410100dde4e64222505bfb2b89ea Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue Jun 6 13:22:39 2023 +0800 feat(docs): Add an example for combining just modifiers (#1826) Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com> commit 5d9ae8fffa869f36e3e0911bed92d41ed8640826 Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Fri Jun 17 17:44:31 2022 -0400 feat(split): allow central to connect to multiple peripherals commit f08802eaa735b87fa089b81512a941a1bcc8ca4b Author: Peter Johanson <peter@peterjohanson.com> Date: Mon Jun 5 05:04:13 2023 +0000 fix(boards): Proper i2c pinctrl for BlueMicro840 * Use the proper pin assignmets after the move to pinctrl for the Zephyr 3.2 migration. commit 19d883cdfe679977023116dcf689ce67a6ce548d Author: Peter Johanson <peter@peterjohanson.com> Date: Sat Jun 3 02:53:20 2023 +0000 fix(bluetooth): Passkey pairing improvements. * Capture the last 6 entered digits, and then require pressing Enter/Return to submit the entered digits. This matches the messaging shown on hosts regarding how to complete pairing. * Fix the wording on the Kconfig menu item to accurately describe the feature. commit ace11e327fbfb4c4c894bb66328156d4d0b7eda0 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Jun 2 20:46:13 2023 -0700 fix(docs): Fix broken link in BT troubleshooting commit 0682bc3aa6d9b9deac48b5aa6c781241075819b3 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Jun 2 18:45:15 2023 -0700 feat(docs): Note split connectivity improvement with TX power commit a9ad11f91e82e214d91cf9bf1586431060759f06 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Fri Jun 2 18:42:50 2023 -0700 refactor(docs): Move BT troubleshooting items to BT page commit 30ba4b08aed896d77fb7ade96ef0334d8f30af5d Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Mon May 29 22:06:09 2023 -0700 feat(docs): Add pointer to Bluetooth page in troubleshooting commit 4042aea66f09cfc2d62fe1313f7bcbae98aab200 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Mon May 29 22:03:24 2023 -0700 feat(docs): Add troubleshooting for Windows issue commit 0508718d6ce8b40adbe932b0bd9bb30ee5e0bbf5 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Mon May 29 21:52:16 2023 -0700 feat(docs): Add behavior types section for hold-tap commit a2af74f5ab4d2d7142791ae55cab11d59b29bc4d Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Mon May 29 21:25:12 2023 -0700 feat(docs): Add note on modifier functions to macros commit b276a3bfb074a869ca101bdaba924c936eeb04ec Author: Joel Spadin <joelspadin@gmail.com> Date: Tue Dec 6 00:13:01 2022 -0600 refactor(kscan): batch GPIO reads by port Changed the GPIO matrix and direct GPIO key scan drivers to do a single read per port instead of one read per pin. This is much more efficient for some types of GPIO drivers, such as I2C GPIO expanders. To accomplish this with minimal overhead, we now sort input pins by port at driver init. if we iterate through the pins in the sorted order, all pins on the same port are consecutive, so we only need to read each port once the first time we see it. commit 1adfcf92bf96cd6453e6bb3ae8cc3b2d1fa8caa4 Author: Xudong Zheng <7pkvm5aw@slicealias.com> Date: Mon May 29 00:28:45 2023 -0400 refactor(split): fix inconsistency in Kconfig names commit 5aac2743b10c69be000038cd03e51f5a284fa6cc Author: Peter Johanson <peter@peterjohanson.com> Date: Fri May 5 22:56:58 2023 -0700 fix(bluetooth): Improved checking for conn status. * Check the actual connection status before considering a discovered connection as connected. commit 864394b40a7599a1560782226168cd6e40244c5a Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun May 14 12:20:24 2023 -0700 feat(display): Add setting to invert display colors Add CONFIG_ZMK_DISPLAY_INVERT Kconfig to invert colors (black-on-white to white-on-black) on monochrome screens. Currently applies only if CONFIG_LV_USE_THEME_MONO is selected, which is the default unless user overrides it. commit 7e29166c6ce4987de58de2e8a5545dca68312dfd Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun May 14 12:40:11 2023 -0700 refactor(display): Clean up unused theme Kconfig commit b021d19255122883c4ccd1887ffa0bba5df076b0 Author: Cem Aksoylar <caksoylar@users.noreply.github.com> Date: Sun May 14 12:12:59 2023 -0700 fix(display): Imply LVGL mono theme when display is enabled All displays currently used with ZMK are monochrome so it makes sense to enable the mono theme by default, which can be disabled by the user since we use the "imply" statement. Without this theme setting, the small font size selection for widgets at the bottom of the stock status screen does not work. commit c4c014e3d1087a41d5347b2af9d46ab939cc6c82 Author: Joel Spadin <joelspadin@gmail.com> Date: Mon Apr 24 20:22:42 2023 -0500 fix(docs): Fix typescript error See https://github.com/facebook/docusaurus/issues/8226#issuecomment-1420620198 commit dae020787e5b29290e5cbd564fb5cdc4d29a0324 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Apr 23 16:55:01 2023 -0500 docs: Update tree-sitter Updated web-tree-sitter and the devicetree grammar. web-tree-sitter now supports a custom function to locate its .wasm file, so performing a string replace is no longer necessary to get it to work with Docusaurus' Webpack configuration. We now check when tree-sitter is locating its .wasm file and provide the Webpack-adjusted URL. commit c6bf95a901164e57d87d76cc65962434bba7b25d Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Apr 23 00:41:08 2023 -0500 chore: Update fontawesome commit da2599aa75875a67ea923b93d58b6591e0747a06 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Apr 23 00:26:28 2023 -0500 chore: Update docusaurus, react types commit 4674215551b8c9bb0706e825742ba82b9d46ed3b Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Apr 23 00:14:00 2023 -0500 chore: Update json-schema-to-typescript commit d799560985b40a7f9526cfdedd88546b60cf3182 Author: Joel Spadin <joelspadin@gmail.com> Date: Sun Apr 23 00:10:58 2023 -0500 chore: Update typescript, eslint, webpack commit 89d71ed2c2c1af78c166a96dc65658e4f39743ab Author: digger vermont <digver@users.noreply.github.com> Date: Thu May 18 19:47:36 2023 -0400 feat(boards): Add KBDfans Tofu65 2.0 board * Initial commit of Tofu65 2.0 board --------- Co-authored-by: Pete Johanson <peter@peterjohanson.com> commit b1ca9199de02dcb45d055a71807ff3894290fda7 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed May 17 12:42:57 2023 +0800 fix(ci): Refactor prepare variable step * Refactor workflow variables * Use quotes to avoid word splitting commit a1e0607a22deb72ce4ac64e442f0baa…
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Ready for review, please have a look! (Before more PRs are merged and we need to update again 😆 )