Skip to content

v1.4.0-prerelease-1

Pre-release
Pre-release
Compare
Choose a tag to compare
@jtroo jtroo released this 02 Apr 23:05
· 626 commits to main since this release

Changelog (since v1.3.0)

Change log
  • Fixed: kprt key behaviour with Windows Interception
  • Added: caps-word
  • Added: macro-repeat
  • Added: dynamic-macro-record-stop-truncate

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.

Windows

Instructions

Download kanata.exe. Optionally, download kanata.kbd. With the two files in the same directory, you can double-click the exe to start kanata. Kanata does not start a background process, so the window needs to stay open after startup. See this discussion for tips to run kanata in the background.

You need to run kanata.exe via cmd or powershell to use a different configuration file:

kanata.exe --cfg <cfg_file>

Linux

Instructions

Download kanata.

Run it in a terminal and point it to a valid configuration file. Kanata does not start a background process, so the window needs to stay open after startup. See this discussion for how to set up kanata with systemd.

chmod +x kanata   # may be downloaded without executable permissions
sudo ./kanata --cfg <cfg_file>`

To avoid requiring sudo, follow the instructions here.

cmd_allowed variants

Explanation

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.

wintercept variants

Explanation and instructions

Warning: known issue

This issue in the Interception driver exists: oblitum/Interception#25. This will affect you if you put your PC to sleep instead of shutting it down, or if you frequently plug/unplug USB devices.

Description

These variants use the Interception driver instead of Windows hooks. You will need to install the driver using the assets from the linked website or from the copy in this repo. The benefit of using this driver is that it is a lower-level mechanism than Windows hooks. This means kanata will work in more applications, including administrator-privileged apps.

Steps to install the driver

  • extract the .zip
  • run a shell with administrator privilege
  • run the script "command line installer/install-interception.exe"
  • reboot

Additional installation steps

The above steps are those recommended by the interception driver author. However, I have found that those steps work inconsistently and sometimes the dll stops being able to be loaded. I think it has something to do with being installed in the privileged location of system32\drivers.

To help with the dll issue, you can copy the following file in the zip archive to the directory that kanata starts from: Interception\library\x64\interception.dll.

E.g. if you start kanata from your Documents folder, put the file there:

C:\Users\my_user\Documents\
    kanata_wintercept.exe
    kanata.kbd
    interception.dll

sha256 checksums

Sums
7f9fe160b5dcef0b6ca312c6d69f157ce832b42503b5b86004d749def3e27be5  kanata
48ba78dae52a53f8707f7bd2bddd60da9b0d57be548181444300898d0abb2fb3  kanata.exe
099fe0ad037600191c30223057f438d57ba9f6d7831c92612c4cd90cf590f1e9  kanata.kbd
7d3a8bd309bfaf0302ea0272b6b29cd1b22b29f524a30c5c56f515fc650332aa  kanata_cmd_allowed
8a8f4a3c8417729bef0581f34aae0df1d743b04600439f49b738df3ab47b16f1  kanata_cmd_allowed.exe
a46b6347adcaa3ea9e6dab72f7f744c2cac27963305453f2457e6848668622d7  kanata_wintercept.exe
ba57f2f4b8d48350e52a1e28ce0ae0c6ae91df037e055eb66fc4c02d91f23fa2  kanata_wintercept_cmd_allowed.exe