mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 03:10:07 +00:00 
			
		
		
		
	added support for meta/command key on OSX...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									20491386d6
								
							
						
					
					
						commit
						ec938119cc
					
				| @ -148,24 +148,31 @@ function doc(text, func){ | |||||||
| // 	- 'alt+shift'		-> "alt+shift"
 | // 	- 'alt+shift'		-> "alt+shift"
 | ||||||
| // 	- 'shift - alt'		-> "alt+shift"
 | // 	- 'shift - alt'		-> "alt+shift"
 | ||||||
| //
 | //
 | ||||||
|  | // Bool flag order:
 | ||||||
|  | // 		ctrl, meta, alt, shift
 | ||||||
|  | //
 | ||||||
|  | // NOTE: 'meta' is the OSX "Command" key...
 | ||||||
| var normalizeModifiers = | var normalizeModifiers = | ||||||
| module.normalizeModifiers = | module.normalizeModifiers = | ||||||
| function normalizeModifiers(c, a, s){ | function normalizeModifiers(c, m, a, s){ | ||||||
| 		if(c != null && c.constructor === Array){ | 		if(c != null && c.constructor === Array){ | ||||||
| 			a = c[1] | 			m = c[1] | ||||||
| 			s = c[2] | 			a = c[2] | ||||||
|  | 			s = c[3] | ||||||
| 			c = c[0] | 			c = c[0] | ||||||
| 		} | 		} | ||||||
| 		if(typeof(c) == typeof('str')){ | 		if(typeof(c) == typeof('str')){ | ||||||
| 			var modifiers = c | 			var modifiers = c | ||||||
| 		} else { | 		} else { | ||||||
| 			var modifiers = (c ? 'ctrl' : '')  | 			var modifiers = (c ? 'ctrl' : '')  | ||||||
|  | 				+ (m ? ' meta' : '')  | ||||||
| 				+ (a ? ' alt' : '')  | 				+ (a ? ' alt' : '')  | ||||||
| 				+ (s ? ' shift' : '') | 				+ (s ? ' shift' : '') | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// build the dormalized modifier string...
 | 		// build the dormalized modifier string...
 | ||||||
| 		var res = /ctrl/i.test(modifiers) ? 'ctrl' : '' | 		var res = /ctrl/i.test(modifiers) ? 'ctrl' : '' | ||||||
|  | 		res += /meta/i.test(modifiers) ? (res != '' ? '+meta' : 'meta') : '' | ||||||
| 		res += /alt/i.test(modifiers) ? (res != '' ? '+alt' : 'alt') : '' | 		res += /alt/i.test(modifiers) ? (res != '' ? '+alt' : 'alt') : '' | ||||||
| 		res += /shift/i.test(modifiers) ? (res != '' ? '+shift' : 'shift') : '' | 		res += /shift/i.test(modifiers) ? (res != '' ? '+shift' : 'shift') : '' | ||||||
| 
 | 
 | ||||||
| @ -617,7 +624,7 @@ function makeKeyboardHandler(keybindings, unhandled, actions){ | |||||||
| 		var key = evt.keyCode | 		var key = evt.keyCode | ||||||
| 
 | 
 | ||||||
| 		// get modifiers...
 | 		// get modifiers...
 | ||||||
| 		var modifiers = [evt.ctrlKey, evt.altKey, evt.shiftKey] | 		var modifiers = [evt.ctrlKey, evt.metaKey, evt.altKey, evt.shiftKey] | ||||||
| 
 | 
 | ||||||
| 		//window.DEBUG && console.log('KEY:', key, chr, modifiers)
 | 		//window.DEBUG && console.log('KEY:', key, chr, modifiers)
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -72,6 +72,9 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 				}), | 				}), | ||||||
| 			*/ | 			*/ | ||||||
| 		}, | 		}, | ||||||
|  | 		Q: { | ||||||
|  | 			meta: 'close', | ||||||
|  | 		}, | ||||||
| 		F5: doc('Full reload viewer',  | 		F5: doc('Full reload viewer',  | ||||||
| 			function(){  | 			function(){  | ||||||
| 				/* | 				/* | ||||||
| @ -104,6 +107,7 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 		F11: 'toggleFullScreen',  | 		F11: 'toggleFullScreen',  | ||||||
| 		F: { | 		F: { | ||||||
| 			ctrl: 'F11', | 			ctrl: 'F11', | ||||||
|  | 			meta: 'F11', | ||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
| 		// XXX testing...
 | 		// XXX testing...
 | ||||||
| @ -124,6 +128,8 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 			default: 'prevImage', | 			default: 'prevImage', | ||||||
| 			alt: 'shiftImageLeft!', | 			alt: 'shiftImageLeft!', | ||||||
| 			ctrl: 'prevScreen', | 			ctrl: 'prevScreen', | ||||||
|  | 			// XXX need to prevent default on mac + browser...
 | ||||||
|  | 			meta: 'prevScreen', | ||||||
| 		}, | 		}, | ||||||
| 		PgUp: 'prevScreen', | 		PgUp: 'prevScreen', | ||||||
| 		PgDown: 'nextScreen', | 		PgDown: 'nextScreen', | ||||||
| @ -131,6 +137,8 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 			default: 'nextImage', | 			default: 'nextImage', | ||||||
| 			alt: 'shiftImageRight!', | 			alt: 'shiftImageRight!', | ||||||
| 			ctrl: 'nextScreen', | 			ctrl: 'nextScreen', | ||||||
|  | 			// XXX need to prevent default on mac + browser...
 | ||||||
|  | 			meta: 'nextScreen', | ||||||
| 		}, | 		}, | ||||||
| 		'(': 'prevImageInOrder', | 		'(': 'prevImageInOrder', | ||||||
| 		')': 'nextImageInOrder', | 		')': 'nextImageInOrder', | ||||||
| @ -199,6 +207,8 @@ module.GLOBAL_KEYBOARD = { | |||||||
| 		}, | 		}, | ||||||
| 		I: { | 		I: { | ||||||
| 			ctrl: 'toggleMark!: "ribbon"', | 			ctrl: 'toggleMark!: "ribbon"', | ||||||
|  | 
 | ||||||
|  | 			'meta+alt': 'showDevTools', | ||||||
| 		}, | 		}, | ||||||
| 		 | 		 | ||||||
| 		B: { | 		B: { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user