From 51a004ce18f44d39b0c87984ff0c9a48043a9c00 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 10 Jun 2014 21:03:42 +0200 Subject: [PATCH] Revert "(QNX) Update qnx_input.c driver" This reverts commit 66671bd3d01a2518cf9d4701f9b67d1cb4354a04. --- blackberry-qnx/bb10/.cproject | 214 +++++++++++++++++++++++++++------- blackberry-qnx/bb10/.project | 17 +++ blackberry-qnx/qnx_input.c | 104 +++++++---------- 3 files changed, 231 insertions(+), 104 deletions(-) diff --git a/blackberry-qnx/bb10/.cproject b/blackberry-qnx/bb10/.cproject index fd246a9fc9..375c5068cb 100644 --- a/blackberry-qnx/bb10/.cproject +++ b/blackberry-qnx/bb10/.cproject @@ -19,17 +19,13 @@ + + + + + + + + + + + + + + + @@ -213,8 +217,28 @@ + + + + + + + + + + + + - + @@ -316,8 +340,28 @@ + + + + + + + + + + + + - + @@ -419,8 +463,28 @@ + + + + + + + + + + + + - + @@ -519,8 +583,28 @@ + + + + + + + + + + + + - + @@ -621,8 +705,28 @@ + + + + + + + + + + + + - + @@ -723,8 +827,28 @@ + + + + + + + + + + + + - + diff --git a/blackberry-qnx/bb10/.project b/blackberry-qnx/bb10/.project index bfd71b2f7c..3e336db315 100644 --- a/blackberry-qnx/bb10/.project +++ b/blackberry-qnx/bb10/.project @@ -29,4 +29,21 @@ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature com.qnx.tools.ide.bbt.core.bbtnature + + + src/griffin.c + 1 + PARENT-2-PROJECT_LOC/griffin/griffin.c + + + src/sinc_neon.S + 1 + PARENT-2-PROJECT_LOC/audio/sinc_neon.S + + + src/utils_neon.S + 1 + PARENT-2-PROJECT_LOC/audio/utils_neon.S + + diff --git a/blackberry-qnx/qnx_input.c b/blackberry-qnx/qnx_input.c index be05daae90..b18c1d9878 100644 --- a/blackberry-qnx/qnx_input.c +++ b/blackberry-qnx/qnx_input.c @@ -40,7 +40,6 @@ struct touches typedef struct qnx_input { - unsigned pads_connected; struct touches touch[MAX_TOUCH]; unsigned touch_count; @@ -48,16 +47,17 @@ typedef struct qnx_input /*The first touch_count indices of touch_map will be a valid, active index in touch array. * Saves us from searching through touch array when polling state. */ - input_device_t *port_device[MAX_PADS]; } qnx_input_t; input_device_t devices[MAX_PADS]; +input_device_t *port_device[MAX_PADS]; static unsigned screen_width, screen_height; +unsigned pads_connected; -static void qnx_input_autodetect_gamepad(void *data, input_device_t* controller); -static void initController(void *data, input_device_t* controller); +static void qnx_input_autodetect_gamepad(input_device_t* controller); +static void initController(input_device_t* controller); #ifdef HAVE_BB10 static void process_gamepad_event(void *data, screen_event_t screen_event, int type) @@ -98,16 +98,12 @@ static void process_gamepad_event(void *data, screen_event_t screen_event, int t g_extern.lifecycle_state ^= (1ULL << RARCH_MENU_TOGGLE); } -static void loadController(void *data, input_device_t* controller) +static void loadController(input_device_t* controller) { int device; - qnx_input_t *qnx = (qnx_input_t*)data; (void)device; - if (!qnx) - return; - // Query libscreen for information about this device. screen_get_device_property_iv(controller->handle, SCREEN_PROPERTY_TYPE, &controller->type); screen_get_device_property_cv(controller->handle, SCREEN_PROPERTY_ID_STRING, sizeof(controller->id), controller->id); @@ -127,7 +123,7 @@ static void loadController(void *data, input_device_t* controller) } //Screen service will map supported controllers, we still might need to adjust. - qnx_input_autodetect_gamepad(qnx, controller); + qnx_input_autodetect_gamepad(controller); if (controller->type == SCREEN_EVENT_GAMEPAD) RARCH_LOG("Gamepad Device Connected:\n"); @@ -144,14 +140,12 @@ static void loadController(void *data, input_device_t* controller) } extern screen_context_t screen_ctx; - -static void discoverControllers(void *data) +void discoverControllers(void) { // Get an array of all available devices. int deviceCount; unsigned i; screen_event_t *event; - qnx_input_t *qnx = (qnx_input_t*)data; (void)event; @@ -160,10 +154,10 @@ static void discoverControllers(void *data) screen_get_context_property_pv(screen_ctx, SCREEN_PROPERTY_DEVICES, (void**)devices_found); // Scan the list for gamepad and joystick devices. - for(i = 0; i < qnx->pads_connected; ++i) - initController(qnx, &devices[i]); + for(i = 0; i < pads_connected; ++i) + initController(&devices[i]); - qnx->pads_connected = 0; + pads_connected = 0; for (i = 0; i < deviceCount; i++) { @@ -172,11 +166,11 @@ static void discoverControllers(void *data) if (type == SCREEN_EVENT_GAMEPAD || type == SCREEN_EVENT_JOYSTICK || type == SCREEN_EVENT_KEYBOARD) { - devices[qnx->pads_connected].handle = devices_found[i]; - devices[qnx->pads_connected].index = qnx->pads_connected; - loadController(qnx, &devices[qnx->pads_connected]); + devices[pads_connected].handle = devices_found[i]; + devices[pads_connected].index = pads_connected; + loadController(&devices[pads_connected]); - if (qnx->pads_connected == MAX_PADS) + if (pads_connected == MAX_PADS) break; } } @@ -184,21 +178,16 @@ static void discoverControllers(void *data) free(devices_found); } #else -void init_playbook_keyboard(void *data) +void init_playbook_keyboard() { - qnx_input_t *qnx = (qnx_input_t*)data; strlcpy(devices[0].id, "0A5C-8502", sizeof(devices[0].id)); - qnx_input_autodetect_gamepad(qnx, &devices[0]); - qnx->pads_connected = 1; + qnx_input_autodetect_gamepad(&devices[0]); + pads_connected = 1; } #endif -static void initController(void *data, input_device_t* controller) +static void initController(input_device_t* controller) { - qnx_input_t *qnx = (qnx_input_t*)data; - if (!qnx) - return; - // Initialize controller values. #ifdef HAVE_BB10 controller->handle = 0; @@ -215,13 +204,8 @@ static void initController(void *data, input_device_t* controller) memset(controller->id, 0, sizeof(controller->id)); } -static void qnx_input_autodetect_gamepad(void *data, input_device_t* controller) +static void qnx_input_autodetect_gamepad(input_device_t* controller) { - qnx_input_t *qnx = (qnx_input_t*)data; - - if (!qnx) - return; - //ID: A-BBBB-CCCC-D.D //A is the device's index in the array returned by screen_get_context_property_pv() //BBBB is the device's Vendor ID (in hexadecimal) @@ -267,9 +251,9 @@ static void qnx_input_autodetect_gamepad(void *data, input_device_t* controller) if (input_qnx.set_keybinds && (controller->device != DEVICE_NONE)) { - input_qnx.set_keybinds((void*)controller, controller->device, qnx->pads_connected, 0, + input_qnx.set_keybinds((void*)controller, controller->device, pads_connected, 0, (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - qnx->pads_connected++; + pads_connected++; } } @@ -464,7 +448,7 @@ static void handle_screen_event(void *data, bps_event_t *event) if (!devices[i].handle) { devices[i].handle = device; - loadController(data, &devices[i]); + loadController(&devices[i]); break; } } @@ -476,7 +460,7 @@ static void handle_screen_event(void *data, bps_event_t *event) if (device == devices[i].handle) { RARCH_LOG("Device %s: Disconnected.\n", devices[i].id); - initController(data, &devices[i]); + initController(&devices[i]); break; } } @@ -561,12 +545,12 @@ static void *qnx_input_init(void) for (i = 0; i < MAX_PADS; ++i) { - initController(qnx, &devices[i]); - qnx->port_device[i] = 0; + initController(&devices[i]); + port_device[i] = 0; } #ifdef HAVE_BB10 //Find currently connected gamepads - discoverControllers(qnx); + discoverControllers(); #else init_playbook_keyboard(); #endif @@ -610,15 +594,17 @@ static int16_t qnx_input_state(void *data, const struct retro_keybind **retro_ke switch (device) { case RETRO_DEVICE_JOYPAD: - if(qnx->port_device[port]) + if(port_device[port]) { - if (qnx->port_device[port]->device == DEVICE_KEYBOARD + if (port_device[port]->device == DEVICE_KEYBOARD #ifdef HAVE_BB10 - || qnx->port_device[port]->device == DEVICE_KEYPAD + || port_device[port]->device == DEVICE_KEYPAD #endif - ) - return ((qnx->port_device[port]->buttons & (1 << id)) && (port < qnx->pads_connected) ); - return ((qnx->port_device[port]->buttons & retro_keybinds[port][id].joykey) && (port < qnx->pads_connected)); + ) + return ((port_device[port]->buttons & (1 << id)) && (port < pads_connected) ); + else{ + return ((port_device[port]->buttons & retro_keybinds[port][id].joykey) && (port < pads_connected)); + } } break; #ifdef HAVE_BB10 @@ -626,18 +612,18 @@ static int16_t qnx_input_state(void *data, const struct retro_keybind **retro_ke //Need to return [-0x8000, 0x7fff] //Gamepad API gives us [-128, 127] with (0,0) center //Untested - if(qnx->port_device[port]) + if(port_device[port]) { switch ((index << 1) | id) { case (RETRO_DEVICE_INDEX_ANALOG_LEFT << 1) | RETRO_DEVICE_ID_ANALOG_X: - return qnx->port_device[port]->analog0[0] * 256; + return port_device[port]->analog0[0] * 256; case (RETRO_DEVICE_INDEX_ANALOG_LEFT << 1) | RETRO_DEVICE_ID_ANALOG_Y: - return qnx->port_device[port]->analog0[1] * 256; + return port_device[port]->analog0[1] * 256; case (RETRO_DEVICE_INDEX_ANALOG_RIGHT << 1) | RETRO_DEVICE_ID_ANALOG_X: - return qnx->port_device[port]->analog1[0] * 256; + return port_device[port]->analog1[0] * 256; case (RETRO_DEVICE_INDEX_ANALOG_RIGHT << 1) | RETRO_DEVICE_ID_ANALOG_Y: - return qnx->port_device[port]->analog1[1] * 256; + return port_device[port]->analog1[1] * 256; default: break; } @@ -724,7 +710,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = SCREEN_R3_GAME_BUTTON; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = SCREEN_MENU3_GAME_BUTTON; controller->port = port; - qnx->port_device[port] = controller; + port_device[port] = controller; break; case DEVICE_KEYPAD: strlcpy(g_settings.input.device_names[port], "BlackBerry Q10 Keypad", @@ -748,7 +734,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = KEYCODE_P & 0xFF; controller->port = port; - qnx->port_device[port] = controller; + port_device[port] = controller; break; #endif case DEVICE_KEYBOARD: @@ -773,7 +759,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = KEYCODE_TILDE; controller->port = port; - qnx->port_device[port] = controller; + port_device[port] = controller; break; case DEVICE_IPEGA: strlcpy(g_settings.input.device_names[port], "iPega PG-9017", @@ -797,7 +783,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = 0; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = 0; controller->port = port; - qnx->port_device[port] = controller; + port_device[port] = controller; break; #ifdef HAVE_BB10 case DEVICE_UNKNOWN: @@ -822,7 +808,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = SCREEN_R3_GAME_BUTTON; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = NO_BTN; //TODO: Find a good mappnig controller->port = port; - qnx->port_device[port] = controller; + port_device[port] = controller; break; #endif case DEVICE_NONE: @@ -848,7 +834,7 @@ static void qnx_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_MENU_TOGGLE].def_joykey = NO_BTN; controller->port = -1; - qnx->port_device[port] = 0; + port_device[port] = 0; break; }