aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mousetrap/plugins/pause/mousetrap-pause.js
diff options
context:
space:
mode:
authorTeddy Wing2015-05-23 16:21:38 -0400
committerTeddy Wing2015-05-23 16:21:38 -0400
commit3a09e4dd09a6af3b228fcda68aa0709626b5ee51 (patch)
treea434d76ccae2a55cfe4f4c0215a99017de4bba33 /lib/mousetrap/plugins/pause/mousetrap-pause.js
parent6183a0bb3caf4805ed4242a4ac104b9890db3601 (diff)
downloadPeniquitous-3a09e4dd09a6af3b228fcda68aa0709626b5ee51.tar.bz2
Set up Bower. Install Mousetrap.
* Create limited bower.json file * Create .bowerrc that tells Bower to use the `lib` directory * Install Mousetrap for key events
Diffstat (limited to 'lib/mousetrap/plugins/pause/mousetrap-pause.js')
-rw-r--r--lib/mousetrap/plugins/pause/mousetrap-pause.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/mousetrap/plugins/pause/mousetrap-pause.js b/lib/mousetrap/plugins/pause/mousetrap-pause.js
new file mode 100644
index 0000000..0138b8a
--- /dev/null
+++ b/lib/mousetrap/plugins/pause/mousetrap-pause.js
@@ -0,0 +1,31 @@
+/**
+ * adds a pause and unpause method to Mousetrap
+ * this allows you to enable or disable keyboard shortcuts
+ * without having to reset Mousetrap and rebind everything
+ */
+/* global Mousetrap:true */
+(function(Mousetrap) {
+ var _originalStopCallback = Mousetrap.prototype.stopCallback;
+
+ Mousetrap.prototype.stopCallback = function(e, element, combo) {
+ var self = this;
+
+ if (self.paused) {
+ return true;
+ }
+
+ return _originalStopCallback.call(self, e, element, combo);
+ };
+
+ Mousetrap.prototype.pause = function() {
+ var self = this;
+ self.paused = true;
+ };
+
+ Mousetrap.prototype.unpause = function() {
+ var self = this;
+ self.paused = false;
+ };
+
+ Mousetrap.init();
+}) (Mousetrap);