mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-12-18 09:11:39 +00:00
split off the gen3 keyboard config...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
c53501253d
commit
9f302223bb
139
ui/index.html
139
ui/index.html
@ -195,147 +195,10 @@
|
|||||||
<script src="lib/keyboard.js"></script>
|
<script src="lib/keyboard.js"></script>
|
||||||
|
|
||||||
<script src="ImageGrid.js"></script>
|
<script src="ImageGrid.js"></script>
|
||||||
|
<script src="keybindings3.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* Keyboard configuration...
|
|
||||||
*
|
|
||||||
* XXX move this out to a separate file...
|
|
||||||
*/
|
|
||||||
|
|
||||||
var STEPS_TO_CHANGE_DIRECTION = 2
|
|
||||||
var _STEPS_LEFT_TO_CHANGE_DIRECTION = STEPS_TO_CHANGE_DIRECTION
|
|
||||||
// XXX code related to this needs testing...
|
|
||||||
var DIRECTION = 'next'
|
|
||||||
|
|
||||||
|
|
||||||
var KEYBOARD_CONFIG = {
|
|
||||||
// general setup...
|
|
||||||
'.viewer': {
|
|
||||||
Up: {
|
|
||||||
default: function(){ prevRibbon(DIRECTION) },
|
|
||||||
shift: function(){ shiftImageUp(null, DIRECTION) },
|
|
||||||
},
|
|
||||||
Down: {
|
|
||||||
default: function(){ nextRibbon(DIRECTION) },
|
|
||||||
shift: function(){ shiftImageDown(null, DIRECTION) },
|
|
||||||
},
|
|
||||||
|
|
||||||
// XXX need to cancel the animation of the prev action...
|
|
||||||
Left: {
|
|
||||||
default: function(){
|
|
||||||
if(DIRECTION != 'prev'){
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION--
|
|
||||||
if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){
|
|
||||||
DIRECTION = 'prev'
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
|
||||||
}
|
|
||||||
prevImage()
|
|
||||||
},
|
|
||||||
// XXX prevScreenImages...
|
|
||||||
ctrl: function(){
|
|
||||||
console.log('NotImplemented: screen images back.')
|
|
||||||
},
|
|
||||||
// XXX need to keep shift explicitly clear for editor...
|
|
||||||
/*
|
|
||||||
shift: function(){
|
|
||||||
toggleImageMark()
|
|
||||||
prevImage()
|
|
||||||
},
|
|
||||||
// XXX mark screen images...
|
|
||||||
'ctrl+shift': function(){
|
|
||||||
console.log('NotImplemented: mark screen images back.')
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
},
|
|
||||||
Right: {
|
|
||||||
default: function(){
|
|
||||||
if(DIRECTION != 'next'){
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION--
|
|
||||||
if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){
|
|
||||||
DIRECTION = 'next'
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
|
||||||
}
|
|
||||||
nextImage()
|
|
||||||
},
|
|
||||||
// XXX nextScreenImages...
|
|
||||||
ctrl: function(){
|
|
||||||
console.log('NotImplemented: screen images forward.')
|
|
||||||
},
|
|
||||||
// XXX need to keep shift explicitly clear for editor...
|
|
||||||
/*
|
|
||||||
shift: function(){
|
|
||||||
toggleImageMark()
|
|
||||||
nextImage()
|
|
||||||
},
|
|
||||||
// XXX mark screen images...
|
|
||||||
'ctrl+shift': function(){
|
|
||||||
console.log('NotImplemented: mark screen images forward.')
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
},
|
|
||||||
Space: {
|
|
||||||
default: 'Right',
|
|
||||||
shift: 'Left',
|
|
||||||
},
|
|
||||||
/* XXX for some reason this does not work,,,
|
|
||||||
// XXX for some odd reason, returning false does not cancel
|
|
||||||
// default behaviour here...
|
|
||||||
Backspace: {
|
|
||||||
default: 'Left',
|
|
||||||
shift: 'Right',
|
|
||||||
},
|
|
||||||
*/
|
|
||||||
|
|
||||||
Home: function(){
|
|
||||||
firstImage()
|
|
||||||
},
|
|
||||||
End: function(){
|
|
||||||
lastImage()
|
|
||||||
},
|
|
||||||
|
|
||||||
// zooming...
|
|
||||||
'1': function(){ fitNImages(1) },
|
|
||||||
'2': function(){ fitNImages(2) },
|
|
||||||
'3': function(){ fitNImages(3) },
|
|
||||||
'4': function(){ fitNImages(4) },
|
|
||||||
'5': function(){ fitNImages(5) },
|
|
||||||
'6': function(){ fitNImages(6) },
|
|
||||||
'7': function(){ fitNImages(7) },
|
|
||||||
// XXX for some reason this also hooks the Backspace key (80)...
|
|
||||||
'8': function(){ fitNImages(8) },
|
|
||||||
'9': function(){ fitNImages(9) },
|
|
||||||
|
|
||||||
|
|
||||||
// XXX this is temporary, combine this with single image mode...
|
|
||||||
F: function(){ toggleImageProportions() },
|
|
||||||
|
|
||||||
|
|
||||||
// marking...
|
|
||||||
// XXX not final, think of a better way to do this...
|
|
||||||
I: {
|
|
||||||
ctrl: function(){ invertImageMarks() },
|
|
||||||
},
|
|
||||||
A: {
|
|
||||||
shift: function(){ toggleImageMarkBlock() },
|
|
||||||
ctrl: function(){ markAll('ribbon') },
|
|
||||||
},
|
|
||||||
M: {
|
|
||||||
default: function(){ toggleImageMark() },
|
|
||||||
shift: function(){ toggleMarkedOnlyView() },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
// setup...
|
// setup...
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|||||||
178
ui/keybindings3.js
Executable file
178
ui/keybindings3.js
Executable file
@ -0,0 +1,178 @@
|
|||||||
|
/**********************************************************************
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
var STEPS_TO_CHANGE_DIRECTION = 2
|
||||||
|
var _STEPS_LEFT_TO_CHANGE_DIRECTION = STEPS_TO_CHANGE_DIRECTION
|
||||||
|
// XXX code related to this needs testing...
|
||||||
|
var DIRECTION = 'next'
|
||||||
|
|
||||||
|
|
||||||
|
var KEYBOARD_CONFIG = {
|
||||||
|
// general setup...
|
||||||
|
'.viewer': {
|
||||||
|
// Navigation...
|
||||||
|
// XXX need to cancel the animation of the prev action...
|
||||||
|
Left: {
|
||||||
|
default: function(){
|
||||||
|
if(DIRECTION != 'prev'){
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION--
|
||||||
|
if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){
|
||||||
|
DIRECTION = 'prev'
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
||||||
|
}
|
||||||
|
prevImage()
|
||||||
|
},
|
||||||
|
// XXX prevScreenImages...
|
||||||
|
ctrl: function(){
|
||||||
|
console.log('NotImplemented: screen images back.')
|
||||||
|
},
|
||||||
|
// XXX need to keep shift explicitly clear for editor...
|
||||||
|
/*
|
||||||
|
shift: function(){
|
||||||
|
toggleImageMark()
|
||||||
|
prevImage()
|
||||||
|
},
|
||||||
|
// XXX mark screen images...
|
||||||
|
'ctrl+shift': function(){
|
||||||
|
console.log('NotImplemented: mark screen images back.')
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
},
|
||||||
|
Right: {
|
||||||
|
default: function(){
|
||||||
|
if(DIRECTION != 'next'){
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION--
|
||||||
|
if(_STEPS_LEFT_TO_CHANGE_DIRECTION == 0){
|
||||||
|
DIRECTION = 'next'
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_STEPS_LEFT_TO_CHANGE_DIRECTION = 2
|
||||||
|
}
|
||||||
|
nextImage()
|
||||||
|
},
|
||||||
|
// XXX nextScreenImages...
|
||||||
|
ctrl: function(){
|
||||||
|
console.log('NotImplemented: screen images forward.')
|
||||||
|
},
|
||||||
|
// XXX need to keep shift explicitly clear for editor...
|
||||||
|
/*
|
||||||
|
shift: function(){
|
||||||
|
toggleImageMark()
|
||||||
|
nextImage()
|
||||||
|
},
|
||||||
|
// XXX mark screen images...
|
||||||
|
'ctrl+shift': function(){
|
||||||
|
console.log('NotImplemented: mark screen images forward.')
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
},
|
||||||
|
Space: {
|
||||||
|
default: 'Right',
|
||||||
|
shift: 'Left',
|
||||||
|
},
|
||||||
|
/* XXX for some reason this does not work,,,
|
||||||
|
// XXX for some odd reason, returning false does not cancel
|
||||||
|
// default behaviour here...
|
||||||
|
Backspace: {
|
||||||
|
default: 'Left',
|
||||||
|
shift: 'Right',
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
Home: function(){
|
||||||
|
firstImage()
|
||||||
|
},
|
||||||
|
End: function(){
|
||||||
|
lastImage()
|
||||||
|
},
|
||||||
|
Up: {
|
||||||
|
default: function(){ prevRibbon(DIRECTION) },
|
||||||
|
shift: function(){ shiftImageUp(null, DIRECTION) },
|
||||||
|
},
|
||||||
|
Down: {
|
||||||
|
default: function(){ nextRibbon(DIRECTION) },
|
||||||
|
shift: function(){ shiftImageDown(null, DIRECTION) },
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// zooming...
|
||||||
|
'1': function(){ fitNImages(1) },
|
||||||
|
'2': function(){ fitNImages(2) },
|
||||||
|
'3': function(){ fitNImages(3) },
|
||||||
|
'4': function(){ fitNImages(4) },
|
||||||
|
'5': function(){ fitNImages(5) },
|
||||||
|
'6': function(){ fitNImages(6) },
|
||||||
|
'7': function(){ fitNImages(7) },
|
||||||
|
// XXX for some reason this also hooks the Backspace key (80)...
|
||||||
|
'8': function(){ fitNImages(8) },
|
||||||
|
'9': function(){ fitNImages(9) },
|
||||||
|
|
||||||
|
|
||||||
|
// XXX this is temporary, combine this with single image mode...
|
||||||
|
// XXX this should only work on single image mode...
|
||||||
|
F: function(){ toggleImageProportions() },
|
||||||
|
|
||||||
|
|
||||||
|
// marking...
|
||||||
|
// XXX not final, think of a better way to do this...
|
||||||
|
// XXX need mark navigation...
|
||||||
|
M: {
|
||||||
|
// NOTE: marking moves in the same direction as the last
|
||||||
|
// move...
|
||||||
|
// i.e. marking can change direction depending on where
|
||||||
|
// we moved last...
|
||||||
|
// NOTE: marking does not change move direction...
|
||||||
|
default: function(){
|
||||||
|
toggleImageMark()
|
||||||
|
if(DIRECTION == 'next'){
|
||||||
|
nextImage()
|
||||||
|
} else {
|
||||||
|
prevImage()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// same as default but in reverse direction...
|
||||||
|
shift: function(){
|
||||||
|
toggleImageMark()
|
||||||
|
if(DIRECTION == 'prev'){
|
||||||
|
nextImage()
|
||||||
|
} else {
|
||||||
|
prevImage()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ctrl: function(){ toggleImageMark() },
|
||||||
|
},
|
||||||
|
I: {
|
||||||
|
ctrl: function(){ invertImageMarks() },
|
||||||
|
},
|
||||||
|
A: {
|
||||||
|
shift: function(){ toggleImageMarkBlock() },
|
||||||
|
ctrl: function(){ markAll('ribbon') },
|
||||||
|
},
|
||||||
|
U: {
|
||||||
|
ctrl: function(){ removeImageMarks('ribbon') },
|
||||||
|
shift: function(){ removeImageMarks('all') },
|
||||||
|
},
|
||||||
|
F2: function(){ toggleMarkedOnlyView() },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* vim:set ts=4 sw=4 : */
|
||||||
Loading…
x
Reference in New Issue
Block a user