How can I make this go faster?

```
:1→L
:Lbl ST
:ClrHome
:Disp "NAME:
:" "→Str1
:0→K
:1→P
:Repeat K=105 and length(Str1>1
:If L=1:Then
:Output(1,16,"A
:Else
:Output(1,16," "
:End
:Output(3,P,"^
:Repeat K=23 or K=31 or K=45 or K=105 or K>40 and K<103 and K≠95
and K≠44 and L=1 or K> 61 and K<105 and K≠71 and K≠81 and K≠91 and L=0
:getkey→K
:End
:If K≠23 and K≠31 and K≠45 and K≠105 and P<15:Then
:If L=1
:sub("ABC DEFGH IJKLM NOPQR STUVW XYZθ",Ans-40,1
:if L=0
:sub(",()/ 789* 456- 123+ 0.-",Ans-61,1
:Str1+Ans→Str1
:Output(3,P," "
:P+1→P
:End
:If K=23:Then
:Output(3,P," "
:max(1,P-1→P
:sub(str1,1,max(length(Str1)-1,1→Str1
:Output(2,P," "
:End
:If K=45
:Goto ST
:If K=31
:not(L→L
:End
:sub(Str1,2,length(Str1)-1→Str1
```

This allows users to enter text up to 14 characters.

L is the Alpha Lock

P is the Position of the ^

K is the Keypress