コード例 #1
0
ファイル: menu_input.c プロジェクト: beshio/RetroArch
int menu_input_set_input_device_bind_mode(void *data,
      enum menu_input_bind_mode type)
{
   struct retro_keybind *keybind = NULL;
   rarch_setting_t  *setting = (rarch_setting_t*)data;
   settings_t *settings      = config_get_ptr();
   menu_handle_t       *menu = menu_driver_get_ptr();

   if (!menu || !setting)
      return -1;

   switch (type)
   {
      case MENU_INPUT_BIND_NONE:
         return -1;
      case MENU_INPUT_BIND_SINGLE:
         keybind = (struct retro_keybind*)setting->value.keybind;

         if (!keybind)
            return -1;
         menu->binds.begin  = setting->bind_type;
         menu->binds.last   = setting->bind_type;
         menu->binds.target = keybind;
         menu->binds.user   = setting->index_offset;
         menu_list_push_stack( menu->menu_list,
               "",
               "custom_bind",
               MENU_SETTINGS_CUSTOM_BIND,
               menu->navigation.selection_ptr);
         break;
      case MENU_INPUT_BIND_ALL:
         menu->binds.target = &settings->input.binds
            [setting->index_offset][0];
         menu->binds.begin  = MENU_SETTINGS_BIND_BEGIN;
         menu->binds.last   = MENU_SETTINGS_BIND_LAST;
         menu_list_push_stack( menu->menu_list,
               "",
               "custom_bind_all",
               MENU_SETTINGS_CUSTOM_BIND,
               menu->navigation.selection_ptr);
         break;
   }

   menu_input_poll_bind_get_rested_axes(&menu->binds);
   menu_input_poll_bind_state(&menu->binds);

   return 0;
}
コード例 #2
0
ファイル: menu_input.c プロジェクト: PCGeekBrain/RetroArch
int menu_input_set_input_device_bind_mode(void *data,
      enum menu_input_bind_mode type)
{
   menu_handle_t       *menu = menu_driver_get_ptr();
   rarch_setting_t  *setting = (rarch_setting_t*)data;

   if (!setting)
      return -1;
   if (menu_input_set_bind_mode_common(setting, type) == -1)
      return -1;

   menu_input_poll_bind_get_rested_axes(&menu->binds);
   menu_input_poll_bind_state(&menu->binds);

   return 0;
}
コード例 #3
0
ファイル: menu_input.c プロジェクト: jwdehart/RetroArch
int menu_input_set_input_device_bind_mode(void *data,
      enum menu_input_bind_mode type)
{
   menu_input_t *menu_input  = menu_input_get_ptr();
   rarch_setting_t  *setting = (rarch_setting_t*)data;
   settings_t *settings      = config_get_ptr();

   bind_port = settings->input.joypad_map[setting->index_offset];

   if (!setting)
      return -1;
   if (menu_input_set_bind_mode_common(setting, type) == -1)
      return -1;

   menu_input_poll_bind_get_rested_axes(&menu_input->binds, bind_port);
   menu_input_poll_bind_state(&menu_input->binds, bind_port);

   return 0;
}