The player is moving 1 pixel, but because you are constantly polling for input, you get the 'isdown' response every frame. So in the space of 1 second, you have moved 60 pixels, assuming frame rate holds and you held down the key for the whole second.
What you would need to do is only perform the movement code, as soon as the key was pressed, that way the player will need to release the key to be able to move again. Something like this should do the trick.
Player.prototype.init = function() {
this.pressed = {}; // List of pressed keys
};
Player.prototype.update = function() {
if ( !keyboard.up()) {
delete this.pressed[ 'up']; // No longer pressed, so remove
}
if ( keyboard.up() && !this.pressed[ 'up']) {
this.pressed[ 'up'] = true; // Set to pressed so the event doesn't fire again
this.y --;
}
};
I suggest altering your input class so that it would be handled for you, but the code is pretty much identical.