use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait GCPhysicalInputElementName {}
unsafe impl ProtocolType for dyn GCPhysicalInputElementName {}
);
extern_protocol!(
pub unsafe trait GCButtonElementName: GCPhysicalInputElementName {}
unsafe impl ProtocolType for dyn GCButtonElementName {}
);
extern_protocol!(
pub unsafe trait GCAxisElementName: GCPhysicalInputElementName {}
unsafe impl ProtocolType for dyn GCAxisElementName {}
);
extern_protocol!(
pub unsafe trait GCSwitchElementName: GCPhysicalInputElementName {}
unsafe impl ProtocolType for dyn GCSwitchElementName {}
);
extern_protocol!(
pub unsafe trait GCDirectionPadElementName: GCPhysicalInputElementName {}
unsafe impl ProtocolType for dyn GCDirectionPadElementName {}
);
extern "C" {
pub static GCInputLeftBumper: Option<&'static GCInputButtonName>;
}
extern "C" {
pub static GCInputRightBumper: Option<&'static GCInputButtonName>;
}
extern "C" {
pub fn GCInputBackLeftButton(position: NSInteger) -> *mut GCInputButtonName;
}
extern "C" {
pub fn GCInputBackRightButton(position: NSInteger) -> *mut GCInputButtonName;
}