kinesis360/README.md

6.0 KiB

ADV360-PRO-ZMK

Build Status version codeberg git github matrix

Overview

The repo forked KinesisCorporation/Adv360-Pro-ZMK at 45fca6f601.

Manuals for Kinesis Advantage 360 Pro:

See UPSTREAM.md for original README.md file.

Git

Repository
git.sudo.is ben/kinesis360
Codeberg benk/kinesis360
GitHub benediktkr/kinesis360

The V3.0 branch of this repo tracks the main branch on of the KinesisCorporation/Adv360-Pro-ZMK repo.

$ git remote add upstream https://github.com/KinesisCorporation/Adv360-Pro-ZMK
$ git fetch
$ git checkout --track upstream/V3.0
$ git branch --set-upstream-to=upstream/V3.0 V3.0
$ git pull upstream V3.0

In .git/config it looks like:

[branch "V3.0"]
        remote = upstream
        merge = refs/heads/V3.0

There are a couple of .patch files taken with git diff:

  • upstream-changes.patch: All changes to the upstream repo since the fork.
  • upstream-changes-config.patch: Upstream changes in config/ since the fork. These are the changes made to the upstream repo since my fork. It does not show how my config differs from the upstream.
  • diff-config.patch: The diff between config/ in this fork and current upstream. This how my fork differs from current upstream.

Updating the .patch files:

$ git checkout V3.0
$ git pull upstream V3.0
$ fork=45fca6f6010b50cec3e7f8df4fe4af4bad1e470e
$ git diff $fork --no-prefix --patch -- config/ > data/upstream-changes-config.patch
$ git checkout main
$ git diff V3.0 --no-prefix --patch -- config/ > data/diff-config.patch

Builds

The default GitHub actions have been disabled and replaced with a Jenkinsfile and the Dockerfile has been rewritten and improved.

To build the firmware:

$ make

The left.uf2 and right.uf2 files are in a tarball dist/firmware/Adv360-firmware_${VERSION}.tar.gz.

ZMK

Customized ZMK for Advantage 360

The Advantage 360 Pro uses ZMK, but it uses a customized version of ZMK that is mainted in ReFil/zmk on GitHub.

Support Kinesis Advantage 360 has been merged in zmkfirmware/zmk#1454, which merged the advantage360 branch from ReFil/zmk. But the west.yml file is still pointing to the ReFil/zmk repo (not sure why).

The config and build uses ZMK from the ReFil/zmk repo. Currently my builds are working using the adv360-z3.2 branch. Upstream uses the adv360-z3.5 branch, but I currently get some errors building this config on that branch:

warning: Deprecated symbol NRF_STORE_REBOOT_TYPE_GPREGRET is enabled.


warning: BT_SCAN_WITH_IDENTITY (defined at subsys/bluetooth/host/Kconfig:764) has direct dependencies
  !BT_PRIVACY && (BT_CENTRAL || BT_OBSERVER) && BT_HCI_HOST && BT_HCI && BT
  with value n, but is currently being y-selected by the following symbols:

Documentation is really sparse, but KinesisCoproration/Adv360-Pro-ZMK#251 says that CONFIG_BT_PRIVACY (IRK) cannot be enabled.

Full error: zmk-refil-adv360-z3.5-build-failure.txt

Bluetooth

ZMK:

Zephyr:

Use Tap-Dance

Tap-Dance: https://zmk.dev/docs/behaviors/tap-dance

  • Both: tap C -> C
  • Normal layer: tap,tap C -> ctrl C
  • Mac layer: tap,tap C -> cmd C

Other configs