Пример #1
0
static bool cocoa_input_key_pressed(void *data, int key)
{
   cocoa_input_data_t *apple = (cocoa_input_data_t*)data;
   settings_t *settings      = config_get_ptr();
   int port                  = 0;

   if (apple_input_is_pressed(0, settings->input.binds[0], key))
      return true;

   if (settings->input.all_users_control_menu)
   {
      for (port = 0; port < MAX_USERS; port++)
      {
         if (input_joypad_pressed(apple->joypad,
               port, settings->input.binds[0], key))
            return true;

#ifdef HAVE_MFI
         if (input_joypad_pressed(apple->sec_joypad, port, settings->input.binds[0], key))
            return true;
#endif
      }
   }
   else
      if (input_joypad_pressed(apple->joypad,
            0, settings->input.binds[0], key))
         return true;

#ifdef HAVE_MFI
      if (input_joypad_pressed(apple->sec_joypad, 0, settings->input.binds[0], key))
         return true;
#endif

   return false;
}
Пример #2
0
static bool sdl_input_key_pressed(void *data, int key)
{
   if (key >= 0 && key < RARCH_BIND_LIST_END)
   {
      sdl_input_t *sdl     = (sdl_input_t*)data;
      settings_t *settings = config_get_ptr();
      int port             = 0;
      const struct retro_keybind *binds = settings->input.binds[0];

      if (sdl_is_pressed(sdl, 0, binds, key))
         return true;

      if (settings->input.all_users_control_menu)
      {
         for (port = 0; port < MAX_USERS; port++)
            if (input_joypad_pressed(sdl->joypad,
                  port, settings->input.binds[0], key))
               return true;
      }
      else
         if (input_joypad_pressed(sdl->joypad,
               0, settings->input.binds[0], key))
            return true;
   }

   return false;
}
Пример #3
0
static bool linuxraw_input_key_pressed(void *data, int key)
{
   linuxraw_input_t *linuxraw = (linuxraw_input_t*)data;
   settings_t *settings       = config_get_ptr();
   int port                   = 0;

   if (linuxraw_is_pressed(linuxraw, settings->input.binds[0], key))
      return true;

   if (settings->input.all_users_control_menu)
   {
      for (port = 0; port < MAX_USERS; port++)
         if (settings->input.binds[0][key].valid &&
               input_joypad_pressed(linuxraw->joypad,
               port, settings->input.binds[0], key))
            return true;
   }
   else
      if (settings->input.binds[0][key].valid &&
            input_joypad_pressed(linuxraw->joypad,
            0, settings->input.binds[0], key))
         return true;

   return false;
}
Пример #4
0
static int16_t apple_input_state(void *data,
      const struct retro_keybind **binds, unsigned port,
      unsigned device, unsigned index, unsigned id)
{
   apple_input_data_t *apple = (apple_input_data_t*)data;

   if (!apple || !apple->joypad)
      return 0;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return apple_input_is_pressed(apple, port, binds[port], id) ||
            input_joypad_pressed(apple->joypad, port, binds[port], id);
      case RETRO_DEVICE_ANALOG:
         return input_joypad_analog(apple->joypad, port,
               index, id, binds[port]);
      case RETRO_DEVICE_KEYBOARD:
       {
           unsigned bit = input_translate_rk_to_keysym((enum retro_key)id);
           return (id < RETROK_LAST) && apple->key_state[bit];
       }
      case RETRO_DEVICE_MOUSE:
         return apple_mouse_state(apple, id);
      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return apple_pointer_state(apple, device, index, id);
   }

   return 0;
}
Пример #5
0
static bool ctr_input_key_pressed(void *data, int key)
{
   settings_t *settings = config_get_ptr();
   ctr_input_t *ctr     = (ctr_input_t*)data;

   return input_joypad_pressed(ctr->joypad, 0, settings->input.binds[0], key);
}
Пример #6
0
static int16_t cocoa_input_state(void *data,
      const struct retro_keybind **binds, unsigned port,
      unsigned device, unsigned idx, unsigned id)
{
   cocoa_input_data_t *apple = (cocoa_input_data_t*)data;

   if (!apple || !apple->joypad)
      return 0;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return cocoa_input_is_pressed(apple, port, binds[port], id) ||
            input_joypad_pressed(apple->joypad, port, binds[port], id);
      case RETRO_DEVICE_ANALOG:
         return input_joypad_analog(apple->joypad, port,
               idx, id, binds[port]);
      case RETRO_DEVICE_KEYBOARD:
         return cocoa_keyboard_state(apple, id);
      case RETRO_DEVICE_MOUSE:
         return cocoa_mouse_state(apple, id);
      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return cocoa_pointer_state(apple, device, idx, id);
   }

   return 0;
}
Пример #7
0
static int16_t wiiu_input_state(void *data,
      rarch_joypad_info_t joypad_info,
      const struct retro_keybind **binds,
      unsigned port, unsigned device,
      unsigned idx, unsigned id)
{
   wiiu_input_t *wiiu         = (wiiu_input_t*)data;

   if(!wiiu || !(port < MAX_PADS) || !binds || !binds[port])
      return 0;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return input_joypad_pressed(wiiu->joypad,
               joypad_info, port, binds[port], id);
      case RETRO_DEVICE_KEYBOARD:
         return wiiu_key_pressed(id);
      case RETRO_DEVICE_ANALOG:
         if (binds[port])
            return input_joypad_analog(wiiu->joypad,
                  joypad_info, port, idx, id, binds[port]);
         break;
      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return wiiu_pointer_device_state(wiiu, id);
   }

   return 0;
}
Пример #8
0
static bool gx_input_key_pressed(void *data, int key)
{
   settings_t *settings = config_get_ptr();
   gx_input_t *gx       = (gx_input_t*)data;
   return (BIT64_GET(lifecycle_state, key)) ||
      input_joypad_pressed(gx->joypad, 0, settings->input.binds[0], key);
}
Пример #9
0
static int16_t psp_input_state(void *data,
      rarch_joypad_info_t joypad_info,
      const struct retro_keybind **binds,
      unsigned port, unsigned device,
      unsigned idx, unsigned id)
{
   psp_input_t *psp           = (psp_input_t*)data;

#if !defined(SN_TARGET_PSP2) && !defined(VITA)
   if (port > 0)
      return 0;
#endif

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return input_joypad_pressed(psp->joypad, joypad_info, port, binds[port], id);
      case RETRO_DEVICE_ANALOG:
         if (binds[port])
            return input_joypad_analog(psp->joypad, joypad_info, port, idx, id, binds[port]);
         break;
   }

   return 0;
}
Пример #10
0
static bool psp_input_key_pressed(void *data, int key)
{
   settings_t *settings = config_get_ptr();
   psp_input_t *psp     = (psp_input_t*)data;

   return input_joypad_pressed(psp->joypad, 0, settings->input.binds[0], key);
}
Пример #11
0
static bool sdl_is_pressed(sdl_input_t *sdl, unsigned port_num, const struct retro_keybind *binds, unsigned key)
{
   if (sdl_key_pressed(binds[key].key))
      return true;

   return input_joypad_pressed(sdl->joypad, port_num, binds, key);
}
Пример #12
0
static bool cocoa_input_key_pressed(void *data, int key)
{
    cocoa_input_data_t *apple = (cocoa_input_data_t*)data;
    settings_t *settings = config_get_ptr();
    return cocoa_input_is_pressed(apple, 0, settings->input.binds[0], key) ||
           input_joypad_pressed(apple->joypad, 0, settings->input.binds[0], key);
}
Пример #13
0
static int16_t udev_input_state(void *data, const struct retro_keybind **binds,
      unsigned port, unsigned device, unsigned idx, unsigned id)
{
   int16_t ret;
   udev_input_t *udev = (udev_input_t*)data;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return udev_input_is_pressed(binds[port], id) ||
            input_joypad_pressed(udev->joypad, port, binds[port], id);

      case RETRO_DEVICE_ANALOG:
         ret = udev_analog_pressed(binds[port], idx, id);
         if (!ret)
            ret = input_joypad_analog(udev->joypad, port, idx, id, binds[port]);
         return ret;

      case RETRO_DEVICE_KEYBOARD:
         return udev_input_state_kb(data, binds, port, device, idx, id);
      case RETRO_DEVICE_MOUSE:
         return udev_mouse_state(udev, id);

      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return udev_pointer_state(udev, idx, id,
               device == RARCH_DEVICE_POINTER_SCREEN);

      case RETRO_DEVICE_LIGHTGUN:
         return udev_lightgun_state(udev, id);
   }

   return 0;
}
Пример #14
0
static int16_t x_input_state(void *data, const struct retro_keybind **binds, unsigned port, unsigned device, unsigned index, unsigned id)
{
   x11_input_t *x11 = (x11_input_t*)data;
   int16_t ret;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return x_is_pressed(x11, binds[port], id) ||
            input_joypad_pressed(x11->joypad, port, binds[port], id);

      case RETRO_DEVICE_KEYBOARD:
         return x_key_pressed(x11, id);

      case RETRO_DEVICE_ANALOG:
         ret = x_pressed_analog(x11, binds[port], index, id);
         if (!ret)
            ret = input_joypad_analog(x11->joypad, port, index, id, binds[port]);
         return ret;

      case RETRO_DEVICE_MOUSE:
         return x_mouse_state(x11, id);

      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return x_pointer_state(x11, index, id, device == RARCH_DEVICE_POINTER_SCREEN);

      case RETRO_DEVICE_LIGHTGUN:
         return x_lightgun_state(x11, id);

      default:
         return 0;
   }
}
Пример #15
0
static int16_t udev_input_state(void *data, const struct retro_keybind **binds,
      unsigned port, unsigned device, unsigned idx, unsigned id)
{
   int16_t ret;
   udev_input_t *udev = (udev_input_t*)data;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         return udev_input_is_pressed(udev, binds[port], id) ||
            input_joypad_pressed(udev->joypad, port, binds[port], id);

      case RETRO_DEVICE_ANALOG:
         ret = udev_analog_pressed(udev, binds[port], idx, id);
         if (!ret)
            ret = input_joypad_analog(udev->joypad, port, idx, id, binds[port]);
         return ret;

      case RETRO_DEVICE_KEYBOARD:
         {
            unsigned bit = input_keymaps_translate_rk_to_keysym((enum retro_key)id);
            return id < RETROK_LAST && BIT_GET(udev->key_state, bit);
         }
      case RETRO_DEVICE_MOUSE:
         return udev_mouse_state(udev, id);

      case RETRO_DEVICE_LIGHTGUN:
         return udev_lightgun_state(udev, id);
   }

   return 0;
}
Пример #16
0
static bool linuxraw_bind_button_pressed(void *data, int key)
{
   linuxraw_input_t *linuxraw = (linuxraw_input_t*)data;
   settings_t *settings       = config_get_ptr();

   return linuxraw_is_pressed(linuxraw, settings->input.binds[0], key) ||
      input_joypad_pressed(linuxraw->joypad, 0, settings->input.binds[0], key);
}
Пример #17
0
static bool gx_input_key_pressed(void *data, int key)
{
   settings_t *settings = config_get_ptr();
   global_t   *global   = global_get_ptr();
   gx_input_t *gx       = (gx_input_t*)data;
   return (global->lifecycle_state & (1ULL << key)) || 
      input_joypad_pressed(gx->joypad, 0, settings->input.binds[0], key);
}
Пример #18
0
static bool ps3_input_key_pressed(void *data, int key)
{
   ps3_input_t *ps3 = (ps3_input_t*)data;
   if (ps3)
      return (g_extern.lifecycle_state & (1ULL << key)) || 
         input_joypad_pressed(ps3->joypad, 0, g_settings.input.binds[0], key);
   return false;
}
Пример #19
0
static bool apple_input_bind_button_pressed(void *data, int key)
{
   apple_input_data_t *apple = (apple_input_data_t*)data;
   if (apple && apple->joypad)
      return apple_input_is_pressed(apple, 0, g_settings.input.binds[0], key) ||
         input_joypad_pressed(apple->joypad, 0, g_settings.input.binds[0], key);
   return false;
}
Пример #20
0
static int16_t cocoa_input_state(void *data,
      const struct retro_keybind **binds, unsigned port,
      unsigned device, unsigned idx, unsigned id)
{
   int16_t ret               = 0;
   cocoa_input_data_t *apple = (cocoa_input_data_t*)data;

   if (!apple || !apple->joypad)
      return 0;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         if (binds[port] && binds[port][id].valid)
         {
            return apple_input_is_pressed(port, binds[port], id) ||
               input_joypad_pressed(apple->joypad, port, binds[port], id)
#ifdef HAVE_MFI
               || input_joypad_pressed(apple->sec_joypad, port, binds[port], id)
#endif
               ;
         }
         break;
      case RETRO_DEVICE_ANALOG:
#ifdef HAVE_MFI
         if (binds[port])
            ret = input_joypad_analog(apple->sec_joypad, port,
               idx, id, binds[port]);
#endif
         if (!ret && binds[port])
            ret = input_joypad_analog(apple->joypad, port,
                  idx, id, binds[port]);
         return ret;
      case RETRO_DEVICE_KEYBOARD:
         return apple_keyboard_state(id);
      case RETRO_DEVICE_MOUSE:
         return cocoa_mouse_state(apple, id);
       case RARCH_DEVICE_MOUSE_SCREEN:
           return cocoa_mouse_state_screen(apple, id);
      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return cocoa_pointer_state(apple, device, idx, id);
   }

   return 0;
}
Пример #21
0
static bool udev_input_key_pressed(void *data, int key)
{
   udev_input_t *udev   = (udev_input_t*)data;
   settings_t *settings = config_get_ptr();

   return udev_input_is_pressed(udev, settings->input.binds[0], key) ||
      input_joypad_pressed(udev->joypad, 0, settings->input.binds[0], key);
}
Пример #22
0
static bool apple_input_bind_button_pressed(void *data, int key)
{
   apple_input_data_t *apple = (apple_input_data_t*)data;
   settings_t *settings = config_get_ptr();
   if (apple && apple->joypad)
      return apple_input_is_pressed(apple, 0, settings->input.binds[0], key) ||
         input_joypad_pressed(apple->joypad, 0, settings->input.binds[0], key);
   return false;
}
Пример #23
0
static bool dinput_is_pressed(struct dinput_input *di, const struct retro_keybind *binds,
      unsigned port, unsigned id)
{
   if (id >= RARCH_BIND_LIST_END)
      return false;

   const struct retro_keybind *bind = &binds[id];
   return dinput_keyboard_pressed(di, bind->key) || input_joypad_pressed(di->joypad, port, binds, id);
}
Пример #24
0
static bool qnx_input_key_pressed(void *data, int key)
{
   qnx_input_t *qnx     = (qnx_input_t*)data;
   settings_t *settings = config_get_ptr();
   global_t *global     = global_get_ptr();

   return ((global->lifecycle_state | driver.overlay_state.buttons ) & (1ULL << key) ||
         input_joypad_pressed(qnx->joypad, 0, settings->input.binds[0], key));
}
Пример #25
0
static bool qnx_input_key_pressed(void *data, int key)
{
   qnx_input_t *qnx     = (qnx_input_t*)data;
   settings_t *settings = config_get_ptr();

   if (input_joypad_pressed(qnx->joypad, 0, settings->input.binds[0], key))
      return true;

   return false;
}
Пример #26
0
static int16_t cocoa_input_state(void *data,
      rarch_joypad_info_t joypad_info,
      const struct retro_keybind **binds, unsigned port,
      unsigned device, unsigned idx, unsigned id)
{
   int16_t ret               = 0;
   cocoa_input_data_t *apple = (cocoa_input_data_t*)data;

   switch (device)
   {
      case RETRO_DEVICE_JOYPAD:
         if (id < RARCH_BIND_LIST_END)
            ret = apple_key_state[rarch_keysym_lut[binds[port][id].key]];
         if (!ret)
            ret = input_joypad_pressed(apple->joypad, joypad_info, port, binds[port], id);
#ifdef HAVE_MFI
         if (!ret)
            ret = input_joypad_pressed(apple->sec_joypad, joypad_info, port, binds[port], id);
#endif
         return ret;
      case RETRO_DEVICE_ANALOG:
#ifdef HAVE_MFI
         ret = input_joypad_analog(apple->sec_joypad, joypad_info, port,
               idx, id, binds[port]);
#endif
         if (!ret && binds[port])
            ret = input_joypad_analog(apple->joypad, joypad_info, port,
                  idx, id, binds[port]);
         return ret;
      case RETRO_DEVICE_KEYBOARD:
         return (id < RETROK_LAST) && apple_key_state[rarch_keysym_lut[(enum retro_key)id]];
      case RETRO_DEVICE_MOUSE:
         return cocoa_mouse_state(apple, id);
      case RARCH_DEVICE_MOUSE_SCREEN:
         return cocoa_mouse_state_screen(apple, id);
      case RETRO_DEVICE_POINTER:
      case RARCH_DEVICE_POINTER_SCREEN:
         return cocoa_pointer_state(apple, device, idx, id);
   }

   return 0;
}
Пример #27
0
static bool qnx_input_key_pressed(void *data, int key)
{
   qnx_input_t *qnx     = (qnx_input_t*)data;
   settings_t *settings = config_get_ptr();
   int port             = 0;

   if (settings->input.all_users_control_menu)
   {
      for (port = 0; port < MAX_USERS; port++)
         if (input_joypad_pressed(qnx->joypad,
               port, settings->input.binds[0], key))
            return true;
   }
   else
      if (input_joypad_pressed(qnx->joypad,
            0, settings->input.binds[0], key))
         return true;

   return false;
}
Пример #28
0
static bool ps3_input_key_pressed(void *data, int key)
{
   ps3_input_t *ps3 = (ps3_input_t*)data;
   settings_t *settings = config_get_ptr();
   global_t   *global   = global_get_ptr();

   if (!ps3)
      return false;

   return (global->lifecycle_state & (1ULL << key)) || 
      input_joypad_pressed(ps3->joypad, 0, settings->input.binds[0], key);
}
Пример #29
0
static bool udev_input_key_pressed(void *data, int key)
{
   udev_input_t *udev    = (udev_input_t*)data;
   settings_t *settings  = config_get_ptr();

   if (udev_input_is_pressed(settings->input.binds[0], key))
      return true;
   if (input_joypad_pressed(udev->joypad, 0, settings->input.binds[0], key))
      return true;

   return false;
}
Пример #30
0
static int16_t ps3_input_state(void *data, const struct retro_keybind **binds,
      unsigned port, unsigned device,
      unsigned index, unsigned id)
{
   ps3_input_t *ps3 = (ps3_input_t*)data;
   int16_t retval = 0;

   if (!ps3)
      return 0;

   if (port < ps3->pads_connected)
   {
      switch (device)
      {
         case RETRO_DEVICE_JOYPAD:
            if (binds[port][id].joykey >= CONSOLE_MENU_FIRST && binds[port][id].joykey <= CONSOLE_MENU_LAST)
               return ps3_menu_input_state(binds[port][id].joykey, ps3->pad_state[port]) ? 1 : 0;
            else
               return input_joypad_pressed(&ps3_joypad, port, binds[port], id);
         case RETRO_DEVICE_ANALOG:
            return input_joypad_analog(&ps3_joypad, port, index, id, binds[port]);
#if 0
         case RETRO_DEVICE_SENSOR_ACCELEROMETER:
            switch (id)
            {
               // fixed range of 0x000 - 0x3ff
               case RETRO_DEVICE_ID_SENSOR_ACCELEROMETER_X:
                  retval = ps3->accelerometer_state[port].x;
                  break;
               case RETRO_DEVICE_ID_SENSOR_ACCELEROMETER_Y:
                  retval = ps3->accelerometer_state[port].y;
                  break;
               case RETRO_DEVICE_ID_SENSOR_ACCELEROMETER_Z:
                  retval = ps3->accelerometer_state[port].z;
                  break;
               default:
                  retval = 0;
            }
            break;
#endif
#ifdef HAVE_MOUSE
         case RETRO_DEVICE_MOUSE:
            retval = ps3_mouse_device_state(data, port, id);
            break;
#endif
         default:
            return 0;
      }
   }

   return retval;
}