mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-11-21 20:47:19 +01:00
cocoa: Add keyboard grab support
CGSSetGlobalHotKeyOperatingMode() is not a public API, so we will only compile this in if SDL_MAC_NO_SANDBOX=1 is defined during compilation.
This commit is contained in:
parent
69518b9ecc
commit
6f684f674e
@ -31,6 +31,8 @@ extern void Cocoa_StartTextInput(_THIS);
|
|||||||
extern void Cocoa_StopTextInput(_THIS);
|
extern void Cocoa_StopTextInput(_THIS);
|
||||||
extern void Cocoa_SetTextInputRect(_THIS, SDL_Rect *rect);
|
extern void Cocoa_SetTextInputRect(_THIS, SDL_Rect *rect);
|
||||||
|
|
||||||
|
extern void Cocoa_SetWindowKeyboardGrab(_THIS, SDL_Window * window, SDL_bool grabbed);
|
||||||
|
|
||||||
#endif /* SDL_cocoakeyboard_h_ */
|
#endif /* SDL_cocoakeyboard_h_ */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
@ -602,6 +602,23 @@ Cocoa_QuitKeyboard(_THIS)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef int CGSConnection;
|
||||||
|
typedef enum {
|
||||||
|
CGSGlobalHotKeyEnable = 0,
|
||||||
|
CGSGlobalHotKeyDisable = 1,
|
||||||
|
} CGSGlobalHotKeyOperatingMode;
|
||||||
|
|
||||||
|
extern CGSConnection _CGSDefaultConnection(void);
|
||||||
|
extern CGError CGSSetGlobalHotKeyOperatingMode(CGSConnection connection, CGSGlobalHotKeyOperatingMode mode);
|
||||||
|
|
||||||
|
void
|
||||||
|
Cocoa_SetWindowKeyboardGrab(_THIS, SDL_Window * window, SDL_bool grabbed)
|
||||||
|
{
|
||||||
|
#if SDL_MAC_NO_SANDBOX
|
||||||
|
CGSSetGlobalHotKeyOperatingMode(_CGSDefaultConnection(), grabbed ? CGSGlobalHotKeyDisable : CGSGlobalHotKeyEnable);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_DRIVER_COCOA */
|
#endif /* SDL_VIDEO_DRIVER_COCOA */
|
||||||
|
|
||||||
/* vi: set ts=4 sw=4 expandtab: */
|
/* vi: set ts=4 sw=4 expandtab: */
|
||||||
|
@ -103,6 +103,7 @@ Cocoa_CreateDevice(int devindex)
|
|||||||
device->SetWindowGammaRamp = Cocoa_SetWindowGammaRamp;
|
device->SetWindowGammaRamp = Cocoa_SetWindowGammaRamp;
|
||||||
device->GetWindowGammaRamp = Cocoa_GetWindowGammaRamp;
|
device->GetWindowGammaRamp = Cocoa_GetWindowGammaRamp;
|
||||||
device->SetWindowMouseGrab = Cocoa_SetWindowMouseGrab;
|
device->SetWindowMouseGrab = Cocoa_SetWindowMouseGrab;
|
||||||
|
device->SetWindowKeyboardGrab = Cocoa_SetWindowKeyboardGrab;
|
||||||
device->DestroyWindow = Cocoa_DestroyWindow;
|
device->DestroyWindow = Cocoa_DestroyWindow;
|
||||||
device->GetWindowWMInfo = Cocoa_GetWindowWMInfo;
|
device->GetWindowWMInfo = Cocoa_GetWindowWMInfo;
|
||||||
device->SetWindowHitTest = Cocoa_SetWindowHitTest;
|
device->SetWindowHitTest = Cocoa_SetWindowHitTest;
|
||||||
|
Loading…
Reference in New Issue
Block a user