From 3a09e4dd09a6af3b228fcda68aa0709626b5ee51 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 23 May 2015 16:21:38 -0400 Subject: 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 --- lib/mousetrap/plugins/pause/mousetrap-pause.js | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/mousetrap/plugins/pause/mousetrap-pause.js (limited to 'lib/mousetrap/plugins/pause/mousetrap-pause.js') 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); -- cgit v1.2.3