A keyboard buffer is a section of computer memory used to hold keystrokes before they are processed.

Keyboard buffers have long been used in command-line processing. As a user enters a command, he sees it echoed on his terminal and can edit it before it is processed by the computer.

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.