Add a "hold" version of the axis swap toggle. Often more convenient.

This is useful for working around some annoying control schemes.

Fixes #21354
This commit is contained in:
Henrik Rydgård
2026-03-05 23:05:35 +01:00
parent d7265043a2
commit 232ea1a8a1
49 changed files with 148 additions and 86 deletions
+9 -2
View File
@@ -325,7 +325,7 @@ static bool IsSwappableVKey(uint32_t vkey) {
}
void ControlMapper::SwapMappingIfEnabled(uint32_t *vkey) {
if (swapAxes_) {
if (swapAxes_ || IsVirtKeyOn(VIRTKEY_AXIS_SWAP_HOLD)) {
switch (*vkey) {
case CTRL_UP: *vkey = VIRTKEY_AXIS_Y_MAX; break;
case VIRTKEY_AXIS_Y_MAX: *vkey = CTRL_UP; break;
@@ -509,6 +509,8 @@ bool ControlMapper::UpdatePSPState(const InputMapping &changedMapping, double no
if (vkId == VIRTKEY_ANALOG_LIGHTLY) {
updateAnalogSticks = true;
} else if (vkId == VIRTKEY_AXIS_SWAP_HOLD) {
UpdateSwapAxes();
}
} else if (bPrevValue && !bValue) {
// INFO_LOG(Log::G3D, "vkeyoff %s", KeyMap::GetVirtKeyName(vkId));
@@ -517,6 +519,8 @@ bool ControlMapper::UpdatePSPState(const InputMapping &changedMapping, double no
if (vkId == VIRTKEY_ANALOG_LIGHTLY) {
updateAnalogSticks = true;
} else if (vkId == VIRTKEY_AXIS_SWAP_HOLD) {
UpdateSwapAxes();
}
}
}
@@ -564,9 +568,12 @@ bool ControlMapper::Key(const KeyInput &key, bool *pauseTrigger) {
void ControlMapper::ToggleSwapAxes() {
// Note: The lock is already locked here.
swapAxes_ = !swapAxes_;
UpdateSwapAxes();
}
void ControlMapper::UpdateSwapAxes() {
for (auto listener : listeners_) {
listener->UpdatePSPButtons(0, CTRL_LEFT | CTRL_RIGHT | CTRL_UP | CTRL_DOWN);
}
+9
View File
@@ -63,6 +63,7 @@ public:
};
private:
void UpdateSwapAxes();
bool UpdatePSPState(const InputMapping &changedMapping, double now);
float MapAxisValue(float value, int vkId, const InputMapping &mapping, const InputMapping &changedMapping, bool *oppositeTouched);
void SwapMappingIfEnabled(uint32_t *vkey);
@@ -76,6 +77,14 @@ private:
void UpdateCurInputAxis(const InputMapping &mapping, float value, double timestamp);
float GetDeviceAxisThreshold(int device, const InputMapping &mapping);
bool IsVirtKeyOn(VirtKey key) const {
int index = key - VIRTKEY_FIRST;
if (index < 0 || index >= VIRTKEY_COUNT) {
return false;
}
return virtKeyOn_[index];
}
// To track mappable virtual keys. We can have as many as we want.
float virtKeys_[VIRTKEY_COUNT]{};
bool virtKeyOn_[VIRTKEY_COUNT]{}; // Track boolean output separaately since thresholds may differ.
+2 -1
View File
@@ -460,7 +460,8 @@ const KeyMap_IntStrPair psp_button_names[] = {
{VIRTKEY_ANALOG_ROTATE_CCW, "Rotate Analog (CCW)"},
{VIRTKEY_ANALOG_LIGHTLY, "Analog limiter"},
{VIRTKEY_RAPID_FIRE, "RapidFire"},
{VIRTKEY_AXIS_SWAP, "AxisSwap"},
{VIRTKEY_AXIS_SWAP_HOLD, "Axis swap (hold)"},
{VIRTKEY_AXIS_SWAP_TOGGLE, "Axis swap (toggle)"},
{VIRTKEY_FASTFORWARD, "Fast-forward"},
{VIRTKEY_PAUSE, "Pause"},
+3 -2
View File
@@ -32,7 +32,7 @@
#define KEYMAP_ERROR_UNKNOWN_KEY 0
// Don't change any of these - it'll break backwards compatibility with configs.
enum VirtKey {
enum VirtKey : u32 {
VIRTKEY_FIRST = 0x40000001,
VIRTKEY_AXIS_X_MIN = 0x40000001,
VIRTKEY_AXIS_Y_MIN = 0x40000002,
@@ -52,7 +52,7 @@ enum VirtKey {
VIRTKEY_NEXT_SLOT = 0x40000010,
VIRTKEY_TOGGLE_FULLSCREEN = 0x40000011,
VIRTKEY_ANALOG_LIGHTLY = 0x40000012,
VIRTKEY_AXIS_SWAP = 0x40000013,
VIRTKEY_AXIS_SWAP_TOGGLE = 0x40000013,
VIRTKEY_DEVMENU = 0x40000014,
VIRTKEY_FRAME_ADVANCE = 0x40000015,
VIRTKEY_RECORD = 0x40000016,
@@ -81,6 +81,7 @@ enum VirtKey {
VIRTKEY_TOGGLE_DEBUGGER = 0x40000033,
VIRTKEY_PAUSE_NO_MENU = 0x40000034,
VIRTKEY_TOGGLE_TILT = 0x40000035,
VIRTKEY_AXIS_SWAP_HOLD = 0x40000036,
VIRTKEY_LAST,
VIRTKEY_COUNT = VIRTKEY_LAST - VIRTKEY_FIRST
};
+1 -1
View File
@@ -863,7 +863,7 @@ void EmuScreen::ProcessVKey(VirtKey virtKey) {
}
break;
case VIRTKEY_AXIS_SWAP:
case VIRTKEY_AXIS_SWAP_TOGGLE:
g_controlMapper.ToggleSwapAxes();
g_OSD.Show(OSDType::MESSAGE_INFO, mc->T("AxisSwap")); // best string we have.
break;
+2 -1
View File
@@ -863,7 +863,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = ‎الدائرة
Cross = ‎الأكس
Custom %d = Custom %d
+2 -1
View File
@@ -857,7 +857,8 @@ Analog limiter = Analoq qısıtlayıcısı
Analog speed = Analoq sürəti
Analog Stick = Analoq çubuğu
Audio/Video Recording = Səs/Görüntü yazılışı
AxisSwap = Oxların dəyişimi
Axis swap (hold) = Oxların dəyişimi (saxla) # AI translated
Axis swap (toggle) = Oxların dəyişimi (keçid) # AI translated
Circle = Dairə
Cross = Xaç
Custom %d = Özəl %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Круг
Cross = Крыж
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Аналогов лимитер
Analog speed = Аналогова скорост
Analog Stick = Аналогов стик
Audio/Video Recording = Аудио/Видео запис
AxisSwap = Размяна на оси
Axis swap (hold) = Размяна на оси (задържане) # AI translated
Axis swap (toggle) = Размяна на оси (превключване) # AI translated
Circle = Кръг
Cross = Кръст
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+21 -20
View File
@@ -854,37 +854,38 @@ An.Up = Analog Nahoru
Analog limiter = Analogový omezovač
Analog speed = Analog speed
Analog Stick = Analogová páčka
Audio/Video Recording = Audio/Video recording
AxisSwap = Výměna osy
Audio/Video Recording = Audio/Video nahrávání
Axis swap (hold) = Výměna osy (držet)
Axis swap (toggle) = Výměna osy (přepínat)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
D-pad down = D-pad down
D-pad left = D-pad left
D-pad right = D-pad right
D-pad up = D-pad up
D-pad down = D-pad do
D-pad left = D-pad doleva
D-pad right = D-pad doprava
D-pad up = D-pad nahoru
Dev-kit L2 = Dev-kit L2
Dev-kit L3 = Dev-kit L3
Dev-kit R2 = Dev-kit R2
Dev-kit R3 = Dev-kit R3
DevMenu = Menu pro vývojáře
Display Landscape = Display Landscape
Display Landscape Reversed = Display Landscape Reversed
Display Portrait = Display Portrait
Display Portrait Reversed = Display Portrait Reversed
Double tap button = Double tap button
Display Landscape = Zobrazení na šířku
Display Landscape Reversed = Zobrazení na šířku obrácené
Display Portrait = Zobrazení na výšku
Display Portrait Reversed = Zobrazení na výšku obrácené
Double tap button = Dvojité klepnutí na tlačítko
Down = Dpad Dolů
Dpad = Dpad
Exit App = Exit App
Frame Advance = Frame advance
Hold = Hold
Home = Home
Exit App = Ukončit aplikaci
Frame Advance = Posun snímku
Hold = Držet
Home = Domů
L = L
Left = Dpad Doleva
Load State = Uložit stav
Mute toggle = Mute toggle
Load State = Načíst stav
Mute toggle = Přepnutí ticha
Next Slot = Další pozice
None = None
None = Žádný
Note = Note
OpenChat = Open chat
Pause (no menu) = Pauza (no menu)
@@ -902,8 +903,8 @@ RightAn.Down = PravýAn.Dolů
RightAn.Left = PravýAn.Doleva
RightAn.Right = PravýAn.Doprava
RightAn.Up = PravýAn.Nahoru
Rotate Analog (CCW) = Rotate analog (CCW)
Rotate Analog (CW) = Rotate analog (CW)
Rotate Analog (CCW) = Otočit analogový stick (CCW)
Rotate Analog (CW) = Otočit analogový stick (CW)
Save State = Načíst stav
Screen = Screen
Screenshot = Screenshot
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog begrænser
Analog speed = Analog speed
Analog Stick = Analogstick
Audio/Video Recording = Audio/Video recording
AxisSwap = Ombyt akser
Axis swap (hold) = Ombyt akser (nedholdt)
Axis swap (toggle) = Ombyt akser (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -854,7 +854,8 @@ Analog limiter = Analogbegrenzer
Analog speed = Analog-Geschwindigkeit
Analog Stick = Analog-Stick
Audio/Video Recording = Ton-/Videoaufnahme
AxisSwap = Achsen invertieren
Axis swap (hold) = Achsen invertieren (hold)
Axis swap (toggle) = Achsen invertieren (toggle)
Circle = Kreis
Cross = Kreuz
Custom %d = Benutzerdefiniert %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -856,7 +856,8 @@ Analog limiter = Limitador analógico
Analog speed = Velocidad analógico
Analog Stick = Stick analógico
Audio/Video Recording = Grabación de audio/vídeo
AxisSwap = Invertir ejes
Axis swap (hold) = Invertir ejes (agarrar) # AI translated
Axis swap (toggle) = Invertir ejes (cambiar) # AI translated
Circle = Círculo
Cross = Equis
Custom %d = Personalizado %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Limitador Analog
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Grabar audio/video
AxisSwap = Invertir ejes
Axis swap (hold) = Invertir ejes (agarrar)
Axis swap (toggle) = Invertir ejes (alternar)
Circle =
Cross = ×
Custom %d = Personal %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -856,7 +856,8 @@ Analog limiter = Analoginen rajoitin
Analog speed = Analoginen nopeus
Analog Stick = Analoginen sauva
Audio/Video Recording = Ääni/video nauhoitus
AxisSwap = Akselinvaihto
Axis swap (hold) = Akselinvaihto (pidä) # AI translated
Axis swap (toggle) = Akselinvaihto (vaihda) # AI translated
Circle = Ympyrä
Cross = Risti
Custom %d = Mukautettu %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Limiteur analogique
Analog speed = Analog speed
Analog Stick = Stick analogique
Audio/Video Recording = Enreg. audio/vidéo
AxisSwap = Inverser axes
Axis swap (hold) = Inverser axes (maintenir) # AI translated
Axis swap (toggle) = Inverser axes (bascule) # AI translated
Circle = Rond
Cross = Croix
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Limitador analóx.
Analog speed = Analog speed
Analog Stick = Stick analóxico
Audio/Video Recording = Audio/Video recording
AxisSwap = Invertir eixes
Axis swap (hold) = Invertir eixes (agarrar) # AI translated
Axis swap (toggle) = Invertir eixes (activar) # AI translated
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Περιορισμός αναλογικού μοχλού
Analog speed = Analog speed
Analog Stick = Αναλογικός Μοχλός
Audio/Video Recording = Εγγραφή Ήχου/Video
AxisSwap = Ανταλλαγή αξόνων
Axis swap (hold) = Ανταλλαγή αξόνων (κρατήστε) # AI translated
Axis swap (toggle) = Ανταλλαγή αξόνων (εναλλαγή) # AI translated
Circle = Ο
Cross = X
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Ograničenje gljivice
Analog speed = Analog speed
Analog Stick = Gljivica
Audio/Video Recording = Snimanje Zvuka/Videa
AxisSwap = Izmijena Osi
Axis swap (hold) = Izmijena Osi (hold)
Axis swap (toggle) = Izmijena Osi (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analóg korlátozó
Analog speed = Analóg sebesség
Analog Stick = Analóg kar
Audio/Video Recording = Audió/videó rögzítés
AxisSwap = Tengely váltás
Axis swap (hold) = Tengely váltás (nyomva tartás) # AI translated
Axis swap (toggle) = Tengely váltás (kapcsoló) # AI translated
Circle = Kör
Cross = Kereszt
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Pembatas analog
Analog speed = Analog speed
Analog Stick = Pengendali analog
Audio/Video Recording = Perekam audio/video
AxisSwap = Tukar sumbu
Axis swap (hold) = Tukar sumbu (tahan) # AI translated
Axis swap (toggle) = Tukar sumbu (alihkan) # AI translated
Circle = Lingkaran
Cross = Seberang
Custom %d = Kustom %d
+2 -1
View File
@@ -856,7 +856,8 @@ Analog limiter = Limitatore analogico
Analog speed = Velocità analogico
Analog Stick = Stick analogico
Audio/Video Recording = Registrazione Audio/Video
AxisSwap = Scambia Assi
Axis swap (hold) = Scambia Assi (tenere premuto) # AI translated
Axis swap (toggle) = Scambia Assi (attiva/disattiva) # AI translated
Circle = Cerchio
Cross = Croce
Custom %d = A scelta %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = パッドのリミッタ
Analog speed = アンログ速度
Analog Stick = アナログパッド
Audio/Video Recording = オーディオ/ビデオの記録
AxisSwap = 軸の入れ替え
Axis swap (hold) = 軸の入れ替え (ホールド) # AI translated
Axis swap (toggle) = 軸の入れ替え (切り替え) # AI translated
Circle =
Cross =
Custom %d = カスタム %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = 아날로그 리미터
Analog speed = 아날로그 속도
Analog Stick = 아날로그 스틱
Audio/Video Recording = 오디오/비디오 녹화
AxisSwap = 축 교체
Axis swap (hold) = 축 교체 (잠금) # AI translated
Axis swap (toggle) = 축 교체 (토글) # AI translated
Circle = 동그라미
Cross = 십자
Custom %d = 커스텀 %d
+2 -1
View File
@@ -869,7 +869,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = ໂຕຈຳກັດອະນາລ໋ອກ
Analog speed = Analog speed
Analog Stick = ປຸ່ມອະນາລ໋ອກ
Audio/Video Recording = Audio/Video recording
AxisSwap = ສະຫຼັບດ້ານແກນ
Axis swap (hold) = ສະຫຼັບດ້ານແກນ (ກົດຄ່ອຍ) # AI translated
Axis swap (toggle) = ສະຫຼັບດ້ານແກນ (ເປີດ/ປິດ)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analoginė svirtelė
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Kayu Analog
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analooglimiet
Analog speed = Analog speed
Analog Stick = Analoge stick
Audio/Video Recording = Audio/video opnemen
AxisSwap = Assen wisselen
Axis swap (hold) = Assen wisselen (ingedrukt) # AI translated
Axis swap (toggle) = Assen wisselen (schakelaar) # AI translated
Circle = Cirkel
Cross = Kruis
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog stick
Audio/Video Recording = Audio/Video recording
AxisSwap = Axis swap
Axis swap (hold) = Axis swap (hold)
Axis swap (toggle) = Axis swap (toggle)
Circle = Sirkel
Cross = X
Custom %d = Custom %d
+2 -1
View File
@@ -859,7 +859,8 @@ Analog limiter = Ogranicznik analoga
Analog speed = Prędkość analoga
Analog Stick = Gałka analogowa
Audio/Video Recording = Nagrywanie audio/video
AxisSwap = Zamiana osi
Axis swap (hold) = Zamiana osi (przytrzymanie) # AI translated
Axis swap (toggle) = Zamiana osi (przełącznik) # AI translated
Circle = Kółko
Cross = Krzyżyk
Custom %d = Niestandardowe %d
+2 -1
View File
@@ -879,7 +879,8 @@ Analog limiter = Limitador do analógico
Analog speed = Velocidade do analógico
Analog Stick = Direcional analógico
Audio/Video Recording = Gravação de Áudio/Vídeo
AxisSwap = Trocar eixos
Axis swap (hold) = Trocar eixos (segurar) # AI translated
Axis swap (toggle) = Trocar eixos (alternar) # AI translated
Circle = Círculo
Cross = Cruz
Custom %d = Personalizar %d
+2 -1
View File
@@ -880,7 +880,8 @@ Analog limiter = Limitador do analógico
Analog speed = Velocidade do analógico
Analog Stick = Analógico
Audio/Video Recording = Gravação de Áudio / Vídeo
AxisSwap = Trocar Eixos
Axis swap (hold) = Trocar Eixos (pressionar) # AI translated
Axis swap (toggle) = Trocar Eixos (Alternar) # AI translated
Circle = Círculo
Cross = Cruz
Custom %d = %d personalizado
+2 -1
View File
@@ -856,7 +856,8 @@ Analog limiter = Limitator analog
Analog speed = Analog speed
Analog Stick = Băț analog
Audio/Video Recording = Audio/Video recording
AxisSwap = Schimbare axe
Axis swap (hold) = Schimbare axe
Axis swap (toggle) = Schimbare axe
Circle = Circle
Cross = Cross
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Аналоговый ограничитель
Analog speed = Аналоговая скорость
Analog Stick = Аналоговый стик
Audio/Video Recording = Запись аудио/видео
AxisSwap = Смена осей
Axis swap (hold) = Смена осей
Axis swap (toggle) = Смена осей
Circle = Кружок
Cross = Крестик
Custom %d = Пользовательская %d
+19 -18
View File
@@ -856,7 +856,8 @@ Analog limiter = Analog limiter
Analog speed = Analog speed
Analog Stick = Analog-sticka
Audio/Video Recording = Audio/Video-inspelning
AxisSwap = Byt axlar
Axis swap (hold) = Byt axlar (håll)
Axis swap (toggle) = Byt axlar (toggla)
Circle = Cirkel
Cross = Kryss
Custom %d = Anpassad %d
@@ -878,24 +879,24 @@ Down = D-pad Ner
Dpad = Riktningsknappar
Exit App = Avsluta app
Frame Advance = Stega bildruta
Hold = Hold
Home = Home
Hold = Håll
Home = Hem
L = L
Left = D-pad Vänster
Load State = Läs in tillstånd
Mute toggle = Mute toggle
Mute toggle = Toggla ljud
Next Slot = Nästa slot
None = Ingen
Note = Not
OpenChat = Öppna chatt
Pause (no menu) = Paus (utan meny)
Pause = Paus
Previous Slot = Previous Slot
Previous Slot = Föregående slot
R = R
RapidFire = Rapid-fire
Record = Spela in
Remote hold = Remote hold
Reset = Reset
Reset = Återställ
Rewind = Spola tillbaka
Right = D-pad Höger
Right Analog Stick = Analog-sticka höger
@@ -908,24 +909,24 @@ Rotate Analog (CW) = Rotera analog (CW)
Save State = Spara tillstånd
Screen = Skärm
Screenshot = Skärmdump
Select = Select
SpeedToggle = Speed toggle
Select = Välj
SpeedToggle = Toggla hastighet
Square = Kvadrat
Start = Start
Swipe Down = Swipe Down
Swipe Left = Swipe Left
Swipe Right = Swipe Right
Swipe Up = Swipe Up
Swipe Down = Svep ner
Swipe Left = Svep vänster
Swipe Right = Svep höger
Swipe Up = Svep upp
tap to customize = klicka för att anpassa
Texture Dumping = Textur-dumpning
Texture Replacement = Textur-ersättning
Toggle Debugger = Toggle Debugger
Toggle Fullscreen = Växla fullskärm
Toggle Debugger = Toggla debugger
Toggle Fullscreen = Toggla fullskärm
Toggle mode = Toggla läge
Toggle mouse input = Toggle mouse input
Toggle tilt control = Toggle tilt control
Toggle touch controls = Toggle touch controls
Toggle WLAN = Toggle WLAN
Toggle mouse input = Toggla musinmatning
Toggle tilt control = Toggla tilt-kontroll
Toggle touch controls = Toggla touch-kontroller
Toggle WLAN = Toggla WLAN
Triangle = Triangel
Fast-forward = Snabbspola
Up = Dpad Upp
+2 -1
View File
@@ -856,7 +856,8 @@ Analog limiter = Limiter ng Analog
Analog speed = Bilis ng kilos ni Analog
Analog Stick = Analog stick
Audio/Video Recording = Pagre-rekord ng Audio/Video
AxisSwap = Pagpapalitan ng axis
Axis swap (hold) = Pagpapalitan ng axis (hold)
Axis swap (toggle) = Pagpapalitan ng axis (toggle)
Circle = Bilog
Cross = Ekis
Custom %d = Kustom na %d
+2 -1
View File
@@ -873,7 +873,8 @@ Analog limiter = ตัวจำกัดปุ่มอนาล็อก
Analog speed = ความเร็วอนาล็อก
Analog Stick = ปุ่มอนาล็อก
Audio/Video Recording = อัดบันทึกวีดีโอ/เสียง
AxisSwap = สลับด้านแกน
Axis swap (hold) = สลับด้านแกน (กดค้าง) # AI translated
Axis swap (toggle) = สลับด้านแกน (กดสลับ) # AI translated
Circle = วงกลม
Cross = กากบาท
Custom %d = ปุ่มปรับแต่ง %d
+2 -1
View File
@@ -857,7 +857,8 @@ Analog limiter = Analog sınırlayıcı
Analog speed = Analog speed
Analog Stick = Analog çubuk
Audio/Video Recording = Ses/Video kaydı
AxisSwap = Eksenleri değiştir
Axis swap (hold) = Eksenleri değiştir (hold)
Axis swap (toggle) = Eksenleri değiştir (toggle)
Circle = Daire (O)
Cross = Çarpı (X)
Custom %d = Özel %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = Аналоговий обмежувач
Analog speed = Аналогова швидкість
Analog Stick = Аналоговий стік
Audio/Video Recording = Запис аудіо / відео
AxisSwap = Обмін осей
Axis swap (hold) = Обмін осей (удержание) # AI translated
Axis swap (toggle) = Обмін осей (переключатель) # AI translated
Circle = Коло
Cross = Хрестик
Custom %d = Кастомний %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = giới hạng Analog
Analog speed = Analog speed
Analog Stick = Cần Analog
Audio/Video Recording = Ghi Audio/Video
AxisSwap = Hoán đổi trục
Axis swap (hold) = Hoán đổi trục (giữ) # AI translated
Axis swap (toggle) = Hoán đổi trục (chuyển đổi) # AI translated
Circle = Tròn
Cross = Cross (chéo)
Custom %d = Custom %d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = 摇杆限制
Analog speed = 摇杆控速
Analog Stick = 左摇杆
Audio/Video Recording = 录制音频视频
AxisSwap = 摇杆/方向键互换
Axis swap (hold) = 摇杆/方向键互换 (按住) # AI translated
Axis swap (toggle) = 摇杆/方向键互换 (切换) # AI translated
Circle = 圆圈键
Cross = 叉键
Custom %d = 自定义%d
+2 -1
View File
@@ -855,7 +855,8 @@ Analog limiter = 類比限制器
Analog speed = 類比速度
Analog Stick = 類比搖桿
Audio/Video Recording = 音訊/視訊錄製
AxisSwap = 軸交換
Axis swap (hold) = 軸交換 (按住) # AI translated
Axis swap (toggle) = 軸交換 (切換) # AI translated
Circle =
Cross = ×
Custom %d = 自訂 %d