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 @@
+
+
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