内骨格をいじる(キー設定)
昨日も書いた「内骨格」をいじってみた。とりあえず、キー設定。まずはカーソル移動。config.py にこんな感じで追加してみた。
def command_AFXLeft(): window.command_FocusLeftOrGotoParentDir() window.command_MoveSeparatorMaximizeH() def command_AFXRight(): window.command_FocusRightOrGotoParentDir() window.command_MoveSeparatorMaximizeH() window.keymap[ KeyEvent( VK_OEM_PLUS, 0 ) ] = window.command_MoveSeparatorCenter window.keymap[ KeyEvent( ord('J'), 0 ) ] = window.command_CursorDown window.keymap[ KeyEvent( ord('K'), 0 ) ] = window.command_CursorUp window.keymap[ KeyEvent( ord('H'), 0 ) ] = command_AFXLeft window.keymap[ KeyEvent( ord('L'), 0 ) ] = command_AFXRight window.keymap[ KeyEvent( ord('J'), MODKEY_CTRL ) ] = window.command_JumpList window.keymap[ KeyEvent( ord('K'), MODKEY_CTRL ) ] = window.command_Delete window.keymap[ KeyEvent( ord('H'), MODKEY_SHIFT ) ] = window.command_JumpHistory window.keymap[ KeyEvent( ord('L'), MODKEY_CTRL ) ] = window.command_View
vi のように hjkl で移動する。左に行ったら左を最大化、右に行ったら右を最大化する、二画面ファイラーを一画面ぽく使っている状態。セパレータを戻しやすいように ; に割り当てている。「あふ」でもこの動作が好きなので、この設定にしている。元のキーは適当に退避してある。H が CTRL-H でないのは、CTRL-H を BS にしているから。
cfiler_mainwindow.py の configure() に初期のキー設定があるので、それを参考にした。 config.py に渡されている window は、この MainWindow クラスなので、初期のキー設定に使われている command_* は、おそらくすべて利用できる。