Back in the day I wrote my own input code using GET. Over time I enhanced it to support various features. You start out with GET A$. Here is a simple one I just threw together:
10 NA$="":PR$="Name:"
20 GOSUB 50000
30 PRINT"Your name is ";NA$
40 END
50000 PRINT PR$;
50010 GET A$:IF A$="" THEN 50010
50020 IF A$=CHR$(13) THEN PRINT:RETURN
50030 IF A$<>CHR$(20) THEN 50050
50040 IF LEN(A$NA$)>0 THEN NA$=LEFT$(NA$,LEN(NA$)-1):? CHR$(157);" ";CHR$(157);
50050 IF A$>="a" AND A$<="z" THEN 50090
50060 IF A$>="A" AND A$<="Z" THEN 50090
50070 IF A$=" " THEN 50090
50080 GOTO 50010
50090 NA$=NA$+A$:PRINT A$;:GOTO 50010
BITD I had a blinking cursor implemented.