The scroll-lock key with an activated indicator light on an IBM Model M keyboard.

Scroll Lock (⤓ or ⇳) is a lock key (typically with an associated status light) on most IBM-compatible computer keyboards.

Depending on the operating system, it may be used for different purposes, and applications may assign functions to the key or change their behavior depending on its toggling state.[1][2]

The key is not frequently used, and therefore some reduced or specialized keyboards lack Scroll Lock altogether.

Pressing Ctrl+Scroll Lock performs the same function as pressing Ctrl+Pause/Break. This behavior is a remnant of the original IBM PC keyboards, which did not have a dedicated Pause/Break key. Instead, they assigned the Pause function to Ctrl+Num Lock and the Break function to Ctrl+Scroll Lock.

Function

Window scrolling

The Scroll Lock key was meant to lock all scrolling techniques, and is a vestige of the original IBM PC keyboard. In the original design, Scroll Lock was intended to modify the behavior of the arrow keys. When the Scroll Lock mode was on, the arrow keys would scroll the contents of a text window instead of moving the cursor.[1][2] In this usage, Scroll Lock is a toggling lock key like Num Lock or Caps Lock, which have a state that persists after the key is released.

Today, this particular use of Scroll Lock is rare. Modern programs honoring this behavior include IBM Lotus Notes, Forté Agent, Image-Line FL Studio,[3] Renoise, Cakewalk by BandLab, Microsoft Excel, Microsoft Project,[4] LibreOffice Calc, and occasionally Microsoft Word.

Some text editors (such as Notepad++, Microsoft Visual Studio) exhibit similar behavior when the arrow keys are used with Ctrl pressed.

Most GUI environments neglect Scroll Lock, which means scrolling must be accomplished with a mouse, using means such as scrollbars or scroll wheels, or an "autoscroll" feature activated by the middle mouse button (which may be part of the scroll wheel). In some instances, Ctrl+⇧ Shift in conjunction with the arrow keys can enable scrolling.

Some web browsers including Google Chrome, Firefox, and Internet Explorer support a Caret browsing mode which can be toggled by F7. While the window scrolling behavior with Caret navigation disabled (the default) is similar to that suggested for Scroll Lock, enabling Caret navigation will enable a cursor scrolling behavior as if Scroll Lock were disabled.

Console scrolling

Pressing the Scroll Lock key in the Linux console while the text is scrolling through the screen freezes the console output (but not input) during which no further text is sent to the screen, while the program continues running as usual, or become blocked at the write syscall when too much text is prevented from reaching the terminal and the file descriptor's send queue is full. When Scroll Lock is pressed again, the screen is unfrozen and all text generated during the freeze is displayed at once and the program continues to run normally. This allows the user to pause the display and read long messages that scroll through the screen too quickly to read, such as when the system is booting up (provided the keyboard driver has already been loaded). If not configured otherwise with the command stty, Ctrl+S and Ctrl+Q instead of Scroll Lock in any terminal in Linux/Unix-like systems to freeze and unfreeze the terminal output respectively.

This behavior emulates the Hold Screen key or similar flow control mechanisms on computer terminals.

The behavior must be distinguished from pressing the Pause key during POST or under DOS, which, by default, has the effect of temporarily halting the running process.

On the FreeBSD system console, the Scroll Lock key additionally enables scrolling: after pressing Scroll Lock, one can use Page Up and Page Down to scroll up or down. Pressing Scroll Lock again disables this mode and moves back to the bottom of the output. The Linux console implemented this behaviour by using ⇧ Shift+Page Up and ⇧ Shift+Page Down, not requiring Scroll Lock to be active; this behavior was removed due to a vulnerability (CVE-2020-14390).[5] The NetBSD console can be scrolled either with ⇧ Shift+Page Up/ ⇧ Shift+Page Down or with Scroll Lock and Page Up/Page Down .

Boot diagnostics

In Multiuser DOS, System Manager, and REAL/32, activating Scroll Lock during boot will always enter a special diagnostic mode, where the operating system and loaded device drivers will display detailed status and debugging information about themselves and their interaction with the operating system, sometimes up to several screenfulls per loaded driver.[6] Automatic scrolling is suspended for as long as Scroll Lock remains activated.[7]

DR-DOS 7.02 and higher provides a CONFIG.SYS directive named SCROLLOCK=ON|OFF to change the Scroll Lock status on the fly.[6] Activating Scroll Lock during boot will enter a DIAG mode as well, wherein some special drivers may display more verbose messages,[6] but in contrast to the situation under the Multiuser DOS family normal DOS drivers do not typically display additional information. The operating system, however, will temporarily suspend any automatic timeouts (TIMEOUT=<seconds>,<character>,<switch>) in CONFIG.SYS trace (TRACE=ON|OFF) and F7/F8 single-stepping modes for as long as Scroll Lock is active.[6]

Debugging

In the Microsoft Windows NT family starting with Windows 2000, a debugging feature can be enabled, that allows the user to manually crash the system, generating a memory dump for analysis of the current state of the operating system. This can be accomplished by setting the REG_DWORD registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScroll to 1. Once set, the user can hold the RCtrl key and tap the Scroll Lock key twice to trigger a Blue Screen of Death.[8][9]

In Microsoft Visual Basic 5.0 and 6.0, Ctrl+Pause/Break pauses the running program in the integrated development environment, as does its alias Ctrl+Scroll Lock.

Copy and paste

In conjunction with the alternative DOS keyboard and console drivers FreeKEYB and K3PLUS, Scroll Lock also served as part of a copy & paste facility between applications. Compared to the standard keyboard driver KEYB these drivers offered several extensions including an extended keystroke buffer with key stacking facility, macro recorder, and a second cursor called CopyCursor, which could be invoked on demand (by default on pressing Ctrl+Alt+F11 or the middle mouse button) and freely moved on the screen using the cursor keys or the mouse, even outside the area reachable by the standard cursor in the running application. Once invoked, pressing F11 (or the left mouse button) the characters under the CopyCursor could be stuffed, one after another, into the keyboard buffer, from where they would be read by the running application as emulated key (or Alt Numpad) input, thereby typically showing up at the location of the standard cursor. The CopyCursor would move to the next screen position after each F11 (or backwards with each ⇧ Shift+F11). Normal keyboard input was still possible while the CopyCursor was enabled, and the user could switch between the two cursors by toggling the Ctrl+Alt+F11 hotkey again. Pressing Esc or ↵ Enter would exit the CopyCursor, so that, on its next invocation, it would show up at the position of the standard cursor again rather than at its previous location. If the screen contents were scrolled, the position of the CopyCursor would move accordingly until reaching the display limits. With Scroll Lock activated, keypresses would still reach the normal keystroke buffer, while CopyCursor input would be stacked up internally for later use in a second queue, dynamically maintained within the extended keystroke buffer. Thereby, it was possible to "collect" selected screen output from different programs and spool out the data much later while within yet another application by toggling Scroll Lock off again. It was also possible to use this as input into the macro recorder for later use as scrap macro. Since this was an integral part of these keyboard drivers, it was fully transparent to running software and therefore worked with virtually any DOS programs, including at the command prompt, temporary shelled programs, and task switchers.[10][11][12]

Other uses

IBM PC documentation called Scroll Lock an "inactive key". When PC Magazine asked an executive of keyboard manufacturer Key Tronic about the key's purpose in a 1983 interview, he replied "I don't know, but we put it on ours, too".[13]

The indicator light is sometimes used for other purposes such as a keyboard layout indicator[14][15] in some Linux distributions or other applications,[16] because doing so is less likely to cause problems than manipulating other keys/lights.

Keyboard, video, mouse switches (KVM) often use the Scroll Lock key on the keyboard connected to the KVM switch for selecting between computers. On KVM switches with On-screen display (OSD), a "double click" of the Scroll Lock key often brings up the OSD, allowing the user to select the desired computer from a list or access the configuration menu of the KVM. Some models, especially those which lack an OSD, switch to the input corresponding to the number key pressed after Scroll Lock, or in the case of some 2-port switches, the up and down arrow keys. Simple models with only two or four inputs may immediately switch to the next input following a double press of the Scroll Lock key.

Scroll Lock on keyboards without a Scroll Lock key

Some laptops and keyboards do not have a physical Scroll Lock key.[17] Some of these have a second function on another key that acts as if a Scroll Lock key was pressed. Some common methods are:

  • Fn+S or Fn+F6 on certain Dell laptops.[18]
  • Fn+C or Fn+K on certain Lenovo laptops.
  • Fn+C on certain HP laptops.
  • Fn+F11 on Windows.

Another way to press the Scroll Lock key is to use an on-screen keyboard. In Windows 8 and later versions, it can be found in the "Windows Ease of Access" program group. This will provide access to an emulation of a standard 101/102-key keyboard.[19]

See also

References

  1. 1 2 IBM: IBM PC User Manual. Page 5-20: "This key is interpreted by appropriate application programs as indicating that the use of the cursor-control keys should cause windowing over the text rather than cursor movement. Pressing the Scroll Lock key a second time reverses the action. The keyboard routine simply records the current shift state of the Scroll Lock key. It is the responsibility of the system or application program to perform the function."
  2. 1 2 IBM Personal Computer Technical Reference (Revised ed.). IBM Corporation. March 1983.
  3. "Toolbar". www.image-line.com. Retrieved 2023-09-08.
  4. "Accessibility limitations in Project". www.Microsoft.com.
  5. "Linux 5.9 Dropping Soft Scrollback Support From FB + VGA Console Code". www.phoronix.com. Retrieved 2022-12-22.
  6. 1 2 3 4 Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archived from the original on 2003-10-04. Retrieved 2009-03-29.
  7. CCI Multiuser DOS 7.22 GOLD Online Documentation. Concurrent Controls, Inc. (CCI). 1997-02-10. HELP.HLP.
  8. "Windows feature lets you generate a memory dump file using the keyboard". Microsoft Corporation. Retrieved 2011-09-25.
  9. "Sean Daily, Tricks & Traps: Daily Answers". November 2000.
  10. Frinke, Axel C.; Paul, Matthias R. (1995-05-10) [first published 1991], K3PLUS v6 - Der ultimative Ersatz für den DOS-Standard-Tastaturtreiber KEYB GR (User Manual) (in German) (r49-v6.21 ed.) (NB. K3PLUS was an extended keyboard driver for DOS widely distributed in Germany at its time, with adaptations to a handful of other European languages available. It did support a sub-set of the FreeKEYB features already. K3PLUS.DOC is part of the K3P621P2.ZIP distribution package.)
  11. Paul, Matthias R.; Frinke, Axel C. (1997-10-13) [first published 1991], FreeKEYB - Enhanced DOS keyboard and console driver (User Manual) (v6.5 ed.) (NB. FreeKEYB is a Unicode-based dynamically configurable successor of K3PLUS supporting most keyboard layouts, code pages, and country codes.)
  12. Paul, Matthias R.; Frinke, Axel C. (2006-01-16), FreeKEYB - Advanced international DOS keyboard and console driver (User Manual) (v7 preliminary ed.)
  13. Sandler, Corey (January 1983). "Key Tronic's Soft Touch". PC Magazine: 347. Retrieved 2013-10-21.
  14. 11.JPG (การใช้งาน Ubuntu | SAMUTSAKHON FOUNDATION)
  15. "Keyboard Layout Options, Keyboard Preferences". Desktop User Guide - GNOME Library.
  16. "Illuminated Keyboard Hack". Kipkay (via Instructables). 2008-05-30. Retrieved 2011-07-25. Using the Scroll Lock key for illuminating your keyboard
  17. "Keyboard — General Discussion". Logitech. 2008-08-28. Retrieved 2008-11-26. This keyboard does not have a Scroll Lock key
  18. "Dell Inspiron 17 specification" (PDF).
  19. "Use the On-Screen Keyboard (OSK) to type".
Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PrtScn/
SysRq
Scroll
Lock
Pause/
Break
Insert Home PgUp Num
Lock
Delete End PgDn 7 8 9 +
4 5 6
1 2 3 Enter
   0
   Ins
 . 
Del
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.