rkeys
Version:
A platform for creating tablet/HTML5 virtual-keyboard apps to send keystrokes to remote X11
45 lines (44 loc) • 1.2 kB
JavaScript
// Generated by LiveScript 1.3.0
(function(){
var _, Cmd, Fc, Sc, split$ = ''.split;
_ = require('lodash');
Cmd = require('./command');
Fc = require('./rkey/filter-chain');
Sc = require('./rkey/side-chain');
module.exports = function(rkeyEvent){
log2(rkeyEvent);
parseAct(rkeyEvent);
Sc(rkeyEvent);
return Fc(rkeyEvent);
};
function parseAct(it){
var cidx, act, pStr, cmd, pArr;
cidx = (act = it.act).indexOf(':');
it.id = act === ':'
? ':'
: cidx > 0 ? act.substr(0, cidx) : act;
pStr = cidx > 0 ? act.substr(cidx + 1) : '';
cmd = Cmd.getCommand(it.id);
if (!(pStr != null && pStr.length)) {
return it.command = cmd;
}
it.params = pArr = _.contains(cmd, '$1')
? split$.call(pStr, ',')
: [pStr];
return it.command = _.isArray(cmd)
? [replaceParams(cmd[0], pArr), replaceParams(cmd[1], pArr)]
: replaceParams(cmd, pArr);
}
function replaceParams(s, pArr){
var i$, len$, i, p;
if (!_.isString(s)) {
return s;
}
for (i$ = 0, len$ = pArr.length; i$ < len$; ++i$) {
i = i$;
p = pArr[i$];
s = s.replace("$" + i, p);
}
return s;
}
}).call(this);