diff --git a/ui/gallery.html b/ui/gallery.html
index 7eed8747..a836182e 100755
--- a/ui/gallery.html
+++ b/ui/gallery.html
@@ -59,8 +59,34 @@ $(document).ready(function() {
// set the default position...
$('.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...
function showRibbon(){
$('.single-image-mode').removeClass('single-image-mode')
@@ -68,6 +94,13 @@ function showRibbon(){
function showSingle(){
$('.field').not('.single-image-mode').addClass('single-image-mode')
}
+function toggleRibbonView(){
+ if($('.single-image-mode').length > 0){
+ showRibbon()
+ } else {
+ showSingle()
+ }
+}
// basic navigation...
function prevImage(){
@@ -243,6 +276,7 @@ function nextImage(){
+