Xの座標も規則性があるんでそれを利用して
IF TY<=127 && TY>=145 THEN
FOR POS=0 TO 9
IF TX>=POS*30+9 && TX<=POS*30+27 THEN BEEP 9:STRING$=STRING$+MID$("123456789",POS,1)'右端が見えないんで他に処理があるんだったらこの後に続けて記述
NEXT
ENDIF
とまとめる事もできますね。
DATAで範囲座標と文字を定義しておいて
@KEYTBL
DATA "A",19,169,37,151
DATA "B",38,169,56,151
: (N列分 定義)
最初に配列に読み込む
RESTORE @KEYTBL
FOR I=0 TO N
READ MOJI$[I],TX1[I],TY1[I],TX2[I],TY2[I]
NEXT
タッチ判定部分は
FOR I=0 TO N
IF TX>=TX1[I] && TX<=TX2[I] && TY>=TY1[I] && TY<=TY2[I] THEN INC STRING$,MOJI[I]:BREAK
NEXT
というような感じでどうでしょう。
定義した座標や文字はキーボード描画するときにも使えるかもしれません。タッチ判定部分が何ヶ所か出るようなら、関数化したほうが良いですね。