0. 前提条件
Interception互換のOpenInputBridgeがインストールされている環境
1. ファイルのダウンロード
https://github.com/jtroo/kanata/releases/tag/v1.12.0 から、以下の二つのファイルをダウンロードする。なお、お使いのアンチウィルスソフトによっては、このダウンロードだけで、検知してダウンロードに失敗するので要注意。
https://github.com/jtroo/kanata/releases/download/v1.12.0/kanata.kbd
https://github.com/jtroo/kanata/releases/download/v1.12.0/windows-binaries-x64.zip
2. zipファイルを開いて、ファイルを配置する。
kanataのリリースのページでは、以下のようにしろとあるので、フォルダを作ってファイルを置く。
C:\Users\my_user\Documents
kanata_windows_wintercept_x64.exe
kanata.kbd
interception.dll
なお、上記kanata_windows_wintercept_x64.exeとは、実際のファイル名ではなく、zipファイルの中にinterception対応版が4種類あり、GUI版とCLI版と、それぞれ追加のコマンド実行可能版がある。
kanata_windows_gui_wintercept_x64.exe
kanata_windows_gui_wintercept_cmd_allowed_x64.exe
kanata_windows_tty_wintercept_x64.exe
kanata_windows_tty_wintercept_cmd_allowed_x64.exe
とりあえず、kanata_windows_tty_wintercept_x64.exeと、kanata_windows_gui_wintercept_x64.exeを動作させることとする。
なお、interception.dllは、OpenInputBridgeでは配布していないので
https://github.com/Applet-LLC/OpenInputBridge のソースコードツリーをダウンロードして、自分でbuildして、以下のフォルダのものを得るか、あるいは
\tests\upstream_lib\x64\Release\interception.dll
以下のサイトから
https://github.com/oblitum/Interception/releases/tag/v1.0.1
https://github.com/oblitum/Interception/releases/download/v1.0.1/Interception.zip
をダウンロードして、zipファイルの中から \Interception\library\x64\interception.dll を取り出す必要がある。
3. CLI版 kanata_windows_tty_wintercept_x64.exe を実行してみる。
インストール先のフォルダにてPowerShellを開いて、実行してみた。
PS C:\Users\applet\kanata> .\kanata_windows_tty_wintercept_x64.exe
13:57:29.6960 [INFO] kanata v1.12.0 starting
13:57:29.6964 [INFO] using the Interception driver for keyboard IO
13:57:29.8349 [INFO] process unmapped keys: true
13:57:29.8363 [INFO] NOTE: kanata was compiled to never allow cmd
13:57:29.8378 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
13:57:29.8384 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
13:57:29.8452 [INFO] config file is valid
13:57:29.8466 [INFO] Asking Windows to improve timer precision
13:57:29.8471 [INFO] Asking Windows to increase process priority
13:57:29.8477 [INFO] Sleeping for 2s. Please release all keys and don't press additional ones. Run kanata with --help to see how understand more and how to disable this sleep.
13:57:31.8484 [INFO] entering the processing loop
13:57:31.8491 [INFO] Init: catching only releases and sending immediately
13:57:32.6491 [INFO] Starting kanata proper
13:57:32.6494 [INFO] You may forcefully exit kanata by pressing lctl+spc+esc at any time. These keys refer to defsrc input, meaning BEFORE kanata remaps keys.
LCtrl-Space-Escで止まると書いてあるので押してみる。
14:01:03.3932 [INFO] pressed LControl+Space+Escape, exiting
PS C:\Users\applet\kanata>
設定ファイルであるkanata.kbdに何が定義されているか不明なので
どのようにキーリマップされているか不明だが、正常に動いている様子。
4. GUI版 kanata_windows_gui_wintercept_x64.exe を試す。
エクスプローラーでダブルクリックでもよいのだろうが、出力があると思い、PoweShellから試してみた。
PS C:\Users\applet\kanata> .\kanata_windows_gui_wintercept_x64.exe
PS C:\Users\applet\kanata> 14:03:07.6693 [INFO] kanata v1.12.0 starting
14:03:07.6712 [INFO] using the Interception driver for keyboard IO
14:03:07.6782 [INFO] process unmapped keys: true
14:03:07.6793 [INFO] NOTE: kanata was compiled to never allow cmd
14:03:07.6805 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
14:03:07.6809 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
14:03:07.6847 [INFO] config file is valid
14:03:07.6854 [INFO] Asking Windows to improve timer precision
14:03:07.6858 [INFO] Asking Windows to increase process priority
14:03:07.6864 [INFO] Sleeping for 2s. Please release all keys and don't press additional ones. Run kanata with --help to see how understand more and how to disable this sleep.
14:03:09.9119 [INFO] entering the processing loop
14:03:09.9127 [INFO] Init: catching only releases and sending immediately
14:03:10.6910 [INFO] Starting kanata proper
14:03:10.6914 [INFO] You may forcefully exit kanata by pressing lctl+spc+esc at any time. These keys refer to defsrc input, meaning BEFORE kanata remaps keys.
タスクトレイに、Kanataのアイコンがあるので、Reloadを試すと、起動した際のPowerShellコンソールでは以下が表示された。
(deflayer qwerty
@grl 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ]
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet rctl
)
14:04:08.7654 [INFO] no icon found, using default for config+layer = kanata.kbd
🗍: qwerty
KanataのアイコンからExitを試すと、タスクトレイからは居なくなり、以下が表示された。
14:06:17.3252 [INFO] process unmapped keys: true
14:06:17.3261 [INFO] NOTE: kanata was compiled to never allow cmd
14:06:17.3268 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
14:06:17.3274 [INFO] Env var 'LAPTOP' is not set, skipping associated aliases
14:06:17.3309 [INFO] config file is valid
ただし、コンソールにプロンプトは戻ってはこない。LCtrl-Space-Esc で終了させる。
起動直後に、OIDのトースト通知が2回表示される。そのようなつくりなのだろうとは思う。
日本語キーボードだったので、知らないキーはエラーとなることが分かった。
Yenマークを押すと
14:20:35.7030 [ERROR] Trying to send unmapped oscode ‘KEY_YEN’, sending esc instead
とエラーが表示される。
右下のYenマークも同様
14:22:02.4272 [ERROR] Trying to send unmapped oscode ‘KEY_RO’, sending esc instead
カタカナキーも同様
14:23:38.3352 [ERROR] Trying to send unmapped oscode ‘KEY_KATAKANA’, sending esc instead
5. TapHoldとRemap動作確認
現在の設定ファイルで何ができるか分からないのでClaude Codeで見てもらった。
ワークフォルダは、kanataをインストールしたフォルダです。
現在実行中で、設定ファイルはkanata.kbdを読み取っています。拡張子は kbdですが中身は、テキストファイルです。
kanataは以下で開発されています。
https://github.com/jtroo/kanata
現在の設定ファイルで、キーリマップ動作が確認出来る設定があるなら教えてください。
入力して試してみたいと思います。
kanataは以下で開発されています。
https://github.com/jtroo/kanata
Globpattern: “*.kbd”
Found 1 file
Read c:\Users\applet\kanata\kanata.kbd
現在の kanata.kbd はkanataの全機能を見せるサンプルなので、実際に手元で試せる分かりやすいリマップがいくつかあります。起動時は qwerty レイヤーがベースになっているので、まずはそこから試すのがおすすめです。
すぐ試せる基本の動き
バッククォート ` キー(@grl):
サッと叩く → 通常通り「」が入力される 200ms以上押しっぱなし → layers レイヤーに切り替わる(何か他のキーを押すまで見た目の変化はなし) を押しながら「2」を押す(@dvk → dvorakレイアウトに切り替え):
ベースレイアウトがDvorakに変わります。物理的な「q」キーを押すと「’」が出るなど、キー配列がガラッと変わるので違いが分かりやすいです。
` を押しながら「1」を押す(@qwr):
qwertyレイアウトに戻ります。
Dvorakレイアウトに切り替えた状態でさらに試せるもの
Dvorakレイアウト中は左手側のキーが tap-hold のエイリアスになっていて、押しっぱなしで別レイヤーに入れます(定義箇所):
キー タップ ホールド(200ms)
a a numbers レイヤー(テンキー・Ctrl+Z等)
o o arrows レイヤー(F1〜F12、矢印キー)
e e chords レイヤー(絵文字・マクロ)
u u misc レイヤー(caps-word, unicode, tap-dance等)
i i fakekeys レイヤー
. . mouse レイヤー(マウス移動・ホイール)
caps CapsLock 左Ctrl(@cap, ホームロウモッズの例)
おすすめの試し方の順番:
を軽く叩いて「」が出ることを確認を押しながら2を押してDvorakに切り替え、物理qwerty配列とズレることを体感 Dvorak状態で「o」キーを長押し→矢印レイヤーに入り、h/j/k/lあたりで矢印キーとして動くのを確認 を押しながら1を押してqwertyに戻す
まずは①〜③あたりから試してみると、tap-hold(タップとホールドで別動作)とレイヤー切り替えという、kanataの中心的な機能を体感できます。
というご神託だったので、以下を試してみる。
「’」「2」 を押して、dvorakに変えて、左上からキーを押すと以下となったので切り替わっている様子。
1234567890@[]
:,.pyfgcrl/^
aoeuidhtns-
;qjkxbmwvz
「’」「1」を押して、Layerを切り替え、Dvorak配列に変ったことが確認できた。
以上、kanataは、OpenInputBridgeデバイスドライバて動いていると言えると判断します。
