diff --git a/Core/Config.cpp b/Core/Config.cpp index 64e1feff47..e7fd30d525 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -1038,6 +1038,12 @@ static const ConfigSetting controlSettings[] = { ConfigSetting("SystemControls", SETTING(g_Config, bSystemControls), true, CfgFlag::DEFAULT), ConfigSetting("RapidFileInterval", SETTING(g_Config, iRapidFireInterval), 5, CfgFlag::DEFAULT), + +#if PPSSPP_PLATFORM(WINDOWS) + ConfigSetting("AllowHIDInput", SETTING(g_Config, bAllowHIDInput), true, CfgFlag::DEFAULT), + ConfigSetting("AllowXInput", SETTING(g_Config, bAllowXInput), true, CfgFlag::DEFAULT), + ConfigSetting("AllowDInput", SETTING(g_Config, bAllowDInput), true, CfgFlag::DEFAULT), +#endif }; static const std::vector emptyList; diff --git a/Core/Config.h b/Core/Config.h index 1f6ad2209b..87f9f4d4d1 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -532,6 +532,11 @@ public: float fMouseSmoothing; int iMouseWheelUpDelayMs; + // Crude Windows controller filter. + bool bAllowHIDInput; + bool bAllowXInput; + bool bAllowDInput; + bool bSystemControls; int iRapidFireInterval; diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 408d60e724..cf9eaff5a1 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -917,6 +917,13 @@ void GameSettingsScreen::CreateControlsSettings(UI::ViewGroup *controlsSettings) disableDiags->SetEnabledPtr(&g_Config.bShowTouchControls); } +#if PPSSPP_PLATFORM(WINDOWS) + controlsSettings->Add(new ItemHeader(co->T("Control input sources"))); + controlsSettings->Add(new CheckBox(&g_Config.bAllowHIDInput, co->T("HID input"))); + controlsSettings->Add(new CheckBox(&g_Config.bAllowXInput, co->T("XInput"))); + controlsSettings->Add(new CheckBox(&g_Config.bAllowDInput, co->T("DirectInput"))); +#endif + if (deviceType != DEVICE_TYPE_VR) { controlsSettings->Add(new ItemHeader(co->T("Keyboard", "Keyboard Control Settings"))); #if defined(USING_WIN_UI) diff --git a/Windows/DinputDevice.cpp b/Windows/DinputDevice.cpp index 4c48dc7c3c..ea0b2320f0 100644 --- a/Windows/DinputDevice.cpp +++ b/Windows/DinputDevice.cpp @@ -32,6 +32,7 @@ #include "Common/StringUtils.h" #include "Common/System/NativeApp.h" #include "Core/KeyMap.h" +#include "Core/Config.h" #include "Windows/DinputDevice.h" #include "Windows/Hid/HidInputDevice.h" @@ -234,7 +235,7 @@ void DinputDevice::ReleaseAllKeys() { } void SendNativeAxis(InputDeviceID deviceId, int value, int &lastValue, InputAxis axisId) { - if (value != lastValue) { + if (value != lastValue && g_Config.bAllowDInput) { AxisInput axis; axis.deviceId = deviceId; axis.axisId = axisId; @@ -297,6 +298,8 @@ int DinputDevice::UpdateState() { } void DinputDevice::ApplyButtons(DIJOYSTATE2 &state) { + const bool sendInput = g_Config.bAllowDInput; + BYTE *buttons = state.rgbButtons; u32 downMask = 0x80; @@ -306,11 +309,13 @@ void DinputDevice::ApplyButtons(DIJOYSTATE2 &state) { } bool down = (state.rgbButtons[i] & downMask) == downMask; - KeyInput key; - key.deviceId = DEVICE_ID_PAD_0 + pDevNum; - key.flags = down ? KeyInputFlags::DOWN : KeyInputFlags::UP; - key.keyCode = dinput_buttons[i]; - NativeKey(key); + if (sendInput) { + KeyInput key; + key.deviceId = DEVICE_ID_PAD_0 + pDevNum; + key.flags = down ? KeyInputFlags::DOWN : KeyInputFlags::UP; + key.keyCode = dinput_buttons[i]; + NativeKey(key); + } lastButtons_[i] = state.rgbButtons[i]; } @@ -343,10 +348,12 @@ void DinputDevice::ApplyButtons(DIJOYSTATE2 &state) { } } - NativeKey(dpad[0]); - NativeKey(dpad[1]); - NativeKey(dpad[2]); - NativeKey(dpad[3]); + if (sendInput) { + NativeKey(dpad[0]); + NativeKey(dpad[1]); + NativeKey(dpad[2]); + NativeKey(dpad[3]); + } lastPOV_[0] = LOWORD(state.rgdwPOV[0]); } diff --git a/Windows/Hid/HidInputDevice.cpp b/Windows/Hid/HidInputDevice.cpp index fff2f9dbf2..7632acf4f5 100644 --- a/Windows/Hid/HidInputDevice.cpp +++ b/Windows/Hid/HidInputDevice.cpp @@ -20,6 +20,7 @@ #include "Common/System/NativeApp.h" #include "Common/System/OSD.h" #include "Core/KeyMap.h" +#include "Core/Config.h" struct HidStickMapping { HidStickAxis stickAxis; @@ -235,6 +236,8 @@ int HidInputDevice::UpdateState() { } } + const bool sendInput = g_Config.bAllowHIDInput; + if (controller_) { HIDControllerState state{}; bool result = false; @@ -258,14 +261,14 @@ int HidInputDevice::UpdateState() { for (u32 i = 0; i < buttonMappingsSize; i++) { const ButtonInputMapping &mapping = buttonMappings[i]; - if (downMask & mapping.button) { + if ((downMask & mapping.button) && sendInput) { KeyInput key; key.deviceId = deviceID; key.flags = KeyInputFlags::DOWN; key.keyCode = mapping.keyCode; NativeKey(key); } - if (upMask & mapping.button) { + if ((upMask & mapping.button) && sendInput) { KeyInput key; key.deviceId = deviceID; key.flags = KeyInputFlags::UP; @@ -275,7 +278,7 @@ int HidInputDevice::UpdateState() { } for (const auto &mapping : g_psStickMappings) { - if (state.stickAxes[mapping.stickAxis] != prevState_.stickAxes[mapping.stickAxis]) { + if (state.stickAxes[mapping.stickAxis] != prevState_.stickAxes[mapping.stickAxis] && sendInput) { AxisInput axis; axis.deviceId = deviceID; axis.axisId = mapping.inputAxis; @@ -285,7 +288,7 @@ int HidInputDevice::UpdateState() { } for (const auto &mapping : g_psTriggerMappings) { - if (state.triggerAxes[mapping.triggerAxis] != prevState_.triggerAxes[mapping.triggerAxis]) { + if (state.triggerAxes[mapping.triggerAxis] != prevState_.triggerAxes[mapping.triggerAxis] && sendInput) { AxisInput axis; axis.deviceId = deviceID; axis.axisId = mapping.inputAxis; @@ -294,7 +297,7 @@ int HidInputDevice::UpdateState() { } } - if (state.accValid) { + if (state.accValid && sendInput) { NativeAccelerometer(state.accelerometer[0], state.accelerometer[1], state.accelerometer[2]); } diff --git a/Windows/XinputDevice.cpp b/Windows/XinputDevice.cpp index 9960d139f8..64a6c5e62d 100644 --- a/Windows/XinputDevice.cpp +++ b/Windows/XinputDevice.cpp @@ -232,7 +232,11 @@ void XinputDevice::ReleaseAllKeys(int pad) { } void XinputDevice::UpdatePad(int pad, const XINPUT_STATE &state, XINPUT_VIBRATION &vibration) { - ApplyButtons(pad, state); + const bool sendInput = g_Config.bAllowXInput; + + if (sendInput) { + ApplyButtons(pad, state); + } ApplyVibration(pad, vibration); AxisInput axis[6]; @@ -256,12 +260,13 @@ void XinputDevice::UpdatePad(int pad, const XINPUT_STATE &state, XINPUT_VIBRATIO sendAxis(JOYSTICK_AXIS_LTRIGGER, (float)state.Gamepad.bLeftTrigger / 255.0f, 4); sendAxis(JOYSTICK_AXIS_RTRIGGER, (float)state.Gamepad.bRightTrigger / 255.0f, 5); - if (axisCount) { + if (axisCount && sendInput) { NativeAxis(axis, axisCount); } padData_[pad].prevState = state; padData_[pad].checkDelayUpdates = 0; + padData_[pad].prevButtons = state.Gamepad.wButtons; } void XinputDevice::ApplyButtons(int pad, const XINPUT_STATE &state) { @@ -269,7 +274,6 @@ void XinputDevice::ApplyButtons(int pad, const XINPUT_STATE &state) { const u32 downMask = buttons & (~padData_[pad].prevButtons); const u32 upMask = (~buttons) & padData_[pad].prevButtons; - padData_[pad].prevButtons = buttons; for (int i = 0; i < ARRAY_SIZE(xinput_ctrl_map); i++) { if (downMask & xinput_ctrl_map[i].from) { diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index ab715deaf9..b8f93366bf 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -127,6 +127,7 @@ Circular deadzone = منطقة الحساسيه الدائرية Circular stick input = ادخال العصا الدائرية Classic = ‎كلاسيكي Confine Mouse = ‎حجز مؤشر الماوس في حدود نافذة البرنامج +Control input sources = تحكم في مصادر الإدخال # AI translated Control mapping = ‎تعديل ازرار التحكم Custom touch button setup = اعدادات مفاتيح مخصصة Customize = تخصيص diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index b904606006..22843d314b 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -119,6 +119,7 @@ Circular deadzone = Dairəvi ölü bölgə Circular stick input = Dairəvi çubuq girişi Classic = Klassik Confine Mouse = Siçanı pəncərə/görüntü içində tut +Control input sources = Daxil etmə mənbələrinə nəzarət # AI translated Control mapping = Yönəltmə xəritələnişi Custom touch button setup = Özəl toxunuşlu düymə quruluşu Customize = Özəlləşdir # Customize Touch Controls = Toxunuşlu yönəltmə düzənini düzəlt... diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index 33d7306c59..3532c3986e 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -119,6 +119,7 @@ Circular deadzone = Кругавая мёртвая зона Circular stick input = Кругавы ўвод джойсцікам Classic = Класічны Confine Mouse = Trap mouse within window/display area +Control input sources = Кіраванне ўваходнымі крыніцамі # AI translated Control mapping = Control mapping Custom touch button setup = Налада карыстальніцкіх клавіш Customize = Наладзіць diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 3fcf7e4c14..448ea1d6dd 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Класик Confine Mouse = Trap mouse within window/display area +Control input sources = Контрол на входящите източници # AI translated Control mapping = Избиране на контроли Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index cc82c06b2d..67be3ad071 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -119,6 +119,7 @@ Circular deadzone = Zona inactiva circular Circular stick input = Entrada de stick circular Classic = Clàssic Confine Mouse = Fixar el ratolí a l'àrea de la finestra/pantalla +Control input sources = Controla les fonts d'entrada # AI translated Control mapping = Assignar botons Custom touch button setup = Ajust de tecla personalitzada Customize = Personalitzar diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index b8c2210460..c469c52691 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klasický Confine Mouse = Trap mouse within window/display area +Control input sources = Ovládat vstupní zdroje # AI translated Control mapping = Mapování ovládání Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 8288242145..836f2eac11 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klassisk Confine Mouse = Begræns mus indenfor vindue/skærmområde +Control input sources = Kontroller inputkilder # AI translated Control mapping = Ændre tasteplaceringen Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 2e53597264..15554abd44 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -119,6 +119,7 @@ Circular deadzone = Kreisförmige Totzone Circular stick input = Kreisförmige Stick-Eingabe Classic = Klassisch Confine Mouse = Maus im Fenster-/Anzeigebereich einfangen +Control input sources = Eingabequellen steuern # AI translated Control mapping = Tastenbelegung ändern Custom touch button setup = Benutzerdefinierte Tasteneinstellung Customize = Anpassen diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 6dae8bcabb..373c2bb6e2 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Classic Confine Mouse = Trap mouse within window/display area +Control input sources = Mengontrol sumber input # AI translated Control mapping = Atoro'i tombolna Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index caafb55c2e..472d4491c3 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -143,6 +143,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Classic Confine Mouse = Trap mouse within window/display area +Control input sources = Control input sources Control mapping = Control mapping Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 7e81d3c42b..a21b6cab87 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -119,6 +119,7 @@ Circular deadzone = Zona muerta circular Circular stick input = Entrada de stick circular Classic = Clásico Confine Mouse = Parar ratón dentro del área de la ventana/pantalla +Control input sources = Controlar fuentes de entrada # AI translated Control mapping = Asignar botones Custom touch button setup = Configurar tecla personalizada Customize = Personalizar diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 9b5a9e8d1e..c1f2ca1e8b 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone o Zona Inactiva circular Circular stick input = Entrada del stick circular Classic = Clásico Confine Mouse = Fijar el ratón al área de la ventana/pantalla +Control input sources = Controlar fuentes de entrada # AI translated Control mapping = Asignar botones / Mapeo de botones Custom touch button setup = Configurar teclas personalizadas Customize = Personalizar diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 2f145615db..0bfb6017e3 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = کلاسیک Confine Mouse = ‎محدود کردن موس به ناحیه درون پنجره +Control input sources = کنترل منابع ورودی # AI translated Control mapping = ‎تنظیمات کنترلر Custom touch button setup = شخصی سازی تنظیمات کلید Customize = شخصی‌سازی diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index fae5ed3304..c49cb69b2f 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klassinen Confine Mouse = Kaappaa hiiri ikkunan/näytön sisälle +Control input sources = Ohjaa syöttölähteitä # AI translated Control mapping = Ohjauksen kartoitus Custom touch button setup = Custom touch button setup Customize = Mukauta diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index d1712c049d..947321b28e 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -143,6 +143,7 @@ Circular deadzone = Zone morte circulaire Circular stick input = Entrée du stick circulaire Classic = Classique Confine Mouse = Capturer la souris dans la fenêtre/zone d'affichage +Control input sources = Contrôler les sources d'entrée # AI translated Control mapping = Réassignation des touches Custom touch button setup = Configuration personnalisée des boutons tactiles Customize = Personnaliser diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index c1a53d3055..36f41e9722 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Clásico Confine Mouse = Trap mouse within window/display area +Control input sources = Controla as fontes de entrada # AI translated Control mapping = Asignar botóns Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 2825d3cc63..7baa2d7d77 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Κλασικό Confine Mouse = Εγκλωβισμός ποντικιού μέσα στην περιοχή παραθύρου/οθόνης +Control input sources = Έλεγχος πηγών εισόδου # AI translated Control mapping = Χαρτογράφηση κουμπιών Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 1ab4d9eb74..5f880ebbe5 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Classic Confine Mouse = Trap mouse within window/display area +Control input sources = שלוט במקורות קלט # AI translated Control mapping = מיפוי מקשים Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index b140fa0d39..01d3e2c5d4 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Classic Confine Mouse = Trap mouse within window/display area +Control input sources = שלוט במקורות קלט # AI translated Control mapping = םישקמ יופימ Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 03025c83b9..57bae8e9ed 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klasično Confine Mouse = Zaključaj miš u window/display području +Control input sources = Kontrolirajte izvore unosa # AI translated Control mapping = Namještanje kontrola Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 52c31944e4..4de60835a8 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -119,6 +119,7 @@ Circular deadzone = Kör alakú holtzóna Circular stick input = Kör alakú bemenet Classic = Klasszikus Confine Mouse = Egérkurzor rögzítése az ablakhoz +Control input sources = Bemeneti források vezérlése # AI translated Control mapping = Gombok beállítása Custom touch button setup = Saját gomb beállítása Customize = Testreszab diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 765e32a2cd..60e8ee5d7f 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -119,6 +119,7 @@ Circular deadzone = Zona mati melingkar Circular stick input = Masukan stik melingkar Classic = Klasik Confine Mouse = Kunci mouse di area layar +Control input sources = Kontrol sumber input # AI translated Control mapping = Pemetaan kontrol Custom touch button setup = Pengaturan kunci kustom Customize = Kustomisasi diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 5eec7025fa..0729d24400 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -119,6 +119,7 @@ Circular deadzone = Raggio circolare di base Circular stick input = Input circolare levetta Classic = Classico Confine Mouse = Confina il mouse all'interno dell'area della finestra +Control input sources = Controlla le sorgenti di input # AI translated Control mapping = Mappatura dei Controlli Custom touch button setup = Impostazioni tasto personalizz. Customize = Personalizza diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 514e4d43c2..e0d995efa7 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -119,6 +119,7 @@ Circular deadzone = 環状デッドゾーン Circular stick input = 環状スティック入力 Classic = クラシック Confine Mouse = ウィンドウ/表示領域内でマウスをトラップする +Control input sources = 入力ソースを制御 # AI translated Control mapping = キーマッピング(入力ボタン設定) Custom touch button setup = カスタムキーの設定 Customize = カスタマイズ diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 8a6397f8cd..d1022cf1da 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klasik Confine Mouse = Trap mouse within window/display area +Control input sources = Ngontrol sumber input # AI translated Control mapping = Pemetaan Kontrol Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index a45e285725..d852df9ce3 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -119,6 +119,7 @@ Circular deadzone = 원형 하단 반경 Circular stick input = 원형 스틱 입력 Classic = 클래식 Confine Mouse = 창/표시 영역 내에서 마우스 트랩 +Control input sources = 입력 소스 제어 # AI translated Control mapping = 제어 맵핑 Custom touch button setup = 커스텀 키 설정 Customize = 맞춤설정 diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 6e4bd5ab89..74e3e557b9 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -132,6 +132,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = کلاسیک Confine Mouse = Trap mouse within window/display area +Control input sources = Kontrolka çavkanên têkevin # AI translated Control mapping = Control mapping Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 8429ddf408..7f731bc19d 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = ແບບດັ້ງເດີມ Confine Mouse = ຈຳກັດເມົ້າໃນໜ້າຕ່າງ/ພື້ນທີ່ສະແດງຜົນ +Control input sources = ຄວບຄຸມແหลວນສູງໃສ່ # AI translated Control mapping = ປ່ຽນແປງຄ່າຄວບຄຸມ Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 3c08bfea97..d30ea2c066 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klasikinis Confine Mouse = Trap mouse within window/display area +Control input sources = Valdyti įvesties šaltinius # AI translated Control mapping = Valdymo mygtukų nustatymai Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 89aef024db..c1ff94502c 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klasik Confine Mouse = Trap mouse within window/display area +Control input sources = Kawal sumber input # AI translated Control mapping = Pemetaan kawalan Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 4cca044c41..b83cab88bc 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Klassiek Confine Mouse = Muis binnen venster/weergavegebied vastzetten +Control input sources = Beheer invoerbronnen # AI translated Control mapping = Besturing toewijzen Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index b7d3ef29ef..ba97280879 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Classic Confine Mouse = Trap mouse within window/display area +Control input sources = Kontroller inngangskilder # AI translated Control mapping = Control mapping Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 8c42f77324..0c4b8e5f9f 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -119,6 +119,7 @@ Circular deadzone = Okrągły promień dolny Circular stick input = Okrągły odczyt analoga Classic = Klasyczny Confine Mouse = Zablokuj myszkę w oknie +Control input sources = Kontroluj źródła wejściowe # AI translated Control mapping = Mapowanie przycisków Custom touch button setup = Niestandardowe Ustawienia Klawiszy Customize = Ustawienia Niestandardowe diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index f41093e36b..13961191bc 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -143,6 +143,7 @@ Circular deadzone = Zona morta circular Circular stick input = Entrada circular do direcional Classic = Clássico Confine Mouse = Travar o mouse dentro da janela/tela +Control input sources = Controlar fontes de entrada # AI translated Control mapping = Mapeamento dos controles Custom touch button setup = Configuração personalizada do toque dos botões Customize = Personalizar diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 1f76b16f93..0a5ff3d7e4 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -143,6 +143,7 @@ Circular deadzone = Zona morta circular Circular stick input = Input circular do direcional Classic = Clássico Confine Mouse = Isolar o rato dentro da janela / área de exibição +Control input sources = Controlar fontes de entrada # AI translated Control mapping = Mapeamento de controlos Custom touch button setup = Definição personalizada de teclas Customize = Personalizar diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index dfe5f02d19..77437771ca 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Clasic Confine Mouse = Trap mouse within window/display area +Control input sources = Controlează sursele de input # AI translated Control mapping = Editare controale Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 7addc6b490..4861264014 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -119,6 +119,7 @@ Circular deadzone = Круговая мёртвая зона Circular stick input = Круговой ввод стика Classic = Классический Confine Mouse = Не давать мыши выходить за пределы окна +Control input sources = Управление источниками ввода # AI translated Control mapping = Назначение кнопок Custom touch button setup = Настройка кастомных кнопок Customize = Настроить diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index ba46efd822..52d74d2745 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -119,6 +119,7 @@ Circular deadzone = Cirkulär dödzon Circular stick input = Cirkulär analog inmatning Classic = Klassisk Confine Mouse = Stäng in muspekaren i fönstret +Control input sources = Kontrollera ingångskällor # AI translated Control mapping = Kontrollmappning Custom touch button setup = Anpassa touch-knappar Customize = Anpassa diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 03baa0c989..6b0fa046ed 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -119,6 +119,7 @@ Circular deadzone = Pabilog na deadzone Circular stick input = Input ng pabilog na stick Classic = Klasiko Confine Mouse = I-trap ang mouse sa loob ng window/display area +Control input sources = Назорати манбаъҳои воридот # AI translated Control mapping = Pagtakda ng Kontrol Custom touch button setup = Magtakda ng pasadyang pag-aayos sa pindutan Customize = I-customize diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 5c9217e1d0..a51241d4db 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -119,6 +119,7 @@ Circular deadzone = รัศมีต่ำสุดของการหมุ Circular stick input = ค่านำเข้าการหมุนปุ่ม Classic = แบบดั้งเดิม Confine Mouse = จำกัดเม้าส์ภายในหน้าต่าง/พื้นที่แสดงผล +Control input sources = ควบคุมแหล่งข้อมูลเข้า # AI translated Control mapping = เปลี่ยนแปลงค่าการควบคุม Custom touch button setup = ติดตั้งปุ่มคอมโบปรับแต่ง Customize = ปรับแต่ง diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 15c1454aa5..efcf73f107 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -119,6 +119,7 @@ Circular deadzone = Dairesel ölü bölge Circular stick input = Dairesel çubuk girişi Classic = Klasik Confine Mouse = Fareyi Sınırlandır +Control input sources = Kontrol giriş kaynakları # AI translated Control mapping = Kontrolleri Ayarla Custom touch button setup = Özel Tuş Ayarı Customize = Özelleştir diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 9c7b81c781..8a665b7411 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -119,6 +119,7 @@ Circular deadzone = Кругова мертва зона Circular stick input = Введення круглого стіка Classic = Класичний Confine Mouse = Не давати миші виходити за межі екрану +Control input sources = Керування джерелами введення # AI translated Control mapping = Призначення кнопок Custom touch button setup = Індивідуальне налаштування клавіші Customize = Кастомізувати diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 917fd1ca0c..20cf95e54e 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -119,6 +119,7 @@ Circular deadzone = Circular deadzone Circular stick input = Circular stick input Classic = Cổ điển Confine Mouse = hiển thị chuột +Control input sources = Kiểm soát nguồn nhập # AI translated Control mapping = Chỉnh nút Custom touch button setup = Custom touch button setup Customize = Customize diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 4d92289a41..d16f0cd953 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -119,6 +119,7 @@ Circular deadzone = 环形死区 Circular stick input = 环形摇杆输入 Classic = 经典款式 Confine Mouse = 限制鼠标在窗口内 +Control input sources = 控制输入源 # AI translated Control mapping = 按键映射 Custom touch button setup = 自定义键位设置 Customize = 自定义… diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 0dffd6bd1d..c5bf392b77 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -119,6 +119,7 @@ Circular deadzone = 圓形死區 Circular stick input = 圓形搖桿輸入 Classic = 傳統 Confine Mouse = 在視窗/顯示區域內截獲滑鼠 +Control input sources = 控制輸入來源 # AI translated Control mapping = 控制對應 Custom touch button setup = 自訂按鍵設定 Customize = 自訂