タイムラインを Vim のキーバインドで移動する

タイムラインを Vim (Vi) のキーバインドで移動できるように設定した。Ctrl/Cmd-Shift-HJKL で選択状態のフレームが移動する。どのキーを押しているかが伝わらないデモ

キーそれぞれに別々の JSFL コマンドを割り当てるのが面倒。関数呼び出しができたら楽なのだが。

FrameMoveLeft.jsfl

//left
(function () {
var timeline = fl.getDocumentDOM().getTimeline();
var selectedFrames = timeline.getSelectedFrames();
if (selectedFrames[1] - 1 >= 0) {
timeline.setSelectedFrames([selectedFrames[0], selectedFrames[1] - 1, selectedFrames[1]]);
}
})();

FrameMoveDown.jsfl

//down
(function () {
var timeline = fl.getDocumentDOM().getTimeline();
var selectedFrames = timeline.getSelectedFrames();
if ((selectedFrames[0] + 1) < timeline.layers.length) {
timeline.setSelectedFrames([selectedFrames[0] + 1, selectedFrames[1], selectedFrames[1] + 1]);
}
})();

FrameMoveUp.jsfl

//up
(function () {
var timeline = fl.getDocumentDOM().getTimeline();
var selectedFrames = timeline.getSelectedFrames();
if ((selectedFrames[0] - 1) >= 0) {
timeline.setSelectedFrames([selectedFrames[0] - 1, selectedFrames[1], selectedFrames[1] + 1]);
}
})();

FrameMoveRight.jsfl

//right
(function () {
var timeline = fl.getDocumentDOM().getTimeline();
var selectedFrames = timeline.getSelectedFrames();
timeline.setSelectedFrames([selectedFrames[0], selectedFrames[1] + 1, selectedFrames[1] + 2]);
})();