Package Details: kanata-bin 1.11.0-1

Git Clone URL: https://aur.archlinux.org/kanata-bin.git (read-only, click to copy)
Package Base: kanata-bin
Description: Improve keyboard comfort and usability with advanced customization
Upstream URL: https://github.com/jtroo/kanata/
Licenses: LGPL-3.0-only
Provides: kanata
Submitter: br-lemes
Maintainer: br-lemes
Last Packager: br-lemes
Votes: 18
Popularity: 0.42
First Submitted: 2022-07-29 02:55 (UTC)
Last Updated: 2026-02-09 12:06 (UTC)

Latest Comments

Ataraxy commented on 2026-02-23 16:31 (UTC)

I appreciate your caution in imposing anything upon users.

Note the service is disabled by default, and the byte count is very low compared the the irrecoverable human time each user would need to spend in working out how to auto start this, should they want to.

The permissions argument is orthogonal - however it's worked out, the permissions must work for the user. If that's done via root, then eek, but the . service is still a great starting point in that case.

It's not dictating where the config file must be - but it would work "out of the box" in 90+% of cases. For everyone else, it's trivial to do an override service with a little tweak.

I hope you reconsider based on enabling usefulness. Your argument about permissions is orthogonal -

br-lemes commented on 2026-02-23 12:50 (UTC)

Thanks for the suggestion, Ataraxy. I'm hesitant to include a default service because kanata relies on specific hardware permissions (uinput) and user-defined configs that vary per setup. Even with the default path, I'd rather not impose a filesystem or execution standard that doesn't exist upstream.

Ataraxy commented on 2026-02-17 13:35 (UTC) (edited on 2026-02-17 13:36 (UTC) by Ataraxy)

Please add /usr/lib/systemd/user/kanata.service:

[Unit]
Description=Kanata keyboard remapper
Documentation=https://github.com/jtroo/kanata
After=default.target

[Service]
Type=exec
ExecStart=/usr/bin/kanata

# Security hardening
PrivateTmp=true
ProtectSystem=strict
ProtectHome=read-only
NoNewPrivileges=true
ReadWritePaths=%h/.config/kanata

[Install]
WantedBy=default.target

Users can opt-in via: systemctl --user enable kanata.

br-lemes commented on 2024-12-02 13:29 (UTC)

Hi proferk, I don't know what's the best way to do this, so I simply added it to the same package. Both binaries are available now.

proferk commented on 2024-12-02 11:24 (UTC) (edited on 2024-12-02 11:25 (UTC) by proferk)

Hey there, br-lemes. Can you also create a package for the "cmd_allowed" variant of kanata? Copied from the releases:

The binaries with the name cmd_allowed are conditionally compiled with the cmd action enabled.

Using the regular binaries, there is no way to get the cmd action to work. This action is restricted behind conditional compilation because I consider the action to be a security risk that should be explicitly opted into and completely forbidden by default.

The cmd_allowed variant is available as the "kanata_cmd_allowed" file on the project's releases.

br-lemes commented on 2024-05-10 15:19 (UTC)

Thank you jrop.

I always clean the build directory, so I had no idea what was happening. I fixed for kanata, but let LICENSE untouched. I think LICENSE is unlikely to change.

jrop commented on 2024-05-09 17:24 (UTC) (edited on 2024-05-09 17:25 (UTC) by jrop)

The reason why people keep getting validity check errors is that, when a new version is published, makepkg does not re-download kanata or LICENSE, because they are already in the current directory (from a previous package build). The following patch fixes it so that the files that makepkg looks for have the version number in them, and it will always download fresh files. Then the integrity check should succeed.

diff --git a/PKGBUILD b/PKGBUILD
index 58ec365..f5267fb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,12 +8,12 @@ url='https://github.com/jtroo/kanata/'
 license=('LGPL-3.0-only')
 provides=('kanata')
 depends=('gcc-libs' 'glibc')
-source=("https://github.com/jtroo/kanata/releases/download/v${pkgver//_/-}/kanata"
-       'https://github.com/jtroo/kanata/raw/main/LICENSE')
+source=("kanata-${pkgver}::https://github.com/jtroo/kanata/releases/download/v${pkgver//_/-}/kanata"
+        "LICENSE-${pkgver}::https://github.com/jtroo/kanata/raw/main/LICENSE")
 sha256sums=('fd04643bf21f4cd0f805b31b5ef512e63251b815bae24ae4dc1839475c7de8fd'
        'a5681bf9b05db14d86776930017c647ad9e6e56ff6bbcfdf21e5848288dfaf1b')

 package() {
-       install -Dm755 kanata "${pkgdir}/usr/bin/kanata"
-       install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+       install -Dm755 "kanata-${pkgver}" "${pkgdir}/usr/bin/kanata"
+       install -Dm644 "LICENSE-${pkgver}" -t "${pkgdir}/usr/share/licenses/${pkgname}"
 }

jrop commented on 2024-05-09 17:16 (UTC) (edited on 2024-05-09 17:16 (UTC) by jrop)

1.6.1-1 is giving me a validity check error:

==> Making package: kanata-bin 1.6.1-1 (Thu 09 May 2024 11:15:11 AM MDT)
...
==> Validating source files with sha256sums...
    kanata ... FAILED
    LICENSE ... Passed

ChocoTwo commented on 2024-01-28 14:12 (UTC)

Aur (1)         Old Version  New Version    Make Only
aur/kanata-bin  1.4.0-1      1.5.0-1        No

:: Proceed to review? [Y/n]: Y

:: Downloading PKGBUILDs...
 PKGBUILDs up to date
 nothing new to review
fetching devel info...
==> Making package: kanata-bin 1.5.0-1 (Sunday, January 28, 2024 PM10:11:56)
==> Retrieving sources...
  -> Found kanata
  -> Found LICENSE
==> Validating source files with sha256sums...
    kanata ... FAILED
    LICENSE ... Passed
==> ERROR: One or more files did not pass the validity check!
error: failed to download sources for 'kanata-bin-1.5.0-1':
error: packages failed to build: kanata-bin-1.5.0-1

laura7089 commented on 2023-02-18 01:31 (UTC)

Getting a validity check error for kanata