var K,
Keyboard = {

  config: {
      hidden: $("tr.hidden-xs-up"),
      keyboard: $("#viewer-modal"),
      search: $("#listr-search")
  },

  init: function() {
      K = this.config;
      this.events();
  },

  // Keyboard events
  events: function() {
    $(document).bind('keydown', function(event) {
      Keyboard.revealFiles();
    }).bind('keyup',function(){
        Keyboard.hideFiles();
    });

    $(document).bind('keyup', function(event) {
        Keyboard.playerControls();
    });

    $(document).bind('keyup', function(event) {
        Keyboard.focusSearch();
    });
  },

  // show hidden files
  revealFiles: function() {
      if( event.altKey ) {
          $(K.hidden).addClass( "reveal" ).removeClass( "hidden-xs-up");
          stripedRows();
      }
  },

  // hide hidden files again
  hideFiles: function() {
      $(K.hidden).removeClass( "reveal" ).addClass( "hidden-xs-up");
      stripedRows();
  },

  // focus search input
  focusSearch: function() {
      if ( !viewer.hasClass('in')) {
        if (event.which === 70) {
            $(K.search).focus();
            $(document).scrollTop(0);
        }
      }
  },

  // Control HTML5 player
  playerControls: function() {
    // Only when modal is visible
    if ( (viewer.hasClass('in')) && (typeof player !== 'undefined') ) {

      // Fullscreen
      if (event.which === 70) {
        if (player.requestFullscreen) {
          player.requestFullscreen();
        } else if (player.msRequestFullscreen) {
          player.msRequestFullscreen();
        } else if (player.mozRequestFullScreen) {
          player.mozRequestFullScreen();
        } else if (player.webkitRequestFullscreen) {
          player.webkitRequestFullscreen();
        }
      }

      // Play/pause
      if (event.which === 32) {

        event.preventDefault();

        if (player.paused === false) {
          player.pause();
        } else {
          player.play();
        }
      }

      playerEnd = player.seekable.end(0)

      // Seek backward
      if (event.which === 37) {
        if (player.currentTime >= 1) {
          player.currentTime -= 1;
        }
      }

      // Seek forward
      if (event.which === 39) {
        if (player.currentTime <= playerEnd - 1) {
          player.currentTime += 1;
        }
      }

      // Rewind player
      if (event.which === 37 && event.shiftKey) {
        player.currentTime = 0;
      }

      // Seek to end
      // if (event.which === 39 && event.shiftKey) {
      //   player.currentTime = playerEnd;
      // }

      // Increase volume
      if (event.which === 38) {
        if (player.volume < 1) {
          player.volume += 0.1;
        }
      }

      // Max volume
      if (event.which === 38 && event.shiftKey) {
        player.volume = 1;
      }

      // Decrease volume
      if (event.which === 40) {
        if (player.volume > 0) {
          player.volume -= 0.1;
        }
      }

      // Mute volume
      if (event.which === 40 && event.shiftKey) {
        player.volume = 0;
      }
    }
  }
};

@@ -16,22 +16,24 @@
  = %7B%0A%0A  
-config
+elements
 : %7B%0A    
@@ -132,16 +132,50 @@
 search%22)
+,%0A      viewer: $(%22#viewer-modal%22)
 %0A  %7D,%0A%0A 
@@ -213,14 +213,16 @@
 his.
-config
+elements
 ;%0A  
@@ -1032,16 +1032,18 @@
   if ( !
+K.
 viewer.h
@@ -1289,16 +1289,18 @@
   if ( (
+K.
 viewer.h

fix vars