iCade codepaths work now for regular OSX too

This commit is contained in:
Twinaphex 2015-11-14 01:48:16 +01:00
parent 983b488d59
commit d72090f5e9
4 changed files with 150 additions and 131 deletions

View File

@ -71,7 +71,8 @@ extern "C" {
#endif
void cocoa_input_keyboard_event(bool down, unsigned code,
uint32_t character, uint32_t mod, unsigned device);
uint32_t character, uint32_t mod, unsigned device,
bool ignore_keyboard_gamepad);
#ifdef __cplusplus
}

View File

@ -105,13 +105,14 @@ static bool handle_small_keyboard(unsigned* code, bool down)
return false;
}
#endif
extern const struct rarch_key_map rarch_key_map_apple_hid[];
typedef struct icade_map
{
bool up;
enum retro_key key;
bool up;
enum retro_key key;
} icade_map_t;
#define MAX_ICADE_PROFILES 3
@ -121,116 +122,116 @@ static icade_map_t icade_maps[MAX_ICADE_PROFILES][MAX_ICADE_KEYS];
static bool handle_icade_event(unsigned *code, bool *keydown)
{
settings_t *settings = config_get_ptr();
static bool initialized = false;
bool ret = false;
unsigned kb_type_idx = settings->input.keyboard_gamepad_mapping_type;
settings_t *settings = config_get_ptr();
static bool initialized = false;
bool ret = false;
unsigned kb_type_idx = settings->input.keyboard_gamepad_mapping_type;
if (!initialized)
{
unsigned i;
unsigned j = 0;
if (!initialized)
{
unsigned i;
unsigned j = 0;
for (j = 0; j < MAX_ICADE_PROFILES; j++)
{
for (i = 0; i < MAX_ICADE_KEYS; i++)
{
icade_maps[j][i].key = RETROK_UNKNOWN;
icade_maps[j][i].up = false;
}
}
for (j = 0; j < MAX_ICADE_PROFILES; j++)
{
for (i = 0; i < MAX_ICADE_KEYS; i++)
{
icade_maps[j][i].key = RETROK_UNKNOWN;
icade_maps[j][i].up = false;
}
}
/* iPega PG-9017 */
j = 1;
/* iPega PG-9017 */
j = 1;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_d)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_w)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_x)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_u)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_i)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_j)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_k)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_h)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_d)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_w)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_x)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_u)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_i)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_j)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_k)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_h)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].up = true;
/* 8-bitty */
j = 2;
/* 8-bitty */
j = 2;
initialized = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_d)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_w)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_x)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_h)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_j)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_i)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_k)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_RSHIFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_RSHIFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_u)].key = RETROK_RETURN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].key = RETROK_RETURN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_l)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_v)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_o)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_g)].key = RETROK_s;
initialized = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_a)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].key = RETROK_LEFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_d)].key = RETROK_RIGHT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_w)].key = RETROK_UP;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_x)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].key = RETROK_DOWN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_h)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].key = RETROK_q;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_j)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].key = RETROK_w;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_i)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].key = RETROK_a;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_k)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].key = RETROK_z;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_y)].key = RETROK_RSHIFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].key = RETROK_RSHIFT;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_u)].key = RETROK_RETURN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].key = RETROK_RETURN;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_l)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_v)].key = RETROK_x;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_o)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_g)].key = RETROK_s;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_v)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_g)].up = true;
}
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_e)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_z)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_q)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_c)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_r)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_n)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_m)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_p)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_t)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_f)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_v)].up = true;
icade_maps[j][input_keymaps_translate_rk_to_keysym(RETROK_g)].up = true;
}
if ((*code < 0x20) && (icade_maps[kb_type_idx][*code].key != RETROK_UNKNOWN))
{
*keydown = icade_maps[kb_type_idx][*code].up ? false : true;
ret = true;
*code = input_keymaps_translate_rk_to_keysym(icade_maps[kb_type_idx][*code].key);
}
if ((*code < 0x20) && (icade_maps[kb_type_idx][*code].key != RETROK_UNKNOWN))
{
*keydown = icade_maps[kb_type_idx][*code].up ? false : true;
ret = true;
*code = input_keymaps_translate_rk_to_keysym(icade_maps[kb_type_idx][*code].key);
}
return ret;
return ret;
}
#endif
void cocoa_input_keyboard_event(bool down,
unsigned code, uint32_t character, uint32_t mod, unsigned device)
unsigned code, uint32_t character, uint32_t mod, unsigned device,
bool ignore_keyboard_gamepad)
{
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
@ -241,14 +242,15 @@ void cocoa_input_keyboard_event(bool down,
code = HIDKEY(code);
#if TARGET_OS_IPHONE
if (settings->input.keyboard_gamepad_enable)
if (settings->input.keyboard_gamepad_enable && !ignore_keyboard_gamepad)
{
if (handle_icade_event(&code, &down))
character = 0;
else
code = 0;
}
unsigned orig_code = code;
if (handle_icade_event(&code, &down))
character = 0;
else
code = orig_code;
}
#if TARGET_OS_IPHONE
else if (settings->input.small_keyboard_enable)
{
if (handle_small_keyboard(&code, down))

View File

@ -23,6 +23,7 @@
500845341B89300700CE6073 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84DD5EB41A89E737007336C1 /* IOKit.framework */; };
5061C8A41AE47E510080AE14 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5061C8A31AE47E510080AE14 /* libz.dylib */; };
509F0C9D1AA23AFC00619ECC /* griffin_objc.m in Sources */ = {isa = PBXBuildFile; fileRef = 509F0C9C1AA23AFC00619ECC /* griffin_objc.m */; };
50A1B3011BF69A8F007D47CD /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50A1B3001BF69A8F007D47CD /* Carbon.framework */; };
840222FC1A889EE2009AB261 /* griffin.c in Sources */ = {isa = PBXBuildFile; fileRef = 840222FB1A889EE2009AB261 /* griffin.c */; };
84DD5E9F1A88E45B007336C1 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84DD5E9E1A88E45B007336C1 /* CoreVideo.framework */; };
84DD5EA31A89E2AA007336C1 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
@ -77,10 +78,11 @@
089C165DFE840E0CC02AAC07 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = InfoPlist.strings; path = OSX/en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1DDD58150DA1D0A300B32029 /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainMenu.xib; path = OSX/en.lproj/MainMenu.xib; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
5008453A1B89300700CE6073 /* RetroArchCg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RetroArchCg.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5008453B1B89300700CE6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info.plist"; path = "/../../pkg/apple/OSX/Info.plist"; sourceTree = SOURCE_ROOT; };
5008453A1B89300700CE6073 /* RetroArchCg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RetroArchCg.app; sourceTree = BUILT_PRODUCTS_DIR; };
5008453B1B89300700CE6073 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = /../../pkg/apple/OSX/Info.plist; sourceTree = SOURCE_ROOT; };
5061C8A31AE47E510080AE14 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
509F0C9C1AA23AFC00619ECC /* griffin_objc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = griffin_objc.m; path = ../../griffin/griffin_objc.m; sourceTree = "<group>"; };
50A1B3001BF69A8F007D47CD /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
840222FB1A889EE2009AB261 /* griffin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = griffin.c; path = ../../griffin/griffin.c; sourceTree = SOURCE_ROOT; };
84DD5E9E1A88E45B007336C1 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = /System/Library/Frameworks/CoreVideo.framework; sourceTree = "<absolute>"; };
84DD5EA61A89E406007336C1 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = /System/Library/Frameworks/CoreLocation.framework; sourceTree = "<absolute>"; };
@ -90,7 +92,7 @@
84DD5EB21A89E6C0007336C1 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
84DD5EB41A89E737007336C1 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../../../System/Library/Frameworks/IOKit.framework; sourceTree = "<group>"; };
84DD5EB71A89F1C7007336C1 /* retroarch.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = retroarch.icns; path = ../../media/retroarch.icns; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Info.plist"; path = "OSX/Info.plist"; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = OSX/Info.plist; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* RetroArch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RetroArch.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
@ -99,6 +101,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
50A1B3011BF69A8F007D47CD /* Carbon.framework in Frameworks */,
5008452C1B89300700CE6073 /* libz.dylib in Frameworks */,
5008452D1B89300700CE6073 /* CoreAudio.framework in Frameworks */,
5008452E1B89300700CE6073 /* AudioUnit.framework in Frameworks */,
@ -204,6 +207,7 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
50A1B3001BF69A8F007D47CD /* Carbon.framework */,
5061C8A31AE47E510080AE14 /* libz.dylib */,
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
@ -378,12 +382,12 @@
"$(SRCROOT)/../../gfx/inc",
"$(SRCROOT)/../../libretro-common/include",
);
INFOPLIST_FILE = "OSX/Info.plist";
INFOPLIST_FILE = OSX/Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-DHAVE_GRIFFIN",
"-DHAVE_CHEEVOS",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORETEXT",
"-DHAVE_IOHIDMANAGER",
@ -418,7 +422,7 @@
"-DHAVE_LIBRETRODB",
);
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES;
PRODUCT_NAME = "RetroArchCg";
PRODUCT_NAME = RetroArchCg;
};
name = Debug;
};
@ -439,12 +443,12 @@
"$(SRCROOT)/../../gfx/inc",
"$(SRCROOT)/../../libretro-common/include",
);
INFOPLIST_FILE = "OSX/Info.plist";
INFOPLIST_FILE = OSX/Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-DHAVE_GRIFFIN",
"-DHAVE_CHEEVOS",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_IOHIDMANAGER",
"-DHAVE_CORETEXT",
@ -479,7 +483,7 @@
"-DHAVE_LIBRETRODB",
);
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES;
PRODUCT_NAME = "RetroArchCg";
PRODUCT_NAME = RetroArchCg;
};
name = Release;
};
@ -507,7 +511,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-DHAVE_GRIFFIN",
"-DHAVE_CHEEVOS",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_CORETEXT",
"-DHAVE_IOHIDMANAGER",
@ -567,7 +571,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.5;
OTHER_CFLAGS = (
"-DHAVE_GRIFFIN",
"-DHAVE_CHEEVOS",
"-DHAVE_CHEEVOS",
"-DHAVE_IMAGEVIEWER",
"-DHAVE_IOHIDMANAGER",
"-DHAVE_CORETEXT",

View File

@ -43,6 +43,7 @@ void apple_rarch_exited(void)
- (void)sendEvent:(NSEvent *)event
{
unsigned kbt;
NSEventType event_type;
cocoa_input_data_t *apple = NULL;
driver_t *driver = driver_get_ptr();
@ -50,6 +51,14 @@ void apple_rarch_exited(void)
return;
[super sendEvent:event];
EventRef ce = (EventRef)[event eventRef];
if (ce)
{
GetEventParameter(ce, kEventParamKeyboardType,
typeUInt32, NULL, sizeof(kbt), NULL, &kbt);
NSLog(@"kbt is: %d", kbt);
}
apple = (cocoa_input_data_t*)driver->input_data;
event_type = event.type;
@ -85,11 +94,13 @@ void apple_rarch_exited(void)
for (i = 1; i < ch.length; i++)
cocoa_input_keyboard_event(event_type == NSKeyDown,
0, [ch characterAtIndex:i], mod, RETRO_DEVICE_KEYBOARD);
0, [ch characterAtIndex:i], mod, RETRO_DEVICE_KEYBOARD,
(kbt == 44) ? true : false);
}
cocoa_input_keyboard_event(event_type == NSKeyDown,
event.keyCode, character, mod, RETRO_DEVICE_KEYBOARD);
(uint32_t)event.keyCode, character, mod, RETRO_DEVICE_KEYBOARD,
(kbt == 44) ? true : false);
}
break;
case NSFlagsChanged:
@ -100,7 +111,8 @@ void apple_rarch_exited(void)
old_flags = new_flags;
cocoa_input_keyboard_event(down, event.keyCode,
0, event.modifierFlags, RETRO_DEVICE_KEYBOARD);
0, event.modifierFlags, RETRO_DEVICE_KEYBOARD,
(kbt == 44) ? true : false);
}
break;
case NSMouseMoved: