summaryrefslogtreecommitdiffstats
path: root/theme/javascript/core/keyboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'theme/javascript/core/keyboard.js')
-rwxr-xr-xtheme/javascript/core/keyboard.js39
1 files changed, 20 insertions, 19 deletions
diff --git a/theme/javascript/core/keyboard.js b/theme/javascript/core/keyboard.js
index 22fe953..27a9247 100755
--- a/theme/javascript/core/keyboard.js
+++ b/theme/javascript/core/keyboard.js
@@ -1,38 +1,39 @@
define([
- "jQuery",
- "Mousetrap",
- "core/navigation",
- "core/sidebar",
- "core/search"
-], function($, Mousetrap, navigation, sidebar, search){
+ 'jQuery',
+ 'Mousetrap',
+ 'core/navigation',
+ 'core/sidebar'
+], function($, Mousetrap, navigation, sidebar){
+
+ // Bind a keyboard shortcuts
+ function bindShortcut(keys, fn) {
+ Mousetrap.bind(keys, function(e) {
+ fn();
+ return false;
+ });
+ }
+
+
// Bind keyboard shortcuts
var init = function() {
// Next
- Mousetrap.bind(['right'], function(e) {
+ bindShortcut(['right'], function(e) {
navigation.goNext();
- return false;
});
// Prev
- Mousetrap.bind(['left'], function(e) {
+ bindShortcut(['left'], function(e) {
navigation.goPrev();
- return false;
});
// Toggle Summary
- Mousetrap.bind(['s'], function(e) {
+ bindShortcut(['s'], function(e) {
sidebar.toggle();
- return false;
- });
-
- // Toggle Search
- Mousetrap.bind(['f'], function(e) {
- search.toggle();
- return false;
});
};
return {
- init: init
+ init: init,
+ bind: bindShortcut
};
}); \ No newline at end of file