Skip to content

v1.0.8

Compare
Choose a tag to compare
@jtroo jtroo released this 06 Nov 04:48
· 793 commits to main since this release

Known issues

  • Incorrect numpad 0 key mapping kp0. Workaround: build from the main branch in which this is fixed, or use v1.0.7

Changelog

  • Fixes to some Interception keys
  • Improve CPU usage when nothing is being typed
  • Allow colons in device path by escaping with backslash
  • Add AltGr chord shortcut (AG- or RA-)
  • Autodetect keyboard devices if linux-dev is omitted
  • Add more mappable keys
  • Add guaranteed termination of kanata using the key combo LCtrl+Space+Escape
  • Enable defsrc and remapping of mouse buttons in Linux
  • Allow automatic handling of unmapped keys
  • Fix an issue on Windows related to keys mapped to shift
  • Fix behaviour of nested multi actions
  • Fix one-shot behaviour when followed by certain other special actions
  • Add more remappable mouse buttons

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

Download kanata.exe. Optionally, download kanata.kbd. With the two files in the same directory, you can double-click the exe to start kanata.

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

kanata.exe --cfg <cfg_file>

You can also set up a toolbar shortcut.

Linux

Download kanata.

Run it in a terminal and point it to a valid configuration file:

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

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

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

99e44ef70594f3d916402ea606f6a5d0368301bd84aa10991180b7716e233b81  kanata.kbd

27c25bc33d710faec48c59efcac57071cd14ec131dfeab0b16b74684cb3486ab  kanata
876a08b9d83537af043769c73165b3d1582f6d53f1eb95cddc00be8f30cebfde  kanata.exe
2082f3e64e2ab991e494de2f45f7b5efabade3efb76400981c87c5f88e01bb77  kanata_cmd_allowed
583691bb4f3544bab2a6d81722a2355eb21b040efc32ac38da571be960cf857b  kanata_cmd_allowed.exe
8d6be55d095bf491e0bc97cfb57cf888b3bcbd797914a0f496cac1ac2f0c2bb1  kanata_wintercept.exe
8ddc3db8f1e63d94a6c57762c0cfa0cd2b37656c8e17cf661d38639887af3a3d  kanata_wintercept_cmd_allowed.exe