summaryrefslogtreecommitdiffstats
path: root/theme/javascript/keyboard.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2015-10-06 09:42:49 +0200
committerSamy Pessé <samypesse@gmail.com>2015-10-06 09:42:49 +0200
commitce1e0e187339976fc3cae7ef70bcfdd0eaf68981 (patch)
treec71ab2b8badd7a54759790bde083cab721796d92 /theme/javascript/keyboard.js
parentbcb224d1cb0add4285538f03956f6f6a1574e49a (diff)
parentc2775b3b63e92a7047f019a9d56851ce4fdd6c02 (diff)
downloadgitbook-ce1e0e187339976fc3cae7ef70bcfdd0eaf68981.zip
gitbook-ce1e0e187339976fc3cae7ef70bcfdd0eaf68981.tar.gz
gitbook-ce1e0e187339976fc3cae7ef70bcfdd0eaf68981.tar.bz2
Merge pull request #964 from GitbookIO/features/plugin_api
Better APIs for Plugins
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
+};