A game about forced loneliness, made by TACStudios
at master 112 lines 6.1 kB view raw
1#if UNITY_EDITOR || UNITY_SWITCH || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_WSA 2using UnityEngine.InputSystem.Layouts; 3 4namespace UnityEngine.InputSystem.Switch 5{ 6 /// <summary> 7 /// Adds support for Switch NPad controllers. 8 /// </summary> 9#if UNITY_DISABLE_DEFAULT_INPUT_PLUGIN_INITIALIZATION 10 public 11#else 12 internal 13#endif 14 static class SwitchSupportHID 15 { 16 public static void Initialize() 17 { 18 #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA 19 InputSystem.RegisterLayout<SwitchProControllerHID>( 20 matches: new InputDeviceMatcher() 21 .WithInterface("HID") 22 .WithCapability("vendorId", 0x057e) // Nintendo 23 .WithCapability("productId", 0x2009)); // Pro Controller. 24 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 25 new InputDeviceMatcher() 26 .WithInterface("HID") 27 .WithCapability("vendorId", 0x0f0d) // Hori Co., Ltd 28 .WithCapability("productId", 0x0092)); // Pokken Tournament DX Pro Pad 29 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 30 new InputDeviceMatcher() 31 .WithInterface("HID") 32 .WithCapability("vendorId", 0x0f0d) // Hori Co., Ltd 33 .WithCapability("productId", 0x00aa)); // Real Arcade Pro 34 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 35 new InputDeviceMatcher() 36 .WithInterface("HID") 37 .WithCapability("vendorId", 0x0f0d) // Hori Co., Ltd 38 .WithCapability("productId", 0x00c1)); // HORIPAD for Nintendo Switch 39 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 40 new InputDeviceMatcher() 41 .WithInterface("HID") 42 .WithCapability("vendorId", 0x0f0d) // Hori Co., Ltd 43 .WithCapability("productId", 0x00dc)); // Fighting Commander 44 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 45 new InputDeviceMatcher() 46 .WithInterface("HID") 47 .WithCapability("vendorId", 0x0f0d) // Hori Co., Ltd 48 .WithCapability("productId", 0x00f6)); // HORI Wireless Switch Pad 49 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 50 new InputDeviceMatcher() 51 .WithInterface("HID") 52 .WithCapability("vendorId", 0x0e6f) // PDP 53 .WithCapability("productId", 0x0180)); // Faceoff Wired Pro Controller for Nintendo Switch 54 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 55 new InputDeviceMatcher() 56 .WithInterface("HID") 57 .WithCapability("vendorId", 0x0e6f) // PDP 58 .WithCapability("productId", 0x0181)); // Faceoff Deluxe Wired Pro Controller for Nintendo Switch 59 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 60 new InputDeviceMatcher() 61 .WithInterface("HID") 62 .WithCapability("vendorId", 0x0e6f) // PDP 63 .WithCapability("productId", 0x0185)); // Wired Fight Pad Pro 64 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 65 new InputDeviceMatcher() 66 .WithInterface("HID") 67 .WithCapability("vendorId", 0x0e6f) // PDP 68 .WithCapability("productId", 0x0186)); // Afterglow Wireless Switch Controller - "Nintento Wireless Gamepad" 69 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 70 new InputDeviceMatcher() 71 .WithInterface("HID") 72 .WithCapability("vendorId", 0x0e6f) // PDP 73 .WithCapability("productId", 0x0187)); // Rock Candy Wired Controller for Nintendo Switch 74 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 75 new InputDeviceMatcher() 76 .WithInterface("HID") 77 .WithCapability("vendorId", 0x20d6) // PowerA 78 .WithCapability("productId", 0xa712)); // NSW Fusion Wired FightPad 79 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 80 new InputDeviceMatcher() 81 .WithInterface("HID") 82 .WithCapability("vendorId", 0x20d6) // PowerA 83 .WithCapability("productId", 0xa716)); // NSW Fusion Pro Controller 84 85 // gamepads below currently break Mac Editor and Standalone 86 #if !(UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX) 87 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 88 new InputDeviceMatcher() 89 .WithInterface("HID") 90 .WithCapability("vendorId", 0x0e6f) // PDP 91 .WithCapability("productId", 0x0184)); // Faceoff Premiere Wired Pro Controller for Nintendo Switch 92 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 93 new InputDeviceMatcher() 94 .WithInterface("HID") 95 .WithCapability("vendorId", 0x0e6f) // PDP 96 .WithCapability("productId", 0x0188)); // Afterglow Deluxe+ Audio Wired Controller 97 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 98 new InputDeviceMatcher() 99 .WithInterface("HID") 100 .WithCapability("vendorId", 0x20d6) // PowerA 101 .WithCapability("productId", 0xa714)); // NSW Spectra Wired Controller 102 InputSystem.RegisterLayoutMatcher<SwitchProControllerHID>( 103 new InputDeviceMatcher() 104 .WithInterface("HID") 105 .WithCapability("vendorId", 0x20d6) // PowerA 106 .WithCapability("productId", 0xa715)); // Fusion Wireless Arcade Stick 107 #endif 108 #endif 109 } 110 } 111} 112#endif