delete key의 인식에 대한 질문입니다.

study의 이미지

아래와 같은 code를 인터넷 어딘가에서 구해서 시험을 해보고 있었는데요.
Teraterm (VT100)으로 접속해서, 프로그램을 수행하면 delete key를 누를 때 아래의 출력예 1과 같이 7f값이 찍히는데요 .
직접 Console에서 프로그램을 수행하면 delete key를 누를 때 아래의 출력예 2와 같이 1b 5b 33과 같이 escape 문자열이 찍히는 것 같아 보이네요.

이건 왜 이런지, 어떻게 하면 console에서도 7f가 찍히도록 할 수 있는지 몰라서요.
조언 부탁드립니다 !!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <termios.h>
 
static struct termios tin;
 
static void terminal_set(void)
{
   // save terminal configuration
   tcgetattr(STDIN_FILENO, &tin);
 
   static struct termios tlocal;
   memcpy(&tlocal, &tin, sizeof(tin));
   cfmakeraw(&tlocal);
   tcsetattr(STDIN_FILENO,TCSANOW,&tlocal);
}
 
static void terminal_reset(void)
{
   // restore terminal upon exit
   tcsetattr(STDIN_FILENO,TCSANOW,&tin);
}
 
 
int main(void)
{
   unsigned char buf[10];
 
   terminal_set();
   atexit(terminal_reset);
 
   while (1)
   {
      buf[0] = fgetc(stdin);
      printf("buf[0] = %x", buf[0]);
      if (buf[0] == 0x61)
         break;
   }
 
   return 0;
}

<출력예 1>
$ ./a.out
buf[0] = dbuf[0] = dbuf[0] = 7fbuf[0] = dbuf[0] = 3buf[0] = dbuf[0] = 61
<출력예 2>
$ ./a.out
buf[0] = dbuf[0] = dbuf[0] = dbuf[0] = dbuf[0] = 1bbuf[0] = 5bbuf[0] = 33buf[0] = 7ebuf[0] = 1bbuf[0] = 5bbuf[0] = 33buf[0] = 7e