mirror of
https://github.com/IllusionMan1212/adventures-of-kuroneko.git
synced 2026-10-24 02:12:36 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
ig.module(
|
||||
'weltmeister.evented-input'
|
||||
)
|
||||
.requires(
|
||||
'impact.input'
|
||||
)
|
||||
.defines(function(){ "use strict";
|
||||
|
||||
wm.EventedInput = ig.Input.extend({
|
||||
mousemoveCallback: null,
|
||||
keyupCallback: null,
|
||||
keydownCallback: null,
|
||||
|
||||
delayedKeyup: {push:function(){},length: 0},
|
||||
|
||||
|
||||
keydown: function( event ) {
|
||||
var tag = event.target.tagName;
|
||||
if( tag == 'INPUT' || tag == 'TEXTAREA' ) { return; }
|
||||
|
||||
var code = event.type == 'keydown'
|
||||
? event.keyCode
|
||||
: (event.button == 2 ? ig.KEY.MOUSE2 : ig.KEY.MOUSE1);
|
||||
var action = this.bindings[code];
|
||||
if( action ) {
|
||||
if( !this.actions[action] ) {
|
||||
this.actions[action] = true;
|
||||
if( this.keydownCallback ) {
|
||||
this.keydownCallback( action );
|
||||
}
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
keyup: function( event ) {
|
||||
var tag = event.target.tagName;
|
||||
if( tag == 'INPUT' || tag == 'TEXTAREA' ) { return; }
|
||||
|
||||
var code = event.type == 'keyup'
|
||||
? event.keyCode
|
||||
: (event.button == 2 ? ig.KEY.MOUSE2 : ig.KEY.MOUSE1);
|
||||
var action = this.bindings[code];
|
||||
if( action ) {
|
||||
this.actions[action] = false;
|
||||
if( this.keyupCallback ) {
|
||||
this.keyupCallback( action );
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
mousewheel: function( event ) {
|
||||
var delta = event.wheelDelta ? event.wheelDelta : (event.detail * -1);
|
||||
var code = delta > 0 ? ig.KEY.MWHEEL_UP : ig.KEY.MWHEEL_DOWN;
|
||||
var action = this.bindings[code];
|
||||
if( action ) {
|
||||
if( this.keyupCallback ) {
|
||||
this.keyupCallback( action );
|
||||
}
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
mousemove: function( event ) {
|
||||
this.parent( event );
|
||||
if( this.mousemoveCallback ) {
|
||||
this.mousemoveCallback();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user