Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::RawInputNotificationsMac Class Referenceabstract

#include <RawInputNotificationBus_Mac.h>

Inherits AZ::EBusTraits.

Public Member Functions

virtual ~RawInputNotificationsMac ()=default
 Default destructor.
 
virtual void OnRawInputEvent (const NSEvent *)=0
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single
 EBus Trait: raw input notifications are addressed to a single address.
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple
 EBus Trait: raw input notifications can be handled by multiple listeners.
 

Detailed Description

EBus interface used to listen for raw Mac input events broadcast by the system. Applications that want raw Mac events to be processed by the AzFramework input system must broadcast all events received when pumping the NSEvent loop, which is the lowest level we can access input.

It's possible to receive multiple events per button/key per frame and (depending on how the NSEvent event loop is pumped) it is also possible that events could be sent from any thread, however it is assumed they'll always be dispatched on the main thread which is the standard.

This EBus is intended primarily for the AzFramework input system to process Mac input events. Most systems that need to process input should use the generic AzFramework input interfaces, but if necessary it is perfectly valid to connect directly to this EBus for raw Mac events.

Member Function Documentation

◆ OnRawInputEvent()

virtual void AzFramework::RawInputNotificationsMac::OnRawInputEvent ( const NSEvent *  )
pure virtual

Process raw input events (assumed to be dispatched on the main thread)

Parameters
[in]nsEventThe raw event data

The documentation for this class was generated from the following file: