물리 버튼 매핑 번호 분석기

컨트롤러 없음
LT (6)RT (7)LB (4)RB (5)LS(10)RS(11)12131415Y(3)X(2)B(1)A(0)891716

사용 방법: 컨트롤러 자체의 아무 물리적 버튼이나 눌러보세요. 화면에 어느 영역에 불이 들어오는지, 그리고 그에 해당하는 고유 인덱스(Index) 번호가 무엇인지 관찰하세요. 만약 누른 버튼과 화면에 켜지는 영역이 전혀 일치하지 않는다면, 시스템 상에 강제 매핑 변조가 있거나 드라이버 스푸핑 오류일 수 있습니다.

실시간 이벤트 활동 로그

입력을 기다리는 중...

원시 16진수 축 데이터

AXIS 00.00000
AXIS 10.00000
AXIS 20.00000
AXIS 30.00000

Standard Gamepad (표준 게임패드): 통합 웹 W3C 연결 표준

W3C(웹 표준화 기구)는 어떻게 17개의 고유 버튼 번호와 4개의 축만으로 크로스 플랫폼 컨트롤러의 미래를 정의했을까요?

W3C 웹 규격 표준

표준 게임패드 기반 버튼 레이아웃 도해

웹사이트 Gamepad API는 고정된 "Standard Gamepad" 레이아웃 구조를 정의합니다: 4개의 페이스 버튼 (인덱스 번호 0-3, ABXY), 어깨 버튼/범퍼 (번호 4-7, LB/RB/LT/RT), 시스템 버튼 (번호 8-9) 등.

버튼 인덱스 번호 빠른 참조표

0-3: A/B/X/Y (오른쪽 전면 버튼)
10-11: LS/RS (좌/우 아날로그 스틱 꾹 누르기 광클)
4-5: LB/RB (L1/R1 어깨 범퍼 버튼)
12-15: 상하좌우 D-Pad (십자 방향키)
6-7: LT/RT (L2/R2 아날로그 방아쇠 트리거)
16+: Home/Share (엑스박스 가이드 등 확장 버튼)

아날로그 축 (Axes) 데이터 규격

축 0/1: 왼쪽(L) 스틱 X/Y 회전 축 2/3: 오른쪽(R) 스틱 X/Y 회전 (값 범위: -1.0 에서 1.0)

표준 Gamepad API 구동

내 컨트롤러 키 매핑 번호가 도대체 왜 완전히 틀리게 막 나오나요?

DirectInput, XInput, 그리고 구형 드라이버의 파편화... 미쳐버린 물리 버튼 혼란 뒤에 숨겨진 진실 파헤치기

DirectInput(다이렉트인풋)의 한심한 무작위성

오래된 DirectInput 프로토콜은 버튼 순서 규칙을 전혀 명시하지 않았습니다—따라서 각 제조사가 자기 맘대로 번호를 자유롭게 할당했습니다. 구형 플레이스테이션 컨트롤러의 "×" 버튼은 제조년도에 따라 인덱스 0이 될 수도 있고 1이 될 수도 있습니다. 즉 동일한 물리적 버튼이라도 꽂는 컴퓨터 드라이버에 따라 번호 인덱스가 제각각 다를 수 있습니다.

강제 드라이버 레벨 매핑 스푸핑 수정

DS4Windows 혹은 BetterJoy 같은 우회 변환기 툴은 시스템에서 당신의 플스/프로콘 컨트롤러를 정품 Xbox 컨트롤러인 것처럼 깜빡 "위장"시킵니다. 이 소프트웨어들은 Standard Gamepad 스펙을 억지로 맞추기 위해 버튼 매핑을 중간에서 가로채 수정합니다. 이것은 버그가 아니라 프로그램의 의도치 않은 올바른 동작입니다.

사용자 FAQ 질문 목록

복잡한 컨트롤러 버튼 할당 매핑 번호에 대한 해답

Q내 컨트롤러의 D-Pad(십자키)가 버튼 12~15번이 아니라 왜 축(Axis)으로 표시되나요?

구형 Xbox 360 패드 같은 일부 구시대 컨트롤러 아키텍처는, 충격적이게도 십자 D-Pad를 4개의 개별 버튼이 아닌 아날로그 축(Axis 6/7) 배열로 퉁쳐서 설계했습니다. 이것은 온전히 당시 하드웨어 아키텍처 설계 디자인의 차이이며, 브라우저는 하드웨어가 뱉어내는 원시 상태를 정직하게 보여줄 뿐입니다.

Q패드 뒷면에 달린 LT/RT 방아쇠 트리거가 어떨 때는 단순 (버튼) 버튼처럼 작동하고, 어떨 때는 (축) 깊이값을 가지나요?

이 기능은 당신이 현재 사용 중인 드라이버의 모드에 전적으로 100% 달려 있습니다. XInput 표준 모드에서는 LT/RT가 엄연한 버튼 6/7(디지털)로 인식됩니다. 그러나 구형 DirectInput 모드에서는 종종 Z축 아날로그 깊이(0-1 사이의 값)로 표현되기도 합니다. 최신 Standard Gamepad W3C 스펙에서는 트리거를 우선적으로 버튼으로 처리하도록 권장하고 있습니다.

Q버튼 매핑 배열을 제 마음대로 여기서 바꾸거나 저장할 수 있나요?

이 웹 화면에서 작동하는 브라우저 Gamepad API는 오로지 하드웨어를 '읽기 전용'으로만 받아들입니다—여기서 매핑을 강제로 수정할 순 없습니다. 현실적인 해결책: ① 안티마이크로(AntiMicro), 조이투키(JoyToKey) 같은 시스템 전역 키보드 에뮬레이터를 사용하세요; ② 게임 클라이언트 내 옵션에서 키 커스텀 메뉴를 찾으세요; ③ DS4Windows 같은 강력한 전용 드라이버를 변경하세요.

Q제 시뮬레이션 컨트롤러엔 물리적인 버튼 껍데기가 20개가 넘는데 이건 뭔가요?

비싼 하이엔드 비행 심 스틱이나 레이싱 휠 같은 일부 타사 고급 컨트롤러 장비들은 본체 껍데기에 정말 수많은 물리 스위치 버튼을 달아놓습니다. 브라우저는 이 모든 버튼의 존재를 잡아내지만, 앞서말한 W3C 표준 게임패드 스펙은 기본적으로 단 17개의 엑스박스 구조 버튼 번호만 정의할 뿐입니다. 추가된 그 외 잉여 버튼 18번 19번들은 표준화된 이름이나 그래픽 이미지가 아예 없습니다.

컨트롤러 키 매핑 및 PC 인식 원리 이해하기

내 게임패드의 A키를 눌렀는데 왜 화면엔 B가 찍힐까요? 이 컨트롤러 입력 테스트 도구를 사용하여 하단 레이아웃 드라이버 논리를 파악하세요. PC 환경에서 꼬여버린 버튼을 테스트하고 리매핑 충돌 오류를 해결하는 가장 좋은 방법입니다.

XInput 표준 프로토콜 호환 방식

대부분의 PC 게임과 웹 브라우저는 윈도우 지원의 핵심인 Xbox 360/One 컨트롤러 레이아웃 표준을 따릅니다. 이는 내가 보유하고 있는 컨트롤러 브랜드에 관계없이, 컴퓨터 시스템이 항상 강제적으로 버튼을 표준 인덱스(0-16번)에 매핑한다는 뜻입니다.

버튼 0번 (인덱스0): A (하단 버튼)
버튼 1번 (인덱스1): B (우측 버튼)
버튼 2번 (인덱스2): X (좌측 버튼)
버튼 3번 (인덱스3): Y (상단 버튼)

키 입력 충돌 매핑의 일반적인 문제들

  • 닌텐도 기기 레이아웃 엇갈림 현상: Switch 컨트롤러는 물리적으로 "우측 A, 하단 B" 를 가지고 있지만, PC 환경에서는 고정적으로 "하단 A, 우측 B" 로 읽습니다. 테스트 중 버튼이 서로 바뀌어 반응한다면, 이는 하드웨어 결함이 아닌 닌텐도와 엑스박스의 프로토콜 배열 차이입니다. 스팀(Steam Input) 등을 통해 수정할 수 있습니다.
  • 후면 스위치 매크로/리맵핑 감지: 백 패들(뒷면 물리 버튼) 매핑이나 자체 할당 매크로를 사용하는 경우, 이 툴은 해당 물리 스위치가 아닌 리맵핑된 '논리적인 원래 버튼'을 보여줍니다. 예를 들어, 백 패들을 A에 매핑한 후 패들을 클릭하면, 도구 화면에선 0번 버튼(A키)이 눌린 것으로 불이 들어올 것입니다.

기본 API 버튼 번호 (인덱스 번호 뜻)

인덱스 0-3: 전면 기본 버튼 모음
인덱스 4-5: 범퍼 (LB/RB, L1/R1)
인덱스 6-7: 아날로그 트리거 (LT/RT, L2/R2)
인덱스 8-9: 옵션 (Select/Start, 메뉴버튼)
인덱스 10-11: 스틱 아날로그 누르기 (썸스틱 클릭: L3/R3)
인덱스 12-15: 방향키 (D-Pad)
인덱스 16: 홈 버튼 (PS 버튼, 엑박 로고 버튼)
인덱스 17: 공유 캡쳐/터치패드