UNPKG

rkeys

Version:

A platform for creating tablet/HTML5 virtual-keyboard apps to send keystrokes to remote X11

45 lines (44 loc) 1.2 kB
// 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);