[태그:] USB

  • USB HID 구조 이해하기|키보드가 드라이버 없이 동작하는 이유

    USB HID 구조 이해하기|키보드가 드라이버 없이 동작하는 이유

    LINK&TEM GUIDE

    USB HID 구조 이해하기

    키보드와 마우스는 어떤 과정을 거쳐 PC가 입력을 이해할까?

    📌 핵심 요약
    • USB HID(Human Interface Device)는 키보드·마우스 같은 입력장치를 위한 표준 규격입니다.
    • 운영체제는 HID 규격만 이해하면 제조사가 달라도 기본 입력을 바로 사용할 수 있습니다.
    • HID Report Descriptor는 장치가 어떤 데이터를 보내는지 설명하는 설계도 역할을 합니다.
    • 키 입력은 Interrupt Transfer를 통해 매우 짧은 주기로 PC에 전달됩니다.
    • 게임패드, 터치패드, 펜 태블릿도 대부분 HID 구조를 기반으로 동작합니다.

    USB 키보드를 컴퓨터에 연결하면 별도의 드라이버를 설치하지 않아도 대부분 즉시 사용할 수 있습니다. 제조사가 다르고 내부 MCU가 달라도 기본적인 키 입력은 거의 동일하게 동작하는 이유는 USB HID(Human Interface Device)라는 국제 표준을 사용하기 때문입니다.

    많은 사람들은 USB가 단순히 케이블 규격이라고 생각하지만, 실제 USB는 전송 방식과 장치 종류까지 정의하는 거대한 표준입니다. HID 역시 그 안에 포함된 장치 클래스(Class) 중 하나이며, 운영체제가 키보드와 마우스를 이해하는 공통 언어라고 볼 수 있습니다.

    이번 글에서는 USB HID가 무엇인지부터 시작해 Enumeration 과정, HID Descriptor, Report Descriptor, 실제 키 입력 데이터 구조, 그리고 운영체제가 입력을 처리하는 과정까지 단계별로 살펴보겠습니다.


    1. USB HID란 무엇일까?

    HID는 Human Interface Device의 약자로, 사람이 컴퓨터와 상호작용하기 위해 사용하는 입력 장치를 의미합니다. 대표적으로 키보드, 마우스, 터치패드, 트랙볼, 게임패드, 디지털 펜 등이 HID 장치에 포함됩니다.

    USB 표준에서는 이러한 장치들이 서로 다른 제조사에서 만들어졌더라도 동일한 방식으로 데이터를 전송하도록 규격을 정의합니다. 덕분에 운영체제는 장치 제조사를 미리 알지 못해도 기본 입력을 바로 사용할 수 있습니다.

    예를 들어 Logitech 키보드와 Keychron 키보드는 내부 MCU도 다르고 펌웨어도 다르지만, 둘 다 HID Report 형식으로 데이터를 보내기 때문에 Windows나 macOS는 동일한 방식으로 입력을 처리합니다.

    💡 Link&Tem TIP

    USB HID는 “키보드 제조사”를 구분해서 동작하는 것이 아니라 “HID 규격을 따르는 입력 장치”인지 먼저 확인한 뒤 데이터를 해석합니다.

    2. 왜 별도 드라이버 없이 동작할까?

    USB 장치를 연결하면 운영체제는 먼저 Enumeration이라는 과정을 수행합니다. 이 과정에서 장치의 종류와 지원 기능을 확인하고 적절한 드라이버를 연결합니다.

    키보드처럼 HID 규격을 사용하는 장치는 이미 Windows, macOS, Linux에 HID 드라이버가 기본 포함되어 있기 때문에 제조사가 별도의 드라이버를 제공하지 않아도 즉시 사용할 수 있습니다.

    장치 기본 드라이버
    USB 키보드 가능
    USB 마우스 가능
    웹캠 UVC 규격 사용
    USB 저장장치 Mass Storage 규격
    Link&Tem Insight

    Microsoft와 Linux Kernel은 HID를 운영체제 기본 기능으로 제공합니다. 제조사 프로그램은 RGB 제어나 매크로 설정 같은 추가 기능을 제공할 뿐, 기본 키 입력 자체는 HID 드라이버가 담당합니다.

    3. HID Descriptor는 무엇일까?

    USB 장치는 자신이 어떤 기능을 갖고 있는지를 Descriptor라는 데이터 구조로 설명합니다. HID 장치 역시 여러 종류의 Descriptor를 통해 운영체제에 자신의 정보를 전달합니다.

    가장 중요한 것은 HID Descriptor와 Report Descriptor입니다. HID Descriptor는 장치가 HID임을 알려주고, Report Descriptor는 실제 데이터 구조를 정의합니다.

    운영체제는 Report Descriptor를 읽은 뒤 “이 장치는 키 하나를 몇 비트로 표현하는지”, “Modifier 키는 어디에 있는지”, “LED 제어는 가능한지” 등을 모두 이해하게 됩니다.

    Descriptor 종류
    • Device Descriptor
    • Configuration Descriptor
    • Interface Descriptor
    • HID Descriptor
    • Report Descriptor

    4. Report Descriptor의 역할

    Report Descriptor는 HID 장치에서 가장 중요한 정보입니다. 운영체제는 이 데이터를 읽어 실제 입력 데이터를 해석합니다.

    예를 들어 키보드는 보통 다음과 같은 구조를 사용합니다.

    • Modifier Key (Ctrl, Shift 등)
    • Reserved Byte
    • 동시에 누른 최대 6개의 키 코드

    즉 운영체제는 키코드만 받는 것이 아니라 “이 데이터의 첫 번째 바이트는 Ctrl 정보이고 두 번째는 예약 영역이며 이후에는 키 코드가 들어온다.”라는 구조를 먼저 이해한 뒤 입력을 해석합니다.

    🔍 Link&Tem Insight

    Report Descriptor는 일종의 데이터 설계도입니다. 운영체제가 이 설계도를 먼저 읽기 때문에 제조사마다 내부 구현이 달라도 동일한 방식으로 입력을 처리할 수 있습니다.
    Part 1 정리

    USB HID는 운영체제가 입력 장치를 이해하기 위한 표준 규격입니다. HID Descriptor와 Report Descriptor를 통해 장치 구조를 먼저 파악한 뒤 키 입력 데이터를 해석합니다. 다음에서는 실제 키 입력 Report 구조, Interrupt Transfer 방식, Polling 과정, NKRO와 Boot Protocol의 차이, Bluetooth HID와의 관계까지 이어서 살펴보겠습니다.

    5. 실제 키 입력 데이터는 어떻게 전달될까?

    키보드에서 키를 누르면 MCU는 스위치 상태를 스캔한 뒤 어떤 키가 눌렸는지를 HID Report 형식으로 만듭니다. 이 Report는 USB를 통해 컴퓨터로 전달되며 운영체제는 앞에서 읽은 Report Descriptor를 기준으로 데이터를 해석합니다.

    예를 들어 사용자가 A 키를 누르면 MCU는 해당 키의 HID Usage ID를 Report 안에 기록합니다. 만약 Shift를 함께 누르고 있다면 Modifier 비트도 함께 설정됩니다. 운영체제는 이 정보를 받아 최종적으로 대문자 A인지 소문자 a인지 판단하게 됩니다.

    Report 영역 내용
    Byte 0 Modifier(Ctrl, Shift, Alt 등)
    Byte 1 Reserved
    Byte 2~7 동시에 눌린 키 코드
    💡 TIP

    USB 키보드는 문자 자체를 보내는 것이 아니라 키 코드(Key Code)를 전송합니다. 실제 문자는 운영체제가 현재 키보드 레이아웃과 Shift 상태 등을 고려해 결정합니다.

    6. Interrupt Transfer는 무엇일까?

    이름만 보면 CPU 인터럽트처럼 장치가 컴퓨터를 강제로 깨우는 방식처럼 보일 수 있지만, USB의 Interrupt Transfer는 조금 다릅니다.

    USB에서는 Host인 PC가 항상 통신을 시작합니다. 따라서 키보드는 마음대로 데이터를 보내지 못하며, 컴퓨터가 “입력이 있나요?”라고 매우 짧은 주기로 질문하면 그때 Report를 응답합니다.

    키보드는 일반적으로 1ms에서 10ms 정도의 Polling Interval을 사용하며, 게임용 키보드는 1000Hz Polling을 지원하는 경우가 많습니다.

    Link&Tem Insight

    Interrupt Transfer는 이름과 달리 “장치가 먼저 보내는 방식”이 아닙니다. USB에서는 항상 Host가 Polling을 수행하며, HID는 입력 지연을 최소화하기 위해 Interrupt Endpoint를 사용하는 것입니다.

    7. Polling Rate와 입력 지연의 관계

    Polling Rate는 컴퓨터가 초당 몇 번 장치에 데이터를 요청하는지를 의미합니다. 흔히 125Hz, 250Hz, 500Hz, 1000Hz 같은 수치를 볼 수 있습니다.

    Polling Rate 최대 대기시간
    125Hz 약 8ms
    250Hz 약 4ms
    500Hz 약 2ms
    1000Hz 약 1ms

    Polling Rate가 높을수록 입력 지연은 줄어들지만 USB 트래픽과 MCU 처리량은 조금 증가합니다. 일반적인 사무용 환경에서는 큰 차이를 느끼기 어렵지만, FPS 게임에서는 1000Hz를 사용하는 경우가 많습니다.

    8. Boot Protocol과 Report Protocol 차이

    USB HID에는 Boot Protocol과 Report Protocol이라는 두 가지 동작 방식이 존재합니다.

    Boot Protocol은 BIOS나 UEFI에서도 사용할 수 있도록 매우 단순한 구조를 사용합니다. 운영체제가 아직 로드되지 않은 상태에서도 키보드를 사용할 수 있는 이유가 바로 Boot Protocol 덕분입니다.

    운영체제가 실행된 이후에는 대부분 Report Protocol로 전환됩니다. Report Protocol은 훨씬 복잡한 Report Descriptor를 사용할 수 있어 다양한 기능과 커스텀 키보드를 지원합니다.

    항목 Boot Report
    사용 시점 BIOS·UEFI 운영체제
    기능 기본 입력 확장 기능
    커스터마이징 제한적 높음

    9. NKRO도 HID와 관련이 있을까?

    많은 사용자가 NKRO(N-Key Rollover)를 키보드 하드웨어 기술로만 생각하지만 실제로는 HID Report 구조와도 밀접한 관련이 있습니다.

    기본 Boot Protocol에서는 동시에 최대 6개의 일반 키만 전송할 수 있는 6KRO 구조를 사용합니다. 반면 NKRO는 더 큰 Report 구조를 사용하거나 비트맵 형태로 키 상태를 표현해 훨씬 많은 키를 동시에 전달합니다.

    그래서 게이밍 키보드나 커스텀 키보드는 대부분 Report Protocol을 활용해 NKRO를 구현합니다.

    10. Bluetooth HID와 무엇이 다를까?

    USB HID와 Bluetooth HID는 전송 매체만 다를 뿐 입력 데이터 구조 자체는 매우 비슷합니다.

    Bluetooth 역시 HID Profile(HID over GATT 포함)을 사용해 운영체제에 키 입력을 전달합니다. 따라서 운영체제 입장에서는 USB 키보드와 블루투스 키보드 모두 거의 동일한 입력 이벤트를 생성합니다.

    USB HID와 Bluetooth HID 비교
    • 입력 구조는 매우 유사
    • 전송 방식만 USB와 BLE로 다름
    • 운영체제는 둘 다 HID 드라이버 계층에서 처리
    • 응용프로그램은 동일한 키 이벤트를 받음

    자주 묻는 질문(FAQ)

    Q. USB HID는 키보드만 지원하나요?

    아닙니다. 마우스, 게임패드, 터치패드, 디지타이저, 펜 장치 등 다양한 입력 장치를 지원합니다.

    Q. 모든 키보드가 HID를 사용하나요?

    일반적인 USB 키보드는 거의 모두 HID 규격을 사용합니다. 추가 기능은 별도의 Vendor 인터페이스를 함께 사용하는 경우도 있습니다.

    Q. RGB 제어도 HID인가요?

    기본 입력은 HID를 사용하지만 RGB 제어나 펌웨어 업데이트는 제조사 전용 프로토콜을 사용하는 경우가 많습니다.

    📚 함께 보면 좋은 글

    USB HID를 이해했다면 실제 키 입력이 PC까지 전달되는 전체 과정과 키보드 내부 구조까지 함께 살펴보면 입력 장치의 동작 원리를 훨씬 쉽게 이해할 수 있습니다.

    🔗 공식 자료

    📖 출처

    • USB Implementers Forum – HID Device Class Definition
    • USB Implementers Forum – USB 2.0 Specification
    • Microsoft Learn HID Documentation
    • Linux Kernel HID Documentation
    • QMK 공식 문서
    Link&Tem 한 줄 정리

    USB HID는 단순한 키 입력 규격이 아니라 운영체제가 모든 입력 장치를 공통된 방식으로 이해할 수 있도록 만든 국제 표준입니다. HID Descriptor와 Report Descriptor 덕분에 제조사가 달라도 동일한 방식으로 키 입력을 처리할 수 있으며, 이것이 USB 키보드가 별도 드라이버 없이 바로 동작하는 핵심 원리입니다.

  • 키 입력은 PC까지 어떻게 전달될까? 키보드 입력의 전체 동작 원리

    키 입력은 PC까지 어떻게 전달될까? 키보드 입력의 전체 동작 원리

    LINK&TEM GUIDE

    키 입력은 PC까지 어떻게 전달될까?

    키를 누르는 순간부터 운영체제가 입력을 인식하기까지의 전체 과정

    📌 핵심 요약
    • 키 입력은 스위치가 눌리는 것만으로 끝나지 않고 여러 단계의 전기 신호 처리 과정을 거칩니다.
    • 키보드 MCU가 매트릭스를 스캔하고 디바운스를 수행한 뒤 HID 리포트를 생성합니다.
    • USB 또는 Bluetooth를 통해 HID 데이터가 PC로 전달됩니다.
    • 운영체제는 HID 드라이버를 통해 입력을 해석하고 프로그램으로 전달합니다.
    • 전체 과정은 일반적으로 수 밀리초(ms) 안에 완료됩니다.

    우리가 키보드의 A 키를 누르면 화면에는 거의 즉시 A가 입력됩니다. 너무 빠르게 이루어지기 때문에 단순히 “키를 누르면 컴퓨터가 글자를 출력한다” 정도로 생각하기 쉽지만, 실제 내부에서는 수많은 단계가 매우 짧은 시간 안에 연속적으로 수행됩니다.

    기계식 스위치가 접점을 연결하는 순간부터 키보드 내부 마이크로컨트롤러(MCU)는 전기 신호를 감지하고, 어떤 키가 눌렸는지 계산합니다. 이후 노이즈를 제거하는 디바운스 과정을 거친 뒤 USB HID 또는 Bluetooth HID 규격에 맞는 데이터 패킷을 만들어 PC로 전송합니다.

    PC 역시 단순히 데이터를 받는 것으로 끝나지 않습니다. 운영체제는 HID 드라이버를 통해 데이터를 해석하고, 키보드 레이아웃을 적용하며, 현재 실행 중인 프로그램으로 해당 입력 이벤트를 전달합니다. 우리가 화면에서 보는 글자는 이 모든 과정이 끝난 결과입니다.


    1. 키를 누르는 순간 가장 먼저 일어나는 일

    가장 먼저 일어나는 변화는 기계식 스위치 내부입니다. 사용자가 키캡을 누르면 스템이 아래로 이동하면서 금속 접점이 서로 연결됩니다. 이때 전기가 흐르기 시작하고 하나의 회로가 닫히게 됩니다.

    하지만 키보드는 스위치마다 전선을 하나씩 연결하지 않습니다. 대부분의 키보드는 수십 개에서 백 개가 넘는 키를 효율적으로 관리하기 위해 키보드 매트릭스(Matrix) 구조를 사용합니다.

    즉 하나의 스위치가 눌렸다는 것은 특정 행(Row)과 특정 열(Column)이 연결되었다는 의미입니다. MCU는 이 정보를 이용하여 어떤 키가 눌렸는지 계산합니다.

    Link&Tem Insight

    많은 사람들이 키마다 독립적인 선이 연결되어 있다고 생각하지만 실제 키보드는 행과 열을 반복적으로 스캔하는 방식으로 동작합니다. 이것이 키보드 매트릭스 구조가 필요한 이유입니다.

    2. MCU는 키를 어떻게 찾을까?

    키보드 내부에는 MCU(Microcontroller Unit)가 있습니다. MCU는 초당 수백 번에서 수천 번까지 행과 열을 매우 빠르게 스캔합니다.

    예를 들어 첫 번째 행에 전압을 공급한 뒤 어떤 열에서 신호가 들어오는지를 확인합니다. 이후 두 번째 행, 세 번째 행을 같은 방식으로 반복합니다.

    이 과정을 매우 빠르게 반복하기 때문에 사용자는 키 입력 지연을 거의 느끼지 못합니다.

    단계 MCU 동작
    행(Row)에 전압 인가
    열(Column)의 전압 확인
    어느 키인지 계산
    다음 행으로 이동
    TIP 게이밍 키보드가 8000Hz Polling Rate를 지원한다고 해서 스위치를 초당 8000번 읽는 것은 아닙니다. 내부 Matrix Scan 속도와 USB Polling은 서로 다른 개념입니다.

    3. 디바운스 과정이 필요한 이유

    기계식 스위치는 눌리는 순간 금속 접점이 한 번만 닫히지 않습니다. 아주 짧은 시간 동안 여러 번 튀는(Bounce) 현상이 발생합니다.

    만약 MCU가 이를 그대로 입력으로 처리한다면 한 번 눌렀는데 여러 번 입력되는 문제가 발생합니다.

    이를 방지하기 위해 대부분의 키보드는 3~10ms 정도의 디바운스 알고리즘을 사용합니다. 최근 고성능 키보드는 하드웨어와 펌웨어를 함께 이용해 더 짧은 시간 안에 안정적인 입력을 처리하기도 합니다.

    Link&Tem Insight

    입력 지연을 줄인다고 무조건 디바운스 시간을 줄이면 오히려 오입력이 증가할 수 있습니다. 좋은 키보드는 빠른 응답과 안정성 사이에서 균형을 맞추도록 설계됩니다.

    4. HID 리포트는 어떻게 만들어질까?

    MCU는 “A 키가 눌렸다”라는 내부 정보를 그대로 보내지 않습니다. USB와 Bluetooth가 이해할 수 있는 HID(Human Interface Device) 형식으로 데이터를 변환합니다.

    예를 들어 현재 눌려 있는 Modifier 키(Ctrl, Shift, Alt), 일반 키 코드, 예약 비트 등을 포함한 HID Report를 생성합니다.

    이 데이터는 USB 케이블이나 Bluetooth 무선 연결을 통해 컴퓨터로 전달됩니다.

    HID Report 구성 예시
    • Modifier Key 상태
    • 예약 비트
    • 현재 눌린 Key Code
    • 동시에 입력된 다른 키 정보

    USB HID 규격은 제조사가 달라도 운영체제가 별도 드라이버 없이 키보드를 사용할 수 있도록 만든 국제 표준입니다. 따라서 대부분의 키보드는 PC에 연결하면 자동으로 인식됩니다.

    Part 1 정리

    키 입력은 스위치가 눌리는 순간 끝나는 것이 아니라 매트릭스 스캔, 디바운스, HID Report 생성이라는 여러 단계를 거쳐 준비됩니다. 다음에서는 USB 또는 Bluetooth를 통해 PC까지 전달되는 과정과 운영체제가 이를 어떻게 문자 입력으로 처리하는지 이어서 살펴보겠습니다.

    5. USB 또는 Bluetooth로 데이터가 전송되는 과정

    이제 MCU가 HID Report를 완성했다면 다음 단계는 컴퓨터로 데이터를 보내는 것입니다. 사용하는 연결 방식에 따라 내부 과정은 조금 달라지지만, 최종적으로 운영체제에 전달되는 HID 데이터의 의미는 동일합니다.

    유선 키보드는 USB를 통해 데이터를 전송하며, 무선 키보드는 Bluetooth HID 프로파일을 이용하거나 2.4GHz 전용 리시버를 통해 데이터를 전달합니다. 이 과정에서 운영체제가 이해할 수 있는 표준 HID 형식을 사용하기 때문에 별도의 전용 드라이버가 없어도 대부분 즉시 사용할 수 있습니다.

    연결 방식 전송 방식 특징
    USB USB HID 낮은 지연시간, 높은 안정성
    Bluetooth Bluetooth HID 전력 효율 우수, 무선 사용
    2.4GHz 전용 프로토콜 게임용에서 많이 사용

    USB는 호스트(PC)가 일정한 주기로 키보드에게 “새로운 데이터가 있습니까?”라고 질문(Polling)하는 방식으로 동작합니다. 키보드는 현재 눌린 키 상태를 HID Report 형태로 응답합니다.

    6. 운영체제는 입력을 어떻게 처리할까?

    컴퓨터는 HID Report를 받는 즉시 화면에 글자를 출력하지 않습니다. 먼저 USB HID 드라이버 또는 Bluetooth HID 드라이버가 데이터를 해석합니다.

    예를 들어 HID Key Code 0x04는 문자 A를 의미하지만, 실제로 화면에 A가 출력될지 a가 출력될지는 현재 Shift 상태와 키보드 레이아웃에 따라 달라집니다.

    운영체제는 현재 언어 설정, Caps Lock 상태, Shift 입력 여부 등을 모두 고려한 뒤 최종 문자 이벤트를 생성합니다.

    Link&Tem Insight

    키보드는 실제 문자를 보내지 않습니다. 대부분의 경우 “어떤 키가 눌렸다”는 코드만 보낼 뿐이며, 문자 변환은 Windows, macOS, Linux 같은 운영체제가 담당합니다.

    7. 프로그램은 언제 입력을 받을까?

    운영체제가 키 입력 이벤트를 생성하면 현재 포커스를 가지고 있는 프로그램이 해당 이벤트를 전달받습니다.

    메모장을 사용하고 있다면 메모장이 문자를 입력받고, 게임을 실행 중이라면 게임 엔진이 같은 키 이벤트를 받아 캐릭터 이동이나 공격 동작으로 해석합니다.

    즉 하나의 HID 데이터라도 프로그램마다 서로 다른 방식으로 처리될 수 있습니다.

    입력 이벤트 처리 순서
    1. 키 입력 발생
    2. MCU가 키 감지
    3. 디바운스 수행
    4. HID Report 생성
    5. USB/Bluetooth 전송
    6. 운영체제가 HID 해석
    7. 프로그램으로 이벤트 전달
    8. 문자 입력 또는 기능 실행

    8. 입력 지연(Input Latency)은 어디서 생길까?

    많은 사람들이 입력 지연이 USB Polling Rate만으로 결정된다고 생각하지만 실제로는 여러 단계가 영향을 줍니다.

    구간 영향
    스위치 접점 형성 시간
    매트릭스 스캔 MCU Scan Rate
    디바운스 노이즈 제거 시간
    USB Polling 호스트 요청 주기
    운영체제 입력 처리
    프로그램 렌더링 및 반응

    따라서 8000Hz Polling Rate만 지원한다고 해서 무조건 입력이 빠른 것은 아닙니다. MCU 성능, 펌웨어 최적화, 디바운스 알고리즘, 운영체제 처리 속도까지 모두 영향을 줍니다.

    TIP

    게이밍 키보드의 체감 성능은 Polling Rate 하나보다 MCU 처리 속도와 펌웨어 품질이 더 크게 영향을 주는 경우도 많습니다.

    9. 자주 묻는 질문(FAQ)

    Q. 키보드는 실제 문자를 보내나요?

    아닙니다. 대부분의 키보드는 HID Key Code만 전송하며 실제 문자 변환은 운영체제가 수행합니다.

    Q. USB와 Bluetooth는 내부 방식이 완전히 다른가요?

    전송 방식은 다르지만 최종적으로는 HID 규격을 이용해 입력 정보를 운영체제에 전달한다는 점은 동일합니다.

    Q. Polling Rate가 높으면 항상 좋은가요?

    아닙니다. MCU 성능과 디바운스, 펌웨어 최적화가 함께 뒷받침되어야 실제 지연시간이 줄어듭니다.

    Q. 운영체제는 왜 키보드 드라이버 없이도 대부분 인식하나요?

    USB HID와 Bluetooth HID는 국제 표준 규격이기 때문에 Windows, macOS, Linux가 기본적으로 지원합니다.

    Q. 입력은 보통 얼마나 걸리나요?

    키보드 종류와 환경에 따라 다르지만 일반적으로 수 ms 수준에서 대부분의 과정이 완료됩니다.

    📚 함께 보면 좋은 글

    키 입력 과정을 이해했다면 HID 규격과 키보드 내부 구조를 함께 살펴보면 전체 입력 시스템을 더욱 쉽게 이해할 수 있습니다.

    🔗 공식 자료

    📖 출처

    • USB Implementers Forum
    • Bluetooth SIG
    • Microsoft Learn
    • QMK Documentation
    • USB HID Device Class Specification
    Link&Tem 한 줄 정리

    키 입력은 스위치가 눌리는 순간부터 MCU의 매트릭스 스캔, 디바운스, HID Report 생성, USB·Bluetooth 전송, 운영체제 해석을 거쳐 프로그램으로 전달됩니다. 우리가 느끼는 빠른 입력은 이 모든 과정이 수 ms 안에 처리되기 때문에 가능한 것입니다.