LibGDX Rotate Image Continually with Keyboard Input

Alright I finally did it! I’m learning a gaming library, libGDX, which I especially liked cause of the particles :wink: I’m starting to love those puppies. Anyway, I am following the Dustin Riley tutorials, and I was wondering: How would I be able to, instead of having the spaceship have 8 positions (up right, up, lower right, etc) , be able to press and hold A or D and have the ship rotate accordingly as well as have it “thrust” when W is pressed. I have this:


	public boolean keyDown(int keycode) {
		ship = world.getShip();
		switch (keycode) {
		case Keys.W:
			ship.getVelocity().y += .1;
			break;
		case Keys.S:
			ship.getVelocity().y -= .1;
			break;
		case Keys.A:
			ship.getVelocity().x -= .1;
			break;
		case Keys.D:
			ship.getVelocity().x += .1;
			break;
		default:
			break;
		}
		return true;
	}

and obviously that doesn’t work for so many reasons. I don’t even know why I did it, I knew it was ridiculous. And I know about


		Keyboard.enableRepeatEvents(true);

but is there a good way to achieve what I am trying?

EDIT:
Here’s the ship class:


package com.slyth.angrymasons.Models;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Vector2;

public class Ship extends MovableEntity {

	public Ship(Vector2 position, float width, float height, float rotation, float SPEED) {
		super(SPEED, rotation, width, height, position);
	}

	public void update() {
		position.add(velocity.tmp().mul(Gdx.graphics.getDeltaTime() * SPEED));
		if (velocity.x != 0 || velocity.y != 0)
			rotation = velocity.angle() - 90;

		bounds.x = position.x;
		bounds.y = position.y;
	}
}