본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

LegendCTL

0

LegendCTL은 EvilHumphrey가 개발한 MIT 라이선스의 오픈소스 Windows용 독립형 구성 도구로, ZD Ultimate Legend 게임 컨트롤러의 설정을 USB를 통해 로컬에서 직접 읽고 적용할 수 있도록 돕습니다.

게임패드윈도우 설정 도구컨트롤러 설정

소개

LegendCTL은 EvilHumphrey가 개발한 MIT 라이선스의 오픈소스 Windows용 독립형 구성 도구로, ZD Ultimate Legend 게임 컨트롤러의 설정을 USB를 통해 로컬에서 직접 읽고 적용할 수 있도록 돕습니다. 공식 ZD 앱이나 드라이버 설치, 네트워크 연결, 백그라운드 서비스 없이 동작하며, ZD Gaming과는 무관한 비공식 커뮤니티 프로젝트로 명시되어 있습니다.

상세정보

컨트롤러 설정 읽기 및 적용

  • USB 폴링레이트(250~8000Hz, 8K는 펌웨어 v1.18 이상 필요)와 16×16 버튼 바인딩 매트릭스, 현재 바인딩 표시를 지원합니다.
  • 스틱 데드존 4개 영역, 3앵커 감도 곡선(펌웨어 v1.24 이상에서 8포인트 곡선), 축 반전, 조이스틱 스텝 사이즈, 트리거 범위·모드·진동 모드를 조정할 수 있습니다.
  • 조명은 영역별(Home/Left/Right)로 on/off, 모드, 밝기, RGB를 설정하고, 진동은 모터별 및 트리거 진동 모드를 구성합니다.
  • 백 패들 바인딩은 8개 패들(M1~M4, LM, RM, LK, RK)에 대해 1단계 컨트롤러 버튼 전용으로 매핑되며, 디바이스에서 직접 읽을 수 없는 값은 “Not set in LegendCTL”로 표시됩니다.

프로파일 관리 및 안전장치

  • 조정 값을 래퍼 프로파일로 저장·적용·삭제할 수 있으며, 폴링레이트와 스텝 사이즈도 함께 캡처할 수 있습니다.
  • 기기 상태에 영향을 주는 변경에는 복원 지점(Restore Point)이 먼저 생성되고, 모든 프로파일 적용 후에는 디바이스에서 읽기 검증을 수행합니다.
  • 디바이스와 프로파일의 3-way 차이점 비교(라이브 디바이스·저장된 프로파일·마지막 적용값), 신뢰 카드, Wear Ledger, Module Passport, 진단 묶음(Diagnostic Bundle) 내보내기 기능을 제공합니다.

입력 확인 및 진단

  • Live Verify는 XInput에서 양쪽 스틱의 트레이스와 원형도(circularity)를 실시간으로 표시하여 플랫 스팟이나 중심 이탈을 시각적으로 확인하게 합니다.
  • Health Report는 다단계 측정 워크플로를 안내하고 결과를 내보낼 수 있으며, Readiness Check는 20초 사전 점검으로 결과를 표시합니다.
  • Live Verify 패널에서는 펌웨어 데드존을 인라인으로 조정할 수 있으며, 각 변경 시 복원 지점을 먼저 캡처하고 안정화된 값을 읽기로 확인합니다.

설치 및 기본 사용

두 가지 배포 형태가 동일한 래퍼 실행 파일을 제공합니다.

  • 포터블 ZIP: 릴리스 페이지의 ZDUltimateLegend-v<버전>-windows.zip을 내려받아 임의 위치에 풀고 ZD Ultimate Legend.exe를 실행합니다. 관리자 권한이 필요 없고, 설정은 %APPDATA%ZDUltimateLegend에 저장되어 USB 드라이브 등 어느 위치에서 실행해도 유지됩니다.
  • 설치 프로그램: 같은 릴리스의 ZDUltimateLegend-v<버전>-Setup.exe는 %ProgramFiles%ZDUltimateLegend에 설치하며 시작 메뉴와 Windows 설정 앱의 제거 항목을 등록합니다(데스크톱 바로가기는 기본 해제).
  • winget: winget install --id EvilHumphrey.LegendCTL --exact 명령으로 커뮤니티 카탈로그에서 설치할 수 있으며, 카탈로그가 최신 GitHub 릴리스를 따라잡는 데 시간이 걸릴 수 있습니다.

최초 실행 시 SmartScreen 경고가 표시될 수 있으며, 이때 More info → Run anyway를 선택하기 전에 동일한 릴리스의 SHA256SUMS.txt 값과 다운로드한 파일의 해시를 비교해 출처를 확인하는 절차가 안내됩니다.

기본 사용 흐름은 컨트롤러를 USB에 연결하고 앱을 실행하면 연결 시 현재 상태를 자동으로 읽은 뒤, 사이드바 탭에서 설정을 조정한 후 탭 단위 또는 푸터의 Apply로 디바이스에 기록하는 방식입니다. 프로파일 저장은 Save As…, 삭제는 Delete, 라이브 입력 확인은 Open Live Verify, 진단은 Health Check 또는 Diagnostics 메뉴를 통해 수행합니다.

활용 예시

  • 스틱 데드존과 감도 곡선을 게임 장르에 맞춰 조정하고, 이를 프로파일로 저장해 여러 설정 사이를 빠르게 전환합니다.
  • Live Verify로 새 컨트롤러의 스틱 원형도와 플랫 스팟을 점검하고, 이상이 있는 경우 공식 ZD 앱의 “Restore to default” 또는 래퍼의 복원 지점으로 되돌립니다.
  • 조명 영역과 진동을 사용자 환경에 맞게 구성하고, 8K 폴링레이트(펌웨어 v1.18 이상) 또는 8포인트 감도 곡선(펌웨어 v1.24 이상)이 지원되는 빌드에서 고성능 입력 옵션을 시험합니다.

제한 및 확인 사항

  • ZD Gaming이 비공식 프로젝트임을 명시하도록 요청한 면책 조항이 그대로 포함되어 있으며, 컨트롤러 문제에 대한 공식 보증 대상이 아닙니다.
  • 개발·테스트는 한 대의 ZD Ultimate Legend(펌웨어 v1.18, v1.24의 최신 최적화 빌드 포함)에서 수행되었으며, 다른 컨트롤러 변형이나 펌웨어 버전에서는 동작이 달라지거나 일부 설정이 동작하지 않을 수 있습니다.
  • 지원되지 않는 경로와 쓰기 전용 필드는 성공으로 표시되지 않으며, 컨트롤러가 이상하게 동작할 경우 공식 ZD 앱의 “Restore to default” 또는 래퍼의 복원 지점을 통해 복구할 수 있습니다.
  • 드라이버 설치, 가상 디바이스, 입력 주입, 매크로/터보/자동화, 백그라운드 서비스, 네트워크 호출, 텔레메트리, 자동 업데이트는 의도적으로 제공되지 않으며, 프로파일 가져오기(Safe Import)는 개발자 토글이 켜져 있을 때만 표시됩니다.
  • 현재 빌드는 코드 서명 인증서가 없는 상태(PyInstaller 패키징 특성상 일부 백신에서 오탐 가능성이 있음)이며, 출처 확인 후 SmartScreen을 통과해야 합니다.

화면으로 보는 주요 기능

홈 화면

홈 화면

이미지에는 LegendCTL 소프트웨어의 홈 화면이 표시되어 있다. 좌측에는 'Home', 'Controller', 'Diagnostics', 'Live Verify' 등의 메뉴 항목이 있는 네비게이션 패널이 있다. 중앙 상단에는 'LegendCTL' 섹션이 있으며, 'Configure on-device controller settings, inspect live input, and run diagnostics.'라는 설명과 함께 'Read controller settings' 및 'Open Live Verify' 버튼이 있다. 그 아래에는 'Device & profile' 섹션이 있으며, 'Connected – USB [No Automation]'와 'ZD Ultimate Legend' 등의 정보가 표시되어 있다. 'Next step' 섹션에는 'Read controller settings', 'Open Live Verify', 'Health Check', 'Open Controller settings' 버튼이 있다. 하단에는 'Recent Activity' 로그가 표시되어 있으며, 'Controller snapshot refreshed: OK', 'Read controller state', 'Model fingerprint' 등의 메시지가 있다. 오른쪽에는 'Context' 패널이 있으며, 'Device model', 'Connection', 'Firmware', 'Active profile' 등의 정보가 있다. 하단에는 'Profile: pre-fw-baseline', 'Save As…', 'Apply', 'Delete', 'Read…', 'Ready.' 등의 버튼이 있다.

시스템 요구사항

Windows 10/11(x64) 운영체제에서 실행되며, 컨트롤러는 USB 포트에 직접 연결되어 있어야 합니다. 공식 ZD 앱, 드라이버 설치, 네트워크 연결, 계정, API 키, 원본 파일은 필요하지 않으며, 모든 처리는 로컬에서 이루어집니다. 빌드용 소스 실행 시에는 64비트 Python 3.12가 필요하고, Dear PyGui 2.3.1 호환을 위해 같은 메이저 버전의 인터프리터가 권장됩니다.