szurubooru/public_html/js/Keyboard.js
2014-10-18 18:54:11 +02:00

40 lines
681 B
JavaScript

var App = App || {};
App.Keyboard = function(mousetrap) {
function keyup(key, callback) {
unbind(key);
mousetrap.bind(key, simpleKeyPressed(callback), 'keyup');
}
function keydown(key, callback) {
unbind(key);
mousetrap.bind(key, simpleKeyPressed(callback));
}
function simpleKeyPressed(callback) {
return function(e) {
if (!e.altKey && !e.ctrlKey) {
callback();
}
};
}
function reset() {
mousetrap.reset();
}
function unbind(key) {
mousetrap.unbind(key, 'keyup');
mousetrap.unbind(key);
}
return {
keydown: keydown,
keyup: keyup,
reset: reset,
unbind: unbind,
};
};
App.DI.register('keyboard', ['mousetrap'], App.Keyboard);