入力モードの仕組み

awase は「IME の状態」と「エンジンの状態」の組み合わせで動作を切り替えます。

IME エンジン 動作
ON ON 親指シフト(NICOLA)入力
ON OFF 通常 IME 入力(ローマ字変換)
OFF どちらでも 英字直接入力(エンジンは自動停止)

IME が OFF のときはエンジンが自動的に停止するため、パスワード欄などでも誤動作しません。

NICOLA 標準配列図

同梱のデフォルト配列(JIS版 layout/nicola.yab / US版 layout/nicola_us.yab)が、どのキーでどの文字を出力するかの一覧です。通常面は単独打鍵、他の3面は無変換・変換キー(親指シフト)または小指シフトキーとの同時打鍵で入力します。

ローマ字かな リテラル(記号・数字) 特殊キー 未割当

配列は自由にカスタマイズできます。設定画面の「配列編集」タブで直接編集するか、独自の .yab ファイルを作成して切り替えられます(レイアウトの切り替え参照)。

キーボードショートカット

デフォルト設定でのショートカット一覧です。config.toml で変更できます。

カテゴリ キー 動作
IME Ctrl + 変換 IME を ON にする。既に ON の場合はひらがな・ローマ字・CapsLock OFF へリセットする
IME Ctrl + 無変換 IME を OFF にする(冪等 — 既に OFF なら何も起きない)
IME 左 Shift 単独タップ 「IME-ON 半角英数」持続トグル。他のキーを介さず押して離すと切替、もう一度タップで解除(既定で MS-IME・Google 日本語入力の両方で有効。「上級者向け設定」タブで無効にできます)
エンジン Ctrl + Shift + 変換 NICOLA エンジンを ON にする(親指シフト入力を有効化)
エンジン Ctrl + Shift + 無変換 NICOLA エンジンを OFF にする(ローマ字入力に切り替え)
エンジン Ctrl + Shift + F12 エンジンの ON/OFF をトグル(グローバルホットキー、config.toml で変更可)
システム Ctrl + Shift + F11 現在のウィンドウのフォーカス判定を強制上書き(テキスト入力 ↔ バイパスを切替)
親指シフト 変換 右親指シフトキー(エンジン ON 中、他のキーと同時押しで NICOLA 判定)
親指シフト 無変換 左親指シフトキー(エンジン ON 中、他のキーと同時押しで NICOLA 判定)
IME 半角/全角 IME の ON/OFF をトグル(Windows 標準の動作)
緊急 無変換 × 3(400ms 以内) NICOLA エンジンを強制 OFF(Ctrl スタック等でショートカットが効かないとき)
緊急 Ctrl+無変換 → Ctrl+変換 → Ctrl+無変換(2秒以内) パニックリセット — 標準状態(IME ON・ひらがな・エンジン ON)へ強制復帰

冪等な IME 制御について: Ctrl+変換 は「IME を ON にする」という操作です。従来のトグル方式と異なり、現在の状態がずれていても必ず意図した結果になります。 エンジン ON/OFF とは独立して動作します。IME が既に ON の場合は、入力途中の状態(カタカナ・半角英数など)をひらがな・ローマ字・CapsLock OFF へ揃えて再確定させます。

「IME-ON 半角英数」トグルについて: 左 Shift 単独タップは、IME を開いたまま NICOLA エンジンだけを一時的に停止し、英数字を直接入力できるようにします(IME 自体は閉じないため、パスワード欄などとは異なる仕組みです)。もう一度左 Shift を単独タップすると通常のかな入力へ戻ります。右 Shift の単独タップやフォーカス変更でも自動的に解除されます。 トグル中に別のアプリの窓へ移ったあと元の窓に戻ると、戻った窓で最初のキーを打つ前に、その窓もかな入力に戻します(IME のキー設定によっては、窓は半角英数のままにして、awase 側のトグル状態を戻します)。同じアプリの中での窓の移動は対象外です。

トレイアイコン操作

タスクバー右端のシステムトレイに awase アイコンが常駐します。

右クリックメニュー

  • 配列選択 — layouts_dir 内の .yab ファイルを一覧表示。選択するとレイアウトが即座に切り替わります
  • 設定... — 設定画面を開きます
  • IME 制御の学習キャッシュをクリア — アプリごとに学習した「IMM32 で IME を制御できるか」の記録(cache.toml の [imm_capability])を削除します。誤学習で入力がおかしくなったときの回復手段です。キーマップの学習表(keymap-learn-table.json)は削除されません
  • プロセスを再起動 — 入力がおかしくなったときにプロセスを完全再起動します(詳細は「緊急操作・リセット」参照)
  • 自動起動 — ログオン時の自動起動を有効/無効にします(チェックで有効)
  • 管理者として再起動 — UAC で昇格して awase を再起動します。管理者権限を要求するアプリ(一部のゲームなど)でも動作するようになります
  • 不具合を報告... — 症状・ログ等を添えて開発者に非公開で報告します(詳細は「不具合報告」参照)
  • 有効/無効切替 — エンジンの ON/OFF をトグルします(Ctrl+Shift+F12 と同じ操作)
  • 終了 — awase を終了します

アイコンの見方

  • アイコンが通常表示のとき — エンジン ON(親指シフト入力が有効)
  • アイコンがグレーアウトしているとき — エンジン OFF(通常入力)

設定画面(awase-settings)

トレイアイコン右クリック → 「設定...」で開きます。変更後は「適用」ボタンで保存・即時反映されます。

全般設定タブ

項目説明
キーボードモデルJIS(日本語配列)または US(英語配列)を選択
同時打鍵閾値同時打鍵と判定する時間幅(ms)。NICOLA 規格標準は 100ms
自動起動Windows ログオン時に自動起動するかどうか
レイアウト使用する .yab 配列ファイルの選択。「再スキャン」で一覧を更新

確定モード(confirm_mode)と投機出力待機(speculative_delay_ms)は設定画面から撤去しました。ほとんどのユーザーは既定の wait のまま使っており、他のモードを選べる状態は複雑さの割に恩恵が薄いと判断したためです。n-gram によるタイブレーク(3キー分岐・重なり不足判定)は confirm_mode の値に関わらず常に有効です。変更したい場合は下記「確定モードの選択肢」の通り config.toml を直接編集してください。同時打鍵の3キー分岐・重なり不足判定のマージン(timing_margin_percent/min_overlap_margin_percent)は「上級者向け設定」タブのスライダーから調整できます。

確定モードの選択肢(config.toml 手動設定)

設定画面には現在この項目はありません。変更したい場合は config.toml の [general] セクションに confirm_mode を直接記述してください(既定: wait)。

モード動作向いている人
wait(既定・推奨)タイムアウトまで保留してから確定。最も正確ゆっくり正確に打ちたい方
ngram_predictiven-gram 統計で投機/待機を動的判断。文脈を使って精度向上最も賢い判定を使いたい方

キー設定タブ

項目説明
左親指キー左親指シフトキーに使うキー(デフォルト: VK_NONCONVERT = 無変換)
右親指キー右親指シフトキーに使うキー(デフォルト: VK_CONVERT = 変換)
IME ON/OFF キーawase が能動的に送信する IME ON/OFF キー(冪等)。複数登録可
IME ON/OFF トグル押した時点の IME 状態に応じて ON⇔OFF を反転するキー。既定: 空(IME 側の設定に従う)。複数登録可

親指シフト入力/ローマ字入力の切り替えキー(旧称「親指シフト ON/OFF キー」)は「上級者向け設定」タブに移動しました。詳細は下記「上級者向け設定タブ」を参照してください。

GJI(Google 日本語入力)を使っていて無変換キーを親指キーに選んでいる場合、awase.exe は起動時・GJI 検出時に config1.db を読み、無変換キー単独タップで専用の Fn キー(既定候補: F21)を送るよう自動的に判定します(「専用Fnキー変換」、ADR-091 §D3.2)。これは無変換キーの単独タップで文字種(ひらがな/カタカナ等)をトグルしたく、かつ「モードずれ」(awase 側の想定と GJI 側の実際の状態が食い違う問題)を避けたい上級者向けの機能です。GJI 側の config1.db にこの Fn キーの「かな種別切替」バインドがまだ無い場合は、awase.exe がポップアップで設定を提案します(同意すれば自動で追加、バックアップ付き)。設定画面(本ページ)からの手動操作は現在提供していません。特定の Fn キーへ固定したい場合は下記「GJI 専用Fnキー変換の手動設定」の通り config.toml を直接編集してください。

「IME → awase」方向(外部 IME の状態変化を awase が解釈するための設定、半角/全角キー等)は GUI から撤去しました。既定は空欄で通常は不要なうえ、他の候補(IME オン/オフキー)は物理的に存在しないキーのため GUI で選ばせる価値が薄いと判断したためです。必要な場合は下記「IME 検出キーの手動設定」の通り config.toml を直接編集すれば引き続き設定できますが、上記「IME ON/OFF トグル」と同じキーは指定しないでください(二重処理で正しく動作しなくなります)。

GJI 専用Fnキー変換の手動設定

通常は GJI 検出時に awase.exe が config1.db を自動判定し(必要ならポップアップで 設定を提案)、追加の操作は不要です。自動判定がうまく働かない場合や、意図的に 特定の Fn キーへ固定したい場合のみ、以下のように config.toml を 直接編集してください(設定画面には現在この項目はありません)。

[general] # 無変換キー単独タップで送る専用Fnキー(既定: 未設定・自動検出に任せる) # muhenkan_solo_tap_dedicated_fn_key = "VK_F21"

指定した Fn キーに GJI 側の config1.db で「かな種別切替」が割り当てられている 必要があります。GJI のプロパティ画面(タスクトレイのアイコン右クリック→ 「プロパティ」→「キー設定」タブ)で「入力補助」を「カスタム」にしたうえで、 awase.exe を起動(または GJI へフォーカス)すればポップアップから設定を追加 できます。config1.db への書き込みが GJI へ確実に反映されるのは サインアウトしてからサインインし直したときです。タスクトレイ から GJI を「終了して再起動」すると、GJI 終了時にメモリ上の(書き込み前の) 設定でファイルが上書きされ、変更が消えることがあります。

アプリ無効化タブ

指定したアプリにフォーカスがある間、awase を丸ごと無効化します(キー変換も IME 制御も行わず、生のキーがそのままアプリへ届きます)。プロセス名だけで指定し、大文字小文字・.exe の有無は区別しません。既定でリモートデスクトップ接続(mstsc.exe)が登録されています。設定ファイルでは [app_overrides] の disable_apps です。

プロセス名とウィンドウクラス名の組み合わせでアプリごとに動作を上書きする次の設定は、設定画面には無く、config.toml の [app_overrides] を直接編集して設定します(下記「特定ウィンドウの動作オーバーライド」「アプリ別の出力モード上書き」参照)。

設定種別説明用途例
テキスト入力として強制自動判定に関わらず常に NICOLA 入力を有効にする誤ってバイパスされるアプリ
バイパスとして強制常にエンジンを無効にするスタートメニュー、パスワードマネージャー
VK 出力モードとして強制ローマ字を VK キーストロークで送信するChrome・Edge・Electron ベースのアプリ
TSF 出力モードとして強制TSF ネイティブモードで送信するWindows Terminal など TSF 直結アプリ

プロセス名・クラス名は awase.exe --debug で起動したときのログで確認できます。

上級者向け設定タブ

日常的に触らない設定をまとめたタブです。

項目説明
親指シフト入力にする親指シフト入力(NICOLA変換)に切り替えるキー(旧称「親指シフト ON キー」)。複数登録可
ローマ字入力にするローマ字入力(変換なしで素通し)に切り替えるキー(旧称「親指シフト OFF キー」)。複数登録可
単独5連打でローマ字入力にする指定キーを400ms以内に5回連続タップするとローマ字入力に切り替える、Ctrl スタック等の緊急脱出用の設定
親指シフト入力/ローマ字入力 切替グローバルホットキーで親指シフト入力⇔ローマ字入力をトグル(旧称「親指シフト切替ホットキー」、既定: Ctrl+Shift+F12)
3キー分岐マージン文字→親指→文字と3キーが来た場合に、タイミングだけで確定するか n-gram で判定するかの境界(%)
重なり不足マージン文字キーと親指キーの物理的な重なり時間がこの割合未満だと「重なり不足」とみなす境界(%)
Alt+かな による IME 入力方式切替を無効化するMS-IME の「ローマ字入力⇔JISかな直接入力」切替ショートカットをブロック(既定: ON。JISかな直接入力に切り替わると awase 側からは復帰できないための保護)
左Shift単独タップで半角英数トグルを有効にする左Shift単独タップで、IMEをONにしたまま半角英数入力に切り替える(既定: ON。MS-IME・Google 日本語入力の両方で有効)。設定ファイルでは [general] の half_width_alnum_toggle で、"all"(既定、両方で有効)・"ms_ime_only"(MS-IME のみ。設定画面からは選べず、設定ファイルに書いた場合だけ有効)・"off"(無効)を指定できます
打鍵列機能を有効にする.yab の1セルに複数のキー操作を割り当てる打鍵列構文(Ctrl+キーの送信・セル内 + 区切りの複数アクション・@マクロ参照)を解釈する(既定: ON)。OFF にするとセルの文字列をそのまま文字として扱います(下記「句読点確定などの複数アクション(打鍵列機能)」参照)
n-gram ファイルn-gram 統計データのパス(.csv.gz または .toml)。同時打鍵のタイブレークに confirm_mode を問わず常に使われる
n-gram 調整幅n-gram 予測で同時打鍵閾値を調整する幅(ms)
n-gram 最小/最大閾値n-gram 予測で調整される閾値の下限・上限(ms)
フォーカスデバウンスAlt+Tab 連続操作時の誤検知を防ぐ待機時間(ms)
IME ポーリング間隔マウスで言語バーを操作したときなどの変化を検出する周期(ms)
レイアウトディレクトリ.yab ファイルを置くフォルダのパス
打鍵列からの入力言語の推定ウィンドウを切り替えた直後や、しばらく操作がなかったあとの最初の数打鍵から、親指シフトで打っているかどうかを判定する機能です。IME の状態が読めないウィンドウで、awase の想定と実際の IME の状態がずれて最初の文字が化けるのを防ぐためのものです。「動作」は次の 5 つから選びます。
  • 無効
  • 記録のみ(既定) — 打鍵は今までどおりで、判定の結果をジャーナル(不具合報告に載る診断記録)に残すだけです。キー入力の挙動は変わりません
  • IME の状態が読めないウィンドウで、日本語ならひらがなにする
  • すべてのウィンドウで、日本語ならひらがなにする
  • すべてのウィンドウで、日本語ならひらがな・英数なら半角英数にする(半角英数トグルが有効な設定のときだけ働きます)
「ひらがなにする」系の 3 つは、設定画面自身が「実機での確認が済んでいない機能」と警告を出します。不具合があれば「記録のみ」に戻してください。数値と対象のアプリは折りたたみの「詳細(数値・対象のアプリ)」で調整できます。設定ファイルでは [auto_detect] の mode("off"/"observe"/"ime_on"/"ime_on_eisu"、既定 "observe")と scope("unobserved"/"all"、既定 "unobserved")です

「打鍵列からの入力言語の推定」は、既定の「記録のみ」でも判定の結果をジャーナルに残します。ジャーナルは不具合報告でログを添付したときに送られるので、気になる場合は「無効」にするか、送信前のプレビューで確認してください。

キーの入れ替えタブ

選んだキーの位置を入れ替えます。Windowsのレジストリ(Scancode Map)を書き換えるため、キーボードの種類やアプリに関係なく効きます。キーボード図の上で、入れ替えたいキーの機能をドラッグして入れ替え先のキーに落とします(または、2つのキーを順にクリックします)。2つのキーの入れ替えに加えて、3つ以上のキーを順に回す入れ替え(例: A→B→C→A)も作れます。

操作内容
キーの位置を入れ替えるキーボード図の上の段が「キーの位置(物理キー)」、ボタンが「その位置で出る機能」です。機能をドラッグ&ドロップするか、2つのキーを順にクリックして入れ替えます。JIS専用のキーは、キーボード配列がJISのときだけ扱えます
よくある入れ替え「英数 / Caps ⇄ 左 Ctrl」「変換 ⇄ スペース」をワンクリックで追加します
英数 / Caps を Ctrl としても使う英数(CapsLock)キーを Ctrl としても使えるようにします。元の左Ctrlキーはそのまま使えますが、英数キー自体は使えなくなります。「キーの位置を入れ替える」とは別の設定です
入れ替えを適用(要再起動)レジストリに書き込みます。画面全体の「適用」とは別の操作で、設定ファイルは保存しません
すべて解除入れ替えを元に戻すには「すべて解除」→「入れ替えを適用」→ 再起動の順に行います。1つの入れ替えだけを戻すには、キーの下の「戻す」(3つ以上の循環では「解除(N個)」)を押します

IME の ON/OFF キーを兼ねている親指キーは、入れ替えの対象にできません。他のツールの設定が消える場合などは、適用の前に確認が表示されます。適用には管理者権限の確認(UAC)が1回表示され、反映には再起動が必要です(サインアウトのみでは反映されません。高速スタートアップが有効だと、シャットダウンしても反映されないことがあります)。この設定はPC全体(全ユーザー)に影響し、リモートデスクトップのセッション内では動作しません。他のツールが設定した入れ替えは、読み取り専用で一覧に表示され、awase は変更しません。

ショートカットタブ — IME が OFF のときだけ無変換・変換を Space にする

「ショートカット」タブ(ショートカット再割当)では、キー入力を別のキーへ置き換えるルールを登録できます。ルールの「IME の状態」を「OFF のとき」にすると、IME が OFF(親指シフトが働かない状態)のときだけ、無変換・変換キーの単独押しを別のキーにできます。「無変換・変換を IME OFF のとき Space にする」ボタンを押すと、無変換と変換を Space にするルールが2つ追加されます。IME が ON のときは、これまでどおり親指シフトとして働きます。使いたい人だけが設定する機能で、既定では登録されていません。

[[keymaps]] from = "VK_NONCONVERT" to = ["VK_SPACE"] ime = "off" [[keymaps]] from = "VK_CONVERT" to = ["VK_SPACE"] ime = "off"

ime = "off" のルールの from に指定できるのは、修飾キーなしの無変換・変換だけです。押し続けても繰り返しません(1回押すと1回だけ送ります)。「半角英数」(IME は開いたまま英数モード)の状態では動きません。IME 側の割り当てが読めないとき(Microsoft IME 本体のキー設定など)や、Google 日本語入力の「キー設定」に直接入力の無変換/変換の行(空白入力など)があるときは、そのキーでは動きません。IME は ON なのに awase が OFF と思っているときは、無変換が Space(IME によっては変換や全角スペース)になることがあります。

IMEキー学習タブ

使っている IME で、どのキーを押すと IME の状態がどう変わるかを、全ての対応キー×状態について自動で巡回測定します。IME 状態の表示や NICOLA 入力の開閉が実際の入力とずれることがある場合に実行してください。

操作内容
学習を開始測定を始めます。測定中は学習ウィンドウを前面に保ち、キーボードに触れないでください(他の窓へ切り替えたり物理キーを押すと、測定は失敗として中止されます)。進み具合と残り時間の目安が表示されます
キャンセル測定を途中で止めます
学習結果を使う/軽量再検証を実行学習結果の状態に応じて表示されます

学習の結果は keymap-learn-table.json に保存されます。トレイの「IME 制御の学習キャッシュをクリア」では削除されません。

config.toml の主要設定

awase の動作は config.toml で細かく調整できます。

ショートカットのカスタマイズ

以下がデフォルト値です。config.toml に [keys] セクションを追加して上書きできます。

[keys] # NICOLA エンジン ON(親指シフト入力を有効化) engine_on = ["Ctrl+Shift+変換"] # NICOLA エンジン OFF(通常入力に切り替え) engine_off = ["Ctrl+Shift+無変換"] # IME ON(ひらがな入力モードへ) ime_on = ["Ctrl+変換"] # IME OFF(直接入力モードへ) ime_off = ["Ctrl+無変換"] # IME ON/OFF トグル(押した時点の IME 状態に応じて反転。既定: 空=IME 側の設定に従う) ime_toggle = [] # 緊急用: 無変換を単独で 400ms 以内に 3 連打するとエンジン OFF になる # Ctrl がスタックしてショートカットが効かなくなったときの最終手段。 # 空文字列 "" または削除で無効化できる。 engine_off_solo_triple = "VK_NONCONVERT"

engine_on_ime_key/engine_off_ime_key(エンジン ON/OFF 時に IME のモードキーを送る設定)は撤去されました。config.toml に残っていても無視されます(起動時に通知が出るので、その行は削除してください)。代わりの設定はありません(IME の開閉は上記の ime_on/ime_off で設定できます)。

複数キーを割り当てるには配列に追加してください: ["Ctrl+Shift+変換", "Ctrl+F8"]

グローバルホットキー(アプリのフォーカスに関係なく機能)は [general] の engine_toggle_hotkey = "Ctrl+Shift+F12" で設定します。

同時打鍵の判定

[general] # 同時打鍵の判定閾値(ミリ秒)。NICOLA 規格標準は 100ms。 simultaneous_threshold_ms = 100 # 確定モードの選択(既定: wait。設定画面には無く config.toml 手動編集のみ) # wait - タイムアウトまで保留(最も正確、既定・推奨) # ngram_predictive - n-gram 予測で投機/待機を動的切替 # (旧 speculative / two_phase / adaptive_timing は廃止。残っていると警告して wait 扱い) confirm_mode = "wait" # 3キー分岐・重なり不足判定のマージン(%)。設定画面の # 「上級者向け設定」タブから調整できる(既定: 30 / 0)。 # timing_margin_percent = 30 # min_overlap_margin_percent = 0

親指キーのカスタマイズ

[general] # 左親指キー(VK コード名) left_thumb_key = "VK_NONCONVERT" # 無変換キー # 右親指キー(VK コード名) right_thumb_key = "VK_CONVERT" # 変換キー

キーボードモデルと出力方式

[general] # キーボードモデル(JIS キーボードを使っている場合はデフォルトで OK) # keyboard_model = "jis" # JIS キーボード(デフォルト) # keyboard_model = "us" # US キーボード

自動起動の設定

MSI インストーラー・ZIP 版の install.ps1 のいずれでインストールした場合も、確認ダイアログなしで Windows ログオン時の自動起動が既定で有効になります。無効にしたい場合は、トレイアイコンのメニューか、以下の auto_start 設定で変更できます。

[general] # Windows ログオン時に自動起動する # "enabled" - 自動起動を有効にする(デフォルト) # "disabled" - 自動起動を無効にする auto_start = "enabled"

自動起動は HKCU\Software\Microsoft\Windows\CurrentVersion\Run レジストリに登録されます。スタートアップフォルダは使用しません。

更新確認の設定

タスクトレイアイコンを右クリックすると、最新バージョンを確認して新しい版があればメニューに表示します(設定画面の「更新を確認」チェックボックスでも切り替えられます)。バージョン・OS・端末固有の情報は送信しません。無効にしたい場合や、無人展開でこのファイルを直接配置する場合は以下の設定を使います。

[general] # トレイ右クリック時に最新バージョンを確認する # true - 確認する(デフォルト) # false - 一切通信しない update_check = true

この設定は config.toml と同じ場所(インストール先ディレクトリ)にあるユーザーごとの設定であり、機械全体へ一括適用する仕組みはありません。企業展開でまとめて無効化したい場合は、各ユーザーのプロファイルに配置するか、ネットワーク側で report.awase.cc への到達を遮断してください(遮断しても動作に影響はありません)。

特定ウィンドウの動作オーバーライド

[app_overrides] # 特定アプリでテキスト入力を強制する force_text = [ { process = "myapp.exe", class = "MyWindowClass" }, ] # 特定アプリでエンジンを完全スキップする force_bypass = [ { process = "SearchHost.exe", class = "SearchHost" }, ]

スタートメニューや検索バーで誤動作する場合は force_bypass に追加してください。

アプリ別の出力モード上書き

[app_overrides] # VK キーストロークで送信する(Chrome / Edge / VS Code 等 Electron ベースのアプリ) force_vk = [ { process = "chrome.exe", class = "Chrome_RenderWidgetHostHWND" }, { process = "code.exe", class = "Chrome_RenderWidgetHostHWND" }, ] # TSF ネイティブモードで送信する(Windows Terminal 等) force_tsf = [ { process = "WindowsTerminal.exe", class = "CASCADIA_HOSTING_WINDOW_CLASS" }, ]

IME 検出キーの手動設定

外部 IME の状態変化(半角/全角キー等)を awase が検出するための設定です。GUI には無く config.toml の直接編集でのみ設定できます(多くの利用者には不要なため、GUI からは意図的に外してあります)。toggle・on・off の既定はすべて空です(IMEオン/IMEオフ キーの追随は指定なしで自動的に行われます)。「キー設定」タブの「IME ON/OFF トグル」(keys.ime_toggle、既定: 空)に設定したキーは awase が能動的に処理するため、同じキーをここにも設定すると二重処理してしまい正しく動作しません。

[keys.ime_detect] # IME ON/OFF をトグルするキー(既定: 空。上記「IME ON/OFF トグル」と # 同じキーを指定すると二重処理になるため避けること) # toggle = ["VK_KANJI"] # IME を直接 ON にするキー(既定: 空。IMEオン/IMEオフ キー〈VK_IME_ON/OFF〉は指定しなくても自動で追随します) # on = ["VK_DBE_HIRAGANA"] # IME を直接 OFF にするキー(既定: 空) # off = ["VK_DBE_SBCSCHAR"]

句読点確定などの複数アクション(打鍵列機能)

1つのキーで「文字を出力してから確定操作を送る」など、複数の動作をまとめて実行できる機能です(やまぶきの CV4D 相当)。既定で有効(On)です。設定画面の「上級者向け設定」タブの「打鍵列機能を有効にする」で切り替えられます。

[general] # 打鍵列機能を有効化する # "on" - 有効(デフォルト。.yab セル内の + 区切り・CV4D・@マクロ参照を解釈) # "off" - 無効(セルの文字列をそのまま文字として解釈) keystroke_sequence = "on"

有効なときは、.yab の1セル内で + 区切りにより複数の動作を並べられます。CV4D は Ctrl+M(変換候補の確定によく使われるキー)を表す記法です。

[ローマ字シフト無し] '.'+CV4D,ka,ta,...

上の例は「。を出力してから Ctrl+M で確定する」という動作を1セルで定義しています。同じ動作を複数キーで使い回したい場合は、[[keystroke_macro]] で名前を付けて @名前 で参照できます。

[[keystroke_macro]] name = "kakko" steps = ["'('", "CV4D", "')'", "CV4D", "左"]

既存の .yab ファイルは有効化しても壊れません(+ を含まないセルは今まで通り解釈されます)。ただし、やまぶき形式で無区切り(例: .CV4D)と書かれたセルは、+ を挿入した形(.+CV4D)に書き換える必要があります。

緊急操作・リセット

入力がおかしくなったときや、エンジンを強制的に止めたいときの操作です。

緊急リセット(推奨 — まずここから試す)

修飾キーがスタックした・IME が混乱した・保留中の文字が残っているなど、入力全体がおかしくなったときに使います。

方法 1 — トレイアイコン(マウスが使えるとき・より確実)

タスクバーの awase アイコンを右クリック →「プロセスを再起動」
awase プロセスを完全再起動します。スタックした状態を確実にクリアできます。

方法 2 — キーボードショートカット(パニックリセット)

Ctrl+無変換 → Ctrl+変換 → Ctrl+無変換 を 2秒以内 に素早く入力する

(IME-OFF → IME-ON → IME-OFF のシーケンス。同じキーの連打では発動しません)

方法 2 の効果:

  • Shift・Ctrl・Alt・Win の押しっぱなし状態を強制解除
  • IME の未確定文字列をキャンセル
  • IME 状態を OFF → ON(ひらがな入力)で再初期化
  • エンジンの保留状態をフラッシュ(未確定の同時打鍵を破棄、エンジン ON 状態を復元)
  • awase 内部の状態を全リセット

成功するとトレイバルーン通知「状態をリセットしました」が表示されます。

エンジン強制 OFF — 無変換キー3連打

Ctrl キーがスタックしているなど、通常のショートカットも効かない状態で NICOLA エンジンを強制的に止めたいときの最終手段です。 デフォルトで有効(無変換キーに割り当て済み)です。

[keys] # 単独で400ms以内に3回連打するとエンジン OFF になるキー(デフォルト: 無変換) engine_off_solo_triple = "VK_NONCONVERT" # 無効にするには空文字列を指定 # engine_off_solo_triple = ""

操作: 無変換 を他のキーと同時押しせず、単独で 400ms 以内に3回 連打する

※ 通常の親指シフト入力中は「親指キー単独タイムアウト」としてカウントされるため、 タイピングの流れで誤発動しにくい設計になっています。

レイアウト(.yab)の切り替え

親指シフト配列は .yab ファイルで定義されています。複数の配列を使い分けることができます。

切り替え方法

  • トレイアイコン右クリック → 配列選択 — 最も手軽な方法。即座に切り替わります
  • 設定画面「全般設定」タブ — レイアウトのドロップダウンで選択 → 「適用」
  • config.toml を編集 — default_layout = "nicola.yab" でデフォルトを変更

カスタム配列を追加する

  1. 新しい .yab ファイルを config.toml の layouts_dir に指定したフォルダに配置します(デフォルトは config/)
  2. 設定画面「全般設定」タブの「再スキャン」ボタンを押します
  3. ドロップダウンに新しい配列が表示されるので選択して「適用」します

.yab 形式の詳細は GitHub の README を参照してください。

ログ・デバッグ

動作がおかしいときはログを確認してください。

ログファイルの場所

  • 通常起動時:awase.exe と同じフォルダの awase.log(起動のたびに追記されます)
  • Scoop でインストールした場合:%USERPROFILE%\scoop\apps\awase\current\awase.log

デバッグモードで起動する

詳細なログが必要な場合はコマンドプロンプトからデバッグモードで起動します。

awase.exe --debug

または環境変数 RUST_LOG=debug を設定してから起動しても同じです。

不具合報告

トレイアイコンから直接、開発者に不具合を報告できます。

報告手順

  1. トレイアイコンを右クリックして「不具合を報告...」を選択
  2. 症状カテゴリを選択し、必要であれば説明を入力
  3. 添付する内容を、チェックボックスで個別に選べます。既定では「実行中のプロセス名一覧」以外のすべてを添付します。
    • ログ(journal + awase.log)
    • 内部状態スナップショット
    • 設定ファイル(config.toml)
    • 配列ファイル(.yab)
    • 変換判定の統計情報(3鍵同時打鍵の判定回数などの累積カウンタのみ。打鍵内容は含みません)
    • IME のキーマップ設定(無変換/変換キー等への IME ON/OFF の割り当て。Google 日本語入力のカスタム表の IME 関連の行と、キー効果の学習結果〈IME の状態×キーの番号だけ。打鍵内容は含みません〉を含みます)
    • 実行中のプロセス名一覧(既定オフ。実行ファイル名のみで、フォルダのパスは含みません)
  4. 送信前プレビューで実際に送られる内容(JSON)を確認・編集できます。個人情報が含まれていないか気になる場合はここで編集・削除してください
  5. 「送信」を押すと、開発者専用の非公開受付(report.awase.cc)へ送信されます。GitHub Issue など公開の場所には投稿されません

プライバシーについて

  • 送信内容は非公開のストレージに保存され、約90日間保管後に自動削除されます
  • journal ログには直近の打鍵イベント(仮想キーコード等)がそのまま含まれます。マスキングは行われないため、機微な内容を打鍵していた場合は送信前プレビューで該当箇所を編集・削除してから送信してください
  • 送信内容には送信元 IP は含まれません(乱用防止のレート制限にのみ、ハッシュ化した形で一時的に使われます)
  • 「更新を確認」が有効な場合、トレイを右クリックした際に awase.cc のサーバーに最新バージョンを問い合わせます。バージョン・OS・端末固有の情報は送信しません(接続元IPアドレスはCloudflareの標準アクセスログに記録されます)
  • 更新確認の設定はユーザーごとの config.toml に保存されます。機械全体へ一括適用するオプトアウト機構はありません

アンインストール

MSI インストーラー版

Windows の「設定 → アプリ」または「コントロールパネル → プログラムのアンインストール」から awase を選択してアンインストールします。

Scoop 版

scoop uninstall awase

ZIP 版(ポータブル)

解凍したフォルダ内の uninstall.ps1 を PowerShell で実行します。既定では config.toml と配列ファイル(layout/)は削除されません(アップグレードのため一時的に終了・削除する場合を想定した挙動です)。完全に削除したい場合は uninstall.ps1 -Purge を実行してください。

注意: バージョンアップのために uninstall.ps1(や手動でのフォルダ削除)を先に行う必要はありません。新しい ZIP を解凍して install.ps1 を再実行するだけで、既存の設定・配列ファイルを保持したままアップグレードできます。

初期設定の手順

初めて使うときの推奨手順です。

1. 起動確認

  • awase を起動するとシステムトレイにアイコンが表示されます
  • テキストエディタなどを開き、メモ帳などに入力テストを行います
  • Ctrl+変換 で IME ON → 親指シフト入力が開始します

2. 確定モードの調整(config.toml 手動設定)

  • 設定画面には無いため config.toml の [general] セクションを直接編集する
  • まず既定の confirm_mode = "wait"(推奨。正確だがやや遅め)のまま試す
  • 遅延が気になる場合は "ngram_predictive" を試す

3. Chrome / Edge での入力がうまくいかない場合

  • Google 日本語入力または Microsoft IME を使用していることを確認します(awase は両 IME に対応しています)
  • Ctrl+変換 で IME を ON にしてから入力を始めます
  • 最初の1文字だけ英字になる場合は awase が自動的に修正します(TSF cold-start 対応)

「あ」が一瞬チラッと見えることがあります(捨て打ち機能)

Chrome や Windows Terminal では、IME ON 直後の最初の入力時に「あ」が瞬間的に表示されてすぐ消えることがあります。 これは 捨て打ち機能 が正常に動作しているサインです。

Chrome などの TSF アプリでは IME の入力受付が完了しているかどうかを外部から確認する公式な手段がありません。 そこで awase は「A キーを打って BS で消す」という操作を画面描画前に一瞬行い、 IME が「あ」に変換できたかどうかを観測することで入力受付の完了を確認しています。 この捨て打ちで得た情報をもとに、本来打ちたい文字を正確なタイミングで送ります。 通常は画面に何も表示されませんが、タイミングによって「あ」がほんの一瞬見えることがあります。

5. エンジンがおかしくなったときのリセット

  • Ctrl+Shift+変換 でエンジン ON を明示的に指定
  • Ctrl+変換 で IME ON を明示的に指定
  • それでも解決しない場合はトレイアイコンを右クリック → 「有効/無効切替」でトグルする

よくある質問(FAQ)

利用者から寄せられた質問と回答をまとめました。

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

Microsoft IME と Google 日本語入力に対応しています。

Mozc(公式版・mozc-readable)は、Google 日本語入力と同じ系統として扱います(キー設定の自動読み取りは Google 日本語入力のみ)。 mozc-readable は IME の開閉と入力モードを IME 自身が出す値で awase に伝えるため、「awase の想定と実際の IME の状態がずれる」問題を根本から解決できる見込みです。 まだ実験的な機能で、実機での検証を続けています。

「と」と打つと「から」になるなど、法則的に文字化けする

IME の入力方式が「ローマ字入力」ではなく「かな入力」になっている可能性が高いです。 たとえば「と」(ローマ字では to)を JIS かな配列のキー位置として読むと「から」に、 「か」(ka)は「のち」になる、というように、打ったローマ字がそのまま JIS かな配列上の文字として出力されると再現する症状です。

awase はローマ字入力であることを前提に動作しています。IME 側の設定を確認し、 入力方式を「ローマ字入力」に戻してください。awase 側から IME を JIS かな入力へ 遷移させる手段は存在しないため、awase が自動的にこの状態を検出して直すことはできません。

変換候補の選択がスペースキーでしかできない(親指キーで次候補に送れない)

既定では、IME の誤動作防止のため親指キー(変換・無変換)の単独タップは常に無視されます (設定画面「キー設定」タブの「変換キー単独タップを常に無視する」「無変換キー単独タップを 常に無視する」がいずれも既定で有効)。

親指キーの単独タップを変換候補の送り選びに使いたい場合は、実際に親指キーへ割り当てている方 (左親指キーが無変換なら「無変換キー単独タップを常に無視する」、右親指キーが変換なら 「変換キー単独タップを常に無視する」)のチェックを外してください。

チェックを外した単独タップは、IME 側でそのキーが IME オン/オフ/トグルに割り当てられている場合 (keys.ime_on/ime_off に書いた場合を含む)、生のキーを OS に届けず、 awase が現在の状態に従って IME オン/オフを1 回だけ送ります。 チェックが入っている(既定)間は、単独タップで awase が IME を動かすことはありません。

IME オン/オフのキーを押しても、IME と NICOLA の状態が合わない

Ctrl+変換・Ctrl+無変換・半角/全角・かな・漢字などの IME キーを押したとき、awase は内部の状態がどうなっていても、 絶対指定のキー(IME オン、IME オフ)は1 回、トグルのキーは2 回以内の押下で、 実際の IME の状態がキーの意味に一致するようにしています(「何度押しても変わらない」状態をなくすための保証)。 外部のプログラムが IME を操作したときなど、一時的に状態がずれること自体は起こりえますが、押し直せば直ります。

既知の例外: MS-IME 本体 + 実 Chrome では、awase が送る IME オフが効かないことがあります(awase を再起動した直後でも同じです)。 この組み合わせで IME をオフにするには、英数キーなど MS-IME 自身に届くキーを使ってください。 Windows Terminal + Google 日本語入力と、リモートデスクトップなど入力を別マシンへ中継するアプリでは、この保証は未対応です。

単語の途中で無変換キーが誤反応する(意図せずかな種別が切り替わる等)

同時打鍵のつもりで打った他のキーが、タイミングによって無変換キーの単独タップとして 検出されてしまうことがあります。上の項目でチェックを外している場合、この単独タップが そのまま OS・IME に送られ、意図しないモード切り替えを引き起こします。

「無変換キー単独タップを常に無視する」にチェックを入れる(既定は有効)と、単独タップを 一切送出しなくなり誤反応を防げます。ただし、この設定を有効にすると上の項目の 「親指キーで候補送り」はできなくなるため、両立しない点に注意してください。

同時打鍵がシビアで特定の文字(「れ」等)が入力しづらい

全般設定タブの「同時打鍵閾値」(既定 100ms)を少し上げてみてください。自分の打鍵速度に 合わせて 150〜250ms あたりで調整すると改善することがあります。config.toml を 直接編集する場合は simultaneous_threshold_ms を書き換えます。

Chrome / Edge / Brave 等で最初の1文字入力時に一瞬「あ」など別の文字が見えて消える

正常動作です。「捨て打ち機能」による cold start 対策で、IME の入力受付準備ができているかを 確認するために一瞬だけダミー文字を送っています。詳しくは「初期設定の手順」の 「Chrome / Edge での入力がうまくいかない場合」を参照してください。テキストエディタなど アプリによっては warm 状態が保たれているため、この現象自体が起きないこともあります。

:や@などの記号がどのキーに割り当てられているか知りたい

ページ上部の「NICOLA 標準配列図」に全キーの割り当てが図示されています。独自配置にしたい 場合は、設定画面の「配列編集」タブまたは .yab ファイルの直接編集で変更できます。

他の親指シフトソフト・IME 常駐ソフトと併用すると調子が悪い

Japanist・やまぶきR など、awase と同じくキーボード入力をフックする常駐ソフトとの併用は 避けてください。競合により入力が不安定になることがあります。awase に乗り換える場合は、 既存の親指シフトソフトをアンインストールしてから使用してください。