diff --git a/DeltaCore/Game Controllers/MFi/MFiGameController.swift b/DeltaCore/Game Controllers/MFi/MFiGameController.swift
index 07be168..b47996d 100644
--- a/DeltaCore/Game Controllers/MFi/MFiGameController.swift
+++ b/DeltaCore/Game Controllers/MFi/MFiGameController.swift
@@ -44,12 +44,14 @@ extension MFiGameController
case leftThumbstickDown
case leftThumbstickLeft
case leftThumbstickRight
-
+ case leftThumbstickButton
+
case rightThumbstickUp
case rightThumbstickDown
case rightThumbstickLeft
case rightThumbstickRight
-
+ case rightThumbstickButton
+
case a
case b
case x
@@ -177,12 +179,15 @@ public class MFiGameController: NSObject, GameController
profile.buttons[GCInputButtonB]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.b, pressed) }
profile.buttons[GCInputButtonX]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.x, pressed) }
profile.buttons[GCInputButtonY]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.y, pressed) }
-
+
profile.buttons[GCInputLeftShoulder]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.leftShoulder, pressed) }
profile.buttons[GCInputLeftTrigger]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.leftTrigger, pressed) }
profile.buttons[GCInputRightShoulder]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.rightShoulder, pressed) }
profile.buttons[GCInputRightTrigger]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.rightTrigger, pressed) }
-
+
+ profile.buttons[GCInputLeftThumbstickButton]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.leftThumbstickButton, pressed) }
+ profile.buttons[GCInputRightThumbstickButton]?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.rightThumbstickButton, pressed) }
+
// Menu = Primary menu button (Start/+/Menu)
let menuButton = profile.buttons[GCInputButtonMenu]
menuButton?.pressedChangedHandler = { (button, value, pressed) in inputChangedHandler(.menu, pressed) }
diff --git a/DeltaCore/Model/Inputs/StandardGameControllerInput.swift b/DeltaCore/Model/Inputs/StandardGameControllerInput.swift
index 0fb0a97..edf1d6c 100644
--- a/DeltaCore/Model/Inputs/StandardGameControllerInput.swift
+++ b/DeltaCore/Model/Inputs/StandardGameControllerInput.swift
@@ -26,12 +26,14 @@ public enum StandardGameControllerInput: String, Codable
case leftThumbstickDown
case leftThumbstickLeft
case leftThumbstickRight
-
+ case leftThumbstickButton
+
case rightThumbstickUp
case rightThumbstickDown
case rightThumbstickLeft
case rightThumbstickRight
-
+ case rightThumbstickButton
+
case a
case b
case x
diff --git a/DeltaCore/Supporting Files/MFiGameController.deltamapping b/DeltaCore/Supporting Files/MFiGameController.deltamapping
index af2695c..3b56ca9 100644
--- a/DeltaCore/Supporting Files/MFiGameController.deltamapping
+++ b/DeltaCore/Supporting Files/MFiGameController.deltamapping
@@ -41,6 +41,13 @@
type
standard
+ leftThumbstickButton
+
+ identifier
+ l3
+ type
+ standard
+
leftThumbstickDown
identifier
@@ -97,6 +104,13 @@
type
standard
+ rightThumbstickButton
+
+ identifier
+ r3
+ type
+ standard
+
rightThumbstickDown
identifier