awase(合わせ)

親指シフト(NICOLA)キーボードエミュレータ

親指シフトを、もっと快適に。

Rust 製の高速・安定な親指シフトエミュレータ。Windows で動作し、macOS / Linux にも対応予定。

特徴

安定動作

  • 独自のリレーモードで、キーボードフックが OS に強制解除されにくい設計
  • 万が一解除されても、自動復旧機能で即座に再登録
  • スリープ復帰やスクリーンロック解除時も自動回復

高速・正確

  • Rust 製で処理速度 1-5ms。入力遅延を感じさせない
  • n-gram 統計予測で、通常打鍵と同時打鍵を賢く判定
  • 5 種類の確定モードからタイピングスタイルに合わせて選択

カスタマイズ自由

  • .yab 形式で配列定義を自由に編集
  • JIS / US キーボード両対応
  • 親指キーの割り当て、同時打鍵の閾値など細かく調整可能
  • GUI 設定画面で直感的に設定変更

オープンソース

  • MIT / Apache 2.0 デュアルライセンス
  • GitHub でソースコード公開
  • macOS / Linux 対応も進行中

インストール

ダウンロード

GitHub Releases からバイナリを取得できます。

セットアップ手順

  1. awase.exe を任意のフォルダに配置
  2. config.tomllayout/nicola.yab を同じフォルダに配置
  3. awase.exe を実行(トレイアイコンに常駐)
  4. 初回起動時に自動起動の設定ダイアログが表示される

ソースからビルド

cargo build -p awase-windows --release

使い方

基本操作

  • 半角/全角キーで IME ON → 親指シフト入力が有効に
  • 変換キー / 無変換キーが親指シフトキーとして機能
  • Ctrl+Shift+変換 でエンジン ON、Ctrl+Shift+無変換 でエンジン OFF
  • トレイアイコンで状態確認、右クリックで設定・終了

config.toml の主要設定

confirm_mode 確定モードの選択。wait(正確重視)、speculative(速度重視)、ngram_predictive(バランス)など
output_mode 出力方式。unicode がデフォルト
hook_mode フックの動作方式。relay がデフォルトで、安定性を重視した設計

よくある質問

IME は何に対応していますか?

Microsoft IME、Google 日本語入力など、Windows の主要な IME に対応しています。

他のキーリマッパー(AutoHotKey 等)と併用できますか?

はい。リレーモードでは全キーが再注入されるため、他のフックベースのソフトウェアにもキーが届きます。

スリープ復帰後に動かなくなりませんか?

スリープ復帰・スクリーンロック解除時に自動でフックを再登録します。また 3 秒ごとのヘルスチェックで異常を検知し、自動復旧します。

パスワード入力画面で誤動作しませんか?

IME が OFF のときは自動的にエンジンが無効になり、通常のキー入力になります。

macOS / Linux に対応していますか?

基盤は完成しており、プラットフォーム固有の実装を進めています。

NICOLA 以外の配列は使えますか?

.yab 形式の配列定義ファイルを作成すれば、任意の配列を定義できます。