plugin/com.blackberry.ui.input/src/blackberry10/index.js
function processTouchEvent(env, e) {
    var listener,
        touches = [];
    e = JSON.parse(e);
    if (e.touchSourceDevice !== 'CapacitiveKeyboard' ||
        !e.touchPoints ||
        !e.touchPoints.length) {
        return;
    }
    if (!_listeners[env.webviewId]) {
        return;
    }
    e.touchPoints.forEach(function (point) {
        touches.push({
            keyboardX: point.screenPosition.x + _shift.x,
            keyboardY: point.screenPosition.y + _shift.y,
            state: point.state,
            identifier: point.id
        });
    });
    listener = _listeners[env.webviewId];
    listener({
        type: _type,
        touches: touches,
        timeStamp: e.timeStamp
    });
}
function processTouchEvent(env, e) {
    var listener,
        touches = [];
    e = JSON.parse(e);
    if (e.touchSourceDevice !== 'CapacitiveKeyboard' ||
        !e.touchPoints ||
        !e.touchPoints.length) {
        return;
    }
    if (!_listeners[env.webviewId]) {
        return;
    }
    e.touchPoints.forEach(function (point) {
        touches.push({
            keyboardX: point.screenPosition.x + _shift.x,
            keyboardY: point.screenPosition.y + _shift.y,
            state: point.state,
            identifier: point.id
        });
    });
    listener = _listeners[env.webviewId];
    listener({
        type: _type,
        touches: touches,
        timeStamp: e.timeStamp
    });
}
/* This takes an UnhandledTouch event:
transforms the coordinates for each point,
and then sends that off to the application...