特定のウィンドウでだけリマップが効かない
そのウィンドウが管理者として実行されている場合、Windows の保護機構
(UIPI)により通常権限のプログラムからの入力が届きません。
どうしても必要なら
WinRemap も管理者として実行してください。
アンチチート付きゲームや一部の仮想化ソフトも
注入入力を無視することがあります。
今どの設定が効いているか確認したい
トレイアイコンを右クリックして設定を選んでください。
WinRemap が現在参照して
いる設定が表示されます。
キーマップごとの対象アプリ・除外アプリ・リマップ規則が、設定
ファイルの同じ行に書いたコメント付きで並びます。
同じ入力を複数のキーマップが束縛して
いる場合は、相手のキーマップ名を示す列が出ます(実際に効くのは 1 つだけのためです)。
編集を押すと、同じウィンドウがそのファイルのエディタになります。
打ちながら記法を検証し、保存前に設定全体を検証してから書き込みます。
触っていない箇所
(コメント・空行・並び順・綴り)はそのまま残ります。
編集中も保存の瞬間もリマップは
止まりません。
ルールがマッチしない — どうやって調べる?
トレイアイコンを右クリックしてログを表示を選んでください。
読み込み中の設定
ファイル、前面ウィンドウごとの正確な application 値、そしてキーごとの
判定 (素通し / リマップ / マクロ / プレフィックス)が、時刻付きで 1 行ずつ出ます —
C-h (BS 0x08) → Back (BS 0x08) に置換 のように。
[全イベント]に
チェックを入れると、押下・解放と WinRemap が送出したイベントまで全部見られます。
ターミナル派の方は winremap.exe --debug で起動すれば同じ内容がそちらに
出ます (このオプションを付けない場合は何も出力しません)。
入力した文章そのものが
ログに出ることはなく、ログがディスクに保存されることもありません。
--debug を付けると、WinRemap 専用のコンソールウィンドウが開きます。
他に書き込む相手が居ないので文字が重なりません。
起動の 1 行目から出ます
(ログウィンドウは起動が終わってからしか開けないので、そこは見られません)。
そしてWinRemap が終了したあとも残りますので、
終了時のログも読めます。
読み終わったらウィンドウを閉じるか Enter を押してください。
動作中にこのウィンドウを閉じると WinRemap も終了します
(このオプションはそういう用途のものです)。
出力をリダイレクトした場合は、ウィンドウを開かずそのファイルへ書き出します。
ただしどちらのシェルの > でも受け取れません。
PowerShell は WinRemap が常駐に入った時点でパイプを閉じてしまい、
cmd のほうはリダイレクト先のハンドルを
GUI サブシステムの子プロセスに渡さないためです
(どちらもファイルは空になります)。
Start-Process winremap.exe -ArgumentList '--debug' -RedirectStandardOutput
log.txt をお使いください (Git Bash の > でも受け取れます)。
Keyhac や AutoHotkey と併用できる?
同じキーに対しては非推奨です。
低レベルフックが重なると処理順が不定になり、
挙動が予測できなくなります。
検証時はどちらか一方を OFF にしてください。
インストール後に自動起動を ON/OFF したい
やり方は入手経路で変わります。
Store 版とインストーラー版とで、Windows が自動起動を管理する仕組みが違うためです。
Microsoft Store 版: スタートメニューで WinRemap を右クリックし、
アプリの設定を選んでください。
設定 → アプリ → インストールされているアプリ → WinRemap が開くので、
ログイン時に実行するを切り替えます。
設定 → アプリ → スタートアップの一覧からでも同じ切り替えができますが、
右クリックのほうが早く着きます。
インストーラー版・ポータブル版:
Win+R → shell:startup を実行し、開いたフォルダで
WinRemap のショートカットを追加・削除してください(インストーラーを再実行して
選び直すこともできます)。
この shell:startup の方法は Store 版には使えません。
パッケージアプリの自動起動は、Windows が上記の仕組みで別に管理しているためです。
マクロが速すぎて対象アプリが取りこぼす
[macro] セクションに delay_ms = 8(0〜15)を設定してください。入力を非同期に処理するアプリでは、一括注入されたストロークの一部が落ちることがあります。
WinRemap はどこに何を保存する?
プログラム本体: %LOCALAPPDATA%\Programs\WinRemap(インストーラー利用時)
またはポータブル exe を置いた場所。
設定: %APPDATA%\winremap\config.toml。
それだけです — サービスもドライバーもレジストリ設定もありません。
Store 版は Windows がパッケージアプリを置く場所に入り、
%APPDATA% の専用コピーも一緒に与えられます。
そのため Store から新規に
入れた場合の設定は
%LOCALAPPDATA%\Packages\SUGANUMADaiki.WinRemap_pktmgf1zdhxe0\LocalCache\Roaming\winremap\
に置かれます。
覚えておく必要はありません。
設定ウィンドウが実際に使っている
フォルダーを表示し、エクスプローラーで開くこともできます。
ダウンロードが本物か検証するには?
リリース添付の SHA256SUMS とハッシュを比較し、GitHub CLI で
ビルド来歴の attestation を確認します:
(Get-FileHash .\winremap-setup.exe -Algorithm SHA256).Hash.ToLower()
gh attestation verify .\winremap-setup.exe --repo DaikiSuganuma/winremap
詳細は SECURITY.md
を参照。
Store 版にこの手順は要りません — Microsoft が署名し、ストアのページが
発行元を名乗ります。
この 2 つの経路以外で配布されているバイナリは非公式です。
Microsoft Store 版と GitHub 版は何が違う?
同じソースから作った同じビルドで、バージョンも同じです。
実用上の違いは 3 つ。
- SmartScreen の警告が出ません(Store 版)。
Microsoft がパッケージに 署名するためです。
GitHub 版のバイナリは未署名なので、ダウンロード直後に 警告が出ることがあります。 - 更新が自動で届きます(Store 版)。
GitHub 版は新しい版を 自分でダウンロードします。 - 設定ファイルの場所が違います。
Windows はパッケージアプリに%APPDATA%の専用コピーを与えるため、Store から新規に入れた場合のconfig.tomlは%APPDATA%\winremap\ではなく パッケージ専用フォルダーに置かれます。
どちらの場合も、設定ウィンドウが 実際に使っているフォルダーを表示します。
乗り換えても大丈夫です。
インストーラー版で作った
%APPDATA%\winremap\config.toml が既にあれば、Store 版はそのファイルを
引き続き使うので、書いたルールはそのまま持ち越されます。
ポータブル版
(exe 1 つで動かす使い方)があるのは GitHub 版だけです。
インストールガイドも参照してください。
"C-@" と書いたらエラーになりました
お使いのキーボードで @ がキーではなく、
Shift+2 だからです(US 配列の場合)。
Shift ごと書いてください。
"C-S-2" = "Esc"
WinRemap は黙って Shift を補わず、書くべき綴りを添えてお伝えします。
補ってしまうと
C-@ と C-S-2 が、ある機械では同じルール、別の機械では
違うルールになってしまうためです。
日本語配列なら @ は独立したキーなので、
"C-@" がそのまま通ります。
記号キーは刻印どおりに書き、それがどのキーかは
キーボードによって違います —
設定ガイドで説明しています。