キーバインド
デフォルトのコマンドのキーバインドは、KeyMap.cxxファイルのKeyMap::MapDefault[]定数によってScintillaソースに定義されている。
子のテーブルは引数なしでSCI_*メッセージにキー定義をマップする(ほとんどのキーボードコマンドは前章で議論されるが、引数を持っていないScintillaコマンドでもマップできる)。
あなた自身の要件に合うようにマッピングを変更できる。
- SCI_ASSIGNCMDKEY(int keyDefinition, int sciCommand)
- SCI_CLEARCMDKEY(int keyDefinition)
- SCI_CLEARALLCMDKEYS
- SCI_NULL
keyDefinition
キー定義は、下位16ビットのキーコードと高位の16ビットの修飾キーを含む。
keyCodeとkeyModは次のように組み合わせる:
keyDefinition = keyCode + (keyMod << 16)
キーコードは表示または制御文字あるいはSCK_*列挙型からのキーであり、以下を含む:
SCK_ADD, SCK_BACK, SCK_DELETE, SCK_DIVIDE, SCK_DOWN, SCK_END, SCK_ESCAPE, SCK_HOME, SCK_INSERT, SCK_LEFT, SCK_MENU, SCK_NEXT (Page Down), SCK_PRIOR (Page Up), SCK_RETURN, SCK_RIGHT, SCK_RWIN, SCK_SUBTRACT, SCK_TAB, SCK_UP, and SCK_WIN
修飾語はゼロ、SCMOD_ALT、SCMOD_CTRLおよびSCMOD_SHIFTの組み合わせである。
もしテーブルを組み立てる場合、修飾語なしの意味である値0のSCMOD_NORMを使う。
SCI_ASSIGNCMDKEY(int keyDefinition, int sciCommand)
sciCommandによって識別されるScintillaコマンドにキー定義を割り当てる。
sciCommandは引数のないどんなSCI_*コマンドでもよい。
SCI_CLEARCMDKEY(int keyDefinition)
アクションSCI_NULLを割り当てることにより、何もしないキー定義を作ることができる。
SCI_CLEARALLCMDKEYS
このコマンドは、空のマッピングテーブルをセットすることによりすべてのキーボードコマンドマッピングを削除する。
SCI_NULL
SCI_NULLは何もしないで、何もしない動作をキーに割り当てられた値である。
SCI_NULLはフォーカスを動かすときに親ウインドウに伝播しない。
もし標準のプラットフォームの使い方をしたいなら定数0を指定しても良い。