Введение

Компьютерная клавиша Scroll Lock (⤓ или ⇳) — это клавиша блокировки (обычно с индикатором состояния) на большинстве компьютерных клавиатур, совместимых с IBM. В зависимости от операционной системы, она может использоваться для различных целей, а приложения могут назначать функции клавише или изменять своё поведение в зависимости от её состояния. IBM Lotus Notes, Forté Agent, Renoise, Cakewalk by BandLab и LibreOffice Calc — примеры программ, использующих Scroll Lock. Некоторые текстовые редакторы (например, Notepad++, Microsoft Visual Studio) демонстрируют аналогичное поведение при использовании клавиш со стрелками в сочетании с нажатой клавишей Scroll Lock. Большинство графических сред игнорируют Scroll Lock, что означает, что прокрутка должна выполняться с помощью мыши, используя такие элементы, как полосы прокрутки или колёса прокрутки, или функцию "автопрокрутки", активируемую средней кнопкой мыши (которая может быть частью колёса прокрутки). В некоторых случаях сочетание клавиш + и клавиш со стрелками может обеспечить прокрутку. Некоторые веб-браузеры, включая Google Chrome, Firefox и Internet Explorer, поддерживают режим просмотра Caret, который можно включить или выключить с помощью Scroll Lock. При отключенной навигации Caret (по умолчанию) поведение прокрутки окна аналогично тому, что предполагается для Scroll Lock, но включение навигации Caret активирует прокрутку курсором, как если бы Scroll Lock был отключен.

Прокрутка консоли

Нажатие клавиши Scroll Lock в консоли Linux во время прокрутки текста на экране замораживает вывод консоли (но не ввод), в течение этого времени на экран не выводится новый текст, в то время как программа продолжает выполняться как обычно, либо блокируется в системном вызове, если слишком большой объем данных, не успевающих отображаться в терминале, приводит к заполнению выходной очереди tty, а файловый дескриптор tty не использует неблокирующий ввод-вывод. При повторном нажатии клавиши экран размораживается, и весь текст, сгенерированный во время заморозки, отображается сразу, после чего программа продолжает работу в нормальном режиме. Это позволяет пользователю приостановить вывод и прочитать длинные сообщения журнала, которые прокручиваются по экрану слишком быстро, например, во время загрузки системы (при условии, что драйвер клавиатуры уже загружен). Если не настроено иное или используется режим raw, клавиши DC3 (в ASCII) и DC1 (в ASCII) могут использоваться вместо Scroll Lock в Unix-подобных системах для замораживания и размораживания вывода tty соответственно. Такое поведение имитирует клавишу "Удержать экран" или аналогичные механизмы управления потоком данных на аппаратных терминалах. Это поведение следует отличать от нажатия клавиши Pause во время POST или в DOS, что по умолчанию приводит к временной остановке выполняющегося процесса. На системной консоли FreeBSD клавиша Scroll Lock не только приостанавливает вывод, но и дополнительно включает прокрутку: после нажатия можно использовать клавиши Page Up и Page Down для прокрутки вверх или вниз. Повторное нажатие отключает этот режим и возвращает курсор в конец вывода. В Linux консоли эта функция была реализована с использованием клавиш Page Up и Page Down, без необходимости активации Scroll Lock; эта функция была удалена из-за уязвимости (CVE 2020-14390). В консоли NetBSD можно прокручивать вывод с помощью клавиш Page Up/Page Down или нажав клавишу Scroll Lock, а затем Page Up/Page Down.

Диагностика загрузки

В многопользовательской DOS, System Manager и REAL/32 активация во время загрузки всегда переводит систему в специальный диагностический режим, в котором операционная система и загруженные драйверы устройств выводят подробную информацию о своем состоянии и отладке, а также об их взаимодействии с операционной системой, иногда занимающую несколько экранов на каждый загруженный драйвер.