add analog deadzone and sensitivity options, rename axis threshold

This commit is contained in:
Brad Parker 2019-03-25 23:22:19 -04:00
parent cec06a0859
commit e7891b8c1a
41 changed files with 132 additions and 231 deletions

View File

@ -755,7 +755,11 @@ static const unsigned libretro_log_level = 1;
/* Axis threshold (between 0.0 and 1.0) /* Axis threshold (between 0.0 and 1.0)
* How far an axis must be tilted to result in a button press. */ * How far an axis must be tilted to result in a button press. */
static const float axis_threshold = 0.5; static const float axis_threshold = 0.5f;
static const float analog_deadzone = 0.0f;
static const float analog_sensitivity = 1.0f;
/* Describes speed of which turbo-enabled buttons toggle. */ /* Describes speed of which turbo-enabled buttons toggle. */
static const unsigned turbo_period = 6; static const unsigned turbo_period = 6;

View File

@ -1634,6 +1634,8 @@ static struct config_float_setting *populate_settings_float(settings_t *settings
SETTING_FLOAT("fastforward_ratio", &settings->floats.fastforward_ratio, true, fastforward_ratio, false); SETTING_FLOAT("fastforward_ratio", &settings->floats.fastforward_ratio, true, fastforward_ratio, false);
SETTING_FLOAT("slowmotion_ratio", &settings->floats.slowmotion_ratio, true, slowmotion_ratio, false); SETTING_FLOAT("slowmotion_ratio", &settings->floats.slowmotion_ratio, true, slowmotion_ratio, false);
SETTING_FLOAT("input_axis_threshold", input_driver_get_float(INPUT_ACTION_AXIS_THRESHOLD), true, axis_threshold, false); SETTING_FLOAT("input_axis_threshold", input_driver_get_float(INPUT_ACTION_AXIS_THRESHOLD), true, axis_threshold, false);
SETTING_FLOAT("input_analog_deadzone", &settings->floats.input_analog_deadzone, true, analog_deadzone, false);
SETTING_FLOAT("input_analog_sensitivity", &settings->floats.input_analog_sensitivity, true, analog_sensitivity, false);
SETTING_FLOAT("video_msg_bgcolor_opacity", &settings->floats.video_msg_bgcolor_opacity, true, message_bgcolor_opacity, false); SETTING_FLOAT("video_msg_bgcolor_opacity", &settings->floats.video_msg_bgcolor_opacity, true, message_bgcolor_opacity, false);
*size = count; *size = count;

View File

@ -353,6 +353,8 @@ typedef struct settings
float slowmotion_ratio; float slowmotion_ratio;
float fastforward_ratio; float fastforward_ratio;
float input_analog_deadzone;
float input_analog_sensitivity;
} floats; } floats;
struct struct

View File

@ -1,6 +1,7 @@
/* RetroArch - A frontend for libretro. /* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2011-2017 - Daniel De Matteis
* Copyright (C) 2016-2019 - Brad Parker
* *
* RetroArch is free software: you can redistribute it and/or modify it under the terms * RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found- * of the GNU General Public License as published by the Free Software Found-
@ -876,6 +877,48 @@ static INLINE bool input_keys_pressed_iterate(unsigned i,
return false; return false;
} }
static int16_t input_joypad_axis(const input_device_driver_t *drv, unsigned port, uint32_t joyaxis)
{
int16_t val = 0;
settings_t *settings = config_get_ptr();
if (!drv || !drv->axis)
return 0;
val = drv->axis(port, joyaxis);
if (settings->floats.input_analog_deadzone)
{
float normalized;
/* if analog value is below the deadzone, ignore it */
val = ((float)abs(val) / 0x7fff) < settings->floats.input_analog_deadzone ? 0 : val;
if (val == 0)
return 0;
normalized = (1.0f / 0x7fff) * val;
/* now scale the "good" analog range appropriately, so we don't start out way above 0 */
val = 0x7fff * ((normalized - settings->floats.input_analog_deadzone) / (1.0f - settings->floats.input_analog_deadzone));
}
if (settings->floats.input_analog_sensitivity != 1.0f)
{
float normalized = (1.0f / 0x7fff) * val;
int new_val = 0x7fff * normalized * settings->floats.input_analog_sensitivity;
if (new_val > 0x7fff)
new_val = 0x7fff;
else if (new_val < -0x7fff)
new_val = -0x7fff;
val = new_val;
}
return val;
}
#ifdef HAVE_MENU #ifdef HAVE_MENU
/** /**
@ -979,7 +1022,7 @@ void input_menu_keys_pressed(void *data, input_bits_t *p_new_state)
{ {
if (joykey == NO_BTN || !sec->button(joypad_info.joy_idx, joykey)) if (joykey == NO_BTN || !sec->button(joypad_info.joy_idx, joykey))
{ {
int16_t axis = sec->axis(joypad_info.joy_idx, joyaxis); int16_t axis = input_joypad_axis(sec, joypad_info.joy_idx, joyaxis);
float scaled_axis = (float)abs(axis) / 0x8000; float scaled_axis = (float)abs(axis) / 0x8000;
bit_pressed = scaled_axis > joypad_info.axis_threshold; bit_pressed = scaled_axis > joypad_info.axis_threshold;
} }
@ -991,7 +1034,7 @@ void input_menu_keys_pressed(void *data, input_bits_t *p_new_state)
{ {
if (joykey == NO_BTN || !first->button(joypad_info.joy_idx, joykey)) if (joykey == NO_BTN || !first->button(joypad_info.joy_idx, joykey))
{ {
int16_t axis = first->axis(joypad_info.joy_idx, joyaxis); int16_t axis = input_joypad_axis(first, joypad_info.joy_idx, joyaxis);
float scaled_axis = (float)abs(axis) / 0x8000; float scaled_axis = (float)abs(axis) / 0x8000;
bit_pressed = scaled_axis > joypad_info.axis_threshold; bit_pressed = scaled_axis > joypad_info.axis_threshold;
} }
@ -1682,34 +1725,36 @@ int16_t input_joypad_analog(const input_device_driver_t *drv,
{ {
int16_t res; int16_t res;
if ( idx == RETRO_DEVICE_INDEX_ANALOG_BUTTON ) if (idx == RETRO_DEVICE_INDEX_ANALOG_BUTTON)
{ {
/* A RETRO_DEVICE_JOYPAD button? */ /* A RETRO_DEVICE_JOYPAD button? */
if ( ident < RARCH_FIRST_CUSTOM_BIND ) if (ident < RARCH_FIRST_CUSTOM_BIND)
{ {
uint32_t axis = 0; uint32_t axis = 0;
const struct retro_keybind *bind = NULL; const struct retro_keybind *bind = NULL;
bind = &binds[ ident ]; bind = &binds[ ident ];
if (!bind->valid) if (!bind->valid)
return 0; return 0;
axis = bind->joyaxis; axis = bind->joyaxis;
if ( axis == AXIS_NONE )
axis = joypad_info.auto_binds[ ident ].joyaxis; if (axis == AXIS_NONE)
axis = joypad_info.auto_binds[ident].joyaxis;
/* Analog button. */ /* Analog button. */
res = abs( drv->axis( joypad_info.joy_idx, axis ) ); res = abs(input_joypad_axis(drv, joypad_info.joy_idx, axis));
/* If the result is zero, it's got a digital button attached to it */ /* If the result is zero, it's got a digital button attached to it */
if ( res == 0 ) if (res == 0)
{ {
uint16_t key = bind->joykey; uint16_t key = bind->joykey;
if ( key == NO_BTN ) if (key == NO_BTN)
key = joypad_info.auto_binds[ ident ].joykey; key = joypad_info.auto_binds[ident].joykey;
if ( drv->button(joypad_info.joy_idx, key)) if (drv->button(joypad_info.joy_idx, key))
res = 0x7fff; res = 0x7fff;
} }
} }
@ -1747,8 +1792,8 @@ int16_t input_joypad_analog(const input_device_driver_t *drv,
if (axis_plus == AXIS_NONE) if (axis_plus == AXIS_NONE)
axis_plus = joypad_info.auto_binds[ident_plus].joyaxis; axis_plus = joypad_info.auto_binds[ident_plus].joyaxis;
pressed_minus = abs(drv->axis(joypad_info.joy_idx, axis_minus)); pressed_minus = abs(input_joypad_axis(drv, joypad_info.joy_idx, axis_minus));
pressed_plus = abs(drv->axis(joypad_info.joy_idx, axis_plus)); pressed_plus = abs(input_joypad_axis(drv, joypad_info.joy_idx, axis_plus));
res = pressed_plus - pressed_minus; res = pressed_plus - pressed_minus;
if (res == 0) if (res == 0)

View File

@ -1499,14 +1499,6 @@ int menu_hash_get_help_ar_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -759,8 +759,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Autoconfig Enable") "Autoconfig Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Analog Stick Deadzone")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu Swap OK & Cancel Buttons") "Menu Swap OK & Cancel Buttons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2465,10 +2463,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchronize audio. Recommended." "Synchronize audio. Recommended."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -1399,13 +1399,6 @@ int menu_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n" " \n"
"减速游戏时,速度将被降低的倍数。"); "减速游戏时,速度将被降低的倍数。");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"摇杆灵敏度\n"
" \n"
"必须把摇杆推到多大幅度才算按下按键。\n"
"数值范围为0.0至1.0。");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -754,8 +754,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"启用自动配置") "启用自动配置")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"摇杆灵敏度")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"互换确定键和取消键") "互换确定键和取消键")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2518,10 +2516,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"同步音频。推荐。" "同步音频。推荐。"
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"必须把摇杆推到多大幅度才算按下按键。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -1443,14 +1443,6 @@ int menu_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -702,8 +702,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"啟用自動設定") "啟用自動設定")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"輸入軸閾值")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"選單切換 確定/取消 按鈕") /*FIXME:"Menu Swap OK & Cancel Buttons"*/ "選單切換 確定/取消 按鈕") /*FIXME:"Menu Swap OK & Cancel Buttons"*/
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2294,10 +2292,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"同步聲音。推薦。" "同步聲音。推薦。"
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -1492,14 +1492,6 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Ist die Zeitlupe eingeschaltet, wird das Spiel \n" "Ist die Zeitlupe eingeschaltet, wird das Spiel \n"
"um diesen Faktor verlangsamt."); "um diesen Faktor verlangsamt.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Definiert Achsen-Grenzwert.\n"
" \n"
"Wie weit eine Achse bewegt werden muss, um einen \n"
"Tastendruck auszulösen .\n"
"Mögliche Werte liegen im Bereich [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo-Frequenz.\n" "Turbo-Frequenz.\n"

View File

@ -735,8 +735,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Automatische Konfiguration aktivieren") "Automatische Konfiguration aktivieren")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Schwellenwert der Analogsticks")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Vertausche OK- und Zurück-Tasten im Menü") "Vertausche OK- und Zurück-Tasten im Menü")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2402,10 +2400,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchronisiere Audio. Empfohlen." "Synchronisiere Audio. Empfohlen."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Legt fest, wie weit ein Analog-Stick bewegt werden muss, bis er reagiert."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Zeitdauer in Sekunden, nach der die nächste Tastenbelegung abgefragt wird." "Zeitdauer in Sekunden, nach der die nächste Tastenbelegung abgefragt wird."

View File

@ -1559,14 +1559,6 @@ int menu_hash_get_help_el_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -1002,10 +1002,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Ενεργοποίηση Αυτόματης Διαμόρφωσης" "Ενεργοποίηση Αυτόματης Διαμόρφωσης"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Νεκρή Ζώνη Αναλογικού"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Εναλλαγή Κουμπιών Επιβεβαίωσης & Ακύρωσης Στο Μενού" "Εναλλαγή Κουμπιών Επιβεβαίωσης & Ακύρωσης Στο Μενού"
@ -4538,10 +4534,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Συγχρονισμός ήχου. Προτείνεται." "Συγχρονισμός ήχου. Προτείνεται."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Πόσο μακριά ένας άξωνας πρέπει να γείρει ώστε να οδηγήσει σε πάτημα κουμπιού."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Χρόνος αναμονής σε δευτερόλεπτα μέχρι την συνέχιση στην επόμενη σύνδεση πλήκτρων." "Χρόνος αναμονής σε δευτερόλεπτα μέχρι την συνέχιση στην επόμενη σύνδεση πλήκτρων."

View File

@ -622,8 +622,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Autoconfig Enable") "Autoconfig Enable")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Analog Stick Deadzone")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu Swap OK & Cancel Buttons") "Menu Swap OK & Cancel Buttons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2203,10 +2201,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchronize audio. Recommended." "Synchronize audio. Recommended."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -987,15 +987,6 @@ int menu_hash_get_help_es_enum(enum msg_hash_enums msg, char *s, size_t len)
"Al reducir la velocidad, el contenido \n" "Al reducir la velocidad, el contenido \n"
"se ralentizará según este factor."); "se ralentizará según este factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Define el margen de los ejes.\n"
" \n"
"Indica la distancia mínima que debe \n"
"recorrer un eje para que provoque \n"
"una pulsación del botón.\n"
"Los valores posibles son [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Período de turbo.\n" "Período de turbo.\n"

View File

@ -1045,10 +1045,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Activar Auto-configuración" "Activar Auto-configuración"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Zona muerta analógica"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menú: cambiar OK y Cancelar" "Menú: cambiar OK y Cancelar"
@ -4619,10 +4615,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Sincronizar audio. Recomendado" "Sincronizar audio. Recomendado"
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Cuanto debe mover la palanca para ser detectada. Evita movimientos indeseados en los mandos que no vuelven perfectamente al centro"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Cantidad de segundos a esperar hasta la siguiente asignación" "Cantidad de segundos a esperar hasta la siguiente asignación"

View File

@ -701,8 +701,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Activer l'autoconfiguration") "Activer l'autoconfiguration")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Seuil des axes analogiques")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Inverser les boutons OK et Annuler dans le menu") "Inverser les boutons OK et Annuler dans le menu")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2342,10 +2340,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchroniser le son avec le jeu. Recommandé." "Synchroniser le son avec le jeu. Recommandé."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Indique à quel point un axe doit être poussé avant d'obtenir une pression sur un bouton."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Nombre de secondes à attendre avant de passer à l'assignation suivante." "Nombre de secondes à attendre avant de passer à l'assignation suivante."

View File

@ -879,14 +879,6 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -707,8 +707,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Pistola D-pad Destro") "Pistola D-pad Destro")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Abilita Autoconfigurazione") "Abilita Autoconfigurazione")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Deadzone dello stick analogico")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Scambia i pulsanti OK & Annulla ") "Scambia i pulsanti OK & Annulla ")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2374,10 +2372,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Sincronizza l'audio. Consigliato." "Sincronizza l'audio. Consigliato."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Quanto deve essere inclinato un asse durante la pressione di un pulsante."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Quantità di secondi da attendere fino al prossimo bind." "Quantità di secondi da attendere fino al prossimo bind."

View File

@ -1475,14 +1475,6 @@ int menu_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -807,8 +807,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"ライトガンの十字キーの右") "ライトガンの十字キーの右")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"自動設定を有効") "自動設定を有効")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"入力軸のしきい値")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"メニューのOKとキャンセルボタンをスワップ") "メニューのOKとキャンセルボタンをスワップ")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2544,10 +2542,6 @@ MSG_HASH(
) )
MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_SYNC, MSG_HASH(MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"オーディオを同期する。推奨。") "オーディオを同期する。推奨。")
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"入力を確定するために要するスティックの傾き量です。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"次のバインドに移るまでの待機秒数です。" "次のバインドに移るまでの待機秒数です。"

View File

@ -1473,14 +1473,6 @@ int menu_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -689,8 +689,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"무기 D-패드 오른쪽") "무기 D-패드 오른쪽")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"자동설정 사용") "자동설정 사용")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"아날로그 스틱 데드존")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"확인/취소 버튼 반전") "확인/취소 버튼 반전")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2300,10 +2298,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"오디오 동기화. 사용 권장." "오디오 동기화. 사용 권장."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"축의 기울기가 인식되는 범위를 설정."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"다음 입력 설정으로 넘어가기 전까지 대기하는 시간(초)." "다음 입력 설정으로 넘어가기 전까지 대기하는 시간(초)."

View File

@ -521,8 +521,12 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL,
"menu_swap_ok_cancel") "menu_swap_ok_cancel")
MSG_HASH(MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE,
"input_autodetect_enable") "input_autodetect_enable")
MSG_HASH(MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, MSG_HASH(MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD,
"input_axis_threshold") "input_axis_threshold")
MSG_HASH(MENU_ENUM_LABEL_INPUT_ANALOG_DEADZONE,
"input_analog_deadzone")
MSG_HASH(MENU_ENUM_LABEL_INPUT_ANALOG_SENSITIVITY,
"input_analog_sensitivity")
MSG_HASH(MENU_ENUM_LABEL_INPUT_BIND_MODE, MSG_HASH(MENU_ENUM_LABEL_INPUT_BIND_MODE,
"input_bind_mode") "input_bind_mode")
MSG_HASH(MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT, MSG_HASH(MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT,

View File

@ -626,8 +626,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Autoconfiguratie Activeren") "Autoconfiguratie Activeren")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Analoge As Deadzone")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu Swap OK & Cancel Buttons") "Menu Swap OK & Cancel Buttons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2205,10 +2203,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchroniseer audio. Aangeraden." "Synchroniseer audio. Aangeraden."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -763,8 +763,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"D-pad prawo") "D-pad prawo")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Włącz autoconfig") "Włącz autoconfig")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Martwa strefa gałki analogowej")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Zamień przyciski menu ok i anuluj") "Zamień przyciski menu ok i anuluj")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2500,10 +2498,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchronizuj dźwięk. Zalecane." "Synchronizuj dźwięk. Zalecane."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Jak daleko oś musi być przechylona, aby spowodować naciśnięcie przycisku."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Ilość sekund oczekiwania na przejście do następnej więzi." "Ilość sekund oczekiwania na przejście do następnej więzi."

View File

@ -1533,14 +1533,6 @@ int menu_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len)
"Quando está em Câmera Lenta, o conteúdo será \n" "Quando está em Câmera Lenta, o conteúdo será \n"
"diminuído pelo fator especificado/definido."); "diminuído pelo fator especificado/definido.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Define a zona morta do controle analógico. \n"
" \n"
"Até que ponto um eixo deve ser \n"
"movido para resultar em um botão pressionado. \n"
"Os valores aceitos são entre [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Período do turbo.\n" "Período do turbo.\n"

View File

@ -1053,10 +1053,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Habilitar Auto Configuração" "Habilitar Auto Configuração"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Zona Morta do Controle Analógico"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Inverter Botões OK e Cancelar do Menu" "Inverter Botões OK e Cancelar do Menu"
@ -4759,10 +4755,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Sincroniza o áudio. Recomendado." "Sincroniza o áudio. Recomendado."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Até que ponto um eixo deve ser movido para resultar em um botão pressionado."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Quantidade de segundos para aguardar até proceder para o próximo vínculo." "Quantidade de segundos para aguardar até proceder para o próximo vínculo."

View File

@ -781,14 +781,6 @@ int menu_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len)
"Quando ativo, o conteúdo será executado numa velocidade\n" "Quando ativo, o conteúdo será executado numa velocidade\n"
"reduzida por esse fator."); "reduzida por esse fator.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Define o limite de eixo.\n"
" \n"
"Representa o valor que deve ser atingido para\n"
"significar o pressionamento de um botão.\n"
" Valores possíveis são [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Período de turbo.\n" "Período de turbo.\n"

View File

@ -689,8 +689,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Botão direcional (direita) da pistola") "Botão direcional (direita) da pistola")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Ativar auto-configuração de teclas") "Ativar auto-configuração de teclas")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Zona morta do eixo analógico")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu trocar botões OK e Cancelar") "Menu trocar botões OK e Cancelar")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2289,10 +2287,6 @@ MSG_HASH(
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Sincronizar o som. Recomendado.") "Sincronizar o som. Recomendado.")
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Até que ponto um eixo deve estar inclinado para causar o pressionamento de um botão."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Quantidade de segundos a aguardar até que seja feita uma nova associação." "Quantidade de segundos a aguardar até que seja feita uma nova associação."

View File

@ -710,8 +710,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Автоматическая настройка включена") "Автоматическая настройка включена")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Мертвая зона у стиков")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Поменять кнопки OK и Отмена") "Поменять кнопки OK и Отмена")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2347,10 +2345,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Синхронизировать звук. Рекомендуется." "Синхронизировать звук. Рекомендуется."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"Как далеко ось должна быть наклонена, чтобы вызвать нажатие кнопки."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Количество секунд ожидания до перехода к следующей привязке." "Количество секунд ожидания до перехода к следующей привязке."

View File

@ -1572,9 +1572,9 @@ int menu_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD: case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
snprintf(s, len, snprintf(s, len,
"Defines axis threshold.\n" "Defines the axis threshold.\n"
" \n" " \n"
"How far an axis must be tilted to result\n" "How far an axis must be tilted to result\n"
"in a button press.\n" "in a button press.\n"

View File

@ -1054,8 +1054,16 @@ MSG_HASH(
"Autoconfig" "Autoconfig"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD, MENU_ENUM_LABEL_VALUE_INPUT_BUTTON_AXIS_THRESHOLD,
"Analog Stick Deadzone" "Input Button Axis Threshold"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_DEADZONE,
"Analog Deadzone"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_SENSITIVITY,
"Analog Sensitivity"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
@ -4967,7 +4975,7 @@ MSG_HASH(
"Synchronize audio. Recommended." "Synchronize audio. Recommended."
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD, MENU_ENUM_SUBLABEL_INPUT_BUTTON_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press." "How far an axis must be tilted to result in a button press."
) )
MSG_HASH( MSG_HASH(

View File

@ -1476,14 +1476,6 @@ int menu_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slowmotion, content will slow\n" "When slowmotion, content will slow\n"
"down by factor."); "down by factor.");
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Defines axis threshold.\n"
" \n"
"How far an axis must be tilted to result\n"
"in a button press.\n"
" Possible values are [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD: case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len, snprintf(s, len,
"Turbo period.\n" "Turbo period.\n"

View File

@ -701,8 +701,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_LIGHTGUN_DPAD_RIGHT,
"Gun D-pad Right") "Gun D-pad Right")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AUTODETECT_ENABLE,
"Kích hoạt Autoconfig") "Kích hoạt Autoconfig")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD,
"Analog Stick Deadzone")
MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL, MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_INPUT_SWAP_OK_CANCEL,
"Menu Swap OK & Cancel Buttons") "Menu Swap OK & Cancel Buttons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL, MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,
@ -2337,10 +2335,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_SYNC, MENU_ENUM_SUBLABEL_AUDIO_SYNC,
"Synchronize audio. Recommended." "Synchronize audio. Recommended."
) )
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD,
"How far an axis must be tilted to result in a button press."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT, MENU_ENUM_SUBLABEL_INPUT_BIND_TIMEOUT,
"Amount of seconds to wait until proceeding to the next bind." "Amount of seconds to wait until proceeding to the next bind."

View File

@ -168,7 +168,7 @@ default_sublabel_macro(action_bind_sublabel_input_bind_hold, MENU_
default_sublabel_macro(action_bind_sublabel_audio_volume, MENU_ENUM_SUBLABEL_AUDIO_VOLUME) default_sublabel_macro(action_bind_sublabel_audio_volume, MENU_ENUM_SUBLABEL_AUDIO_VOLUME)
default_sublabel_macro(action_bind_sublabel_audio_mixer_volume, MENU_ENUM_SUBLABEL_AUDIO_MIXER_VOLUME) default_sublabel_macro(action_bind_sublabel_audio_mixer_volume, MENU_ENUM_SUBLABEL_AUDIO_MIXER_VOLUME)
default_sublabel_macro(action_bind_sublabel_audio_sync, MENU_ENUM_SUBLABEL_AUDIO_SYNC) default_sublabel_macro(action_bind_sublabel_audio_sync, MENU_ENUM_SUBLABEL_AUDIO_SYNC)
default_sublabel_macro(action_bind_sublabel_axis_threshold, MENU_ENUM_SUBLABEL_INPUT_AXIS_THRESHOLD) default_sublabel_macro(action_bind_sublabel_axis_threshold, MENU_ENUM_SUBLABEL_INPUT_BUTTON_AXIS_THRESHOLD)
default_sublabel_macro(action_bind_sublabel_input_turbo_period, MENU_ENUM_SUBLABEL_INPUT_TURBO_PERIOD) default_sublabel_macro(action_bind_sublabel_input_turbo_period, MENU_ENUM_SUBLABEL_INPUT_TURBO_PERIOD)
default_sublabel_macro(action_bind_sublabel_input_duty_cycle, MENU_ENUM_SUBLABEL_INPUT_DUTY_CYCLE) default_sublabel_macro(action_bind_sublabel_input_duty_cycle, MENU_ENUM_SUBLABEL_INPUT_DUTY_CYCLE)
default_sublabel_macro(action_bind_sublabel_video_vertical_sync, MENU_ENUM_SUBLABEL_VIDEO_VSYNC) default_sublabel_macro(action_bind_sublabel_video_vertical_sync, MENU_ENUM_SUBLABEL_VIDEO_VSYNC)
@ -2028,7 +2028,7 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_INPUT_BIND_HOLD: case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_bind_hold); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_bind_hold);
break; break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD: case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_axis_threshold); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_axis_threshold);
break; break;
case MENU_ENUM_LABEL_AUDIO_SYNC: case MENU_ENUM_LABEL_AUDIO_SYNC:

View File

@ -7130,7 +7130,11 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist
ret = menu_displaylist_parse_settings_enum(menu, info, ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND, PARSE_ONLY_BOOL, false); MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND, PARSE_ONLY_BOOL, false);
ret = menu_displaylist_parse_settings_enum(menu, info, ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, PARSE_ONLY_FLOAT, false); MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD, PARSE_ONLY_FLOAT, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_ANALOG_DEADZONE, PARSE_ONLY_FLOAT, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_ANALOG_SENSITIVITY, PARSE_ONLY_FLOAT, false);
ret = menu_displaylist_parse_settings_enum(menu, info, ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT, PARSE_ONLY_UINT, false); MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT, PARSE_ONLY_UINT, false);
ret = menu_displaylist_parse_settings_enum(menu, info, ret = menu_displaylist_parse_settings_enum(menu, info,

View File

@ -7313,8 +7313,8 @@ static bool setting_append_list(
CONFIG_FLOAT( CONFIG_FLOAT(
list, list_info, list, list_info,
input_driver_get_float(INPUT_ACTION_AXIS_THRESHOLD), input_driver_get_float(INPUT_ACTION_AXIS_THRESHOLD),
MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD, MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD,
MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD, MENU_ENUM_LABEL_VALUE_INPUT_BUTTON_AXIS_THRESHOLD,
axis_threshold, axis_threshold,
"%.3f", "%.3f",
&group_info, &group_info,
@ -7323,9 +7323,39 @@ static bool setting_append_list(
general_write_handler, general_write_handler,
general_read_handler); general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
menu_settings_list_current_add_range(list, list_info, 0, 1.00, 0.001, true, true); menu_settings_list_current_add_range(list, list_info, 0, 1.0, 0.01, true, true);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_FLOAT(
list, list_info,
&settings->floats.input_analog_deadzone,
MENU_ENUM_LABEL_INPUT_ANALOG_DEADZONE,
MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_DEADZONE,
analog_deadzone,
"%.1f",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
menu_settings_list_current_add_range(list, list_info, 0, 1.0, 0.1, true, true);
CONFIG_FLOAT(
list, list_info,
&settings->floats.input_analog_sensitivity,
MENU_ENUM_LABEL_INPUT_ANALOG_SENSITIVITY,
MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_SENSITIVITY,
analog_sensitivity,
"%.1f",
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
menu_settings_list_current_add_range(list, list_info, -5.0, 5.0, 0.1, true, true);
CONFIG_UINT( CONFIG_UINT(
list, list_info, list, list_info,
&settings->uints.input_bind_timeout, &settings->uints.input_bind_timeout,

View File

@ -750,7 +750,9 @@ enum msg_hash_enums
MENU_LABEL(INPUT_AUTODETECT_ENABLE), MENU_LABEL(INPUT_AUTODETECT_ENABLE),
MENU_LABEL(INPUT_DESCRIPTOR_LABEL_SHOW), MENU_LABEL(INPUT_DESCRIPTOR_LABEL_SHOW),
MENU_LABEL(INPUT_DESCRIPTOR_HIDE_UNBOUND), MENU_LABEL(INPUT_DESCRIPTOR_HIDE_UNBOUND),
MENU_LABEL(INPUT_AXIS_THRESHOLD), MENU_LABEL(INPUT_BUTTON_AXIS_THRESHOLD),
MENU_LABEL(INPUT_ANALOG_DEADZONE),
MENU_LABEL(INPUT_ANALOG_SENSITIVITY),
MENU_LABEL(INPUT_BIND_TIMEOUT), MENU_LABEL(INPUT_BIND_TIMEOUT),
MENU_LABEL(INPUT_BIND_HOLD), MENU_LABEL(INPUT_BIND_HOLD),
MENU_LABEL(INPUT_REMAP_BINDS_ENABLE), MENU_LABEL(INPUT_REMAP_BINDS_ENABLE),

View File

@ -375,6 +375,10 @@
# Defines axis threshold. Possible values are [0.0, 1.0] # Defines axis threshold. Possible values are [0.0, 1.0]
# input_axis_threshold = 0.5 # input_axis_threshold = 0.5
# input_analog_deadzone = 0.0
# input_analog_sensitivity = 1.0
# Enable input auto-detection. Will attempt to autoconfigure # Enable input auto-detection. Will attempt to autoconfigure
# joypads, Plug-and-Play style. # joypads, Plug-and-Play style.
# input_autodetect_enable = true # input_autodetect_enable = true