17 #ifndef __INPUT_DRIVER__H 18 #define __INPUT_DRIVER__H 23 #include <sys/types.h> 39 #include "../msg_hash.h" 136 void *(*init)(
const char *joypad_driver);
180 const char *(*name)(unsigned);
248 #define inherit_joyaxis(binds) (((binds)[x_plus].joyaxis == (binds)[x_minus].joyaxis) || ( (binds)[y_plus].joyaxis == (binds)[y_minus].joyaxis)) 256 #define input_pop_analog_dpad(binds) \ 259 for (j = RETRO_DEVICE_ID_JOYPAD_UP; j <= RETRO_DEVICE_ID_JOYPAD_RIGHT; j++) \ 260 (binds)[j].joyaxis = (binds)[j].orig_joyaxis; \ 273 #define input_push_analog_dpad(binds, mode) \ 276 unsigned x_plus = RARCH_ANALOG_RIGHT_X_PLUS; \ 277 unsigned y_plus = RARCH_ANALOG_RIGHT_Y_PLUS; \ 278 unsigned x_minus = RARCH_ANALOG_RIGHT_X_MINUS; \ 279 unsigned y_minus = RARCH_ANALOG_RIGHT_Y_MINUS; \ 280 if ((mode) == ANALOG_DPAD_LSTICK) \ 282 x_plus = RARCH_ANALOG_LEFT_X_PLUS; \ 283 y_plus = RARCH_ANALOG_LEFT_Y_PLUS; \ 284 x_minus = RARCH_ANALOG_LEFT_X_MINUS; \ 285 y_minus = RARCH_ANALOG_LEFT_Y_MINUS; \ 287 for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) \ 288 (binds)[k].orig_joyaxis = (binds)[k].joyaxis; \ 289 if (!inherit_joyaxis(binds)) \ 291 unsigned j = x_plus + 3; \ 293 for (k = RETRO_DEVICE_ID_JOYPAD_UP; k <= RETRO_DEVICE_ID_JOYPAD_RIGHT; k++) \ 294 (binds)[k].joyaxis = (binds)[j--].joyaxis; \ 318 unsigned idx,
unsigned id);
471 unsigned *ident_minus,
unsigned *ident_plus);
528 unsigned port,
unsigned idx,
unsigned ident,
558 unsigned port,
unsigned axis);
576 unsigned joypad,
unsigned hat_dir,
unsigned hat);
625 const void *hid_driver_find_handle(
int index);
634 const char *hid_driver_find_ident(
int index);
643 const char* config_get_hid_driver_options(
void);
654 const void *hid_driver_get_data(
void);
655 void hid_driver_reset_data(
void);
712 const char *input_config_bind_map_get_base(
unsigned i);
714 unsigned input_config_bind_map_get_meta(
unsigned i);
716 const char *input_config_bind_map_get_desc(
unsigned i);
718 bool input_config_bind_map_get_valid(
unsigned i);
721 void input_config_get_bind_string(
char *
buf,
733 enum retro_key input_config_translate_str_to_rk(
const char *
str);
735 const char *input_config_get_prefix(
unsigned user,
bool meta);
746 unsigned input_config_translate_str_to_bind_id(
const char *
str);
748 void input_config_parse_key(
void *
data,
749 const char *prefix,
const char *btn,
752 void input_config_parse_joy_button(
void *
data,
const char *prefix,
755 void input_config_parse_joy_axis(
void *
data,
const char *prefix,
758 void input_config_parse_mouse_button(
void *
data,
const char *prefix,
761 void input_config_set_device_name(
unsigned port,
const char *
name);
763 void input_config_set_device_display_name(
unsigned port,
const char *
name);
765 void input_config_set_device_config_name(
unsigned port,
const char *
name);
767 void input_config_clear_device_name(
unsigned port);
769 void input_config_clear_device_display_name(
unsigned port);
771 void input_config_clear_device_config_name(
unsigned port);
773 unsigned input_config_get_device_count(
void);
775 unsigned *input_config_get_device_ptr(
unsigned port);
777 unsigned input_config_get_device(
unsigned port);
779 void input_config_set_device(
unsigned port,
unsigned id);
781 const char *input_config_get_device_name(
unsigned port);
783 const char *input_config_get_device_display_name(
unsigned port);
785 const char *input_config_get_device_config_name(
unsigned port);
787 const struct retro_keybind *input_config_get_bind_auto(
unsigned port,
unsigned id);
797 void input_config_reset(
void);
input_driver_t input_gx
Definition: gx_input.c:149
input_device_driver_t qnx_joypad
Definition: qnx_joypad.c:128
uint64_t def_joykey
Definition: input_driver.h:108
hid_driver_t wiiusb_hid
Definition: wiiusb_hid.c:624
input_device_driver_t ps2_joypad
Definition: ps2_joypad.c:154
GLuint const GLchar * name
Definition: glext.h:6671
void * userdata
Definition: input_driver.h:669
void(* grab_mouse)(void *data, bool state)
Definition: input_driver.h:160
#define NO_BTN
Definition: input_defines.h:156
bool input_driver_find_driver(void)
Definition: input_driver.c:1289
bool input_driver_is_nonblock_state(void)
Definition: input_driver.c:1368
void set_connection_listener(pad_connection_listener_t *listener)
Definition: input_driver.c:69
input_driver_t input_wiiu
Definition: wiiu_input.c:255
bool input_driver_init_remote(void)
Definition: input_driver.c:1445
input_driver_t input_android
Definition: android_input.c:1626
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
int16_t input_joypad_analog(const input_device_driver_t *driver, rarch_joypad_info_t joypad_info, unsigned port, unsigned idx, unsigned ident, const struct retro_keybind *binds)
Definition: input_driver.c:1692
void input_driver_destroy(void)
Definition: input_driver.c:1264
#define INLINE
Definition: retro_inline.h:35
void(* keyboard_mapping_set_block)(void *data, bool value)
Definition: input_driver.h:167
Definition: input_driver.h:68
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
input_driver_t input_linuxraw
Definition: linuxraw_input.c:220
Definition: input_driver.h:57
void input_driver_deinit_mapper(void)
Definition: input_driver.c:1438
input_driver_t input_xenon360
Definition: xenon360_input.c:122
input_driver_t input_wayland
Definition: wayland_input.c:412
Configuration options (set of defines)
void input_driver_set_libretro_input_blocked(void)
Definition: input_driver.c:1343
input_device_driver_t psp_joypad
Definition: psp_joypad.c:383
bool input_driver_is_libretro_input_blocked(void)
Definition: input_driver.c:1353
void fire_connection_listener(unsigned port, input_device_driver_t *driver)
Definition: input_driver.c:74
const char * config_get_input_driver_options(void)
Definition: input_driver.c:485
bool(* button)(unsigned, uint16_t)
Definition: input_driver.h:175
Definition: input_driver.h:93
hid_driver_t iohidmanager_hid
Definition: iohidmanager_hid.c:1138
void(* poll)(void)
Definition: input_driver.h:178
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:8418
const input_device_driver_t * input_joypad_init_first(void *data)
Definition: input_driver.c:1614
int16_t input_joypad_axis_raw(const input_device_driver_t *driver, unsigned port, unsigned axis)
Definition: input_driver.c:1804
Definition: input_driver.h:80
retro_sensor_action
Definition: libretro.h:1702
bool input_sensor_set_state(unsigned port, enum retro_sensor_action action, unsigned rate)
Definition: input_driver.c:570
bool input_driver_owns_driver(void)
Definition: input_driver.c:1383
Definition: input_driver.h:70
Definition: input_driver.h:56
Definition: input_driver.h:49
input_driver_t input_psp
Definition: psp_input.c:158
GLsizeiptr size
Definition: glext.h:6559
input_driver_t input_switch
Definition: switch_input.c:224
input_action
Definition: input_driver.h:66
const portMappingElt code
Definition: portlistingparse.c:17
float axis_threshold
Definition: input_driver.h:129
input_device_driver_t null_joypad
Definition: null_joypad.c:64
GLenum GLuint id
Definition: glext.h:6233
includes all by default used to find thumbnails Please choose a single playlist first Add Entry Add Folder Select Files< multiple > Please fill out all required fields RetroArch updated successfully Please restart the application for the changes to take effect Contributors Move Down Load Remove Add Pass No shader passes Reset All Passes Download thumbnail Start on Download All Thumbnails This Playlist Configured in port
Definition: msg_hash_us.h:7699
input_driver_t input_ps2
Definition: ps2_input.c:135
input_device_driver_t ps3_joypad
Definition: ps3_joypad.c:270
void * input_driver_get_data(void)
Definition: input_driver.c:1222
void(* free)(void *data)
Definition: input_driver.h:152
const input_device_driver_t * input_driver_get_joypad_driver(void)
Definition: input_driver.c:523
uint16_t mbutton
Definition: input_driver.h:100
bool input_driver_set_rumble_state(unsigned port, enum retro_rumble_effect effect, uint16_t strength)
Definition: input_driver.c:514
input_device_driver_t mfi_joypad
Definition: mfi_joypad.m:288
input_driver_t input_udev
Definition: udev_input.c:1297
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
uint32_t def_joyaxis
Definition: input_driver.h:116
input_device_driver_t udev_joypad
Definition: udev_joypad.c:711
char * joykey_label
Definition: input_driver.h:121
Definition: input_driver.h:75
float input_sensor_get_input(unsigned port, unsigned id)
Definition: input_driver.c:580
input_device_driver_t xdk_joypad
Definition: xdk_joypad.c:322
void(* get_buttons)(unsigned, input_bits_t *)
Definition: input_driver.h:176
static struct descriptor joypad
Definition: net_retropad_core.c:88
void input_driver_unset_own_driver(void)
Definition: input_driver.c:1378
const input_driver_t * input_get_ptr(void)
Definition: input_driver.c:495
GLenum GLenum GLenum input
Definition: glext.h:9938
input_device_driver_t dos_joypad
Definition: dos_joypad.c:248
bool(* set_rumble)(unsigned, enum retro_rumble_effect, uint16_t)
Definition: input_driver.h:179
const void * joypad_driver_find_handle(int index)
Definition: input_driver.c:1540
input_driver_t input_sdl
Definition: sdl_input.c:406
const input_device_driver_t * input_joypad_init_driver(const char *ident, void *data)
Definition: input_driver.c:1586
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:6303
bool input_driver_has_capabilities(void)
Definition: input_driver.c:1232
typedef bool(RETRO_CALLCONV *retro_replace_image_index_t)(unsigned index
Definition: input_types.h:25
bool input_driver_is_data_ptr_same(void *data)
Definition: input_driver.c:1528
void input_conv_analog_id_to_bind_id(unsigned idx, unsigned ident, unsigned *ident_minus, unsigned *ident_plus)
Definition: input_driver.c:1905
void * input_get_data(void)
Definition: input_driver.c:490
void input_keys_pressed(void *data, input_bits_t *new_state)
Definition: input_driver.c:1102
uint64_t joykey
Definition: input_driver.h:104
bool input_driver_grab_mouse(void)
Definition: input_driver.c:1482
input_device_driver_t android_joypad
Definition: android_joypad.c:112
input_driver_t input_cocoa
Definition: cocoa_input.c:423
rarch_input_keyboard_ctl_state
Definition: input_driver.h:73
hid_driver_t btstack_hid
Definition: btstack_hid.c:1471
unsigned * input_driver_get_uint(enum input_action action)
Definition: input_driver.c:1505
input_driver_t input_xinput
Definition: xdk_xinput_input.c:175
input_driver_t input_ctr
Definition: ctr_input.c:144
Definition: input_driver.h:132
input_device_driver_t gx_joypad
Definition: gx_joypad.c:519
void input_driver_deinit_remote(void)
Definition: input_driver.c:1428
Definition: input_driver.h:61
input_device_driver_t rwebpad_joypad
Definition: rwebpad_joypad.c:207
void input_driver_set_flushing_input(void)
Definition: input_driver.c:1328
bool input_joypad_hat_raw(const input_device_driver_t *driver, unsigned joypad, unsigned hat_dir, unsigned hat)
Definition: input_driver.c:1833
char * joyaxis_label
Definition: input_driver.h:122
const void * input_driver_find_handle(int index)
Definition: input_driver.c:455
Definition: input_driver.h:55
bool input_config_get_bind_idx(unsigned port, unsigned *joy_idx_real)
input_driver_t input_ps3
Definition: ps3_input.c:263
hid_driver_t null_hid
Definition: null_hid.c:98
void input_driver_unset_nonblock_state(void)
Definition: input_driver.c:1363
signed short int16_t
Definition: stdint.h:122
void input_poll(void)
Definition: input_driver.c:595
void(* poll)(void *data)
Definition: input_driver.h:139
Definition: input_driver.h:667
bool input_driver_ungrab_mouse(void)
Definition: input_driver.c:1519
static uint64_t state[MAX_PADS]
Definition: xenon360_input.c:33
retro_key
Definition: libretro.h:308
bool input_mouse_button_raw(unsigned port, unsigned button)
Definition: input_driver.c:1852
Definition: input_driver.h:125
float * input_driver_get_float(enum input_action action)
Definition: input_driver.c:1491
void input_get_state_for_port(void *data, unsigned port, input_bits_t *p_new_state)
Definition: input_driver.c:1176
uint64_t(* get_capabilities)(void *data)
Definition: input_driver.h:157
int16_t(* axis)(unsigned, uint32_t)
Definition: input_driver.h:177
input_keyboard_press_t cb
Definition: input_driver.h:670
uint32_t orig_joyaxis
Definition: input_driver.h:119
void input_driver_set_nonblock_state(void)
Definition: input_driver.c:1358
Definition: inftrees.h:27
retro_rumble_effect
Definition: libretro.h:1851
input_device_type
Definition: input_driver.h:46
void input_driver_set_hotkey_block(void)
Definition: input_driver.c:1338
Definition: input_driver.h:87
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 idx
Definition: pixman-arm-neon-asm.h:96
float(* get_sensor_input)(void *data, unsigned port, unsigned id)
Definition: input_driver.h:156
#define AXIS_NONE
Definition: input_defines.h:150
enum retro_key key
Definition: input_driver.h:98
void input_pad_connect(unsigned port, input_device_driver_t *driver)
Definition: input_driver.c:1874
bool valid
Definition: input_driver.h:95
input_device_driver_t switch_joypad
Definition: switch_joypad.c:245
const struct retro_keybind * libretro_input_binds[MAX_USERS]
Definition: input_driver.c:281
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
const char * ident
Definition: input_driver.h:182
bool(* set_sensor_state)(void *data, unsigned port, enum retro_sensor_action action, unsigned rate)
Definition: input_driver.h:154
Definition: input_driver.h:59
int16_t input_state(unsigned port, unsigned device, unsigned idx, unsigned id)
Definition: input_driver.c:663
const char * input_joypad_name(const input_device_driver_t *driver, unsigned port)
Definition: input_driver.c:1640
Definition: input_driver.h:90
Definition: input_driver.h:62
GLuint index
Definition: glext.h:6671
void input_driver_unset_libretro_input_blocked(void)
Definition: input_driver.c:1348
Definition: input_driver.h:170
input_driver_t input_uwp
Definition: uwp_input.c:158
Definition: input_defines.h:118
Definition: input_driver.h:58
msg_hash_enums
Definition: msg_hash.h:152
int16_t(* input_state)(void *data, rarch_joypad_info_t joypad_info, const struct retro_keybind **retro_keybinds, unsigned port, unsigned device, unsigned index, unsigned id)
Definition: input_driver.h:146
input_driver_t input_dinput
Definition: dinput.c:941
static INLINE bool input_joypad_pressed(const input_device_driver_t *drv, rarch_joypad_info_t joypad_info, unsigned port, const struct retro_keybind *binds, unsigned key)
Definition: input_driver.h:486
const input_driver_t ** input_get_double_ptr(void)
Definition: input_driver.c:500
void input_driver_destroy_data(void)
Definition: input_driver.c:1259
void input_driver_keyboard_mapping_set_block(bool value)
Definition: input_driver.c:555
void input_driver_deinit(void)
Definition: input_driver.c:1252
bool(* query_pad)(unsigned)
Definition: input_driver.h:173
Definition: hid_driver.h:36
void input_driver_set(const input_driver_t **input, void **input_data)
Definition: input_driver.c:544
input_device_driver_t hid_joypad
Definition: hid_joypad.c:94
bool input_joypad_button_raw(const input_device_driver_t *driver, unsigned port, unsigned button)
Definition: input_driver.c:1825
Definition: input_driver.h:48
input_driver_t input_x
Definition: x11_input.c:526
bool input_driver_init_command(void)
Definition: input_driver.c:1388
const char * input_driver_find_ident(int index)
Definition: input_driver.c:470
struct retro_keybind input_autoconf_binds[MAX_USERS][RARCH_BIND_LIST_END]
Definition: input_driver.c:280
input_driver_t input_qnx
Definition: qnx_input.c:849
bool input_driver_grab_stdin(void)
Definition: input_driver.c:1276
const char * joypad_driver_find_ident(int index)
Definition: input_driver.c:1555
input_driver_t input_null
Definition: nullinput.c:91
const char * config_get_joypad_driver_options(void)
Definition: input_driver.c:1570
struct retro_keybind input_config_binds[MAX_USERS][RARCH_BIND_LIST_END]
Definition: input_driver.c:279
input_driver_t input_dos
Definition: dos_input.c:126
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Right Analog X Right analog Right Analog Y Right analog Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Analog Stick Deadzone Bind All Bind Timeout Hide Unbound Core Input Descriptors Device Index Mouse Index Duty Cycle Keyboard Gamepad Mapping Enable B button(down)") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_DOWN
input_device_driver_t parport_joypad
Definition: parport_joypad.c:375
void input_driver_unset_hotkey_block(void)
Definition: input_driver.c:1333
Definition: input_driver.h:63
Definition: input_driver.h:77
void input_driver_set_own_driver(void)
Definition: input_driver.c:1373
bool(* init)(void *data)
Definition: input_driver.h:172
char input_device_names[MAX_INPUT_DEVICES][64]
Definition: input_driver.c:276
GLsizei const GLfloat * value
Definition: glext.h:6709
void input_driver_deinit_command(void)
Definition: input_driver.c:1419
#define MAX_USERS
Definition: input_defines.h:27
const char * ident
Definition: input_driver.h:158
Definition: input_driver.h:76
hid_driver_t libusb_hid
Definition: libusb_hid.c:648
void ** input_driver_get_data_ptr(void)
Definition: input_driver.c:1227
const input_device_driver_t * input_driver_get_sec_joypad_driver(void)
Definition: input_driver.c:530
input_device_driver_t ctr_joypad
Definition: ctr_joypad.c:193
input_device_driver_t dinput_joypad
Definition: dinput_joypad.c:584
input_device_driver_t sdl_joypad
Definition: sdl_joypad.c:469
Definition: input_driver.h:78
uint16_t id
Definition: input_driver.h:96
input_toggle_type
Definition: input_driver.h:53
const struct retro_keybind * auto_binds
Definition: input_driver.h:128
bool(* input_keyboard_press_t)(void *userdata, unsigned code)
Definition: input_driver.h:665
input_driver_t input_rwebinput
Definition: rwebinput_input.c:690
bool(* keyboard_mapping_is_blocked)(void *data)
Definition: input_driver.h:166
void(* input_keyboard_line_complete_t)(void *userdata, const char *line)
Definition: input_driver.h:662
bool input_keyboard_line_append(const char *word)
Definition: input_driver.c:2127
void(* destroy)(void)
Definition: input_driver.h:174
enum msg_hash_enums enum_idx
Definition: input_driver.h:97
input_driver_t input_winraw
Definition: winraw_input.c:836
bool input_driver_keyboard_mapping_is_blocked(void)
Definition: input_driver.c:1283
input_device_driver_t wiiu_joypad
Definition: wiiu_joypad.c:121
unsigned short uint16_t
Definition: stdint.h:125
uint64_t input_driver_get_capabilities(void)
Definition: input_driver.c:537
struct nk_device device
Definition: nk_common.c:44
bool down
Definition: connect_wiiupro.c:51
unsigned __int64 uint64_t
Definition: stdint.h:136
uint16_t joy_idx
Definition: input_driver.h:127
unsigned int uint32_t
Definition: stdint.h:126
const char ** input_keyboard_start_line(void *userdata, input_keyboard_line_complete_t cb)
Definition: input_driver.c:2177
bool(* grab_stdin)(void *data)
Definition: input_driver.h:161
Definition: input_driver.h:69
bool(* set_rumble)(void *data, unsigned port, enum retro_rumble_effect effect, uint16_t state)
Definition: input_driver.h:162
input_device_driver_t linuxraw_joypad
Definition: linuxraw_joypad.c:375
uint32_t joyaxis
Definition: input_driver.h:112
bool input_driver_init(void)
Definition: input_driver.c:1239
input_device_driver_t xinput_joypad
Definition: xinput_joypad.c:581
const char *const str
Definition: portlistingparse.c:18
Definition: input_driver.h:50
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)
Definition: input_driver.c:1083
bool input_driver_init_mapper(void)
Definition: input_driver.c:1465
Definition: input_driver.h:60
bool input_joypad_set_rumble(const input_device_driver_t *driver, unsigned port, enum retro_rumble_effect effect, uint16_t strength)
Definition: input_driver.c:1659