Releases: jtroo/kanata
v1.3.0-prerelease-3
Changelog (since v1.2.0)
WARNING: Kanata now errors on invalid top-level config items. Kanata previously would ignore these and they would do nothing. Now they result in errors in the configuration.
Change log
- Fix: do not close immediately on error
- Fix: increase keyberon key queue size to help with long tap-hold durations
- Fix(Linux): change locking pattern causing unresponsiveness in some cases
- Fix(Linux): add accidentally uncfg'd key names
- Fix(Windows): release shift properly on shifted arrows
- Fix(Windows-Interception): correction of
deflocalkeys-wintercept
- Fix(Windows-Interception): fix issue with Interception driver sending Esc
- Fix(Windows-Interception): use Interception mouse movement instead of SendInput
- Added:
-timeout
variants of tap-hold that add a third potential action - Added: pretty errors using the miette crate
- Added: make defcfg optional
- Added: allow disabling of layer logging
- Added: ensure all keys are released at the end of a dynamic macro
- Added:
tap-hold-release-keys
- Added:
one-shot
variants - Added:
defvar
to allow defining variables - Added(Linux): mouse move support to Linux
- Added(Linux): systemd notification when kanata has finished starting up
- Added(Windows-Interception): use SendInput for arbitrary-code in Interception as well
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
a05d8176c2b6ca8a97beab317e1beaafd32fdfb97ed44c6e8bd3d72e439efef2 kanata
ba82f934ec56d54eff9a60262fae35d791b47ca3e23df6b0dce2816e0f5f2e96 kanata.exe
bf71d7a2b05b15bf3d61e68356ec3b054f1c40958fbd564aa126fc9db0652527 kanata.kbd
992ef35db54a5c2b2ffcac04a42e85c7c462f92dfb7c5c0f201e7a273fe8064b kanata_cmd_allowed
86346d482ac3cefc27f366398f08c250e4c8abe73fb030b774ba130246142fd4 kanata_cmd_allowed.exe
f014b7aa701539117934754589bfb2219a915638f70bc380ca4abd5e5e8a24ee kanata_wintercept.exe
7fdb7af98a431005c59dc42733334c5b33ebf59a93a2ab43da4e6004863823cc kanata_wintercept_cmd_allowed.exe
v1.3.0-prerelease-2
Changelog (since v1.2.0)
WARNING: Kanata now errors on invalid top-level config items. Kanata previously would ignore these and they would do nothing. Now they result in errors in the configuration.
Change log
- Fix: do not close immediately on error
- Fix: increase keyberon key queue size to help with long tap-hold durations
- Fix(Linux): change locking pattern causing unresponsiveness in some cases
- Fix(Windows): release shift properly on shifted arrows
- Fix(Windows-Interception): correction of
deflocalkeys-wintercept
- Fix(Windows-Interception): fix issue with Interception driver sending Esc
- Fix(Windows-Interception): use Interception mouse movement instead of SendInput
- Added:
-timeout
variants of tap-hold that add a third potential action - Added: pretty errors using the miette crate
- Added: make defcfg optional
- Added: allow disabling of layer logging
- Added: ensure all keys are released at the end of a dynamic macro
- Added:
tap-hold-release-keys
- Added(Linux): mouse move support to Linux
- Added(Linux): systemd notification when kanata has finished starting up
- Added(Windows-Interception): use SendInput for arbitrary-code in Interception as well
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. 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
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
7e919063e29c85b6fe6a6bbb5e746da329bb04013a569246a85e1ed7c0bc9a14 kanata
87af0cb1612c55693c4aef62e66eba041863bbc0915954e6b80097e9abf7c93e kanata.exe
b8605a1eb1e1cdfb73ee0cd2cc6fb39a39bc824984f7f31d3c49df9cf9629c1f kanata.kbd
9bd5aa163b5d1cbf8fda84222a3d8626aad8ee6702c72fd1bef6a9c7955caaad kanata_cmd_allowed
5d0f27ee95b1bb054b80c02d781bf3117635fe9a54031f313906e970f2759dfa kanata_cmd_allowed.exe
20bf9b80721b8ef9ebd7fc4bb95e5bd765bad20efc0b7081038f90da64a7388d kanata_wintercept.exe
f40e3938f081897b2670c55d3103f047fd8f032f9934636604c5fd74d66b434e kanata_wintercept_cmd_allowed.exe
v1.3.0-prerelease-1
Changelog (since v1.2.0)
-
WARNING: Kanata now errors on invalid top-level config items
- Kanata previously would ignore these and they would do nothing. Now they result in errors in the configuration.
-
Fix: do not close immediately on error
-
Fix(Linux): change locking pattern causing unresponsiveness in some cases
-
Fix(Windows-Interception): correction of
deflocalkeys-wintercept
-
Fix(Windows-Interception): fix issue with Interception driver sending Esc
-
Fix(Windows-Interception): use Interception mouse movement instead of SendInput
-
Added:
-timeout
variants of tap-hold that add a third potential action -
Added: pretty errors using the miette crate
-
Added: make defcfg optional
-
Added: ensure all keys are released at the end of a dynamic macro
-
Added(Linux): mouse move support to Linux
-
Added(Linux): systemd notification when kanata has finished starting up
-
Added(Windows-Interception): use SendInput for arbitrary-code in Interception as well
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. 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>
You can also set up a toolbar shortcut.
Linux
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
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
210f8e84daadb8897d3dc58977d51ce07d4563800d88adf400c95f63171eb02a kanata
f3676580580b9d4df7ece6068d0d6feac9d05ef092cf5b0e961b9b5b3c1d5680 kanata.exe
7e00eb2ff2bfff6fe4cf46eaf48dbe6d87d15fa86041a8306672fbb26718cb54 kanata.kbd
f125165c22b9d830e4d587ff8f1f164c51a9e785c27e9a53f459594db7d2da96 kanata_cmd_allowed
5f4ac0ed29f1eb7811b0f598ad3b995acb60a4ee0e74875393079b7b15e40d2e kanata_cmd_allowed.exe
9b80498acc978d451682f833592aab17cfecdc5a931d608df3ce342593c420e5 kanata_wintercept.exe
096679538b87ede63b450949752a2ce5612766214de4acaa1e13308eb288e7a8 kanata_wintercept_cmd_allowed.exe
v1.2.1-prerelease-3
Changelog (since v1.2.0)
- Fix name of
deflocalkeys-wintercept
- Fix Windows Interception driver randomly pressing
esc
- Fix dynamic macro behaviour keys held at end of macro
- Fix a locking pattern that causes unresponsiveness
- Add Linux systemd notification for kanata startup
- Add Linux support for existing move mouse actions
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. 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>
You can also set up a toolbar shortcut.
Linux
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
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
9a84895422609218e3e95f6ca88444bc757e716415081e26d9fb5aafaf427a39 kanata
7322e556ad882590c384fe1ecf70494b52ba6d8298f1e88dbba32db72f5ebf79 kanata.exe
8babac087df964c680f1a506b3ed4dc5a983d6b39832d76cc1d3b1b9b48131f7 kanata.kbd
1940c28742447c236d1f2f573a7892510b7fc4886d0e2fd95fe38e4f0314a431 kanata_cmd_allowed
62c84b662945b7774029f4a7a54ad27edfd39862fcbb278ab687d6faf888e9dc kanata_cmd_allowed.exe
2af3646b91a117ebeacf93b47789eebe49fc5eb25e6d504ee14c29de110cced7 kanata_wintercept.exe
fbb5616a8b3788b63658af5d12619b71a9103bca75b2539f7be347a6d2bdc6fb kanata_wintercept_cmd_allowed.exe
v1.2.1-prerelease-2
Changelog (since v1.2.0)
- Fix name of
deflocalkeys-wintercept
- Fix Windows Interception driver randomly pressing
esc
- Fix dynamic macro behaviour keys held at end of macro
- Add Linux systemd notification for kanata startup
- Add Linux support for existing move mouse actions
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
ee1f270d84d210793d24aa66972a8667de6ce0590ad134ee07e5928e9aa2259d kanata
b2b5fdb02fa172415de206fd8981aabbaee4725db12cd32163a4669d8c648e6b kanata.exe
c63c995ad8d6231245fb1102f614b96ee2ae96421af72309ae8bc98b96d51f89 kanata.kbd
a00167cb2fb96e410d4d73a9d460bafe41e006cb93ff89ecb576f250965c2679 kanata_cmd_allowed
7985a5b6cbb635899b6d7326cd149b6aa0e3a75e9f0aebda87d9f657de408947 kanata_cmd_allowed.exe
c307da3e2e6697a1c0dec9f4c3af12185ffc8a1687f8440cb0d7229998e341b9 kanata_wintercept.exe
6d3b5bcb353ba9a55fe7d76e0005e6089a520e34bd430537a03e6102065898c5 kanata_wintercept_cmd_allowed.exe
v1.2.1-prerelease-1
Changelog (since v1.2.0)
- Fix name of
deflocalkeys-wintercept
- Fix Windows Interception driver randomly pressing
esc
- Attempted fix for dynamic macro layer change behaviour
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 ggopted 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
29099ac0dbd8e80cb7e8f9db57555cc0393636ffa777674770de4d82b5a1e04c kanata
cc1c7b9a9dbc42c4b7a253ace011f20bb9b3600f3665085e59dbb7e5a603d539 kanata.exe
c63c995ad8d6231245fb1102f614b96ee2ae96421af72309ae8bc98b96d51f89 kanata.kbd
57ad2771a1283a12e653bc736fe97b2d6af0ddd63485e8236915a447915f699c kanata_cmd_allowed
edd06155374da9b2a892e80dba9c17063af36f9c3975697183ddcf0458e09b5b kanata_cmd_allowed.exe
73ba997bca47d535aeaec1f39cc6a4293668778af299eb963b4dc0ff9e09040d kanata_wintercept.exe
09c6d50d24bb827ed227bf55daf5e0679e0ab248d4fd6983b7ffd766ca0e3525 kanata_wintercept_cmd_allowed.exe
v1.2.0
Known bugs
deflocalkeys-wintercept
does not work - it is currently incorrectly defined asdeflocalkeys-winercept
- missing at
- Fixed in latest main code, v1.2.1-prerelease-1
- Windows+Interception driver will randomly (timing based) press Esc without releasing it, when typing
- Fixed in latest main code, v1.2.1-prerelease-1
- Layer changing in dynamic macro has some issues (#300)
- Probably fixed in v1.2.1-prerelease-1
Changelog (since v1.1.0)
- Fix a bug in fake keys with incorrect layer assignment in the layout
- Fix sequence timeout
- Fix some keycodes, add new ones
- Fix support for multiline comment syntax in cfg file
- Fix memory leak in live reload
- Improve device discovery behaviour in Linux
- Add support for
defsrc
mouse buttons in Windows - Add
deflocalkeys
to help with non-US layouts - Add
tap-dance-eager
- Add mouse movement actions
- Add sending an initial LayerChange message to newly connected TCP clients
- Add dynamic macro
- Add different sequence input modes
- Add sending arbitrary keycodes
- Add configuration cycling with
lrld-next
andlrld-prev
- Add mappings for higher numbered OS codes
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
95c2e1e3d3a6de80172940e9026942a9e0ec4c842d02f6d15e91da9f80d31976 kanata
ab0627deb333970eed187d4531dc509163eb307dfc200edc39326768c1bc7b84 kanata.exe
c63c995ad8d6231245fb1102f614b96ee2ae96421af72309ae8bc98b96d51f89 kanata.kbd
c201f304fb02c8f4a59849c0a87ebbe75fc071bb3cc1091ead4423da285f0365 kanata_cmd_allowed
75c977570d80d1d0c9349fb7a741d4fdd161f894350c3973f705b5455a9c534c kanata_cmd_allowed.exe
cdbf928ba4608c6093822fa20d6f91504dc4ded2c09932251944a6a299b7b78f kanata_wintercept.exe
7a71244511bf02c80532284f6df17149d6e2da39f3e702c55a1582cf27dfacca kanata_wintercept_cmd_allowed.exe
v1.2.0-prerelease-1
Changelog
- Fix a bug in fake keys with incorrect layer assignment in the layout
- Fix sequence timeout
- Fix some keycodes, add new ones
- Fix support for multiline comment syntax in cfg file
- Fix memory leak in live reload
- Improve device discovery behaviour in Linux
- Add support for
defsrc
mouse buttons in Windows - Add
deflocalkeys
to help with non-US layouts - Add
tap-dance-eager
- Add mouse movement actions
- Add sending an initial LayerChange message to newly connected TCP clients
- Add dynamic macro
- Add different sequence input modes
- Add sending arbitrary keycodes
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
7d7ec47503d19741fd021573ac343559ce950a8067e8fc316499512c52442874 kanata
1d6fcdf189228fea15dd3a400165c8570dddcf2286a263a5751b6bd361c79bbd kanata.exe
684835d4fe5532451572246a8522106b95f825ae97e3b290a284c084598f8863 kanata.kbd
c0d8d5dab606af8a1dff7fc4303a48587b2a5163bbb2fec7c3fe27fdfd1420df kanata_cmd_allowed
a2783f993ad7cf242a4f7190853d8ee345cecd1bf050b89891a301490f84eee7 kanata_cmd_allowed.exe
2893d894deeb61bdae99a071a3f5d9cbc2b48997c572373172aa056844da7fdb kanata_wintercept.exe
7436fd23759a76f080df560aade39e0d108ad84d82add9cc9e683fc28b40979f kanata_wintercept_cmd_allowed.exe
v1.1.1-prerelease-1
Changelog
- Fix a bug in fake keys with incorrect layer assignment in the layout
- Add/fix some keycodes
- Explicitly add support for multiline comment syntax in cfg file
- Windows: Implement preliminary (still buggy)
defsrc
mouse buttons - Linux: improve device discovery behaviour
- Add
defcustomkeys
to help with non-US layouts
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
f2717e53f808e8189550dc8055017e1ea99cd8f05b136bf364a6897c7831667f kanata
f8ea3ded15ae70c4ee40a390ef8642b789cba11c1512a44dc7bf2ea43deddc6d kanata.exe
a46566881c2c818761b8c3fe97c62ccc9da972a253060eb253f33ec2b761c4a7 kanata.kbd
d83fc0f1b0ee0ee0a5419dbeebdfee8850c209dddb7c92ada0ab57c48f4545a0 kanata_cmd_allowed
cdd9b63ee6aedc9360b0f23e106c307c84f5c36a5d4726ee7817d03e1bff4185 kanata_cmd_allowed.exe
3fe67cba7e6faa258017a9d8a5cd5590b5ad69ca9f1ba224d02e7245e02805c5 kanata_wintercept.exe
634fb8e53caf77865a7f22782eccd5291fd08da32f6dfa89852a1d8d6fda0cc2 kanata_wintercept_cmd_allowed.exe
Windows key code tester v0.2.0
Binaries to help test Windows keycodes without having to have a kanata config. Simply run the program and see the logs.
Notes for interception variant:
Running the binary has the same requirements as kanata. See the wintercept variants of the kanata release.