페이지
  • 개인정보처리방침
  • 이용약관
  • 문의
  • 소개 (About)
  • 자주 묻는 질문 (FAQ)
  • 전체 글
  • 키보드

    키보드 매트릭스 고스팅 원리|동시입력 막히는 이유 3가지와 다이오드 해결법

    2026.08.04 조회 0
    키보드 매트릭스 고스팅 원리를 보여주는 회로 구조와 다이오드 배치 일러스트
    LINK&TEM GUIDE

    키보드 매트릭스 고스팅, 왜 동시입력이 막히나

    회로 구조부터 다이오드, NKRO까지 실전 원리 정리

    📌 핵심 요약
    • 키보드는 스위치 수만큼 핀을 쓰지 않고, 행과 열로 엮은 매트릭스 구조로 핀 개수를 줄인다.
    • 키보드 매트릭스 고스팅은 다이오드 없는 회로에서 특정 3키 조합이 만든 우회 전류 때문에 생긴다.
    • 다이오드를 심으면 고스팅은 막히지만, 저가형은 대신 일부 키를 무시하는 ‘블로킹’을 쓴다.
    • NKRO는 고스팅을 근본적으로 없애지만, USB 부팅 단계에서는 6키로 제한될 수 있다.
    • 게임처럼 여러 키를 동시에 누르는 환경에서는 매트릭스 설계 품질이 승패에 직결된다.
    목차
    1. 키보드 매트릭스 구조란, 핀을 아끼는 회로 설계
    2. 키보드 매트릭스 고스팅이 발생하는 원리
    3. 다이오드로 키보드 매트릭스 고스팅 막는 법
    4. 블로킹과 2키 롤오버, 고스팅과는 다른 문제
    5. NKRO와 USB HID 6키 제한, 롤오버 숫자의 진실
    6. 게이밍 키보드에서 매트릭스 설계가 중요한 이유

    게임 중 W, A, Shift를 동시에 눌렀는데 캐릭터가 갑자기 멈추거나 엉뚱하게 움직인다면, 원인은 스위치 고장이 아니라 키보드 매트릭스 고스팅일 가능성이 큽니다.

    겉보기엔 멀쩡한 키보드인데 특정 조합만 누르면 키가 씹히는 이 현상은, 스위치 개수만큼 전선을 연결하지 않고 행과 열을 엮어 쓰는 회로 구조 자체에서 비롯됩니다. 원인을 알면 어떤 조합에서 문제가 생기는지, 왜 어떤 키보드는 멀쩡하고 어떤 키보드는 자꾸 씹히는지 이해할 수 있습니다.

    이 글에서는 매트릭스가 왜 필요한지부터, 고스팅이 실제로 어떻게 발생하는지, 다이오드와 NKRO가 이 문제를 어떻게 해결하는지까지 순서대로 짚어봅니다. 스펙표의 ‘안티고스팅’, ‘NKRO’ 문구가 정확히 뭘 뜻하는지도 함께 정리합니다.

    1. 키보드 매트릭스 구조란, 핀을 아끼는 회로 설계

    풀사이즈 키보드는 보통 104개의 스위치를 가지고 있습니다. 스위치마다 컨트롤러 핀을 하나씩 연결한다면 104개의 핀이 필요합니다.

    하지만 실제 마이크로컨트롤러는 그렇게 많은 핀을 갖고 있지 않습니다. 그래서 키보드는 스위치를 엑셀 표처럼 행(row)과 열(column)로 배열하는 매트릭스 방식을 씁니다. 8행 16열 구조라면 24개 핀만으로 128개 자리를 감당할 수 있습니다.

    💡 TIP

    핀 개수는 (행 개수)+(열 개수)로 계산됩니다. 8×8 매트릭스면 16개 핀으로 64개 스위치를 감당하는 식입니다.

    컨트롤러는 열에 순서대로 전류를 흘려보내고, 그 순간 어떤 행에서 신호가 돌아오는지를 훑습니다. 이 과정을 매트릭스 스캐닝(matrix scanning)이라 부릅니다. 특정 스위치를 누르면 그 지점의 행과 열이 연결되면서 전류가 흐르고, 컨트롤러는 “이 좌표의 키가 눌렸다”고 해석합니다.

    문제는 여기서 시작됩니다. 회로가 격자로 엮여 있다 보니, 여러 키를 동시에 누르면 전류가 예상치 못한 경로로도 흐를 수 있습니다. 이게 바로 다음 섹션에서 다룰 키보드 매트릭스 고스팅의 근본 원인입니다.

    방식필요 핀 수(104키 기준)
    1:1 직결104개
    8×16 매트릭스24개
    10×11 매트릭스21개

    2. 키보드 매트릭스 고스팅이 발생하는 원리

    사각형의 세 꼭짓점에 해당하는 키를 동시에 누르는 상황을 생각해봅시다. Q, W, S 세 키가 각각 (행0,열0), (행0,열1), (행1,열0) 자리에 있다고 가정합니다.

    컨트롤러가 열0을 스캔하면 행0과 행1 모두에서 신호가 돌아옵니다. Q와 S가 눌려 있으니 당연합니다. 그런데 열1을 스캔할 때도 문제가 생깁니다.

    W를 통해 행0으로 들어간 전류가, 이미 눌려 있는 S 스위치를 거꾸로 타고 행1까지 흘러갈 수 있습니다. 그러면 컨트롤러는 (행1,열1) 자리의 키, 즉 실제로는 누르지 않은 A키까지 눌린 것으로 착각합니다.

    🔍 Link&Tem Insight

    키보드 매트릭스 고스팅은 아무 키 조합에서나 생기지 않습니다. 사각형의 세 꼭짓점처럼 특정 기하학적 배치일 때만 우회 전류가 만들어지기 때문에, 어떤 키보드는 WASD에서 멀쩡한데 다른 조합에서만 씹히는 것도 이 때문입니다.

    이런 현상을 겪은 사람 대부분은 처음엔 스위치 불량이나 케이블 문제로 오해합니다. 하지만 같은 키 조합에서 매번 똑같이 재현된다면, 회로 설계 자체의 한계일 확률이 높습니다.

    이 원리를 정확히 설명한 자료로 QMK 펌웨어 공식 문서를 참고할 만합니다. 매트릭스 스캐닝과 고스팅 발생 과정을 회로도로 풀어 보여줍니다.

    📘 QMK 공식 문서: How a Matrix Works

    3. 다이오드로 키보드 매트릭스 고스팅 막는 법

    고스팅을 막는 가장 확실한 방법은 스위치마다 다이오드를 하나씩 붙이는 것입니다. 다이오드는 전류를 한 방향으로만 흐르게 하는 부품입니다.

    다이오드가 있으면 W를 통해 들어온 전류가 S를 거쳐 역방향으로 흘러가려 해도 다이오드가 막아버립니다. 그러면 컨트롤러는 실제로 눌린 키만 정확히 감지합니다.

    3-1. 다이오드가 없는 키보드는 어떻게 될까

    1N4148 같은 소형 다이오드 하나는 원가가 몇 원 수준이지만, 104개를 붙이면 조립 공정이 늘어나 단가가 오릅니다. 그래서 저가형 멤브레인 키보드는 다이오드를 아예 생략하는 경우가 많습니다.

    이런 키보드는 매트릭스 스캐닝만으로는 고스팅을 막을 방법이 없습니다. 대신 소프트웨어 단에서 고스팅을 유발할 수 있는 특정 키 조합 자체를 무시하는 방식을 씁니다. 이 방식은 다음 섹션에서 다룰 ‘블로킹’과 이어집니다.

    ⚠️ 주의할 점

    제품 소개에 ‘안티고스팅’이라고만 쓰여 있으면 다이오드 기반 완전 방지인지, 몇 개 키만 무시하는 부분 방지인지 구분이 안 됩니다. NKRO 지원 여부를 따로 확인해야 정확합니다.

    커스텀 키보드를 직접 조립하거나 핫스왑 PCB를 고를 때도 이 다이오드 위치는 중요한 체크포인트입니다. PCB 뒷면을 보면 스위치 소켓 옆에 작은 검은색 부품이 하나씩 붙어 있는데, 이게 바로 그 다이오드입니다.

    다이오드 방향도 중요합니다. 검은 띠가 있는 쪽이 행(row) 방향을 향하도록 통일되어야 하며, 방향이 뒤섞이면 매트릭스 전체가 오작동할 수 있습니다.

    4. 블로킹과 2키 롤오버, 고스팅과는 다른 문제

    다이오드 없는 키보드가 전부 고스팅을 일으키는 건 아닙니다. 대신 컨트롤러가 고스팅을 유발할 조합을 미리 감지하고, 일부 키 입력을 무시해버립니다.

    이렇게 의도적으로 입력을 무시하는 것을 블로킹(blocking) 또는 필터링(filtering)이라 부릅니다. 고스팅이 ‘없던 키가 생기는’ 문제라면, 블로킹은 ‘있던 키가 사라지는’ 문제입니다.

    3개 이상의 키를 눌렀을 때 블로킹으로 일부가 씹히는 상태를 2키 동시 입력, 즉 2KRO(2-key rollover)라고 합니다. 세 번째 키부터는 인식이 보장되지 않는다는 뜻입니다.

    💡 TIP

    제조사에 따라 자주 쓰는 키 조합(WASD+Shift 등)에서는 블로킹이 덜 발생하도록 회로를 배치하기도 합니다. 이런 제품은 ’10키 동시입력’처럼 광고하지만, 실제로는 특정 조합에 한정된 부분적 2KRO입니다.

    이 두 문제를 헷갈리면 안 됩니다. 키보드 매트릭스 고스팅은 회로 구조의 결함으로 없는 키가 생기는 현상이고, 블로킹은 그 결함을 소프트웨어로 우회하다가 생기는 부작용입니다. 둘 다 다이오드를 심으면 동시에 해결됩니다.

    5. NKRO와 USB HID 6키 제한, 롤오버 숫자의 진실

    모든 스위치에 다이오드를 심으면 몇 개를 동시에 눌러도 전부 정확히 인식됩니다. 이 상태를 무한 동시 입력, N키 롤오버(N-key rollover, NKRO)라고 부릅니다.

    이론상 NKRO는 스위치 개수만큼 동시 입력을 보장합니다. 다만 여기서 끝이 아닙니다. USB로 연결된 키보드는 또 다른 병목을 만납니다.

    5-1. USB HID 부트 프로토콜의 6키 제한

    PC를 켜는 순간, BIOS나 UEFI 화면에서는 아직 운영체제의 복잡한 드라이버가 로딩되지 않은 상태입니다. 이때 USB 장치는 단순화된 ‘부트 프로토콜(boot protocol)’로 동작합니다.

    USB HID 부트 프로토콜은 규격상 일반 키 6개와 모디파이어 키(Shift, Ctrl 등) 조합까지만 동시에 보고할 수 있게 정의되어 있습니다. 이 한계 때문에 NKRO를 지원하는 키보드도 부팅 단계에서는 6키 롤오버(6KRO)로 동작합니다.

    운영체제가 완전히 켜지고 나면, 키보드는 더 많은 정보를 담을 수 있는 ‘리포트 프로토콜(report protocol)’로 전환되면서 비로소 NKRO가 제 성능을 냅니다. 은행 사이트의 보안 키패드처럼 예전 방식의 입력 처리를 쓰는 프로그램에서 NKRO 모드가 충돌해, 일부러 6KRO로 전환해야 하는 경우도 이런 이유에서 나옵니다.

    🔍 Link&Tem Insight

    일부 제품이 ’10키’, ’14키’ 동시입력으로 광고하는 건 과장이 아니라 서로 다른 기준을 섞어 쓰기 때문입니다. 완전한 NKRO가 아니라면, 몇 개 조합에서 안전한지 실제 테스트 결과를 함께 확인하는 게 정확합니다.

    표준 자체를 확인하고 싶다면 USB 규격을 관리하는 USB-IF(USB Implementers Forum)의 HID 공식 자료를 참고할 수 있습니다.

    📘 USB-IF 공식 문서: HID Specifications

    6. 게이밍 키보드에서 매트릭스 설계가 중요한 이유

    FPS 게임에서 전진(W)하며 조준(마우스), 달리기(Shift), 재장전(R)을 동시에 누르는 순간을 떠올려보세요. 여기서 단 하나라도 씹히면 실전에서 치명적입니다.

    키보드 매트릭스 고스팅과 블로킹 둘 다 이런 멀티 키 입력 상황에서 두드러집니다. 그래서 게이밍 키보드는 대부분 다이오드 기반 풀 NKRO를 기본 스펙으로 내세웁니다.

    Windows 운영체제 쪽에서는 HID 클래스 드라이버가 키보드가 보내는 리포트를 해석해 실제 키 입력으로 변환합니다. 이 드라이버 구조를 이해하면 왜 NKRO 모드 전환이나 드라이버 재설치로 문제가 해결되는 경우가 있는지도 납득이 됩니다.

    📘 Microsoft 공식 문서: HID 드라이버 개발 가이드

    무선 키보드라면 한 가지를 더 고려해야 합니다. 배터리 소모를 줄이려고 스캔 빈도를 낮추는 설계는 완전한 매트릭스 스캔과 상충할 수 있어서, 무선 제품의 NKRO는 유선보다 제약이 많은 편입니다.

    결국 스펙표의 ‘안티고스팅’이나 ‘동시입력’이라는 단어보다, 다이오드 유무와 NKRO 지원 여부를 직접 확인하는 게 가장 정확한 판단 기준입니다.

    ❓ 자주 묻는 질문

    Q. 키보드 매트릭스 고스팅은 왜 특정 키 조합에서만 생기나요?

    사각형 꼭짓점처럼 특정 기하학적 배치일 때만 우회 전류가 만들어지기 때문입니다. 매트릭스에서 그 키들이 놓인 위치에 따라 발생 여부가 갈립니다.

    Q. 안티고스팅과 NKRO는 같은 뜻인가요?

    다릅니다. 안티고스팅은 블로킹으로 일부 키만 무시하는 부분적 해결책일 수 있고, NKRO는 다이오드로 모든 키를 정확히 인식하는 완전한 해결책입니다.

    Q. BIOS 화면에서는 왜 6키까지만 눌리나요?

    USB HID의 부트 프로토콜 규격이 일반 키 6개로 제한되어 있기 때문입니다. 운영체제가 켜진 뒤 리포트 프로토콜로 전환되면 NKRO가 정상 작동합니다.

    Q. 내 키보드가 NKRO인지 어떻게 확인하나요?

    온라인 키보드 테스터에서 10개 이상의 키를 동시에 눌러보고, 모두 화면에 표시되는지 확인하면 됩니다. 6개에서 멈춘다면 6KRO입니다.

    Q. 다이오드가 없는 키보드는 무조건 나쁜가요?

    사무용 타이핑처럼 한 번에 한두 키만 누르는 용도라면 큰 문제가 없습니다. 다만 게임처럼 여러 키를 동시에 누르는 상황에서는 씹힘이 잦을 수 있습니다.

    📚 함께 보면 좋은 글

    매트릭스와 고스팅의 원리를 이해했다면, 키 입력이 처리되는 나머지 과정도 함께 보면 훨씬 명확해집니다.

    🍳 디바운싱을 요리에 비유해 이해하기
    스위치 신호가 흔들리는 순간을 컨트롤러가 어떻게 걸러내는지, 요리 비유로 쉽게 풀어봅니다.
    🖥️ 폴링레이트와 화면 프레임의 관계
    매트릭스가 감지한 입력이 실제로 화면에 반영되기까지, 폴링레이트가 어떤 역할을 하는지 다룹니다.
    💡 광축은 빛으로 어떻게 입력을 감지하나
    기계식 접점 대신 빛을 쓰는 광축 스위치가 매트릭스와 만나면 무엇이 달라지는지 살펴봅니다.
    🧲 홀이펙트, 자석으로 위치를 아는 원리
    접점 방식의 한계였던 고스팅 문제를 자기장 감지 방식이 어떻게 근본적으로 우회하는지 설명합니다.

    🔗 공식 자료

    📘 QMK 공식 문서: How a Matrix Works 📘 USB-IF 공식 문서: HID Specifications 📘 Microsoft 공식 문서: HID 드라이버 개발 가이드

    📖 출처

    QMK Firmware, “How a Keyboard Matrix Works” 공식 문서 (docs.qmk.fm)
    USB Implementers Forum(USB-IF), HID 공식 페이지 (usb.org/hid)
    Microsoft Learn, HID 드라이버 개발 문서 (learn.microsoft.com)
    Deskthority Wiki, “USB” 항목 중 HID 부트 프로토콜 설명 (deskthority.net)
    나무위키, “키보드/구조와 분류” 문서 중 매트릭스·고스팅·롤오버 관련 서술 (namu.wiki)

    Link&Tem 한 줄 정리

    키보드 매트릭스 고스팅은 회로 구조상 피할 수 없는 문제지만, 다이오드와 NKRO로 완전히 해결됩니다. 스펙표의 ‘안티고스팅’이라는 말만 믿지 말고, 다이오드 유무와 실제 롤오버 테스트 결과를 함께 확인하세요.

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다