스크롤 락
1. 개요
스크롤 락(Scroll Lock)은 초기 개인용 컴퓨터 및 워크스테이션 자판에 포함되지 않다가 IBM PC 자판에 도입되면서 널리 사용되었다. 본래 방향키 기능 확장을 위해 도입되었으며, 켜짐/꺼짐 상태로 화면 스크롤 여부를 제어하는 토글 키 역할을 했다. 마우스 사용이 보편화되면서 필요성이 줄었지만, 일부 프로그램에서는 여전히 지원된다. 리눅스 콘솔에서는 화면 출력을 일시 중지하는 기능, 부팅 시 진단 모드 진입, 윈도우 시스템 충돌 유발 및 메모리 덤프 생성, 복사 및 붙여넣기 기능 등 다양한 용도로 사용된다. 스크롤 락 키가 없는 키보드에서는 다른 키의 조합이나 화면 키보드를 통해 해당 기능을 활성화할 수 있다.
| 명칭 | 스크롤 락 (Scroll Lock) |
|---|---|
| 설명 | 스크롤 락 (Scroll Lock) 키 |
| 용도 | 스크롤 락 기능 활성화/비활성화 |
| 초기 IBM PC | 원래는 화면 스크롤 방지 기능으로 사용됨 |
|---|---|
| 현대 | 현재는 사용 빈도가 낮음 |
| 스프레드시트 | 화살표 키로 전체 시트가 아닌 셀 이동 |
|---|---|
| 일부 콘솔 | 스크롤백 버퍼 탐색 |
| 원격 데스크톱 | 키보드의 스크롤 락 활성화/비활성화 |
| Ctrl + Scroll Lock | 일부 시스템에서 인터럽트 발생 또는 기능 활성화 |
|---|---|
| Ctrl + Pause/Break | 프로그램 중단 (과거 DOS 시스템) |
| Pause/Break | 시스템 일시 정지 |
| Ctrl + Num Lock | 일부 노트북에서 Num Lock 기능 활성화/비활성화 |
| Ctrl + Scroll Lock | 일부 시스템에서 Num Lock 기능 활성화/비활성화 |
2. 역사
스크롤 락은 초기에 개인용 컴퓨터나 워크스테이션용 자판에 대부분 포함되지 않았다. 그러다가 IBM PC용 자판에 포함되기 시작하면서 널리 보급되었다. 본래 스크롤 락은 방향키 기능의 확장을 위해 도입되었다. 스크롤 락이 켜진 상태에서 방향키를 누르면 커서를 움직이는 대신 화면을 스크롤할 수 있었다. 이는 Caps Lock 키처럼 켜짐/꺼짐 상태를 갖는 토글 방식의 보조 키 역할을 수행했다. 마우스 사용이 보편화되면서 화면 스크롤을 위한 스크롤 락의 필요성은 크게 줄어들었다.
3. 기능
3.1. 윈도우 스크롤링
초기 IBM PC 키보드에서 스크롤 락 키는 모든 스크롤 방식을 잠그는 기능을 수행했다. 원래 설계에서 스크롤 락은 화살표 키의 동작을 변경하기 위한 것이었다. 스크롤 락 모드가 켜져 있으면 화살표 키는 커서를 이동시키는 대신 텍스트 창의 내용을 스크롤했다.
오늘날 이러한 특정 용도의 스크롤 락은 드물지만, 마이크로소프트 엑셀(Microsoft Excel), 마이크로소프트 프로젝트(Microsoft Project), FL 스튜디오(Image-Line FL Studio), IBM 로터스 노츠(IBM Lotus Notes), 포르테 에이전트(Forté Agent), Renoise, 케이크워크 바이 밴드랩(Cakewalk by BandLab), LibreOffice Calc 등 일부 프로그램에서는 여전히 지원된다. 일부 텍스트 편집기(예: Notepad++, 마이크로소프트 비주얼 스튜디오(Microsoft Visual Studio))는 Ctrl 키를 누른 상태에서 화살표 키를 사용할 때 유사한 동작을 보인다.
대부분의 GUI 환경은 스크롤 바 또는 스크롤 휠과 같은 마우스를 사용한 스크롤을 지원하므로 스크롤 락을 무시한다.
3.2. 콘솔 스크롤링
리눅스 콘솔에서 텍스트가 화면을 통해 스크롤되는 동안 Scroll Lock 키를 누르면 콘솔 출력이 정지된다(입력은 정지되지 않음). 이 동안에는 화면으로 더 이상 텍스트가 전송되지 않지만, 프로그램은 평상시처럼 계속 실행된다. Scroll Lock 키를 다시 누르면 화면이 정지 해제되고 정지 중에 생성된 모든 텍스트가 한 번에 표시되며 프로그램은 정상적으로 계속 실행된다. 이를 통해 사용자는 화면 표시를 일시 중지하고, 시스템이 부팅될 때와 같이 너무 빠르게 화면을 스크롤하여 읽기 어려운 긴 로그 메시지를 읽을 수 있다(키보드 장치 드라이버가 이미 로드된 경우). 다른 방식으로 구성되지 않거나 원시 모드가 아닌 경우, 유닉스 계열 시스템에서는 Scroll Lock 대신 Ctrl+S (ASCII의 DC3) 및 Ctrl+Q (ASCII의 DC1)를 사용하여 tty 출력을 각각 정지 및 정지 해제할 수 있다.
이 동작은 컴퓨터 터미널 하드웨어의 Hold Screen 키 또는 유사한 흐름 제어 메커니즘을 에뮬레이션한다.
이 동작은 POST 또는 DOS에서 Pause 키를 눌렀을 때의 동작과 구별해야 한다. 이 경우 기본적으로 실행 중인 프로세스가 일시적으로 중지된다.
FreeBSD 시스템 콘솔에서 Scroll Lock 키는 출력을 일시 중지할 뿐만 아니라 스크롤도 활성화한다. Scroll Lock 키를 누른 후 Page Up 및 Page Down 키를 사용하여 위 또는 아래로 스크롤할 수 있다. Scroll Lock 키를 다시 누르면 이 모드가 비활성화되고 출력 하단으로 다시 이동한다. 리눅스 콘솔은 Scroll Lock 키를 활성화할 필요 없이 Shift+Page Up 및 Shift+Page Down 키를 사용하여 이 동작을 구현했었지만, 보안 취약점(CVE-2020-14390)으로 인해 제거되었다. NetBSD 콘솔은 Shift + Page Up/Page Down 키를 사용하거나 Scroll Lock를 누른 다음 Page Up/Page Down 키를 눌러 스크롤할 수 있다.
3.3. 부트 진단
멀티유저 DOS, 시스템 매니저, REAL/32에서 부팅 중에 스크롤 락을 활성화하면 특수 진단 모드로 진입하여 운영 체제 및 로드된 장치 드라이버에 대한 자세한 상태 및 디버깅 정보를 표시한다. 스크롤 락이 활성화되어 있는 동안 자동 스크롤은 일시 중지된다.
DR-DOS 7.02 이상 버전에서는 `SCROLLOCK=ON|OFF`라는 CONFIG.SYS 지시어를 통해 스크롤 락 상태를 즉시 변경할 수 있다. 부팅 중 스크롤 락을 활성화하면 DIAG 모드로 진입하며, 일부 특수 드라이버는 더 자세한 메시지를 표시할 수 있지만, 멀티유저 DOS 제품군과 달리 일반적인 DOS 드라이버는 일반적으로 추가 정보를 표시하지 않는다. 운영 체제는 스크롤 락이 활성화되어 있는 동안 CONFIG.SYS 추적(`TRACE=ON|OFF`) 및 F7/F8 단일 단계 모드에서 자동 시간 초과(`TIMEOUT=
3.4. 디버깅
마이크로소프트 윈도우 NT 제품군(Windows 2000부터 시작)에서는 레지스트리 키 설정을 통해 스크롤 락 키를 사용하여 시스템 충돌을 유발하고 메모리 덤프를 생성하는 디버깅 기능을 활성화할 수 있다. 이는 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\CrashOnCtrlScroll` 값을 `1`로 설정하여 수행할 수 있으며, 설정 후에는 오른쪽 Ctrl 키를 누른 상태에서 Scroll Lock 키를 두 번 눌러 블루 스크린을 발생시킬 수 있다.
마이크로소프트 비주얼 베이직 5.0 및 6.0에서는 Ctrl+Pause/Break 키와 Ctrl+Scroll Lock 키가 동일하게 실행 중인 프로그램을 일시 중지하는 기능을 수행한다.
3.5. 복사 및 붙여넣기
FreeKEYB 및 K3PLUS와 같은 대체 DOS 키보드 및 콘솔 드라이버와 함께 스크롤 락은 애플리케이션 간의 복사 및 붙여넣기 기능의 일부로도 사용된다. 이러한 드라이버는 KEYB와 비교하여 확장된 키 입력 버퍼(키 스태킹 기능 포함), 매크로 레코더, 그리고 필요에 따라 호출할 수 있는 두 번째 커서인 CopyCursor를 제공한다. CopyCursor는 기본적으로 또는 마우스 가운데 버튼을 누르면 호출되며, 실행 중인 애플리케이션의 표준 커서가 접근할 수 없는 영역 밖에서도 커서 키 또는 마우스를 사용하여 자유롭게 화면에서 이동할 수 있다.
CopyCursor를 호출한 후, (또는 마우스 왼쪽 버튼)을 눌러 CopyCursor 아래의 문자를 하나씩 키보드 버퍼에 채워 넣을 수 있으며, 여기서 실행 중인 애플리케이션에서 에뮬레이션된 키(또는 Alt 숫자패드) 입력으로 읽혀 일반적으로 표준 커서의 위치에 표시된다. CopyCursor는 각 후에 다음 화면 위치로 이동하며, 을 누를 때마다 뒤로 이동한다.
이 활성화된 상태에서 키 입력을 하면 일반 키 입력 버퍼에 도달하는 동시에 CopyCursor 입력은 확장된 키 입력 버퍼 내에서 동적으로 유지되는 두 번째 큐에서 나중에 사용할 수 있도록 내부적으로 스택된다. 따라서 을 다시 끄면 다른 애플리케이션 내에서 훨씬 나중에 다양한 프로그램에서 선택한 화면 출력을 "수집"하고 데이터를 스풀 아웃할 수 있다. 이것은 스크랩 매크로로 나중에 사용하기 위한 매크로 레코더에 입력으로 사용할 수도 있다.
4. 기타 용도
IBM PC 설명서에서는 키를 "비활성 키"라고 불렀다. 1983년 인터뷰에서 PC 매거진이 키보드 제조업체 키 트로닉의 임원에게 이 키의 용도를 묻자, 그는 "모르겠지만 우리도 이걸 키보드에 넣었어요."라고 대답했다.
일부 리눅스 배포판에서 스크롤 락 표시등은 키보드 레이아웃 표시기 또는 다른 응용 프로그램과 같은 다른 용도로도 사용된다.
키보드, 비디오, 마우스 스위치(KVM)는 종종 KVM 스위치에 연결된 키보드의 Scroll Lock 키를 사용하여 컴퓨터를 선택한다. 온 스크린 디스플레이(OSD)가 있는 KVM 스위치에서는 Scroll Lock 키를 "두 번 클릭"하면 OSD가 나타나 사용자가 원하는 컴퓨터를 선택하거나 KVM의 구성 메뉴에 접근할 수 있다. 일부 모델은 Scroll Lock을 누른 후 누른 숫자 키에 해당하는 입력을 전환하거나, 일부 2포트 스위치의 경우 위/아래 화살표 키를 사용한다. 입력이 두 개 또는 네 개뿐인 간단한 모델은 Scroll Lock 키를 두 번 누르면 즉시 다음 입력으로 전환될 수 있다.
5. 스크롤 락 키가 없는 키보드
노트북 및 물리적인 스크롤 락(Scroll Lock) 키가 없는 키보드는 스크롤 락 키가 활성화된 것처럼 작동하는 다른 키에 두 번째 기능이 있을 수 있다.
몇 가지 일반적인 방법은 다음과 같다.
* 특정 Dell 노트북에서 Fn/Fn영어+S/S영어 또는 Fn/Fn영어+F6/F6영어.
* 특정 Lenovo 노트북에서 Fn/Fn영어+C/C영어 또는 Fn/Fn영어+K/K영어.
* 특정 HP 노트북에서 Fn/Fn영어+C/C영어.
* Windows에서 Fn/Fn영어+F11/F11영어.
스크롤 락을 누르는 또 다른 방법은 화면 키보드를 사용하는 것이다. Windows 8 이상 버전에서는 "Windows 접근성" 프로그램 그룹에서 찾을 수 있다. 이를 통해 표준 101/102키 키보드의 에뮬레이션에 액세스할 수 있다.