# WinRemap の設定ファイル。 # # 設定はキーマップの並びで、キーマップごとに「対象アプリ」と「規則」を書く。 # 前面アプリに一致した最初のキーマップが使われ、アプリ別の指定は全アプリ指定 # より優先される。 # # [[keymap]] # name = "メモ帳" # 任意。設定ウィンドウに出る名前 # application = ["notepad.exe"] # exe 名。大文字小文字は区別しない。["*"] で全アプリ # exclude = ["game.exe"] # ["*"] と一緒のときだけ書ける # # [keymap.remap] # "C-h" = "Back" # コマンド 1 つを別のコマンド 1 つへ # "A-x u" = "C-z" # 2 ストローク: A-x に続けて u # "C-t" = ["C-Right", "C-Left"] # マクロ: 書いた順に送る # # 修飾キーは C- Ctrl、A- Alt、S- Shift、W- Win。キー名は Windows のもの # (Back、Delete、Enter、Home、F1 …)。記号キーは、そのキーに刻印されている # 文字で書く(C-; C-/ C--)。その文字に Shift が要るキーボードなら Shift ごと # 書く(C-@ ではなく C-S-2)。個別のアプリに紐づかない設定は # [macro] と [ime_indicator] に書く。 # 全項目の説明: https://daikisuganuma.github.io/winremap/ja/config.html # --- このファイル ----------------------------------------------------------- # 作者の個人設定。Keyhac + fakeymacs から移植した Emacs 風のキーバインドを # 全アプリに掛け、独自のキー処理を持つアプリだけ除外している。除外リスト・ # マクロ出力・アプリ別の打ち消しをひととおり使った実運用の例。 # --- マクロ機能設定 --- [macro] delay_ms = 8 # マクロの各打鍵の間隔(ms、0-15)。WinUI 系アプリの取りこぼし対策 record_start = "S-F10" # 記憶の開始(record_stop 省略 = 同じキーで終了) record_play = "F10" # 記憶したマクロの再生 # --- IME 状態インジケーター(リマップとは独立した表示機能) --- # IME がオン(日本語入力)になった瞬間、アクティブウィンドウの中央に # 半透明の「あ」パネルを約 0.8 秒表示して現在の入力モードを知らせる。 # 表示のみで IME の制御・切り替えは行わない。既定は無効(opt-in)。 # 仕様: docs/v0.1/02_config-spec.md §6 / 設計: docs/v0.1/05_ime-indicator-design.md [ime_indicator] enabled = true # 表示を有効にする # 切替の検知キー。変換/無変換・半角/全角などの標準 IME キーは既定で検知される。 # ここでは Windows 11 IME の「Ctrl + Space を使用して IME のオン/オフを # 切り替える」オプションに合わせて C-Space を追加している(ADR 0021)。 trigger_keys = ["C-Space"] # 切替の検知キー size = 100 # 画面に表示する大きさ。32〜256 show_app_name = true # パネルの下に対象アプリの exe 名を表示(ADR 0024) # IME がオンの間、マウスカーソルの色を変える(ADR 0067)。パネルとは独立で、 # 色は cursor_color(既定 #0078d4 = WinRemap のアイコンの青)。セッション全体の # カーソルを置き換えるので、色が付いたままトレイに WinRemap が居なければ # 異常終了である。 change_cursor_color = true # # --- 全アプリに Emacs バインドを適用(独自のキー処理を持つアプリは除外) --- # [[keymap]] name = "菅沼用Emacs風" application = [ "*" # 全アプリ。ここから除外するアプリは exclude で指定 ] exclude = [ "Illustrator.exe", # アドビイラストレーター "Photoshop.exe", # アドビフォトショップ "Adobe Premiere Pro.exe", # アドビプレミアプロ "InDesign.exe", # アドビインデザイン #"WindowsTerminal.exe", #"Zed.exe", ] [keymap.remap] # カーソル移動 "C-b" = "Left" # 1 文字左へ "C-f" = "Right" # 1 文字右へ "C-p" = "Up" # 1 行上へ "C-n" = "Down" # 1 行下へ "C-a" = "Home" # 行頭へ "C-e" = "End" # 行末へ # 編集 "C-h" = "Back" # 1 文字後退削除(このプロジェクトの発端) "C-d" = "Delete" # 1 文字前方削除 # その他 "C-g" = "Esc" # keyboard-quit → Esc "A-f" = "C-f" # incremental search → アプリの検索 # config_personal.py から移植したカスタムコマンド(マクロ出力) "C-t" = ["C-Right", "C-Left", "C-S-Right"] # 単語選択(ネイティブ単一ショートカットが無いためマクロで合成) "C-o" = ["Enter", "Up", "End"] # 行を開く(open-line 相当) # 全選択は Windows ネイティブの C-a をそのまま送る。注入イベントは再変換されない # (不変条件 1)ため、上の物理 C-a→Home リマップとは衝突しない。 "A-a" = "C-a" # 全選択 # # --- ブラウザはネイティブのショートカットを維持(emacs_exclusion_key 相当) --- # [[keymap]] name = "browser-native-keys" # アプリ別ルールはグローバルより優先されるため、恒等リマップで実質素通しになる。 application = ["chrome.exe", "msedge.exe", "firefox.exe"] [keymap.remap] "C-t" = "C-t" # 新しいタブを維持(単語選択マクロより優先) "C-w" = "C-w" # タブを閉じるを維持(切り取りより優先) "C-r" = "C-f" # # --- Acrobat も同じ理由で打ち消す --- # [[keymap]] name = "acrobat-native-keys" application = ["acrobat.exe"] [keymap.remap] "C-w" = "C-w" # ドキュメントを閉じるを維持 # # --- Windows Terminal / SSH で「空行 C-d → exit」を実現する --- # Windows Terminal だけ C-d をネイティブに素通しし、シェル側の標準挙動に任せる。 # [[keymap]] name = "terminal-native-keys" application = ["WindowsTerminal.exe", "zed.exe", "phpstorm64.exe"] [keymap.remap] "C-d" = "C-d" # 空行での EOF/exit を維持(bash・PSReadLine の DeleteCharOrExit 用) # # --- Windows Explorer --- # [[keymap]] name = "explorer-keys" application = ["explorer.exe", "excel.exe"] [keymap.remap] "C-2" = "F2" # ファイル名を編集(よく使うのにキー位置が遠いため)