In time-sharing systems, the location of the buffer depends on whether communications is full-duplex or half-duplex. In full-duplex systems, keystrokes are transmitted one by one. As the main computer receives each keystroke, it ordinarily appends the character which it represents to the end of the keyboard buffer. The exception is control characters, such as "rub out" or "backspace" which correct typing mistakes by deleting the character at the end of the buffer.
In half-duplex systems, keystrokes are echoed locally on a computer terminal. The user can see the command line on his terminal and edit it before it is transmitted to the main computer. Thus the buffer is local.