RetroArch
Classes | Macros | Typedefs | Functions | Variables
input_driver.c File Reference
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <compat/strl.h>
#include <file/file_path.h>
#include <file/config_file.h>
#include <encodings/utf.h>
#include <string/stdstring.h>
#include <retro_assert.h>
#include "input_mapper.h"
#include "input_driver.h"
#include "input_keymaps.h"
#include "input_remapping.h"
#include "../config.def.keybinds.h"
#include "../msg_hash.h"
#include "../configuration.h"
#include "../file_path_special.h"
#include "../driver.h"
#include "../retroarch.h"
#include "../movie.h"
#include "../list_special.h"
#include "../verbosity.h"
#include "../tasks/tasks_internal.h"
#include "../command.h"
#include "include/gamepad.h"
Include dependency graph for input_driver.c:
This graph shows which files directly or indirectly include this file:

Classes

struct  input_bind_map
 
struct  turbo_buttons
 
struct  input_keyboard_line
 

Macros

#define DECLARE_BIND(x, bind, desc)   { true, 0, #x, desc, bind }
 
#define DECLARE_META_BIND(level, x, bind, desc)   { true, level, #x, desc, bind }
 
#define check_input_driver_block_hotkey(normal_bind, autoconf_bind)
 
#define ISPRINT(c)   (((int)(c) >= ' ' && (int)(c) <= '~') ? 1 : 0)
 

Typedefs

typedef struct turbo_buttons turbo_buttons_t
 

Functions

void set_connection_listener (pad_connection_listener_t *listener)
 
void fire_connection_listener (unsigned port, input_device_driver_t *driver)
 
const voidinput_driver_find_handle (int idx)
 
const char * input_driver_find_ident (int idx)
 
const char * config_get_input_driver_options (void)
 
voidinput_get_data (void)
 
const input_driver_tinput_get_ptr (void)
 
const input_driver_t ** input_get_double_ptr (void)
 
bool input_driver_set_rumble_state (unsigned port, enum retro_rumble_effect effect, uint16_t strength)
 
const input_device_driver_tinput_driver_get_joypad_driver (void)
 
const input_device_driver_tinput_driver_get_sec_joypad_driver (void)
 
uint64_t input_driver_get_capabilities (void)
 
void input_driver_set (const input_driver_t **input, void **input_data)
 
void input_driver_keyboard_mapping_set_block (bool value)
 
bool input_sensor_set_state (unsigned port, enum retro_sensor_action action, unsigned rate)
 
float input_sensor_get_input (unsigned port, unsigned id)
 
void input_poll (void)
 
int16_t input_state (unsigned port, unsigned device, unsigned idx, unsigned id)
 
void state_tracker_update_input (uint16_t *input1, uint16_t *input2)
 
static INLINE bool input_keys_pressed_iterate (unsigned i, input_bits_t *p_new_state)
 
int16_t input_driver_input_state (rarch_joypad_info_t joypad_info, const struct retro_keybind **retro_keybinds, unsigned port, unsigned device, unsigned index, unsigned id)
 
void input_keys_pressed (void *data, input_bits_t *p_new_state)
 
void input_get_state_for_port (void *data, unsigned port, input_bits_t *p_new_state)
 
voidinput_driver_get_data (void)
 
void ** input_driver_get_data_ptr (void)
 
bool input_driver_has_capabilities (void)
 
bool input_driver_init (void)
 
void input_driver_deinit (void)
 
void input_driver_destroy_data (void)
 
void input_driver_destroy (void)
 
bool input_driver_grab_stdin (void)
 
bool input_driver_keyboard_mapping_is_blocked (void)
 
bool input_driver_find_driver (void)
 
void input_driver_set_flushing_input (void)
 
void input_driver_unset_hotkey_block (void)
 
void input_driver_set_hotkey_block (void)
 
void input_driver_set_libretro_input_blocked (void)
 
void input_driver_unset_libretro_input_blocked (void)
 
bool input_driver_is_libretro_input_blocked (void)
 
void input_driver_set_nonblock_state (void)
 
void input_driver_unset_nonblock_state (void)
 
bool input_driver_is_nonblock_state (void)
 
void input_driver_set_own_driver (void)
 
void input_driver_unset_own_driver (void)
 
bool input_driver_owns_driver (void)
 
bool input_driver_init_command (void)
 
void input_driver_deinit_command (void)
 
void input_driver_deinit_remote (void)
 
void input_driver_deinit_mapper (void)
 
bool input_driver_init_remote (void)
 
bool input_driver_init_mapper (void)
 
bool input_driver_grab_mouse (void)
 
float * input_driver_get_float (enum input_action action)
 
unsigned * input_driver_get_uint (enum input_action action)
 
bool input_driver_ungrab_mouse (void)
 
bool input_driver_is_data_ptr_same (void *data)
 
const voidjoypad_driver_find_handle (int idx)
 
const char * joypad_driver_find_ident (int idx)
 
const char * config_get_joypad_driver_options (void)
 
const input_device_driver_tinput_joypad_init_driver (const char *ident, void *data)
 
const input_device_driver_tinput_joypad_init_first (void *data)
 
const char * input_joypad_name (const input_device_driver_t *drv, unsigned port)
 
bool input_joypad_set_rumble (const input_device_driver_t *drv, unsigned port, enum retro_rumble_effect effect, uint16_t strength)
 
int16_t input_joypad_analog (const input_device_driver_t *drv, rarch_joypad_info_t joypad_info, unsigned port, unsigned idx, unsigned ident, const struct retro_keybind *binds)
 
int16_t input_joypad_axis_raw (const input_device_driver_t *drv, unsigned port, unsigned axis)
 
bool input_joypad_button_raw (const input_device_driver_t *drv, unsigned port, unsigned button)
 
bool input_joypad_hat_raw (const input_device_driver_t *drv, unsigned port, unsigned hat_dir, unsigned hat)
 
bool input_mouse_button_raw (unsigned port, unsigned id)
 
void input_pad_connect (unsigned port, input_device_driver_t *driver)
 
void input_conv_analog_id_to_bind_id (unsigned idx, unsigned ident, unsigned *ident_minus, unsigned *ident_plus)
 
static void osk_update_last_codepoint (const char *word)
 
static bool input_keyboard_line_event (input_keyboard_line_t *state, uint32_t character)
 
bool input_keyboard_line_append (const char *word)
 
const char ** input_keyboard_start_line (void *userdata, input_keyboard_line_complete_t cb)
 

Variables

static pad_connection_listener_tpad_connection_listener = NULL
 
static const input_driver_tinput_drivers []
 
static input_device_driver_tjoypad_drivers []
 
static const uint8_t buttons []
 
static uint16_t input_config_vid [MAX_USERS]
 
static uint16_t input_config_pid [MAX_USERS]
 
static char input_device_display_names [MAX_INPUT_DEVICES][64]
 
static char input_device_config_names [MAX_INPUT_DEVICES][64]
 
char input_device_names [MAX_INPUT_DEVICES][64]
 
uint64_t lifecycle_state
 
struct retro_keybind input_config_binds [MAX_USERS][RARCH_BIND_LIST_END]
 
struct retro_keybind input_autoconf_binds [MAX_USERS][RARCH_BIND_LIST_END]
 
const struct retro_keybindlibretro_input_binds [MAX_USERS]
 
const struct input_bind_map input_config_bind_map [RARCH_BIND_LIST_END_NULL]
 
static bool input_driver_keyboard_linefeed_enable = false
 
static input_keyboard_line_tg_keyboard_line = NULL
 
static voidg_keyboard_press_data = NULL
 
static unsigned osk_last_codepoint = 0
 
static unsigned osk_last_codepoint_len = 0
 
static input_keyboard_press_t g_keyboard_press_cb
 
static turbo_buttons_t input_driver_turbo_btns
 
static input_mapper_tinput_driver_mapper = NULL
 
static const input_driver_tcurrent_input = NULL
 
static voidcurrent_input_data = NULL
 
static bool input_driver_block_hotkey = false
 
static bool input_driver_block_libretro_input = false
 
static bool input_driver_nonblock_state = false
 
bool input_driver_flushing_input = false
 
static bool input_driver_data_own = false
 
static float input_driver_axis_threshold = 0.0f
 
static unsigned input_driver_max_users = 0
 

Macro Definition Documentation

◆ check_input_driver_block_hotkey

#define check_input_driver_block_hotkey (   normal_bind,
  autoconf_bind 
)
Value:
( \
(((normal_bind)->key != RETROK_UNKNOWN) \
|| ((normal_bind)->mbutton != NO_BTN) \
|| ((normal_bind)->joykey != NO_BTN) \
|| ((normal_bind)->joyaxis != AXIS_NONE) \
|| ((autoconf_bind)->key != RETROK_UNKNOWN ) \
|| ((autoconf_bind)->joykey != NO_BTN) \
|| ((autoconf_bind)->joyaxis != AXIS_NONE)) \
)
#define NO_BTN
Definition: input_defines.h:156
Definition: libretro.h:310
#define AXIS_NONE
Definition: input_defines.h:150

check_input_driver_block_hotkey:

Checks if 'hotkey enable' key is pressed.

If we haven't bound anything to this, always allow hotkeys.

If we hold ENABLE_HOTKEY button, block all libretro input to allow hotkeys to be bound to same keys as RetroPad.

◆ DECLARE_BIND

#define DECLARE_BIND (   x,
  bind,
  desc 
)    { true, 0, #x, desc, bind }

◆ DECLARE_META_BIND

#define DECLARE_META_BIND (   level,
  x,
  bind,
  desc 
)    { true, level, #x, desc, bind }

◆ ISPRINT

#define ISPRINT (   c)    (((int)(c) >= ' ' && (int)(c) <= '~') ? 1 : 0)

Typedef Documentation

◆ turbo_buttons_t

Function Documentation

◆ config_get_input_driver_options()

const char* config_get_input_driver_options ( void  )

config_get_input_driver_options:

Get an enumerated list of all input driver names, separated by '|'.

Returns: string listing of all input driver names, separated by '|'.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_get_joypad_driver_options()

const char* config_get_joypad_driver_options ( void  )

config_get_joypad_driver_options:

Get an enumerated list of all joypad driver names, separated by '|'.

Returns: string listing of all joypad driver names, separated by '|'.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fire_connection_listener()

void fire_connection_listener ( unsigned  port,
input_device_driver_t driver 
)
Here is the caller graph for this function:

◆ input_conv_analog_id_to_bind_id()

void input_conv_analog_id_to_bind_id ( unsigned  idx,
unsigned  ident,
unsigned *  ident_minus,
unsigned *  ident_plus 
)

input_conv_analog_id_to_bind_id: : Analog key index. E.g.:

  • RETRO_DEVICE_INDEX_ANALOG_LEFT
  • RETRO_DEVICE_INDEX_ANALOG_RIGHT : Analog key identifier. E.g.:
  • RETRO_DEVICE_ID_ANALOG_X
  • RETRO_DEVICE_ID_ANALOG_Y : Bind ID minus, will be set by function. : Bind ID plus, will be set by function.

Takes as input analog key identifiers and converts them to corresponding bind IDs and .

Here is the caller graph for this function:

◆ input_driver_deinit()

void input_driver_deinit ( void  )
Here is the caller graph for this function:

◆ input_driver_deinit_command()

void input_driver_deinit_command ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_deinit_mapper()

void input_driver_deinit_mapper ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_deinit_remote()

void input_driver_deinit_remote ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_destroy()

void input_driver_destroy ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_destroy_data()

void input_driver_destroy_data ( void  )
Here is the caller graph for this function:

◆ input_driver_find_driver()

bool input_driver_find_driver ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_find_handle()

const void* input_driver_find_handle ( int  idx)

input_driver_find_handle: : index of driver to get handle to.

Returns: handle to input driver at index. Can be NULL if nothing found.

Here is the caller graph for this function:

◆ input_driver_find_ident()

const char* input_driver_find_ident ( int  idx)

input_driver_find_ident: : index of driver to get handle to.

Returns: Human-readable identifier of input driver at index. Can be NULL if nothing found.

Here is the caller graph for this function:

◆ input_driver_get_capabilities()

uint64_t input_driver_get_capabilities ( void  )
Here is the caller graph for this function:

◆ input_driver_get_data()

void* input_driver_get_data ( void  )
Here is the caller graph for this function:

◆ input_driver_get_data_ptr()

void** input_driver_get_data_ptr ( void  )
Here is the caller graph for this function:

◆ input_driver_get_float()

float* input_driver_get_float ( enum input_action  action)
Here is the caller graph for this function:

◆ input_driver_get_joypad_driver()

const input_device_driver_t* input_driver_get_joypad_driver ( void  )
Here is the caller graph for this function:

◆ input_driver_get_sec_joypad_driver()

const input_device_driver_t* input_driver_get_sec_joypad_driver ( void  )
Here is the caller graph for this function:

◆ input_driver_get_uint()

unsigned* input_driver_get_uint ( enum input_action  action)
Here is the caller graph for this function:

◆ input_driver_grab_mouse()

bool input_driver_grab_mouse ( void  )
Here is the caller graph for this function:

◆ input_driver_grab_stdin()

bool input_driver_grab_stdin ( void  )
Here is the caller graph for this function:

◆ input_driver_has_capabilities()

bool input_driver_has_capabilities ( void  )
Here is the caller graph for this function:

◆ input_driver_init()

bool input_driver_init ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_init_command()

bool input_driver_init_command ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_init_mapper()

bool input_driver_init_mapper ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_init_remote()

bool input_driver_init_remote ( void  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_driver_input_state()

int16_t input_driver_input_state ( rarch_joypad_info_t  joypad_info,
const struct retro_keybind **  retro_keybinds,
unsigned  port,
unsigned  device,
unsigned  index,
unsigned  id 
)
Here is the caller graph for this function:

◆ input_driver_is_data_ptr_same()

bool input_driver_is_data_ptr_same ( void data)
Here is the caller graph for this function:

◆ input_driver_is_libretro_input_blocked()

bool input_driver_is_libretro_input_blocked ( void  )
Here is the caller graph for this function:

◆ input_driver_is_nonblock_state()

bool input_driver_is_nonblock_state ( void  )
Here is the caller graph for this function:

◆ input_driver_keyboard_mapping_is_blocked()

bool input_driver_keyboard_mapping_is_blocked ( void  )

◆ input_driver_keyboard_mapping_set_block()

void input_driver_keyboard_mapping_set_block ( bool  value)
Here is the caller graph for this function:

◆ input_driver_owns_driver()

bool input_driver_owns_driver ( void  )
Here is the caller graph for this function:

◆ input_driver_set()

void input_driver_set ( const input_driver_t **  input,
void **  input_data 
)
Here is the call graph for this function:

◆ input_driver_set_flushing_input()

void input_driver_set_flushing_input ( void  )
Here is the caller graph for this function:

◆ input_driver_set_hotkey_block()

void input_driver_set_hotkey_block ( void  )
Here is the caller graph for this function:

◆ input_driver_set_libretro_input_blocked()

void input_driver_set_libretro_input_blocked ( void  )
Here is the caller graph for this function:

◆ input_driver_set_nonblock_state()

void input_driver_set_nonblock_state ( void  )
Here is the caller graph for this function:

◆ input_driver_set_own_driver()

void input_driver_set_own_driver ( void  )
Here is the caller graph for this function:

◆ input_driver_set_rumble_state()

bool input_driver_set_rumble_state ( unsigned  port,
enum retro_rumble_effect  effect,
uint16_t  strength 
)

input_driver_set_rumble_state: : User number. : Rumble effect. : Strength of rumble effect.

Sets the rumble state. Used by RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE.

Here is the caller graph for this function:

◆ input_driver_ungrab_mouse()

bool input_driver_ungrab_mouse ( void  )
Here is the caller graph for this function:

◆ input_driver_unset_hotkey_block()

void input_driver_unset_hotkey_block ( void  )
Here is the caller graph for this function:

◆ input_driver_unset_libretro_input_blocked()

void input_driver_unset_libretro_input_blocked ( void  )
Here is the caller graph for this function:

◆ input_driver_unset_nonblock_state()

void input_driver_unset_nonblock_state ( void  )
Here is the caller graph for this function:

◆ input_driver_unset_own_driver()

void input_driver_unset_own_driver ( void  )
Here is the caller graph for this function:

◆ input_get_data()

void* input_get_data ( void  )
Here is the caller graph for this function:

◆ input_get_double_ptr()

const input_driver_t** input_get_double_ptr ( void  )
Here is the caller graph for this function:

◆ input_get_ptr()

const input_driver_t* input_get_ptr ( void  )
Here is the caller graph for this function:

◆ input_get_state_for_port()

void input_get_state_for_port ( void data,
unsigned  port,
input_bits_t p_new_state 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_joypad_analog()

int16_t input_joypad_analog ( const input_device_driver_t drv,
rarch_joypad_info_t  joypad_info,
unsigned  port,
unsigned  idx,
unsigned  ident,
const struct retro_keybind binds 
)

input_joypad_analog: : Input device driver handle. : User number. : Analog key index. E.g.:

  • RETRO_DEVICE_INDEX_ANALOG_LEFT
  • RETRO_DEVICE_INDEX_ANALOG_RIGHT : Analog key identifier. E.g.:
  • RETRO_DEVICE_ID_ANALOG_X
  • RETRO_DEVICE_ID_ANALOG_Y : Binds of user.

Gets analog value of analog key identifiers and from user with number with provided keybinds ().

Returns: analog value on success, otherwise 0.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_joypad_axis_raw()

int16_t input_joypad_axis_raw ( const input_device_driver_t drv,
unsigned  port,
unsigned  axis 
)

input_joypad_axis_raw: : Input device driver handle. : Joystick number. : Identifier of axis.

Checks if axis () was being pressed by user with joystick number .

Returns: true (1) if axis was pressed, otherwise false (0).

Here is the caller graph for this function:

◆ input_joypad_button_raw()

bool input_joypad_button_raw ( const input_device_driver_t drv,
unsigned  port,
unsigned  button 
)

input_joypad_button_raw: : Input device driver handle. : Joystick number. : Identifier of key.

Checks if key () was being pressed by user with joystick number .

Returns: true (1) if key was pressed, otherwise false (0).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_joypad_hat_raw()

bool input_joypad_hat_raw ( const input_device_driver_t drv,
unsigned  port,
unsigned  hat_dir,
unsigned  hat 
)
Here is the caller graph for this function:

◆ input_joypad_init_driver()

const input_device_driver_t* input_joypad_init_driver ( const char *  ident,
void data 
)

input_joypad_init_driver: : identifier of driver to initialize.

Initialize a joypad driver of name .

If ident points to NULL or a zero-length string, equivalent to calling input_joypad_init_first().

Returns: joypad driver if found, otherwise NULL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_joypad_init_first()

const input_device_driver_t* input_joypad_init_first ( void data)

input_joypad_init_first:

Finds first suitable joypad driver and initializes.

Returns: joypad driver if found, otherwise NULL.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_joypad_name()

const char* input_joypad_name ( const input_device_driver_t drv,
unsigned  port 
)

input_joypad_name: : Input device driver handle. : Joystick number.

Gets name of the joystick ().

Returns: name of joystick port.

◆ input_joypad_set_rumble()

bool input_joypad_set_rumble ( const input_device_driver_t drv,
unsigned  port,
enum retro_rumble_effect  effect,
uint16_t  strength 
)

input_joypad_set_rumble: : Input device driver handle. : User number. : Rumble effect to set. : Strength of rumble effect.

Sets rumble effect with strength .

Returns: true (1) if successful, otherwise false (0).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_keyboard_line_append()

bool input_keyboard_line_append ( const char *  word)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_keyboard_line_event()

static bool input_keyboard_line_event ( input_keyboard_line_t state,
uint32_t  character 
)
static

input_keyboard_line_event: : Input keyboard line handle. : Inputted character.

Called on every keyboard character event.

Returns: true (1) on success, otherwise false (0).

Here is the call graph for this function:

◆ input_keyboard_start_line()

const char** input_keyboard_start_line ( void userdata,
input_keyboard_line_complete_t  cb 
)

input_keyboard_start_line: : Userdata. : Line complete callback function.

Sets function pointer for keyboard line handle.

The underlying buffer can be reallocated at any time (or be NULL), but the pointer to it remains constant throughout the objects lifetime.

Returns: underlying buffer of the keyboard line.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_keys_pressed()

void input_keys_pressed ( void data,
input_bits_t p_new_state 
)

input_keys_pressed:

Grab an input sample for this frame.

Returns: Input sample containing a mask of all pressed keys.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_keys_pressed_iterate()

static INLINE bool input_keys_pressed_iterate ( unsigned  i,
input_bits_t p_new_state 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_mouse_button_raw()

bool input_mouse_button_raw ( unsigned  port,
unsigned  id 
)

input_mouse_button_raw: : Mouse number. : Identifier of key (libretro mouse constant).

Checks if key () was being pressed by user with mouse number .

Returns: true (1) if key was pressed, otherwise false (0).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_pad_connect()

void input_pad_connect ( unsigned  port,
input_device_driver_t driver 
)

input_pad_connect: : Joystick number. : handle for joypad driver handling joystick's input

Registers a newly connected pad with RetroArch.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_poll()

void input_poll ( void  )

input_poll:

Input polling callback function.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ input_sensor_get_input()

float input_sensor_get_input ( unsigned  port,
unsigned  id 
)
Here is the caller graph for this function:

◆ input_sensor_set_state()

bool input_sensor_set_state ( unsigned  port,
enum retro_sensor_action  action,
unsigned  rate 
)

input_sensor_set_state: : User number. : Sensor action. : Sensor rate update.

Sets the sensor state. Used by RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE.

Here is the caller graph for this function:

◆ input_state()

int16_t input_state ( unsigned  port,
unsigned  device,
unsigned  idx,
unsigned  id 
)

input_state: : user number. : device identifier of user. : index value of user. : identifier of key pressed by user.

Input state callback function.

Returns: Non-zero if the given key (identified by ) was pressed by the user (assigned to ).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ joypad_driver_find_handle()

const void* joypad_driver_find_handle ( int  idx)

joypad_driver_find_handle: : index of driver to get handle to.

Returns: handle to joypad driver at index. Can be NULL if nothing found.

Here is the caller graph for this function:

◆ joypad_driver_find_ident()

const char* joypad_driver_find_ident ( int  idx)

joypad_driver_find_ident: : index of driver to get handle to.

Returns: Human-readable identifier of joypad driver at index. Can be NULL if nothing found.

Here is the caller graph for this function:

◆ osk_update_last_codepoint()

static void osk_update_last_codepoint ( const char *  word)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_connection_listener()

void set_connection_listener ( pad_connection_listener_t listener)
Here is the caller graph for this function:

◆ state_tracker_update_input()

void state_tracker_update_input ( uint16_t input1,
uint16_t input2 
)

state_tracker_update_input:

Updates 16-bit input in same format as libretro API itself.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ buttons

const uint8_t buttons[]
static
Initial value:
= {
}
#define RETRO_DEVICE_ID_JOYPAD_B
Definition: libretro.h:188
#define RETRO_DEVICE_ID_JOYPAD_Y
Definition: libretro.h:189
#define RETRO_DEVICE_ID_JOYPAD_X
Definition: libretro.h:197
#define RETRO_DEVICE_ID_JOYPAD_DOWN
Definition: libretro.h:193
#define RETRO_DEVICE_ID_JOYPAD_SELECT
Definition: libretro.h:190
#define RETRO_DEVICE_ID_JOYPAD_START
Definition: libretro.h:191
#define RETRO_DEVICE_ID_JOYPAD_LEFT
Definition: libretro.h:194
#define RETRO_DEVICE_ID_JOYPAD_RIGHT
Definition: libretro.h:195
#define RETRO_DEVICE_ID_JOYPAD_L
Definition: libretro.h:198
#define RETRO_DEVICE_ID_JOYPAD_R
Definition: libretro.h:199
#define RETRO_DEVICE_ID_JOYPAD_UP
Definition: libretro.h:192
#define RETRO_DEVICE_ID_JOYPAD_A
Definition: libretro.h:196

◆ current_input

const input_driver_t* current_input = NULL
static

◆ current_input_data

void* current_input_data = NULL
static

◆ g_keyboard_line

input_keyboard_line_t* g_keyboard_line = NULL
static

◆ g_keyboard_press_cb

input_keyboard_press_t g_keyboard_press_cb
static

◆ g_keyboard_press_data

void* g_keyboard_press_data = NULL
static

◆ input_autoconf_binds

struct retro_keybind input_autoconf_binds[MAX_USERS][RARCH_BIND_LIST_END]

◆ input_config_bind_map

const struct input_bind_map input_config_bind_map[RARCH_BIND_LIST_END_NULL]

◆ input_config_binds

struct retro_keybind input_config_binds[MAX_USERS][RARCH_BIND_LIST_END]

◆ input_config_pid

uint16_t input_config_pid[MAX_USERS]
static

◆ input_config_vid

uint16_t input_config_vid[MAX_USERS]
static

◆ input_device_config_names

char input_device_config_names[MAX_INPUT_DEVICES][64]
static

◆ input_device_display_names

char input_device_display_names[MAX_INPUT_DEVICES][64]
static

◆ input_device_names

char input_device_names[MAX_INPUT_DEVICES][64]

◆ input_driver_axis_threshold

float input_driver_axis_threshold = 0.0f
static

◆ input_driver_block_hotkey

bool input_driver_block_hotkey = false
static

◆ input_driver_block_libretro_input

bool input_driver_block_libretro_input = false
static

◆ input_driver_data_own

bool input_driver_data_own = false
static

◆ input_driver_flushing_input

bool input_driver_flushing_input = false

◆ input_driver_keyboard_linefeed_enable

bool input_driver_keyboard_linefeed_enable = false
static

◆ input_driver_mapper

input_mapper_t* input_driver_mapper = NULL
static

◆ input_driver_max_users

unsigned input_driver_max_users = 0
static

◆ input_driver_nonblock_state

bool input_driver_nonblock_state = false
static

◆ input_driver_turbo_btns

turbo_buttons_t input_driver_turbo_btns
static

◆ input_drivers

const input_driver_t* input_drivers[]
static

◆ joypad_drivers

input_device_driver_t* joypad_drivers[]
static

◆ libretro_input_binds

const struct retro_keybind* libretro_input_binds[MAX_USERS]

◆ lifecycle_state

uint64_t lifecycle_state

◆ osk_last_codepoint

unsigned osk_last_codepoint = 0
static

◆ osk_last_codepoint_len

unsigned osk_last_codepoint_len = 0
static

◆ pad_connection_listener

pad_connection_listener_t* pad_connection_listener = NULL
static