mirror of
https://github.com/libretro/RetroArch
synced 2025-02-22 12:40:09 +00:00
(iOS) Change method used to inspect memory for iOS 6 keyboard events.
This commit is contained in:
parent
a101645d7c
commit
f7f501b062
@ -161,13 +161,11 @@ static void handle_touch_event(NSArray* touches)
|
|||||||
if (get_ios_version_major() < 7 && [event respondsToSelector:@selector(_gsEvent)])
|
if (get_ios_version_major() < 7 && [event respondsToSelector:@selector(_gsEvent)])
|
||||||
{
|
{
|
||||||
// Stolen from: http://nacho4d-nacho4d.blogspot.com/2012/01/catching-keyboard-events-in-ios.html
|
// Stolen from: http://nacho4d-nacho4d.blogspot.com/2012/01/catching-keyboard-events-in-ios.html
|
||||||
uint8_t* eventMem = (uint8_t*)(void*)CFBridgingRetain([event performSelector:@selector(_gsEvent)]);
|
const uint8_t* eventMem = objc_unretainedPointer([event performSelector:@selector(_gsEvent)]);
|
||||||
int eventType = eventMem ? *(int*)&eventMem[8] : 0;
|
int eventType = eventMem ? *(int*)&eventMem[8] : 0;
|
||||||
|
|
||||||
if (eventType == GSEVENT_TYPE_KEYDOWN || eventType == GSEVENT_TYPE_KEYUP)
|
if (eventType == GSEVENT_TYPE_KEYDOWN || eventType == GSEVENT_TYPE_KEYUP)
|
||||||
apple_input_handle_key_event(*(uint16_t*)&eventMem[0x3C], eventType == GSEVENT_TYPE_KEYDOWN);
|
apple_input_handle_key_event(*(uint16_t*)&eventMem[0x3C], eventType == GSEVENT_TYPE_KEYDOWN);
|
||||||
|
|
||||||
CFBridgingRelease(eventMem);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user