{"crate":{"id":"kanata","name":"kanata","updated_at":"2026-07-22T13:56:24.104732Z","versions":[2843912,2010889,1885548,1820402,1806284,1769262,1727929,1612176,1503277,1440600,1403939,1371237,1308462,1202427,1134460,1126870,1124327,1115347,1047829,994185,965538,934378,882976,859369,840710,805905,766735,758735,751942,747688,737845,733357,715925,671159,658424,608033,593813,585870,561329,541899],"keywords":["keyboard","layout","remapping"],"categories":["command-line-utilities"],"badges":[],"created_at":"2022-04-30T23:57:29.345188Z","downloads":54484,"recent_downloads":3613,"default_version":"1.11.0","num_versions":40,"yanked":false,"max_version":"1.12.1-prerelease-1","newest_version":"1.12.1-prerelease-1","max_stable_version":"1.11.0","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","links":{"version_downloads":"/api/v1/crates/kanata/downloads","versions":null,"owners":"/api/v1/crates/kanata/owners","owner_team":"/api/v1/crates/kanata/owner_team","owner_user":"/api/v1/crates/kanata/owner_user","reverse_dependencies":"/api/v1/crates/kanata/reverse_dependencies"},"exact_match":false,"trustpub_only":false},"versions":[{"id":2843912,"crate":"kanata","num":"1.12.1-prerelease-1","dl_path":"/api/v1/crates/kanata/1.12.1-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.12.1-prerelease-1/readme","updated_at":"2026-07-22T13:56:24.104732Z","created_at":"2026-07-22T13:56:24.104732Z","downloads":39,"features":{"cargo-clippy":[],"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","dep:muldiv","dep:strip-ansi-escapes","dep:open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["dep:kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["dep:indoc"],"simulated_output":["dep:indoc"],"tcp_server":["dep:serde_json","kanata-keyberon/tap_hold_tracker"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["dep:embed-resource","dep:indoc","dep:regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"winiov2":["win_llhook_read_scancodes","win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.12.1-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.12.1-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.12.1-prerelease-1/authors"},"crate_size":765953,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2026-07-22T13:56:24.104732Z"}],"checksum":"a5dedc725b9bcb9479edcc9f64e30dad15ae3f98e7e8def5cf1056383ae435ef","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":13680,"comment_lines":1188,"files":43},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":14855,"total_comment_lines":1266}},{"id":2010889,"crate":"kanata","num":"1.11.0","dl_path":"/api/v1/crates/kanata/1.11.0/download","readme_path":"/api/v1/crates/kanata/1.11.0/readme","updated_at":"2026-02-09T04:28:50.167950Z","created_at":"2026-02-09T04:28:50.167950Z","downloads":4762,"features":{"cargo-clippy":[],"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","dep:muldiv","dep:strip-ansi-escapes","dep:open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["dep:kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["dep:indoc"],"simulated_output":["dep:indoc"],"tcp_server":["dep:serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["dep:embed-resource","dep:indoc","dep:regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"winiov2":["win_llhook_read_scancodes","win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.11.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.11.0/downloads","authors":"/api/v1/crates/kanata/1.11.0/authors"},"crate_size":723827,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2026-02-09T04:28:50.167950Z"}],"checksum":"256eb31e07bc8768982e6206344fdd70cdb4a7f5b255930ab66bf2bc5741bb8f","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":12418,"comment_lines":850,"files":43},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13593,"total_comment_lines":928}},{"id":1885548,"crate":"kanata","num":"1.10.1","dl_path":"/api/v1/crates/kanata/1.10.1/download","readme_path":"/api/v1/crates/kanata/1.10.1/readme","updated_at":"2025-12-17T05:26:49.776238Z","created_at":"2025-12-17T05:26:49.776238Z","downloads":702,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"winiov2":["win_llhook_read_scancodes","win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.10.1/dependencies","version_downloads":"/api/v1/crates/kanata/1.10.1/downloads","authors":"/api/v1/crates/kanata/1.10.1/authors"},"crate_size":716795,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-12-17T05:26:49.776238Z"}],"checksum":"058fa9314b5e0b7339f5b0c68323889d1b5c27cd5863f81146883997a034cbf4","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":12006,"comment_lines":843,"files":43},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13181,"total_comment_lines":921}},{"id":1820402,"crate":"kanata","num":"1.10.0","dl_path":"/api/v1/crates/kanata/1.10.0/download","readme_path":"/api/v1/crates/kanata/1.10.0/readme","updated_at":"2025-11-11T20:29:12.806261Z","created_at":"2025-11-11T20:29:12.806261Z","downloads":523,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.10.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.10.0/downloads","authors":"/api/v1/crates/kanata/1.10.0/authors"},"crate_size":712212,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-11-11T20:29:12.806261Z"}],"checksum":"9fd5df161587e26a8bd67541df4ac3524f13ca8970097e1f155c18adeb742222","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":11960,"comment_lines":841,"files":43},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13135,"total_comment_lines":919}},{"id":1806284,"crate":"kanata","num":"1.10.0-prerelease-3","dl_path":"/api/v1/crates/kanata/1.10.0-prerelease-3/download","readme_path":"/api/v1/crates/kanata/1.10.0-prerelease-3/readme","updated_at":"2025-11-03T09:30:32.517654Z","created_at":"2025-11-03T09:30:32.517654Z","downloads":25,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.10.0-prerelease-3/dependencies","version_downloads":"/api/v1/crates/kanata/1.10.0-prerelease-3/downloads","authors":"/api/v1/crates/kanata/1.10.0-prerelease-3/authors"},"crate_size":712278,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-11-03T09:30:32.517654Z"}],"checksum":"e3155e73fc184d6989561ca7d47668d67d6a364b45d3265d57f87880780ab875","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":11960,"comment_lines":841,"files":43},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13135,"total_comment_lines":919}},{"id":1769262,"crate":"kanata","num":"1.10.0-prerelease-2","dl_path":"/api/v1/crates/kanata/1.10.0-prerelease-2/download","readme_path":"/api/v1/crates/kanata/1.10.0-prerelease-2/readme","updated_at":"2025-10-11T07:01:20.777623Z","created_at":"2025-10-11T07:01:20.777623Z","downloads":289,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.10.0-prerelease-2/dependencies","version_downloads":"/api/v1/crates/kanata/1.10.0-prerelease-2/downloads","authors":"/api/v1/crates/kanata/1.10.0-prerelease-2/authors"},"crate_size":711063,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-10-11T07:01:20.777623Z"}],"checksum":"1b7d57d8563bd87bea5605440a733d5923cfbf8cb5ba1f4d4ba1798573f1b9cf","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":11887,"comment_lines":841,"files":42},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13062,"total_comment_lines":919}},{"id":1727929,"crate":"kanata","num":"1.10.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.10.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.10.0-prerelease-1/readme","updated_at":"2025-09-13T08:00:19.389448Z","created_at":"2025-09-13T08:00:19.389448Z","downloads":339,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.10.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.10.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.10.0-prerelease-1/authors"},"crate_size":710975,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-09-13T08:00:19.389448Z"}],"checksum":"850b808fd42d2019545e1d819375333c312f30951f1c1d0f357c63f7ac8ae1c4","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2024","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":11891,"comment_lines":842,"files":42},"Shell":{"code_lines":138,"comment_lines":13,"files":1}},"total_code_lines":13066,"total_comment_lines":920}},{"id":1612176,"crate":"kanata","num":"1.9.0","dl_path":"/api/v1/crates/kanata/1.9.0/download","readme_path":"/api/v1/crates/kanata/1.9.0/readme","updated_at":"2025-06-23T07:28:41.762285Z","created_at":"2025-06-23T07:28:41.762285Z","downloads":2467,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.9.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.9.0/downloads","authors":"/api/v1/crates/kanata/1.9.0/authors"},"crate_size":694606,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-06-23T07:28:41.762285Z"}],"checksum":"7ce18c68aa0c5d7ae6c4568f44db05e25ac750c7a92f737ac6439603d9ff1147","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":10951,"comment_lines":825,"files":40}},"total_code_lines":11988,"total_comment_lines":890}},{"id":1503277,"crate":"kanata","num":"1.8.1","dl_path":"/api/v1/crates/kanata/1.8.1/download","readme_path":"/api/v1/crates/kanata/1.8.1/readme","updated_at":"2025-03-30T23:30:00.701594Z","created_at":"2025-03-30T23:30:00.701594Z","downloads":1862,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.8.1/dependencies","version_downloads":"/api/v1/crates/kanata/1.8.1/downloads","authors":"/api/v1/crates/kanata/1.8.1/authors"},"crate_size":690111,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-03-30T23:30:00.701594Z"}],"checksum":"7a89ac3dd3629acb79586842867bcba75f24d455988bcab5361e274e998a6298","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":10817,"comment_lines":822,"files":39}},"total_code_lines":11854,"total_comment_lines":887}},{"id":1440600,"crate":"kanata","num":"1.8.0","dl_path":"/api/v1/crates/kanata/1.8.0/download","readme_path":"/api/v1/crates/kanata/1.8.0/readme","updated_at":"2025-02-10T06:39:02.692916Z","created_at":"2025-02-10T06:39:02.692916Z","downloads":1561,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.8.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.8.0/downloads","authors":"/api/v1/crates/kanata/1.8.0/authors"},"crate_size":690990,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-02-10T06:39:02.692916Z"}],"checksum":"f0bf99755cc2d597587d7127cedff4a7b0b4ddb86ca7f2961c32d0f4409f67ac","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":517,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":10762,"comment_lines":807,"files":39}},"total_code_lines":11799,"total_comment_lines":872}},{"id":1403939,"crate":"kanata","num":"1.7.0","dl_path":"/api/v1/crates/kanata/1.7.0/download","readme_path":"/api/v1/crates/kanata/1.7.0/readme","updated_at":"2025-01-11T21:29:40.583581Z","created_at":"2025-01-11T21:29:40.583581Z","downloads":1322,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.7.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.7.0/downloads","authors":"/api/v1/crates/kanata/1.7.0/authors"},"crate_size":653484,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2025-01-11T21:29:40.583581Z"}],"checksum":"86592f196d634204558da56fbb566df2a526b351cac8dcc0270cb690a77730ee","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":516,"comment_lines":63,"files":3},"Rust":{"code_lines":9696,"comment_lines":697,"files":37}},"total_code_lines":10212,"total_comment_lines":760}},{"id":1371237,"crate":"kanata","num":"1.8.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.8.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.8.0-prerelease-1/readme","updated_at":"2024-12-11T08:16:55.955759Z","created_at":"2024-12-11T08:16:55.955759Z","downloads":898,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes","zippychord"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"],"zippychord":["kanata-parser/zippychord"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.8.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.8.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.8.0-prerelease-1/authors"},"crate_size":682056,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-12-11T08:16:55.955759Z"}],"checksum":"5e87d8597f0fcc524b930938dedf24808f0754ed771f68679b070787db538f85","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":516,"comment_lines":63,"files":3},"CSS":{"code_lines":520,"comment_lines":2,"files":1},"Rust":{"code_lines":10375,"comment_lines":794,"files":38}},"total_code_lines":11411,"total_comment_lines":859}},{"id":1308462,"crate":"kanata","num":"1.7.0-prerelease-2","dl_path":"/api/v1/crates/kanata/1.7.0-prerelease-2/download","readme_path":"/api/v1/crates/kanata/1.7.0-prerelease-2/readme","updated_at":"2024-10-19T23:59:21.513707Z","created_at":"2024-10-19T23:59:21.513707Z","downloads":1026,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":["kanata-parser/win_llhook_read_scancodes"],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":["kanata-parser/win_sendinput_send_scancodes"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.7.0-prerelease-2/dependencies","version_downloads":"/api/v1/crates/kanata/1.7.0-prerelease-2/downloads","authors":"/api/v1/crates/kanata/1.7.0-prerelease-2/authors"},"crate_size":651418,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-10-19T23:59:21.513707Z"}],"checksum":"e55f94140f0f1c2c36eed69c5a1f42873ce8169959419b628c232ed70be56f05","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":516,"comment_lines":63,"files":3},"Rust":{"code_lines":9696,"comment_lines":697,"files":37}},"total_code_lines":10212,"total_comment_lines":760}},{"id":1202427,"crate":"kanata","num":"1.7.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.7.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.7.0-prerelease-1/readme","updated_at":"2024-07-13T07:45:48.493675Z","created_at":"2024-07-13T07:45:48.493675Z","downloads":1236,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server","win_sendinput_send_scancodes"],"gui":["win_manifest","kanata-parser/gui","win_sendinput_send_scancodes","win_llhook_read_scancodes","muldiv","strip-ansi-escapes","open","dep:windows-sys","winapi/processthreadsapi","native-windows-gui/tray-notification","native-windows-gui/message-window","native-windows-gui/menu","native-windows-gui/cursor","native-windows-gui/high-dpi","native-windows-gui/embed-resource","native-windows-gui/image-decoder","native-windows-gui/notice","native-windows-gui/animation-timer"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"passthru_ahk":["simulated_input","simulated_output"],"perf_logging":[],"simulated_input":["indoc"],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":[],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.7.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.7.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.7.0-prerelease-1/authors"},"crate_size":644648,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-07-13T07:45:48.493675Z"}],"checksum":"739f073b3f9adf08c11bfc306a66dfc9fe5ca26c08267b87b2f86ea291dfafe7","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":516,"comment_lines":63,"files":3},"Rust":{"code_lines":9564,"comment_lines":700,"files":37}},"total_code_lines":10080,"total_comment_lines":763}},{"id":1134460,"crate":"kanata","num":"1.6.1","dl_path":"/api/v1/crates/kanata/1.6.1/download","readme_path":"/api/v1/crates/kanata/1.6.1/readme","updated_at":"2024-05-04T05:08:55.497665Z","created_at":"2024-05-04T05:08:55.497665Z","downloads":4555,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":[],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.6.1/dependencies","version_downloads":"/api/v1/crates/kanata/1.6.1/downloads","authors":"/api/v1/crates/kanata/1.6.1/authors"},"crate_size":563164,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-05-04T05:08:55.497665Z"}],"checksum":"5c16df5572af1c4446e70ae39eba46cbdc7c97603c9c9188ecb4928a7b94fd0e","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":767,"comment_lines":171,"files":5},"Rust":{"code_lines":6286,"comment_lines":586,"files":26}},"total_code_lines":7053,"total_comment_lines":757}},{"id":1126870,"crate":"kanata","num":"1.6.1-prerelease-1","dl_path":"/api/v1/crates/kanata/1.6.1-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.6.1-prerelease-1/readme","updated_at":"2024-04-26T06:56:17.311024Z","created_at":"2024-04-26T06:56:17.311024Z","downloads":1229,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":[],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.6.1-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.6.1-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.6.1-prerelease-1/authors"},"crate_size":562939,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-04-26T06:56:17.311024Z"}],"checksum":"9c60d746e2359c4e55b3cd04e76bebc3fe8c0762bc7e2a99a9c5ec5b7d5d6bb1","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":767,"comment_lines":171,"files":5},"Rust":{"code_lines":6286,"comment_lines":586,"files":26}},"total_code_lines":7053,"total_comment_lines":757}},{"id":1124327,"crate":"kanata","num":"1.6.0","dl_path":"/api/v1/crates/kanata/1.6.0/download","readme_path":"/api/v1/crates/kanata/1.6.0/readme","updated_at":"2024-04-24T07:21:44.402686Z","created_at":"2024-04-24T07:21:44.402686Z","downloads":1395,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":[],"win_manifest":["embed-resource","indoc","regex"],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.6.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.6.0/downloads","authors":"/api/v1/crates/kanata/1.6.0/authors"},"crate_size":562011,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-04-24T07:21:44.402686Z"}],"checksum":"9429923edb391a2acd914da538ec007eecd461fc8982e0b9bc89d6ef9cbc0dde","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"AutoHotKey":{"code_lines":767,"comment_lines":171,"files":5},"Rust":{"code_lines":6256,"comment_lines":580,"files":25}},"total_code_lines":7023,"total_comment_lines":751}},{"id":1115347,"crate":"kanata","num":"1.6.0-prerelease-4","dl_path":"/api/v1/crates/kanata/1.6.0-prerelease-4/download","readme_path":"/api/v1/crates/kanata/1.6.0-prerelease-4/readme","updated_at":"2024-04-15T04:44:30.800385Z","created_at":"2024-04-15T04:44:30.800385Z","downloads":1225,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[],"simulated_output":["indoc"],"tcp_server":["serde_json"],"wasm":["instant/wasm-bindgen"],"win_llhook_read_scancodes":[],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0-only","links":{"dependencies":"/api/v1/crates/kanata/1.6.0-prerelease-4/dependencies","version_downloads":"/api/v1/crates/kanata/1.6.0-prerelease-4/downloads","authors":"/api/v1/crates/kanata/1.6.0-prerelease-4/authors"},"crate_size":544216,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-04-15T04:44:30.800385Z"}],"checksum":"0bc69162b4493397ed1c893d745e0bbcc72d4b4127a6e7d666c1d3cae9942af8","rust_version":null,"has_lib":true,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6104,"comment_lines":546,"files":23}},"total_code_lines":6104,"total_comment_lines":546}},{"id":1047829,"crate":"kanata","num":"1.6.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.6.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.6.0-prerelease-1/readme","updated_at":"2024-02-11T08:12:32.086184Z","created_at":"2024-02-11T08:12:32.086184Z","downloads":1307,"features":{"cmd":["kanata-parser/cmd"],"default":["tcp_server"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[],"tcp_server":[],"win_sendinput_send_scancodes":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.6.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.6.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.6.0-prerelease-1/authors"},"crate_size":520191,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2024-02-11T08:12:32.086184Z"}],"checksum":"acb02e99f7ef69ebc7b6f4ed3970542956f3289d9110d50fb4691df757c09f27","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4929,"comment_lines":451,"files":19}},"total_code_lines":4929,"total_comment_lines":451}},{"id":994185,"crate":"kanata","num":"1.5.0","dl_path":"/api/v1/crates/kanata/1.5.0/download","readme_path":"/api/v1/crates/kanata/1.5.0/readme","updated_at":"2023-12-22T06:07:17.380727Z","created_at":"2023-12-22T06:07:17.380727Z","downloads":1734,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.5.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.5.0/downloads","authors":"/api/v1/crates/kanata/1.5.0/authors"},"crate_size":514379,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-12-22T06:07:17.380727Z"}],"checksum":"e75d77c4a2bb05632581a136c1f966a53b9a87f0d6bbfb77c2f9391a3a03a7ab","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4616,"comment_lines":450,"files":18}},"total_code_lines":4616,"total_comment_lines":450}},{"id":965538,"crate":"kanata","num":"1.5.0-prerelease-3","dl_path":"/api/v1/crates/kanata/1.5.0-prerelease-3/download","readme_path":"/api/v1/crates/kanata/1.5.0-prerelease-3/readme","updated_at":"2023-11-24T08:24:06.529769Z","created_at":"2023-11-24T08:24:06.529769Z","downloads":1291,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.5.0-prerelease-3/dependencies","version_downloads":"/api/v1/crates/kanata/1.5.0-prerelease-3/downloads","authors":"/api/v1/crates/kanata/1.5.0-prerelease-3/authors"},"crate_size":510582,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-11-24T08:24:06.529769Z"}],"checksum":"d737855db975a9041111cf4ac96a08e80323f9f83292123206a737551baf23c5","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4326,"comment_lines":447,"files":16}},"total_code_lines":4326,"total_comment_lines":447}},{"id":934378,"crate":"kanata","num":"1.5.0-prerelease-2","dl_path":"/api/v1/crates/kanata/1.5.0-prerelease-2/download","readme_path":"/api/v1/crates/kanata/1.5.0-prerelease-2/readme","updated_at":"2023-10-25T02:45:46.747729Z","created_at":"2023-10-25T02:45:46.747729Z","downloads":1284,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.5.0-prerelease-2/dependencies","version_downloads":"/api/v1/crates/kanata/1.5.0-prerelease-2/downloads","authors":"/api/v1/crates/kanata/1.5.0-prerelease-2/authors"},"crate_size":507757,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-10-25T02:45:46.747729Z"}],"checksum":"be3a0809209330d34901e420d45ccd5fbfd68ca4b9ebd713ce0a65b8b13f307a","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4281,"comment_lines":416,"files":16}},"total_code_lines":4281,"total_comment_lines":416}},{"id":882976,"crate":"kanata","num":"1.5.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.5.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.5.0-prerelease-1/readme","updated_at":"2023-08-28T05:22:58.619938Z","created_at":"2023-08-28T05:22:58.619938Z","downloads":1255,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.5.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.5.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.5.0-prerelease-1/authors"},"crate_size":505433,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-08-28T05:22:58.619938Z"}],"checksum":"02fc5eb431879639746ac20773597717f92b85f434694fc16f95ca4717f3c971","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4114,"comment_lines":416,"files":16}},"total_code_lines":4114,"total_comment_lines":416}},{"id":859369,"crate":"kanata","num":"1.4.0","dl_path":"/api/v1/crates/kanata/1.4.0/download","readme_path":"/api/v1/crates/kanata/1.4.0/readme","updated_at":"2023-07-31T16:04:32.330307Z","created_at":"2023-07-31T16:04:32.330307Z","downloads":1635,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.4.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.4.0/downloads","authors":"/api/v1/crates/kanata/1.4.0/authors"},"crate_size":503568,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-07-31T16:04:32.330307Z"}],"checksum":"7c981ad02fddedb293825f4459acd97e29ff9458dec4137121b397e80cfbf681","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4018,"comment_lines":386,"files":16}},"total_code_lines":4018,"total_comment_lines":386}},{"id":840710,"crate":"kanata","num":"1.4.0-prerelease-3","dl_path":"/api/v1/crates/kanata/1.4.0-prerelease-3/download","readme_path":"/api/v1/crates/kanata/1.4.0-prerelease-3/readme","updated_at":"2023-07-07T00:30:57.944577Z","created_at":"2023-07-07T00:30:57.944577Z","downloads":1268,"features":{"cmd":["kanata-parser/cmd"],"interception_driver":["kanata-interception","kanata-parser/interception_driver"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.4.0-prerelease-3/dependencies","version_downloads":"/api/v1/crates/kanata/1.4.0-prerelease-3/downloads","authors":"/api/v1/crates/kanata/1.4.0-prerelease-3/authors"},"crate_size":500672,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-07-07T00:30:57.944577Z"}],"checksum":"b78bd91f572c58b34ba58752d00cdb54b5d3c60a6da5e383c96fa4e7198dd5b3","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":3870,"comment_lines":381,"files":15}},"total_code_lines":3870,"total_comment_lines":381}},{"id":805905,"crate":"kanata","num":"1.4.0-prerelease-2","dl_path":"/api/v1/crates/kanata/1.4.0-prerelease-2/download","readme_path":"/api/v1/crates/kanata/1.4.0-prerelease-2/readme","updated_at":"2023-05-23T02:47:40.908664Z","created_at":"2023-05-23T02:47:40.908664Z","downloads":1304,"features":{"cmd":[],"interception_driver":["kanata-interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.4.0-prerelease-2/dependencies","version_downloads":"/api/v1/crates/kanata/1.4.0-prerelease-2/downloads","authors":"/api/v1/crates/kanata/1.4.0-prerelease-2/authors"},"crate_size":551588,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-05-23T02:47:40.908664Z"}],"checksum":"a149c45166272981ba552c46129fb0e62adeee412571a855379eb087b71a3e65","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":11466,"comment_lines":388,"files":28}},"total_code_lines":11466,"total_comment_lines":388}},{"id":766735,"crate":"kanata","num":"1.4.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.4.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.4.0-prerelease-1/readme","updated_at":"2023-04-02T22:46:12.726417Z","created_at":"2023-04-02T22:46:12.726417Z","downloads":1257,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.4.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.4.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.4.0-prerelease-1/authors"},"crate_size":545356,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-04-02T22:46:12.726417Z"}],"checksum":"d70195cb03d04fb68aedabf1081a0159a7cd7be53ad6f1024c4cd134b8f0c565","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":11101,"comment_lines":385,"files":28}},"total_code_lines":11101,"total_comment_lines":385}},{"id":758735,"crate":"kanata","num":"1.3.0","dl_path":"/api/v1/crates/kanata/1.3.0/download","readme_path":"/api/v1/crates/kanata/1.3.0/readme","updated_at":"2023-03-25T06:11:24.885644Z","created_at":"2023-03-25T06:11:24.885644Z","downloads":1459,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.3.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.3.0/downloads","authors":"/api/v1/crates/kanata/1.3.0/authors"},"crate_size":543265,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-03-25T06:11:24.885644Z"}],"checksum":"a306a6f48cde131b42b29cf579040b52d2d9741e91eb0edb029ca748e6357131","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10866,"comment_lines":377,"files":27}},"total_code_lines":10866,"total_comment_lines":377}},{"id":751942,"crate":"kanata","num":"1.3.0-prerelease-3","dl_path":"/api/v1/crates/kanata/1.3.0-prerelease-3/download","readme_path":"/api/v1/crates/kanata/1.3.0-prerelease-3/readme","updated_at":"2023-03-17T07:25:27.476249Z","created_at":"2023-03-17T07:25:27.476249Z","downloads":1238,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.3.0-prerelease-3/dependencies","version_downloads":"/api/v1/crates/kanata/1.3.0-prerelease-3/downloads","authors":"/api/v1/crates/kanata/1.3.0-prerelease-3/authors"},"crate_size":541555,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-03-17T07:25:27.476249Z"}],"checksum":"062212a07d8f52063705809d89720202a914e554795fef083e6e821ba2d2df3b","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10822,"comment_lines":377,"files":27}},"total_code_lines":10822,"total_comment_lines":377}},{"id":747688,"crate":"kanata","num":"1.3.0-prerelease-2","dl_path":"/api/v1/crates/kanata/1.3.0-prerelease-2/download","readme_path":"/api/v1/crates/kanata/1.3.0-prerelease-2/readme","updated_at":"2023-03-12T07:06:10.848211Z","created_at":"2023-03-12T07:06:10.848211Z","downloads":1265,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.3.0-prerelease-2/dependencies","version_downloads":"/api/v1/crates/kanata/1.3.0-prerelease-2/downloads","authors":"/api/v1/crates/kanata/1.3.0-prerelease-2/authors"},"crate_size":540397,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-03-12T07:06:10.848211Z"}],"checksum":"160ef7ed65abfe7e9620fdedf5dfae71a3ccf83a0017baf5b0237e519f4e345d","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10656,"comment_lines":378,"files":27}},"total_code_lines":10656,"total_comment_lines":378}},{"id":737845,"crate":"kanata","num":"1.3.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.3.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.3.0-prerelease-1/readme","updated_at":"2023-02-28T13:57:10.876490Z","created_at":"2023-02-28T13:57:10.876490Z","downloads":1216,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.3.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.3.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.3.0-prerelease-1/authors"},"crate_size":539444,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-02-28T13:57:10.876490Z"}],"checksum":"7179aac9aacc4442fc0c845f7a8681f2ec48f1b9a937b03ff16ba0f274fe860d","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10544,"comment_lines":377,"files":25}},"total_code_lines":10544,"total_comment_lines":377}},{"id":733357,"crate":"kanata","num":"1.2.1-prerelease-3","dl_path":"/api/v1/crates/kanata/1.2.1-prerelease-3/download","readme_path":"/api/v1/crates/kanata/1.2.1-prerelease-3/readme","updated_at":"2023-02-22T18:22:40.367548Z","created_at":"2023-02-22T18:22:40.367548Z","downloads":1253,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.2.1-prerelease-3/dependencies","version_downloads":"/api/v1/crates/kanata/1.2.1-prerelease-3/downloads","authors":"/api/v1/crates/kanata/1.2.1-prerelease-3/authors"},"crate_size":527784,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-02-22T18:22:40.367548Z"}],"checksum":"d7c75f7e9c67a9bc4f89cfd39a0993979da01527395150d4dd0998b1fc732d5f","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10211,"comment_lines":377,"files":23}},"total_code_lines":10211,"total_comment_lines":377}},{"id":715925,"crate":"kanata","num":"1.2.0-prerelease-1","dl_path":"/api/v1/crates/kanata/1.2.0-prerelease-1/download","readme_path":"/api/v1/crates/kanata/1.2.0-prerelease-1/readme","updated_at":"2023-01-31T17:21:19.176028Z","created_at":"2023-01-31T17:21:19.176028Z","downloads":1272,"features":{"cmd":[],"interception_driver":["interception"],"perf_logging":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.2.0-prerelease-1/dependencies","version_downloads":"/api/v1/crates/kanata/1.2.0-prerelease-1/downloads","authors":"/api/v1/crates/kanata/1.2.0-prerelease-1/authors"},"crate_size":515146,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2023-01-31T17:21:19.176028Z"}],"checksum":"fbd487f35806006ea83f9d0e6ed4e316a41a83aad49a4a40108d589e6586038b","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":8253,"comment_lines":372,"files":22}},"total_code_lines":8253,"total_comment_lines":372}},{"id":671159,"crate":"kanata","num":"1.1.0","dl_path":"/api/v1/crates/kanata/1.1.0/download","readme_path":"/api/v1/crates/kanata/1.1.0/readme","updated_at":"2022-11-26T22:30:37.538012Z","created_at":"2022-11-26T22:30:37.538012Z","downloads":1429,"features":{"cmd":[],"interception_driver":["interception"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.1.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.1.0/downloads","authors":"/api/v1/crates/kanata/1.1.0/authors"},"crate_size":488825,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-11-26T22:30:37.538012Z"}],"checksum":"0a760423f575d5171c3bf1b8c029a1ed1ba23a307918c09c20e66be132494841","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6211,"comment_lines":350,"files":20}},"total_code_lines":6211,"total_comment_lines":350}},{"id":658424,"crate":"kanata","num":"1.0.8","dl_path":"/api/v1/crates/kanata/1.0.8/download","readme_path":"/api/v1/crates/kanata/1.0.8/readme","updated_at":"2022-11-06T21:49:09.680623Z","created_at":"2022-11-06T21:49:09.680623Z","downloads":1305,"features":{"cmd":[],"interception_driver":["interception"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.8/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.8/downloads","authors":"/api/v1/crates/kanata/1.0.8/authors"},"crate_size":485970,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-11-06T21:49:09.680623Z"}],"checksum":"3a0d2c27a1d306941d570ae69d43b82caaafc79d18d3c03cef06cce9b46fc41b","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6135,"comment_lines":341,"files":20}},"total_code_lines":6135,"total_comment_lines":341}},{"id":608033,"crate":"kanata","num":"1.0.7","dl_path":"/api/v1/crates/kanata/1.0.7/download","readme_path":"/api/v1/crates/kanata/1.0.7/readme","updated_at":"2022-08-24T06:19:25.494168Z","created_at":"2022-08-24T06:19:25.494168Z","downloads":1301,"features":{"cmd":[],"interception_driver":["interception"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.7/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.7/downloads","authors":"/api/v1/crates/kanata/1.0.7/authors"},"crate_size":477014,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-08-24T06:19:25.494168Z"}],"checksum":"b04ca4e5ef6696651b98001fd42b883f6ddacf5907ae17024a027cee59e770fe","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6742,"comment_lines":322,"files":19}},"total_code_lines":6742,"total_comment_lines":322}},{"id":593813,"crate":"kanata","num":"1.0.6","dl_path":"/api/v1/crates/kanata/1.0.6/download","readme_path":"/api/v1/crates/kanata/1.0.6/readme","updated_at":"2022-07-31T03:44:12.091405Z","created_at":"2022-07-31T03:44:12.091405Z","downloads":1220,"features":{"cmd":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.6/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.6/downloads","authors":"/api/v1/crates/kanata/1.0.6/authors"},"crate_size":73586,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-07-31T03:44:12.091405Z"}],"checksum":"bf9eb94caf3e1563cfd011958c410872a085321b29ff77a81b0c7dd4207b1941","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":5686,"comment_lines":81,"files":14}},"total_code_lines":5686,"total_comment_lines":81}},{"id":585870,"crate":"kanata","num":"1.0.5","dl_path":"/api/v1/crates/kanata/1.0.5/download","readme_path":"/api/v1/crates/kanata/1.0.5/readme","updated_at":"2022-07-17T18:30:43.829858Z","created_at":"2022-07-17T18:30:43.829858Z","downloads":1241,"features":{"cmd":[]},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.5/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.5/downloads","authors":"/api/v1/crates/kanata/1.0.5/authors"},"crate_size":64717,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-07-17T18:30:43.829858Z"}],"checksum":"5dd73fb41c7c8cb019523ea341807c5dc7da4273572a920ec7a51cd7bcaded6f","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":5174,"comment_lines":80,"files":11}},"total_code_lines":5174,"total_comment_lines":80}},{"id":561329,"crate":"kanata","num":"1.0.2","dl_path":"/api/v1/crates/kanata/1.0.2/download","readme_path":"/api/v1/crates/kanata/1.0.2/readme","updated_at":"2022-06-05T05:01:44.824286Z","created_at":"2022-06-05T05:01:44.824286Z","downloads":1216,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.2/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.2/downloads","authors":"/api/v1/crates/kanata/1.0.2/authors"},"crate_size":60342,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-06-05T05:01:44.824286Z"}],"checksum":"89332c33ebb344f57ca7a7eec1fa20d3a80a91e9ac130fad4539e118675b8b12","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10989,"comment_lines":103,"files":11}},"total_code_lines":10989,"total_comment_lines":103}},{"id":541899,"crate":"kanata","num":"1.0.0","dl_path":"/api/v1/crates/kanata/1.0.0/download","readme_path":"/api/v1/crates/kanata/1.0.0/readme","updated_at":"2022-04-30T23:57:29.345188Z","created_at":"2022-04-30T23:57:29.345188Z","downloads":1235,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"LGPL-3.0","links":{"dependencies":"/api/v1/crates/kanata/1.0.0/dependencies","version_downloads":"/api/v1/crates/kanata/1.0.0/downloads","authors":"/api/v1/crates/kanata/1.0.0/authors"},"crate_size":58904,"published_by":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"audit_actions":[{"action":"publish","user":{"id":68214,"login":"jtroo","name":null,"avatar":"https://avatars.githubusercontent.com/u/6634136?v=4","url":"https://github.com/jtroo","github_username_matches":true,"created_at":"2014-02-09T23:43:53Z"},"time":"2022-04-30T23:57:29.345188Z"}],"checksum":"497d4de25b713432b8c0e492c2ee6788f1d129ee02110361ff8da2ca05c72300","rust_version":null,"has_lib":false,"bin_names":["kanata"],"edition":"2021","description":"Multi-layer keyboard customization","homepage":"https://github.com/jtroo/kanata","documentation":null,"repository":"https://github.com/jtroo/kanata","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":10876,"comment_lines":100,"files":11}},"total_code_lines":10876,"total_comment_lines":100}}],"keywords":[{"id":"keyboard","keyword":"keyboard","created_at":"2014-12-12T13:53:10.331004Z","crates_cnt":275},{"id":"layout","keyword":"layout","created_at":"2015-06-11T18:11:27.590434Z","crates_cnt":382},{"id":"remapping","keyword":"remapping","created_at":"2024-04-24T07:21:44.402686Z","crates_cnt":3}],"categories":[{"id":"command-line-utilities","category":"Command line utilities","slug":"command-line-utilities","description":"Applications to run at the command line.","created_at":"2017-01-17T19:13:05.112025Z","crates_cnt":30746}]}