mirror of
https://gitlab.com/pomelo-emu/Pomelo.git
synced 2025-04-24 08:55:12 +00:00
59 lines
2.2 KiB
Objective-C
59 lines
2.2 KiB
Objective-C
//
|
|
// GCKeyboard.h
|
|
// GameController
|
|
//
|
|
// Copyright © 2020 Apple Inc. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import <GameController/GCExtern.h>
|
|
#import <GameController/GCDevice.h>
|
|
|
|
@class GCKeyboard;
|
|
@class GCKeyboardInput;
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
Use these constants with NSNotificationCenter to listen to connection and disconnection events
|
|
|
|
Use GCKeyboardDidConnectNotification for observing keyboard connection
|
|
Use GCKeyboardDidDisconnectNotification for observing keyboard disconnection
|
|
|
|
The 'object' property of the notification will contain the GCKeyboard that was connected or disconnected.
|
|
|
|
@see NSNotificationCetner
|
|
@note All connected keyboards are coalesced into one keyboard object, so notification about connection/disconnection will only be delivered once until last keyboard disconnects.
|
|
*/
|
|
GAMECONTROLLER_EXTERN NSString *const GCKeyboardDidConnectNotification API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
|
|
GAMECONTROLLER_EXTERN NSString *const GCKeyboardDidDisconnectNotification API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
|
|
|
|
/**
|
|
GCKeyboard is available to an application that links to GameController.framework
|
|
There are 2 ways to access keyboard paired to the system:
|
|
1: Querying for the coalescedKeyboard using [GCKeyboard coalescedKeyboard]
|
|
2: Registering for Connection/Disconnection notifications from NSNotificationCenter
|
|
|
|
@note All connected keyboards are coalesced into one keyboard object, so notification about connection/disconnection will only be delivered once.
|
|
*/
|
|
API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0))
|
|
@interface GCKeyboard : NSObject <GCDevice>
|
|
|
|
/**
|
|
Unlike GCController GCKeyboard only has one input profile.
|
|
|
|
This profile allows you to query buttons and button state
|
|
*/
|
|
@property (nonatomic, strong, readonly, nullable) GCKeyboardInput *keyboardInput API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
|
|
|
|
/**
|
|
Keyboard object that represents all keyboards connected to the device
|
|
Should be used to query key states every time input needs to be handled
|
|
*/
|
|
@property (class, atomic, strong, readonly, nullable) GCKeyboard *coalescedKeyboard API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0));
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|