gcDeviceBatteryState compatibility
This commit is contained in:
1 parent
6be5aa6507
commit
14a384436c
2 files changed
+10
-3
No files matched your search
@@ -21,6 +21,13 @@ typedef struct {
|
|||||||
float lastY;
|
float lastY;
|
||||||
} controller_touch_context_t;
|
} controller_touch_context_t;
|
||||||
|
|
||||||
|
typedef NS_ENUM(NSInteger, ControllerDeviceBatteryState) {
|
||||||
|
ControllerDeviceBatteryStateUnknown = -1,
|
||||||
|
ControllerDeviceBatteryStateDischarging,
|
||||||
|
ControllerDeviceBatteryStateCharging,
|
||||||
|
ControllerDeviceBatteryStateFull
|
||||||
|
};
|
||||||
|
|
||||||
@property (nullable, nonatomic, retain) GCController* gamepad;
|
@property (nullable, nonatomic, retain) GCController* gamepad;
|
||||||
@property (nonatomic) int playerIndex;
|
@property (nonatomic) int playerIndex;
|
||||||
@property (nonatomic) int lastButtonFlags;
|
@property (nonatomic) int lastButtonFlags;
|
||||||
@@ -53,7 +60,7 @@ typedef struct {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
@property (nonatomic) NSTimer* _Nullable batteryTimer;
|
@property (nonatomic) NSTimer* _Nullable batteryTimer;
|
||||||
@property (nonatomic) GCDeviceBatteryState lastBatteryState; // to be wrapped for compatibility
|
@property (nonatomic) ControllerDeviceBatteryState lastBatteryState; // self defined enum for compatibility
|
||||||
@property (nonatomic) float lastBatteryLevel;
|
@property (nonatomic) float lastBatteryLevel;
|
||||||
|
|
||||||
@property (nonatomic) BOOL reportedArrival;
|
@property (nonatomic) BOOL reportedArrival;
|
||||||
|
|||||||
@@ -569,7 +569,7 @@ static const double MOUSE_SPEED_DIVISOR = 1.25;
|
|||||||
if (controller.gamepad.battery) {
|
if (controller.gamepad.battery) {
|
||||||
// Poll for updated battery status every 30 seconds
|
// Poll for updated battery status every 30 seconds
|
||||||
controller.batteryTimer = [NSTimer scheduledTimerWithTimeInterval:30 repeats:YES block:^(NSTimer *timer) {
|
controller.batteryTimer = [NSTimer scheduledTimerWithTimeInterval:30 repeats:YES block:^(NSTimer *timer) {
|
||||||
if (controller.lastBatteryState != controller.gamepad.battery.batteryState ||
|
if ((GCDeviceBatteryState)controller.lastBatteryState != controller.gamepad.battery.batteryState ||
|
||||||
controller.lastBatteryLevel != controller.gamepad.battery.batteryLevel) {
|
controller.lastBatteryLevel != controller.gamepad.battery.batteryLevel) {
|
||||||
uint8_t batteryState;
|
uint8_t batteryState;
|
||||||
|
|
||||||
@@ -591,7 +591,7 @@ static const double MOUSE_SPEED_DIVISOR = 1.25;
|
|||||||
|
|
||||||
LiSendControllerBatteryEvent(controller.playerIndex, batteryState, (uint8_t)(controller.gamepad.battery.batteryLevel * 100));
|
LiSendControllerBatteryEvent(controller.playerIndex, batteryState, (uint8_t)(controller.gamepad.battery.batteryLevel * 100));
|
||||||
|
|
||||||
controller.lastBatteryState = controller.gamepad.battery.batteryState;
|
controller.lastBatteryState = (ControllerDeviceBatteryState)controller.gamepad.battery.batteryState;
|
||||||
controller.lastBatteryLevel = controller.gamepad.battery.batteryLevel;
|
controller.lastBatteryLevel = controller.gamepad.battery.batteryLevel;
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|||||||
Reference in new issue
Block a user