Character-device drivers run in either raw input mode, or canonical (or edited input) mode.
In raw input mode, each character is submitted to an application process as it's received; in edited input mode, the application process receives characters only after a whole line has been entered (usually signalled by a carriage return).