refer to The GNU C Library, 17.4.10 Noncanonical Input
In the terminal’s c_lflag and c_iflag, probably can try to use noncanonical input, and turns off most processing to give an unmodified channel to the terminal.
tNew.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
tNew.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);