説明

設定ファイルからキーバインドを読み取って設定・復元するためのスクリプト。

  • キーバインド変更用の設定ファイルのみで変更・復元できます。
  • キー変更時には現在のキー設定をK_キー設定ファイル名に保存し、復元時に整形して読み込みます。
    • PPxはキー設定を保存するときに特定のルールに従ってキーを整形するので、書式を合わせた設定ファイルを作る必要があります。誤爆を減らすには一度PPCUSTで設定を書き出したものを使う。

Key Moduleを使えば同様のカスタマイズをより簡単に実行できます。とくに理由がなければそちらを使ってください。

書式とスクリプトの仕様について

  • ExSHIFT、ALT、CTRL、SHIFTキーには順番があって、~&^\の順に書かれていないと復元に失敗する。
  • CTRL+0(^V_H30)やCTRL+J(^V_H4A)など特定のキーはPPX内部で仮想キーコード(V_Hxx)の型に変換される。
    • 変換されるキーを調べるにはPPCUSTで一度設定してみる。型があってない場合、復元に失敗する。
  • 元は未設定のキーを一時的に変更させる場合、スクリプト側で%mNotExist %K"@元のキー"の型に変換され 復元時には未設定に戻る。
  • キーとコマンドの区切りには、=,の二種類があり、=区切りのコマンドはスクリプト側で %mSepEQ %K"元のキー"の型に変換され復元時に元の型に戻る。
  • キーは項目名:キーの名称(KC_main:ENTER)で保存される。複数の項目が混在する設定ファイルでも読める。
  • キーバインド以外の設定(M_Ccr, E_crなど)は読めない。
  • UTF8しか読めない。

他にも項目名の書き方などにルールがあります。詳細はスクリプト内のコメントを確認してください。

使い方

  • 第一引数で登録・復元の一方を指定し、第二引数にはキー設定ファイルのパスを指定する。
    例) exchangeKeys.js,【1:登録 | 0:復元】,【設定ファイル名】
  • 設定中は%M_設定ファイル名,!項目名:キーで元のキーバインドが使える。

key moduleで同等の操作をするなら、*mapkeyを使います。予め、キー設定をPPxに登録しておく必要があります。

設定

;エイリアス
A_exec = {
scr  =  ;スクリプトをまとめておくディレクトリパス
cfg  =  ;PPxの設定ファイルをまとめておくディレクトリパス
}

;実行コマンド
; 登録
key or menu , *script %'scr'%\exchangeKeys.js,1,%'cfg'%\【設定ファイル名】

; 復元
key or menu , *script %'scr'%\exchangeKeys.js,0,%'cfg'%\【設定ファイル名】