ImageGrid/ui (gen1)/keybindings.js

146 lines
4.1 KiB
JavaScript
Raw Normal View History

/*********************************************************************/
// NOTE: use String.fromCharCode(code)...
// list of keys to be ignored by handler but still handled by the browser...
var keybindings = {
// global bindings...
'*': {
title: 'Global',
doc: '',
ignore: [
116, // F5
123, // F12
],
// togglable modes and options...
191: {
'default': ImageGrid.showKeyboardBindings, // ?
'ctrl': ImageGrid.showSetup, // ctrl+?
},
80: ImageGrid.showSetup, // p
70: ImageGrid.toggleSingleImageMode, // f
13: 70, // Enter
83: ImageGrid.toggleSingleRibbonMode, // s
84: ImageGrid.toggleSingleImageModeTransitions, // t
65: ImageGrid.toggleTransitions, // a
9: ImageGrid.toggleControls, // tab
66: ImageGrid.toggleBackgroundModes, // b
73: ImageGrid.toggleCurrentRibbonOpacity, // i
78: ImageGrid.toggleInfo, // n
77: toggleMarkers, // m
87: ImageGrid.saveState, // w
27: ImageGrid.closeOverlay, // Esc
// ignore the modifiers (shift, alt, ctrl, caps)...
16: function(){},
17: 16,
18: 16,
20: 16, // Caps Lock
// refresh...
// XXX make this into a real action...
116: function(){ return DEBUG?true:false }, // F5
112: 116, // F12
},
// overlay...
'.overlay-mode': {
title: 'Overlay mode',
doc: 'Overlay mode key bindings.',
ignore: [
33, // PgUp
34, // PgDown
37, // Left
39, // Right
36, // Home
32, // Space
35, // End
38, // Up
40, // Down
],
},
// everything except overlays...
'.viewer *:not(.overlay-mode *)': {
title: 'Ribbon and Viewer',
doc: '',
// zooming...
187: ImageGrid.scaleContainerUp, // +
189: ImageGrid.scaleContainerDown, // -
// zoom presets...
48: {
'default': ImageGrid.centerCurrentImage, // 0
// XXX make this into a real action...
'ctrl': ImageGrid.fitImage, // ctrl+0
},
49: ImageGrid.fitImage, // 1
50: ImageGrid.fitTwoImages, // 2
51: ImageGrid.fitThreeImages, // 3
52: ImageGrid.fitFourImages, // 4
53: ImageGrid.fitFiveImages, // 5
54: ImageGrid.fitSixImages, // 6
55: ImageGrid.fitSevenImages, // 7
56: ImageGrid.fitEightImages, // 8
57: ImageGrid.fitNineImages, // 9
// navigation...
36: ImageGrid.firstImage, // Home
219: 36, // [
35: ImageGrid.lastImage, // End
221: 35, // ]
37: {
'default': ImageGrid.prevImage, // Right
'ctrl': ImageGrid.prevScreenImages, // ctrl-Right
'alt': ImageGrid.prevScreenImages, // alt-Right
},
8: 37, // BkSp
188: 37, // <
39: {
'default': ImageGrid.nextImage, // Left
'ctrl': ImageGrid.nextScreenImages, // ctrl-Left
'alt': ImageGrid.nextScreenImages, // alt-Left
},
32: 39, // Space
190: 39, // >
186: ImageGrid.prevScreenImages, // ;
222: ImageGrid.nextScreenImages, // '
// move view...
// XXX should these be s-up, s-down, ... ??
75: ImageGrid.moveViewUp, // k
74: ImageGrid.moveViewDown, // j
72: ImageGrid.moveViewLeft, // h
76: ImageGrid.moveViewRight, // l
// XXX use this to open...
//79: ImageGrid.centerCurrentImage, // o
// combined navigation with actions..
38: {
'default': ImageGrid.focusAboveRibbon, // Up
'shift': ImageGrid.shiftImageUp, // shift-Up
'ctrl+shift': ImageGrid.shiftImageUpNewRibbon // ctrl-shift-Up
},
40: {
'default': ImageGrid.focusBelowRibbon, // Down
'shift': ImageGrid.shiftImageDown, // shift-Down
'ctrl+shift': ImageGrid.shiftImageDownNewRibbon // ctrl-shift-Down
},
// misc actions...
82: ImageGrid.reverseImageOrder, // r
}
}
/*********************************************************************/
// vim:set ts=4 sw=4 nowrap :