Bluetooth를 통해 기본적으로 Nintendo Switch에서 다른 콘솔의 컨트롤러를 사용하세요. 동글이나 기타 외부 하드웨어가 필요하지 않습니다.
mc.mitm
모듈은 시스템 상태를 방해하지 않고 bluetooth
프로세스와 상호 작용하는 데 사용할 수 있는 확장 IPC 명령을 추가합니다.현재 다음 컨트롤러가 지원됩니다. 아래 중 하나의 타사 변형이 있거나 목록에 없는 Bluetooth 컨트롤러가 있는 경우 컨트롤러 요청 문제 제출을 고려해 보세요.
* 모든 Xbox One 무선 컨트롤러가 Bluetooth를 지원하는 것은 아닙니다. 이전 변형은 독점 2.4Ghz 프로토콜을 사용하므로 스위치와 함께 사용할 수 없습니다. Bluetooth 변형 식별에 대한 정보는 여기를 참조하십시오.
최신 릴리스 .zip을 다운로드하고 SD 카드의 루트에 압축을 푼 다음 폴더를 병합하고 기존 파일을 덮어쓸 수 있습니다. 콘솔을 재부팅하여 모듈을 활성화하면 작업이 완료됩니다!
중요: 펌웨어 19.0.0에서 최신 Mission Control 릴리스를 실행하려면 Atmosphère >= 1.8.0이 필요합니다. 이전 Atmosphère 버전을 사용하면 부팅 시 Mission Control이 충돌하거나 시스템이 정지됩니다.
Mission Control은 기본적으로 부팅 시 Atmosphère에 의해 로드되어 나머지 운영 체제와 함께 무기한 실행되는 시스템 모듈(백그라운드 프로세스)입니다. 지원되지 않는 Bluetooth 컨트롤러를 기본 Pro 컨트롤러인 것처럼 사용할 수 있습니다. 즉, 추가 홈브류 응용 프로그램을 로드할 필요 없이 Nintendo 자체 시스템 메뉴를 통해 새 컨트롤러를 페어링하고 구성할 수 있습니다. (현재) 열 수 있는 Mission Control "앱"이 없습니다.
컨트롤러를 사용하려면 먼저 콘솔과 페어링해야 합니다(아래 참조). 일단 페어링되면 컨트롤러는 깨어날 때 자동으로 콘솔을 찾아 다시 연결합니다. 매번 다시 페어링할 필요가 없습니다. 비공식 컨트롤러는 콘솔을 깨우는 데 사용할 수 없습니다.
연결되면 컨트롤러의 버튼이 Switch Pro 컨트롤러의 물리적 레이아웃에 최대한 가깝게 매핑됩니다. 즉, A/B 및 X/Y 버튼은 버튼에 인쇄된 것을 사용하는 대신 Xbox 스타일 버튼 레이아웃을 사용하는 컨트롤러로 교체됩니다. 버튼 콤보 MINUS + DPAD_UP
및 MINUS + DPAD_DOWN
은 사용 가능한 페이스 버튼이 충분하지 않은 경우 CAPTURE
및 HOME
버튼에 대한 대안으로 모든 컨트롤러에 제공됩니다. 버튼 매핑은 System Settings->Controllers and Sensors->Change Button Mapping
공식 시스템 메뉴에서 변경할 수 있습니다.
대부분의 다른 기본 기능은 작동 합니다 (펌웨어 업데이트와 같은 기능 제외). 깨진 것을 발견하면 이 github 페이지에서 지원 문제를 열어주세요.
Nintendo는 컨트롤러 메뉴 항목에 다소 혼란스러운 이름 지정을 선택했습니다. 컨트롤러는 시스템 메뉴의 Controllers->Change Grip/Order
에서 페어링되며, 상식적으로 예상할 수 있는 것처럼 Pairing New Controllers
또는 Search for Controllers
아닙니다 . 이 화면에서 컨트롤러를 페어링 모드(아래 참조)로 설정하고 몇 초 정도 기다립니다. 성공하면 화면 왼쪽 상단에 Paired
알림이 표시됩니다. 이제 컨트롤러가 페어링되었으며 이 화면에 다시 들어갈 필요 없이 언제든지 다시 연결할 수 있습니다. 재페어링은 컨트롤러를 다른 장치나 emummc에 연결한 경우에만 필요합니다.
지원되는 컨트롤러마다 페어링/동기화 모드를 시작하는 고유한 방법이 있습니다. 다음은 일부 일반 콘솔 컨트롤러에 대해 이 모드를 시작하는 방법에 대한 지침입니다.
Nintendo Wii/WiiU 컨트롤러 컨트롤러 뒷면에 있는 빨간색 동기화 버튼을 누르세요. 컨트롤러 LED가 빠르게 깜박입니다.
컨트롤러마다 아날로그 스틱 범위와 중앙 위치가 다르지만 스위치 컨트롤러와 달리 저장된 공장 보정이 없으므로 해당하는 경우 이러한 컨트롤러 유형에 대해 아날로그 스틱 보정을 수행하는 것이 좋습니다.
Sony Dualshock3 컨트롤러 이 컨트롤러를 페어링하려면 USB 케이블을 통해 콘솔에 연결해야 합니다. 컨트롤러 LED가 깜박이기 시작하면 USB 케이블을 분리하고 PS
버튼을 누르세요.
참고: USB 유선 모드에서 컨트롤러를 사용하는 경우 원치 않는 동작을 방지하려면 일반적인 Controllers->Change Grip/Order
화면에서만 작동합니다.
Sony Dualshock4/Dualsense 컨트롤러 라이트바가 깜박이기 시작할 때까지 PS
+ share
버튼을 동시에 길게 누릅니다. 올바르게 수행되면 깜박임 패턴은 심장 박동과 비슷하고, 그렇지 않으면 일정한 속도로 깜박입니다.
컨트롤러를 본체에 페어링하는 데 어려움이 있는 경우 컨트롤러 뒷면에 있는 재설정 버튼을 몇 초 동안 길게 누른 후 다시 시도하세요. 때로는 Playstation 콘솔이나 다른 장치에 연결한 후 이 작업이 필요할 수 있습니다.
Microsoft Xbox One/Elite 2 컨트롤러 LED가 깜박이기 시작할 때까지 guide
( X
) 버튼을 길게 누릅니다. 그런 다음 LED가 더 빠르게 깜박이기 시작할 때까지 뒷면의 충전 포트 근처에 있는 작은 동기화 버튼을 길게 누릅니다.
참고: 컨트롤러 펌웨어 버전 5.xx.xxxx.x 이상은 Bluetooth Low Energy를 사용하며 현재 지원되지 않습니다. 호환되는 펌웨어로 다운그레이드하는 방법에 대한 지침은 FAQ를 참조하세요.
기타 컨트롤러 동기화 모드로 전환하는 방법에 대한 자세한 내용은 컨트롤러의 사용 설명서를 참조하세요. 많은 일반 Bluetooth 컨트롤러는 여러 모드 중 하나로 시작할 수 있습니다. 일반적으로 올바르게 작동하려면 HID, PC 또는 Android 모드와 같은 것을 선택하려고 합니다.
성공적으로 페어링되었지만 아직 공식적으로 지원되지 않은 컨트롤러는 Controllers
메뉴에 빨간색 버튼이 표시되어 해당 컨트롤이 매핑되지 않았음을 나타냅니다. 해당 컨트롤러에 대한 지원을 요청하려면 문제를 열어주세요.
config .ini 파일의 템플릿은 /config/MissionControl/missioncontrol.ini.template
에 설치됩니다. 기본 모듈 설정을 수정하려면 템플릿을 /config/MissionControl/missioncontrol.ini
에 복사하고 주석 처리를 해제하고(앞의 ;
제거) 변경하려는 설정을 수정합니다. 파일은 시작 시에만 구문 분석되므로 변경 사항을 적용하려면 재부팅해야 합니다. 올바르게 구문 분석/검증할 수 없는 설정 항목은 무시됩니다. 현재는 작은 구성 설정 세트만 있지만 향후 릴리스에서 확장될 예정입니다.
[general]
미션 제어 기능에 대한 일반적인 설정입니다.
enable_rumble
비공식 컨트롤러에 대한 럼블 지원을 활성화/비활성화합니다.enable_motion
모션 제어 지원을 활성화/비활성화합니다. [bluetooth]
이 설정은 블루투스 스위치를 스푸핑하여 다른 장치로 표시하는 데 사용될 수 있습니다. 전환할 때마다 다시 페어링할 필요 없이 여러 장치에서 컨트롤러를 사용하려는 경우 링크 키와 함께 유용할 수 있습니다. 이러한 설정을 변경하면 이전에 페어링된 컨트롤러에 저장된 콘솔 정보가 무효화되며 다시 페어링해야 합니다.
host_name
Bluetooth 호스트 어댑터 이름을 재정의합니다.host_address
블루투스 호스트 어댑터 주소를 재정의합니다. [misc]
기타 컨트롤러별 설정 등입니다.
analog_trigger_activation_threshold
아날로그 트리거가 있는 컨트롤러에 대해 ZL/ZR이 눌린 것으로 간주되는 임계값을 설정합니다. 유효한 범위는 [0-100]%입니다.dualshock3_led_mode
Dualshock 3 플레이어 LED 동작을 설정합니다. 유효한 모드 [0-1] 여기서 0=스위치 패턴, 1=PS3 패턴, 2=하이브리드(스위치 패턴은 컨트롤러의 숫자 라벨과 정렬되도록 반전됨)dualshock4_polling_rate
Sony Dualshock 4 컨트롤러에 대한 폴링 속도를 설정합니다. 유효한 범위 [0-16] 여기서 0=최대, 16=최소입니다. 해당 주파수 값은 여기를 참조하세요.dualshock4_lightbar_brightness
Sony Dualshock 4 컨트롤러의 LED 라이트바 밝기를 설정합니다. 유효한 범위 [0-9], 여기서 0=해제, 1=최소, 2-9=12.5-100%(12.5% 증분).dualsense_lightbar_brightness
Sony Dualsense 컨트롤러의 LED 라이트바 밝기를 설정합니다. 유효한 범위 [0-9], 여기서 0=해제, 1=최소, 2-9=12.5-100%(12.5% 증분).dualsense_enable_player_leds
Dualsense 터치패드 아래의 흰색 플레이어 표시기 LED를 활성화/비활성화합니다.dualsense_vibration_intensity
Dualsense 진동 강도를 증분당 12.5%로 설정합니다. 유효한 범위 [1-8], 여기서 1=12.5%, 8=100%.Mission Control과 해당 구성 요소를 기능적으로 제거하려면 SD 카드에서 다음 디렉터리를 삭제하고 콘솔을 재부팅하기만 하면 됩니다.
/atmosphere/contents/010000000000bd00
/atmosphere/exefs_patches/bluetooth_patches
/atmosphere/exefs_patches/btm_patches
설치된 소프트웨어의 모든 흔적을 완전히 제거하려면(원격 측정 제외) 다음 추가 단계를 수행할 수도 있습니다.
SD 카드에서 다음 디렉터리를 제거하세요.
/config/MissionControl
System Settings->Controllers and Sensors->Disconnect Controllers
통해 Bluetooth 페어링 데이터베이스를 삭제합니다.
다음은 제가 현재 작업 중이거나 앞으로 조사하고 싶은 기능의 목록입니다. 대략 우선순위가 높은 순서대로 나열되어 있습니다. 유용한 기능이 될 것이라고 생각하는 아이디어가 있으면 요청을 환영합니다.
/config/MissionControl/controllers
디렉터리에 저장합니다. 이 디렉터리 트리의 일부가 손상되면 구성 데이터를 읽으려는 시도가 실패할 때 컨트롤러 연결이 끊어질 수 있습니다.<여기에 CFW 삽입>에서 실행되나요? 아니요. Mission Control은 Atmosphère에서만 실행됩니다. 이것은 다른 CFW의 사용자를 차단하려는 시도가 아니며, Atmosphere는 단순히 이 시스템 모듈을 가능하게 하는 MITM Bluetooth 통신에 필요한 확장을 제공하는 유일한 것입니다.
이것을 사용하면 온라인 이용이 금지되나요? 현재 Mission Control 실행으로 인해 차단된 것으로 확인된 사례는 없습니다. 즉, CFW에서 비공식 소프트웨어를 실행하면 항상 금지 위험이 0이 아니며 Nintendo는 언제든지 금지 기준을 변경할 수 있습니다. Mission Control은 연결되는 Pro Controller를 단순히 에뮬레이션하므로 상대적으로 안전하지만 Nintendo가 관심이 있는 경우 비공식 컨트롤러를 콘솔에 연결했음을 감지하는 것이 확실히 가능할 것입니다. 귀하의 재량에 따라 사용하십시오.
USB 컨트롤러를 지원합니까? 아니요, Mission Control은 현재 Bluetooth 전용입니다. 지금은 USB 컨트롤러에 cathery의 sys-con을 사용할 수 있습니다.
sys-con이 설치된 상태에서 작동합니까? 예, 두 가지를 문제 없이 동시에 실행할 수 있습니다.
이 sysmodule 때문에 부팅 시 내 콘솔이 충돌합니다. 어떻게 해야 하나요? Mission Control의 제목 ID( 010000000000bd00
)로 부팅 시 충돌이 발생하는 경우 최근에 새로운 Atmosphere 릴리스로 업데이트하여 Mission Control 업데이트가 필요하거나 이전 버전의 Atmosphere를 실행 중일 가능성이 높습니다. 최신 버전의 Mission Control과 호환되지 않습니다. sm
(제목 ID 0100000000000004
)의 충돌은 현재 Atmosphere와 하나 이상의 홈브류 시스템 모듈 간의 버전 비호환성을 나타낼 수 있습니다. 이는 Mission Control로 인해 발생할 수 있거나 Mission Control이 책임이 있는 것처럼 보이더라도 libstratosphere를 사용하는 다른 사용자 정의 시스템 모듈일 수 있습니다( ldn_mitm
및 emuiibo
는 일반적인 위반자입니다). 방금 Atmosphere를 업데이트했다면 사용하는 시스템 모듈에 대한 업데이트도 출시되었는지 항상 확인해야 합니다. qlaunch 오류(타이틀 ID 0100000000001000
)는 실행 중인 사용자 정의 시스템 모듈이 너무 많아 사용 가능한 제한된 시스템 리소스가 고갈되고 있다는 신호일 수 있습니다. /atmosphere/contents
폴더를 확인하고 실제로 거기에 필요한 모든 것이 있는지 확인하십시오. 무엇을 하고 있는지 모른다면 이 폴더를 완전히 삭제하고 Atrium을 다시 설치한 다음 필요한 sysmodule만 명시적으로 다시 설치하는 것이 더 쉬울 수 있습니다.
Mission Control을 설치했지만 아무 작업도 수행하지 않습니다. 돕다! Mission Control은 주로 백그라운드 프로세스입니다. 컨트롤러가 Nintendo의 공식 메뉴를 통해 성공적으로 연결되었다는 것 외에는 시스템에 설치되었음을 나타내는 시각적 변화가 없습니다. 위의 사용 및 페어링 지침을 따랐으나 제대로 작동하지 않는 경우, 여기에 기본적인 문제 해결 체크리스트가 있습니다.
DPAD_UP
+ MINUS
버튼을 함께 누르면 됩니다. 이는 캡처 버튼 역할을 하며 모듈이 실행 중인 경우 스크린샷을 찍습니다. 스크린샷 알림이 표시되지 않으면 Mission Control이 로드되지 않은 것일 수 있습니다. 이는 일반적으로 잘못된 설치로 인해 발생하며 다음과 같은 여러 가지 이유로 발생할 수 있습니다. 여러 sysNAND/emuMMC 실행 구성에서 이를 어떻게 사용할 수 있습니까? 여러 개의 고유한 HOS 설치에 걸쳐 컨트롤러를 페어링하려면 여러 개의 페어링 데이터베이스가 필요하며 기본적으로 두 개의 서로 다른 콘솔과 페어링하는 것과 동일합니다. 유일한 예외는 sysNAND 복사본을 만들기 전에 컨트롤러를 페어링한 경우입니다. 지금은 전환할 때 컨트롤러를 다시 페어링해야 합니다. 앞으로는 이 문제를 피하기 위해 SD 카드에 데이터베이스를 로드/저장하는 옵션을 포함하고 싶습니다. 버전 1.5.1부터 Atmosphere에는 SD 카드의 파일을 통해 sysNAND와 emuMMC 간의 블루투스 페어링 데이터베이스를 동기화하는 데 기여한 코드가 포함되어 있습니다. 이것은 atmosphere/config/system_settings.ini
의 [atmosphere]
섹션 아래에 활성화 enable_external_bluetooth_db = u8!0x1
추가하여 활성화할 수 있습니다. 참고: 이 기능이 작동하려면 대기가 실행되어야 합니다. 따라서 sysCFW/emuMMC를 stock/OFW와 동기화하는 데 사용할 수 없습니다.
Mission Control을 사용하여 컨트롤러 버튼을 다시 매핑할 수 있나요? 예. Mission Control은 공식 Pro Controller를 에뮬레이션하므로 Nintendo가 펌웨어 10.0.0에 도입한 공식 방법을 사용하여 다시 매핑할 수 있습니다. 재매핑 옵션은 시스템 메뉴의 System Settings->Controllers and Sensors->Change Button Mapping
아래에서 찾을 수 있습니다.
내 콘솔에는 "페어링됨" 알림이 표시되지만 컨트롤러가 연결되지 않습니다. 무엇이 문제입니까? 컨트롤러가 콘솔과 성공적으로 페어링되었지만 입력 전송을 시작하기 직전에 연결이 끊어집니다. 이는 다양한 이유로 발생할 수 있으며 가장 일반적인 이유는 다음과 같습니다.
/config/MissionControl/controllers/<xxxxxxxxxxxx>/
, 여기서 <xxxxxxxxxxxx>
는 컨트롤러 Bluetooth MAC 주소의 12자리 16진수 표현)을 삭제하고 Mission Control에서 새 항목을 생성하도록 하세요. 경우에 따라 전체 controllers
디렉터리를 삭제해야 할 수도 있습니다. 참고: 이러한 파일을 삭제하면 사용자 아날로그 스틱이나 모션 보정과 같이 저장된 컨트롤러 관련 데이터가 모두 손실됩니다. 이는 가장 파괴적인 조치이므로 위의 제안 사항을 모두 적용한 후 마지막으로 시도해야 합니다.내 Xbox 컨트롤러가 연결되지 않습니다. 지원된다고 말한 것 같은데요? 비슷해 보이지만 모든 Xbox 컨트롤러가 동일하게 만들어지는 것은 아닙니다. 실제로 다양한 무선 기능을 갖춘 여러 가지 하드웨어 개정판/모델(작성 당시 7개)이 있습니다. Xbox 콘솔(또는 무선 USB 어댑터가 있는 PC)에서 모든 컨트롤러는 GIP라는 독점 Microsoft 무선 프로토콜을 사용합니다. 그러나 Bluetooth 연결은 동일한 것이 아니며 컨트롤러 모델마다 다릅니다. 블루투스를 지원하는 제품도 있고 지원하지 않는 제품도 있습니다. 그중 일부는 최신(현재 지원되지 않는) Bluetooth 저에너지(LE) 표준을 사용하고 있거나 펌웨어 업데이트 후 해당 표준으로 전환됩니다. 지원되는 유일한 모델은 1708(Xbox One S) 및 1797(Xbox Elite V2) 버전입니다. Bluetooth LE 펌웨어(5.xx.xxxx.x 이상)로 업데이트된 경우 펌웨어를 레거시 버전으로 다운그레이드해야 합니다(아래 참조). . 컨트롤러 모델 번호는 배터리함 내부 또는 내부 배터리가 있는 컨트롤러의 컨트롤러 뒷면에서 찾을 수 있습니다.
다양한 컨트롤러 개정판(이미지 포함)에 대한 자세한 내용은 여기를 참조하세요.
내 Xbox One/Elite V2 컨트롤러는 연결에 사용되었지만 지금은 연결되지 않습니다. 무엇이 제공됩니까? 2021년 말부터 Microsoft는 Xbox One/Elite 2 컨트롤러를 최신 Series X|S 컨트롤러에 맞춰 제공하는 것을 목표로 하는 새로운 컨트롤러 펌웨어를 출시했습니다. 이 펌웨어로 업데이트하면 컨트롤러가 현재 Mission Control에서 지원되지 않는 저전력 소비에 중점을 둔 최신 Bluetooth 표준인 Bluetooth Low Energy(LE)를 사용하도록 전환됩니다. 컨트롤러 펌웨어 버전이 5.xx.xxxx.x 이상인 경우 새 LE 펌웨어가 있으므로 기존 펌웨어로 다운그레이드해야 합니다(https://support.xbox.com/en-US/help/hardware 참조). -네트워크/액세서리/컨트롤러-펌웨어-복귀)
Xbox 360 컨트롤러에 대한 지원을 추가할 수 있나요? 아니요, 현재는 아닙니다. 이들은 블루투스를 사용하지 않습니다. 무선 USB 어댑터로 sys-con을 사용해 보세요.
절전 모드 해제 지원을 추가할 수 있나요? 아마도 그렇지 않을 것입니다. 내가 아는 한, 절전 모드 해제에는 컨트롤러가 Bluetooth 스위치 하드웨어에 특수 제어 명령을 보내는 것이 포함됩니다. 하드웨어/펌웨어를 수정하지 않고 스위치가 아닌 컨트롤러가 스위치가 인식한 명령을 보내도록 할 수 있는 방법은 없습니다.
블루투스 오디오 지원을 추가할 수 있나요? 아니요. 스위치의 Bluetooth 모듈은 숨겨진 컨트롤러를 작동시키는 데 필요한 작은 서비스 세트만 구현합니다. 이 작은 서비스 세트 중 소수의 상위 수준 기능만이 시스템의 나머지 부분에 노출됩니다. 오디오 지원을 추가하려면 오디오 전송에 필요한 서비스를 구현해야 하며, 이를 수행하는 데 필요한 하위 수준 기능에 액세스하려면 정상적인 사람이라면 블루투스 모듈의 오픈 소스 재구현이 필요합니다. 펌웨어 12.0.0부터 Nintendo에는 Bluetooth 오디오를 지원하는 기능이 추가되었습니다. 공식 소프트웨어에서는 이 기능이 활성화되지 않았지만 plutooo는 녹음을 지원하는 게임에서 Bluetooth 오디오를 활성화하는 nx-btred라는 실험적인 시스템 모듈을 만들었습니다. Mission Control에 기능을 추가해도 별 이점이 없습니다. 펌웨어 13.0.0부터 Nintendo는 이제 공식적으로 Bluetooth 오디오를 지원합니다.
내 컨트롤러에는 오디오 잭이 있습니다. 헤드셋 지원을 추가할 수 있나요? 할 것 같지 않은. 내가 아는 한, 헤드셋 오디오를 지원하는 컨트롤러는 독점 또는 비표준 수단을 통해 이를 수행합니다. 특정 컨트롤러에서 어떻게 작동하는지 이해하는 것뿐만 아니라 오디오를 지원하는 게임 패드에 대한 개념이 없을 때 HOS에 통합하는 것도 많은 작업이 될 것입니다. 컨트롤러가 일종의 표준 Bluetooth 오디오 형식을 사용하고 있는 가장 좋은 경우에는 여전히 콘솔의 일반적인 대역폭 제약(오디오 끊김, 컨트롤러 입력 지연 등)이 적용됩니다. 그냥 일반 헤드폰을 사용하세요.
Mission Control은 Man-In-The-Middling bluetooth
시스템 모듈과 초기화 IPC 명령 및 시스템 이벤트를 가로채고 들어오고 나가는 데이터를 변환하여 스위치가 공식 Pro 컨트롤러와 통신하고 있음을 확신시키는 방식으로 작동합니다.
이를 달성하기 위해 btdrv.mitm
모듈은 시스템이 btm
및 hid
모듈을 통해 IPC를 통해 초기화하려고 시도할 때 bluetooth
시스템 이벤트 및 공유 메모리에 대한 핸들을 얻습니다. 그런 다음 이들의 자체 보조 버전을 생성하고 원본 대신 해당 핸들을 전달합니다. 이를 통해 시스템에 알리거나 알리지 않기 전에 데이터 버퍼를 수정할 수 있습니다. 또한 컨트롤러로 나가는 요청을 변환하거나 삭제하기 위해 WriteHidData
IPC 명령이 차단됩니다. 후자의 경우 가짜 응답을 공유 메모리의 버퍼에 직접 쓸 수 있습니다.
초기화 IPC 명령을 가로채면 홈브류가 bluetooth
서비스를 올바르게 사용할 수도 있습니다. 일반적으로 시스템 이벤트를 초기화하거나 종료하는 IPC 명령을 호출하면 콘솔이 충돌하거나 시스템 프로세스가 보유한 이벤트 핸들이 무효화됩니다. btdrv.mitm
사용하면 홈브류가 인터페이스를 초기화하려고 할 때 대체 이벤트 핸들을 전달하고 시스템 프로세스가 보유하는 이벤트 대신 실제 시스템 이벤트를 해당 이벤트로 리디렉션할 수 있습니다.
bluetooth
모듈에 대한 exefs 패치는 Wii/WiiU 및 레거시 핀코드 페어링을 사용하는 기타 컨트롤러, Xbox Elite 2 무선 컨트롤러의 페어링을 활성화하고 최신 펌웨어에 추가된 장치 클래스 검사를 완화하여 키보드로 식별되는 장치를 허용하기 위해 제공됩니다. 또는 조이스틱을 연결하세요.
컨트롤러가 nn::bluetooth::hal::SetTsi
에서 보낸 broadcom 공급업체 명령에 올바르게 응답하지 못하는 경우 nn::bluetooth::hal::CloseHidConnection
대한 호출을 건너뛰도록 btm
모듈에 대한 exefs 패치가 추가되었습니다. 이렇게 하면 영향을 받는 모든 컨트롤러가 연결 직후 연결이 끊어지는 것을 방지하고 settsi_disable.flag
파일을 사용하여 특정 컨트롤러에 수동으로 플래그를 지정할 필요가 없습니다.
btm
서비스도 이제 MITM으로 지정되어 페어링 데이터베이스에 원래 이름을 유지하면서 즉석에서 컨트롤러 이름을 위조할 수 있습니다.
먼저 리포지토리를 로컬 시스템에 복제하고 새로 복제된 디렉터리로 전환합니다.
git clone --recurse-submodules https://github.com/ndeadly/MissionControl.git
cd MissionControl
Mission Control은 현재 Bluetooth 서비스 래퍼와 유형 정의를 추가하는 이제 공식 libnx 마스터가 Mission Control을 구축하는 데 사용됩니다. 이 글을 쓰는 시점에서는 devkitPro에서 배포하는 libnx를 직접 빌드할 필요 없이 사용할 수 있습니다. 공식 릴리스에 없는 최첨단 libnx
의 사용자 지정 포크를 사용합니다.libnx
커밋을 사용하기 위해 Atmosphere-libs
업데이트되는 경우 이는 변경될 수 있습니다. 어떤 경우든 다음 명령을 사용하여 소스에서 포함된 libnx
하위 모듈을 빌드할 수 있습니다.
cd lib/libnx
make && make install
다음으로 libstratosphere
빌드하세요. 빌드 오류가 발생하면 필수 종속성이 누락되었을 수 있습니다(https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/building.md 참조).
cd ../Atmosphere-libs/libstratosphere
make
마지막으로 배포판 .zip을 빌드하고 패키징합니다. 그러면 mc.mitm
sysmodule이 빌드되고 블루투스 exefs 패치로 패키징됩니다.
cd ../..
make dist
결과 패키지는 위에서 설명한 대로 설치할 수 있습니다.
이 프로젝트가 마음에 드신다면, 제가 계속해서 개발할 수 있도록 지원해주세요 :)