added basic keyboard handling...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2012-06-06 22:06:10 +04:00
parent b900d926cd
commit 12625f8ca0

View File

@ -59,8 +59,34 @@ $(document).ready(function() {
// set the default position... // set the default position...
$('.current-image').click() $('.current-image').click()
$(document).bind('keydown', handleKeys)
}); });
var keys = {
toggleHelpKeys: [72],
toggleRibbonView: [32],
closeKeys: [27, 88, 67],
previousKeys: [37, 80],
nextKeys: [39, 78],
helpShowOnUnknownKey: true
}
function handleKeys(event){
var code = event.keyCode, fn = $.inArray;
// XXX
var _ = (fn(code, keys.closeKeys) >= 0) ? function(){}()
: (fn(code, keys.nextKeys) >= 0) ? nextImage()
: (fn(code, keys.previousKeys) >= 0) ? prevImage()
: (fn(code, keys.toggleRibbonView) >= 0) ? toggleRibbonView()
// XXX
: (keys.helpShowOnUnknownKey) ? function(){}()
: false;
return false;
}
// modes... // modes...
function showRibbon(){ function showRibbon(){
$('.single-image-mode').removeClass('single-image-mode') $('.single-image-mode').removeClass('single-image-mode')
@ -68,6 +94,13 @@ function showRibbon(){
function showSingle(){ function showSingle(){
$('.field').not('.single-image-mode').addClass('single-image-mode') $('.field').not('.single-image-mode').addClass('single-image-mode')
} }
function toggleRibbonView(){
if($('.single-image-mode').length > 0){
showRibbon()
} else {
showSingle()
}
}
// basic navigation... // basic navigation...
function prevImage(){ function prevImage(){
@ -243,6 +276,7 @@ function nextImage(){
<button onclick="showSingle()">single</button> <button onclick="showSingle()">single</button>
<button onclick="showRibbon()">ribbon</button> <button onclick="showRibbon()">ribbon</button>
<button onclick="toggleRibbonView()">toggle ribbon view</button>
<!-- vim:set ts=4 sw=4 nowrap : --> <!-- vim:set ts=4 sw=4 nowrap : -->