mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 02:10:08 +00:00
146 lines
4.1 KiB
JavaScript
Executable File
146 lines
4.1 KiB
JavaScript
Executable File
/*********************************************************************/
|
|
// 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 :
|