| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| kanata.kbd | 2026-07-05 | 64.9 kB | |
| sha256sums | 2026-07-05 | 453 Bytes | |
| linux-binaries-x64.zip | 2026-07-05 | 2.2 MB | |
| macos-binaries-arm64.zip | 2026-07-05 | 2.4 MB | |
| macos-binaries-x64.zip | 2026-07-05 | 2.4 MB | |
| windows-binaries-arm64.zip | 2026-07-05 | 3.6 MB | |
| windows-binaries-x64.zip | 2026-07-05 | 8.5 MB | |
| README.md | 2026-07-05 | 10.3 kB | |
| v1.12.0 source code.tar.gz | 2026-07-05 | 1.8 MB | |
| v1.12.0 source code.zip | 2026-07-05 | 1.9 MB | |
| Totals: 10 Items | 22.9 MB | 6 | |
Configuration guide
Link to the appropriate configuration guide version: guide link.
Changelog (since 1.11.0)
Notable behaviour changes:
This note section highlights fixes/improvements that are a higher risk of unintentionally breaking workflows due to changing timings or event sequencing.
- The
switchaction now triggers the outerswitchwhen triggerd viarpt-any. - The
switchaction no longer uses the "action queue" meaning it activates one "tick" earlier, which is relevant for the ordering simultaneous action activations. - Releases of active chordsv2 actions is now delayed until a pending chordsv2-relevant pressed key resolves to a decision.
Change log
- fix!: make switch repeatable and avoid action queue (#2004) - fix!: queue custom action presses and releases (#2003) - fix!(chordsv2): wait for earlier presses before processing releases (#1997) - feat: add tap-hold-keys action with named key list options (#1990) - feat: add tap-hold-opposite-hand-release action (#1991) - feat: add tap-hold--order action (#1970) - feat: add per-action require-prior-idle override for tap-hold (#1969) - feat: add tap-hold-require-prior-idle defcfg option (#1960) - feat: add defhands and tap-hold-opposite-hand (#1955) - feat(switch): cmd support with `init-cmd` and `cmd-exit` - feat(linux): add virtual to possible output bus type configuration (#1942) - feat(macos): extend mouse support (#2011) (#2010) (#2005) - feat(macos): release keyboard grab on lock screen and user switch (#2016) - feat(macos): add actionable startup diagnostics and clean shutdown (#2015) - feat(macos): elevate process QoS to mitigate duplicated keystrokes - feat(macos): add continue-if-no-dev-found - feat: add TapActivated and HoldActivated TCP server events (#1934) - fix: enable `--list` for `features == "gui"` (#2002) - fix(simulation): tick with no processing for `can_block=true` - fix(tap-hold): add prior-idle to check for idle ticks (#2001) - fix(macos): improve --list output for BLE devices and bump driverkit to 0.3.0 (#1987) - fix(macos): don't intercept all devices when include/exclude list has no matches (#1986) - fix: move layer change check within tick iterations (#1977) - fix: handle `PRESSED_KEYS` type difference in `clean_state` (#1975) - fix(chordsv2): handle overlapping timeouts correctly (#1961) - fix(switch): boolean evaluation of `not` - fix(linux): avoid permanent busy wait for unpressed keys (#1956) - fix(linux): add fn key for use with asahi-linux - fix(macos): recover from DriverKit output loss instead of bricking keyboard (#1950) - fix(macos): drop key writes when DriverKit sink is disconnected (#2013) - fix(macos): sychronize caps lock state with OS/LED - fix(windows): improve startup stuck keys behaviour - optimize(win-llhook): add blocking recv in preprocessor (#1965)Sample configuration file
The attached kanata.kbd file is tested to work with the current version. The one in the main branch of the repository may have extra features that are not supported in this release.