objc2_game_controller/generated/
GCKeyboardInput.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[cfg(all(
21 feature = "GCControllerButtonInput",
22 feature = "GCControllerElement",
23 feature = "GCKeyCodes",
24 feature = "GCPhysicalInputProfile",
25 feature = "block2",
26 feature = "objc2-core-foundation"
27))]
28pub type GCKeyboardValueChangedHandler = *mut block2::Block<
29 dyn Fn(NonNull<GCKeyboardInput>, NonNull<GCControllerButtonInput>, GCKeyCode, Bool),
30>;
31
32extern_class!(
33 #[unsafe(super(GCPhysicalInputProfile, NSObject))]
39 #[derive(Debug, PartialEq, Eq, Hash)]
40 #[cfg(feature = "GCPhysicalInputProfile")]
41 pub struct GCKeyboardInput;
42);
43
44#[cfg(feature = "GCPhysicalInputProfile")]
45unsafe impl NSObjectProtocol for GCKeyboardInput {}
46
47#[cfg(feature = "GCPhysicalInputProfile")]
48impl GCKeyboardInput {
49 extern_methods!(
50 #[cfg(all(
51 feature = "GCControllerButtonInput",
52 feature = "GCControllerElement",
53 feature = "GCKeyCodes",
54 feature = "block2",
55 feature = "objc2-core-foundation"
56 ))]
57 #[unsafe(method(keyChangedHandler))]
58 #[unsafe(method_family = none)]
59 pub unsafe fn keyChangedHandler(&self) -> GCKeyboardValueChangedHandler;
60
61 #[cfg(all(
62 feature = "GCControllerButtonInput",
63 feature = "GCControllerElement",
64 feature = "GCKeyCodes",
65 feature = "block2",
66 feature = "objc2-core-foundation"
67 ))]
68 #[unsafe(method(setKeyChangedHandler:))]
70 #[unsafe(method_family = none)]
71 pub unsafe fn setKeyChangedHandler(
72 &self,
73 key_changed_handler: GCKeyboardValueChangedHandler,
74 );
75
76 #[unsafe(method(isAnyKeyPressed))]
78 #[unsafe(method_family = none)]
79 pub unsafe fn isAnyKeyPressed(&self) -> bool;
80
81 #[cfg(all(
82 feature = "GCControllerButtonInput",
83 feature = "GCControllerElement",
84 feature = "GCKeyCodes",
85 feature = "objc2-core-foundation"
86 ))]
87 #[unsafe(method(buttonForKeyCode:))]
95 #[unsafe(method_family = none)]
96 pub unsafe fn buttonForKeyCode(
97 &self,
98 code: GCKeyCode,
99 ) -> Option<Retained<GCControllerButtonInput>>;
100 );
101}
102
103#[cfg(feature = "GCPhysicalInputProfile")]
105impl GCKeyboardInput {
106 extern_methods!(
107 #[unsafe(method(init))]
108 #[unsafe(method_family = init)]
109 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
110
111 #[unsafe(method(new))]
112 #[unsafe(method_family = new)]
113 pub unsafe fn new() -> Retained<Self>;
114 );
115}