diff --git a/public/images/Ipega9023.svg b/public/images/Ipega9023.svg new file mode 100644 index 0000000000..9ce768c7b3 --- /dev/null +++ b/public/images/Ipega9023.svg @@ -0,0 +1,548 @@ + +XXXXXXXXXXXXXXXX diff --git a/src/assets/joystick-profiles.ts b/src/assets/joystick-profiles.ts index 5f1dbcf5c0..bb250f873b 100644 --- a/src/assets/joystick-profiles.ts +++ b/src/assets/joystick-profiles.ts @@ -156,6 +156,11 @@ export const availableGamepadToCockpitMaps: { [key in JoystickModel]: GamepadToC axes: [0, 1, 2, 3], buttons: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], }, + [JoystickModel.IpegaPG9023]: { + name: 'Ipega9023', + axes: [0, 1, 2, 3], + buttons: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], + }, [JoystickModel.XboxOneS_Bluetooth]: { name: 'Xbox One S', axes: [0, 1, 2, 3], diff --git a/src/components/joysticks/JoystickPS.vue b/src/components/joysticks/JoystickPS.vue index 0545005ecf..cc7139bf21 100644 --- a/src/components/joysticks/JoystickPS.vue +++ b/src/components/joysticks/JoystickPS.vue @@ -25,12 +25,15 @@ enum SVGModel { PS4 = 'PS4', PS5 = 'PS5', LogitechExtreme3DPro = 'LogitechExtreme3DPro', + IPEGAPG9023 = 'Ipega9023', } const joystickSvgModel = computed(() => { switch (joystickModel.value) { case JoystickModel.LogitechExtreme3DPro: return SVGModel.LogitechExtreme3DPro + case JoystickModel.IpegaPG9023: + return SVGModel.IPEGAPG9023 default: return SVGModel.PS4 } diff --git a/src/libs/joystick/manager.ts b/src/libs/joystick/manager.ts index 7cd21d9e4a..ba377eaf2e 100644 --- a/src/libs/joystick/manager.ts +++ b/src/libs/joystick/manager.ts @@ -23,6 +23,7 @@ export enum JoystickModel { XboxController_Wired = 'Xbox controller (wired)', XboxController_360 = 'Xbox 360 controller', LogitechExtreme3DPro = 'Logitech Extreme 3D Pro', + IpegaPG9023 = 'Ipega PG-9023', Unknown = 'Unknown Joystick Model', } @@ -35,6 +36,7 @@ const JoystickMapVidPid: Map = new Map([ ['045e:0b12', JoystickModel.XboxController_Wired], ['28de:11ff', JoystickModel.XboxController_360], ['046d:c215', JoystickModel.LogitechExtreme3DPro], + ['1949:0402', JoystickModel.IpegaPG9023], ]) // Necessary to add functions