RxJs Key Stats

by Martin Seeler

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.0.0/rx.all.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>

JavaScript

Rx.Observable
    .fromEvent(document, 'keydown')
    .groupBy(function (x) { return x.keyCode; })
    .subscribe(function (keyStream) {
    var charBar = document.createElement('p');
    document.body.appendChild(charBar);
    keyStream.map(function (x) {
        return x.keyIdentifier;
    })
        .subscribe(function (x) {
        var char = document.createElement('span');
        char.innerHTML = '|';
        charBar.appendChild(char);
    });
});