Exemplo n.º 1
0
CellMouseData ps3_mouse_input_poll_device(uint32_t id)
{
   CellMouseData mouse_data;

   // Get new pad data
   cellMouseGetData(id, &mouse_data);

   return mouse_data;
}
Exemplo n.º 2
0
static int16_t ps3_mouse_device_state(void *data, unsigned player, unsigned id)
{
   CellMouseData mouse_state;
   cellMouseGetData(id, &mouse_state);

   switch (id)
   {
      case RETRO_DEVICE_ID_MOUSE_LEFT:
         return (!mice_connected ? 0 : mouse_state.buttons & CELL_MOUSE_BUTTON_1);
      case RETRO_DEVICE_ID_MOUSE_RIGHT:
         return (!mice_connected ? 0 : mouse_state.buttons & CELL_MOUSE_BUTTON_2);
      case RETRO_DEVICE_ID_MOUSE_X:
         return (!mice_connected ? 0 : mouse_state.x_axis);
      case RETRO_DEVICE_ID_MOUSE_Y:
         return (!mice_connected ? 0 : mouse_state.y_axis);
      default:
         return 0;
   }
}
Exemplo n.º 3
0
//-----------------------------------------------------------------------------
// Description: Updates this device
// Parameters:
// Returns:
// Notes:
//-----------------------------------------------------------------------------
void FWInputDeviceMouse::update()
{
	CellMouseData mouseData;
	int device = (int)mpPlatformData;

	if((sMouseInfo.status[device]) &&
	   (sMouseInfo.status[device] != CELL_MOUSE_STATUS_DISCONNECTED))
	{
		/*E  a mouse has been connected */
		if (sOldMouseStatus[device] == CELL_MOUSE_STATUS_DISCONNECTED)
		{
			/*E  the previous data shows that mouse was not
			 *E  yet connected, so it is a new connection
			 */
			printf("New Mouse %d is connected: VENDOR_ID=%d PRODUCT_ID=%d\n", device, sMouseInfo.vendor_id[device], sMouseInfo.product_id[device]);
		}

		int ret = cellMouseGetData(device, &mouseData);
		if ((ret == CELL_OK) && (mouseData.update == CELL_MOUSE_DATA_UPDATE))
		{
			// if we want client relative coordinates
			if(mIsClientRelative == true)
			{
				mXAxis[0] += mouseData.x_axis;
				mYAxis[0] += mouseData.y_axis;
			} else {
				mXAxis[0] = mouseData.x_axis;
				mYAxis[0] = mouseData.y_axis;
			}
			mButtons[0] = mouseData.buttons & 0x1 ? true : false;
			mButtons[1] = mouseData.buttons & 0x4 ? true : false;
			mButtons[2] = mouseData.buttons & 0x2 ? true : false;
		}
	}

	// Update device status for next time
	sOldMouseStatus[device] = sMouseInfo.status[device];

	FWInputDevice::update();
}
Exemplo n.º 4
0
static int16_t ps3_mouse_device_state(ps3_input_t *ps3,
      unsigned player, unsigned id)
{
   CellMouseData mouse_state;
   cellMouseGetData(id, &mouse_state);
   
   if (!ps3->mice_connected)
      return 0;

   switch (id)
   {
      /* TODO: mouse wheel up/down */
      case RETRO_DEVICE_ID_MOUSE_LEFT:
         return (mouse_state.buttons & CELL_MOUSE_BUTTON_1);
      case RETRO_DEVICE_ID_MOUSE_RIGHT:
         return (mouse_state.buttons & CELL_MOUSE_BUTTON_2);
      case RETRO_DEVICE_ID_MOUSE_X:
         return (mouse_state.x_axis);
      case RETRO_DEVICE_ID_MOUSE_Y:
         return (mouse_state.y_axis);
   }

   return 0;
}