필요한 툴을, 바로 쓸 수 있게

버튼과 스틱을 확인하는 게임패드 테스트

컨트롤러를 USB나 블루투스로 연결한 다음 아무 버튼이나 눌러 보세요. 도식과 표에 버튼 눌림, 트리거 값, 스틱 위치가 바로 나타납니다. 스틱이 저절로 움직이는 것 같다면 손을 뗀 채 쏠림 5초 관찰을 누르고, 확인한 결과는 기록 복사로 남길 수 있습니다.

게임패드를 연결한 뒤 아무 버튼이나 눌러 주세요.

연결 전에는 표준 배치 도식만 보입니다.

이름
배치
입력 수
연결
없음

스틱 현재 값

왼쪽 스틱

X
Y
중심 거리

오른쪽 스틱

X
Y
중심 거리

값 범위는 −1~1입니다. X는 음수가 왼쪽, Y는 음수가 위쪽입니다. 표준 배치가 아닌 컨트롤러는 스틱을 짐작하지 않고 아래 축 표의 번호로만 보여줍니다.

중립 쏠림 관찰 · 5초

상태
대기
남은 시간
5.0
표본
0
스틱평균 X평균 Y최대 거리
왼쪽 스틱
오른쪽 스틱

스틱에서 손을 뗀 상태의 평균과 중심에서 가장 멀었던 거리입니다. 불량 기준이 아니며 게임마다 무시하는 범위가 다릅니다.

버튼과 트리거

누름 수 · 현재 값 · 최대 값(0~1)
버튼누름 수현재 값최대 값상태
게임패드를 연결하고 버튼을 누르면 표시됩니다.

축 값

현재 · 관찰 최소 · 관찰 최대(−1~1)
현재최소최대
게임패드를 연결하고 버튼을 누르면 표시됩니다.
최근 입력 기록 · 최대 12개
패드입력내용
아직 입력 기록이 없습니다.

화면 갱신마다 컨트롤러 상태를 읽으므로 아주 짧은 누름은 빠질 수 있습니다. Esc를 누르거나 다른 창·탭으로 이동하면 진행 중인 쏠림 관찰이 취소됩니다. 이 도구는 입력 기록을 저장하거나 서버로 전송하지 않습니다.

ROBERIN 기준필요한 툴을,
바로 쓸 수 있게.
  • 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
  • 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
  • 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.
ROBERIN

게임패드 입력을 읽고 확인하는 방법

게임패드테스트는 컨트롤러의 버튼과 트리거, 스틱을 움직였을 때 브라우저가 어떤 값을 받는지 보여주는 도구입니다. 표준 배치로 인식된 컨트롤러는 도식에서 눌린 버튼과 스틱 위치를 함께 확인할 수 있고, 표에서는 버튼마다 누름 수와 0부터 1까지의 값을, 축마다 −1부터 1까지의 값을 읽을 수 있습니다.

게임 속 캐릭터가 혼자 움직이거나 버튼 하나가 반응하지 않을 때, 먼저 컨트롤러 신호가 브라우저까지 어떻게 도착하는지 살펴보세요. 여기서 보이는 숫자는 현재 브라우저가 읽은 값입니다. 스틱 부품의 마모나 고장을 판정하지 않으며, 입력 지연 시간이나 폴링레이트도 측정하지 않습니다.

연결했는데 컨트롤러가 보이지 않을 때

브라우저는 개인 정보 보호를 위해 페이지가 보이는 상태에서 사용자가 컨트롤러 버튼을 누르기 전까지 게임패드 목록을 비워 둡니다. 케이블을 꽂거나 블루투스를 연결한 것만으로는 이름이 표시되지 않을 수 있으므로, 이 페이지를 연 채로 아무 버튼이나 한 번 눌러 주세요.

  1. 이 탭을 앞에 둔 상태에서 컨트롤러의 오른쪽 묶음 버튼이나 방향키를 누릅니다.
  2. 상태 문구가 “게임패드를 인식했습니다”로 바뀌는지, 확인할 컨트롤러 목록에 이름이 생기는지 봅니다.
  3. 그래도 비어 있으면 운영체제의 블루투스·장치 설정에서 컨트롤러가 연결됐는지 확인합니다.
  4. 다른 브라우저에서 같은 순서로 다시 시험합니다. 브라우저마다 지원하는 컨트롤러와 연결 방식이 다를 수 있습니다.

게임패드 정보는 보안 연결(HTTPS)에서만 읽을 수 있고, 페이지가 숨겨진 동안에는 갱신되지 않습니다. 컨트롤러 전용 앱이나 스팀 입력 같은 프로그램이 신호를 다른 형태로 바꾸면 브라우저에 보이는 이름과 버튼 수가 달라질 수도 있습니다.

표준 배치와 버튼 번호 읽는 법

브라우저가 컨트롤러를 표준 배치(standard)로 인식하면 버튼 17개와 축 4개의 위치가 정해진 번호로 전달됩니다. 이름은 제조사마다 다르기 때문에 이 도구는 위치를 기준으로 부르고, 대표적인 표기를 괄호에 함께 적었습니다.

  • 0~3: 오른쪽 묶음의 아래·오른쪽·왼쪽·위 버튼입니다. 보통 Xbox는 A·B·X·Y, 플레이스테이션은 ×·○·□·△에 해당합니다.
  • 4·5: 위쪽 앞 범퍼(LB·RB, L1·R1), 6·7: 아래쪽 앞 트리거(LT·RT, L2·R2)입니다.
  • 8·9: 가운데 묶음의 왼쪽·오른쪽 버튼, 16: 가운데 홈 버튼입니다.
  • 10·11: 왼쪽·오른쪽 스틱을 눌렀을 때의 버튼(L3·R3)입니다.
  • 12~15: 방향키의 위·아래·왼쪽·오른쪽입니다.

닌텐도 스위치 계열처럼 같은 위치에 다른 글자가 적힌 컨트롤러도 있습니다. 예를 들어 오른쪽 묶음 아래 버튼에 B가 적혀 있어도 브라우저에서는 0번으로 올 수 있으므로, 글자보다 위치로 확인하세요. 표준 배치로 인식되지 않으면 도식은 비활성으로 두고 표에 “버튼 5”, “축 2”처럼 번호만 표시합니다. 어느 축이 스틱인지 알 수 없으므로 스틱 현재 값과 쏠림 관찰도 사용하지 않습니다.

버튼 누름 수는 눌림으로 바뀐 순간을 셉니다

누름 수는 화면을 갱신할 때마다 컨트롤러 상태를 읽어, 버튼이 눌리지 않은 상태에서 눌린 상태로 바뀐 횟수를 셉니다. 계속 누르고 있으면 1회로 유지되고, 뗐다가 다시 눌러야 2회가 됩니다.

페이지가 컨트롤러를 처음 읽었을 때 이미 눌려 있던 버튼도 1회로 셉니다. 보통 컨트롤러를 알리기 위해 누른 첫 버튼이 여기에 해당합니다. 상태 칸에는 지금 누르는 중인지, 한 번이라도 확인됐는지를 글자로 표시하므로 색을 구분하기 어려워도 결과를 읽을 수 있습니다.

이 도구는 입력 이벤트가 아니라 화면 갱신 주기에 맞춰 상태를 읽습니다. 초당 60번 갱신하는 화면이라면 약 16.7ms마다 한 번 읽는 셈이어서, 그보다 짧게 눌렀다 뗀 입력은 빠질 수 있습니다. 한 번 빠졌다고 버튼 고장으로 보지 말고, 평소처럼 누르는 속도로 몇 번 반복해 비교하세요.

버튼 하나가 두 번씩 올라가는 것 같다면 최근 입력 기록을 펼쳐 같은 버튼이 연속으로 기록됐는지 확인할 수 있습니다. 기록은 최근 12개만 보여주지만 표의 누름 수는 전체 집계입니다.

트리거 값과 최대 값으로 끝까지 눌리는지 확인

표준 배치의 6번·7번 트리거는 눌린 정도를 0에서 1 사이의 값으로 보냅니다. 살짝 누르면 0.2나 0.5처럼 중간값이 나오고, 끝까지 누르면 1.00에 가까워집니다. 도식의 트리거 막대도 같은 값만큼 채워집니다.

  • 현재 값: 지금 읽은 값입니다. 손을 떼면 0.00으로 돌아와야 다음 확인이 쉽습니다.
  • 최대 값: 이번 기록에서 가장 크게 읽힌 값입니다. 끝까지 눌렀는데 1.00에 한참 못 미치는지 볼 때 씁니다.
  • 누름 상태: 브라우저가 “눌림”으로 판단한 여부입니다. 몇 이상을 눌림으로 볼지는 브라우저와 컨트롤러가 정하므로 값과 상태가 같은 순간에 바뀌지 않을 수 있습니다.

예를 들어 오른쪽 트리거를 0.35까지 누른 뒤 끝까지 눌렀다가 0.20으로 풀었다면 현재 값은 0.20, 최대 값은 1.00입니다. 일반 버튼은 대부분 0 또는 1만 보내지만, 일부 컨트롤러는 범퍼나 면 버튼도 중간값을 보냅니다.

양쪽 트리거의 최대 값을 비교하면 한쪽만 끝까지 인식되지 않는 경우를 찾는 데 도움이 됩니다. 다만 컨트롤러 설정 앱에서 트리거 감도나 정지 위치를 바꿨다면 그 설정이 반영된 값이 보입니다.

스틱 X·Y 값과 방향, 끝까지 닿는지 보는 법

스틱은 가로축과 세로축 두 개로 전달됩니다. 왼쪽 스틱은 축 0·1, 오른쪽 스틱은 축 2·3이며 값은 −1부터 1까지입니다. 가로축은 음수가 왼쪽, 세로축은 음수가 위쪽입니다. 스틱을 위로 밀었을 때 Y가 음수로 가는 것은 정상적인 표준 방향입니다.

  1. 스틱을 천천히 위·아래·왼쪽·오른쪽 끝까지 밀어 각 축의 관찰 최소와 최대가 −1과 1에 가까워지는지 봅니다.
  2. 스틱을 크게 한 바퀴 돌려 도식의 점이 테두리를 따라 매끄럽게 움직이는지 봅니다.
  3. 손을 떼고 X·Y와 중심 거리가 0에 가깝게 돌아오는지 확인합니다.

중심 거리는 √(X² + Y²)로 계산합니다. X가 0.030, Y가 −0.040이면 중심 거리는 0.050입니다. 대각선 끝에서는 두 축이 모두 커져 중심 거리가 1을 넘을 수 있으며, 이때 도식의 점은 테두리에 멈추지만 표의 숫자는 브라우저 값을 그대로 보여줍니다.

관찰 최소·최대는 초기화한 뒤부터 가장 작았던 값과 가장 컸던 값입니다. 한쪽 방향만 0.8 근처에서 멈춘다면 같은 동작을 여러 번 반복하고 다른 스틱이나 다른 컨트롤러와 비교해 보세요.

중립 쏠림 5초 관찰은 어떻게 계산하나요?

스틱 쏠림(드리프트)은 손을 뗐는데도 스틱 값이 중심 0으로 돌아오지 않는 현상을 말합니다. 쏠림 5초 관찰은 스틱을 건드리지 않은 5초 동안 읽은 값으로 스틱별 평균 X·평균 Y와 중심에서 가장 멀었던 거리를 계산합니다.

관찰 구간은 버튼을 누른 순간을 포함하고 5초가 지난 순간은 제외하는 [시작, 종료)입니다. 예를 들어 1,000ms에 시작해 1,000·2,000·5,999ms에 X가 0.02·0.04·0.06으로 읽혔다면 표본 3개, 평균 X는 0.040, 최대 거리는 0.060입니다. 6,000ms에 들어온 값은 종료 시각이므로 계산에 넣지 않습니다.

  1. 컨트롤러를 책상처럼 평평한 곳에 두고 스틱과 버튼에서 손을 뗍니다.
  2. 쏠림 5초 관찰을 누르고 남은 시간이 0이 될 때까지 기다립니다.
  3. 평균 X·Y는 한쪽으로 치우친 정도를, 최대 거리는 흔들림까지 포함한 가장 큰 벗어남을 보여줍니다.
  4. 같은 관찰을 두세 번 반복해 결과가 비슷한지 확인합니다.

진행 중에 Esc를 누르거나 다른 창·탭으로 이동하거나, 선택한 컨트롤러의 연결이 끊기거나 다른 컨트롤러를 고르면 관찰을 취소하고 결과를 남기지 않습니다. 중간까지의 표본으로 평균을 만들지 않습니다.

쏠림 수치를 읽을 때 주의할 점

이 도구는 쏠림 수치에 정상·불량 기준을 붙이지 않습니다. 많은 게임과 드라이버는 중심 근처의 작은 값을 무시하는 범위(데드존)를 두는데, 그 크기는 게임과 설정마다 다르기 때문입니다. 같은 0.05라도 어떤 게임에서는 전혀 보이지 않고, 데드존이 작은 게임에서는 조준이 미세하게 흐를 수 있습니다.

  • 평균은 작지만 최대 거리가 큰 경우: 손을 뗀 직후 스틱이 흔들렸거나 컨트롤러가 움직였을 수 있습니다. 가만히 둔 채 다시 관찰해 보세요.
  • 평균 X나 Y가 꾸준히 한쪽으로 치우친 경우: 게임에서 느낀 흐름 방향과 부호가 같은지 비교합니다.
  • 왼쪽과 오른쪽 스틱 차이: 같은 컨트롤러 안에서 두 스틱을 비교하면 한쪽만 다른지 알아보기 쉽습니다.

컨트롤러 전용 앱에서 데드존이나 감도를 바꿨다면 브라우저에 보이는 값도 바뀔 수 있습니다. 비교할 때는 설정을 적어 두고 같은 조건에서 관찰하세요. 수리·교체가 필요한지는 이 수치만으로 정하지 말고 제조사 안내와 함께 판단해야 합니다.

진동 시험이 비활성이거나 느껴지지 않을 때

진동 시험은 선택한 컨트롤러와 브라우저가 진동 기능을 페이지에 제공할 때만 누를 수 있습니다. 누르면 두 모터를 0.8초 동안 0.8 세기로 움직이라는 명령(dual-rumble)을 보냅니다. 진동 기능은 모든 브라우저가 지원하는 기능이 아니어서 컨트롤러에 모터가 있어도 버튼이 비활성일 수 있습니다.

브라우저가 “complete”라고 알려도 그것은 명령을 마쳤다는 뜻이지, 모터가 실제로 떨렸다는 확인은 아닙니다. 진동은 손으로 느낀 결과로 판단하세요. 명령이 거부되면 실패 안내를 표시하며 성공한 것처럼 보이지 않습니다.

다른 앱이 컨트롤러 진동을 먼저 쓰고 있거나, 무선 연결에서 배터리 절약 설정이 켜져 있으면 진동이 약하거나 없을 수 있습니다. 진동이 전혀 없다면 유선 연결이나 다른 브라우저로 한 번 더 비교해 보세요. 탭이 숨겨진 상태에서는 진동 명령이 거부됩니다.

여러 컨트롤러와 연결 끊김 기록

컨트롤러를 두 대 이상 연결하면 브라우저가 붙인 번호(패드 0, 패드 1…)로 따로 기록합니다. 확인할 컨트롤러 목록에서 하나를 고르면 도식과 표가 그 컨트롤러의 값으로 바뀌고, 다른 컨트롤러의 누름 수는 섞이지 않습니다.

  • 처음에는 가장 먼저 인식된 컨트롤러를 보여줍니다.
  • 선택을 바꾸면 진행 중인 쏠림 관찰만 취소하고 버튼·축 기록은 유지합니다.
  • 연결이 끊긴 컨트롤러는 목록에 “끊김”으로 남고, 같은 이름으로 다시 연결되면 기록을 이어서 셉니다.
  • 초기화는 연결된 컨트롤러 목록은 두고 누름 수·최대 값·축 범위·쏠림 결과·최근 기록만 비웁니다.

무선 컨트롤러가 시험 도중 자주 끊긴다면 최근 입력 기록에 연결과 연결 끊김이 반복해서 남습니다. 이 기록을 복사해 두면 거리나 배터리 상태를 바꿔 가며 비교할 때 도움이 됩니다.

기록 복사와 초기화, 무엇이 남나요?

기록 복사는 선택한 컨트롤러의 결과를 텍스트로 클립보드에 옮기는 기능입니다. 이름과 배치, 버튼별 누름 수·현재 값·최대 값, 축별 현재·최소·최대 값, 쏠림 관찰 결과와 계산 기준, 고장 판정이 아니라는 안내가 함께 들어갑니다.

클립보드 권한이 없거나 복사가 실패하면 실패 안내를 표시합니다. 복사해도 화면의 기록은 지워지지 않습니다. 비교할 결과가 있다면 먼저 복사해 메모에 붙여 넣은 다음 초기화하세요.

입력 기록은 이 도구가 브라우저 안에서 처리하며 저장·업로드하거나 서버로 전송하지 않습니다. 새로고침하거나 페이지를 닫으면 다시 불러올 수 없습니다. 이는 측정 데이터의 처리 범위에 대한 설명이며 사이트 전체에 통신이 없다는 뜻은 아닙니다.

입력이 이상할 때 확인할 순서

예상과 다른 결과가 나왔다면 되돌릴 수 있는 조건부터 하나씩 바꿔 비교하세요. 한 번의 누락이나 작은 쏠림만으로 부품 문제를 단정하기보다 같은 동작을 반복한 기록이 원인을 좁히는 데 도움이 됩니다.

  1. 현재 기록을 복사하고 초기화한 뒤, 문제 버튼이나 스틱만 천천히 여러 번 움직입니다.
  2. 유선과 무선, 다른 USB 포트, 다른 브라우저에서 같은 순서로 비교합니다.
  3. 컨트롤러 전용 앱, 스팀 입력 같은 변환 프로그램을 끄거나 켠 상태를 구분해 기록합니다.
  4. 무선이라면 배터리를 충분히 채우고 기기와 가까운 곳에서 다시 시험합니다.
  5. 문제가 반복되면 모델명, 연결 방식, 브라우저와 복사한 기록을 정리해 제조사 안내와 대조합니다.

키보드 단축키로 버튼을 바꿔 쓰는 경우에는 컨트롤러 신호 대신 키 신호가 전달될 수 있습니다. 그때는 키보드 테스트에서 해당 키가 들어오는지 따로 확인할 수 있습니다. 마우스 버튼과 휠을 점검하려면 마우스 테스트를 쓰세요. 화면 신호를 보고 얼마나 빨리 반응하는지가 궁금하다면 반응속도 테스트가 다른 질문에 답합니다. 이 도구는 반응 시간이나 입력 지연을 측정하지 않습니다.

버튼 배치·축·진동 설명의 근거

버튼과 축의 번호, 값 범위, 컨트롤러가 페이지에 공개되는 조건과 진동 명령의 의미는 아래 브라우저 표준 문서에서 확인할 수 있습니다. 이 문서들은 웹에 전달되는 입력의 형식을 설명하며, 특정 제품의 불량 기준을 정하지 않습니다.

  • W3C Gamepad 명세: 표준 배치의 버튼 0~16과 축 0~3, 값 범위와 방향, 사용자 조작 전 빈 목록, 진동 효과 종류를 정의합니다.
  • MDN Using the Gamepad API: 버튼을 눌러야 컨트롤러가 노출되는 이유와 매 프레임 상태를 다시 읽는 방식을 설명합니다.
  • MDN GamepadHapticActuator.playEffect(): 진동 명령의 결과 값과 지원 범위가 제한적이라는 점을 설명합니다.
  • MDN performance.now(): 쏠림 관찰 5초를 재는 시간 측정 방식을 설명합니다.

5초 관찰 시간과 중심 거리 계산은 이 도구가 정한 집계 방식입니다. 제조사의 정상·불량 경계나 표준 문서가 권장하는 기준으로 받아들이지 마세요.

자주 묻는 질문

중고 게임패드를 살 때 어떤 순서로 확인하면 좋나요?

버튼 17개를 하나씩 눌러 모두 확인함으로 바뀌는지 보고, 두 트리거의 최대 값이 1.00 가까이 올라가는지 확인하세요. 스틱은 네 방향 끝까지 밀어 최소·최대가 −1과 1 근처에 닿는지 본 다음, 손을 떼고 쏠림 5초 관찰을 두세 번 반복합니다. 결과를 기록 복사로 남겨 두되, 배터리 수명이나 간헐적인 연결 문제까지 보증하지는 않습니다.

Xbox·플레이스테이션·스위치 컨트롤러 모두 쓸 수 있나요?

브라우저가 게임패드로 인식하는 컨트롤러라면 확인할 수 있습니다. 다만 브라우저와 운영체제, 연결 방식에 따라 표준 배치로 인식되지 않거나 버튼 수가 다르게 보일 수 있습니다. 표준 배치가 아니면 도식 대신 표의 번호로 확인하고, 버튼 이름은 적힌 글자보다 위치로 읽으세요.

스틱을 놓았는데 값이 0이 아니면 쏠림인가요?

많은 컨트롤러가 손을 뗀 상태에서도 0이 아닌 작은 값을 보낼 수 있습니다. 게임은 보통 중심 근처의 작은 값을 무시하는 데드존을 두므로 숫자만으로 불량이라고 볼 수는 없습니다. 쏠림 5초 관찰을 반복해 평균이 한 방향으로 꾸준히 치우치는지, 게임에서 느낀 흐름 방향과 같은지 비교하세요.

위로 밀었는데 Y 값이 음수로 나와요. 반대로 인식된 건가요?

아닙니다. 표준 배치에서 세로축은 위쪽이 음수, 아래쪽이 양수입니다. 가로축은 왼쪽이 음수, 오른쪽이 양수입니다. 게임이 위쪽을 양수로 쓰더라도 브라우저 표준 값은 이렇게 전달되며, 도식의 점도 같은 방향으로 움직입니다.

버튼을 빠르게 눌렀는데 누름 수가 덜 올라가요.

이 도구는 화면이 갱신될 때마다 컨트롤러 상태를 읽습니다. 초당 60번 갱신하는 화면이라면 약 16.7ms보다 짧게 눌렀다 뗀 입력은 읽히기 전에 끝나 빠질 수 있습니다. 연타 속도 측정용이 아니므로 평소 누르는 속도로 반복해 버튼이 반응하는지 확인하세요.

트리거를 끝까지 눌러도 1.00이 되지 않아요.

최대 값이 0.9대라면 컨트롤러나 드라이버가 끝부분을 조금 다르게 보고하는 것일 수 있습니다. 양쪽 트리거를 같은 힘으로 여러 번 눌러 최대 값을 비교하고, 컨트롤러 앱에서 트리거 정지 위치나 감도 설정이 켜져 있는지 확인하세요. 한쪽만 크게 낮게 나오면 그 차이를 기록해 제조사 안내와 대조할 수 있습니다.

진동 시험 버튼이 눌리지 않아요.

선택한 컨트롤러와 브라우저가 진동 기능을 페이지에 제공하지 않으면 버튼이 비활성으로 남습니다. 진동 기능은 모든 브라우저가 지원하지 않으며, 같은 컨트롤러라도 브라우저나 연결 방식에 따라 달라질 수 있습니다. 비활성이라는 사실만으로 컨트롤러 모터가 고장 났다고 볼 수는 없습니다.

휴대전화에 컨트롤러를 연결해도 되나요?

휴대전화 브라우저가 게임패드 기능을 지원하고 블루투스나 USB로 컨트롤러가 연결되면 같은 방식으로 확인할 수 있습니다. 연결 후 이 페이지를 연 채 버튼을 눌러야 인식됩니다. 기기마다 지원 범위가 달라 표준 배치로 인식되지 않을 수 있으며, 화면이 꺼지거나 다른 앱으로 이동하면 쏠림 관찰은 취소됩니다.

Roberin
센스 있는 개발자
창의적이고 실용적인 툴로 더 나은 세상을 만드는 센스 있는 개발자, Roberin입니다. 기술은 모두를 위한 것, 함께 더 편리한 세상을 만들어 가요! 😊
문의 양식
확인에 필요한 이야기만 남겨주세요.
답장이 필요한 경우 이메일을 함께 적어주세요. 오류 제보라면 페이지 주소, 입력값, 기대한 결과와 실제 결과를 적어주시면 확인이 빨라집니다.