윈도우 11 숫자 키패드(NumPad) 작동 안됨 해결: NumLock 자동 초기화 PowerShell 스크립트

이 글의 목적은 Windows 10/11에서 숫자 키패드가 갑자기 입력되지 않거나 NumLock 상태가 부팅·로그인 때마다 풀리는 문제를 원인별로 진단하고, 로그인 시 NumLock을 자동으로 켜는 초기화 스크립트를 실무 수준으로 제공하는 것이다.

1. 증상 정의와 가장 흔한 원인

숫자 키패드가 동작하지 않는 문제는 “하드웨어 고장”처럼 보이지만, 실제로는 NumLock 상태, 원격 세션 입력 정책, 접근성 기능, 드라이버 훅, 전원관리, 레지스트리 초기값 등의 소프트웨어 요인이 대부분이다.

1-1. 대표 증상 패턴

증상 사용자 체감 가능성 높은 원인
NumPad 숫자가 아예 입력되지 않음 0~9, +, -, Enter 등이 무반응이다. NumLock OFF, 키보드 레이아웃/훅 프로그램, RDP/가상화 입력 설정이다.
숫자 대신 방향키/홈/엔드로 동작함 8=↑, 2=↓처럼 움직인다. NumLock OFF 또는 접근성의 마우스 키 기능 영향이다.
재부팅/로그인하면 NumLock이 매번 풀림 켜도 다음 로그인 때 다시 꺼져 있다. 레지스트리 초기값, 빠른 시작/하이브리드 부팅, 제조사 유틸/드라이버가 상태를 덮어쓴다.
특정 앱에서만 NumPad가 안 됨 게임/ERP/원격앱 등에서만 무반응이다. 앱 단축키 충돌, 관리자 권한 경계, 후킹(매크로/보안/입력기) 충돌이다.
주의 : NumLock 문제를 해결하려고 무작정 드라이버 제거·재설치를 반복하면 오히려 HID 장치가 중복 등록되거나 입력 지연이 커질 수 있다. 먼저 “상태(NumLock) 문제인지”, “입력 라우팅(원격/훅) 문제인지”를 분리 진단하는 것이 핵심이다.

2. 즉시 확인해야 하는 체크리스트

2-1. 물리 키보드/노트북 내장 키보드 확인

외장 키보드가 있다면 다른 PC에 연결해 동일 증상이 재현되는지 확인하는 것이 가장 빠르다. 노트북의 경우 제조사에 따라 NumLock이 단독 키가 아니라 Fn 조합키인 경우가 많다. 예를 들어 “Fn+NumLk” 또는 “Fn+F11” 같은 조합으로 NumLock이 바뀌는 구조가 존재하다.

2-2. Windows 접근성 기능(마우스 키) 확인

NumPad가 마우스 커서 이동처럼 동작하는 경우 “마우스 키(Mouse Keys)” 기능이 켜져 있을 가능성이 있다. 이 기능이 활성화되면 숫자 키패드가 숫자 입력보다 커서 제어 우선으로 동작할 수 있다. 설정에서 접근성 입력 옵션을 확인하고, 의도치 않게 켜졌다면 해제해야 한다.

2-3. 원격 데스크톱(RDP)·가상화 환경 확인

원격 데스크톱, VDI, 가상머신 콘솔에서는 NumLock 상태가 “로컬 PC”와 “원격 세션”에서 분리되거나, 세션 정책이 로컬 상태를 덮어쓸 수 있다. 로컬에서는 켜져 있는데 원격 창에서만 꺼져 보인다면, 스크립트로도 해결이 제한될 수 있으므로 세션 입력 옵션을 우선 점검해야 한다.

2-4. 빠른 시작(하이브리드 부팅) 영향 확인

빠른 시작이 켜져 있으면 종료 후 다음 부팅이 “완전 부팅”이 아니라 상태 복원 형태로 동작할 수 있다. 이때 키보드 상태가 기대와 다르게 유지되거나 초기화되는 사례가 있다. “재부팅”과 “종료 후 전원 켜기”에서 증상이 다르게 나타나는지 비교하면 원인 분리에 도움이 되다.

3. 근본 해결 전략: NumLock을 ‘로그인 시 자동으로 켜기’

사용자가 직접 NumLock을 눌러 켤 수는 있지만, 기업 PC나 현장 장비에서는 로그인 직후 숫자 입력이 바로 되어야 업무가 끊기지 않다. 따라서 “레지스트리 초기값 정리”와 “로그온 스크립트로 최종 강제”의 2단 구성이 가장 재현성이 높다.

3-1. 레지스트리 초기값 개념 정리

Windows는 로그인 화면(자격 증명 입력 단계)과 로그인 후 사용자 세션에서 각각 키보드 초기값을 참조할 수 있다. 이때 다음 경로의 값이 자주 사용되다.

대상 대표 경로 의미
로그인 화면/기본 프로파일 HKEY_USERS\.DEFAULT\Control Panel\Keyboard\InitialKeyboardIndicators 로그인 전 단계에서 기본 NumLock 상태에 영향을 주다.
현재 로그인 사용자 HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators 사용자 세션에서 초기 상태에 영향을 주다.
주의 : 레지스트리 값은 PC 제조사 유틸리티, 키보드 드라이버, 보안 입력기, 원격 솔루션이 로그인 시점에 다시 덮어쓸 수 있다. 따라서 레지스트리만 바꿔서 “항상 해결”을 기대하기보다, 로그온 시점에 재확정하는 스크립트를 함께 적용하는 접근이 안전하다.

4. NumLock 자동 초기화 스크립트(권장: PowerShell)

아래 스크립트는 로그인 화면 기본값(HKU\.DEFAULT)과 현재 사용자(HKCU)의 InitialKeyboardIndicators 값을 “NumLock ON” 상태로 설정하는 방식이다. 일반적으로 이 방식이 가장 단순하고 운영 환경에서 배포·관리하기 쉽다.

4-1. PowerShell 스크립트 파일 예시(NumLock_Init.ps1)

# NumLock_Init.ps1 # 목적: 로그인 시 NumLock이 풀리는 환경에서 초기값을 ON으로 맞추는 스크립트이다. # 적용 범위: 로그인 화면 기본값(HKU\.DEFAULT) + 현재 사용자(HKCU)이다.
$ErrorActionPreference = "Stop"

NumLock ON을 의미하는 값으로 흔히 사용되는 값 중 하나를 적용하다.
환경에 따라 "2" 또는 "2147483650" 등이 사용되며, 본 스크립트는 안정적으로 문자열 "2"를 우선 적용하다.
$targetValue = "2"

1) 로그인 화면(기본) 설정 변경
$defaultKeyPath = "Registry::HKEY_USERS.DEFAULT\Control Panel\Keyboard"
if (-not (Test-Path $defaultKeyPath)) {
New-Item -Path $defaultKeyPath -Force | Out-Null
}
Set-ItemProperty -Path $defaultKeyPath -Name "InitialKeyboardIndicators" -Value $targetValue -Type String

2) 현재 사용자 설정 변경
$currentUserKeyPath = "Registry::HKEY_CURRENT_USER\Control Panel\Keyboard"
if (-not (Test-Path $currentUserKeyPath)) {
New-Item -Path $currentUserKeyPath -Force | Out-Null
}
Set-ItemProperty -Path $currentUserKeyPath -Name "InitialKeyboardIndicators" -Value $targetValue -Type String

3) 결과 확인용 출력(필요 시 주석 처리하다)
Write-Output "HKU.DEFAULT InitialKeyboardIndicators = $((Get-ItemProperty -Path $defaultKeyPath -Name InitialKeyboardIndicators).InitialKeyboardIndicators)"
Write-Output "HKCU InitialKeyboardIndicators = $((Get-ItemProperty -Path $currentUserKeyPath -Name InitialKeyboardIndicators).InitialKeyboardIndicators)"

4-2. 실행 방법(단발 적용)

관리자 PowerShell에서 다음처럼 실행하면 즉시 적용되다. 조직 정책에 따라 스크립트 실행 정책이 제한될 수 있으므로, 운영 정책에 맞게 배포해야 한다.

# 현재 세션에서만 실행 정책 완화 후 실행하다. PowerShell -ExecutionPolicy Bypass -File "C:\Scripts\NumLock_Init.ps1"

4-3. 작업 스케줄러로 “로그온 시 자동 실행” 구성(권장)

레지스트리를 바꾸더라도 로그인 순간에 다른 프로그램이 다시 상태를 덮으면 문제가 재발하다. 따라서 “로그온 트리거 + 가장 높은 권한으로 실행” 작업을 만들어 스크립트를 강제하는 방식이 재현성이 높다.

항목 권장 설정 이유
트리거 사용자 로그온 시 NumLock 문제가 실제로 발생하는 시점이 로그온 전후인 경우가 많다.
동작 프로그램 시작: PowerShell.exe 배포가 쉽고 로그로 확인하기 좋다.
인수 -ExecutionPolicy Bypass -File "C:\Scripts\NumLock_Init.ps1" 실행 정책으로 인한 실패를 줄이다.
권한 가장 높은 권한으로 실행 HKU\.DEFAULT 수정이 필요한 경우 권한 문제를 줄이다.
주의 : 보안 정책이 강한 환경에서는 ExecutionPolicy Bypass 자체가 감사 대상이 될 수 있다. 이 경우 코드 서명, 허용된 배포 도구, 그룹 정책의 로그온 스크립트 체계를 사용해야 한다.

5. 대체 방법: .reg 파일로 초기값 고정

현장 장비에서 PowerShell 배포가 어렵다면 레지스트리 병합 방식이 더 간단할 수 있다. 다만 “덮어쓰는 프로그램”이 있는 환경에서는 재발 가능성이 있어, 가능하면 로그온 스크립트와 병행하는 것이 안정적이다.

5-1. REG 파일 예시(NumLock_On.reg)

Windows Registry Editor Version 5.00
[HKEY_USERS.DEFAULT\Control Panel\Keyboard]
"InitialKeyboardIndicators"="2"

[HKEY_CURRENT_USER\Control Panel\Keyboard]
"InitialKeyboardIndicators"="2"

5-2. 적용 시 운영 팁

다중 사용자 PC에서는 “현재 사용자(HKCU)”가 사용자마다 달라진다. 공용 PC라면 기본 프로파일과 로그온 스크립트를 통해 사용자별로 강제하는 방식이 운영 부담이 적다.

6. 스크립트로도 해결이 안 되는 경우의 원인별 조치

6-1. 키보드 드라이버·입력 훅(매크로/보안/오버레이) 충돌

키 입력을 가로채는 유틸리티가 있으면 NumPad만 예외적으로 차단되기도 하다. 게임 오버레이, 매크로, 보안 키보드, 원격 제어 에이전트가 대표적이다. “클린 부팅”에서 증상이 사라지면 소프트웨어 충돌 가능성이 높다.

6-2. 장치 관리자에서 HID 키보드 중복 등록

키보드를 여러 번 연결·제거한 환경에서는 HID 장치가 중복으로 남아 예외 동작을 유발하는 사례가 있다. 이때는 장치 관리자에서 숨김 장치 표시 후 불필요한 중복 장치를 정리하는 방식이 도움이 되다. 다만 무리한 제거는 키보드 입력 자체를 잃을 수 있으므로 신중해야 하다.

6-3. 원격 환경에서 NumLock 상태 동기화 문제

원격 데스크톱에서는 “원격 PC에 Windows 키 조합 적용” 같은 입력 정책이 NumLock과 함께 예상치 못한 동작을 만들 수 있다. 로컬에서 정상인데 원격에서만 문제라면, 스크립트는 원격 세션 내부에서 실행되어야 의미가 있다. 즉, 로컬 PC에만 적용하면 원격 세션의 상태는 바뀌지 않을 수 있다.

6-4. BIOS/UEFI의 NumLock on Boot 옵션

일부 PC는 BIOS/UEFI에 “Boot Up NumLock State” 또는 유사 옵션이 있다. 이 옵션이 꺼져 있으면 OS에서 켜더라도 다음 부팅 초기 상태가 다시 꺼질 수 있다. 다만 모든 장비에 존재하는 옵션이 아니며, 기업 환경에서는 BIOS 설정이 잠겨 있을 수 있다.

주의 : BIOS/UEFI 설정 변경은 장비 모델별로 메뉴가 다르고, 보안 설정과 연동될 수 있다. 현장 장비에서는 표준 작업 절차에 따라 변경 이력을 남기고, 가능한 한 동일 모델에 표준값을 유지해야 한다.

7. 현장 적용을 위한 “원인-처방” 요약표

우선순위 원인 범주 추천 처방 재발 방지
1 NumLock OFF 레지스트리 초기값 + 로그온 스크립트 적용하다. 작업 스케줄러 로그온 트리거로 고정하다.
2 접근성(마우스 키) 접근성 입력 옵션을 점검하고 불필요하면 해제하다. 표준 사용자 프로파일에 기본값을 반영하다.
3 원격/가상화 원격 세션 내부에서 스크립트를 실행하도록 구성하다. VDI 템플릿에 스크립트를 포함하다.
4 훅 프로그램 충돌 클린 부팅으로 확인 후 문제 프로그램을 제거/예외 설정하다. 표준 소프트웨어 목록을 관리하다.
5 펌웨어/부팅 옵션 BIOS/UEFI NumLock 옵션을 확인하고 필요 시 ON으로 두다. 장비별 표준 BIOS 설정을 문서화하다.

FAQ

스크립트를 적용했는데도 NumLock이 여전히 꺼져 있다. 무엇을 먼저 의심해야 하나?

로그온 직후 특정 프로그램이 레지스트리 값을 다시 덮어쓸 가능성이 크다. 작업 스케줄러에서 “지연 시간(예: 로그온 후 10~30초)”을 두고 한 번 더 실행되도록 구성하면 원인 분리에 도움이 되다. 또한 보안 키보드/원격 에이전트/매크로 프로그램의 입력 훅 여부를 점검해야 하다.

값을 "2"가 아니라 다른 값으로 넣어야 한다는 말도 있다. 어떤 값이 맞나?

환경에 따라 InitialKeyboardIndicators 값이 다르게 동작하는 사례가 있다. 일반적으로 NumLock ON 목적에서는 "2"가 널리 쓰이며, 일부 환경에서는 더 큰 숫자 형태가 관찰되기도 하다. 운영 관점에서는 “스크립트 적용 후 실제로 로그인 상태가 유지되는지”를 기준으로 검증하고, 문제가 지속되면 값 변경 테스트와 함께 덮어쓰기 프로그램 존재 여부를 확인하는 것이 합리적이다.

숫자 키패드가 특정 프로그램에서만 안 된다. OS 설정으로 해결 가능한가?

특정 프로그램에서만 발생하면 단축키 충돌 또는 권한 경계 문제일 가능성이 높다. 예를 들어 관리자 권한으로 실행 중인 앱에 일반 권한 입력 훅이 정상 전달되지 않는 경우가 있다. 해당 프로그램의 단축키 설정, 입력기/오버레이/보안 모듈을 점검하는 것이 우선이며, OS 레벨 NumLock 초기화만으로는 해결이 제한적이다.

노트북에서 NumPad가 아예 없다. 그래도 NumLock 초기화가 의미가 있나?

일부 노트북은 키보드 우측에 “내장 숫자 키패드 레이어”가 존재하고, 특정 키 조합으로 활성화되다. 이 경우 NumLock이 내부 레이어 동작과 연동되기도 하다. 실제로 숫자 입력 레이어를 쓰는 장비라면 초기화가 도움이 될 수 있다.