mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Merge pull request #21625 from hrydgard/soft-keyboard-work
Soft keyboard work, checkboxes to enable/disable control input sources
This commit is contained in:
58 files changed
+305
-72
No files matched your search
@@ -40,6 +40,9 @@ public:
|
||||
void SetWrapText(bool wrapText) {
|
||||
wrapText_ = wrapText;
|
||||
}
|
||||
void SetDetailsText(std::string_view detailsText) {
|
||||
detailsText_ = detailsText;
|
||||
}
|
||||
|
||||
void GetContentDimensionsBySpec(const UIContext &dc, UI::MeasureSpec horiz, UI::MeasureSpec vert, float &w, float &h) const override;
|
||||
void Draw(UIContext &dc) override;
|
||||
|
||||
+23
-15
@@ -833,7 +833,7 @@ std::string PopupTextInputChoice::ValueText(bool *shadow) const {
|
||||
}
|
||||
}
|
||||
|
||||
ViewGroup *CreateSoftKeyboard(TextEdit *edit, bool *upperCase) {
|
||||
ViewGroup *CreateSoftKeyboard(TextEdit *edit, SoftKeyboardState *state) {
|
||||
ScrollView *scrollView = new ScrollView(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
|
||||
LinearLayout *keyboard = scrollView->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(WRAP_CONTENT, WRAP_CONTENT)));
|
||||
@@ -841,17 +841,20 @@ ViewGroup *CreateSoftKeyboard(TextEdit *edit, bool *upperCase) {
|
||||
static struct {
|
||||
std::string_view v; const char *tag;
|
||||
} kbRows[] = {
|
||||
{"1234567890-=", "A"},
|
||||
{"qwertyuiop'[]", "L"},
|
||||
{"asdfghjkl()", "L"},
|
||||
{"1234567890-_", "A"},
|
||||
{"qwertyuiop", "L"},
|
||||
{"asdfghjkl", "L"},
|
||||
{"zxcvbnm,.", "L"},
|
||||
{"QWERTYUIOP'[]", "U"},
|
||||
{"ASDFGHJKL()", "U"},
|
||||
{"QWERTYUIOP", "U"},
|
||||
{"ASDFGHJKL", "U"},
|
||||
{"ZXCVBNM,.", "U"},
|
||||
{"@#$_&()/-+_", "S"},
|
||||
{"*\"':;!?[]", "S"},
|
||||
{"={}~<>|", "S"},
|
||||
{"", "A"},
|
||||
};
|
||||
static const float space[] = {
|
||||
0.0f, 10.0f, 20.0f, 30.0f, 10.0f, 20.0f, 30.0f, 30.0f,
|
||||
0.0f, 10.0f, 20.0f, 30.0f, 10.0f, 20.0f, 30.0f, 10.0f, 20.0f, 30.0f, 30.0f,
|
||||
};
|
||||
|
||||
static_assert(ARRAY_SIZE(kbRows) == ARRAY_SIZE(space));
|
||||
@@ -871,8 +874,9 @@ ViewGroup *CreateSoftKeyboard(TextEdit *edit, bool *upperCase) {
|
||||
|
||||
bool visible = false;
|
||||
switch (kbRows[i].tag[0]) {
|
||||
case 'L': visible = !(*upperCase); break;
|
||||
case 'U': visible = *upperCase; break;
|
||||
case 'L': visible = (*state == SoftKeyboardState::Lower); break;
|
||||
case 'U': visible = (*state == SoftKeyboardState::Upper); break;
|
||||
case 'S': visible = (*state == SoftKeyboardState::Symbols); break;
|
||||
case 'A': visible = true; break;
|
||||
default: visible = false; break;
|
||||
}
|
||||
@@ -885,16 +889,20 @@ ViewGroup *CreateSoftKeyboard(TextEdit *edit, bool *upperCase) {
|
||||
edit->Backspace();
|
||||
});
|
||||
break;
|
||||
case 7:
|
||||
case 10:
|
||||
// Special keys.
|
||||
row->Add(new Button("Aa", new LinearLayoutParams(80.0f, 50.0f)))->OnClick.Add([keyboard, upperCase](EventParams &) {
|
||||
*upperCase = !(*upperCase);
|
||||
row->Add(new Button("Aa", new LinearLayoutParams(80.0f, 50.0f)))->OnClick.Add([keyboard, state](EventParams &) {
|
||||
*state = (SoftKeyboardState)((int)*state + 1);
|
||||
if (*state == SoftKeyboardState::MAX) {
|
||||
*state = SoftKeyboardState::Upper;
|
||||
}
|
||||
// Work through visibility.
|
||||
for (int i = 0; i < keyboard->GetNumSubviews(); i++) {
|
||||
LinearLayout *row = (LinearLayout *)keyboard->GetViewByIndex(i);
|
||||
switch (row->Tag()[0]) {
|
||||
case 'L': row->SetVisibility(*upperCase ? V_GONE : V_VISIBLE); break;
|
||||
case 'U': row->SetVisibility(*upperCase ? V_VISIBLE : V_GONE); break;
|
||||
case 'L': row->SetVisibility((*state == SoftKeyboardState::Lower) ? V_VISIBLE : V_GONE); break;
|
||||
case 'U': row->SetVisibility((*state == SoftKeyboardState::Upper) ? V_VISIBLE : V_GONE); break;
|
||||
case 'S': row->SetVisibility((*state == SoftKeyboardState::Symbols) ? V_VISIBLE : V_GONE); break;
|
||||
case 'A': row->SetVisibility(V_VISIBLE); break;
|
||||
default: row->SetVisibility(V_GONE); break;
|
||||
}
|
||||
@@ -930,7 +938,7 @@ void TextEditPopupScreen::CreatePopupContents(UI::ViewGroup *parent) {
|
||||
|
||||
parent->Add(new Spacer(8.0f));
|
||||
|
||||
keyboard_ = parent->Add(CreateSoftKeyboard(edit_, &upperCase_));
|
||||
keyboard_ = parent->Add(CreateSoftKeyboard(edit_, &kbState_));
|
||||
if (System_GetPropertyBool(SYSPROP_HAS_KEYBOARD)) {
|
||||
keyboard_->SetVisibility(V_GONE);
|
||||
lin->Add(new Spacer(5.0f));
|
||||
|
||||
@@ -222,7 +222,14 @@ private:
|
||||
bool liveUpdate_;
|
||||
};
|
||||
|
||||
ViewGroup *CreateSoftKeyboard(TextEdit *edit, bool *upperCase);
|
||||
enum class SoftKeyboardState {
|
||||
Upper = 0,
|
||||
Lower,
|
||||
Symbols,
|
||||
MAX,
|
||||
};
|
||||
|
||||
ViewGroup *CreateSoftKeyboard(TextEdit *edit, SoftKeyboardState *state);
|
||||
|
||||
class TextEditPopupScreen : public PopupScreen {
|
||||
public:
|
||||
@@ -249,7 +256,7 @@ private:
|
||||
std::string textEditValue_;
|
||||
std::string placeholder_;
|
||||
int maxLen_;
|
||||
bool upperCase_ = false;
|
||||
SoftKeyboardState kbState_{};
|
||||
bool passwordMasking_ = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -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<std::string_view> emptyList;
|
||||
|
||||
@@ -532,6 +532,11 @@ public:
|
||||
float fMouseSmoothing;
|
||||
int iMouseWheelUpDelayMs;
|
||||
|
||||
// Crude Windows controller filter.
|
||||
bool bAllowHIDInput;
|
||||
bool bAllowXInput;
|
||||
bool bAllowDInput;
|
||||
|
||||
bool bSystemControls;
|
||||
int iRapidFireInterval;
|
||||
|
||||
|
||||
+61
-28
@@ -101,10 +101,8 @@ void CwCheatScreen::CreateSettingsViews(UI::ViewGroup *leftColumn) {
|
||||
|
||||
std::string title = StringFromFormat(cw->T_cstr("Import from %s"), "PSP/Cheats/cheat.db");
|
||||
|
||||
leftColumn->Add(new Choice(title.c_str()))->OnClick.Handle(this, &CwCheatScreen::OnImportCheat);
|
||||
leftColumn->Add(new Choice(title))->OnClick.Handle(this, &CwCheatScreen::OnImportCheat);
|
||||
leftColumn->Add(new Choice(mm->T("Browse"), ImageID("I_FOLDER_OPEN")))->OnClick.Handle(this, &CwCheatScreen::OnImportBrowse);
|
||||
errorMessageView_ = leftColumn->Add(new TextView(di->T("LoadingFailed")));
|
||||
errorMessageView_->SetVisibility(V_GONE);
|
||||
|
||||
leftColumn->Add(new ItemHeader(di->T("Options")));
|
||||
#if !defined(MOBILE_DEVICE)
|
||||
@@ -127,7 +125,14 @@ void CwCheatScreen::CreateContentViews(UI::ViewGroup *parent) {
|
||||
LinearLayout *rightColumn = new LinearLayoutList(ORIENT_VERTICAL, new LinearLayoutParams(200, FILL_PARENT));
|
||||
rightColumn->SetSpacing(0.0f);
|
||||
rightScroll->Add(rightColumn);
|
||||
|
||||
if (!errorMessage_.empty()) {
|
||||
rightColumn->Add(new NoticeView(errorLevel_, errorMessage_, errorDetails_));
|
||||
rightColumn->Add(new Spacer(8.0f));
|
||||
}
|
||||
|
||||
rightColumn->Add(new ItemHeader(cw->T("Cheats")));
|
||||
|
||||
bool prevIsTitle = false;
|
||||
for (size_t i = 0; i < fileInfo_.size(); ++i) {
|
||||
std::string_view text;
|
||||
@@ -231,30 +236,61 @@ static char *GetLineNoNewline(char *temp, int sz, FILE *fp) {
|
||||
return line;
|
||||
}
|
||||
|
||||
void CwCheatScreen::OnImportBrowse(UI::EventParams ¶ms) {
|
||||
System_BrowseForFile(GetRequesterToken(), "Open cheat DB file", BrowseFileType::DB, [&](const std::string &value, int) {
|
||||
Path path(value);
|
||||
INFO_LOG(Log::System, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str());
|
||||
if (ImportCheats(path)) {
|
||||
g_Config.bReloadCheats = true;
|
||||
} else {
|
||||
// Show an error message?
|
||||
}
|
||||
RecreateViews();
|
||||
});
|
||||
}
|
||||
|
||||
void CwCheatScreen::OnImportCheat(UI::EventParams ¶ms) {
|
||||
if (!ImportCheats(GetGlobalCheatFilePath())) {
|
||||
void CwCheatScreen::ImportAndReport(const Path &cheatFile) {
|
||||
int cheatCount = 0;
|
||||
if (!ImportCheats(cheatFile, &cheatCount)) {
|
||||
// Show an error message?
|
||||
errorMessageView_->SetVisibility(UI::V_VISIBLE);
|
||||
if (File::Exists(cheatFile)) {
|
||||
auto er = GetI18NCategory(I18NCat::ERRORS);
|
||||
errorMessage_ = ApplySafeSubstitutions(er->T("File not found: %1"), "");
|
||||
errorLevel_ = NoticeLevel::WARN;
|
||||
} else {
|
||||
auto di = GetI18NCategory(I18NCat::DIALOG);
|
||||
errorMessage_ = di->T("LoadingFailed");
|
||||
errorLevel_ = NoticeLevel::ERROR;
|
||||
}
|
||||
errorDetails_ = GetFriendlyPath(cheatFile);
|
||||
} else if (cheatCount == 0) {
|
||||
auto cw = GetI18NCategory(I18NCat::CWCHEATS);
|
||||
// Show an error message?
|
||||
errorLevel_ = NoticeLevel::INFO;
|
||||
errorMessage_ = cw->T("No cheats found for this game");
|
||||
errorDetails_.clear();
|
||||
} else {
|
||||
auto cw = GetI18NCategory(I18NCat::CWCHEATS);
|
||||
// Show a success message?
|
||||
errorLevel_ = NoticeLevel::SUCCESS;
|
||||
errorMessage_ = ApplySafeSubstitutions(cw->T("Added %1 cheats for this game"), cheatCount);
|
||||
errorDetails_ = GetFriendlyPath(cheatFile);
|
||||
}
|
||||
|
||||
g_Config.bReloadCheats = true;
|
||||
RecreateViews();
|
||||
}
|
||||
|
||||
bool CwCheatScreen::ImportCheats(const Path & cheatFile) {
|
||||
void CwCheatScreen::OnImportBrowse(UI::EventParams ¶ms) {
|
||||
System_BrowseForFile(GetRequesterToken(), "Open cheat DB file", BrowseFileType::DB, [&](const std::string &value, int) {
|
||||
if (value.empty()) {
|
||||
return;
|
||||
}
|
||||
Path path(value);
|
||||
INFO_LOG(Log::System, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str());
|
||||
int cheatsFound = 0;
|
||||
ImportAndReport(path);
|
||||
});
|
||||
}
|
||||
|
||||
void CwCheatScreen::OnImportCheat(UI::EventParams ¶ms) {
|
||||
const Path importPath = GetGlobalCheatFilePath();
|
||||
ImportAndReport(importPath);
|
||||
}
|
||||
|
||||
bool CwCheatScreen::ImportCheats(const Path &cheatFile, int *cheatsFound) {
|
||||
FILE *in = File::OpenCFile(cheatFile, "rt");
|
||||
if (!in) {
|
||||
WARN_LOG(Log::Common, "Unable to open %s\n", cheatFile.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (gameID_.length() != 9 || !engine_) {
|
||||
WARN_LOG(Log::Common, "CWCHEAT: Incorrect ID(%s) - can't import cheats.", gameID_.c_str());
|
||||
return false;
|
||||
@@ -262,12 +298,6 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) {
|
||||
|
||||
std::string gameID = StringFromFormat("_S %s-%s", gameID_.substr(0, 4).c_str(), gameID_.substr(4).c_str());
|
||||
|
||||
FILE *in = File::OpenCFile(cheatFile, "rt");
|
||||
if (!in) {
|
||||
WARN_LOG(Log::Common, "Unable to open %s\n", cheatFile.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
std::vector<std::string> title;
|
||||
std::vector<std::string> newList;
|
||||
|
||||
@@ -275,6 +305,7 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) {
|
||||
bool parseGameEntry = false;
|
||||
bool parseCheatEntry = false;
|
||||
|
||||
(*cheatsFound) = 0;
|
||||
while (in && !feof(in)) {
|
||||
char *line = GetLineNoNewline(linebuf, sizeof(linebuf), in);
|
||||
|
||||
@@ -304,6 +335,7 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) {
|
||||
title.push_back(line);
|
||||
} else if (parseCheatEntry && ((line[0] == '_' && (line[1] == 'C' || line[1] == 'L')) || line[0] == '/' || line[0] == '#')) {
|
||||
newList.push_back(line);
|
||||
(*cheatsFound)++;
|
||||
}
|
||||
}
|
||||
fclose(in);
|
||||
@@ -320,8 +352,9 @@ bool CwCheatScreen::ImportCheats(const Path & cheatFile) {
|
||||
}
|
||||
|
||||
FILE *append = File::OpenCFile(engine_->CheatFilename(), "at");
|
||||
if (!append)
|
||||
if (!append) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (title2.size() == 0 || title2[0] != '_' || title2[1] != 'S') {
|
||||
for (int i = (int)title.size(); i > 0; i--) {
|
||||
|
||||
+8
-3
@@ -28,6 +28,7 @@
|
||||
|
||||
struct CheatFileInfo;
|
||||
class CWCheatEngine;
|
||||
class NoticeView;
|
||||
|
||||
class CwCheatScreen : public UITwoPaneBaseDialogScreen {
|
||||
public:
|
||||
@@ -55,17 +56,21 @@ protected:
|
||||
|
||||
private:
|
||||
void OnCheckBox(int index);
|
||||
bool ImportCheats(const Path &cheatFile);
|
||||
bool ImportCheats(const Path &cheatFile, int *cheatsFound);
|
||||
|
||||
void ImportAndReport(const Path &cheatFile);
|
||||
|
||||
enum { INDEX_ALL = -1 };
|
||||
bool HasCheatWithName(const std::string &name);
|
||||
bool RebuildCheatFile(int index);
|
||||
|
||||
UI::TextView *errorMessageView_ = nullptr;
|
||||
|
||||
CWCheatEngine *engine_ = nullptr;
|
||||
std::vector<CheatFileInfo> fileInfo_;
|
||||
std::string gameID_;
|
||||
int fileCheckCounter_ = 0;
|
||||
uint64_t fileCheckHash_ = 0;
|
||||
|
||||
std::string errorMessage_;
|
||||
NoticeLevel errorLevel_ = NoticeLevel::ERROR;
|
||||
std::string errorDetails_;
|
||||
};
|
||||
@@ -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)
|
||||
|
||||
@@ -151,6 +151,7 @@ static const ImageMeta g_uiImageIDs[] = {
|
||||
{"I_FOLDER_UPLOAD", false},
|
||||
{"I_FILE", false},
|
||||
{"I_FILE_COPY", false},
|
||||
{"I_FILE_PASTE", false},
|
||||
{"I_WEB_BROWSER", false},
|
||||
{"I_WIFI", false},
|
||||
{"I_LOGO_X", false},
|
||||
|
||||
+17
-10
@@ -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]);
|
||||
}
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -127,6 +127,7 @@ Circular deadzone = منطقة الحساسيه الدائرية
|
||||
Circular stick input = ادخال العصا الدائرية
|
||||
Classic = كلاسيكي
|
||||
Confine Mouse = حجز مؤشر الماوس في حدود نافذة البرنامج
|
||||
Control input sources = تحكم في مصادر الإدخال # AI translated
|
||||
Control mapping = تعديل ازرار التحكم
|
||||
Custom touch button setup = اعدادات مفاتيح مخصصة
|
||||
Customize = تخصيص
|
||||
@@ -202,10 +203,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = تمت إضافة %1 غش لهذه اللعبة # AI translated
|
||||
Cheats = الغش
|
||||
Edit Cheat File = عدل ملف الغش
|
||||
Import Cheats = إستورد من cheat.db
|
||||
Import from %s = إستورد من %s
|
||||
No new cheats found for this game = لم يتم العثور على خدع جديدة لهذه اللعبة # AI translated
|
||||
Refresh interval = معدل التحديث
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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...
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = %1 kod oyuna əlavə edildi # AI translated
|
||||
Cheats = Hiylələr
|
||||
Edit Cheat File = Hiylə faylını düzəlt
|
||||
Import Cheats = Cheat.db'dən götür
|
||||
Import from %s = %s yerindən götür
|
||||
No new cheats found for this game = Bu oyun üçün yeni hilelər tapılmadı # AI translated
|
||||
Refresh interval = Yeniləniş aralığı
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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 = Наладзіць
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Дададзена %1 чыт для гэтай гульні # AI translated
|
||||
Cheats = Чыты
|
||||
Edit Cheat File = Рэдагаваць файл чытаў
|
||||
Import Cheats = Імпарт з cheat.db
|
||||
Import from %s = Імпарт з %s
|
||||
No new cheats found for this game = Новых читов для гэтай гульні не знойдзена # AI translated
|
||||
Refresh interval = Інтэрвал абнаўлення
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Добавени са %1 чийтове за тази игра # AI translated
|
||||
Cheats = Чийтове
|
||||
Edit Cheat File = Редактиране на чийтове файл
|
||||
Import Cheats = Внеси от cheat.db
|
||||
Import from %s = Внеси от %s
|
||||
No new cheats found for this game = Не са намерени нови чийтове за тази игра # AI translated
|
||||
Refresh interval = Интервал на обновяване
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = S'han afegit %1 trucs per a aquest joc # AI translated
|
||||
Cheats = Trucs
|
||||
Edit Cheat File = Editar el fitxer de trucs
|
||||
Import Cheats = Importar «cheat.db»
|
||||
Import from %s = Importar %s
|
||||
No new cheats found for this game = No s'han trobat nous trucs per a aquest joc # AI translated
|
||||
Refresh interval = Freqüència de refrescament
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Přidáno %1 cheatů pro tuto hru # AI translated
|
||||
Cheats = Cheaty
|
||||
Edit Cheat File = Upravit soubor s cheaty
|
||||
Import Cheats = Importovat z cheat.db
|
||||
Import from %s = Importovat z %s
|
||||
No new cheats found for this game = Nebyly nalezeny žádné nové cheaty pro tuto hru # AI translated
|
||||
Refresh interval = Frekvence obnoveni
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Tilføjet %1 snyd til dette spil # AI translated
|
||||
Cheats = Snyd
|
||||
Edit Cheat File = Editer snydefil
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Importer fra %s
|
||||
No new cheats found for this game = Ingen nye cheats fundet til dette spil # AI translated
|
||||
Refresh interval = Opdateringsinterval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Es wurden %1 Cheats für dieses Spiel hinzugefügt # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Cheat-Datei ändern
|
||||
Import Cheats = Cheats importieren (aus cheat.db)
|
||||
Import from %s = Importieren von %s
|
||||
No new cheats found for this game = Keine neuen Cheats für dieses Spiel gefunden # AI translated
|
||||
Refresh interval = Aktualisierungsintervall
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Ditambahkan %1 cheat untuk game ini # AI translated
|
||||
Cheats = Cheat
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Patamanni cheat.db
|
||||
Import from %s = Patamanni %s
|
||||
No new cheats found for this game = Tidak ada cheat baru ditemukan untuk permainan ini # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -218,10 +219,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Added %1 cheats for this game
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = No new cheats found for this game
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -195,10 +196,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Añadidos %1 trucos para este juego # AI translated
|
||||
Cheats = Trucos
|
||||
Edit Cheat File = Editar archivo de trucos
|
||||
Import Cheats = Importar archivo cheat.db
|
||||
Import from %s = Importar desde %s
|
||||
No new cheats found for this game = No se han encontrado nuevos trucos para este juego # AI translated
|
||||
Refresh interval = Frecuencia de actualización
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Se añadieron %1 trucos para este juego # AI translated
|
||||
Cheats = Trucos
|
||||
Edit Cheat File = Editar archivo de trucos
|
||||
Import Cheats = Importar archivo cheat.db
|
||||
Import from %s = Importar desde %s
|
||||
No new cheats found for this game = No se encontraron nuevos trucos para este juego # AI translated
|
||||
Refresh interval = Frecuencia de actualización
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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 = شخصیسازی
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = به این بازی %1 تقلب اضافه شد # AI translated
|
||||
Cheats = کدهای تقلب
|
||||
Edit Cheat File = ویرایش فایل کدها
|
||||
Import Cheats = cheat.db وارد کردن از
|
||||
Import from %s = وارد کردن از %s
|
||||
No new cheats found for this game = هیچ تقلب جدیدی برای این بازی یافت نشد # AI translated
|
||||
Refresh interval = دورهٔ تازهسازی
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Lisätty %1 koodia tälle pelille # AI translated
|
||||
Cheats = Huijaukset
|
||||
Edit Cheat File = Muokkaa huijaustiedostoa
|
||||
Import Cheats = Tuo huijauksia
|
||||
Import from %s = %s
|
||||
No new cheats found for this game = Tätä peliä varten ei löytynyt uusia huijauksia # AI translated
|
||||
Refresh interval = Ruudunpäivitysnopeus
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -218,10 +219,12 @@ X = Axe X
|
||||
Y = Axe Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Ajout de %1 astuces pour ce jeu # AI translated
|
||||
Cheats = Codes de triche
|
||||
Edit Cheat File = Modifier le fichier de triche
|
||||
Import Cheats = Importer des codes de triche
|
||||
Import from %s = Importer de %s
|
||||
No new cheats found for this game = Aucun nouveau cheat trouvé pour ce jeu # AI translated
|
||||
Refresh interval = Taux de rafraîchissement
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Engadidos %1 trucos para este xogo # AI translated
|
||||
Cheats = Trucos
|
||||
Edit Cheat File = Editar arquivo de trucos
|
||||
Import Cheats = Importar cheat.db
|
||||
Import from %s = Importar %s
|
||||
No new cheats found for this game = Non se atoparon novos trucos para este xogo # AI translated
|
||||
Refresh interval = Frecuencia de actualización
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Προστέθηκαν %1 cheats για αυτό το παιχνίδι # AI translated
|
||||
Cheats = Κωδικοί
|
||||
Edit Cheat File = Επεξεργασία αρχείου κωδικών
|
||||
Import Cheats = Εισαγωγή από cheat.db
|
||||
Import from %s = Εισαγωγή από %s
|
||||
No new cheats found for this game = Δεν βρέθηκαν νέοι κωδικοί για αυτό το παιχνίδι # AI translated
|
||||
Refresh interval = Ρυθμός ανανέωσης
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = הוספו %1 קודי רמאות למשחק הזה # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = לא נמצאו קודים חדשים למשחק זה # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = המשחק הזה קיבל %1 קודי רמאות # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = המשחק הזה הוא ללא קודים חדשים # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Dodano %1 varanja za ovu igru # AI translated
|
||||
Cheats = Šifre
|
||||
Edit Cheat File = Izmijeni cheat datoteku
|
||||
Import Cheats = Uvezi iz cheat.db
|
||||
Import from %s = Uvezi iz %s
|
||||
No new cheats found for this game = Nisu pronađeni novi trikovi za ovu igru # AI translated
|
||||
Refresh interval = Brzina osvježavanja
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = %1 csalást adtunk hozzá ehhez a játékhoz # AI translated
|
||||
Cheats = Csalások
|
||||
Edit Cheat File = Csalás fájl szerkesztése
|
||||
Import Cheats = Importálás cheat.db-ből
|
||||
Import from %s = Importálás innen: %s
|
||||
No new cheats found for this game = Nincs új csalás található ehhez a játékhoz # AI translated
|
||||
Refresh interval = Frissítési gyakoriság
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Ditambahkan %1 cheat untuk permainan ini # AI translated
|
||||
Cheats = Cheat
|
||||
Edit Cheat File = Edit berkas cheat
|
||||
Import Cheats = Impor dari cheat.db
|
||||
Import from %s = Impor dari %s
|
||||
No new cheats found for this game = Tidak ada cheat baru yang ditemukan untuk game ini # AI translated
|
||||
Refresh interval = Interval penyegaran
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Aggiunti %1 trucchi per questo gioco # AI translated
|
||||
Cheats = Trucchi
|
||||
Edit Cheat File = Modifica file Trucchi
|
||||
Import Cheats = Importa da cheat.db
|
||||
Import from %s = Importa da %s
|
||||
No new cheats found for this game = Non sono stati trovati nuovi trucchi per questo gioco # AI translated
|
||||
Refresh interval = Frequenza di Aggiornamento
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = 環状デッドゾーン
|
||||
Circular stick input = 環状スティック入力
|
||||
Classic = クラシック
|
||||
Confine Mouse = ウィンドウ/表示領域内でマウスをトラップする
|
||||
Control input sources = 入力ソースを制御 # AI translated
|
||||
Control mapping = キーマッピング(入力ボタン設定)
|
||||
Custom touch button setup = カスタムキーの設定
|
||||
Customize = カスタマイズ
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = このゲームに%1 チートが追加されました # AI translated
|
||||
Cheats = チート
|
||||
Edit Cheat File = チートファイルを編集する
|
||||
Import Cheats = cheat.dbからインポートする
|
||||
Import from %s = %sからインポートする
|
||||
No new cheats found for this game = このゲームの新しいチートは見つかりませんでした # AI translated
|
||||
Refresh interval = リフレッシュレート
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Dianyari %1 curang kanggo game iki # AI translated
|
||||
Cheats = Mbeling
|
||||
Edit Cheat File = Sunting berkas mbeling
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Njokot soko %s
|
||||
No new cheats found for this game = Ora ana cheat anyar sing ditemokake kanggo game iki # AI translated
|
||||
Refresh interval = Restar rate
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = 원형 하단 반경
|
||||
Circular stick input = 원형 스틱 입력
|
||||
Classic = 클래식
|
||||
Confine Mouse = 창/표시 영역 내에서 마우스 트랩
|
||||
Control input sources = 입력 소스 제어 # AI translated
|
||||
Control mapping = 제어 맵핑
|
||||
Custom touch button setup = 커스텀 키 설정
|
||||
Customize = 맞춤설정
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = 이 게임에 %1 치트가 추가되었습니다 # AI translated
|
||||
Cheats = 치트
|
||||
Edit Cheat File = 치트 파일 수정
|
||||
Import Cheats = cheat.db에서 가져오기
|
||||
Import from %s = %s에서 가져오기
|
||||
No new cheats found for this game = 이 게임에 대한 새로운 치트를 찾을 수 없습니다 # AI translated
|
||||
Refresh interval = 주사율
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -207,10 +208,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Lihevhatin %1 tîkîne ji bo vê lîstikê # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = Çalakî nû nehat dîtin ji bo vê lîstikê # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = ເພີ່ມເຂົ້າແບບ %1 ສໍາລັບເກมນີ້ # AI translated
|
||||
Cheats = ການໃຊ້ສູດໂກງ
|
||||
Edit Cheat File = ປັບແຕ່ງໄຟລ໌ສູດໂກງ
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = ນຳເຂົ້າຈາກໄຟລ໌ສູດໂກງ %s
|
||||
No new cheats found for this game = ບໍ່ມີຄວາມສາມາດໃໝ່ສໍາລັບເກມນີ້ # AI translated
|
||||
Refresh interval = ອັດຕາການຟື້ນຟູ
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Pridėta %1 sukčiavimų šiai žaidimui # AI translated
|
||||
Cheats = Kodai
|
||||
Edit Cheat File = Redaguoti kodų failą
|
||||
Import Cheats = Importuoti iš cheat.db
|
||||
Import from %s = Importuoti iš %s
|
||||
No new cheats found for this game = Šiai žaidimui naujų apgavysčių nerasta # AI translated
|
||||
Refresh interval = Atsinaujinimo dažnis
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Ditambahkan %1 helah untuk permainan ini # AI translated
|
||||
Cheats = Cheat
|
||||
Edit Cheat File = Ubah cheat file
|
||||
Import Cheats = Import dari cheat.db
|
||||
Import from %s = Import dari %s
|
||||
No new cheats found for this game = Tiada cheat baru ditemui untuk permainan ini # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Toegevoegd %1 cheats voor dit spel # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Cheatbestand bewerken
|
||||
Import Cheats = Importeren van cheat.db
|
||||
Import from %s = Importeren van %s
|
||||
No new cheats found for this game = Geen nieuwe cheats gevonden voor dit spel # AI translated
|
||||
Refresh interval = Vernieuwingsfrequentie
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Lagt til %1 jukse for dette spillet # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = Ingen nye jukser funnet for dette spillet # AI translated
|
||||
Refresh interval = Refresh interval
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Dodano %1 cheatów do tej gry # AI translated
|
||||
Cheats = Kody
|
||||
Edit Cheat File = Edytuj plik kodów
|
||||
Import Cheats = Importuj z pliku cheat.db
|
||||
Import from %s = Importuj z pliku %s
|
||||
No new cheats found for this game = Nie znaleziono nowych cheatów dla tej gry # AI translated
|
||||
Refresh interval = Szybkość odświeżania
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -218,10 +219,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Adicionados %1 cheats para este jogo # AI translated
|
||||
Cheats = Trapaças
|
||||
Edit Cheat File = Editar arquivo de trapaças
|
||||
Import Cheats = Importar do cheat.db
|
||||
Import from %s = Importar do %s
|
||||
No new cheats found for this game = Nenhum novo cheat encontrado para este jogo # AI translated
|
||||
Refresh interval = Intervalo da atualização
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -218,10 +219,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Adicionados %1 cheats para este jogo # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Editar ficheiro de Cheats
|
||||
Import Cheats = Importar de cheat.db
|
||||
Import from %s = Importar de %s
|
||||
No new cheats found for this game = Não foram encontrados novos cheats para este jogo # AI translated
|
||||
Refresh interval = Taxa de atualização
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,11 +195,13 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Adăugate %1 cheats pentru acest joc # AI translated
|
||||
Cheats = Trișare
|
||||
Edit Cheat File = Editare fișier trișare
|
||||
Import Cheats = Importă din cheat.db
|
||||
#Import %s = Importă din %s
|
||||
Import from %s = Import from %s
|
||||
No new cheats found for this game = Nu au fost găsite cheat-uri noi pentru acest joc # AI translated
|
||||
Refresh interval = Rată de împrospatare
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = Круговая мёртвая зона
|
||||
Circular stick input = Круговой ввод стика
|
||||
Classic = Классический
|
||||
Confine Mouse = Не давать мыши выходить за пределы окна
|
||||
Control input sources = Управление источниками ввода # AI translated
|
||||
Control mapping = Назначение кнопок
|
||||
Custom touch button setup = Настройка кастомных кнопок
|
||||
Customize = Настроить
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Добавлено %1 читов для этой игры # AI translated
|
||||
Cheats = Читы
|
||||
Edit Cheat File = Изменить файл чита
|
||||
Import Cheats = Импортировать из cheat.db
|
||||
Import from %s = Импортировать из %s
|
||||
No new cheats found for this game = Не найдено новых читов для этой игры # AI translated
|
||||
Refresh interval = Интервал обновления
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Lade till %1 fusk för det här spelet # AI translated
|
||||
Cheats = Fusk
|
||||
Edit Cheat File = Redigera fuskfil
|
||||
Import Cheats = Importera från cheat.db
|
||||
Import from %s = Importera från %s
|
||||
No new cheats found for this game = Inga nya fusk hittades för det här spelet # AI translated
|
||||
Refresh interval = Uppdateringsintervall
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Эҳтимолҳои %1 барои ин бозӣ илова карда шуданд # AI translated
|
||||
Cheats = Mga Daya
|
||||
Edit Cheat File = I-edit ang Cheat File
|
||||
Import Cheats = I-import ang mga daya mula sa cheat.db
|
||||
Import from %s = I-Import ang mga daya mula sa %s
|
||||
No new cheats found for this game = Барои ин бозӣ хардӣ нави пайдо нашуд # AI translated
|
||||
Refresh interval = Pagitan ng pag-refresh
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = รัศมีต่ำสุดของการหมุ
|
||||
Circular stick input = ค่านำเข้าการหมุนปุ่ม
|
||||
Classic = แบบดั้งเดิม
|
||||
Confine Mouse = จำกัดเม้าส์ภายในหน้าต่าง/พื้นที่แสดงผล
|
||||
Control input sources = ควบคุมแหล่งข้อมูลเข้า # AI translated
|
||||
Control mapping = เปลี่ยนแปลงค่าการควบคุม
|
||||
Custom touch button setup = ติดตั้งปุ่มคอมโบปรับแต่ง
|
||||
Customize = ปรับแต่ง
|
||||
@@ -194,10 +195,12 @@ X = แกน X
|
||||
Y = แกน Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = เพิ่ม %1 โกงสำหรับเกมนี้ # AI translated
|
||||
Cheats = การใช้สูตรโกง
|
||||
Edit Cheat File = ปรับแต่งไฟล์สูตรโกง
|
||||
Import Cheats = นำเข้าจากไฟล์สูตรโกง
|
||||
Import from %s = นำเข้าจาก %s
|
||||
No new cheats found for this game = ไม่พบโกงใหม่สำหรับเกมนี้ # AI translated
|
||||
Refresh interval = ช่วงเวลารีเฟรชสูตร
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Bu oyun için %1 hile eklendi # AI translated
|
||||
Cheats = Hileler
|
||||
Edit Cheat File = Hile Dosyası Düzenle
|
||||
Import Cheats = Hileleri İçe Aktar
|
||||
Import from %s = Şuradan Aktar %s
|
||||
No new cheats found for this game = Bu oyun için yeni hile bulunamadı # AI translated
|
||||
Refresh interval = Yenileme Aralığı
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = Кругова мертва зона
|
||||
Circular stick input = Введення круглого стіка
|
||||
Classic = Класичний
|
||||
Confine Mouse = Не давати миші виходити за межі екрану
|
||||
Control input sources = Керування джерелами введення # AI translated
|
||||
Control mapping = Призначення кнопок
|
||||
Custom touch button setup = Індивідуальне налаштування клавіші
|
||||
Customize = Кастомізувати
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Додано %1 читів для цієї гри # AI translated
|
||||
Cheats = Чіт-коди
|
||||
Edit Cheat File = Змінити файл чіт-коду
|
||||
Import Cheats = Імпортувати з cheat.db
|
||||
Import from %s = Імпортувати з %s
|
||||
No new cheats found for this game = Нових чітів для цієї гри не знайдено # AI translated
|
||||
Refresh interval = Частота оновлення
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -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
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = Đã thêm %1 mã gian lận cho trò chơi này # AI translated
|
||||
Cheats = Cheats
|
||||
Edit Cheat File = Sửa mục cheat
|
||||
Import Cheats = Nhập mã từ cheat.db
|
||||
Import from %s = Nhập mã từ %s
|
||||
No new cheats found for this game = Không tìm thấy mã gian lận mới cho trò chơi này # AI translated
|
||||
Refresh interval = Tần số làm mới
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = 环形死区
|
||||
Circular stick input = 环形摇杆输入
|
||||
Classic = 经典款式
|
||||
Confine Mouse = 限制鼠标在窗口内
|
||||
Control input sources = 控制输入源 # AI translated
|
||||
Control mapping = 按键映射
|
||||
Custom touch button setup = 自定义键位设置
|
||||
Customize = 自定义…
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = 为此游戏添加了 %1 作弊码 # AI translated
|
||||
Cheats = 金手指
|
||||
Edit Cheat File = 编辑金手指文件
|
||||
Import Cheats = 从cheat.db导入
|
||||
Import from %s = 从%s导入
|
||||
No new cheats found for this game = 未找到此游戏的新作弊 # AI translated
|
||||
Refresh interval = 刷新间隔
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -119,6 +119,7 @@ Circular deadzone = 圓形死區
|
||||
Circular stick input = 圓形搖桿輸入
|
||||
Classic = 傳統
|
||||
Confine Mouse = 在視窗/顯示區域內截獲滑鼠
|
||||
Control input sources = 控制輸入來源 # AI translated
|
||||
Control mapping = 控制對應
|
||||
Custom touch button setup = 自訂按鍵設定
|
||||
Customize = 自訂
|
||||
@@ -194,10 +195,12 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
Added %1 cheats for this game = 為此遊戲添加了 %1 作弊碼 # AI translated
|
||||
Cheats = 密技
|
||||
Edit Cheat File = 編輯密技檔案
|
||||
Import Cheats = 從 cheat.db 匯入
|
||||
Import from %s = 從 %s 匯入
|
||||
No new cheats found for this game = 未找到此遊戲的新作弊 # AI translated
|
||||
Refresh interval = 重新整理間隔
|
||||
|
||||
[DesktopUI]
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
inkscape:zoom="2"
|
||||
inkscape:cx="245.5"
|
||||
inkscape:cy="307.75"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cx="272.05933"
|
||||
inkscape:cy="562.76861"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2071"
|
||||
inkscape:window-x="-9"
|
||||
@@ -1022,10 +1022,10 @@
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccccccccc" /><path
|
||||
id="I_FILE"
|
||||
style="color:#000000;fill:#ffffff;stroke-miterlimit:4.8;-inkscape-stroke:none"
|
||||
d="m 17.197914,145.52082 v 10.86134 h 8.347291 v -7.85739 l -2.925399,-3.00395 z m 0.740008,0.74207 h 4.109309 v 2.89285 h 2.757974 v 6.48642 h -6.867283 z m 4.849834,0.49299 1.61592,1.65778 h -1.61592 z m -3.549138,3.50521 -0.0036,0.74208 4.325838,0.0238 0.004,-0.7426 z m 0,1.6366 -0.0036,0.7426 4.325838,0.0232 0.004,-0.74207 z m 0,1.70739 -0.0057,0.74207 3.087666,0.0232 0.0062,-0.74208 z" /><path
|
||||
d="m 14.022914,145.52082 v 10.86134 h 8.347291 v -7.85739 l -2.925399,-3.00395 z m 0.740008,0.74207 h 4.109309 v 2.89285 h 2.757974 v 6.48642 h -6.867283 z m 4.849834,0.49299 1.61592,1.65778 h -1.61592 z m -3.549138,3.50521 -0.0036,0.74208 4.325838,0.0238 0.004,-0.7426 z m 0,1.6366 -0.0036,0.7426 4.325838,0.0232 0.004,-0.74207 z m 0,1.70739 -0.0057,0.74207 3.087666,0.0232 0.0062,-0.74208 z" /><path
|
||||
id="I_FILE_COPY"
|
||||
style="color:#000000;fill:#ffffff;stroke-width:0.898414;stroke-miterlimit:4.8;-inkscape-stroke:none"
|
||||
d="m 34.989592,145.52081 v 1.64899 h -1.91668 v 9.75806 h 7.49928 v -1.64899 h 1.91668 v -7.05952 l -2.62826,-2.69854 z m 0.66508,0.66663 h 3.69176 v 2.5988 h 2.47788 v 5.82755 h -6.16964 z m 4.35683,0.44286 1.452111,1.48932 h -1.452111 z m -6.27351,1.20613 h 1.2516 v 7.44244 h 4.91804 v 0.98392 h -6.16964 z m 3.08508,1.94303 -0.004,0.66663 3.88658,0.0212 0.004,-0.66715 z m 0,1.4702 -0.004,0.66714 3.88658,0.0212 0.004,-0.66663 z m 0,1.53427 -0.005,0.66663 2.77399,0.0207 0.005,-0.66663 z" /><g
|
||||
d="m 27.58126,145.52081 v 1.64899 h -1.91668 v 9.75806 h 7.49928 v -1.64899 h 1.91668 v -7.05952 l -2.62826,-2.69854 z m 0.66508,0.66663 h 3.69176 v 2.5988 h 2.47788 v 5.82755 h -6.16964 z m 4.35683,0.44286 1.452111,1.48932 H 32.60317 Z m -6.27351,1.20613 h 1.2516 v 7.44244 h 4.91804 v 0.98392 h -6.16964 z m 3.08508,1.94303 -0.004,0.66663 3.88658,0.0212 0.004,-0.66715 z m 0,1.4702 -0.004,0.66714 3.88658,0.0212 0.004,-0.66663 z m 0,1.53427 -0.005,0.66663 2.77399,0.0207 0.005,-0.66663 z" /><g
|
||||
id="I_WEB_BROWSER"
|
||||
transform="matrix(0.02185176,0,0,0.02185176,1.3338424,90.592909)"
|
||||
style="fill:#ffffff;fill-opacity:1">
|
||||
@@ -1568,7 +1568,16 @@
|
||||
id="path97" /></g><path
|
||||
id="rect8"
|
||||
style="fill:#ffffff;stroke-width:2.0069"
|
||||
d="m 153.47141,289.76429 h 2.55931 v 11.37002 h -2.55931 z" /></g></g><style
|
||||
d="m 153.47141,289.76429 h 2.55931 v 11.37002 h -2.55931 z" /></g><g
|
||||
id="g3"
|
||||
transform="matrix(0.63803159,0,0,0.63803159,35.189582,144.23096)"><path
|
||||
d="m 2.513663,19.0876 h 3.9114471 v -1 H 3.513663 V 4.5498022 h 1.2483801 v 2 H 14.762044 v -2 h 1.24838 v 3.699784 h 0.4 c 0.218953,0.0052 0.429987,0.08293 0.6,0.221 v -4.920784 h -2.24838 v -1 h -3 c 0,-2.66666568 -4.0000009,-2.66666568 -4.0000009,0 h -3 v 1 H 2.513663 Z M 5.7620431,3.5498022 h 2.9999998 v -1.385 c 0,-0.339265 0.274736,-0.6144483 0.614,-0.6149999 h 0.7710001 c 0.339655,0 0.615001,0.2753447 0.615001,0.6149999 v 1.385 h 3 v 2 H 5.7620431 Z M 9.9693869,16.227989 h 6.5118791 v 1 H 9.9693869 Z M 7.4251101,8.5498022 V 21.802503 H 18.481266 V 11.81287 l -3.6,-3.2630678 z M 17.481266,20.802503 H 8.4251099 V 9.5498022 h 5.3671711 v 3.3520528 h 3.688985 z m 0,-8.900648 H 14.792281 V 9.5498022 h -10e-4 l 2.69,2.3530678 z M 9.9693869,14.08328 h 6.5118791 v 1 H 9.9693869 Z m 0,4.237581 h 4.5118791 v 1 H 9.9693869 Z"
|
||||
id="I_FILE_PASTE"
|
||||
style="fill:#ffffff;fill-opacity:1"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccccscssccccccccccccccccccccccccccccccccccccccc" /><path
|
||||
fill="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
id="path2-9" /></g></g><style
|
||||
type="text/css"
|
||||
id="style1">
|
||||
.st0{fill:#000000;}
|
||||
|
||||
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 157 KiB |
Reference in new issue
Block a user