mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-11-03 04:40:10 +00:00 
			
		
		
		
	
		
			
	
	
		
			146 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			146 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/*********************************************************************/
							 | 
						||
| 
								 | 
							
								// 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 :
							 |