Hallo tobimc,

Dein Code sieht gar nicht so schlecht aus.
Es gib zwei Sachen, die Du noch berücksichtigen mußt:

1. Inkey() liefert den Zeichencode nicht das Zeichen zurück !
Der Zeichencode (oder ASCII-Code) ist numerisch (Byte)
Z.B. 65 = "A", 66="B"; 48="0", 49="1" ; 32=Space,13=CR
Umwandeln kann man ihn mit chr() und ungekehrt mir asc(), also:
If chr(Inkey()) = "1" then
ist das selbe wie
If Inkey() = 49 then
ist das selbe wie
If Inkey() = asc("1")

2. CR = cariage return / Entertaste
Wenn man ein Terminalprogramm hat, in dem man die Zeichen per Tastatur eingibt, ist das Drücken der Entertaste = Zeichen 13
Der Printbefehl kann entweder mit oder ohne Semikolon geschrieben werden.
Bei Print "Hallo"; Print "Welt" wird beides direkt nacheinander ausgegeben (HalloWelt).
So wie Du es machst wird an jedes Print ein chr(10) und chr(13) angehängt, um in eine neue Zeile (10=LF/Line feed) und ein Enter(13) automatisch mit zu schicken.

Probiere mal am besten ein kleines Programm mit
Do while true
x = inkey()
print x ; chr(X)
Loop
und sehe Dir das Ergebnis in einem Terminalfenster Deines PC's an, während Du ein paar Tasten drückst...