mirror of
https://github.com/moonlight-stream/moonlight-ios.git
synced 2025-07-01 23:35:59 +00:00
54 lines
2.2 KiB
Objective-C
54 lines
2.2 KiB
Objective-C
//
|
|
// Controller.h
|
|
// Moonlight
|
|
//
|
|
// Created by Cameron Gutman on 2/11/19.
|
|
// Copyright © 2019 Moonlight Game Streaming Project. All rights reserved.
|
|
//
|
|
|
|
#import "HapticContext.h"
|
|
|
|
@import GameController;
|
|
@import CoreHaptics;
|
|
|
|
@interface Controller : NSObject
|
|
|
|
typedef struct {
|
|
float lastX;
|
|
float lastY;
|
|
} controller_touch_context_t;
|
|
|
|
@property (nullable, nonatomic, retain) GCController* gamepad;
|
|
@property (nonatomic) int playerIndex;
|
|
@property (nonatomic) int lastButtonFlags;
|
|
@property (nonatomic) int emulatingButtonFlags;
|
|
@property (nonatomic) int supportedEmulationFlags;
|
|
@property (nonatomic) unsigned char lastLeftTrigger;
|
|
@property (nonatomic) unsigned char lastRightTrigger;
|
|
@property (nonatomic) short lastLeftStickX;
|
|
@property (nonatomic) short lastLeftStickY;
|
|
@property (nonatomic) short lastRightStickX;
|
|
@property (nonatomic) short lastRightStickY;
|
|
|
|
@property (nonatomic) controller_touch_context_t primaryTouch;
|
|
@property (nonatomic) controller_touch_context_t secondaryTouch;
|
|
|
|
@property (nonatomic) HapticContext* _Nullable lowFreqMotor;
|
|
@property (nonatomic) HapticContext* _Nullable highFreqMotor;
|
|
@property (nonatomic) HapticContext* _Nullable leftTriggerMotor;
|
|
@property (nonatomic) HapticContext* _Nullable rightTriggerMotor;
|
|
|
|
@property (nonatomic) NSTimer* _Nullable accelTimer;
|
|
@property (nonatomic) GCAcceleration lastAccelSample;
|
|
@property (nonatomic) NSTimer* _Nullable gyroTimer;
|
|
@property (nonatomic) GCRotationRate lastGyroSample;
|
|
|
|
@property (nonatomic) NSTimer* _Nullable batteryTimer;
|
|
@property (nonatomic) GCDeviceBatteryState lastBatteryState;
|
|
@property (nonatomic) float lastBatteryLevel;
|
|
|
|
@property (nonatomic) BOOL reportedArrival;
|
|
@property (nonatomic) Controller* _Nullable mergedWithController;
|
|
|
|
@end
|