rkeys
Version:
A platform for creating tablet/HTML5 virtual-keyboard apps to send keystrokes to remote X11
38 lines (37 loc) • 1.09 kB
JavaScript
// Generated by LiveScript 1.3.0
(function(){
var x$;
x$ = $('.latchable .key, .key.latchable');
x$.on('touchstart', function(){
var $key;
if (($key = $(this)).hasClass('up')) {
return $key.trigger('latch');
}
});
x$.on('touchend', function(it){
var x, y, target, $t, $key;
x = it.originalEvent.changedTouches[0].pageX - window.pageXOffset;
y = it.originalEvent.changedTouches[0].pageY - window.pageYOffset;
if (!(target = document.elementFromPoint(x, y))) {
return;
}
$t = $(target).add($(target).parents());
if ($t.is($key = $(this))) {
return $key.trigger('unlatch');
}
return it.stopImmediatePropagation();
});
setEventHandler('touchstart', 'down');
setEventHandler('touchend', 'up');
function setEventHandler(touchEvname, direction){
return $('.key').on(touchEvname, function(){
var $key;
if (($key = $(this)).hasClass(direction)) {
return;
}
$key.toggleClass('down up');
wsSend("rkey" + direction, $key.attr('id'));
return false;
});
}
}).call(this);