<h2>Keyboard Component in Crafty</h2>
<div id="crafty-game"></div>
* {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Lato';
  margin: 20px auto;
  width: 600px;
  text-align: center;
}

h2 {
  margin: 20px 0;
}

#crafty-game {
  background: #efefef;
}
Crafty.init(600, 400, document.getElementById('crafty-game'));

var blackBox = Crafty.e("2D, Canvas, Color, Keyboard")
  .attr({
    x: 200,
    y: 50,
    w: 50,
    h: 50
  })
  .color("black");

var orangeBox = Crafty.e("2D, Canvas, Color")
  .attr({
    x: 400,
    y: 150,
    w: 50,
    h: 50
  })
  .color("orange");

blackBox.bind('KeyDown', function() {
  if (this.isDown('L')) {
    this.w += 5;
  }
});

orangeBox.bind('KeyDown', function(e) {
  if (e.key == Crafty.keys.K) {
    this.h += 5;
  }
});

External CSS

  1. https://fonts.googleapis.com/css?family=Lato

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/crafty/0.7.1/crafty-min.js