rkeys
Version:
A platform for creating tablet/HTML5 virtual-keyboard apps to send keystrokes to remote X11
42 lines (41 loc) • 1.09 kB
JavaScript
// Generated by LiveScript 1.3.0
(function(){
var _, X11, H, downbids;
_ = require('lodash');
X11 = require('x11');
H = require('./helper');
module.exports = {
down: function(it){
return simulate(H.xtest.ButtonPress, it);
},
up: function(it){
return simulate(H.xtest.ButtonRelease, it);
}
};
downbids = [];
process.on('exit', releaseButtons);
function fakeInput(type, bid){
return H.xtest.FakeInput(type, bid, 0, H.root, 0, 0);
}
function releaseButtons(){
var i$, ref$, len$, bid, results$ = [];
for (i$ = 0, len$ = (ref$ = downbids).length; i$ < len$; ++i$) {
bid = ref$[i$];
log("release button " + bid);
results$.push(fakeInput(H.xtest.ButtonRelease, bid));
}
return results$;
}
function simulate(type, bid){
trackDownbuttons(type, bid);
return fakeInput(type, bid);
}
function trackDownbuttons(type, bid){
switch (type) {
case H.xtest.ButtonPress:
return downbids.push(bid);
case H.xtest.ButtonRelease:
return _.pull(downbids, bid);
}
}
}).call(this);