summaryrefslogtreecommitdiffstats
path: root/theme/javascript/keyboard.js
diff options
context:
space:
mode:
Diffstat (limited to 'theme/javascript/keyboard.js')
-rw-r--r--theme/javascript/keyboard.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/theme/javascript/keyboard.js b/theme/javascript/keyboard.js
new file mode 100644
index 0000000..ab0cef6
--- /dev/null
+++ b/theme/javascript/keyboard.js
@@ -0,0 +1,36 @@
+var Mousetrap = require('mousetrap');
+
+var navigation = require('./navigation');
+var sidebar = require('./sidebar');
+
+// Bind a keyboard shortcuts
+function bindShortcut(keys, fn) {
+ Mousetrap.bind(keys, function(e) {
+ fn();
+ return false;
+ });
+}
+
+
+// Bind keyboard shortcuts
+function init() {
+ // Next
+ bindShortcut(['right'], function(e) {
+ navigation.goNext();
+ });
+
+ // Prev
+ bindShortcut(['left'], function(e) {
+ navigation.goPrev();
+ });
+
+ // Toggle Summary
+ bindShortcut(['s'], function(e) {
+ sidebar.toggle();
+ });
+}
+
+module.exports = {
+ init: init,
+ bind: bindShortcut
+};