Typeahead — это функция компьютеров и программного обеспечения (и некоторых пишущих машинок ), которая позволяет пользователям продолжать печатать независимо от программы или работы компьютера — пользователь может печатать с любой желаемой скоростью, и если принимающее программное обеспечение в это время занято, оно будет вызвано для обработки этого позже. [1] Часто это означает, что введенные нажатия клавиш не будут немедленно отображаться на экране. Этот метод программирования для обработки использует то, что известно как буфер клавиатуры .
Typeahead берет свое начало в эпохе пишущих машинок. Пишущая машинка IBM Selectric , впервые выпущенная в 1961 году, имела функцию механической блокировки клавиш, разработанную для сглаживания нерегулярных нажатий клавиш машинистками [2] , которые для многих пользователей ощущались как typeahead.
Достижение истинного опережающего ввода требует поддержания так называемого « буфера опережающего ввода » — например, очереди FIFO — роль которой заключается в хранении ограниченного количества вводимых с клавиатуры данных до тех пор, пока они не будут вызваны. Установка такого буфера может быть выполнена как на аппаратном, так и на программном уровне; большинство современных операционных систем, таких как Unix , реализуют это с помощью программного обеспечения, вызывая прерывания ядра .
В некоторых сетевых операциях можно попытаться отправить информацию по сети, независимо от того, успевает ли принимающая программа за ней следить, используя функции typeahead получателя. Однако, поскольку это слишком зависит от спецификаций компьютера, с которым происходит связь, это нечасто используется.