mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 15:00:30 +02:00
The Siri Remote setup builds on iOS too, the device type comes from the interface idiom, and requests for things the platform says it lacks are refused by checking the property. What's left ifdeffed is API tvOS doesn't have at all. Reports say tvOS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
1.3 KiB
Objective-C
42 lines
1.3 KiB
Objective-C
#pragma once
|
|
|
|
#include <string_view>
|
|
|
|
#include "ppsspp_config.h"
|
|
|
|
#import <GameController/GameController.h>
|
|
#if !PPSSPP_PLATFORM(TVOS)
|
|
#import <CoreMotion/CoreMotion.h>
|
|
#endif
|
|
|
|
#include "Common/Input/InputState.h"
|
|
|
|
// Code extracted from ViewController.mm, in order to modularize
|
|
// and share it between multiple view controllers.
|
|
|
|
bool InitController(GCController *controller);
|
|
void ShutdownController(GCController *controller);
|
|
|
|
// Returns false unless the controller is a Siri Remote (a micro gamepad profile and no extended one).
|
|
bool InitSiriRemote(GCController *controller);
|
|
|
|
struct TouchTracker {
|
|
public:
|
|
void Began(NSSet *touches, UIView *view);
|
|
void Moved(NSSet *touches, UIView *view);
|
|
void Ended(NSSet *touches, UIView *view);
|
|
void Cancelled(NSSet *touches, UIView *view);
|
|
private:
|
|
void SendTouchEvent(CGPoint point, UIView *view, int code, int pointerId);
|
|
int ToTouchID(UITouch *uiTouch, bool allowAllocate);
|
|
UITouch *touches_[10]{};
|
|
};
|
|
|
|
#if !PPSSPP_PLATFORM(TVOS)
|
|
void ProcessAccelerometerData(CMAccelerometerData *accData);
|
|
#endif
|
|
InputKeyCode HIDUsageToInputKeyCode(UIKeyboardHIDUsage usage);
|
|
|
|
void KeyboardPressesBegan(NSSet<UIPress *> *presses, UIPressesEvent *event);
|
|
void KeyboardPressesEnded(NSSet<UIPress *> *presses, UIPressesEvent *event);
|
|
void SendKeyboardChars(std::string_view str); |