[태그:] 키보드 응답 속도

  • MCU는 어떤 일을 할까? 키보드 입력을 처리하는 핵심 칩의 역할

    MCU는 어떤 일을 할까? 키보드 입력을 처리하는 핵심 칩의 역할

    LINK&TEM GUIDE

    MCU는 어떤 일을 할까?

    키 입력 감지부터 Keycode 처리와 USB 전송까지 키보드 컨트롤러의 역할

    📌 핵심 요약
    • MCU는 키보드 내부에서 펌웨어를 실행하는 작은 컴퓨터 역할을 합니다.
    • 키보드 매트릭스를 반복해서 스캔하며 어떤 스위치가 눌렸는지 확인합니다.
    • 감지한 위치를 Keycode로 변환하고 레이어, 매크로, 조합키 규칙을 처리합니다.
    • 처리가 끝난 입력은 USB 또는 무선 통신 규격에 맞는 리포트로 PC에 전달됩니다.
    • MCU의 성능뿐 아니라 GPIO 수, 플래시·RAM 용량, USB 지원 방식도 키보드 설계에 중요합니다.

    키보드에서 키를 누르면 스위치가 전기적으로 연결되고, 그 신호가 곧바로 문자로 바뀌어 PC에 전달된다고 생각하기 쉽습니다. 하지만 스위치는 자신이 어떤 글자인지 알지 못합니다. 스위치가 만들어내는 것은 특정 회로가 연결되었다는 단순한 전기적 변화뿐입니다.

    이 변화를 읽고, 어느 위치의 키가 눌렸는지 판단하고, 현재 레이어에서 어떤 기능을 실행해야 하는지 결정한 뒤, 컴퓨터가 이해할 수 있는 입력 데이터로 만들어 보내는 부품이 바로 MCU입니다.

    MCU는 Microcontroller Unit의 약자로, 프로세서와 메모리, 입출력 장치가 하나의 칩 안에 통합된 소형 제어 장치입니다. 키보드에서는 QMK와 같은 펌웨어를 실행하면서 매트릭스 스캔, 디바운스, Keycode 해석, LED 제어, USB 통신 등을 반복적으로 처리합니다.

    따라서 MCU를 이해하면 키보드 입력이 왜 단순한 스위치 연결만으로 끝나지 않는지, QMK 펌웨어가 어디에서 실행되는지, EEPROM과 플래시 메모리는 각각 무엇을 저장하는지, STM32와 RP2040 같은 칩의 차이가 실제 키보드에 어떤 영향을 주는지까지 하나의 흐름으로 이해할 수 있습니다.


    1. MCU는 키보드 안의 작은 컴퓨터다

    MCU를 가장 쉽게 설명하면 키보드 안에 들어 있는 작은 컴퓨터입니다. 일반적인 PC의 CPU처럼 명령어를 실행하지만, 문서 작성이나 영상 편집처럼 범용 작업을 수행하는 것이 아니라 키보드 제어에 필요한 작업을 빠르고 반복적으로 처리하도록 사용됩니다.

    MCU 내부에는 명령을 실행하는 CPU 코어, 펌웨어를 저장하는 플래시 메모리, 실행 중인 데이터를 보관하는 RAM, 외부 회로와 신호를 주고받는 GPIO, 시간을 측정하는 타이머, USB와 같은 통신 장치가 통합되어 있습니다.

    키보드 MCU에 들어 있는 대표 구성
    • CPU 코어 : 펌웨어의 명령어를 순서대로 실행
    • 플래시 메모리 : QMK 펌웨어와 기본 키맵을 저장
    • RAM : 현재 키 상태와 실행 중인 임시 데이터를 보관
    • GPIO : 키보드의 행과 열, LED, 로터리 엔코더 등을 연결
    • 타이머 : 스캔 주기, 디바운스, 탭·홀드 시간을 측정
    • 통신 장치 : USB, UART, SPI, I²C 등의 데이터 전송을 담당

    이 구성 요소들은 각각 따로 움직이는 것이 아니라 펌웨어의 지시에 따라 연결됩니다. 예를 들어 CPU 코어가 GPIO의 상태를 읽고, RAM에 저장된 이전 키 상태와 비교한 뒤, 새로운 입력이 발견되면 플래시에 저장된 키맵을 참고하여 어떤 Keycode를 처리할지 결정하는 방식입니다.

    일반적인 데스크톱 프로세서와 비교하면 MCU의 동작 속도와 메모리 용량은 작습니다. 하지만 키보드는 대규모 프로그램을 실행할 필요가 없기 때문에 중요한 것은 절대적인 연산 성능보다 입력을 일정한 주기로 안정적으로 처리하는 능력입니다.

    🔍 Link&Tem Insight

    MCU는 CPU만을 의미하지 않습니다. CPU 코어를 포함해 플래시, RAM, GPIO, 타이머, USB 컨트롤러 같은 주변 장치를 하나의 칩에 통합한 부품입니다. 키보드 PCB에서 MCU 하나가 여러 기능을 처리할 수 있는 이유도 이러한 통합 구조에 있습니다.

    2. 키보드가 켜지면 MCU에서 일어나는 일

    키보드를 USB 포트에 연결하거나 무선 키보드의 전원을 켜면 MCU는 저장된 펌웨어를 읽어 실행하기 시작합니다. 이 과정을 부팅 또는 초기화라고 부릅니다.

    초기화 단계에서는 MCU의 동작 클록을 설정하고, 키보드의 행과 열에 연결된 GPIO 방향을 지정하며, USB 통신 장치와 타이머를 준비합니다. EEPROM이나 별도의 비휘발성 저장 영역에 사용자 설정이 있다면 이 값도 불러옵니다.

    전원을 넣은 뒤의 기본 흐름
    1. MCU가 리셋 상태에서 시작합니다.
    2. 플래시 메모리에 저장된 펌웨어를 실행합니다.
    3. 클록, GPIO, 타이머와 통신 장치를 초기화합니다.
    4. 저장된 키맵 및 사용자 설정을 불러옵니다.
    5. USB 장치 정보를 PC에 전달하여 키보드로 인식시킵니다.
    6. 키보드 매트릭스 스캔을 반복하기 시작합니다.

    유선 USB 키보드라면 MCU는 자신이 어떤 종류의 장치인지 PC에 알려야 합니다. 이때 키보드는 일반적으로 USB HID 장치로 동작합니다. 운영체제가 장치를 정상적으로 인식하면 별도의 전용 드라이버를 설치하지 않아도 기본 키 입력을 받을 수 있습니다.

    초기화가 끝난 뒤에는 프로그램이 종료되지 않습니다. MCU는 전원이 꺼질 때까지 매트릭스를 읽고, 입력 변화를 확인하고, 필요한 기능을 실행하는 루프를 계속 반복합니다.

    💡 TIP

    키보드의 LED는 켜지지만 PC에서 입력 장치로 인식되지 않는다면 전원 공급은 되고 있어도 MCU의 펌웨어 실행, USB 데이터 연결, 부트로더 또는 USB 초기화 과정에 문제가 있을 수 있습니다. 이때는 케이블과 포트를 먼저 확인한 뒤 펌웨어 상태를 점검하는 것이 좋습니다.

    3. MCU는 키가 눌렸는지 어떻게 찾을까?

    대부분의 키보드는 모든 스위치를 MCU 핀에 하나씩 직접 연결하지 않습니다. 키가 많아질수록 필요한 배선과 GPIO 수가 지나치게 증가하기 때문입니다. 대신 스위치를 행과 열로 묶은 키보드 매트릭스 구조를 사용합니다.

    예를 들어 5개의 행과 15개의 열로 구성된 매트릭스라면 최대 75개 위치를 20개의 신호선으로 확인할 수 있습니다. MCU는 특정 행이나 열에 신호를 보낸 다음 반대쪽 선의 상태를 읽으며 어느 교차점이 연결되었는지 조사합니다.

    단계 MCU가 수행하는 작업
    1 하나의 행 또는 열을 활성화
    2 반대 방향의 입력 핀 상태를 읽음
    3 다음 행 또는 열로 이동
    4 전체 매트릭스의 현재 상태를 완성
    5 이전 상태와 비교해 눌림과 해제를 판별

    QMK 공식 문서에서는 매트릭스 스캔을 키보드 펌웨어의 핵심 기능으로 설명합니다. 실제로 MCU는 이 과정을 매우 짧은 간격으로 반복하면서 사용자가 키를 누르거나 떼는 순간을 찾아냅니다. :contentReference[oaicite:0]{index=0}

    매트릭스 스캔은 한 번만 실행되는 작업이 아닙니다. MCU는 전체 행과 열을 읽은 직후 다시 처음부터 스캔합니다. 이 반복 속도를 스캔 레이트라고 하며, 실제 입력 지연에는 스캔 주기뿐 아니라 디바운스 시간, 펌웨어 처리, USB 리포트 전송 주기도 함께 영향을 줍니다.

    🔍 Link&Tem Insight

    높은 클록 속도의 MCU를 사용한다고 키보드 지연 시간이 자동으로 크게 줄어드는 것은 아닙니다. 매트릭스 구조, 스캔 코드, 디바운스 알고리즘, USB 폴링 간격과 펌웨어 기능의 처리 방식이 함께 맞아야 안정적인 입력 성능을 얻을 수 있습니다.

    4. 스위치 신호가 바로 입력되지 않는 이유

    기계식 스위치의 금속 접점은 눌리는 순간 한 번만 깔끔하게 붙지 않을 수 있습니다. 접점이 매우 짧은 시간 동안 여러 번 붙었다 떨어지는 현상이 발생할 수 있으며, 이를 바운스라고 합니다.

    MCU가 모든 전기적 변화를 그대로 입력으로 처리하면 사용자는 키를 한 번 눌렀는데 같은 문자가 두 번 이상 입력될 수 있습니다. 이를 방지하기 위해 펌웨어는 일정한 기준에 따라 신호를 안정화하는 디바운스 처리를 수행합니다.

    디바운스는 단순히 일정 시간 동안 입력을 무시하는 방식으로만 동작하지 않습니다. 펌웨어에 따라 전체 매트릭스의 변화를 기준으로 판단하거나, 각 키의 상태를 개별적으로 추적하거나, 연속해서 동일한 상태가 확인되었을 때만 입력을 확정할 수 있습니다.

    MCU가 구분해야 하는 키 상태
    • 이전에도 눌려 있었고 지금도 눌려 있는 상태
    • 이전에는 없었지만 새롭게 눌린 상태
    • 이전에는 눌려 있었지만 지금은 해제된 상태
    • 접점 바운스로 인해 짧게 반복되는 불안정한 상태

    디바운스 시간을 지나치게 길게 설정하면 채터링은 줄어들 수 있지만 빠르게 같은 키를 연타할 때 반응이 둔해질 수 있습니다. 반대로 너무 짧게 설정하면 오래되었거나 접점 상태가 좋지 않은 스위치에서 중복 입력이 나타날 수 있습니다.

    💡 TIP

    특정 키에서만 중복 입력이 발생한다면 MCU 성능보다 해당 스위치의 접점 상태나 소켓 접촉 문제를 먼저 확인하는 것이 좋습니다. 여러 키에서 동시에 문제가 나타난다면 펌웨어의 디바운스 설정과 매트릭스 회로도 함께 점검해야 합니다.

    5. 위치 정보는 어떻게 Keycode로 바뀔까?

    MCU가 매트릭스에서 확인하는 것은 문자가 아니라 행과 열의 위치입니다. 예를 들어 특정 키를 눌렀을 때 MCU가 처음 얻는 정보는 “2번 행과 4번 열이 연결되었다”와 같은 좌표입니다.

    이 좌표를 실제 기능으로 바꾸는 기준이 키맵입니다. 펌웨어는 현재 활성화된 레이어의 키맵을 확인해 해당 위치에 지정된 Keycode를 찾습니다.

    같은 물리적 스위치라도 기본 레이어에서는 숫자 키로 작동하고, Fn 레이어에서는 기능키나 미디어 제어 키로 작동할 수 있습니다. MCU는 현재 레이어 상태, 눌린 수정키, 탭·홀드 조건 등을 함께 확인한 뒤 최종 동작을 결정합니다.

    처리 정보 의미
    행·열 좌표 실제로 눌린 스위치의 물리적 위치
    레이어 상태 현재 적용해야 할 키맵 선택
    Keycode 해당 위치에서 실행할 기능을 나타내는 내부 값
    키 이벤트 새로 눌렸는지 또는 해제되었는지 나타내는 변화

    QMK에서는 기본 키보드 입력뿐 아니라 레이어 전환, 매크로, 탭 댄스, 원샷 모디파이어와 같은 기능도 Keycode와 이벤트 처리 구조 안에서 실행됩니다. 사용자 정의 Keycode 역시 펌웨어가 정해진 범위의 값으로 구분하여 처리할 수 있습니다. :contentReference[oaicite:1]{index=1}

    🔍 Link&Tem Insight

    Keycode는 PC에 그대로 전송되는 문자 자체와 같지 않습니다. MCU 내부에서 기능을 구분하기 위한 값이며, 일부 Keycode는 키보드 안에서만 처리됩니다. 예를 들어 레이어 전환 Keycode는 PC로 전송되지 않고 MCU가 활성 레이어를 바꾸는 데 사용됩니다.

    6. MCU와 QMK Firmware는 어떤 관계일까?

    MCU가 키보드의 하드웨어라면 QMK Firmware는 그 하드웨어에서 실행되는 소프트웨어입니다. MCU만 PCB에 장착되어 있다고 해서 자동으로 키 입력을 처리하는 것은 아닙니다. 어떤 GPIO를 행과 열로 사용할지, 키맵을 어떻게 읽을지, USB 데이터를 어떤 형식으로 보낼지를 정의한 펌웨어가 필요합니다.

    QMK 공식 설명처럼 키보드 안의 프로세서는 버튼 입력을 감지하고 그 정보를 호스트 컴퓨터에 전달하는 소프트웨어를 실행합니다. 사용자가 QMK 키맵을 빌드한다는 것은 결국 특정 MCU가 실행할 프로그램을 만드는 과정입니다. :contentReference[oaicite:2]{index=2}

    하드웨어와 펌웨어의 역할 구분
    • MCU : 명령어를 실행하고 실제 전기 신호를 읽는 장치
    • QMK Firmware : 키 입력을 어떻게 처리할지 정의한 프로그램
    • 키맵 : 각 물리적 위치에 어떤 기능을 넣을지 정한 데이터
    • 부트로더 : 새로운 펌웨어를 MCU에 기록할 수 있게 해주는 프로그램

    QMK를 빌드하면 선택한 키보드와 MCU에 맞는 실행 파일이 만들어집니다. AVR 계열에서는 HEX 파일이 사용되는 경우가 많고, ARM 기반 MCU에서는 BIN이나 UF2 같은 형식이 사용될 수 있습니다. 생성된 파일을 부트로더를 통해 플래시에 기록하면 MCU가 다음 부팅부터 새로운 펌웨어를 실행합니다.

    잘못된 키맵을 작성하면 특정 키가 다른 기능으로 작동할 수 있고, 보드 설정이나 핀 정의가 잘못되면 매트릭스 자체를 읽지 못할 수도 있습니다. 따라서 펌웨어는 단순한 키 배치표가 아니라 MCU의 주변 장치와 키보드 회로를 제어하는 전체 프로그램에 가깝습니다.

    💡 TIP

    펌웨어를 직접 플래싱하기 전에는 키보드 모델과 리비전, MCU 종류, 부트로더 방식을 반드시 확인해야 합니다. 이름이 비슷한 다른 PCB용 파일을 기록하면 키 배열이나 USB 연결이 정상적으로 작동하지 않을 수 있습니다.
    Part 1 정리

    MCU는 키보드 매트릭스를 반복해서 스캔하고, 불안정한 스위치 신호를 정리한 뒤, 눌린 위치를 현재 레이어의 Keycode로 변환하는 핵심 제어 장치입니다. 이 모든 과정은 MCU에 저장된 QMK와 같은 펌웨어가 지시합니다. 다음 내용에서는 MCU가 처리한 Keycode를 USB 리포트로 전송하는 과정과 플래시·RAM·EEPROM의 차이, RGB와 무선 기능이 MCU 자원을 사용하는 방식, STM32와 RP2040을 선택할 때 확인해야 할 기준을 이어서 살펴봅니다.

    7. MCU가 USB HID Report를 만드는 과정

    키보드 매트릭스에서 눌린 스위치를 확인하고 해당 위치를 Keycode로 변환했다고 해서 입력 처리가 끝나는 것은 아닙니다. MCU는 이 정보를 컴퓨터가 이해할 수 있는 형식으로 다시 정리해야 합니다. USB 키보드에서는 일반적으로 이 데이터가 HID Report 형태로 전달됩니다.

    키 입력이 USB 데이터가 되는 흐름
    스위치 상태 확인 → 행과 열 좌표 판별 → Keycode 조회 → Modifier와 일반 키 구분 → HID Report 생성 → USB 엔드포인트를 통해 PC로 전송

    예를 들어 사용자가 Ctrl+C를 누르면 MCU는 Ctrl 키를 일반 문자 키와 똑같이 처리하지 않습니다. Ctrl, Shift, Alt, GUI와 같은 키는 Modifier 영역에 기록하고, C 키는 별도의 Keycode 영역에 기록합니다. 이렇게 만들어진 Report를 컴퓨터가 읽으면 운영체제는 두 키가 동시에 눌렸다고 해석합니다.

    Report 요소 담기는 정보 예시
    Modifier Ctrl, Shift, Alt, GUI 상태 왼쪽 Ctrl이 눌렸는지 표시
    일반 Keycode 문자, 숫자, 기능키 입력 A, Enter, F1 등
    상태 변화 키가 눌렸는지 해제됐는지 C 입력 후 빈 Report 전송

    키를 떼는 동작도 중요합니다. MCU가 키가 눌렸다는 Report만 보내고 해제됐다는 상태를 보내지 않으면 컴퓨터는 해당 키가 계속 눌린 것으로 판단할 수 있습니다. 따라서 MCU는 매 스캔 주기마다 현재 상태를 비교하고, 필요한 경우 새로운 Report를 만들어 전송합니다.

    핵심 포인트 Polling Rate는 컴퓨터가 키보드의 USB 데이터를 확인하는 빈도와 관련되고, Scan Rate는 MCU가 키 매트릭스를 검사하는 빈도와 관련됩니다. 두 값은 서로 연결되어 있지만 같은 개념은 아닙니다.

    8. Flash, RAM, EEPROM은 각각 무엇을 저장할까?

    MCU 내부에는 모든 데이터를 같은 방식으로 저장하는 하나의 공간만 있는 것이 아닙니다. 펌웨어 코드, 실행 중에 바뀌는 값, 전원이 꺼진 뒤에도 유지해야 하는 설정은 서로 다른 성격을 가지므로 각각 적합한 메모리 영역이 사용됩니다.

    메모리 주요 역할 전원 차단 후 유지 키보드에서의 예시
    Flash 펌웨어 프로그램과 고정 데이터 저장 유지됨 QMK 코드, 키맵, 기능 모듈
    RAM 실행 중 필요한 임시 상태 저장 유지되지 않음 현재 눌린 키, 매트릭스 상태, 타이머 값
    EEPROM 사용자가 변경한 설정 저장 유지됨 기본 레이어, RGB 설정, 일부 사용자 옵션

    Flash에는 MCU가 실행할 펌웨어가 기록됩니다. 키보드에 새로운 펌웨어를 플래싱한다는 것은 일반적으로 이 Flash 영역의 프로그램을 교체하는 작업입니다. 펌웨어 용량이 MCU의 Flash 크기를 넘으면 빌드가 실패하거나 일부 기능을 제외해야 합니다.

    RAM은 키보드가 작동하는 동안 계속 바뀌는 데이터를 처리합니다. 현재 활성화된 레이어, 눌린 키 목록, 디바운스 상태, RGB 애니메이션 계산값, USB 전송 버퍼 등이 RAM을 사용할 수 있습니다. 전원이 꺼지면 이 내용은 사라지며, 다음 부팅 때 다시 초기화됩니다.

    EEPROM은 사용자가 변경한 설정을 전원 차단 후에도 유지할 때 사용됩니다. 다만 모든 MCU가 별도의 물리 EEPROM을 내장하는 것은 아닙니다. 일부 MCU나 펌웨어 환경에서는 Flash의 일부 영역을 EEPROM처럼 사용하는 에뮬레이션 방식이 사용될 수 있습니다.

    TIP. 펌웨어 용량이 부족할 때 사용하지 않는 RGB 효과, 오디오 기능, 콘솔 출력, 마우스 키, OLED 기능 등을 비활성화하면 Flash와 RAM 사용량을 줄일 수 있습니다. MCU 성능이 충분해도 저장 공간이 작으면 원하는 기능을 모두 넣기 어려울 수 있습니다.

    9. RGB, OLED, Encoder도 MCU가 처리한다

    MCU의 역할은 키 입력 처리에만 한정되지 않습니다. 최근 커스텀 키보드에는 RGB LED, OLED 화면, 로터리 Encoder, 터치 센서, 무선 통신 모듈처럼 다양한 부품이 추가됩니다. 이 장치들은 대부분 MCU와 직접 또는 간접적으로 통신하며, 펌웨어는 정해진 주기마다 각 장치의 상태를 읽거나 데이터를 출력합니다.

    RGB LED
    색상과 밝기를 계산하고 LED 배열에 데이터를 전송합니다. 복잡한 애니메이션은 연산량과 메모리 사용량을 늘릴 수 있습니다.
    “`
    OLED
    레이어, Caps Lock, 로고, 애니메이션 등을 화면 버퍼에 구성한 뒤 I²C 또는 SPI 방식으로 디스플레이에 전달합니다.
    Rotary Encoder
    두 신호의 변화 순서를 읽어 회전 방향을 판별합니다. 이후 볼륨 조절이나 스크롤 같은 Keycode를 실행합니다.
    무선 통신
    Bluetooth 또는 2.4GHz 모듈과 통신하고 연결 상태, 절전, 배터리 관리, 입력 전송을 처리합니다.
    “`

    기능이 많아질수록 MCU가 해야 할 일도 증가합니다. 그러나 단순히 클럭 속도가 높은 MCU를 사용한다고 모든 문제가 해결되는 것은 아닙니다. 펌웨어의 작업 순서, 인터럽트 처리, 통신 방식, 메모리 관리가 비효율적이면 키 스캔이 지연되거나 RGB 애니메이션이 끊길 수 있습니다.

    성능보다 중요한 것은 작업 배분이다
    키 입력 스캔은 짧고 일정한 주기로 반복되어야 합니다. OLED 화면을 한 번 갱신하는 데 너무 긴 시간이 걸리거나, RGB 효과 계산이 메인 루프를 오래 점유하면 입력 응답에 영향을 줄 수 있습니다. 좋은 펌웨어는 부가 기능이 핵심 입력 처리를 방해하지 않도록 구성됩니다.

    10. STM32와 RP2040이 키보드에 많이 사용되는 이유

    커스텀 키보드에서 자주 볼 수 있는 MCU 계열로는 STM32와 RP2040이 있습니다. 두 계열 모두 다양한 기능을 구현할 수 있지만, 내부 구조와 개발 환경, USB 구성, 메모리 용량, 보드 설계 방식에는 차이가 있습니다.

    비교 항목 STM32 RP2040
    제품 구성 성능과 주변장치가 다른 다양한 모델 존재 대표 칩 중심으로 비교적 통일된 구성
    CPU 구조 모델에 따라 Cortex-M0, M3, M4 등 다양 듀얼 코어 Cortex-M0+
    프로그램 저장 대체로 내부 Flash 사용 외부 QSPI Flash 사용
    키보드 장점 선택지가 많고 제품별 최적화 가능 넉넉한 자원과 편리한 부트로더 환경
    주의점 정확한 모델에 따라 사양 차이가 큼 외부 Flash와 전원 회로를 함께 설계해야 함

    STM32는 하나의 MCU가 아니라 매우 넓은 제품군입니다. 따라서 STM32라는 이름만 보고 성능을 단정하기 어렵습니다. 정확한 모델명과 Flash, RAM, GPIO 수, USB 지원 여부를 함께 확인해야 합니다.

    RP2040은 비교적 넉넉한 SRAM과 듀얼 코어, 유연한 PIO 기능을 갖추고 있으며, 부트셀 버튼을 활용한 파일 복사 방식의 펌웨어 기록이 편리한 편입니다. QMK 기반 키보드에서도 RP2040을 사용하는 컨트롤러와 PCB가 점차 보편적으로 활용되고 있습니다.

    어느 쪽이 무조건 더 좋을까? MCU 이름만으로 키보드의 입력 지연이나 완성도를 판단하기는 어렵습니다. PCB 회로, USB 설정, 스캔 방식, 디바운스 알고리즘, 펌웨어 최적화가 함께 작동하기 때문입니다. 필요한 기능을 안정적으로 처리할 수 있는지가 더 중요합니다.

    11. 좋은 키보드 MCU를 판단하는 기준

    키보드에 적합한 MCU는 단순히 클럭 속도가 가장 높은 제품이 아닙니다. 키 매트릭스 크기와 필요한 부가 기능을 충분히 지원하면서도 펌웨어 생태계와 부품 수급, 전력 소비, PCB 설계 난이도가 균형을 이루어야 합니다.

    확인해야 할 항목
    “`
    ① GPIO 수 키 매트릭스의 행과 열, RGB, Encoder, OLED, 상태 LED 등을 연결할 핀이 충분해야 합니다.
    ② Flash와 RAM 용량 VIA, VIAL, RGB Matrix, OLED, 매크로처럼 기능이 많아질수록 더 많은 저장 공간과 실행 메모리가 필요합니다.
    ③ USB 지원 하드웨어 USB 기능과 펌웨어 지원이 안정적이어야 HID 장치로 원활하게 동작할 수 있습니다.
    ④ 펌웨어 호환성 QMK에서 해당 MCU와 보드를 얼마나 안정적으로 지원하는지, 참고할 수 있는 기존 설계가 충분한지도 중요합니다.
    ⑤ 전력 소비 유선 키보드보다 배터리를 사용하는 무선 키보드에서 특히 중요합니다. 절전 모드와 웨이크업 기능도 확인해야 합니다.
    “`
    결국 MCU는 키보드 전체의 조정자다
    MCU는 스위치 신호를 읽고, 디바운스를 적용하고, 레이어와 Keycode를 해석하고, USB Report를 만든 뒤 컴퓨터로 전달합니다. 동시에 RGB, OLED, Encoder, 저장 설정까지 관리합니다. 우리가 키 하나를 누르는 짧은 순간에도 MCU 내부에서는 여러 단계가 빠르게 반복됩니다.

    자주 묻는 질문

    MCU가 빠르면 키보드 입력도 무조건 빨라질까?
    그렇지는 않습니다. MCU 성능은 중요한 요소지만 매트릭스 스캔 주기, 디바운스 방식, USB Polling 설정, 펌웨어 구조도 함께 영향을 줍니다. 충분한 성능의 MCU에서는 펌웨어 최적화 차이가 더 크게 나타날 수 있습니다.
    “`
    MCU가 고장 나면 스위치만 교체해도 해결될까?
    MCU 자체나 주변 전원·USB 회로가 손상됐다면 스위치 교체만으로 해결되지 않습니다. 전체 키가 작동하지 않거나 USB 인식이 되지 않는다면 MCU, USB 커넥터, 전원 회로, 펌웨어 상태를 함께 확인해야 합니다.
    VIA에서 바꾼 키맵도 MCU에 저장될까?
    VIA를 지원하는 펌웨어에서는 변경된 키맵이나 설정이 MCU의 비휘발성 저장 영역에 기록될 수 있습니다. 구체적인 저장 방식과 범위는 보드의 MCU, QMK 설정, EEPROM 구현에 따라 달라질 수 있습니다.
    무선 키보드에도 MCU가 들어갈까?
    들어갑니다. 무선 키보드의 MCU 또는 무선 SoC는 키 스캔뿐 아니라 Bluetooth 연결, 배터리 상태, 절전 모드, 무선 패킷 전송까지 처리합니다. 제품에 따라 키보드 제어용 MCU와 무선 통신 칩이 분리되기도 합니다.
    키보드마다 펌웨어 파일이 다른 이유는 무엇일까?
    MCU 종류, 핀 연결, 매트릭스 배열, LED 구성, 부트로더, USB 설정이 보드마다 다르기 때문입니다. 외형이 비슷한 키보드라도 다른 보드용 펌웨어를 기록하면 정상 작동하지 않을 수 있습니다.
    “`

    함께 보면 좋은 글

    공식 자료

    Sources

    • QMK Firmware Documentation, Understanding QMK
    • QMK Firmware Documentation, How a Keyboard Matrix Works
    • QMK Firmware Documentation, Quantum Keycodes
    • Raspberry Pi Documentation, RP2040 Microcontroller
    • STMicroelectronics, STM32 32-bit Arm Cortex MCU Documentation
    • USB Implementers Forum, Human Interface Device Class Specifications
    LINK&TEM SUMMARY
    MCU는 키보드의 스위치 신호를 읽고 Keycode와 USB 데이터로 변환하며, 메모리와 RGB·OLED·Encoder 같은 부가 기능까지 통합 관리하는 핵심 제어 장치입니다.
  • Scan Rate와 Polling Rate 차이|키보드 입력 속도와 지연 구조 이해하기

    Scan Rate와 Polling Rate 차이|키보드 입력 속도와 지연 구조 이해하기

    LINK&TEM GUIDE

    Scan Rate와 Polling Rate 차이

    키보드가 입력을 찾는 속도와 PC에 전달하는 속도는 서로 다르다

    📌 핵심 요약
    • Scan Rate는 키보드 컨트롤러가 내부 키 매트릭스를 검사하는 빈도입니다.
    • Polling Rate는 PC가 USB 장치의 입력 보고를 확인하거나 전송받는 빈도입니다.
    • 두 수치는 모두 Hz로 표시되지만 측정하는 구간과 역할이 서로 다릅니다.
    • Polling Rate가 높아도 Scan Rate가 낮으면 키 입력을 발견하는 단계에서 지연이 발생할 수 있습니다.
    • 실제 입력 지연은 스캔, 디바운스, 펌웨어 처리, USB 전송, 운영체제 처리 과정이 합쳐져 결정됩니다.

    기계식 키보드의 성능을 비교하다 보면 1,000Hz Polling Rate, 4,000Hz Scan Rate, 8,000Hz 응답속도와 같은 표현을 자주 볼 수 있습니다. 숫자가 높을수록 빠르다는 점은 쉽게 이해할 수 있지만, Scan Rate와 Polling Rate가 정확히 무엇을 측정하는지는 혼동하기 쉽습니다.

    두 용어는 모두 키 입력 속도와 관련되어 있고 Hz 단위를 사용하지만 같은 의미가 아닙니다. Scan Rate는 키보드 내부에서 물리적인 스위치 상태를 얼마나 자주 확인하는지를 나타내고, Polling Rate는 키보드와 PC 사이에서 입력 데이터가 얼마나 자주 전달될 수 있는지를 나타냅니다.

    쉽게 말하면 키보드가 먼저 내부에서 “어떤 키가 눌렸는가”를 찾아야 하고, 그다음 발견한 입력을 PC에 알려야 합니다. 전자가 Scan Rate이고 후자가 Polling Rate입니다. 둘 중 하나만 빠르다고 해서 전체 입력 과정이 무조건 빨라지는 것은 아닙니다.


    1. 키를 누른 순간 바로 PC에 전달되는 것은 아니다

    사용자가 키보드의 스위치를 누르면 금속 접점이나 자기 센서의 상태가 변합니다. 하지만 PC가 그 변화를 즉시 직접 읽는 것은 아닙니다. 키보드 내부의 마이크로컨트롤러가 먼저 스위치 상태를 확인하고, 눌린 키를 판별한 뒤, 정해진 형식의 입력 보고서로 만들어 USB 또는 무선 인터페이스를 통해 PC에 전송합니다.

    일반적인 유선 키보드에서는 입력이 대략 다음 순서로 처리됩니다.

    키 입력이 전달되는 기본 흐름
    1. 사용자가 키 스위치를 누릅니다.
    2. 스위치 접점 또는 센서의 전기적 상태가 변합니다.
    3. 키보드 컨트롤러가 키 매트릭스나 센서를 스캔합니다.
    4. 디바운스와 입력 판정 과정을 거칩니다.
    5. 펌웨어가 눌린 키를 키코드로 변환합니다.
    6. USB HID 보고서에 현재 입력 상태를 기록합니다.
    7. PC가 정해진 USB 전송 주기에 맞춰 입력 데이터를 받습니다.
    8. 운영체제와 프로그램이 해당 키 입력을 처리합니다.

    이 과정에서 Scan Rate는 주로 3번 단계와 관계가 있고, Polling Rate는 6번과 7번 사이의 통신 주기와 관계가 있습니다. 따라서 두 수치를 동일한 속도 지표로 보면 실제 병목이 어디에서 발생하는지 알기 어렵습니다.

    💡 핵심 개념

    키보드가 입력을 먼저 발견해야 PC로 보낼 수 있습니다. Scan Rate는 입력을 발견하는 속도이고, Polling Rate는 발견한 입력을 전달할 수 있는 속도입니다.

    2. Scan Rate란 무엇인가?

    Scan Rate는 키보드의 마이크로컨트롤러가 스위치 상태를 검사하는 빈도를 의미합니다. 대부분의 키보드는 모든 스위치를 개별 핀에 직접 연결하지 않고, 행과 열로 구성된 키 매트릭스를 사용합니다. 컨트롤러는 특정 행에 신호를 보내고 열의 상태를 읽는 작업을 반복하면서 어느 위치의 키가 눌렸는지 확인합니다.

    예를 들어 Scan Rate가 1,000Hz라면 키보드가 내부 입력 상태를 초당 약 1,000회 검사한다는 뜻입니다. 한 번의 스캔 주기로 환산하면 약 1ms입니다. 4,000Hz라면 한 주기가 약 0.25ms이고, 8,000Hz라면 약 0.125ms입니다.

    Scan Rate 한 번의 스캔 주기 이론상 최대 대기 시간
    125Hz 8ms 약 8ms
    500Hz 2ms 약 2ms
    1,000Hz 1ms 약 1ms
    4,000Hz 0.25ms 약 0.25ms
    8,000Hz 0.125ms 약 0.125ms

    여기에서 말하는 최대 대기 시간은 키가 눌린 시점과 다음 스캔 시점이 얼마나 떨어져 있는지를 단순하게 계산한 값입니다. 키가 스캔 직전에 눌리면 거의 즉시 발견될 수 있지만, 스캔 직후에 눌리면 다음 스캔까지 한 주기 가까이 기다려야 합니다.

    따라서 1,000Hz Scan Rate에서 스캔 단계의 대기 시간은 항상 1ms가 아니라 약 0ms에서 1ms 사이에 분포합니다. 입력 시점이 무작위라고 가정하면 평균 대기 시간은 대략 스캔 주기의 절반인 0.5ms 정도로 볼 수 있습니다.

    Scan Rate가 담당하는 것
    • 행과 열로 구성된 키 매트릭스 검사
    • 각 스위치의 눌림과 해제 상태 확인
    • 새롭게 변한 키 상태 탐지
    • 아날로그 또는 자기축 키보드의 센서 값 샘플링
    • 다음 입력 판정 단계에 전달할 원시 데이터 생성

    기계식 접점식 키보드에서는 매트릭스를 얼마나 자주 검사하는지가 중요하고, 홀 이펙트와 같은 자기축 키보드에서는 센서 값을 얼마나 자주 읽는지도 중요합니다. 자기축 키보드는 단순한 눌림과 해제뿐 아니라 자석의 이동 거리를 측정해야 하므로 센서 샘플링, 필터링, 작동 지점 판정 과정까지 함께 고려해야 합니다.

    3. Scan Rate가 높으면 무엇이 달라질까?

    Scan Rate가 높아지면 키를 누른 뒤 컨트롤러가 그 변화를 발견하기까지의 대기 시간이 짧아집니다. 예를 들어 125Hz 스캔에서는 최악의 경우 다음 검사까지 약 8ms를 기다릴 수 있지만, 1,000Hz에서는 최대 약 1ms, 8,000Hz에서는 최대 약 0.125ms 수준으로 줄어듭니다.

    다만 Scan Rate가 높다고 해서 그 숫자만큼 실제 키보드의 전체 지연이 결정되는 것은 아닙니다. 키 상태를 발견한 뒤에도 디바운스, 키맵 처리, 레이어 판정, 매크로 처리, HID 보고서 생성, USB 전송과 같은 단계가 남아 있기 때문입니다.

    주의할 점

    제조사가 높은 Scan Rate를 표시하더라도 그 수치가 키보드의 전체 입력 지연을 의미하지는 않습니다. 내부 스캔 속도와 실제 PC에서 측정되는 End-to-End 지연은 별도로 봐야 합니다.

    또한 스캔 속도를 지나치게 높이면 마이크로컨트롤러의 처리 부하와 전력 소비가 증가할 수 있습니다. 유선 키보드에서는 전력 문제가 크게 드러나지 않을 수 있지만, 배터리를 사용하는 무선 키보드에서는 높은 스캔 빈도가 사용 시간에 영향을 줄 수 있습니다.

    펌웨어 설계도 중요합니다. 컨트롤러가 빠르게 스캔하더라도 매 스캔마다 무거운 RGB 효과, 복잡한 매크로 처리, 통신 작업을 함께 수행하면 일정한 주기를 유지하지 못할 수 있습니다. 표시된 최대 Scan Rate보다 실제 스캔 간격의 안정성이 더 중요한 이유입니다.

    4. Polling Rate란 무엇인가?

    Polling Rate는 키보드와 PC 사이에서 입력 보고가 처리되는 빈도를 의미합니다. USB 키보드에서는 일반적으로 HID 인터럽트 전송의 폴링 간격과 연결해 설명합니다. PC의 USB 호스트가 정해진 간격마다 키보드의 입력 엔드포인트를 확인하고, 준비된 데이터가 있으면 이를 받아가는 구조입니다.

    Polling Rate가 1,000Hz라면 약 1ms마다 입력 보고를 처리할 기회가 생깁니다. 2,000Hz는 약 0.5ms, 4,000Hz는 약 0.25ms, 8,000Hz는 약 0.125ms 간격입니다.

    Polling Rate 보고 간격 초당 전송 기회
    125Hz 8ms 약 125회
    500Hz 2ms 약 500회
    1,000Hz 1ms 약 1,000회
    4,000Hz 0.25ms 약 4,000회
    8,000Hz 0.125ms 약 8,000회

    여기에서 중요한 점은 Polling Rate가 키보드 스위치를 직접 검사하는 속도가 아니라는 것입니다. 키보드 내부에서 아직 입력을 발견하지 못했다면 PC가 아무리 자주 데이터를 확인해도 새로운 입력 보고서는 준비되지 않습니다.

    반대로 키보드가 빠르게 입력을 발견했더라도 USB 보고 주기가 느리면 다음 전송 기회까지 기다려야 합니다. 따라서 Scan Rate와 Polling Rate는 입력 경로의 서로 다른 구간을 담당하면서 전체 지연에 각각 영향을 줍니다.

    💡 비유로 이해하기

    Scan Rate는 창고 직원이 새 택배가 들어왔는지 확인하는 빈도이고, Polling Rate는 배송 차량이 창고에 도착하는 빈도와 비슷합니다. 직원이 택배를 늦게 발견해도 배송이 늦어지고, 택배를 빨리 발견했지만 차량이 늦게 와도 배송이 늦어집니다.

    5. Scan Rate와 Polling Rate의 핵심 차이

    두 수치의 가장 큰 차이는 측정하는 위치입니다. Scan Rate는 키보드 내부 회로와 펌웨어에서 발생하는 검사 주기이고, Polling Rate는 키보드와 PC 사이의 통신 주기입니다.

    구분 Scan Rate Polling Rate
    측정 구간 스위치·센서 → 컨트롤러 키보드 → PC
    주요 역할 키 상태 변화 탐지 입력 보고서 전달
    표시 단위 Hz Hz
    영향 요소 매트릭스, MCU, 펌웨어 USB 규격, HID 설정, 펌웨어
    높을 때의 효과 입력 발견 대기 시간 감소 전송 대기 시간 감소

    예를 들어 Scan Rate가 1,000Hz이고 Polling Rate도 1,000Hz인 키보드를 생각해볼 수 있습니다. 키가 스캔 직후에 눌리면 다음 스캔까지 최대 약 1ms를 기다리고, 입력 보고서가 USB 전송 직후에 준비되면 다음 폴링까지 다시 최대 약 1ms를 기다릴 수 있습니다.

    단순히 두 최댓값을 더하면 스캔과 USB 보고 단계에서만 최대 약 2ms의 대기 가능성이 생깁니다. 여기에 디바운스와 펌웨어 처리 시간이 추가되므로 실제 전체 지연은 Polling Rate의 역수 하나만으로 계산할 수 없습니다.

    반대로 Scan Rate가 8,000Hz인데 Polling Rate가 1,000Hz라면 입력은 내부에서 매우 빠르게 발견할 수 있지만 PC로 전달되는 기회는 약 1ms 간격입니다. Scan Rate가 1,000Hz인데 Polling Rate만 8,000Hz라면 PC는 자주 확인하지만 새로운 키 상태를 발견하는 주기는 약 1ms입니다.

    대표적인 조합 해석
    • 낮은 Scan Rate + 높은 Polling Rate: PC 통신은 빠르지만 키 입력 발견 단계가 병목이 될 수 있습니다.
    • 높은 Scan Rate + 낮은 Polling Rate: 입력은 빨리 찾지만 전송 기회를 기다릴 수 있습니다.
    • 둘 다 높은 경우: 스캔과 전송 대기 시간은 줄지만 다른 처리 단계가 병목이 될 수 있습니다.
    • 둘 다 안정적인 경우: 최대 수치보다 실제 입력 간격의 일관성이 좋아질 수 있습니다.

    6. 같은 1,000Hz라도 체감이 다른 이유

    두 키보드가 모두 1,000Hz Polling Rate를 지원하더라도 실제 입력 지연과 체감은 다를 수 있습니다. Polling Rate는 전체 처리 과정 중 마지막 통신 구간에 가까운 한 요소일 뿐이기 때문입니다.

    첫 번째 차이는 Scan Rate입니다. 한 키보드는 내부 매트릭스를 1,000Hz로 스캔하고 다른 키보드는 4,000Hz로 스캔할 수 있습니다. USB 보고 속도는 같더라도 입력 변화를 발견하는 평균 시간에는 차이가 생길 수 있습니다.

    두 번째 차이는 디바운스입니다. 접점식 기계식 스위치는 눌리거나 떼는 순간 신호가 여러 번 튀는 바운스 현상이 발생할 수 있습니다. 펌웨어는 이를 한 번의 정상적인 입력으로 판별하기 위해 일정 시간이나 알고리즘을 사용합니다. 이 디바운스 설정이 길면 높은 Scan Rate와 Polling Rate의 장점이 일부 줄어들 수 있습니다.

    세 번째 차이는 펌웨어 구조입니다. 스캔 루프가 효율적으로 설계되어 있는지, USB 보고서를 언제 갱신하는지, RGB와 매크로 처리 작업이 입력 처리를 방해하지 않는지에 따라 실제 지연이 달라질 수 있습니다.

    네 번째 차이는 키보드의 작동 방식입니다. 접점식 스위치는 접점이 실제로 닫히는 시점이 필요하지만, 홀 이펙트 방식은 자석의 이동 거리를 연속적으로 측정하고 설정된 작동 지점을 넘는 순간 입력을 판정할 수 있습니다. 따라서 같은 Polling Rate를 지원하더라도 스위치 구조와 작동 지점 설정에 따라 전체 반응 시간이 달라질 수 있습니다.

    숫자만 비교하면 안 되는 이유

    1,000Hz는 이론적으로 약 1ms의 USB 보고 간격을 의미할 뿐입니다. 제품 전체의 입력 지연이 정확히 1ms라는 뜻은 아니며, 키를 누른 순간부터 화면에 반영되기까지는 여러 단계가 추가됩니다.
    Part 1 정리

    Scan Rate는 키보드가 내부의 스위치와 센서를 검사하는 속도이고, Polling Rate는 판별된 입력을 PC에 전달할 수 있는 속도입니다. 두 수치가 모두 높을수록 각 구간의 대기 시간은 줄어들 수 있지만, 실제 입력 지연은 디바운스와 펌웨어 처리까지 함께 확인해야 합니다. 다음 내용에서는 전체 지연 계산, 1,000Hz와 8,000Hz의 실질적인 차이, 무선 키보드에서의 의미와 제품 사양을 올바르게 읽는 방법을 이어서 살펴보겠습니다.

    7. 전체 입력 지연은 어떻게 계산될까?

    키보드 입력 지연을 이해할 때 가장 흔한 실수는 Polling Rate만으로 전체 응답속도를 계산하는 것입니다. 1,000Hz Polling Rate의 전송 간격이 1ms라고 해서 키보드의 입력 지연이 항상 1ms인 것은 아닙니다. 실제 입력은 스위치가 움직이는 순간부터 시작해 내부 스캔, 입력 안정화, 펌웨어 처리, USB 보고, 운영체제 처리 단계를 차례로 통과합니다.

    이를 단순화하면 키보드 내부의 입력 지연은 다음 요소들의 합으로 생각할 수 있습니다.

    키보드 입력 지연을 구성하는 주요 요소
    1. 스위치 작동 시간: 키캡을 누른 뒤 접점 또는 센서가 작동 지점에 도달하는 시간
    2. 스캔 대기 시간: 키가 눌린 뒤 다음 매트릭스 스캔이 실행될 때까지의 시간
    3. 디바운스 시간: 접점의 불안정한 신호를 정상적인 한 번의 입력으로 판별하는 시간
    4. 펌웨어 처리 시간: 키맵, 레이어, 탭홀드, 매크로 등을 처리하는 시간
    5. USB 보고 대기 시간: 완성된 HID 보고서가 다음 전송 주기를 기다리는 시간
    6. PC 처리 시간: 운영체제, 게임 엔진, 디스플레이가 입력을 반영하는 시간

    예를 들어 1,000Hz Scan Rate와 1,000Hz Polling Rate를 사용하는 키보드가 있다고 가정해보겠습니다. 키가 스캔 직후에 눌리면 다음 스캔까지 약 1ms 가까이 기다릴 수 있고, HID 보고서가 전송 직후에 완성되면 다시 다음 USB 전송까지 약 1ms 가까이 기다릴 수 있습니다.

    여기에 5ms의 고정 디바운스가 적용되어 있다면 스캔과 전송 속도가 아무리 빨라도 디바운스 단계에서 더 긴 시간이 사용될 수 있습니다. 따라서 높은 Scan Rate와 Polling Rate를 실제 성능으로 연결하려면 디바운스 알고리즘과 펌웨어 처리 구조도 함께 최적화되어야 합니다.

    💡 평균 지연과 최대 지연은 다릅니다

    1ms 주기의 스캔이나 폴링은 항상 1ms를 기다린다는 뜻이 아닙니다. 입력 시점에 따라 거의 즉시 처리될 수도 있고, 한 주기 가까이 기다릴 수도 있습니다. 무작위 입력을 가정하면 각 주기에서 발생하는 평균 대기 시간은 대략 주기의 절반입니다.

    8. 1,000Hz와 8,000Hz는 얼마나 차이 날까?

    1,000Hz의 한 주기는 1ms이고 8,000Hz의 한 주기는 0.125ms입니다. 숫자만 보면 8배 차이지만, 두 설정 사이에서 줄어드는 최대 전송 대기 시간은 약 0.875ms입니다. 평균 대기 시간으로 보면 약 0.5ms에서 약 0.0625ms로 감소하므로 차이는 약 0.4375ms입니다.

    구분 1,000Hz 8,000Hz
    한 주기 1ms 0.125ms
    이론상 최대 대기 약 1ms 약 0.125ms
    이론상 평균 대기 약 0.5ms 약 0.0625ms
    초당 처리 기회 약 1,000회 약 8,000회

    이 차이는 측정 장비에서는 확인할 수 있지만 모든 사용자가 타이핑만으로 명확하게 구분하기는 어렵습니다. 일반 문서 작업에서는 스위치를 누르는 물리적 시간, 손가락 움직임, 운영체제 처리와 화면 주사율이 더 큰 영향을 줄 수 있습니다.

    반면 고주사율 모니터를 사용하는 리듬 게임, 경쟁형 FPS, 짧은 작동 지점을 사용하는 자기축 키보드 환경에서는 작은 지연 차이가 누적되어 의미를 가질 수 있습니다. 특히 입력 시점의 변동 폭이 줄어들면 평균 지연뿐 아니라 입력 타이밍의 일관성도 좋아질 수 있습니다.

    다만 8,000Hz라는 숫자가 제품의 모든 입력 과정이 0.125ms 안에 끝난다는 뜻은 아닙니다. USB 보고 간격이나 내부 스캔 간격 중 하나가 0.125ms라는 의미일 수 있으므로 제조사가 어느 구간의 수치를 표시했는지 확인해야 합니다.

    고주사율이 항상 8배 빠른 것은 아닙니다

    8,000Hz는 1,000Hz보다 초당 처리 기회가 8배 많지만, 전체 입력 지연이 8분의 1로 줄어드는 것은 아닙니다. 스위치, 디바운스, 펌웨어, 운영체제와 디스플레이 지연은 별도로 남아 있습니다.

    9. Scan Rate가 Polling Rate보다 높아야 할까?

    일반적으로 내부 Scan Rate가 외부 Polling Rate와 같거나 더 높은 구성이 유리합니다. 키보드는 USB 보고 주기가 돌아오기 전에 새로운 키 상태를 발견하고 보고서를 준비해야 하기 때문입니다.

    예를 들어 Polling Rate가 1,000Hz인데 Scan Rate가 125Hz라면 PC는 약 1ms마다 입력을 확인하지만 키보드는 내부 상태를 약 8ms마다 한 번씩만 검사합니다. 이 경우 빠른 USB 통신보다 느린 내부 스캔이 명확한 병목이 됩니다.

    반대로 Scan Rate가 8,000Hz이고 Polling Rate가 1,000Hz라면 입력을 빠르게 발견하고 여러 번 내부 상태를 갱신할 수 있습니다. 다만 PC로 새로운 보고서를 전달하는 기회는 약 1ms마다 한 번이므로 최종 전송 단계에는 1,000Hz의 한계가 남습니다.

    구성 해석 가능한 병목
    125Hz Scan
    1,000Hz Polling
    PC는 자주 확인하지만 키 상태 발견이 느림 내부 스캔
    1,000Hz Scan
    1,000Hz Polling
    스캔과 전송 주기가 균형적인 구성 디바운스·펌웨어
    8,000Hz Scan
    1,000Hz Polling
    입력 탐지는 빠르지만 전송은 1ms 단위 USB 보고 주기
    8,000Hz Scan
    8,000Hz Polling
    두 단계의 대기 시간을 모두 줄인 구성 스위치·펌웨어·PC

    그렇다고 Scan Rate를 무조건 Polling Rate의 여러 배로 높여야 하는 것은 아닙니다. 컨트롤러 성능이 충분하지 않은 상태에서 지나치게 빠른 스캔을 설정하면 RGB 효과, 무선 처리, 매크로 기능과 자원을 경쟁할 수 있습니다. 중요한 것은 표시된 최대 수치보다 실제 펌웨어가 일정한 주기로 입력을 처리하는지입니다.

    10. 디바운스가 빠른 스캔을 가릴 수 있다

    접점식 기계식 스위치는 금속 접점이 닿는 순간 신호가 한 번에 안정적으로 바뀌지 않을 수 있습니다. 아주 짧은 시간 동안 연결과 해제가 반복되어 컨트롤러에는 여러 번 눌린 것처럼 보일 수 있는데, 이를 바운스 현상이라고 합니다.

    키보드 펌웨어는 잘못된 중복 입력을 막기 위해 디바운스 과정을 수행합니다. 전통적인 방식은 상태 변화가 감지된 뒤 일정 시간을 기다리고, 신호가 유지되면 정상 입력으로 확정하는 것입니다. 설정된 시간이 5ms라면 Scan Rate가 8,000Hz여도 입력 확정에는 그보다 긴 시간이 필요할 수 있습니다.

    현대 키보드 펌웨어는 무조건 고정 시간을 기다리는 방식뿐 아니라 여러 번의 스캔 결과를 비교하거나, 눌림과 해제에 서로 다른 조건을 적용하거나, 빠른 입력과 채터링을 구분하는 알고리즘을 사용하기도 합니다. 따라서 단순히 “디바운스 0ms”라는 문구보다 실제로 중복 입력 없이 안정적으로 작동하는지를 확인하는 것이 중요합니다.

    빠른 입력과 안정성의 균형
    • 디바운스가 너무 길면 정상 입력 확정이 늦어질 수 있습니다.
    • 디바운스가 너무 짧으면 한 번 누른 키가 여러 번 입력되는 채터링이 생길 수 있습니다.
    • 스위치 상태와 사용 기간에 따라 필요한 안정화 시간이 달라질 수 있습니다.
    • 좋은 펌웨어는 지연을 줄이면서도 잘못된 중복 입력을 방지해야 합니다.

    11. 자기축 키보드에서는 의미가 달라질까?

    홀 이펙트 센서를 사용하는 자기축 키보드는 금속 접점의 닫힘 여부가 아니라 자석의 위치 변화를 측정합니다. 컨트롤러는 센서에서 읽은 값을 기준으로 키가 얼마나 눌렸는지 계산하고, 사용자가 지정한 작동 지점을 넘으면 입력을 발생시킵니다.

    이 구조에서는 전통적인 접점 바운스가 없기 때문에 기계식 접점식 스위치와 동일한 디바운스 과정이 필요하지 않을 수 있습니다. 대신 센서 샘플링, 노이즈 필터링, 기준점 보정, 이동 거리 계산과 작동 지점 판정이 중요해집니다.

    자기축 키보드에서 높은 Scan Rate가 강조되는 이유도 여기에 있습니다. 센서 위치를 더 자주 읽으면 작동 지점이나 래피드 트리거 기준을 통과한 순간을 더 빠르게 발견할 가능성이 높아집니다. 하지만 센서 값을 자주 읽는 것과 정확하게 판별하는 것은 별개의 문제입니다.

    센서 노이즈가 큰 상태에서 필터링을 지나치게 줄이면 키가 미세하게 떨리거나 의도하지 않은 입력이 발생할 수 있습니다. 반대로 안정성을 위해 필터링을 강하게 적용하면 높은 샘플링 속도의 장점이 줄어들 수 있습니다. 자기축 키보드 역시 Scan Rate 숫자 하나보다 센서 정확도와 펌웨어 알고리즘을 함께 봐야 합니다.

    12. 무선 키보드에서도 같은 의미일까?

    무선 키보드에서도 내부 Scan Rate는 존재하지만, PC로 전달되는 구간은 유선 USB와 다를 수 있습니다. 2.4GHz 전용 수신기, Bluetooth HID, 절전 모드와 무선 패킷 전송 주기가 추가되기 때문입니다.

    2.4GHz 게이밍 키보드는 전용 수신기와 제조사 프로토콜을 사용해 1,000Hz 이상의 보고율을 지원하는 경우가 있습니다. 하지만 무선 간섭, 패킷 재전송, 수신기 위치, 배터리 절약 정책에 따라 실제 지연과 안정성이 달라질 수 있습니다.

    Bluetooth 키보드는 호환성과 배터리 효율을 중요하게 설계하는 경우가 많습니다. 키보드가 절전 상태에 들어갔다가 깨어나는 시간, 연결 간격, 운영체제의 Bluetooth 처리 구조가 추가되므로 유선 USB의 Polling Rate 개념을 그대로 적용하기 어렵습니다.

    연결 방식 특징 확인할 요소
    유선 USB 일정한 전송 주기와 안정적인 전원 공급 USB 보고율, 펌웨어 지연
    2.4GHz 낮은 지연을 목표로 한 전용 무선 연결 수신기, 간섭, 실제 보고율
    Bluetooth 호환성과 전력 효율 중심 연결 간격, 절전 복귀, OS 환경
    무선 모드별 수치를 따로 확인하세요

    하나의 키보드가 유선에서는 8,000Hz, 2.4GHz에서는 1,000Hz, Bluetooth에서는 더 낮은 전송 빈도로 동작할 수 있습니다. 제품 페이지에 적힌 최고 수치가 모든 연결 모드에 적용된다고 단정하면 안 됩니다.

    13. 제조사 사양표를 읽는 방법

    키보드 제품 페이지에 “8K 응답속도” 또는 “8,000Hz 초고속 스캔”이라는 표현만 적혀 있다면 정확히 어느 구간을 의미하는지 확인해야 합니다. Scan Rate와 Polling Rate는 서로 다른 수치인데도 마케팅 문구에서는 명확하게 구분되지 않는 경우가 있기 때문입니다.

    먼저 8,000Hz가 내부 매트릭스 스캔 속도인지, 센서 샘플링 속도인지, USB 보고율인지 확인합니다. 센서 샘플링은 아날로그 값을 읽는 횟수이고, 매트릭스 Scan Rate는 모든 키의 상태를 검사하는 빈도이며, Polling Rate는 PC와 통신하는 빈도입니다.

    두 번째로 유선과 무선 모드별 사양이 구분되어 있는지 확인합니다. 세 번째로 디바운스 또는 입력 처리 지연에 대한 설명이 있는지 살펴봅니다. 네 번째로 “최대”라는 표현이 붙어 있다면 해당 모드가 기본 설정인지, 전용 소프트웨어에서 활성화해야 하는지도 확인해야 합니다.

    제품 사양 확인 체크리스트
    • 표시된 Hz가 Scan Rate인지 Polling Rate인지 확인합니다.
    • 센서 샘플링 속도와 전체 매트릭스 스캔 속도를 구분합니다.
    • 유선, 2.4GHz, Bluetooth 모드의 수치를 각각 확인합니다.
    • 전용 드라이버에서 고성능 모드를 켜야 하는지 확인합니다.
    • 고주사율 사용 시 CPU 점유율이나 배터리 소모 변화가 있는지 확인합니다.
    • 독립적인 입력 지연 측정 결과가 있는지 살펴봅니다.
    • 평균 지연뿐 아니라 측정값의 편차도 확인합니다.

    특히 “응답속도 0.125ms”라는 표현은 주의해서 해석해야 합니다. 8,000Hz의 한 주기가 0.125ms이므로 이를 그대로 응답속도로 표시하는 경우가 있지만, 이것은 해당 처리 주기의 길이일 뿐 키를 누른 뒤 PC가 입력을 인식하기까지의 전체 시간이 아닙니다.

    14. 높은 Polling Rate가 PC 성능에도 영향을 줄까?

    Polling Rate가 높아지면 PC가 더 자주 USB 입력을 처리하게 됩니다. 키보드의 데이터량은 마우스보다 상대적으로 작지만, 8,000Hz처럼 매우 높은 보고율에서는 시스템이 처리해야 하는 인터럽트와 보고 횟수가 늘어날 수 있습니다.

    최신 고성능 PC에서는 큰 문제가 발생하지 않는 경우가 많지만, 오래된 CPU나 특정 USB 컨트롤러, 일부 게임과의 조합에서는 높은 보고율이 불필요한 부하를 만들 수 있습니다. 입력 끊김이나 프레임 타임 불안정이 나타난다면 8,000Hz에서 4,000Hz 또는 1,000Hz로 낮춰 비교하는 것이 좋습니다.

    USB 허브를 사용하는 경우에도 연결 상태를 확인해야 합니다. 여러 고주사율 장치를 하나의 허브에 연결하거나 품질이 낮은 연장 케이블을 사용하면 전원과 신호 안정성 문제가 생길 수 있습니다. 가능하면 메인보드 후면의 USB 포트에 직접 연결해 테스트하는 것이 정확합니다.

    💡 실사용 설정 팁

    일반적인 문서 작업과 게임에서는 1,000Hz도 충분히 빠른 편입니다. 4,000Hz나 8,000Hz는 고주사율 모니터와 경쟁 게임 환경에서 시험해보고, 시스템 안정성이나 배터리 사용 시간이 나빠진다면 낮은 단계로 조정하는 것이 합리적입니다.

    15. 직접 성능을 확인할 때 주의할 점

    웹 기반 키보드 테스트 페이지는 눌린 키가 정상적으로 인식되는지 확인하는 데 유용하지만 Scan Rate와 Polling Rate를 정확히 측정하는 도구는 아닙니다. 웹 브라우저가 전달하는 키 이벤트에는 운영체제, 브라우저 처리와 화면 표시 시간이 포함되기 때문입니다.

    Polling Rate는 USB 패킷이나 HID 보고서의 도착 간격을 분석해야 더 정확하게 확인할 수 있습니다. 입력 지연은 키를 실제로 누르는 물리적 시점과 PC에서 이벤트가 발생하는 시점을 동시에 측정해야 하므로 고속 카메라, 전기적 신호 측정 장치 또는 전용 지연 측정 장비가 필요할 수 있습니다.

    여러 키보드의 성능을 비교할 때는 동일한 PC, 동일한 USB 포트, 동일한 운영체제 설정과 동일한 측정 방법을 사용해야 합니다. 한두 번의 최솟값만 비교하지 말고 여러 차례 측정한 평균, 중앙값과 편차를 함께 보는 것이 좋습니다.

    측정 대상 확인 방법 주의점
    동시 입력 키보드 테스트 페이지에서 여러 키 누르기 Scan Rate 측정은 불가능
    Polling Rate USB HID 보고 간격 분석 보고가 없을 때의 동작도 고려
    전체 입력 지연 물리 입력과 PC 이벤트 시점 비교 스위치와 측정 장치 오차 포함
    안정성 반복 입력 후 누락과 중복 확인 최솟값보다 편차가 중요

    16. 어떤 수치를 우선해서 봐야 할까?

    키보드를 선택할 때 Scan Rate와 Polling Rate 중 하나만 고르는 방식으로 접근할 필요는 없습니다. 두 수치는 입력 과정의 서로 다른 구간을 설명하므로 균형 있게 확인해야 합니다.

    일반 사용자는 1,000Hz Polling Rate와 안정적인 펌웨어를 갖춘 제품이면 충분한 경우가 많습니다. 빠른 입력이 중요한 사용자는 높은 Scan Rate, 짧고 안정적인 디바운스, 낮은 실제 입력 지연을 함께 확인해야 합니다.

    자기축 키보드를 선택한다면 센서 샘플링 속도만 보지 말고 작동 지점 정확도, 래피드 트리거 안정성, 키별 캘리브레이션과 펌웨어 업데이트도 확인하는 것이 좋습니다. 무선 키보드는 최고 Polling Rate보다 절전 복귀 시간과 연결 안정성이 체감에 더 큰 영향을 줄 수도 있습니다.

    Link&Tem 결론

    Scan Rate는 키보드가 내부에서 키 상태를 발견하는 속도이고, Polling Rate는 판별한 입력을 PC에 전달하는 속도입니다. 두 수치는 모두 높을수록 각 단계의 대기 시간을 줄일 수 있지만, 실제 성능은 디바운스, 펌웨어, 연결 방식과 시스템 환경까지 포함해 판단해야 합니다. 제품 사양에서는 Hz 숫자보다 그 숫자가 어떤 구간을 나타내는지 먼저 확인하는 것이 중요합니다.

    자주 묻는 질문

    Q. 1,000Hz Polling Rate면 입력 지연이 1ms인가요?
    아닙니다. 1,000Hz는 약 1ms마다 USB 입력 보고를 처리할 기회가 있다는 뜻입니다. 스캔, 디바운스, 펌웨어와 스위치 작동 시간이 추가되므로 전체 입력 지연은 1ms보다 길 수 있습니다.
    Q. Scan Rate가 높으면 Polling Rate는 낮아도 되나요?
    내부에서 입력을 빠르게 발견할 수는 있지만 PC로 전달되는 주기가 느리면 전송 단계가 병목이 됩니다. 두 수치가 균형 있게 구성되어야 각 단계의 대기 시간을 줄일 수 있습니다.
    Q. 8,000Hz 키보드는 무조건 더 좋은가요?
    전송 대기 시간을 줄이는 데는 유리하지만 모든 환경에서 큰 체감 차이가 생기는 것은 아닙니다. 시스템 부하, 펌웨어 안정성, 디바운스와 실제 지연 측정 결과까지 함께 확인해야 합니다.
    Q. 키보드 테스트 사이트로 Scan Rate를 측정할 수 있나요?
    일반적인 웹 키보드 테스트는 키 인식과 동시 입력 여부를 확인하는 용도입니다. 브라우저에서 보이는 이벤트만으로 내부 매트릭스 스캔 주기를 정확하게 측정하기는 어렵습니다.
    Q. 무선 키보드도 1,000Hz를 지원할 수 있나요?
    전용 2.4GHz 수신기를 사용하는 일부 키보드는 1,000Hz 이상의 보고율을 지원합니다. Bluetooth 모드는 전력 효율과 호환성을 우선해 다른 주기로 동작할 수 있으므로 연결 모드별 사양을 확인해야 합니다.
    Q. NKRO와 Polling Rate는 같은 기능인가요?
    아닙니다. NKRO는 여러 키를 동시에 정확하게 판별하고 보고하는 능력이고, Polling Rate는 입력 보고가 PC로 전달될 수 있는 빈도입니다. 동시 입력 개수와 전송 주기는 서로 다른 성능 항목입니다.

    📚 함께 보면 좋은 글

    Scan Rate와 Polling Rate를 이해했다면 키보드가 여러 입력을 구분하고, VIA와 VIAL이 키맵 정보를 처리하는 구조도 함께 살펴볼 수 있습니다. 아래 글을 순서대로 읽으면 하드웨어 스캔부터 설정 소프트웨어까지 전체 흐름을 연결해 이해하는 데 도움이 됩니다.

    공식 참조 자료

    Sources

    1. USB Implementers Forum, Device Class Definition for Human Interface Devices 1.11
    2. USB Implementers Forum, HID Usage Tables 1.4
    3. QMK Firmware Documentation, keyboard matrix scanning and debounce concepts
    Link&Tem 한 줄 정리
    Scan Rate는 키를 발견하는 속도, Polling Rate는 발견한 입력을 PC에 전달하는 속도입니다.